BAB 3 ANALISIS METODE 3.1 Analisis Pembangunan Aplikasi SOA dengan SOAD dan SCA Aplikasi SOA adalah aplikasi yang menggunakan konsep service-oriented dalam pembangunan dan penggunaan aplikasi. Penggunaan konsep service-oriented yang dimaksud adalah aplikasi yang ada akan mempunyai fitur yang akan disediakan sebagai services untuk selanjutnya dapat digunakan oleh aplikasi lain. Dengan konsep service-oriented ini, aplikasi tidak lagi dipandang dari teknologi apa yang digunakan, data yang diproses, dan dari fitur yang disediakan oleh aplikasi tersebut. Aplikasi hanya dipandang dari service yang dipunyai saja. Hal ini sangat berguna dalam dunia bisnis karena sebuah aplikasi bisnis biasa dibangun di atas aplikasi-aplikasi lain yang sudah ada dan berbeda-beda teknologinya. SOA menjadi sarana untuk membangun aplikasi tersebut dengan mudah tanpa harus melakukan merombak ulang aplikasi yang ada.
Metode pembangunan aplikasi SOA yang muncul kemudian ada beberapa, seperti SOAD (Service Oriented Analysis and Design), SOMA (Service Oriented Modeling Architecture), dan SCA (Service Component Architecture). Akan tetapi, metode yang paling menonjol adalah SOAD karena merupakan yang pertama muncul dan merupakan pelopor tentang konsep service oriented dan SCA karena metode ini yang pertama memberikan pedoman implementasi service menjadi kode program.
Masing-masing dari metode pembangunan aplikasi SOA yaitu SOAD dan SCA mempunyai kelebihan dan kekurangannya sendiri. SOAD menyediakan metode untuk pembangunan aplikasi SOA yang terbagi dalam 2 tahapan, yaitu service oriented analysis dan service oriented design. Walau menyediakan tahapan untuk melakukan baik analisis dan desain, SOAD lebih terfokus ke arah analisis dan desain dari service dan business process yang akan ada dalam suatu aplikasi.
SOAD mempunyai 2 kekurangan penting, yaitu SOAD dan tidak menyediakan pedoman khusus bagaimana untuk melakukan pengumpulan kebutuhan aplikasi pada saat awal dan SOAD tidak menyediakan pedoman untuk menganalisis, mendesain, dan mengimplementasi service, business process, dan aplikasi SOA tersebut menjadi kode dalam bahasa pemograman tertentu. Adanya kekurangan dalam bagian pengumpulan kebutuhan aplikasi karena business
3-1
3-2 process saja tidak cukup untuk menggambarkan bagaimana pengguna akan menggunakan aplikasi nantinya. Kekurangan dalam hal pedoman implementasi service menjadi kode dapat menimbulkan kesimpang-siuran dalam pengembangan aplikasi, terutama saat pengembangan melibatkan banyak aplikasi yang menggunakan teknologi berbeda-beda Adanya kekurangan dalam kedua bagian ini membuat sulit untuk dilakukan pengembangan aplikasi hanya dengan menggunakan SOAD saja.
SCA menyediakan metode untuk membangun service menjadi komponen-komponen, dan menyediakan spesifikasi untuk pengimplementasian komponen tersebut dalam bentuk kode program dalam bahasa pemograman tertentu. SCA tidak memberikan pedoman bagaimana untuk mendapatkan service apa saja yang perlu dibuat, atau bagaimana mendapatkan service dari domain masalah. Hal ini menyebabkan harus ada hasil analisis dan desain service serta kebutuhan aplikasi yang sudah jelas saat ingin menggunakan SCA, sehingga mengakibatkan SCA tidak dapat digunakan untuk membangun suatu aplikasi yang dimulai dari awal dan belum memiliki hasil analisis service serta pemodelan kebutuhan aplikasi. Secara ringkas kelebihan dan kekurangan masing-masing metode dapat dilihat dalam Tabel 3-1 :
Tabel 3-1. Perbandingan kelebihan dan kekurangan SOAD dan SCA No. 1.
Metode SOAD
Kelebihan Mampu menghasilkan analisis dan desain service
2.
SCA
Mampu memberi pedoman pengimplementasian service sampai bentuk kode program
Kekurangan Tidak memberikan pedoman untuk melakukan pemodelan kebutuhan aplikasi. Tidak memberikan pedoman untuk melakukan implementasi dari service Tidak memberikan pedoman untuk melakukan pemodelan kebutuhan aplikasi. Tidak memberikan pedoman untuk melakukan analis dan desain service
Melihat kelebihan dan kekurangan masing-masing metode, dapat dilihat bahwa sebenarnya kedua metode dapat digunakan secara bersama-sama sehingga saling melengkapi satu sama lain. Maka diusulkan untuk menggabungkan kedua metode SOAD dan SCA menjadi sebuah metode lengkap untuk membangun aplikasi SOA. Metode yang diusulkan adalah melakukan analisis dan desain service dengan menggunakan SOAD, dimana selanjutnya implementasi dari service yang telah dianalisis dan didesain tersebut akan dilanjutkan dengan menggunakan SCA. Hal ini sangat mungkin untuk dilakukan dan hasil yang didapatkan dari SOAD dapat langsung dipakai sebagai masukan untuk tahapan dalam SCA.
Kedua metode yang digabungkan dapat memberikan sebuah metode yang cukup lengkap untuk analisis, desain, dan implementasi service. Namun, metode ini masih belum
3-3 memecahkan untuk pemodelan kebutuhan aplikasi, yang nantinya akan menjadi dasar untuk pemilihan fitur dan service yang disediakan aplikasi. Walau sudah ada pemodelan business process dalam tahapan analisis SOAD, namun business process baru menggambarkan penggunaan aplikasi dalam bisnis dan tidak menggambarkan langkah per langkah penggunaan aplikasi oleh pengguna nantinya serta dapat membantu saat melakukan analisis service yang akan disediakan aplikasi. Oleh karena itu, maka sebelum kedua metode ini digunakan, di awal akan digunakan dulu sebuah pemodelan kebutuhan aplikasi, yaitu dengan menggunakan use case model.
Use case model disini akan memberikan kegunaan sebagai berikut : 1. Memberikan identifikasi tambahan user yang akan berinteraksi dengan aplikasi 2. Memberikan gambaran bagaimana interaksi user dengan aplikasi 3. Memberikan masukan tambahan untuk identifikasi service.
Dengan ditambahkannya pemodelan kebutuhan aplikasi dengan use case model ini maka metode gabungan yang ada diharapkan akan menjadi lebih lengkap untuk melakukan suatu pembangunan aplikasi berbasis service, dengan tahapan yaitu pemodelan kebutuhan, analisis dan desain service, serta implementasi service dalam bentuk kode program. Gambaran ringkas dari metode hasil penggabungan tersebut dapat dilihat dalam Gambar 3-1. Keterangan mengenai hasil dan metode asal dalam setiap langkah metode dijelaskan dalam Tabel 3-2.
Gambar 3-1 menggambarkan langkah-langkah yang dilakukan dalam mengembangkan aplikasi SOA dengan use case model, SOAD, dan SCA. Ada enam langkah yang dilakukan, yaitu identifikasi business process dari SOAD, pemodelan kebutuhan aplikasi dari use case model, dilanjutkan dengan analisis dan perancangan service SOAD, untuk selanjutnya masuk ke perancangan dan implementasi SCA. Garis pada gambar menunjukkan keterhubungan input ke dalam suatu proses, contohnya garis antara identifikasi business process dan pemodelan kebutuhan aplikasi menandakan bahwa business process yang dihasilkan dalam tahapan identifikasi business process akan menjadi input untuk pemodelan kebutuhan aplikasi.
3-4
Metode Pembangunan Aplikasi SOA dengan SOAD dan SCA Unified Model
SOAD - Analysis
SOAD - Design
SCA
Identifikasi Business Process
Permodelan Kebutuhan Aplikasi
Analisis Service
Perancangan Service
Perancangan SCA
Implementasi SCA
Gambar 3-1. Metode Pembangunan Aplikasi SOA dengan SOAD dan SCA Tabel 3-2. Hasil dan Metode Asal Pembangunan Aplikasi SOA dengan SOAD dan SCA No. 1.
Kegiatan Identifikasi business process yang berjalan
Hasil Business process diagram
2. 3.
Membuat pemodelan kebutuhan aplikasi Analisis service
4.
Perancangan service
5.
Perancangan SCA
6.
Implementasi SCA
Use case diagram Use case skenario Kandidat business service Kandidat application service Kandidat process service Kandidat service operation Business service versi final Application service versi final Process service versi final Service operation versi final Assembly model diagram Client and Implementation Model Bindings SCA Runtime Kode program Aplikasi SOA
Metode Asal SOAD Service Oriented Analysis Unified Model SOAD Service Oriented Analysis SOAD Service Oriented Design SCA
SCA
3-5 Dengan menggabungkan kedua metode tersebut dan ditambahkan dengan pemodelan kebutuhan aplikasi dengan menggunakan use case, maka diharapkan pembangunan aplikasi SOA dapat dilakukan dengan menggunakan pedoman lengkap dalam pengerjaannya, dimulai dari pemodelan kebutuhan aplikasi, analisis dan desain dari service yang akan ada serta implementasi service dan aplikasi dalam bentuk kode program. Pedoman yang lengkap ini diharapkan dapat memenuhi semua tahapan pengembangan yang ada dalam mengembangkan sebuah aplikasi SOA.
3.2 Studi Kasus Setelah melihat hasil studi literatur mengenai konsep SOA, SOAD, dan SCA dalam bab 2 dan analisis pengembangan aplikasi SOA dengan SOAD dan SCA dalam bab 3, selanjutnya akan ditentukanlah suatu studi kasus untuk menerapkan hasil analisis yang telah didapatkan tersebut. Studi kasus yang dipilih harus mampu mencerminkan sebuah aplikasi yang bersifat service oriented. Studi kasus tersebut haruslah terdiri dari beberapa aplikasi yang mempunyai perbedaan dalam teknologi, data, dan fitur. Hal ini agar sesuai dengan tujuan konsep service oriented yang menggabungkan banyak aplikasi yang berbeda-beda menjadi suatu aplikasi terintegrasi.
Studi kasus yang dipilih adalah sebuah aplikasi point-of-sales atau aplikasi transaksi penjualan di sebuah toko. Aplikasi tersebut akan berhubungan dengan dua aplikasi lain yaitu aplikasi yang mengelola data member pelanggan toko dan aplikasi yang mengelola data inventaris toko. Aplikasi transaksi penjualan akan terhubung dengan aplikasi pengelolaan data member pelanggan toko dan aplikasi pengelolaan data inventaris toko melalui web services, dan akan menggunakan teknologi dan basis data yang berbeda dengan aplikasi pengelolaan data member pelanggan toko dan aplikasi pengelolaan data inventaris toko.
Alasan pemilihan aplikasi point-of-sales ini adalah karena aplikasi penjualan adalah aplikasi bisnis yang sering digunakan di dunia nyata, dan aplikasi penjualan ini akan berhubungan dengan banyak aplikasi lain pendukung bisnis yang berjalan di belakang aplikasi tersebut. Kondisi studi kasus dibuat sehingga aplikasi transaksi penjualan akan terhubung melalui web services dengan dua aplikasi lain dengan teknologi dan basis data yang berbeda sehingga mencerminkan kondisi dimana dibutuhkannya sebuah solusi yang mudah untuk menggabungkan beberapa aplikasi yang berbeda teknologi dan basis data menjadi suatu aplikasi terintegrasi yang memanfaatkan fitur-fitur yang disediakan oleh aplikasi-aplikasi tersebut, dimana solusi yang akan digunakan adalah dengan menggunakan konsep service-oriented.
3-6
3.2.1 Deskripsi Umum Sistem Aplikasi point-of-sales atau transaksi penjualan adalah aplikasi yang digunakan dalam titik penjualan barang dalam suatu toko oleh kasir. Aplikasi ini akan melakukan fungsi utama yaitu melayani transaksi penjualan barang dari toko kepada pelanggannya.
Pelanggan yang berbelanja di toko dapat terbagi menjadi dua kategori, yaitu member dan non-member. Perbedaan antara dua katagori ini adalah pelanggan yang telah menjadi member dapat memperoleh poin saat berbelanja sesuai dengan total belanja, sementara pelanggan nonmember tidak. Aplikasi tidak menyimpan data member, melainkan hanya mengirimkan data poin member dengan memasukkan no. member pelanggan, kemudian melakukan invokasi terhadap sebuah service yang disediakan oleh aplikasi lain yang khusus melakukan pengelolaan data member.
Pada saat melakukan transaksi penjualan barang, aplikasi juga secara otomatis melakukan update terhadap stok barang inventaris toko dengan cara melakukan invokasi terhadap sebuah service yang disediakan oleh aplikasi pengelola inventaris toko. Baik aplikasi transaksi penjualan, aplikasi pengelolaan inventaris, dan aplikasi pengelolaan data member adalah aplikasi web-based, dan service yang disediakan oleh aplikasi pengelolaan inventaris dan aplikasi pengelolaan data member akan diinvokasi dengan menggunakan web services. SIBARANG
SIPOS
Service Server aplikasi pengelolaan inventaris toko
Kasir
SIMEMBER
Service
Server aplikasi transaksi penjualan
Server aplikasi pengelolaan data member
Client aplikasi transaksi penjualan
Gambar 3-2. Gambaran Umum Aplikasi
3-7 Gambar 3-2 menunjukkan gambaran umum aplikasi transaksi penjualan dalam studi kasus. Aplikasi transaksi penjualan akan terdiri dari 2 bagian utama, yaitu bagian server, dimana aplikasi utama dari aplikasi diletakkan lalu bagian client, dimana pengguna aplikasi yaitu kasir akan berinteraksi dengan aplikasi. Server aplikasi transaksi penjualan ini selanjutnya terhubung dengan server aplikasi pengelolaan inventaris toko dan server aplikasi pengelolaan data member dengan jaringan internet yang digunakan untuk mengakses web service yang disediakan oleh kedua aplikasi tersebut.
Secara umum, fitur yang disediakan oleh aplikasi transaksi penjualan adalah sebagai berikut :
1. Melakukan pengelolaan transaksi penjualan barang, seperti input dan lihat data transaksi. 2. Melakukan invokasi service untuk mengurangi stok barang dari aplikasi pengelolaan inventaris toko 3. Melakukan invokasi service untuk menambah poin milik member tersebut dari aplikasi pengelolaan data member
Dalam studi kasus ini, aplikasi yang akan dibangun menggunakan SOAD dan SCA adalah aplikasi transaksi penjualan. Aplikasi pengelolaan inventaris dan aplikasi pengelolaan data member akan dibuat dengan menggunakan teknologi PHP dengan menggunakan basis data berupa MySQL. Services yang dimiliki oleh aplikasi pengelolaan inventaris dan aplikasi pengelolaan data member disediakan melalui web services. Aplikasi pengelolaan inventaris dan aplikasi pengelolaan data member dibuat tidak berbasis service karena merupakan aplikasi pendukung yang dibuat untuk mensimulasikan keadaan aplikasi transaksi penjualan yang berbasis service yang berinteraksi dengan sistem lain yang tidak berbasis service.