7
BAB II LANDASAN TEORI 2.1
ServiceOrientedArchitecture (SOA) Ada banyak ragam definisi dari SOA.Microsoft menyatakan SOA sebagai
“The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. Services can be invoked, published and discovered, and are abstracted away from the implementation using a single, standards-based form of interface”(MSDN Architecture Center - Special Coverage, 2012). IBM menyatakan SOA sebagai “a business-centric IT architectural approach that supports integrating your business as linked, repeatable business tasks, or services. With the Smart SOA approach, you can find value at every stage of the SOA continuum, from departmental projects to enterprise-wide initiatives” (Design an SOA solution using a reference architecture, 2007). Wikipedia.Org menyatakan SOA sebagai “a group of services that communicate with each other. The process of communication involves either simple data-passing or two or more services coordinating some activity. Intercommunication implies the need for some means of connecting two or more services to each other”(Service-oriented architecture, 2008).
8
Dari
semua
definisi
yang
ada,
dapat
disimpulkan
bahwa
ServiceOrientedArchitectureadalah suatu bentuk pendekatan arsitektur sistem yang dibangun berdasarkan sekumpulan service yang membentuk SOA.SOA adalah sebuah framework untuk mengintegrasikan proses bisnis untuk mendukung infrastruktur IT yang aman, services yang dapat digunakan kembali dan juga dapat disertakan dalam prioritas bisnis yang berubah. Serviceadalah berbagai fungsi-fungsi yang dibuat atas tujuan reusesability atau penggunaan berulang-ulang. Pendekatan SOA bukan hanya berdasar pada sisi teknis dari sistem, melainkan dari proses bisnis yang dilihat dalam bentuk service. Karena itu pembentukan service-service yang ada dalam sistem yang berbasiskan SOA, merupakan service yang didasarkan dari proses bisnis.
Gambar 2.1 SOA Layers
9
2.1.1 Komponen dari SOA SOA memiliki tiga komponen penyusun utama dalam fondasinya (SOA alliance, 2006, p2), yakni : -
BusinessArchitecture Business architecture didasarkan pada strategi bisnis, objektif, prioritas, dan proses.Hal ini adalah bagian terpenting dalam kesuksesan implementasi dari SOA. Satu keuntungan utama dari SOA adalah penggunaan kembali bisnis proses yang menyediakan potensi tingkat keuntungan yang lebih tinggi karena adanya potensi penggunaan ulang dari infrastruktur atau komponen data. Hal ini juga mengikutsertakan proses bisnis sebagai dasar dari implementasi aplikasi bisnis
-
Infrastructure Architecture Arsitektur ini memfokuskan SOA terhadap semua aspek dari infrastruktur darijaringan, server, data center, firewall, menjadi infrastruktur aplikasi, security, monitoring, middleware, dan lainnya. Arsitektur ini menjadikan infrastruktur dari IT menjadi sebuah engine pendukung SOA.
-
Information dan Data Architecture Kesepakatan ini ditandai dengan mengidentifikasikan Key Performance Indicators dan informasi yang dibutuhkan untuk mendukung perusahaan.Data architecture berhubungan dengan data modelling untuk dilakukan manipulasi data dan penentuan kualitas dari data.
10
2.1.2 Keuntungan SOA 1. Kecepatan Dalam SOA, proses bisnis dipecah dan disederhanakan dalam bentuk service yang lebih kecil. Ketergantungan yang ada antar service harus diminimalisir. Sehingga apabila terjadi perubahan pada suatu proses bisnis, cukup service yang berkaitan saja yang mengalami perubahan, tidak perlu seluruh sistem. Dengan begini, sistem dapat merespon perubahan dengan cepat. 2. Real-time resposive Dalam service-service tersimpan business rules dan batasan-batasan dalam bisnis. Dan service-service ini disimpan dan dikelola dalam sebuah server aplikasi yang disebut ESB. Sehingga berbagai jenis aplikasi dapat mengakses business rules tersebut. Apabila terjadi suatu perubahan terhadap business rules, ESB akan mengelolanya secara otomatis. Sehingga business rules yang baru akan berlaku saat itu juga. 3. Penghematan Meskipun pada awalnya implementasi membutuhkan biaya yang besar, dengan implementasi SOA memungkinkan pengembangan sistem yang terpusat, sehingga ada banyak resource yang bisa dikurangi.Dengan demikian jugaakan mengurangi biaya.
11
4. Channel independent Bisnis
berkaitan
supplier.Berbagai
pihak
dengan yang
banyak
pihak,
behubungan
Baik
dengan
pelanggan
organisasi
maupun
tentu
saja
memungkinkan adanya berbagai jenis aplikasi yang berbeda-beda. Dengan adanya service dan ESB, memungkinkan untuk berbagai aplikasi tersebut untuk mengakses business rules yang telah didefinisikan. Sehingga pihak-pihak yang berkaitan dengan organisasi tidak tergantung lagi terhadap suatu aplikasi tertentu. 5. Waktu pengembangan yang lebih singkat Dalam SOA, bisnis proses yang dipecah dalam bentuk service yang lebih kecil memungkinkan perubahan dan pengembangan pada service yang tertentu saja. Karena pengembangan dilakukan secara terfokus, waktu yang dibutuhkanpun menjadi lebih sedikit.
6. Mengurangi duplikasi Service dalam SOA dikelola dalam server aplikasi yang disebut ESB. Karena service dikelola secara terpusat, hal ini akan mengurangi kemungkinan adanya duplikasi sistem. Selain itu, bentuk service yang memungkinkan reuseability juga mengurangi adanya fungsi yang sama yang ada didalam sebuah sistem.
12
2.2
Web Service Web service adalah metode komunikasi antara dua alat elektronik lewat web. Dalam
W3C web service didefinisikan sebagai sistem mobile yang dirancang untuk mendukung komunikasi antara mesin lewat jaringan. Web service memiliki interface yang dideskripsikan dalam format yang dapat diakses oleh mesin, yang biasa dikenali sebagai Web Service Description Language (WSDL). Standar web service : -
XML (eXtensible Markup Language) – bahasa standar markup untuk mendeskripsikan data dari pesan yang dikirim dalam format dokumen tertentu. o SOAP (Simple Object Access Protocol) – menggunakan protokol dasar XML untuk digunakan dalam pertukaran informasi melalui berbagai macam platform atau environment.
Gambar 2.2SOA menggunakan Web Service
13
-
WSDL (Web Service Description Language) – dokumen XML yang mendeskripsikan sebuah set dari pesan SOAP dan bagaimana pesan ini dapat melakukan pertukaran. Sebagaimana WSDL adalah XML, dapat dibaca dan diubah, tapi dalam kebanyakan kasus, WSDL dihasilkan dan dikonsumsi oleh mobile.
-
UUDI (Universal Description, Discovery, and Integration) – langkah mengalokasikan Web Service di dalam register, seperti layaknya sebuah catalog, jadi program dapat mencari web service secara muda dan dapat memahami apa yang dilakukan oleh web service.
Gambar 2.3 SOA Arsitektur
14
2.3
BusinessProcessModelling(BPM) Business process Modelling (BPM) adalah teknik yang biasa digunakan untuk
memvisualisasikan sebuah model bisnis proses melalui rangkaian aktifitas, use case dan poin keputusan. Sebelum menterjemahkan proses bisnis kedalam bentuk service, penting untuk melakukan optimalisasi dari bisnis proses tersebut. Inefisiensi dan inefektifitas dari proses bisnis harus di minimalisir. Menterjemahkan proses bisnis yang tidak efisien dan efektif menjadi service, hanya akan menambah kompleksitas dari proses bisnis tersebut. Metode yang digunakan dalam SOA untuk memperbaiki proses bisnis adalah BPR. Melalui BPR, proses bisnis akan di rancang kembali. Proses yang tidak efisien akan dihilangkan atau diubah. Sehingga didapat proses bisnis yang lebih efisien dan efektif. Dan ketika diterjemahkan kedalam service, akan diperoleh service yang efisien dan efektif. Studi yang dilakukan oleh kohlbacher menemukan bahwa BPM membantu organisasi untuk mendapatkan kepuasan pelanggan, kualitas dari suatu produk juga percepatan pelayanan(Kohlbacher, 2009).
2.4
Component BusinessModelling (CBM) Masalah utama dalam pengembangan mobile adalah sulitnya untuk memenuhi
kebutuhan bisnis dalam upaya mengimbangi permintaan pasar dan kompetisi. Agar departemen IT dapat bertahan dan beradaptasi dengan perubahan bisnis proses yang ada, IT harus dapat meningkatkan kemampuan dengan permintaan pasar. Departemen IT wajib untuk mencoba bergeser dari pemikiran solusi IT-centric dan mulai mengarah ke
15
pembuatan solusi yang berdasarkan bisnis proses. Component BusinessModelling (CBM) adalah bentuk frameworkyang tepat guna mendapatkan pandangan terhadap bisnis komponen. Sebuah mekanisme yang diperlukan ketika membangun sebuah aplikasi adalah IT untuk memahami konsep binis strategi melalui pelaksaan framework yang standar, dimengerti dan dapat dilaksanakan secara berulang-ulang dan suskses. Perusahaan dapat melihat fleksibilitas bisnis melalui IT dengan permodelan dari bisnis proses yang berjalan. Hal pertama yang harus dilakukan adalah dengan penelusuran semua proses. Dengan mengukur bisnis proses, atau use case melalui. Dengan pengukuran bisnis proses melalui penggambaran use case, return on investments (ROIs), key performance indicators (KPI), atau metric lain,perusahan jadi dapat menggunakan business process models (BPMs) sebagai mekanisme yang penting untuk mengkomunikasikan kebutuhan binis dengan apa yang IT dapat implementasikan. Langkah awal pembuatan BBD adalah dengan pembuatan BPM, struktur IT solution juga perlu diadaptasikan ke BPM sebagai acuan untuk SoftwareDevelopment Life Cycle, sehingga IT Architect dapat mendesain dan mengimplementasikan proses aktifitas yang ada sebagai komponen peranti lunak atau sebagai sebuah service.
16
2.5
ServiceOrientedModelingandArchitecture (SOMA) ServiceOrientedModelingandArchitecture (SOMA) adalah sebuah metode
pengembangan mobile untuk pengembagan aplikasi berbasi SOA . Metode SOA ini telah didaptasi dari banyaknya pengalaman yang dipelajari dari kesulitan dan tantangan yang dihadapi oleh desain awal implementasi project SOA. Kunci utama dari tujuan penggunaan pengalaman ini menjadikannya sebagai suatu set peran tugas yang digunakan sebagai panduan dan praktis terbaik dari bidang yang bersangkutan menggunakan orientasi service. SOMA adalah merupakan SDLC (System Development Life-Cycle) yang dikembangkan oleh IBM untuk merancang dan membangun solusi berbasis SOA. Metode ini mendefinisikan teknik kunci dan menyediakan tugas perspektif dan mendeskripsikan penduan normatif untuk analisa, desain, implementasi, testing, dan pelaksanaan. Mulai dari service, komponen, alur, informasi, dan policies dibutuhkan untuk merancang dan membuat solusi SOA yang dapat digunakan dan digunakan kembali di dalam perusahaan. Dengan tujuan mencapai tujuan akhir bisnis dalam menyediakan service yang konsisten ketika membuat service baru. SOMA menyediakan solusi dengan pola kapabilitas yang juga diketahui sebagai teknik pemecahan bagian dari method yang lebih besar, seperti : -
Service identification
17
Melakukan dokomposisi dari service dengan tujuan menciptakan proses pengidentifikasian service. -
Service spesification Mengembangkan service-interface dan spesifikasi pesan, ketergantungan service, interaksi service, komponen model, dan mengidentifikasikan pola yang dapat digunakan kembali.
-
Existing asset analysis Mengkonduksi analisis detail modul dari Common BusinessOriented Language (COBOL). Hal ini dibutuhkan untuk mengembangkan pendekatan untuk mengkonsolidasi dan memfaktor ulang kode yang telah ada.
-
Servicerefactoringandrealization Mementukan tujuan dariservice dan mengaplikasikan definisi dari satu set kriteria yang disebut sebagai service litmus test (SLT) untuk menentukan kandidat mana yang dapat dijadikan service yang tepat untuk dikembangkan untuk dipublikasikan melalui WSDL.
-
Technical feasibility exploration Mengidentifikasikan solusi potensial terhadap berbagai macam permasalahan, seperti percakapan dasar dari servicerequest ketika sistem front-end harus berinteraksi dengan sistem back-end beberapa kali dengan tujuan memenuhi permintaan service. Berbagai transaksi yang dilakukan untuk memenuhi permintaan service memiliki dampak terhadap performa service dan pengguna.
18
Gambar 2.4 SOMAFocus SOMA memfokuskan pada bagaimana sebuah aplikasi dibuat berdasarkan pada sisi bisnis yang berjalan.Dari identifikasi bisnis yang ada, arsitektur yang sedang dipakai, kepada implementasi yang mau dikerjakan (Gambar 2.4). Secara garis besar, SOA terdiri dari beberapa layer yang membedakan antara cara pandang provider dengan cara pandangconsumer (Gambar 2.5).
Gambar 2.5 SOMA Decouples
19
Gambar 2.6 SOMA Activities Ketiga proses SOMA (identifikasi, spesifikasi dan realisasi) yang telah selesai akan membentuk sebuah
analisa struktur yang lengkap. Kemudian aplikasi akan dibuat
berdasarkan gambaran analisa struktur yang lengkap ini.