glass fish esb launch feb10 2009 part b frank k

12

Click here to load reader

Upload: eduardo-pelegri-llopart

Post on 20-May-2015

562 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Glass Fish Esb Launch Feb10 2009 Part B Frank K

1

examples of applicationsFebruary 10, 2009

Frank KievietOpenESB Community Manager

1

Page 2: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 2

Example 1• Download HTTP ACCESS logs over FTP• Parse the log file• Filter the log file• Store the hits in a database

Page 3: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 3

Example 2• Old system: An ERP system generates

purchase orders; the orders are printed out and mailed using USPS

• New system: added a web ordering application for internal use, added a financial Order Approval System and a Financial Monitoring System, and Purchase orders are now delivered electronically over the Internet using a Transaction Delivery Network application

ERPsystem

po.ps

ERPsystem

po.csv

Webprocurement

systemorder.xml

FinancialMonitoring

system

OrderApprovalSystem

po.xml

TDNsystem

po.edi

po.xml

Page 4: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 4

ERPsystem

po.csv

po.xml

read

convert

Approvalsystem

Monitoringsystem

EmailNotify

po.xml

po.txt

convert

TDNsystem

po.edi

convert

> Following an order from the ERP system> ERP system creates a file with a batch of orders in CSV

format> File needs to be picked up, read and converted to a

canonical format> The CSV file does not contain all information necessary for

the canonical format> All orders in the CSV file need to be approved by an

approval system> Each order needs to be sent out to the Internet Gateway

(TDN) in EDI format, or to a Fax gateway in PS format> A financial monitoring application needs to get a copy of the

order> An email needs to be sent to the submitter of the order when

the order goes out> The department that generally takes delivery of goods needs

to be notified of the order

Page 5: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 5

One possible solution• Example 1:

> Write some Java code that uses the Apache FTP library to download the files

> Ensure configuration is externalizable> Add error handling code (retries, avoid data loss, etc)> Write code to parse the log file> Use JPA to persist the data> Add a timer to do this task periodically

• Example 2:> Similar approach for example 2> Use libraries to interact with external systems> Use libraries to do file format conversions

Page 6: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 6

Observations• Three aspects to both examples:

> Connectivity> Message transformation> Business logic / orchestration

• In Java coding solution:> Business/orchestration logic is intermingled with code to

connect to systems and other low level processing code> Because of this, will take some effort for someone else to

understand the application> It's hard to add swap one transport for another, or one data

format for another> The biggest problem: (next slide)

Page 7: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 7

Scaling• An enterprise has hundreds of these integration

applications• Characteristics:

> Each application is relatively simple> Code is repetitive> Coding is labor intensive> Applications become hard to manage> Applications become hard to maintain

Page 8: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 8

ERPsystem

po.csv po.xml

Approvalsystem

Monitoringsystem

Reserve.xml

ERP approval T

Finance

po.xml

TDNsystem

po.edi

TDN

Faxsystem

po.ps

Fax

Email

po.txt

Email

po.xml

po.xml

po.xml

po.xmlEAI applications or infrastructure

Existing systems

Messages

Webprocurement

order.xml

Web

Q

T

Solution with OpenESB

Page 9: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 9

Example:A business process in BPEL

BPEL process

RequestExposed service

Reply

OK Topic

Not OK Topic

BPEL process

po.xml

Approvalsystem

approval Tpo.xml

T

Page 10: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 10

ERPsystem

po.csv po.xmlERP

Reads and parses file

All these message exchanges are in-

memory

In-out message exchange; all others

are in-only

Database lookup

Data mapping

Canonicaldata

ERP specificdata

Example:Assembling an application in CASA

Page 11: Glass Fish Esb Launch Feb10 2009 Part B Frank K

Slide 11

Integration is everywhere!• Connect to “legacy” systems• SOA

> Orchestration / services composition> Create new services from existing services / service creation

• Pain points:> Long running transactions> Async invocations (scalable)> Correlations