Anda di halaman 1dari 18

COMP8006 Services Oriented Architecture

LECTURE NOTES

Customer Data Integration (CDI)

Dr Ford Lumban Gaol


fgaol@binus.edu
COMP8006 Services Oriented Architecture

LEARNING OUTCOMES

1. Peserta diharapkan mampu Menggunakan Widnows Workflow Foundation

2. Peserta diharapkan mengerti fungsi SOA orchetra pada Pengembangan Customer Data
Integration (CDI).

OUTLINE MATERI :

1. Memanggil Webservice dalam Workflow Foundation

2. SOA orchetra pada Pengembangan Customer Data Integration (CDI).

3.
COMP8006 Services Oriented Architecture

ISI MATERI
Cutomer Data Integration dengan Menggunakan Windows Workflow Foundation Sebagai

Implementasi Orchestarian SOA

Service Oriented Architecture atau dikenal dengan SOA, beberapa tahun ini seperti

menjadi trend dikalangan pengembang system sekala besar. Memang dengan menggunakan

konsep SOA, pengembang dipermudah dalam hal fleksibelitas terutama di perubahan bisnis

proses, yang boleh jadi ini menjadi momok bagi pengembang system. Dalam pengembangan

konsep SOA, dikenal dengan adanya konsep Orchestarian, yang menggambarkan pengaturan

suatu system komputasi yang komplek yang terdiri atas midletier dan service secara

otomatis,terkoordinasi dan termanage. Dikatakan sebagai orchestra, karena sama dengan

orchestra di musik, dimana seorang konduktor dalam hal ini adalah system analist,

menggabungkan berbagai macam jenis alat musik yaitu service dan aplikasi midletier lainnya,

menjadi komposisi suatu musik, atau system yang harmoni dan terkontrol. Dimana perubahan

nada , direpresentasikan berupa Bisnis Proses dapat di imbangi oleh berbagai macam alat musik

atau service yang ada. Saat ini sudah banyak aplikasi-aplikasi bantu untuk mempermudah
COMP8006 Services Oriented Architecture

managemen SOA, mulai dari BPEL nya SUN/ORACLE, BIZZTALK disisi Microsoft,

WEBSPHERE dari IBM dan lain sebagainya yang mana semuannya adalah hanya berupa alat

bantu. Inti dari segala yang ada adalah proses dalam hal ini yang berperan dalam proses adalah

service atau aplikasi midletier lainnya . Ada suatu pendapat yang pernah menjadi masukan

sebelum kita melangkah ke implementasi SOA

SOA seringkali disamakan dengan Web Services, padahal keduanya adalah hal yang

sangat berbeda. SOA merupakan konsep pengembangan perangkat lunak yang melakukan partisi

sistemnya menjadi beberapa servis yang dapat berdiri secara independen, sementara Web

Services merupakan aplikasi web yang berkomunikasi dengan aplikasi web services lainnya

untuk tujuan pertukaran data. SOA tidak harus menggunakan Web Services untuk

implementasinya, namun menggunakan Web Services untuk implementasi SOA, merupakan

langkah yang baik, sebab teknologi Web Services sangat cocok untuk SOA.

Dari pernyataan tersebut kita dapat ambil kesimpulan bahwa inti dari konsep SOA adalah

bagaimana kita memisah misah suatu system menjadi service - service. Service adalah proses

dari pekerjaan, dan untuk menjadi suatu system secara keseluruhan diperlukan suatu alur kerja

atau alur proses yang di sebut dengan workflow atau yang kita kenal dalam keseharian dengan

nama bisnis proses.

Jadi Apa itu workflow ? , Workflow adalah : The automation of business processes, in

whole or in part, during which documents, information or tasks are passed from one participant

to another for action according to a set of procedural rules (Rob Allen, Chairman of Open Image

Systems Inc., UK) boleh jadi kalau diawal kita tadi membicarakan yang namanya Orchestra

SOA, maka workflow adalah ajang dimana seorang system analist melakukan aransemen system
COMP8006 Services Oriented Architecture

sebelum melakukan orchestra. Nah sekarang bagaimana sebenarnya implementasi dari Workflow

dan Service di aplikasikan ? Dikalangan pengembang system berbasis . NET, terdapat teknologi

yang dinamakan Windows Workflow Foundation atau disingkat WWF Atau WF dimana teknologi

ini sudah relatif lama direlease oleh Microsoft dan sudah ada di Visual Studio 2008. Selanjutnya

kita coba mempelajari kolaborasi antara Workflow Foundation dan Service dengan menggunakan

tool Visual Studio 2010.

1. Memanggil Webservice dalam Workflow Foundation

Ada sedikit perbedaan jika Windows Workflow Foundation (WWF) dikolaborasikan

dengan Webservice Application (Webservice) dengan jika dikolaborasikan dengan Windows

Communication Foundation (WCF), kita akan coba satu persatu , kita awali dengan webservice

yang relatif sederhana dahulu. Kita akan buat Webservice , yaitu operasi matematika sederhana

seperti penjumlahan, pengurangan, perkalian dan pembagian dengan dua parameter sebagaimana

source berikut:

Imports System.Web.Services

Imports System.Web.Services.Protocols

Imports System.ComponentModel

<System.Web.Script.Services.ScriptService()> _

<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _

<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _

<ToolboxItem(False)> _

Public Class Service1


COMP8006 Services Oriented Architecture

Inherits System.Web.Services.WebService

<WebMethod()> _

Public Function tambah(ByVal x As Decimal, ByVal y As Decimal) As Decimal

Dim hsl As Decimal

hsl = x + y

Return hsl

End Function

<WebMethod()> _

Public Function kurang(ByVal x As Decimal, ByVal y As Decimal) As Decimal

Dim hsl As Decimal

hsl = x - y

Return hsl

End Function

<WebMethod()> _

Public Function kali(ByVal x As Decimal, ByVal y As Decimal) As Decimal

Dim hsl As Decimal

hsl = x * y

Return hsl

End Function
COMP8006 Services Oriented Architecture

<WebMethod()> _

Public Function bagi(ByVal x As Decimal, ByVal y As Decimal) As Decimal

Dim hsl As Decimal

hsl = x / y

Return hsl

End Function

End Class

Jalankan , jika sukses selanjutnya kita publish ke IIS

Selanjutnya kita buat Workflow Foundation yang akan memanggil webservice diatas,

seperti biasa buka Visual Studio 2010 menu New Project Visual Basic Workflow

WCF Workflow Service Foundation sebagai mana gambar berikut


COMP8006 Services Oriented Architecture

New Project

Selanjutnya akan tampil area kerja seperti biasa sebagaimana gambar berikut

Selanjutnya Klik bagian Sequential Service selanjutnya hapus komponen tersebut,

rencananya kita akan menggunakna tipe flowchart untuk membuat service kita

Setelah komponen Sequential service dihapus , drug and drop Tool di kelompok

flowchart Flowchart masukkan ke daerah yang bertuliskan Drop Activity Here,

selanjutnya akan tampil sebagaimana gambar berikut


COMP8006 Services Oriented Architecture

Karena kita akan membuat Service berbasis WWF , yang diperlukan selanjutnya adalah

menentukan Message apa yang akan di terima oleh service kita dan message apa yang

akan dihasilkan oleh service kita , Untuk itu masuk ke area

toolbox Messaging Receive , drug & drop komponen tersebut, fungsi komponen

tersebut adalah sebagai pintu input dan output dari service kita, atau dengan kata lain

receive adalah header dari function yang akan kita buat , setelah kita drug & drop kita

arahkan alur dari start ke arah komponen Receive sebagaimana gambar berikut
COMP8006 Services Oriented Architecture

Selanjutnya kita beri nama pada properti operationname dari komponen receive kita.

Selanjutnya klik kanan Receive pilih property , masuk ke property CanCreateInstance,

kita akan memberi nilai True untuk property ini yaitu dengan menyentang checkbox yang

terdapat dalam property tersebut sebagaimana gambar berikut


COMP8006 Services Oriented Architecture

Selanjutnya kita siapkan parameter fungsi dan variabel-variabel sebagai penampung

sementara data, create variabel , kita siapkan variabel Var1 & Var2 bertipe decimal untuk

penampung parameter dan hsl untuk penampung nilai kembalian, selanjutnya kita

siapkan parameter fungsi kita, klik property content di komponen Receive, Selanjutnya

akan tampil windows baru , kita pilih parameter , selanjutnya kita akan membuat

parameter-parameter untuk service kita , kita siapkan 3 parameter untuk fungsi kita yaitu

2 bertipe decimal sebagai variabel operasi mastematika kita nanti dan 1 untuk parameter

pemilihan jenis operasi matematika sebagaimana gambar berikut


COMP8006 Services Oriented Architecture

Dari tampilan diatas dapat diartikan bahwa parameter param1 yang bertipe decimal akan

kita tampung di variabel var1 demikian juga param2 di var2 selanjutnya kita ok untuk

kembali ke area kerja kita.

Selanjutnya kita akan memanggil webservice yang kita buat sebelumnya yang berisi

fungsi-fungsi matematika sederhana , sama dengan pemanggilan webservice lainnya

dipemrograman basis .NET , kita tinggal klik kanan di solution , selanjutnya add web

reference selanjutnya kita isi dengan alamat webservice kita sebagaimana gambar berikut

:
COMP8006 Services Oriented Architecture

Selanjutnya kita siapkan variabel untuk menampung object dari service kita, create

variabel selanjutnya untuk type variabel klik tipe , selanjutnya pilih Browse for types

selanjutnya pilih type dari service kita sebagaimana gambar berikut :


COMP8006 Services Oriented Architecture

Selanjutnya kita siapkan inisialisasi object di sisi variabel sebagaimana berikut :

Nah setelah ini kita siapkan service kita, pertama kita siapkan dahulu nilai kembalian dari

service kita , caranya klik kanan pada komponen receive pilih create send

reply selanjutnya akan terbentuk komponen sendreplytoreceive selanjutnya kita siapkan

nilai dari output service kita, klik content selanjutnya akan keluar windows content

description rencana variabel hsl akan kita jadikan nilai kembalian dari service kita , maka

kita isi type jenis message di content description di bagian message data dengan nilai hsl

yaitu variabel nilai kembalian dan bagian message type dengan system.decimal

sebagaimana gambar berikut

Selama ini kita membuat program lebih banyak berupa source, atau dalam bentuk visual,

di WWF kita membuat program seolah olah kita membuat flowchart, dimana kita

menentukan alur dari system kita, sebab WWF didesain untuk organisasi service dan juga
COMP8006 Services Oriented Architecture

implementasi bisnis proses. Kita akan coba membuat service dimana kita akan

melakukan pengecekan isi parameter sts , kita masuk ke area kerja kita, masuk ke toolbox

, masuk ke group flowchart , pilih komponen flowdecision , drug and drop ke area kerja

kita , selanjutnya isi properti condition dengan sts=1 sebagaimana gambar berikut

selanjutnya kita hubungkan receive ke flowdecision kita drug & drop 2 komponen ab

assign yang ada di toolbox primitives, selanjutnya isi di komponen pertama dengan hsl =

servicex.tambah(var1,var2) dan untuk komponen 2 isi dengan

hsl=servicex.kurang(var1,var2) selanjutnya untuk nilai true dari flowdecision hubungkan

dengan komponen ab assign pertama dan nilai false hubungkan dengan komponen

kedua, selanjutnya hubungkan kedua komponen tersebut ke komponen

sendreplytoreceive sebagaimana gambar berikut


COMP8006 Services Oriented Architecture

Jika telah selesai , jalankan program kita , jika Ok, maka kita telah membuat satu service

dari WCF Workflow Service Application dengan menghubungkan WWF dengan

Webservice dan menghasilkan WCF .


COMP8006 Services Oriented Architecture

SIMPULAN

SOA seringkali disamakan dengan Web Services, padahal keduanya adalah hal yang

sangat berbeda. SOA merupakan konsep pengembangan perangkat lunak yang melakukan partisi

sistemnya menjadi beberapa servis yang dapat berdiri secara independen, sementara Web

Services merupakan aplikasi web yang berkomunikasi dengan aplikasi web services lainnya

untuk tujuan pertukaran data. SOA tidak harus menggunakan Web Services untuk

implementasinya, namun menggunakan Web Services untuk implementasi SOA, merupakan

langkah yang baik, sebab teknologi Web Services sangat cocok untuk SOA.

Dari pernyataan tersebut kita dapat ambil kesimpulan bahwa inti dari konsep SOA adalah

bagaimana kita memisah misah suatu system menjadi service - service. Service adalah proses

dari pekerjaan, dan untuk menjadi suatu system secara keseluruhan diperlukan suatu alur kerja

atau alur proses yang di sebut dengan workflow atau yang kita kenal dalam keseharian dengan

nama bisnis proses.


COMP8006 Services Oriented Architecture

DAFTAR PUSTAKA

1. Service-Oriented Architecture: Concepts, Technology, and Design, By Thomas Erl,


2005, Publisher: Prentice Hall PTR.

2. Understanding SOA with Web Services , By Eric Newcomer, Greg Lomow , 2004,
Publisher : Addison Wesley Professional

3. Service-Oriented Architecture Governance for the Services Driven Enterprise, By Erick


Marks, 2006, John Wiley

4. Patterns: Implementing an SOA Using an Enterprise Service Bus. By Martin Keenet al,
2009., RedBook

5. Applied SOA: Service-Oriented Architecture and Design Strategies By Mike Rosen.


John Wiley

1.

Anda mungkin juga menyukai