Arsitektur Teknologi Informasi
Services Oriented Architectures
Tes Kecil I
System Integration System Integration SOA eBusiness SOA eBusiness Processes over WWW Processes over WWW
Business factors for Services
Business to Customer Business to Customer Internet Based Delivery
Internet Based Delivery
Computers
Protocols / Standards Local Networks
Business Interaction
B to C Disintermediation B to B B to B CollaborationPerkembangan SOA
Workflow Office 1980 1990 2000 2012 XML WS Web LAN Internet SOA EDI Mainframe?
Business Integration J2EE .NET Client / Server Web/Portal EAI B2B BPM WSService Model expanded
•
What if the two classes are not on the same
machine?
Network!
•
How can one class find another?
Service
Description
Description
•
How can a class send its’ information to the
other class?
XML
•
Do the two classes have to be on the same
Service Oriented Architecture
•
SOA adalah sebuah konsep software
architecture yang mendefinisikan penggunaan
layanan untuk mendukung kebutuhan
pengguna software.
•
Dari sisi prespektif bisnis:
•
Dari sisi prespektif bisnis:
– A service-oriented architecture is a framework for integrating business processes and supporting IT infrastructure, standardized components—
services—that can be reused and combined to address changing business priorities
Bentuk SOA
•
SOA adalah sebuah arsitektur yang
merepresentasikan
fungsi
dalam bentuk
layanan
– Mengapa fungsi?
• Karena fungsi menunjukkan abstraksi aktivitas –
• Karena fungsi menunjukkan abstraksi aktivitas – sesuatu yang secara alami dilakukan oleh
aplikasi/program, individu, dan organisasi
– Mengapa layanan?
• Karena layanan mengabstraksikan fungsi dan dapat
menunjukkan bentuk hubungan yang bermakna antara 2 pihak yang berkomunikasi (requester dan provider)
SOA dan Aplikasinya
• Ada dua arah pengembangan:
– Inward ke dalam institusi sendiri integrasi sistem-sistem yang ada untuk membangun fungsionalitas yang lebih luas
– Misal : untuk Supply Chain Management
– Misal : untuk Supply Chain Management
– Outward memanfaatkannya sebagai perluasan sistem yang ada (external network, peluang bisnis, dsb)
Penyebab SOA dan Tujuan SOA
•
Pendorong berkembangnya SOA dari sisi
bisnis:
– Large scale Enterprise systems
– Internet scale provisioning of services
– Internet scale provisioning of services
– Want to reduce the cost of doing business
•
Tujuan
–
Just-in-time integration of applications by
discovering and orchestrating network-available
SOA dan Integrasi Aplikasi/Sistem
• SOA berfungsi sebagai platform integrasi:
– SOA memisahkan antara pesan/query/call dengan pemrosesan
– Pesan/query/call distandardisasi dan tidak dikaitkan dengan sebuah produk teknologi tertentu, sehingga bisa
dikirimkan/diterima oleh siapapun dikirimkan/diterima oleh siapapun
– SOA memisahkan antara bagian publik dan bagian privat
• Bagian publik dapat diakses oleh siapapun, berupa deskripsi tentang layanan yang ditawarkan
Sifat SOA
•
SOA bersifat behind the scence,
– SOA tidak terlihat secara langsung oleh client, SOA dihadapkan pada client melalui client UI
– Digunakan untuk berkomunikasi antar aplikasi
•
SOA merupakan suatu service yang “hanya
menunggu” (listen) secara terus-menerus
untuk digunakan.
Benefits of SOA
•
Better reuse of services
– Build new client functionality on top of existing Business Services
•
Well defined interfaces
– Make changes without affecting clients
– Make changes without affecting clients
•
Easier to maintain
– Changes/Versions are ok!
•
Platform Independence
– An enterprise can leverage its existing legacy applications that reside on different types of servers
Benefits of SOA (2)
• Code Reuse
– the services can be reused in multiple applications
• Location Transparency
– Web services are often published to a directory where consumers can look them up
Better scalability
• Better scalability
– there can be multiple instances of the service running on different servers. This increases scalability
• Higher availability
– Since the location of a service does not matter and you can have multiple instances of a service, it is possible to ensure high
Prinsip-prinsip utama SOA
• Standardized service contract – by one or more service-description
documents.
• Service Loose Coupling
• Service Abstraction – Beyond descriptions in the service contract,
services hide logic from the outside world.
• Service reusability
• Service autonomy – Services have control over the logic they
encapsulate.
• Service statelessness - Services minimize resource consumption by
deferring the management of state information when necessary
• Service discoverability – Services are supplemented with
communicative meta data by which they can be effectively discovered and interpreted.
• Service composability – Services are effective composition
Implementation of SOA
• Services have platform
independent, self describing
interfaces (XML)
• Messages are formally defined (WSDL) SOA SOA SOA SOA Composable Composable
• Services can be discovered (UDDI)
• Services have quality of
service characteristics defined in
policies (SOAP)
• Services can be provided on any
platform (HTTP)
• Services can be secured (WS-Security) SOA SOA SOA SOA Interoperable Interoperable Loosely Loosely Coupled Coupled Re Re--UsableUsable
Komponen SOA
•
Layanan / Service
•
Penyedia layanan / Provider
•
Pemakai layanan / Consumer / Requester
•
Tempat penyimpanan / Registry
•
Tempat penyimpanan / Registry
Beberapa Istilah dalam SOA
• Service: suatu fungsi yang menerima satu atau lebih
request dan mengembalikan satu atau lebih response yang terdefinisi dengan baik dengan menggunakan interface yang standar.
– Service is self-contained. That is, the service maintains its own
– Service is self-contained. That is, the service maintains its own state
– Interface contract to the service is platform-independent
– Service can be dynamically located and invoked
– Pengguna service dapat menentukan service yang diperoleh untuk digunakan dalam application logic mereka.
Elements of a service
• Header – Name – Version – Owner – Type: presentation/process/business/data/intergration – Type: presentation/process/business/data/intergration • Functional– Service operation : method
– Invocation: how to invoke (SOAP/REST)
• Non functional
– Security constraints
Beberapa Istilah dalam SOA
•
Provider: bagian dalam SOA yang menyediakan
services
– Terdiri dari >= 1 service
– Harus dapat ditemukan oleh requester
– Mendaftarkan dulu ke registry
– Mendaftarkan dulu ke registry
•
Requester: bagian dalam SOA yang mencari dan
menggunakan services
– Dapat menggunakan lebih dari 1 service
– Harus dapat mencari provider
Beberapa Istilah dalam SOA
•
Registry: tempat penyimpan informasi
provider-provider yang menyediakan berbagai
services
– Berupa layanan yang listen terus menerus
– Berupa layanan yang listen terus menerus
– Bisa berbayar atau gratis
•
Query: mekanisme invocation service
– Berupa permintaan service yang bersifat standar
– Menggunakan format khusus agar dapat dibaca oleh service
Build an SOA in 8 Steps
(1) What problem are we trying to solve?
(2) What aspects can be implemented as services? Old services? New services? Legacy wrappers?
(3) Track services with registries and repositories (3) Track services with registries and repositories
(4) We need to monitor behavior, enforce policies & assess user satisfaction.
(5) Secure the services. Using established standards, we need privacy, authentication, and
Build an SOA in 8 Steps
(6) Manage the services. Are messages arriving on time? Is everything operating properly?
(7) Virtualization through mediation. Are we free to move and change the services?
(8) Design for interoperability through the adoption of (8) Design for interoperability through the adoption of
Shift From Application To A Service-Oriented Architecture • Function oriented • Build to last • Prolonged development cycles • Coordination oriented • Build to change
• Incrementally built and deployed
From
From
To
To
deployed
Application based solution Tightly coupled
Function / Object oriented Known implementation
Enterprise solutions Loosely coupled
Message oriented Abstraction
Enterprise View
Busine ss Se rv ic e s A dm i ss ions Offic e S tudent S elf - S e r vi ce W ork pla ce Onli ne R egis tr ation Age nt W ork pla ce S tudents Infor m a tion Online P r os pe c t Busine ssPartic ip ants C hanne ls
Ente rp rise Info rm atio n Syste ms
For m s E m a il Br ow s e r Se rv ic e s P roc es s S er vi ce s V is ibil ity S e rv ic es Optim ization S e rv ic es R e gistra tion A pplic a tion A dm is si ons & R ec ruitm ent S tude nt Fina nc ia ls S tudent R e cor ds Pac kage Lega cy Ext erna l S tudent S e rv ic es S uite Fi na nci al P roc es s ing D ocum e nt M ana ge m e nt (Folde rw a v e ) S c hedule M a nage m ent (S che dule 25 ) Applic a nts W ork pl ac e P a rtne r U niv e rs ity S ta ff E m ploy ee W ork pla ce Cours e Inform a tion Online E l ec tr onic B us ine s s Ga te w ay E le c tr onic B usine ss Gate w a y R e gula tor P a rtne r W ork pla ce P ar tner W or k pl ac e A nal ytic s
A na ly tic sA nal ytic s A na ly tic s
V e ndor / P ar tne r S y stem s
Inte gratio n (ESB)
Te c hnic al Se rv ic e s Te x t M e s sa ge P hone P D A Infor m ation S e rv ic es Fol de r M anage m ent C r ea te S tudent Ar chiv e S tude nt D a ta R e cor ds Le a rning U nit M a na ge m e nt S uppor t S er vi ce s
S e c ur ity S e rv ic e s S ys te m s M gm t S er v ic es V ir tual ization S e rv ic e s D ata S e rv ic e s
Ope ra tional Da ta Oper ationa l D a ta Ope ra tional Da ta Oper ationa l D a ta
Infra struc ture & Te c hno lo gy
S e curi ty S ys te m s
M anage m ent Ontology
Indus tr y Fa bric P ol ic ie s
(Folde rw a v e ) (S che dule 25 ) Blac k boa rd A ca dem ic Audit
IT Systems View
net
External
U ser Acces s Ext ernal
P rox y Internal U ser Acces s ( C horeography ) Applications (S I S , B lackboard , et c .) E nterprise Inform ation Sys tem ( O rac le F inancial , H R et c. ) I nternal Proxy W eb Applicat ion Server ESB Port al Process Serv ic es S ervice C o n su m er Servi ce Pro vid er
Business Partners (U niversities , F ed . Govt. etc .)
Services G at ew ay
Sec urity Policy S
Protocol
F irew al l D omain F irew al l
M anagem ent & Security Sec urity Servic es Service R egist ry Inform ation Servic es D at a W arehouse / Business I ntelligence D atabases F irew all ESB S ervice C o n su m er Servi ce Pro vid er
Service C o n su m er Servi ce Pro vid er
SOA challenges
• Trust
– Data from a large number of services from different partners
• TestTest
– All services work as designed?
• Security
– Is the level of security is adequate?