web service

SOA dan Web Service menuju EAI-Enterprise Application Integration

Posted on

SOA
SOA

Sebagian perusahaan melakukan investasi luas pada sumber daya sistem selama bertahun-tahun. Perusahaan tersebut memiliki banyak data yang disimpan dalam data EIS (Enterprises Informations System), jadi tidak mudah untuk membuang sistem yang telah ada. Akan lebih hemat jika mengembaknan dan meningkatkan EIS. Tetapi bagaimana hal ini dapat dilakukan, SOA (Service Oriented Architecture) menyediakan solusi dengan biaya yang efektif.

SOA bukanlah konsep baru. Sun mendefinisikan SOA pada akhir 1990-an untuk mengambarkan Jini, yang merupakan lingkungan dinamis untuk penemuan dan penggunaan layanan melalui jaringan. Web service telah mengambil konsep layanan yang diperkenalkan oleh teknologi jini dan diimplementasikan sebagai layanan yang disampaikan melalui web menggunakan XML, WSDL, SOAP, UDDI. SOA muncul sebagai integrasi utama dan kerangka arsitektur dalam lingkungan komputasi yang kompleks dan heterogen. SOA dapat membantu organisasi merampingkan proses sehingga mereka dapat melakukan bisnis lebih efisien, dan beradaotasi dengan perubahan kebutuhan dan persaingan, memungkinkan perangkat lunak sebagai konsep service/layanan. Sebagai contoh eBay telah membuka layanan web API untuk lelang online. Tujuannya adalah untuk mendorong pengembang “to make money” menggunakan platform eBay.

SOA dan web service adalah dua hal yang berbeda, tetapi web service adalah jalan untuk mewujudkan SOA. Artikel ini akan membahas tentang SOA dan peran web service dalam mewujudkannya.

Service Oriented Architecture

SOA adalah gaya arsitektural untuk membangun perangkat lunak menggunakan layanan yang tersedia dalam jaringan seperti dalam web. Hal ini membuat komponen perangkat lunak dapat digunakan kembali. Aplikasi dalam SOA dibangun berdasarkan service. Layanan A  merupakan implementasi dari fungsi bisnis yang tedefinisi dengan baik, dan layanan tersebut kemudian dapat dikonsumsi oleh klien dalam aplikasi yang berbeda atau proses bisnis lain.

SOA memungkinkan untuk penggunaan kembali aset yang ada, dimana service baru diciptakan dari infrastruktur TI yang ada dari sistem. Dengan kata lain, memungkinkan perusahaan untuk meningkatkan incestasi yang ada dengan mengijinkan mereka untuk menggunakan kembali aplikasi yang ada, dan menjanjikan interoperabilitas antara aplikasi dan teknologi yang beragam. SOA menyediakan tingkat fleksibilitas yang tidak mungkin dilakukan sebelumnya dalam arti bahwa :

  • Layanan merupakan komponen perangkat lunak dengan interface yang terdefinisi dengan baik. Sebuah aspek penting dari SOA adalah pemisahan service interface (the what) dari implementasinya (the how). Layanan tersebut dikonsumsi oleh klien yang tidak perduli dengan bagaimanan service ini akan mengeksekusi permintaan mereka.
  • Layanan mandiri (melakukan tugas-tugas yang telah ditentukan) dan bebas digunakan (for independence),
  • Service tersebut dapat ditemukan secara dinamis,
  • Service composite, dapat dibagun dari kumpulan service lain.

Web Service adalah sistem software yang dirancang untuk mendukung interaksi machine to machine melalui jaringan. Interoperabilitas ini diperoleh melalui serangkaian standar berbasis XML, seperti WSDL, SOAP, dan UDDI. Standar-standar ini memberikan pendekatan umum untuk mendefinisikan, penerbitan, dan menggunakan web service.

Java Business Integration

Perusahaan telah berinvestasi dalam sekala besar untuk paket perangkat lunak seperti ERP (Enterprise Resource Planing), SCM (Supplay Chain Management, CRM (Customer Relationship Management), dan sistem lain untuk menjalankan bisnis mereka. Manager IT diminta untuk memberikan generasi selanjutnya dari perangkat lunak yyang akan menyediakan funsi baru, sementara meningkatkan investasi IT yang sudah ada. Solusi untuk ini adalah dengan integrasi teknologi, solusi integrasi teknologi yang tersedia. Munculnya web service dan SOA menawarkan potensi untuk penekanan biaya dan fleksibilitas dengan skala lebih besar.

Referensi

Qusay H Mahmoud, “SOA and Web Services : the road to enterprise application integration (EAI)”,  http://www.oracle.com/technetwork/articles/javase/soa-142870.html

Menambah Service Pada Netbeans OSX Meverick

Posted on

Server - Netbeans Service
Server – Netbeans Service

Sekitar 3 harian mulai belajar java dan beradaptasi dengan Netbeans. Sebelumnya saya sudah pernah menginstall Netbeans 7.3 tetapi sangat jarang atau hampir tidak pernah dipakai sama sekali. Pertama buka Netbeans 7.3 tidak ada masalah, semua service dapat dibuka mulai dari paket WebService, Server, dsb.

Saya memilih Netbeans untuk memulai belajar Java Web Service dan mengintegrasikan dengan GlassFish Server.

Permasalahan mulai muncul ketika saya mengupgrade Netbeans ke versi 7.4 pada Mac. Saya tidak menemukan service yang saya butuhkan dalam hal ini Server. Penasaran kenapa banyak service yang tidak tersedia. Kemudian saya mencoba install Netbeans versi yang sama 7.4 pada windows, dan ternyata Netbeans sudah terinstall lengkap dengan berbagai servicenya.

Akhirnya permasalahannya ketemu, Ternyata paket instaler yang saya download berbeda. Singkat kata saya harus menginstall paket-paket atau service tersebut secara terpisah. Dari sini saya baru sadar jika Netbeans ini menyediakan banyak sekali plugin: mulai dari web, php, hingga arduino (pemrograman untuk microcontroller), dan banyak lainnya.

Baik, kembali kepermasalahan sebelumnya. Solusinya adalah dengan menambah plugin, dalam hal ini saya ingin menambah plugin glassfish server. Berikut adalah langkah-langkahnya  pada OSX :

  1. Pertama buka program Netbeans anda, saya menggunakan Netbeans 7.4,
  2. Pilih menu Tool – Plugin,
  3. Pilih tab available plugin, kemudian gunakan bantuan Seach untuk mencari (glassfish),
  4. Saya menemukan ” Glassfish Server 4 – Common”,
  5. Pilih dan install, tunggu hingga selesai,
  6. Service Server pun telah berhasil ditambahkan.
Netbeans Glassfish server 3
Netbeans Glassfish server 3

Gunakan cara yang sama untuk menambahkan plugin lain sesuai kebutuhan anda, misalnya pada paket Netbeans yang minim anda harus menambahkan  sendiri plugin “Java EE“. Dimana plugin ini digunakan untuk membuat project Java Web.

Demikian panduan singkat saya, Semoga bermanfaat.

Pengenalan Web Service – java web service with Netbeans

Posted on

Tulisan ini pada dasarnya dari dokumentasi yang disediakan Netbeans https://netbeans.org/kb/docs/websvc/intro-ws.html ditambah sedikit dengan pemahaman penulis.

w3webservices

W3.org mendefinisikan web service sebagai “sebuah software aplikasi yang dapat teridentifikasi oleh URI dan memiliki interface yang didefiniskan, dideskripsikan, dan dimengerti oleh XML dan juga mendukung interaksi langsung dengan software aplikasi yang lain dengan menggunakan message berbasis XML melalui protokol internet”. Web service didistribusikan pada komponen aplikasi diluar sistem. Kita dapat menggunakannya pada platform yang berbeda dan diakses pada bahasa pemrograman yang beragam. Hal ini karena kebanyakan vendor telah menyepakati web service standart.

metro

Oracle mengembangkan sebuah proyek java.net yang disebut Metro. Metro adalah web service stack lengkap, yang mencakup semua kebutuhan pengembang dari yang sederhana, demo “Hello, World!” yang reliable, secure, dan web service distributed. Untuk informasi lebih lanjut, lihat halaman Metro.

Metro mencakup layanan Web Services Interoperability Technologies (WSIT). WSIT mendukung fitur-fitur enterprise seperti security, reliability, and message optimization.

Karakteristik web service :

  • Message-based
  • Standards-based
  • Programming language independent
  • Platform-neutral

Netbeans Logo

Model web service ini terbagi dalam beberapa kategori, baik yang didukung oleh IDE:

  1. REST-based Representational State Transfer, cara baru untuk membuat dan berkomunikasi dengan web service. Dalam REST, resource memiliki URIs dan operasi manipulasi melalui  HTTP header.
  2. SOAP-based /WSDL, SOAP (Simple Object Access Protocol) adalah sebuah XML-based mark-up language untuk pertukaran pesan diantara aplikasi-aplikasi. SOAP sepertiamplop yang digunakan untuk pertukaran data object didalam network. SOAP mendefinisikan empat aspek didalam komunikasi: Message envelope, Encoding, RPC call convention, dan bagaimana menyatukan sebuah message didalam protokol transport. WSDL (Web Services Description Language) adalah sebuah XML-based language untuk mendeskripsikan XML. WSDL menyediakan service atau layanan yang mendeskripsikanservice request dengan menggunakan protokol-protokol yang berbeda dan juga encoding. WSDL memfasilitasi komunikasi antar aplikasi. WSDL akan mendeskripsikan apa yang akan dilakukan oleh web service, bagaimana menemukannya dan bagaimana untuk mengoperasikannya.

RESTful Web Service

Web service adalah koleksi sumber daya web diidentifikasi oleh URI . Setiap dokumen dan setiap proses dimodelkan sebagai sumber daya web dengan URI yang unik. Sumber daya ini dimanipulasi oleh tindakan yang dapat ditentukan dalam header HTTP . Baik SOAP , WSDL atau, non WS – * standar yang digunakan . Sebaliknya , pertukaran pesan dapat dilakukan dalam format XML , JSON , HTML , dll Dalam banyak kasus browser web dapat berfungsi sebagai klien .

HTTP adalah protokol di REST. Hanya empat metode yang tersedia : GET , PUT , POST , dan DELETE . Request dapat bookmarked dan response dapat di-cache . Seorang administrator jaringan dapat dengan mudah mengikuti apa yang terjadi hanya dengan melihat header HTTP.

REST, adalah teknologi yang cocok untuk aplikasi yang tidak memerlukan keamanan melampaui apa yang tersedia dalam infrastruktur HTTP dan di mana HTTP adalah protokol yang sesuai.  Layanan REST masih dapat memberikan fungsionalitas canggih. Flickr, Google Maps dan Amazon semuanya memberikan layanan web service. NetBeans IDE Software as a Service ( SaaS ) fungsi memungkinkan Anda menggunakan Facebook, Zillow, dan  layanan pihak ketiga lainnya ke dalam aplikasi Anda sendiri.

SOAP-based Web Services

Dalam layanan web berbasis SOAP utilitas Java membuat file WSDL berdasarkan kode Java dalam layanan web. WSDL terpapar di internet. Pihak yang berkepentingan dalam menggunakan web service membuat Java Client berdasarkan WSDL. Pesan yang dipertukarkan dalam format SOAP. Cakupan operasi yang lewat melalui SOAP jauh lebih luas daripada apa yang tersedia di REST, terutama dalam keamanan.

Web Service berbasis SOAP yang cocok untuk aplikasi kelas berat menggunakan operasi rumit dan untuk aplikasi yang memerlukan keamanan yang canggih, keandalan, atau WS-* standar didukung fitur-fitur lainnya. Mereka juga cocok ketika protokol transport selain HTTP harus digunakan. Banyak dari Amazon web service, terutama yang melibatkan transaksi komersial, dan layanan web yang digunakan oleh bank dan instansi pemerintah yang berbasis SOAP.

The Java API untuk XML Web Services atau (JAX-WS) adalah model saat ini untuk layanan web berbasis SOAP di Metro. JAX-WS dibangun pada awal Model JAX-RPC, tetapi menggunakan fitur khusus Java EE, seperti penjelasan untuk menyederhanakan tugas mengembangkan web service. Karena menggunakan SOAP untuk pesan, JAX-WS adalah transportasi netral. Hal ini juga mendukung berbagai WS-* spesifikasi modular, seperti WS-Security dan WS-ReliableMessaging.

Bila Anda membuat klien web service, Anda memiliki pilihan untuk menggunakan baik JAX-WS atau model JAX-RPC. Hal ini karena beberapa lama layanan JAX-RPC menggunakan gaya mengikat yang tidak didukung oleh JAX-WS. Layanan ini hanya dapat dikonsumsi oleh JAX-RPC klien.