Rancang Bangun Orkestrasi Web Service serta Implementasi Single Sign On pada Enterprise Resource Planning (ERP)
AHMAD DZULFIKAR ADI PUTRA NRP 5107 100 088
Dosen Pembimbing Prof. Drs.Ec. Ir. Riyanarto Sarno, M.Sc, Ph.D Dwi Sunaryono, S.Kom, M.Kom
Domain Permasalahan Orkestrasi Web Service
Single Sign On pada Multi-Tenancy ERP
Rumusan Masalah “Bagaimana mengimplementasikan orkestrasi web service serta implementasi Single Sign On dalam rangka mengintegrasikan berbagai aplikasi menjadi Enterprise Resource Planning.”
Batasan Masalah • Tugas akhir ini merancang dan membuat orkestrasi dari web service pada beberapa aplikasi yang dibuat dengan berorientasikan servis untuk dapat menghsilkan ERP yang mampu menangani proses otomatisasi pada proses bisnisnya. • Single Sign On yang diimplementasikan dapat mengatasi autentikasi pengguna ERP Multi-Tenancy. • Multi-Tenancy yang diterapkan tidak termasuk multi-tenancy pada sisi web service provider. • Framework yang digunakan untuk mengintegrasikan servis yaitu Open Enterprise Service Bus (Open ESB) versi 2.3. • Framework yang digunakan untuk Single Sign On yaitu Java Open Single On (JOSSO) versi 1.8.3. • User Interface menggunakan JSF dan server yang digunakan adalah Tomcat versi 6.0.32. • Aplikasi BPEL monitoring menggunakan aplikasi yang sudah dibuat oleh Toxophily (Toxophilist, 2008)
Orkestrasi Web Service
Orkestrasi • Pada orkestrasi, terdapat sebuah proses terpusat (controller) yang mengatur semua web service yang terlibat. Orkestrasi ini pada prosesnya merupakan otomatisasi proses melalui web service. Web service tidak perlu tahu bahwa sebenarnya terlibat dalam bagian dari proses bisnis yang lebih tinggi tingkatannya karena hanya proses terpusat yang mengetahui hal ini .
Sumber : (Albreshne, Fuhrer, & Pasqueier, 2009). (Kumar, Narayan, & Ng, 2010)
Implementasi Orkestrasi Implementasi orkestrasi pada tugas akhir ini menggunakan OpenESB dan Glassfish V2 yang di dalamnya sudah ada BPEL Engine. Ada dua langkah yang harus ditempuh untuk melakukan orkestrasi, yaitu : •Membuat BPEL yang merupakan komposisi dari Web Service yang diorkestrasikan. BPEL dibuat menggunakan BPEL editor pada Netbeans 6.91 yang sudah dibundling dengan Open ESB v2.3. •Membuat Composite Application yang di dalamnya terdapat hasil BPEL. Composite Application kemudian dideploy pada Glassfish ESB v2.1 yang didalamnya sudah terdapat BPEL Engine.
Procure to Pay • Proses Procure-to-Pay (PTP) merupakan proses pembelian barang dari supplier sampai dengan pembayaran pada supplier. • Idealnya proses PTP dimulai dengan membuat purchase requisite kemudian barulah dibuat purchase order. • Setelah barang diterima maka dibuatlah goods receipt berdasarkan purchase order yang telah dibuat. • Berdasarkan goods receipt, dibuatlah invoice yang akan digunakan sebagai dasar untuk melakukan outgoing payment.
Purchase Requisite
Purchase Order
Goods Receipt
Outgoing Payment
Invoice
Sumber : Eseyin,
K.
(2006,
Jule).
Kehinde
Eseyin's
SAP Library
.
Retrieved
http://it.toolbox.com/blogs/sap-library/the-procure-to-pay-cycle-10574
October
16,
2010,
from
IT
Toolbox:
Order to Cash • Order to Cash (OTC) merupakan proses bisnis pemesanan barang oleh customer sampai dengan pembayaran. • Proses OTC dimulai dari pelanggan memesan barang sehingga dibuatlah order entry, dari order entry kemudian dipenuhilah permintaan pemesanan customer. • Setelah pemesanan terpenuhi maka dibuatlah order fulfillment. • Setelah barang yang dipesan siap maka dilakukanlah proses distribution yaitu barang dikirim pada customer. • Berdasarkan distribution maka dibuatlah invoice yang digunakan sebagai dasar customer untuk melakukan customer payment.
Order Entry
Order Fulfillment
Distribution
Invoice
Customer Payment
Orkestrasi pada Procure to Pay Receving Approval Automatic Invoicing Purchase Return Approval Automaric Invoicing
Orketrasi pada Order to Cash Sales Order Automatic Invoicing Sales Return Approval Automaric Invoicing
BPEL Monitoring Web Application
• Dikembangkan oleh Toxophylist
Sumber : http://blogs.oracle.com/toxophily/entry/o pen_esb_tip_simple_web
Uji Coba Orkestrasi Web Service Perangkat Lunak Orkestrasi Web Service http://10.151.31.56:8089/OCSM
BPEL Monitoring Web Application http://10.151.31.56:8080/BPEL2SVGMoni torWebApplication/
Single Sign On pada Multi-Tenancy ERP
Multi Tenancy •
Ada beberapa komponen yang dapat di “multi-tenant”-kan, seperti application code, operating system, data storage software, and computing resources
•
Ada tiga pendekatan dalam hal arsitektur data untuk multi-tenancy yaitu : – Separate database – Shared database-separate schema – Shared database-shared schema
Sumber : Chong, F., Carraro, G., & Wolter, R. (2006, June). Multi Tenant Data Architecture. Retrieved April 2011, from MSDN Microsoft: http://msdn.microsoft.com/enus/library/aa479086.aspx
Model Penerapan Multi Tenancy pada ERP • Pada tugas akhir ini ada beberapa hal Ada beberapa hal yang harus diperhatikan, yaitu : – ERP terdiri dari beberapa aplikasi web yang saling berkaitan – Database yang digunakan terdapat di satu tempat – Tiap perusahaan mempunyai data yang terpisah dengan perusahaan lain. – Saat pengguna masuk ke sistem akan diarahkan untuk mengakses aplikasi dengan koneksi database yang tepat
Single Sign On • SSO merupakan teknologi yang mengizinkan pengguna untuk mengakses resource dalam jaringan hanya dengan menggunakan satu akun. • Keuntungan yang didapat dari penggunaan SSO (Dickson & Nallannagari, 2007) yaitu : – pengguna tidak perlu melakukan sign-on berulangkali ketika mengakses resource yang berbeda – memudahkan developer dalam membangun aplikasi – SSO menggunakan centralized authenticate server ketika melakukan autentikasi untuk memastikan pengguna tidak memasukkan informasinya lebih dari sekali.
Model Penerapan Single Sign On Framework SSO yang digunakan yaitu Java Open Single Sign On yang dikembangkan oleh Atricore Penerapan JOSSO memiliki arsitektur yang terdiri dari 3 bagian yaitu – Gateway Server : bagian ini berperan sebagai gateway/ sentral dari autentikasi layanan sign-on. – Persistence : bagian ini merupakan data-store dimana credential pengguna disimpan. – Agent Server : bagian ini terdiri dari Partner Application yaitu aplikasi yang di SSO-kan, dan JOSSO Agent sebagai penghubung antara Partner Application dengan JOSSO Gateway.
Model Penerapan Single Sign On untuk Multi Tenancy •
•
Yang menjadi masalah adalah SSO yang digunakan tidak mendukung permasalahan multi-tenancy Solusinya, credential yang digunakan oleh pengguna untuk masuk ke sistem menggunakan email dan password dengan syarat : – Pada schema perusahaan : semua email pengguna harus menggunakan domain perusahaan. – Pada schema konfigurasi multitenancy : Domain perusahaan haruslah sama dengan domain email yang digunakan oleh pengguna pada perusahaan tersebut
Service yang disediakan User Authentication SSO • dirancang menyediakan layanan untuk dapat mengetahui informasi dari pengguna yang melakukan login / sign in pada sistem • Informasi yang disediakan •Company Name •Company Type •DB Connection •DB Password •DB Username
•Branch ID •Branch Name •Real Name •Job Titles
Uji Coba Single Sign On Perangkat Lunak Multi-Tenancy Configuration http://10.151.31.56:8089/OCSM/singlesig non/company.xhtml
Perangkat Lunak HRM-Test Single Sign On http://10.151.31.56:8089/HRMTestSignOn/
Kesimpulan Aplikasi Orkestrasi Web Service • Aplikasi Orkestrasi Web Service telah dapat menangani otomatisasi proses pada Procure to Pay yaitu Receiving Approval Automatic Invoicing Post Journal, Purchase Return Approval Automatic Invoicing Post Journal menggunakan BPEL yang kemudian dideploy pada BPEL-Engine
Kesimpulan Aplikasi Multi-Tenancy Single Sign On • Aplikasi Multi-Tenancy Single Sign On mampu menangani autentikasi pengguna secara terpusat serta mampu menangani mekanisme pembatasan hak akses sesuai user-role pengguna. • Aplikasi Multi-Tenancy Single Sign On mampu menangani perubahan koneksi ke database sesuai informasi database connection yang didapat dari hasil autentikasi pengguna.
Saran Aplikasi yang dibangun dalam tugas akhir ini masih memiliki kekurangan. Untuk itu penulis memberikan saran untuk pengembangan aplikasi lebih lanjut sebagai berikut : – Untuk pengembangan lebih lanjut dalam menangani mekanisme multi-tenancy aplikasi penyusun ERP secara keseluruhan, meliputi web application dan web service provider, diperlukan konfigurasi lebih lanjut pada sisi web service provider. – Untuk pengembangan lebih lanjut diharapkan aplikasi Orkestrasi Web Service dapat menangani otomatisasi proses pada Order to Cash yaitu Sales Order Automatic Invoicing Post Journal, dan Sales Return Automatic Invoicing Post Journal menggunakan BPEL yang kemudian dideploy pada BPEL-Engine
Terima Kasih
Orkestrasi pada Procure to Pay «Functional Domain» Inventory
Receving Approval Automatic Invoicing
«Functional Domain» Account Payable
BPMN PTP Receiv ing Approv al Automatic Onv oicing
Receiving Approval
Start
End
Down Payment?
from Purchasing
automatic approval?
yes
Create Purchase Down Payment Invoice
yes
Purchase DP Invoice Approval
Start
no
Create Purchase Invoice
automatic approval? yes
Purchase Invoice Approval End
«Functional Domain» General Ledger
automatic post journal?
Post Journal
Start
from transaction
End
automatic post journal?
Orkestrasi pada Procure to Pay Purchase Return Approval Automaric Invoicing
«Functional Domain» General Ledger
«Functional Domain» Account Payable«Functional Domain» Inventory
BPMN PTP Purchase Return Approv al Automatic Onv oicing
Purchase Return Approval Start
End
automatic approval? Create Purchase Return Invoice Start
Purchase Return Invoice Approval End
from Return Invoicing
automatic post journal?
Post Journal
Start
from transaction
End
Orkestrasi pada Order to Cash Sales Order Automatic Invoicing Create Sales Order Transaction
Start
End
production request or delivery?
«Functional Domain» Inventory
«Functional Domain» Sales
BPMN OTC Sales Order Automatic Inv oicing
create Delivery Order End
from Sales Order Transaction
Start
«Functional Domain» Manufacture
«Functional Domain» Account Receivable
delivery order
production request
Insert Production Request Start
from Sales Order
from Create Sales Order Transaction
Down Payment?
End
automatic approval?
yes
Create Sales Down Payment Invoice
Sales DP Invoice Approval
Start
Create Sales Invoice
automatic approval?
Sales Invoice Approval End
«Functional Domain» General Ledger
automatic post journal?
automatic post journal?
Post Journal
Start
from transaction
End
Orkestrasi pada Order to Cash Sales Return Automatic Invoicing
«Functional Domain» General Ledger
«Functional Domain» Account Receivable«Functional Domain» Sales
«Functional Domain» Inventory
BPMN OTC Sales Return Aprov al Automatic Inv oicing
Sales Return Approval End
Start
Create Sales Return
Start
End
from Sales Return Approval
automatic approval? Create Purchase Sales Invoice Start
Sales Return Invoice Approval End
from Return Invoicing
automatic post journal?
Post Journal
Start
from transaction
End
BPEL Orkestrasi Receiving Aproval