Rancang Bangun Orkestrasi Web Service
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
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
• 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 .
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 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
• Berdasarkan goods receipt, dibuatlah invoice yang akan digunakan sebagai dasar untuk melakukan outgoing payment
.
Sumber :
Eseyin, K. (2006, Jule). Kehinde Eseyin's SAP Library . Retrieved October 16, 2010, from IT Toolbox: http://it.toolbox.com/blogs/sap-library/the-procure-to-pay-cycle-10574 Purchase Requisite Purchase Order Goods Receipt Invoice Outgoing Payment
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
• 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
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_webUji Coba
Orkestrasi
Web Service
Perangkat Lunak
Orkestrasi Web
Service
Service
http://10.151.31.56:8089/OCSMBPEL 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 schemaShared 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/en-us/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
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
mengakses resource yang berbeda
– memudahkan developer dalam membangun aplikasi
– SSO menggunakan centralized authenticate server ketika melakukan autentikasi untuk memastikan pengguna tidak memasukkan
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
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
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 : dengan syarat :
– Pada schema perusahaan : semua
email pengguna harus menggunakan domain perusahaan.
– Pada schema konfigurasi
multi-tenancy : 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
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
Configuration
http://10.151.31.56:8089/OCSM/singlesig non/company.xhtmlPerangkat Lunak
HRM-Test
Single Sign On
http://10.151.31.56:8089/HRM-TestSignOn/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
Journal
,
Purchase Return Approval Automatic
Invoicing Post Journal
menggunakan BPEL yang
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
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
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
Orkestrasi pada Procure to Pay
Receving Approval Automatic Invoicing
BPMN PTP Receiv ing Approv al Automatic Onv oicing
« F u n c ti o n a l D o m a in » A c c o u n t P a y a b le « F u n c ti o n a l D o m a in » I n v e n to ry from Purchasing Down Payment? Create Purchase Down Payment Invoice Purchase DP Invoice Approval automatic approval? Start Receiving Approval End yes yes « F u n c ti o n a l D o m a in » A c c o u n t P a y a b le Create Purchase Invoice End Start
automatic approval? Purchase Invoice Approval « F u n c ti o n a l D o m a in » G e n e ra l L e d g e r Start End Post Journal from transaction automatic post journal? automatic post journal? yes no
Orkestrasi pada Procure to Pay
Purchase Return Approval Automaric Invoicing
BPMN PTP Purchase Return Approv al Automatic Onv oicing
End Purchase Return Approval Start automatic approval? « F u n c ti o n a l D o m a in » A c c o u n t P a y a b le « F u n c ti o n a l D o m a in » I n v e n to ry Start End Post Journal from transaction Start Create Purchase Return Invoice End from Return Invoicing Purchase Return Invoice Approval « F u n c ti o n a l D o m a in » A c c o u n t P a y a b le « F u n c ti o n a l D o m a in » G e n e ra l L e d g e r automatic post journal?
Orkestrasi pada Order to Cash
Sales Order Automatic Invoicing
BPMN OTC Sales Order Automatic Inv oicing
« F u n c ti o n a l D o m a in » S a le s « F u n c ti o n a l D o m a in » I n v e n to ry « F u n c ti o n a l D o m a in » M a n u fa c tu re Create Sales Order Transaction End Start
Start from Sales Order Transaction create Delivery Order End Insert Production production request or
delivery? delivery order
production request « F u n c ti o n a l D o m a in » A c c o u n t R e c e iv a b le « F u n c ti o n a l D o m a in » M a n u fa c tu re « F u n c ti o n a l D o m a in » G e n e ra l L e d g e r
Start from Create Sales Order Transaction Insert Production Request End from Sales Order Down Payment?
Create Sales Down Payment Invoice
Create Sales Invoice
End Start
Sales DP Invoice Approval automatic approval?
automatic approval? Sales Invoice Approval Start End Post Journal from transaction automatic post journal? automatic post journal? yes
Orkestrasi pada Order to Cash
Sales Return Automatic Invoicing
BPMN OTC Sales Return Aprov al Automatic Inv oicing
« F u n c ti o n a l D o m a in » I n v e n to ry « F u n c ti o n a l D o m a in » S a le s Start End Sales Return Approval
Create Sales Return
« F u n c ti o n a l D o m a in » S a le s « F u n c ti o n a l D o m a in » A c c o u n t R e c e iv a b le « F u n c ti o n a l D o m a in » G e n e ra l L e d g e r
Start from End Sales Return Approval Start Create Purchase Sales Invoice End from Return Invoicing automatic approval?
Sales Return Invoice Approval Start End Post Journal from transaction automatic post journal?