arsitektur-konstruksi-perangkat-lunak-baru.docx

6
Arsitektur Konstruksi Perangkat Lunak Baru 1. Abstract Berdasarkan arsitektur berorientasi layanan atau Service- Oriented Architecture (SOA) saat ini, makalah ini memperkenalkan arsitektur konstruksi perangkat lunak SOA berorientasi konsumen (consumer-oriented): Arsitektur Global Software Enterprise (GSE). Dalam arsitektur ini, pembangunan perangkat lunak dimulai dari konsumen yang menerbitkan persyaratannya dalam bentuk spesifikasi aplikasi atau layanan yang mereka tepat inginkan. Konsumen juga menerbitkan harapan untuk layanan aplikasi yang dibutuhkan dalam bentuk spesifikasi kolaborasi dan skrip uji (test scripts). Para penyedia layanan kemudian menghasilkan jasa yang memenuhi kebutuhan aplikasi. Pendekatan baru ini mengurangi beban kerja bagi konsumen dan komunikasi antara konsumen dan penyedia. Hal ini juga memperluas desain dan berbagi kode (code sharing), dan dengan demikian semakin meningkatkan produktivitas perangkat lunak. 2. Introduction Konsep Global Software Enterprise (GSE) adalah arsitektur baru yang dirancang untuk mendukung Consumer-Centric SOA dan komposisi layanan berorientasi kolaborasi (collaboration- oriented). Selain spesifikasi layanan publikasi di SOA, GSE juga menerbitkan kolaborasi spesifikasi aplikasi untuk penemuan (discovery), pencocokan (matching), dan langganan (subscription). GSE ini berbeda dari kerangka kerja SOA konvensional seperti yang disajikan dalam, di mana penyedia layanan mengembangkan dan mempublikasikan layanan mereka, dan konsumen bertanggung jawab untuk menemukan layanan yang tepat diterbitkan serta untuk penggunaan dengan benar layanan ini dalam aplikasi mereka. Dalam broker layanan GSE, struktur dan template yang disediakan bagi konsumen untuk mempublikasikan persyaratan aplikasi mereka bersama-sama dengan spesifikasi layanan yang terkait termasuk alur kerja dan persyaratan kerja sama. Setelah struktur tersebut dan template diterbitkan,

description

arsitektur-konstruksi-perangkat-lunak-baru.docx

Transcript of arsitektur-konstruksi-perangkat-lunak-baru.docx

Page 1: arsitektur-konstruksi-perangkat-lunak-baru.docx

Arsitektur Konstruksi Perangkat Lunak Baru

1. Abstract

Berdasarkan arsitektur berorientasi layanan atau Service-Oriented Architecture (SOA) saat ini, makalah ini memperkenalkan arsitektur konstruksi perangkat lunak SOA berorientasi konsumen (consumer-oriented): Arsitektur Global Software Enterprise (GSE). Dalam arsitektur ini, pembangunan perangkat lunak dimulai dari konsumen yang menerbitkan persyaratannya dalam bentuk spesifikasi aplikasi atau layanan yang mereka tepat inginkan. Konsumen juga menerbitkan harapan untuk layanan aplikasi yang dibutuhkan dalam bentuk spesifikasi kolaborasi dan skrip uji (test scripts). Para penyedia layanan kemudian menghasilkan jasa yang memenuhi kebutuhan aplikasi. Pendekatan baru ini mengurangi beban kerja bagi konsumen dan komunikasi antara konsumen dan penyedia. Hal ini juga memperluas desain dan berbagi kode (code sharing), dan dengan demikian semakin meningkatkan produktivitas perangkat lunak.

2. Introduction

Konsep Global Software Enterprise (GSE) adalah arsitektur baru yang dirancang untuk mendukung Consumer-Centric SOA dan komposisi layanan berorientasi kolaborasi (collaboration-oriented). Selain spesifikasi layanan publikasi di SOA, GSE juga menerbitkan kolaborasi spesifikasi aplikasi untuk penemuan (discovery), pencocokan (matching), dan langganan (subscription). GSE ini berbeda dari kerangka kerja SOA konvensional seperti yang disajikan dalam, di mana penyedia layanan mengembangkan dan mempublikasikan layanan mereka, dan konsumen bertanggung jawab untuk menemukan layanan yang tepat diterbitkan serta untuk penggunaan dengan benar layanan ini dalam aplikasi mereka.

Dalam broker layanan GSE, struktur dan template yang disediakan bagi konsumen untuk mempublikasikan persyaratan aplikasi mereka bersama-sama dengan spesifikasi layanan yang terkait termasuk alur kerja dan persyaratan kerja sama. Setelah struktur tersebut dan template diterbitkan, setiap penyedia layanan dapat mengirimkan software mereka atau jasa untuk memenuhi persyaratan aplikasi. Dengan cara ini komputasi adalah konsumen-sentris karena penyedia layanan sekarang akan mencari kebutuhan aplikasi. Paradigma ini mirip dengan pengembangan klasik dengan kontrak, yang konsumen menandatangani kontrak untuk mengembangkan bagian tertentu dari perangkat lunak. Perbedaannya, proses ini adalah otomatis dan konsumen tidak memiliki kewajiban jika untuk setiap layanan yang dikembangkan untuk kebutuhan diterbitkan.

Broker GSE (Aplikasi Penerbitan Server) menyimpan tidak hanya spesifikasi layanan, tetapi juga aplikasi template dan pola kolaborasi. Penyedia layanan dapat berlangganan registri aplikasi ini. Sekali konsumen menerbitkan template aplikasi untuk registri, penyedia layanan berlangganan akan diberitahukan dan mereka dapat mengembangkan layanan dan aplikasi untuk aplikasi baru. Setelah layanan baru dikembangkan untuk template diterbitkan, konsumen akan diinformasikan untuk menguji dan mengevaluasi layanan baru yang tersedia.

Page 2: arsitektur-konstruksi-perangkat-lunak-baru.docx

Angka-angka dalam diagram menunjukkan skenario bagaimana tiga pihak bekerja sama untuk membangun aplikasi:

a. Seorang pembangun aplikasi (konsumen) mengembangkan sebuah template aplikasi yang menggunakan BPEL [5] atau PSML-S [8], yang meliputi informasi tentang spesifikasi alur kerja, spesifikasi layanan, penerimaan kriteria layanan, dan kriteria penerimaan aplikasi.

b. Template aplikasi terdaftar dan dipublikasikan ke broker pelayanan di registri penerapannya.

c. Sebuah penyedia layanan berlangganan ke aplikasi registri diberitahu ketersediaan template yang baru.

d. Ontologi dan taksonomi standar dapat membantu pencocokan otomatis antara yang diminta dan template aplikasi terdaftar.

e. Broker layanan mengembalikan rincian template aplikasi ke penyedia layanan.f. Penyedia layanan akan mengembangkan layanan sesuai dengan template aplikasi

dan menyerahkan ke registri layanan. Setiap layanan diserahkan kepada broker akan dievaluasi oleh kriteria penerimaan layanan.

g. Jika sebuah pelayanan lewat evaluasi, broker layanan akan memberitahukan pembangun aplikasi.

h. Dengan menggunakan informasi yang mengikat dari broker layanan, uji pembangun aplikasi dan evaluasi layanan.

i. Jika layanan lulus pengujian penerimaan aplikasi, pembangun aplikasi akan mengikat layanan ke dalam aplikasi target.

10.  Jika semua layanan yang dibutuhkan tersedia, pembangunan aplikasi selesai.

3. Methods and Materials

Spesifikasi aplikasi – Spesifikasi aplikasi adalah salah satu masalah yang paling penting di GSE dalam mendefinisikan apa yang persis diinginkan oleh pelanggan. Dalam GSE, kita mengambil sebuah aplikasi sebagai komposisi beberapa “aspek”. Setiap aspek merupakan fungsi besar aplikasi. Sebagai contoh, sebuah aplikasi belanja online mungkin melibatkan setidaknya 2 aspek: satu aspek adalah aliran uang yang mentransfer uang dari account pelanggan ke account penjual, jika kita mengambil pandangan dari alur kerja pembayaran. Aspek lain adalah mekanisme aliran dalam perubahan kepemilikan barang dagangan dari penjual kepada pelanggan. Tujuan membagi aplikasi ke dalam aspek adalah:

a. Menyederhanakan kompleksitas dari spesifikasi aplikasi ketika aliran seluruh proses sangat kompleks;

b. Untuk setiap aspek, kita bisa fokus pada fungsi untuk layanan khusus dalam aspek tanpa mempertimbangkan fakta-fakta lain yang dapat menyebabkan ambiguitas dalam layanan;

c. Aspek yang berbeda mungkin memberikan kontribusi bobot yang berbeda untuk seluruh aplikasi. Untuk aspek penting, kita dapat menempatkan standar yang lebih tinggi pada penyedia layanan dan membayar biaya yang lebih tinggi pada layanan verifikasi dan validasi.

Spesifikasi layanan – Dalam GSE diusulkan untuk memperpanjang spesifikasi jasa kini dengan cara berikut:

Page 3: arsitektur-konstruksi-perangkat-lunak-baru.docx

a. Deskripsi Kolaborasi – menggunakan skenario penggunaan layanan berdasarkan arsitektur GSE, skenario yang digunakan untuk layanan menentukan bagaimana layanan dapat digunakan oleh aplikasi lain dan persyaratan harus dipenuhi ketika menggunakan layanan ini.

b. Kolaborasi Extended Protokol Profil (Extended Collaboration Protocol Profile) – E-CPP perluasan CPP ebXML dengan menambahkan interface dan titik informasi kolaborasi.

c. Spesifikasi Proses Layanan – Beberapa pendekatan yang ada seperti OWL-S [6] dan PSML-S [8] yang tersedia. Makalah ini mengusulkan menggunakan PSML-S di GSE karena merupakan pemodelan terpadu dan spesifikasi bahasa mendukung satu set kemampuan analisis seperti analisis C&C, model checking, simulasi, dll.

d. Spesifikasi Properti Layanan – Deklarasi spesifikasi layanan di GSE juga dapat mencakup sifat layanan tertentu, seperti klasifikasi informasi layanan, penyedia layanan informasi dengan ” service credit history “, dan kendala bahwa aplikasi diperlukan untuk layanan tersebut. Semua properti bersama-sama dengan bagian lain dari spesifikasi layanan yang disebutkan di atas berkontribusi pada kolaborasi pelayanan yang terakhir dan penemuan / proses pencocokan.

Service linking and cluster – GSE dapat memelihara satu ke banyak link (one-to-many) di antara aplikasi dan pelaksanaan pelayanan. Demikian pula pelaksanaan pelayanan dapat berlangganan beberapa aplikasi. Infrastruktur GSE dapat memelihara banyak ke banyak link (many-to-many). Layanan cluster adalah konsep maju berdasarkan hubungan linking di antara layanan. Setelah layanan yang diberikan dipilih, erat terkait layanan mungkin perlu diperiksa untuk dimasukkan mungkin dalam aplikasi baru. Pendekatan ini membentuk “service pool/cache” di seluruh registry layanan aplikasi setempat. Untuk mengambil keuntungan dari cluster layanan dan menjaga integrasi proses sederhana, kita dapat menyisipkan “layanan cluster koordinator” lapisan antara server integrasi dan cluster layanan.

Penemuan dan Pencocokan (Discovery and Matching) – Interface tingkat penemuan didasarkan pada spesifikasi antarmuka layanan. Teknik ini mirip dengan pendekatan WSDL saat ini. Hal ini diperlukan untuk memiliki pencocokan sama persis antara interface pelaksanaan pelayanan dan spesifikasi layanan dalam template aplikasi pada server penerbitan. Persyaratan ini memastikan validitas sintaks penting bagi integrasi aplikasi.

Tingkat proses penemuan dan pencocokan didasarkan pada proses spesifikasi layanan. Dalam GSE kita menggunakan PSML-S untuk menentukan kebutuhan proses pelayanan. Proses pencocokan dilakukan ketika template aplikasi menempatkan kebutuhan proses pada layanan ini.

Kolaborasi tingkat penemuan dan pencocokan berdasarkan ontologi kolaborasi, yaitu, sebuah repositori berbagai pola kerjasama dan klasifikasi. Ontologi kolaborasi mirip dengan ontologi layanan kecuali informasi yang tersimpan adalah tentang kolaborasi pelayanan daripada layanan. Penyedia layanan dapat menemukan template yang sesuai dan / atau pola kolaborasi yang mereka mendukung dalam ontologi kolaborasi.

Verifikasi dan validasi di GSE – Sebelum penyedia layanan dapat mendaftarkan layanan untuk mendukung template aplikasi / pola kerjasama diterbitkan oleh pembangun aplikasi, layanan perlu diverifikasi dan divalidasi oleh broker jasa terhadap kriteria

Page 4: arsitektur-konstruksi-perangkat-lunak-baru.docx

penerimaan layanan. Setiap broker layanan memiliki Agen Layanan Verifikasi dan Validasi (SVVA – Service Verification and Validation Agent) yang dapat memverifikasi dan memvalidasi ke template aplikasi / pola kolaborasi, SVVA pertama mengambil uji kasus yang disediakan oleh pembangun aplikasi atau pihak lain dari repositori. Kemudian, ia melakukan pengujian unit pada pelayanan yang terdaftar. Selain unit testing umum untuk validasi fungsional, agen tes mungkin perlu untuk melakukan tes properti-spesifik lainnya sesuai dengan kebutuhan yang berbeda dari pembangun aplikasi. Pengujian properti spesifik dapat mencakup uji reliabilitas, uji keamanan, pengujian ketahanan (robust test), dan pengujian kinerja. Setelah pengujian dan unit properti spesifik pengujian selesai, agen uji melakukan pengujian interoperabilitas untuk memvalidasi kemampuan kolaborasi dari layanan ini. Hanya jika layanan berlangganan melewati kedua tahap pengujian, dapat mendaftar ke template aplikasi / pola kolaborasi. Setiap kali perubahan dilakukan terhadap layanan, pengujian regresi perlu dilakukan untuk memvalidasi komponen layanan direvisi.