Trifanny's Blog

4 January 2010

Why Use SOA ??

Filed under: Management — Maria Trifanny Fransiska @ 16:21

SOA Benefit

Benefit dari Implementasi SOA

  1. Reusable (memaksimalkan penggunaan kembali dari service)
  2. Dalam SOA, aplikasi dibangun atas beberapa service yang dikombinasikan dengan membuat akses/network di antara service tersebut. Dengan prinsip ini, developer dapat membuat aplikasi baru dengan membuat kombinasi baru dan menggunakannya kembali dalam bisnis proses yang lain.

  3. Flexible
  4. Dapat digunakan oleh orang-orang yang berbeda group, baik di dalam dan luar organisasi.

  5. Low-cost system
  6. Dikarenakan service-service yang bersifat reusable, pembuatan aplikasi baru akan memakan biaya yang lebih rendah. Dengan kata lain, developer dapat mengefektifkan biaya/cost dalam kaitannya dengan perubahan kondisi pasar

  7. Meningkatkan kualitas sistem secara keseluruhan
  8. Respon bisnis menjadi lebih cepat
  9. Service dapat dijalankan dari bermacam-macam platform dan dapat diakses antar network

Challenges dalam Mengadopsi SOA

Penerapan SOA dalam real-time sistem memang masih menghadapi beberapa kendala, antara lain:

  1. Managing service metadata
  2. Dalam sistem berbasis SOA, komunikasi antar service dilakukan dengan saling melempar/passing message. Dengan bergantung pada desain, sebuah single aplikasi bisa menghasilkan jutaan message. Mengatur dan menyediakan informasi dalam interaksi antar service merupakan tugas yang kompleks. Dan akan bertambah kompleks ketika service-service ini dikirim oleh bagian-bagian yang berbeda dalam satu perusahaan atau bahkan pada perusahaan yang berbeda (partner, supplier, dsb)

  3. Lack of testing
  4. Sampai sejauh ini, dalam sebuah arsitektur SOA, belum ada tools yang dapat digunakan untuk melakukan pengetesan terhadap semua service (termasuk message dan database service bersama dengan web service)

  5. Appropriate level of security
  6. Tantangan lainnya adalah dalam penyediaan level keamanan yang sesuai. Model sekuritas yang dibangun dalam sebuah aplikasi menjadi tidak lagi sesuai ketika kemampuan aplikasi tersebut diadaptasikan sebagai sebuah service dan digunakan oleh aplikasi lainnya

How to Use SOA?

SOA terdiri dari service-service yang independent. Service-service tersebut kemudian dihubungkan melalui link antar service. Kombinasi link antar service digambarkan dalam sebuah orchestration.

Orchestration adalah link dan urutan dari service-service yang akan membentuk suatu sistem. Dalam prosesnya, developer mengasosiasikan service-service yang ada dalam sebuah non-hierarchical arrangement. Bentuk orchestration tergantung pada bisnis prosesnya (dimodifikasi sedemikian rupa sampai sesuai dengan bisnis proses requirement).

Komunikasi antar service dilakukan dengan passing data/message dari service yang satu ke service yang lain melalui link yang sudah terbentuk.

SOA biasa diimplementasikan dengan menggunakan standard web service dan teknologi web. Web service adalah sebuah sistem software yang didesain untuk mendukung interaksi interoperable machine to machine melalui jaringan, di mana memungkinkan sistem dapat dieksekusi melalui remote sistem.

Secara garis besar, web service dibagi menjadi dua:

  1. Big Web Service
  2. Menggunakan XML yang mengikuti standard SOAP.
    SOAP (Simple Object Access Protocol) adalah sebuah spesifik protocol untuk penukaran struktur informasi dalam implementasi web service di jaringan komputer. SOAP bergantung pada XML (message format) dan HTTP sebagai application protocol lainnya (tempat message negotiation dan transmission). SOAP membentuk layer dasar dari web service protocol stack, menyediakan framework dasar dari sistem messaging, di mana web service dibentuk.
    WSDL adalah bahasa pemrograman yang menghasilkan file xml (XML-based language), yang nantinya digunakan sebagai model dalam web service

  3. RESTful web service (Representational State Transfer)
  4. Memiliki integrasi yang lebih baik dengan HTTP dan tidak membutuhkan XML Message atau WSDL service-API definitions.

Beberapa hal yang harus diperhatikan agar SOA bisa digunakan secara efisien, antara lain:

  1. Interoperability antar sistem dan bahasa pemrograman yang digunakan sebagai dasar dari integrasi antar aplikasi pada platform yang berbeda. Komunikasi antar sistem dilakukan salah satunya dengan menggunakan message, yang dapat mengurangi kompleksitas dari end aplikasi
  2. Pembentukan dan pemeliharaan kumpulan resources. Mis pemeliharaan data flow untuk membentuk sebuah data warehouse. Hal ini akan memudahkan dalam pengembangan function baru dengan mereferensi pada bentuk umum untuk setiap elemen data

SOA dapat diterapkan pada bahasa pemrograman yang memiliki pengaturan pada alokasi memori dan reklamasi, mengijinkan ad hoc dan late binding, dan menyediakan level tertentu indeterminate data typing. Mis. JAVA, .NET

SOA biasa diimplementasikan dengan menggunakan SOAP, REST, RPC, DCOM, CORBA, Web Services atau WCF.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

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

Create a free website or blog at WordPress.com.

%d bloggers like this: