Pak Pid's Blog

Service Oriented Architecture

with one comment

Pendahuluan

Saat ini dunia bisnis berkembang dengan begitu pesat. Persaingan antara satu perusahaan dengan perusahaan yang lain tidak dapat terelakkan. Ada perusahaan yang bisa bertahan walaupun seringkali diserang oleh kompetitornya, ada pula perusahaan yang notabene memiliki visi dan sumberdaya yang bagus, tenggelam dalam serangan kompetitornya. Hal demikian ini akan memberikan tantangan bagi perusahaan, dan memberikan banyak pertanyaan, bagaimana sebuah bisnis dapat tetap bertahan ditengah persaingan yang semakin berat ini.

Suatu perusahaan akan dapat tetap berdiri dan bertahan dalam persaingan yang berat apabila perusahaan tersebut dapat memberikan service atau pelayanan yang terbaik bagi konsumennya. Dengan menawarkan teknologi yang paling canggih, mungkin akan membuat konsumen tertarik, namun itu tidak menjamin konsumen mendapatkan pelayanan yang baik dari perusahaan. Teknologi yang ditawarkan lambat laun akan diikuti oleh perusahaan lain, bahkan akan dilewati oleh perusahaan lain.

Untuk dapat bertahan dalam persaingan usaha yang serba cepat ini, suatu perusahaan harus dapat dengan cepat beradaptasi terhadap lingkungan sekitarnya. Perusahaan harus mampu memenuhi kebutuhan dan tuntutan pasar dengan cepat. Untuk dapat beradaptasi dengan cepat, perusahaan memerlukan fleksibilitas dan efisiensi yang tinggi. Efisiensi dalam menggunakan resources yang ada akan memaksimalkan aset dan menambah keuntungan tersendiri bagi perusahaan.

SOA atau Service Oriented Architecture merupakan suatu metode perancangan dalam pengembangan dan integrasi sistem, dimana tujuannya adalah untuk menciptakan loose-coupling (aplikasi yang independen atau berdiri sendiri namun dapat saling berinteraksi satu dengan yang lainnya) pada setiap aplikasi. Fungsionalitas dari SOA ini meliputi proses bisnis dan interoperability (suatu aplikasi saling berkomunikasi antar mesin maupun aplikasi lain baik itu berbeda sistem operasi maupun bahasa pemrogramannya). Inti dari SOA sendiri adalah representasi fungsi dalam bentuk “service/layanan”. Dengan diterapkannya SOA, diharapkan sistem suatu perusahaan akan mampu beradaptasi dengan cepat, dan efisien, sehingga akan dapat terus berinovasi dan berkembang lebih lagi.

Service

Service merupakan layanan yang diberikan oleh satu pihak kepada pihak lain. Di dalam suatu layanan terdapat dua aktor yang berperan, yaitu peminta layanan dan pemberi layanan.

Terminologi dalam service antara lain :

  1. WebService

    Web service adalah sebuah keluarga teknologi yang terdiri dari spesifikasi, protokol, dan standar industri dimana digunakan oleh aplikasi yang berbeda-beda untuk berkomunikasi, berkolaborasi dan bertukar informasi diantara mereka dengan cara yang aman, handal dan interoperable [1]. Web service sendiri memiliki ciri-ciri yang sama dengan SOA, antara lain loose-coupled dan interoperability. Sehingga banyak pihak menganggap bahwa web service adalah SOA, dan sebaliknya.

    Dibawah ini merupakan arsitektur dari web service, atau terkenal dengan sebutan “The Triangle of Web Service”.

    Triangle of Web Service

    Gambar diatas menunjukkan arsitektur dasar dari web service, dimana service provider (penyedia layanan) dapat berinteraksi dengan service requester (peminta layanan) berdasarkan informasi service yang telah dipublish oleh service provider dan ditemukan oleh service requester, dimana informasi layanan ini terdapat di repository. Service provider dan service requester dapat saling berinteraksi dengan mengirimkan pesan (message).

  2. XML (eXtensible Markup Language)

    XML merupakan format teks yang sederhana dan fleksibel. XML di-disain untuk mengatasi electronic-publishing skala besar, dan XML juga memainkan peranan penting dalam pertukaran data via web ataupun pada aplikasi desktop. [2]

    Di dalam web service, XML berperan sebagai media komunikasi antara layanan yang satu dengan layanan yang lain. Agar dapat saling berkomunikasi, tiap layanan harus saling mengerti satu dengan yang lainnya, padahal antara aplikasi satu dengan yang lainnya belum tentu menggunakan bahasa pemrograman yang sama, maupun sistem operasi yang sama. Solusi agar antar layanan dapat saling berkomunikasi (meminta layanan, memberikan layanan, menerima layanan) adalah dengan menggunakan XML.

  3. WSDL (Web Services Definition Language)

    WSDL merupakan format XML yang menjelaskan interface dari web service. XML digunakan dalam pertukaran request dan response dalam web service, namun format XML dalam pertukaran tersebut memiliki format khusus. Format khusus XML yang digunakan dalam web service ini yang disebut WSDL.

    1. UDDI (Universal Description, Discovery and Integration)

      UDDI memberikan interface yang menjembatani antara service provider dan service requester untuk saling dapat bertemu satu dengan yang lain. Server UDDI dapat diakses via web service interface dan menyediakan beberapa operasi, seperti mem-publish services, dan mencari services. Secara garis besar, UDDI merupakan tempat dimana informasi services berada.

    2. SOAP (Simple Object Access Protocol)

      SOAP merupakan protokol untuk mengirim request atau response menggunakan media XML, dan juga protokol HTTP (Hypertext Transfer Protocol). SOAP sebenarnya adalah protokol yang membungkus XML dan HTTP.

    Masalah Dalam Pengembangan Sistem

    Beberapa masalah dalam pengembangan sistem adalah sebagai berikut :

    1. Bisnis bergerak makin cepat.

      Tiap detik bisnis terus bergerak, hal ini memberikan suatu tantangan bagaimana untuk mendisain sistem agar terus dapat mengikuti perkembangan dalam bisnis.

    2. Time to market.

      Seberapa lamakah suatu aplikasi dapat dikembangkan sampai akhirnya siap dijual, atau dengan kata lain waktu yang di-investasikan untuk mengembangkan suatu aplikasi yang siap jual.

      Bagi para pengembang aplikasi, hal ini merupakan suatu masalah yang cukup penting, jangan sampai suatu aplikasi yang sedang dalam proses pengembangan terhenti karena sistem yang dibuat atau teknologi yang diterapkan sudah tertinggal, atau aplikasi yang dibuat tidak dapat mengikuti pergerakan permintaan bisnis.

    3. ROI from existing software

      ROI atau Return Of Investment adalah suatu rasio kehilangan uang dari suatu investasi berhubungan dengan jumlah uang yang telah diinvestasikan.

      Jangan sampai nilai pengembalian lebih kecil dari jumlah kehilangan akibat investasi.

    4. Change on requirement before application installed

      Perubahan kebutuhan sistem juga merupakan problem bagi pengembang sistem/aplikasi maupun perusahaan yang menggunakan aplikasi. Apabila suatu sistem mengalami perubahan, maka suatu perusahaan juga mau tidak mau mengeluarkan biaya untuk mengubah sistem agar sesuai dengan kebutuhan sekarang. Suatu sistem akan terus berubah tiap saat, sesuai dengan kebutuhan sistem saat itu, dan ini merupakan hal yang harus menjadi perhatian suatu perusahaan ataupun pengembang sistem.

    5. Need quickly implementation

      Pengembang maupun suatu perusahaan juga wajib mempertimbangkan suatu sistem agar dapat diimplementasikan dengan cepat. Bisnis akan terus berkembang, dan tidak bisa menunggu lama untuk mengimplementasikan sistem atau aplikasi.

    6. Reusability, standard

      Suatu sistem yang baik akan memiliki sifat dapat digunakan kembali / reuseable, ini merupakan efisiensi dalam suatu perusahaan. Untuk dapat diguna-ulangkan, suatu sistem atau aplikasi harus memiliki standard aplikasi atau standard model data yang sama.

    Cara Kerja Service-Oriented Architecture

    Service-Oriented Architecture / SOA membangun interface yang dapat diakses oleh berbagai macam aplikasi. Selama ini aplikasi dibangun dengan mengikat banyak aplikasi menjadi satu rangkaian, namun apabila terjadi perubahan demi perubahan, hal itu akan membuat perusahaan mengeluarkan uang dan tenaga lebih lagi. SOA akan mengatasi hal tersebut dengan mengatasi hambatan integrasi aplikasi.

    Dibawah ini merupakan arsitektur diterapkannya SOA, bagaimana suatu aplikasi dapat diintegrasikan dan dapat berkomunikasi satu dengan yang lain.

    Arsitektur SOA

    Arsitektur Service-Oriented Architecture

    Faktor-faktor direkomendasikannya SOA

    Sebelum menerapkan SOA dalam suatu perusahaan atau organisasi, pasti perlu melihat resources dari perusahaan atau organisasi tersebut, seperti situasi lingkungan perusahaan, keadaan perusahaan, dan lain sebagainya. Resources ini berisi faktor-faktor yang menjadi pertimbangan apakah SOA lebih baik diterapkan atau tidak. Berikut ini adalah beberapa faktor yang dapat menjadi pertimbangan diterapkannya SOA dalam suatu perusahaan atau organisasi :

    1. Biaya integrasi terus membesar tanpa diimbangi peluang bisnis baru yang memberikan laba atas investasi (ROI).

    2. Terjadinya akuisisi atau merger yang merupakan pusat model bisnis perusahaan untuk berkembang dan mengejar peluang-peluang baru.

    3. Solusi memerlukan integrasi kemampuan bisnis dari sistem dan model pemrograman yang berbeda.

    4. Bisnis tergantung dari adaptasi suatu perusahaan, atau kemampuan untuk menyesuaikan perubahaan pasar yang terjadi secara cepat atau respon terhadap ancaman kompetitif.

    5. Efisiensi bekerja atau berkolaborasi dengan partner bisnis merupakan hal yang penting bagi perusahaan untuk mendapatkan pendapatan lebih.

    6. Perusahaan mengembangkan aplikasi baru dari dasar (scratch).

    Keuntungan Diterapkannya Service-Oriented Architecture

    Dengan diterapkannya Service-Oriented Architecture dalam suatu perusahaan atau organisasi, pasti memberikan keuntungan-keuntungan terhadap pihak tersebut, beberapa keuntungan yang dapat timbul dengan penerapan SOA antara lain :

    1. Fleksibilitas

      Aplikasi yang dibangun dapat sewaktu-waktu berubah, baik itu bertambah ataupun berkurang, karena dengan diterapkannya SOA, sistem dapat dengan mudah diubah menyesuaikan dengan keinginan konsumen saat ini, dengan demikian suatu perusahaan atau organisasi yang menerapkan SOA akan dapat lebih beradaptasi, lebih berkembang, dan lebih dapat berinovasi.

    2. Kemampuan guna ulang service dan dapat mencegah sistem yang bersifat monolithic.

      Aplikasi yang sudah ada dalam suatu perusahaan atau organisasi dapat digunakan ulang. Demikian juga dengan service yang ada, dapat digunakan ulang dan dapat diakses oleh siapa saja.

    3. Sangat dinamis, dengan kemampuan untuk beradaptasi secara cepat terhadap keadaan baru.

      Dinamis berarti dapat selalu berubah-ubah dan bersifat tidak tetap atau tidak paten. Dengan diterapkannya SOA, suatu sistem dapat selalu berubah mengikuti keinginan pasar saat itu, jadi suatu perusahaan yang menerapkan SOA akan selalu dapat mengikuti perkembangan pasar dengan biaya dan usaha yang lebih ringan.

    4. Hemat biaya integrasi aplikasi.

      Biaya yang dikeluarkan dan usaha yang dikeluarkan untuk integrasi lebih hemat.

    5. Meningkatkan kesinambungan sistem IT dalam sebuah perusahaan atau organisasi.

      Suatu sistem pasti suatu saat akan berubah menyesuaikan dengan teknologi atau keinginan pasar pada saat itu. Dengan diterapkannya SOA pada suatu perusahaan atau organisasi, sistem IT akan terus dapat dilanjutkan, diubah, atau diperbaiki dengan lebih mudah, sehingga sistem itu akan terus dapat berfungsi.

    6. Arsitekturnya terdistribusi, service dapat terletak dimana saja.

      Sifat arsitekturnya terdistribusi, artinya tidak harus terletak pada satu tempat saja. Service yang adapun dapat diletakkan dimana saja.

    Kesimpulan

    Dari hasil pembahasan diatas dapat disimpulkan beberapa hal dan mengapa SOA perlu diperlajari dan diterapkan. SOA merupakan suatu konsep arsitektur yang lahir karena tuntutan proses bisnis yang berubah-ubah. Apabila proses bisnis berubah, maka aplikasi-pun akan berubah mengikuti tuntutan bisnis, dan perusahaan atau organisasi memerlukan biaya yang tidak sedikit untuk melakukan perubahan atau integrasi aplikasi. Dengan diterapkannya SOA, maka aplikasi yang sudah ada dapat digunakan ulang, dan dapat diintegrasikan dengan mudah dengan menerapkan teknologi-teknologi yang mendukung SOA seperti XML, WSDL, Web Service, SOAP, dan UDDI.

    Keuntungan-keuntungan yang sudah dibahas diatas, seperti fleksibilitas, kemampuan guna-ulang, dinamis, hemat biaya integrasi, kesinambungan sistem IT yang meningkat, dan juga arsitektur yang terdistribusi dapat memberikan dorongan dan pertimbangan mengapa SOA harus dipelajari dan diterapkan dalam suatu perusahaan atau organisasi.

    Agar suatu perusahaan atau organisasi dapat cepat beradaptasi dengan lingkungan sekitar, dan secara berkesinambungan dapat mengikuti keinginan konsumen maka konsep arsitektur Service-Oriented merupakan solusi yang tepat bagi perusahaan atau organisasi yang memerlukannya.

    Daftar Pustaka

    1. Lawler, James., Barber, Howell. Service-Oriented Architecture: SOA Strategy, Methodology, and Technology. Auerbach Publication, 2008
    2. http://www.w3.org/xml
    3. http://www.sicheres-egovernment.de/english/topics/soasecurity/advantages.htm
    Advertisements

Written by das_84id

January 5, 2010 at 1:35 am

One Response

Subscribe to comments with RSS.

  1. Tau buku SOA yg bahsa indonesia nya nggak??

    three

    June 19, 2012 at 4:06 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: