Your SlideShare is downloading. ×
0
middleware.or.id MULE   sebagai middleware   Mendukung   Enterprise Application Integration  & Architecture Dipresentasika...
General Application Architecture Client Core System Other Client Apps. External Parties & Extranet & Internets (Other Fron...
Next Integration Architecture Client Core System Other Client Apps. External Parties & Extranet & Internets (Other Front-E...
Presentation Topic Middleware ? Mule ESB sebagai Middleware Simple implementation
<ul><li>Middleware secara umum adalah  sebuah aplikasi perangkat lunak/software application yang terdiri dari sekumpulan l...
<ul><li>Definisi secara lebih khusus, diantaranya bisa diartikan sebagai berikut : </li></ul><ul><li>Middleware merupakan ...
Definisi Middleware <ul><li>Tipe layanan middleware yang ada sekarang ini : </li></ul><ul><ul><li>Object Request Brokers (...
ESB – Konsep Middleware Generasi Terbaru ESB merupakan layanan yang menawarkan : Highly distributed event-driven Service O...
Refactoring To ESB
Refactoring To ESB
MULE  - Symphony Soft Why MULE ? <ul><li>Open Source ESB generasi pertama, dengan license yang benar2 bebas digunakan. </l...
MULE  - Arsitektur ESBus -  Transport Provider / Connector -  Endpoint -  Transformer -  Interceptor -  Message Routers - ...
MULE Sample Implementation ESBus http Trx. Logger tcp Mw. Output Bridge tcp Input-Output-From-Socket-Server HttpPaymentReq...
SEWU Middleware Project <mule-descriptor name=&quot;HttpPaymentRequestChannel&quot; implementation=&quot;middlewareorid.pa...
SEWU Middleware Project <outbound-router> <router className=&quot;org.mule.routing.outbound.OutboundPassThroughRouter&quot...
SEWU Middleware Project <connector name=&quot;IsoClientConnector&quot;  className=&quot;org.mule.providers.tcp.TcpConnecto...
SEWU Middleware Project <transformer name=&quot;HttpRequestToString&quot;  className=&quot; middlewareorid.transformers.Ht...
SEWU Middleware Project <inbound-router> <endpoint address=&quot;queue.telkom.bridge&quot;/> </inbound-router> <outbound-r...
SEWU Middleware Project <interceptor-stack name=&quot;default&quot;> <interceptor className=&quot;org.mule.interceptors.Lo...
MULE IN ACTION … DEMO SESSION Kolaborasi.FORGE
Upcoming SlideShare
Loading in...5
×

Mule EAI

2,377

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,377
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
117
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Mule EAI"

  1. 1. middleware.or.id MULE sebagai middleware Mendukung Enterprise Application Integration & Architecture Dipresentasikan untuk : JUG.or.id Community Jakarta, Mei 2006
  2. 2. General Application Architecture Client Core System Other Client Apps. External Parties & Extranet & Internets (Other Front-End) Internal Core System Card System SAP: FIN, HR, CRM, etc Technology, People and Procedure Front-End & App Logic POP3, SMTP, SMSC, MIME, DOC, HTTP/S, WS*, FTP, ISO8583, XML, … S W I T C H (Other Server) (Other Server) Internal Messaging DAO XML I S O I S O FILE XML Internal Messaging/Formst ATM / EDC
  3. 3. Next Integration Architecture Client Core System Other Client Apps. External Parties & Extranet & Internets (Other Front-End) Internal Core System Card System SAP: FIN, HR, CRM, etc Technology, People and Procedure POP3, SMTP, SMSC, MIME, DOC, HTTP/S, WS*, FTP, ISO8583, XML, … S W I T C H ATM / EDC X-Middleware
  4. 4. Presentation Topic Middleware ? Mule ESB sebagai Middleware Simple implementation
  5. 5. <ul><li>Middleware secara umum adalah sebuah aplikasi perangkat lunak/software application yang terdiri dari sekumpulan layanan/service yang memungkinkan beberapa proses berjalan dalam satu atau lebih komputer, untuk saling berinteraksi dan bekerja sama dalam suatu jaringan komputer. </li></ul><ul><li>(definisi Mark Bray, Carnegie Mellon – Software Engineering Institute , www.sei.cmu.edu). </li></ul>Definisi Middleware
  6. 6. <ul><li>Definisi secara lebih khusus, diantaranya bisa diartikan sebagai berikut : </li></ul><ul><li>Middleware merupakan suatu aplikasi perangkat lunak yang ‘ berada di tengah ’ aplikasi-aplikasi lain yang saling berinteraksi dan memainkan aturan dalam suatu jaringan client dan server . </li></ul><ul><li>Middleware merupakan suatu aplikasi yang yang memungkinkan berbagai bagian aplikasi terdistribusi untuk saling beroperasi, tidak bergantung secara teknologi yang dibuat dalam lapisan aplikasi ( atau platform ) yang berbeda tanpa melihat kompleksitas maupun keragaman teknologi ataupun perangkat jaringan yang ada, system operasi komputer dan bahasa pemrograman yang digunakan. </li></ul><ul><li>Middleware merupakan sebuah aplikasi yang memudahkan para developer aplikasi dengan menyediakan sekumpulan fungsi-fungsi baku yang bisa digunakan dalam proses pembentukan aplikasi secara keseluruhan. </li></ul>Definisi Middleware Server Host Client Host LAN WAN W-LAN CLIENT SERVER Middleware MIDDLEWARE SERVICE
  7. 7. Definisi Middleware <ul><li>Tipe layanan middleware yang ada sekarang ini : </li></ul><ul><ul><li>Object Request Brokers (ORBs) , yang memungkinkan objek-objek yang merupakan bagian dari suatu aplikasi, bisa didistribusikan dan digunakan oleh aplikasi lainnya dalam jaringan komputer yang beragam. </li></ul></ul><ul><ul><li>Remote Procedure Calls (RPCs) , layanan ini memungkinkan logika dari suatu aplikasi didistribusikan dalam suatu jaringan computer, dan dapat dieksekusi seperti mengeksekusi aplikasi dalam komputer lokal. </li></ul></ul><ul><ul><li>Transaction Processing (TPs) Monitor, memberikan layanan penghubung, monitoring, mempermudah pembuatan aplikasi dan memantau transaksi yang ada antara komputer client dan server. </li></ul></ul><ul><ul><li>Message-Oriented Middleware (MOMs) , sesuai dengan namanya, layanan yang diberikan dasarnya adalah pertukaran data antar komputer yang bisa diimplementasikan dalam beragam aplikasi. Contoh sederhana adalah aplikasi e-mail, dimana penerima pesan berhak me-representasikan sendiri dan menggunakannya sesuai dengan keperluannya. </li></ul></ul>
  8. 8. ESB – Konsep Middleware Generasi Terbaru ESB merupakan layanan yang menawarkan : Highly distributed event-driven Service Oriented Architecture (SOA) dengan meng-kombinasikan Message Oriented Middleware (MOM) Web Services intelligent routing based on content XML data transformation
  9. 9. Refactoring To ESB
  10. 10. Refactoring To ESB
  11. 11. MULE - Symphony Soft Why MULE ? <ul><li>Open Source ESB generasi pertama, dengan license yang benar2 bebas digunakan. </li></ul><ul><li>Support +25 Integration Channel Provider, seperti JMS, Web Services, AS/400 , JSR – 223, dll </li></ul><ul><li>Dokumen / Referensi lengkap </li></ul><ul><li>Tools yang mendukung, seperti Eclipse IDE </li></ul><ul><li>Interface Based Component </li></ul><ul><li>EIP & SEDA based architecture </li></ul>
  12. 12. MULE - Arsitektur ESBus - Transport Provider / Connector - Endpoint - Transformer - Interceptor - Message Routers - Exception Management - UMO Based Component - Event : Synchronous, aSynchronous, Request-Response
  13. 13. MULE Sample Implementation ESBus http Trx. Logger tcp Mw. Output Bridge tcp Input-Output-From-Socket-Server HttpPaymentRequestChannel Send-To-Remote-Server SEWU Middleware Project Another MULE Instance For Load Balancing ENDPOINT Mw. Input
  14. 14. SEWU Middleware Project <mule-descriptor name=&quot;HttpPaymentRequestChannel&quot; implementation=&quot;middlewareorid.payment.request.HttpGateway&quot;> <inbound-router> <endpoint name=&quot;httpPaymentEndpoint&quot; address=&quot; http://localhost:8088 &quot; synchronous=&quot;true&quot; transformers=&quot; HttpRequestStringToIso &quot; responseTransformers=&quot;IsoToHttpRequestString&quot;> <!-- filter out the favicon request --> <filter className=&quot;org.mule.routing.filters.logic.NotFilter&quot;> <filter pattern=&quot;/favicon.ico&quot; className=&quot;org.mule.providers.http.filters.HttpRequestWildcardFilter&quot;/> </filter> <properties> <property name=&quot;Content-Type&quot; value=&quot;text/plain&quot;/> </properties> </endpoint> </inbound-router> Connector / Channel Provider
  15. 15. SEWU Middleware Project <outbound-router> <router className=&quot;org.mule.routing.outbound.OutboundPassThroughRouter&quot;> <endpoint address=&quot;vm://queue.logger.input&quot;/> </router> </outbound-router> <response-router> <endpoint address=&quot;vm://queue.middleware.tcpoutput&quot;/> <router className=&quot;middlewareorid.routing.routers.SingleResponseRouter&quot;/> </response-router> </mule-descriptor>
  16. 16. SEWU Middleware Project <connector name=&quot;IsoClientConnector&quot; className=&quot;org.mule.providers.tcp.TcpConnector&quot;> <properties> <property name=&quot;tcpProtocolClassName&quot; value=&quot;middlewareorid.providers.tcp.protocols.BE2ByteLengthProtocol&quot;/> <property name=&quot;receiveTimeout&quot; value=&quot;3600000&quot;/> <property name=&quot;keepSendSocketOpen&quot; value=&quot;true&quot;/> <!-- map name=&quot;serviceOverrides&quot;> <property name=&quot;dispatcher.factory&quot; value=&quot;middlewareorid.providers.tcp.TcpMessageDispatcherFactory&quot;/> <property name=&quot;message.receiver&quot; value=&quot;middlewareorid.providers.tcp.TcpMessageReceiver&quot;/> </map --> </properties> <exception-strategy className=&quot;middlewareorid.impl.DefaultComponentExceptionStrategy&quot;/> </connector> Connector / Channel Provider
  17. 17. SEWU Middleware Project <transformer name=&quot;HttpRequestToString&quot; className=&quot; middlewareorid.transformers.HttpRequestToString “ returnClass=&quot;java.lang.String&quot;/> <transformer name=&quot;StringToPaymentRequest“ className=&quot;middlewareorid.payment.request.StringToPaymentRequest&quot; returnClass=&quot;middlewareorid.payment.request.PaymentRequest&quot;/> <transformer name=&quot;IsoToHttpRequestString“ className=&quot;org.mule.transformers.script.ScriptTransformer&quot; returnClass=&quot;java.lang.String&quot;> <properties> <property name=&quot;scriptEngineName&quot; value=&quot;groovy&quot;/> <property name=&quot;sourceType&quot; value=&quot;java.lang.String&quot;/> <text-property name=&quot;scriptText&quot;> import groovy.xml.*; import org.jpos.iso.ISOMsg; import org.jpos.iso.ISOUtil; import org.jpos.iso.packager.ISO87APackager; /* ISO8583 Transformer */ String iso = message.getPayloadAsString(); ISO87APackager packager = new ISO87APackager(); ISOMsg isoMsg = new ISOMsg(); isoMsg.setPackager(packager); isoMsg.unpack(iso.getBytes()); … Transformer
  18. 18. SEWU Middleware Project <inbound-router> <endpoint address=&quot;queue.telkom.bridge&quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound.OutboundPassThroughRouter&quot;> <endpoint address=&quot;vm://queue.middleware.tcpoutput&quot;/> </router> </outbound-router> <!-- outbound-router> <router className=&quot;org.mule.routing.outbound.StaticRecipientList&quot;> <reply-to address=&quot;vm://queue.middleware.tcpoutput&quot;/> </router> </outbound-router --> Router Management
  19. 19. SEWU Middleware Project <interceptor-stack name=&quot;default&quot;> <interceptor className=&quot;org.mule.interceptors.LoggingInterceptor&quot;/> <interceptor className=&quot;org.mule.interceptors.TimerInterceptor&quot;/> </interceptor-stack> Interceptor
  20. 20. MULE IN ACTION … DEMO SESSION Kolaborasi.FORGE
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×