Studi Pembangunan Aplikasi Berbasis SOA
dengan SOAD dan SCA
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh:
Yuandra Ismiraldi / 13505069
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
i
Lembar Pengesahan
Program Studi Teknik Informatika
STUDI PEMBANGUNAN APLIKASI BERBASIS SOA DENGAN SOAD DAN SCA
Tugas Akhir
Program Studi Teknik Informatika ITB
Oleh
Yuandra Ismiraldi / 13505069
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 16September 2009
Pembimbing
Yani Widyani, S.T., M.T. NIP 132164562
ABSTRAKSI
Pada tugas akhir ini dilakukan studi mengenai pembangunan aplikasi berbasis Service Oriented Architecture (SOA) dengan menggunakan Service Oriented Analysis and Design (SOAD) dan Service Component Architecture (SCA). Hal ini bertujuan agar pembangunan aplikasi berbasis SOA dapat dilakukan dengan menggunakan metodologi pembangunan yang lengkap dan menyeluruh. Studi tersebut mencakup studi mengenai SOA, SOAD, SCA, serta penggabungan SOAD dan SCA menjadi sebuah metode lengkap yang ditambahkan dengan pemodelan kebutuhan aplikasi menggunakan use case model. Model lengkap yang dihasilkan tersebut nantinya akan diterapkan dalam sebuah studi kasus.
Dalam mengembangkan metode lengkap yang mengacu pada SOAD dan SCA, dilakukan studi literatur terhadap konsep SOA yang dilanjutkan dengan eksplorasi terhadap SOAD dan SCA. Hasil yang diperoleh adalah sebuah metode lengkap pembangunan aplikasi SOA yang mengacu pada SOAD untuk melakukan analisis dan desain service, lalu menghasilkan output dari SOAD yaitu service, sebagai input untuk SCA. Service akan diimplementasikan dengan metode SCA menjadi kode program. Untuk mendapatkan interaksi sistem dengan pengguna , serta sebagai input tambahan untuk analisis service, ditambahkan satu tahap pengumpulan kebutuhan aplikasi dengan menggunakan model use case pada metode lengkap tersebut.
Metode yang telah dikembangkan tersebut selanjutnya diterapkan pada sebuah studi kasus. Studi kasus yang dipilih adalah sebuah aplikasi transaksi penjualan (point-of-sales) yang akan terhubung dengan aplikasi pengelolaan inventaris toko dan aplikasi pengelolaan data member. Aplikasi diimplementasikan dengan teknologi dan basis data yang berbeda untuk mencerminkan lingkungan aplikasi SOA dan berinteraksi dengan cara saling melakukan invokasi services.
Penggunaan SOAD dan SCA secara bersama-sama dengan dilengkapi pemodelan kebutuhan akan menghasilkan sebuah metode lengkap untuk pembangunan aplikasi SOA. Metode ini mempermudah pengembangan aplikasi SOA dari tahap pengumpulan kebutuhan, analisis dan desain service, serta implementasi services dalam aplikasi.
iii
KATA PENGANTAR
Puji syukur penulis berikan kepada Tuhan Yang Maha Esa karena berkat rahmat-Nya penulis dapat menyelesaikan tugas akhir dengan judul Studi Pembangunan Aplikasi Berbasis SOA dengan SOAD dan SCA. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah memberikan bantuan dan bimbingan selama pelaksanaan dan penyusunan tugas akhir ini. Ucapan terima kasih penulis sampaikan kepada :
1. Ibu Dr. Ir. G.A. Putri Saptawati M.Comm. selaku Ketua Program Studi Teknik Informatika ITB.
2. Ibu Yani Widyani, S.T., M.T. selaku Dosen Pembimbing yang telah membimbing dan memberikan masukan dalam pelaksanaan tugas akhir.
3. Ibu Ir. Hira Laksmiwati Z., M.Sc. selaku Dosen Penguji pada proposal,seminar, dan sidang tugas akhir.
4. Ibu Fazat Nur Azizah, S.T., M.Sc. selaku Dosen Penguji pada pra sidang dan sidang tugas akhir
5. Bapak Ir. Windy Gambetta Phd. selaku Dosen Mata Kuliah IF4096 Tugas Akhir I 6. Bapak Adi Mulyanto, S.T., M.T. selaku Dosen Mata Kuliah IF4099 Tugas Akhir II 7. Bapak Ir. Dwi Hendratmo W., M.Sc., Phd. selaku Dosen Wali
8. Bapak Ade Taryat, Ibu Nurhayati, dan Bapak Rasidi serta pegawai tata usaha program studi Teknik Informatika ITB.
9. Tina Yuliani, Reisha Humaira, Halim Munawar, Steven Wijaya dan teman-teman asisten Laboratorium Rekayasa Perangkat Lunak
10. Prasetyo A.W., Winda W, Putri E, Anis I., Aryo N., Herdyanto S. serta teman-teman Teknik Informatika ITB baik angkatan 2004, 2005, 2006, dan 2007 yang telah memberikan dukungan dan bantuan.
11. Nana, Rizkita D.A., teman teman SIAWARE yang telah memberi dukungan dan semangat.
12. Prismita N., Zeneth A.T., Desiana P., Caecilia A., Ni Made K, Kartika C., Dina F., dan teman-teman lain yang telah memberi dukungan.
13. Keluarga penulis yang selalu memberikan dukungan dan dorongan untuk penulis 14. Semua pihak yang telah membantu penulis yang tidak dapat disebutkan satu per satu
Penulis menyadari bahwa dalam tugas akhir ini masih banyak kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang membangun dari pembaca. Terima kasih.
Bandung, September 2009
v
DAFTAR ISI
Lembar Pengesahan Program Studi Teknik Informatika ... i
ABSTRAKSI ... ii
KATA PENGANTAR ...iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... ix BAB 1 PENDAHULUAN ... 1-1 1.1 Latar Belakang ... 1-1 1.2 Rumusan Masalah ... 1-2 1.3 Tujuan ... 1-2 1.4 Batasan Masalah... 1-2 1.5 Metodologi ... 1-3 1.6 Sistematika Pembahasan ... 1-4 BAB 2 DASAR TEORI ... 2-1
2.1 Service Oriented Architecture (SOA) ... 2-1
2.1.1 Konsep Service Oriented ... 2-1
2.1.2 Komponen SOA ... 2-3
2.1.3 Layering pada SOA ... 2-4
2.2 Service Oriented Analysis and Design ... 2-9
2.2.1 Service-Oriented Analysis ... 2-10
2.2.2 Service Oriented Design ... 2-11
2.3 Service Component Architecture ... 2-14
2.3.1 Konsep SCA ... 2-14
2.3.2 Elemen SCA ... 2-16
2.3.3 SCA Runtime ... 2-21 BAB 3 ANALISIS METODE ... 3-1
3.1 Analisis Pembangunan Aplikasi SOA dengan SOAD dan SCA ... 3-1
3.2 Studi Kasus ... 3-5
3.2.1 Deskripsi Umum Sistem ... 3-6 BAB 4 ANALISIS DAN PERANCANGAN APLIKASI ... 4-1
4.1 Aplikasi Pengelolaan Transaksi Penjualan (SIPOS) ... 4-1
4.1.1 Identifikasi Business Process ... 4-1
4.1.3 Analisis Service ... 4-5 4.1.4 Perancangan Service ... 4-9
4.1.5 Perancangan SCA ... 4-12
4.1.6 Implementasi SCA ... 4-15
4.2 Aplikasi Pengelolaan Data Member (SIMEMBER) ... 4-19
4.2.1 Deskripsi Umum Sistem ... 4-19
4.2.2 Use Case Model ... 4-20
4.3 Aplikasi Pengelolaan Inventaris Toko (SIBARANG) ... 4-22
4.3.1 Deskripsi Umum Sistem ... 4-22 4.3.2 Model Use Case ... 4-22 BAB 5 IMPLEMENTASI DAN PENGUJIAN APLIKASI ... 5-1
5.1 Implementasi Aplikasi ... 5-1
5.1.1 Aplikasi Pengelolaan Transaksi Penjualan (SIPOS) ... 5-1
5.1.2 Aplikasi Pengelolaan Data Member (SIMEMBER) ... 5-4
5.1.3 Aplikasi Pengelolaan Inventaris Toko (SIBARANG) ... 5-6
5.2 Pengujian Aplikasi ... 5-7
5.2.1 Aplikasi Pengelolaan Transaksi Penjualan (SIPOS) ... 5-7
5.2.2 Aplikasi Pengelolaan Data Member (SIMEMBER) ... 5-9
5.2.3 Aplikasi Pengelolaan Data Inventaris Toko (SIBARANG) ... 5-10
BAB 6 KESIMPULAN DAN SARAN ... 6-1
6.1 Kesimpulan ... 6-1
6.2 Saran ... 6-2 DAFTAR REFERENSI ... vii
vii
DAFTAR GAMBAR
Gambar 2-1. Enkapsulasi lojik dalam bentuk service [ERL05] ... 2-2 Gambar 2-2. Komponen-Komponen SOA [ERL05] ... 2-3 Gambar 2-3. Keterhubungan antar komponen SOA [ERL05] ... 2-4 Gambar 2-4. Posisi SOA pada sebuah enterprise architecture [ERL05] ... 2-5 Gambar 2-5. Layering pada SOA [ERL05] ... 2-6 Gambar 2-6. Application Service Layer [ERL05] ... 2-7 Gambar 2-7. Business Service Layer [ERL05] ... 2-8 Gambar 2-8. Orchestration Service Layer [ERL05] ... 2-9 Gambar 2-9. Fase dalam SOAD [ERL05] ... 2-9 Gambar 2-10. Contoh Kandidat Service dan Operasi pada Service [ERL05] ... 2-11 Gambar 2-11. Proses Service Oriented Design [ERL05] ... 2-12 Gambar 2-12. Contoh Service dan Service Operation yang telah didesain [ERL05] ... 2-13 Gambar 2-13. Contoh WSDL dari Service dan Service Operation [ERL05] ... 2-14 Gambar 2-14. Aplikasi SOA dengan SCA [CHA07] ... 2-15 Gambar 2-15. Domain dalam SCA [CHA07] ... 2-16 Gambar 2-16. Contoh SCA Assembly Model [OPE207] ... 2-16 Gambar 2-17. SCA Component [CHA07] ... 2-17 Gambar 2-18. Pendefinisian SCA Component di dalam SCA Composite [KAR06] ... 2-18 Gambar 2-19. SCA Composite [CHA07] ... 2-19 Gambar 2-20. Bindings pada SCA [CHA07] ... 2-20 Gambar 3-1. Metode Pembangunan Aplikasi SOA dengan SOAD dan SCA ... 3-4 Gambar 3-2. Gambaran Umum Aplikasi ... 3-6 Gambar 4-1. Business Process Penjualan Barang ... 4-2 Gambar 4-2. Use Case Diagram SIPOS ... 4-3 Gambar 4-3. Hasil Identifikasi Kandidat Service ... 4-8 Gambar 4-4. Assembly Model SCA ... 4-13 Gambar 4-5. Diagram Paket Aplikasi ... 4-16 Gambar 4-6. Diagram Kelas Per Paket ... 4-17
Gambar 4-7. Diagram Kelas Keseluruhan ... 4-18 Gambar 4-8. Deployment Diagram ... 4-19 Gambar 4-9. Diagram Use Case SIMEMBER ... 4-20 Gambar 4-10. Diagram Use Case SIBARANG ... 4-23 Gambar 5-1. Diagram SCA Composite Hasil SCA Tools ... 5-2 Gambar 5-2. Diagram Penandaan SCA Composite dalam SCA Tools ... 5-2
ix
DAFTAR TABEL
Tabel 3-1. Perbandingan kelebihan dan kekurangan SOAD dan SCA ... 3-2 Tabel 3-2. Hasil dan Metode Asal Pembangunan Aplikasi SOA dengan SOAD dan SCA ... 3-4 Tabel 4-1. Daftar Kebutuhan Fungsional Aplikasi Transaksi Penjualan ... 4-3 Tabel 4-2. Tabel Use Case Aplikasi ... 4-4 Tabel 4-3. Tabel Aktor Aplikasi ... 4-4 Tabel 4-4. Pemetaan Business Process menjadi Kandidat Task-Centric Business Service ... 4-6 Tabel 4-5. Pemetaan Use Case menjadi Kandidat Task-Oriented Business Service ... 4-6 Tabel 4-6. Kandidat Service Task-Oriented Business Process Final ... 4-7 Tabel 4-7. Daftar Kandidat Service dan Service Operation ... 4-8 Tabel 4-8. Daftar Keterhubungan SRS, Use Case, dan Service ... 4-9 Tabel 4-9. Daftar Service ... 4-10 Tabel 4-10. Daftar Service dan Service Operation ... 4-11 Tabel 4-11. Pemetaan Service menjadi Elemen SCA ... 4-12 Tabel 4-12. Pemetaan Service Operation menjadi Elemen SCA... 4-12 Tabel 4-13. Pemetaan Keterhubungan Service menjadi Elemen SCA ... 4-13 Tabel 4-14. Pemetaan Keterhubungan Elemen SCA dengan Bindings ... 4-15 Tabel 4-15. Daftar Paket Aplikasi ... 4-16 Tabel 4-16. Daftar Kelas Implementasi SCA... 4-17 Tabel 4-17. Daftar Aktor ... 4-21 Tabel 4-18. Daftar Use Case ... 4-21 Tabel 4-19. Daftar Aktor ... 4-23 Tabel 4-20. Daftar Use Case ... 4-24 Tabel 5-1. Hasil Implementasi Kelas Aplikasi Transaksi Penjualan ... 5-4 Tabel 5-2. Hasil Implementasi SCA Aplikasi Transaksi Penjualan ... 5-4 Tabel 5-3. Hasil Implementasi Aplikasi Pengelolaan Data Member (SIMEMBER) ... 5-5 Tabel 5-4. Hasil Implementasi Aplikasi Pengelolaan Inventaris Toko (SIBARANG) ... 5-7 Tabel 5-5. Pengujian Aplikasi Pengelolaan Transaksi Penjualan (SIPOS) ... 5-8 Tabel 5-6. Pengujian Aplikasi Pengelolaan Data Member (SIMEMBER) ... 5-9