Vous êtes sur la page 1sur 20

IBM Websphere Application Server

Dipresentasikan untuk :

IBM Websphere Application Server

middleware.or.id

Tentang IBM Websphere Application Server

IBM Websphere Application Server merupakan layer server aplikasi yang dikeluarkan oleh IBM, IBM websphere Application Server

middleware.or.id

Next Integration Architecture

Internal Core System

Client Core System

External Parties & Extranet & Internets

(Other Front-End)

X-Middleware
POP3, SMTP, SMSC, MIME, DOC, HTTP/S, WS*, FTP, ISO8583, XML,

Card System

ATM / EDC

Other Client Apps.


S W I T C H

SAP: FIN, HR, CRM, etc Technology, People and Procedure

middleware.or.id

Presentation Topic

Middleware ? Mule ESB sebagai Middleware Simple implementation

middleware.or.id

Definisi Middleware

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.

(definisi Mark Bray, Carnegie Mellon Software Engineering Institute , www.sei.cmu.edu).

middleware.or.id

Definisi Middleware
Definisi secara lebih khusus, diantaranya bisa diartikan sebagai berikut :

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. 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. Middleware merupakan sebuah aplikasi yang memudahkan para developer aplikasi dengan menyediakan sekumpulan fungsi-fungsi baku yang bisa digunakan dalam proses pembentukan aplikasi secara keseluruhan.

Client Host

CLIENT

SERVER

Middleware

Server Host

LAN MIDDLEWARE SERVICE W-LAN WA


N

middleware.or.id

Definisi Middleware

Tipe layanan middleware yang ada sekarang ini :

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.

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.

Transaction Processing (TPs) Monitor, memberikan layanan penghubung, monitoring, mempermudah pembuatan aplikasi dan memantau transaksi yang ada antara komputer client dan server.
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.
middleware.or.id

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

middleware.or.id

Refactoring To ESB

middleware.or.id

Refactoring To ESB

middleware.or.id

MULE - Symphony Soft

Why MULE ?
Open Source ESB generasi pertama, dengan license yang benar2 bebas digunakan.

Support +25 Integration Channel Provider, seperti JMS, Web Services, AS/400 , JSR 223, dll

Dokumen / Referensi lengkap


Tools yang mendukung, seperti Eclipse IDE

Interface Based Component


EIP & SEDA based architecture
middleware.or.id

MULE - Arsitektur

Transport Provider / Connector Endpoint Transformer Interceptor

ESBus
- Message Routers - Exception Management - UMO Based Component - Event : Synchronous, aSynchronous, Request-Response

middleware.or.id

MULE Sample Implementation

SEWU Middleware Project


tcp

Send-To-Remote-Server

Another MULE Instance For Load Balancing


ENDPOINT

Mw. Input

Trx. Logger

Mw. Output

Bridge

ESBus

http

tcp
Input-Output-From-Socket-Server HttpPaymentRequestChannel

middleware.or.id

SEWU Middleware Project

Connector / Channel Provider


<mule-descriptor name="HttpPaymentRequestChannel" implementation="middlewareorid.payment.request.HttpGateway"> <inbound-router> <endpoint name="httpPaymentEndpoint" address="http://localhost:8088" synchronous="true" transformers="HttpRequestStringToIso" responseTransformers="IsoToHttpRequestString"> <!-- filter out the favicon request --> <filter className="org.mule.routing.filters.logic.NotFilter"> <filter pattern="/favicon.ico" className="org.mule.providers.http.filters.HttpRequestWildcardFilter"/> </filter> <properties> <property name="Content-Type" value="text/plain"/> </properties> </endpoint> </inbound-router>

middleware.or.id

SEWU Middleware Project

<outbound-router> <router className="org.mule.routing.outbound.OutboundPassThroughRouter"> <endpoint address="vm://queue.logger.input"/> </router> </outbound-router> <response-router> <endpoint address="vm://queue.middleware.tcpoutput"/> <router className="middlewareorid.routing.routers.SingleResponseRouter"/> </response-router> </mule-descriptor>

middleware.or.id

SEWU Middleware Project

Connector / Channel Provider


<connector name="IsoClientConnector" className="org.mule.providers.tcp.TcpConnector"> <properties> <property name="tcpProtocolClassName" value="middlewareorid.providers.tcp.protocols.BE2ByteLengthProtocol"/> <property name="receiveTimeout" value="3600000"/> <property name="keepSendSocketOpen" value="true"/> <!-- map name="serviceOverrides"> <property name="dispatcher.factory" value="middlewareorid.providers.tcp.TcpMessageDispatcherFactory"/> <property name="message.receiver" value="middlewareorid.providers.tcp.TcpMessageReceiver"/> </map --> </properties> <exception-strategy className="middlewareorid.impl.DefaultComponentExceptionStrategy"/> </connector>

middleware.or.id

SEWU Middleware Project

Transformer
<transformer name="HttpRequestToString" className="middlewareorid.transformers.HttpRequestToString returnClass="java.lang.String"/> <transformer name="StringToPaymentRequest className="middlewareorid.payment.request.StringToPaymentRequest" returnClass="middlewareorid.payment.request.PaymentRequest"/> <transformer name="IsoToHttpRequestString className="org.mule.transformers.script.ScriptTransformer" returnClass="java.lang.String"> <properties> <property name="scriptEngineName" value="groovy"/> <property name="sourceType" value="java.lang.String"/> <text-property name="scriptText"> 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());

middleware.or.id

SEWU Middleware Project

Router Management
<inbound-router> <endpoint address="queue.telkom.bridge"/> </inbound-router> <outbound-router> <router className="org.mule.routing.outbound.OutboundPassThroughRouter"> <endpoint address="vm://queue.middleware.tcpoutput"/> </router> </outbound-router> <!-- outbound-router> <router className="org.mule.routing.outbound.StaticRecipientList"> <reply-to address="vm://queue.middleware.tcpoutput"/> </router> </outbound-router -->

middleware.or.id

SEWU Middleware Project

Interceptor
<interceptor-stack name="default"> <interceptor className="org.mule.interceptors.LoggingInterceptor"/> <interceptor className="org.mule.interceptors.TimerInterceptor"/> </interceptor-stack>

middleware.or.id

MULE IN ACTION

DEMO SESSION

middleware.or.id

Vous aimerez peut-être aussi