bisa mempermudah integrasi sistem atau aplikasi bisnis? Seperti kita tahu, eBdesk juga mengimplementasikan produkprodukny dengan berorientasi service. Bagaimana integrasi produk-produk eBdesk dapat dilakukan dalam membangun sebuah solusi baru?
Kita ingat kembali, apa itu SOA? Service Oriented Architecture (SOA) hingga saat ini masih merupakan topik hangat untuk bahan perbincangan terutama dari segi bisnis, yaitu terkait kesiapan implementasi SOA dalam lingkungan bisnis tertentu, serta nilai yang didapat dari investasi implementasi SOA tersebut. Dari tinjauan teknis pengembangan sistem, tidak ada perubahan besar yang diusung konsep SOA namun bagaimanapun juga SOA telah memberi dampak yang cukup besar dalam pengembangan sistem dan bisnis.
Dalam pengembangan sistem secara umum, sistem didekomposisi menjadi komponenkomponen
sistem yang berkolaborasi. Dalam sistem yang mengimplementasikan SOA, komponen-komponen sistem yang berkolaborasi tersebut adalah berupa web service (service provider) dan service consumer (service client). Fungsionalitas sistem dinyatakan dengan penggunaan web service, baik hanya satu web service atau komposisi beberapa web service. Tiap web service
menawarkan fungsionalitas tertentu terkait suatu fungsi bisnis. Web service tersebut mempublikasikan fungsi bisnis– fungsi bisnis apa saja yang ditawarkan (dalam bentuk WSDL), sehingga service consumer dapat memanfaatkan service tersebut. Pendekatan ini memberi beberapa keuntungan:
•Decoupling. Ketergantungan service
consumer terhadap provider kecil. Masingmasing
dapat dikembangkan secara
terpisah. Service consumer bisa memanfaatkan
lebih dari satu web service, se-hingga dapat dikembangkan untuk menangani proses
bisnis baru. Web service dapat dikembangkan tanpa
mempengaruhi consumer-nya, karena web service tidak
untuk didedikasikan pada satu consumer saja.
•Peningkatan Reusability. Dalam implementasi SOA, web
service didesain untuk tidak hanya melayani satu atau
satu jenis consumer. Web service akan dapat dipakai
secara umum oleh banyak consumer. Hal ini juga yang
nantinya akan mendorong penyedia service untuk meningkatkan
terus tingkat reusability service-nya agar dapat
digunakan oleh semakin banyak consumer.
•Kemudahan integrasi sistem. Penggunaan standar yang
intensif pada sistem yang mengimplementasikan SOA
(antara lain HTTP, SOAP), serta peningkatan reusability
service memudahkan sistem-sistem yang berbasis SOA
untuk diintegrasikan.
Bagaimana aplikasi diintegrasikan?
Ada 3 pola dasar dalam mengintegrasikan sistem atau
aplikasi (basic integration pattern) [1]:
•Data Consistency. Dengan pola ini, sistem diintegrasikan
dengan melakukan integrasi data yang digunakan oleh
masing-masing aplikasi yang diintegrasikan. Contoh
integrasi data aplikasi atau sistem adalah adanya sinkronisasi
database yang digunakan oleh masing-masing
aplikasi. Untuk pola integrasi seperti, ada beberapa hal
yang harus diperhatikan:
> Setiap perubahan data di salah satu aplikasi harus
disinkronkan dengan aplikasi lain
> Diperlukan adanya transformasi struktur data antar
sistem/aplikasi
> Setiap transfer data harus dijamin keamanannya
Karakteristik umum untuk pola ini antara lain:
> Melibatkan lebih dari satu proses bisnis, pada masingmasing
sistem atau aplikasi ada proses yang harus dijalankan
> Masing-masing proses bisnis (pada tiap aplikasi atau
sistem) tidak saling bergantung, dan dapat berlangsung
secara paralel
> Secara fisik dan lojik, masing-masing aplikasi tidak
saling bergantung
•Multi-step Process. Pola integrasi ini mirip dengan pola
data consistency, namun hanya melibatkan satu proses
bisnis.
Karakteristik umum pola ini antara lain:
> Integrasi ditujukan untuk satu proses bisnis
> Satu proses bisnis tersebut melibatkan beberapa langkah
pengerjaan manual, yaitu pengerjaan pada masingmasing
sistem atau aplikasi, tapi masing-masing langkah
saling bergantung > Proses bersifat searah dan asynchronous
> Secara fisik masing-masing sistem bisa terpisah, tetapi
secara lojik saling bergantung
Contoh untuk pola integrasi ini adalah integrasi sistem pelayanan pemesanan lewat internet dengan sistem validasi kartu kredit berbasis e-mail. Untuk tiap pesanan yang masuk,penyedia jasa harus mengirim email verifikasi kartu kredit,dan menunggu hasil verifikasi. Jika verifikasi berhasil, maka dilakukan pemesanan ke penyedia barang, dan data di sistem pelayanan pemesanan harus di-update.
•Composite Application. Pola integrasi ini lebih kompleks dari pola multi-step process, karena menyederhanakan multistep process menjadi hanya satu langkah pengerjaan manual untuk tiap proses bisnis.
Bagaimana dukungan SOA terhadap integrasi aplikasi? Sistem yang mengimplementasikan SOA akan lebih mudah diintegrasikan termasuk dengan pola integrasi composite application, karena sistem sudah didekomposisi menjadi service-service yang siap untuk digunakan. Dukungan standar untuk protokol invokasi service (HTTP, SOAP) juga semakin
memudahkan proses integrasi. Bagaimana dengan integrasi produk eBdesk? Produk-produk eBdesk secara umum telah mengadopsi prinsip SOA dalam implementasinya. Ada beberapa web-service yang siap untuk digunakan, diintegrasikan untuk membangun satu solusi atau proses bisnis baru. Sebagai contoh sederhana, kita akan bahas kasus Docflow.
Docflow adalah sistem yang menggabungkan eBdesk eNcyclo Document Management (DM) dengan eBdesk eXpedition Workflow Management System (WF). Dengan Docflow, kita dapat membuat flow terkait document lifecycle, misalnya
adanya approval untuk setiap perubahan status dokumen baik berupa upload dokumen baru, revisi, penghapusan, maupun pengarsipan. Bagaimana Docflow diimplementasikan? Untuk mengimplementasikan Docflow, yang harus dilakukan adalah dengan membangun penghubung
(bridge) eNcyclo dengan eXpedition. Penghubung inilah
yang diberi nama DM-WF bridge. Keuntungan dari DocFlow adalah:
•Dokumen dapat dikelola dengan lebih teratur, dalam 1 access point
•Workflow dapat dimanfaatkan untuk mengelola siklus hidup dokumen, misalnya dalam tahap pembuatan, revisi/versioning, publishing, penghapusan, pengarsipan, sehingga perubahan dokumen dapat dikontrol Integrasi eNcyclo dan eXpedition dilakukan dengan dua tahap, yaitu (i) tahap pendefinisian flow, dan (ii) tahap eksekusi atau penggunaan flow dalam operasional Docflow.
Pada tahap pertama, kita definisikan PD (eBdesk eXpedition Process Definition) untuk approval dokumen draft. PD ini mendefinisikan bagaimana urutan langkah (aktivitas) dan siapa yang berhak melakukan hingga dokumen memperoleh approval. PD yang terdefinisi dapat langsung di-upload ke WF (Design) Engines sehingga siap digunakan.
Adapun untuk skenario operasional Docflow dapat digambarkan sebagai berikut:
•Ketika pengguna melakukan upload dokumen ke DM, DM-WF akan mendapat notifikasi
•DM-WF Bridge kemudian melakukan request ke WF Core Engine, untuk menginisiasi transaksi baru, yaitu transaksi approval dokumen draft
•Sesuai dengan Flow (PD) yang telah terdefinisi sebelumnya,WF system akan memproses transaksi hingga selesai
•Setelah flow dieksekusi oleh WF Engines, DM-WF Bridge akan mendapat notifikasi
•DM-WF Bridge kemudian melakukan request ke WF Core Engine, untuk memperoleh dokumen yang akan diproses dalam flow approval. Hal ini dilakukan jika dalam flow approval, dokumen mengalami perubahan misal penambahan watermark terkait status approval
•Dokumen yang diperoleh dari WF Engines kemudian disubmit
kembali oleh DM-WF Bridge ke DM Kasus Docflow diatas adalah hanya kasus sederhana,yang masih terbuka untuk pengembangan lebih lanjut. Peluang integrasi produk-produk eBdesk pun masih terbuka lebar termasuk integrasi dengan legacy system.