project example: wrapping legacy applications as … example: wrapping legacy applications as web...
TRANSCRIPT
Project Example: Project Example: Wrapping Legacy Applications as Wrapping Legacy Applications as
Web ServicesWeb Services
17 September 2008By
Paul Pilotto, Technical Director - ASIST
► Introduction
► Why use an ESB?
► IBM SOA Reference Architecture
► Intro to EGL and RBD
► EGL Services and Web Services
► Consuming EGL Web Services from IBM ESB
► Demo
Agenda
2
► Summary
Who we are
► Founded in Belgium in 1995► Offices in Belgium and Luxemburg► 2 partners, 20 employees, 35 contractors
Our vision is to develop and maintain leadership in integrating people, processes and information technologies. Our customers are coming from all kinds of industries and government institutions, and are asking us to integrate
3
kinds of industries and government institutions, and are asking us to integrate their current legacy with new technologies
We are operating in the IBM WebSphere, Rational and DB2 environment and are absolute experts in 4GL/EGL and JAVA. Moreover, we can combine the boundaries of this environment with other development frameworks.
► Introduction
► Why use an ESB?
► IBM SOA Reference Architecture
► Intro to EGL and RBD
► EGL Services and Web Services
► Consuming EGL Web Services from IBM ESB
► Demo
Agenda
4
► Summary
Business flexibility depends on IT flexibility
“Today’s IT architectures are the biggest roadblock s most companies face when making strategic moves.”
–McKinsey “Flexible IT, Better Strategy”
Why are today’s architectures roadblocks?DRAFT Best Buy - Application Diagram V4 DRAFTMainframe apps - Blue DRAFT Best Buy - Application Diagram V4 DRAFTMainframe apps - Blue
5
• Complexity
• Monolithic and silo’d applications
• Hidden interfaces
• Custom coded connections
• Not designed for change
E01-EDI
Data Warehouse(Interfaces to and from theData Warehouse are not
displayed on this diagram)
DRAFT Best Buy - Application Diagram V4 DRAFTNovember 10, 1999
G02 - GeneralLedger
A05 - AP
S01 - SalesCorrections
I01 POReceiving
I03 Return toVendor
I06 WarehouseManagement
Mainframe apps - BluePC/NT apps - GreenUnix apps - Yellow3rd party interface - OrangeLines: Colors have no special meaning.They are to help make the diagram easier toread.For More Information: See the databasecontaining information about eachapplication: Application V4.mdb
S06 - Credit App
P15 EES EmployeeChange Notice
OTHER APPS - PCAP - Collections/Credit
TM - Credit Card DB
ACCTS REC APPS - PC990CORBad Debt
Benefical FeesBeneficial Reconcil
JEAXFJEBFAJEBKAJEDVAJESOAJEVSAJEVSF
NSFTeleCredit Fees
INVENTORY CONTROL APPS - PCCode Alarm
Debit ReceivingsDevo Sales
Display InventoryIn HomeJunkouts
Merchandise WithdrawlPromo CreditsRTV Accrual
ShrinkAP Research - Inv CntrlAP Research-Addl Rpts
Book to Perpetual InventoryClose Out Reporting
Computer Intelligence DataCount Corrections
Cross Ref for VCB DnldsDamage Write OffDebit Receivings
DFI Vendor DatabaseDisplay Inventory ReconcilDisplay Inventory Reporting
INVENTORY CONTROL APPS - PCDPI/CPI
IC BatchingInventory Adj/Count CorrectInventory Control Reports
Inventory LevelsInventory Roll
Merchandise WithdrawlOpen ReceivingsPI Count Results
PI Time Results from InvPrice Protection
Sales Flash ReportingShrink Reporting
SKU Gross MarginSKU Shrink Level Detail
USMVCB Downloads
Journal Entry Tool Kit
Scorecard - HR
L02-ResourceScheduling(Campbell)
P09 - P17Cyborg
M02 - Millennium
M03 - Millennuim 3.0
Banks - ACH and Pos toPay
Cobra
B01 - StockStatus
S03-Polling
P14 On-line NewHire Entry
CTS
Plan Administrators(401K, PCS, Life,
Unicare, SolomonSmith Barney)
D01 Post LoadBilling
I04 HomeDeliveries
I02 -Transfers
Arthur Planning
I07 PurchaseOrder
I12 EntertainmentSoftware
I05Inventory Info
E13E3 Interface
S04 - Sales Posting
V01-Price ManagementSystem
I10 Cycle PhysicalInventory
I55 SKUInformation
K02Customer Repair
TrackingI35 Early Warning
System
B02 MerchandiseAnalysis
I13- AutoReplenishment
U18 - CTO
Intercept
I09 Cycle Counts
E02-EmployeePurchase
Texlon 3.5
ACH
Stock Options
I17 Customer PerceivedIn-Stock
U16-Texlon
SiteSeer
C02 - CapitalProjects
F06 - FixedAssets
US Bank ReconFile
Star Repair
EDICoordinator
Mesa Data
NEW SoundscanNPD Group
AIG Warranty Guard
Resumix
Optika
Store BudgetReporting
P16 - Tally Sheet
Cash Receipts/Credit
S05 - HouseCharges
Ad Expense
L01-PromoAnalysis
V02-PriceMarketingSupport
BMP - Busperformance Mngt
StoreScorecard
I11 PriceTesting
Valley Media
P09Bonus/HR
I15 Hand ScanApps
Roadshow
POS
S08 - VertexSalesTax
A04 - CustRefund Chks
Equifax
ICMS Credit
CellularRollover
S09 - DigitalSatelliteSystem
NPD,SoundScan
Sterling VANMailbox (Value)
I18SKU Rep
X92-X96Host to AS400
Communication
S02 -Layaways
Washington,RGIS,
Ntl Bus Systems
V04-SignSystem
I14 Count CorrectionsNARM
P01-EmployeeMasterfile
I06 - CustomerOrder
FrickCo
UAR - Universal AccountReconcilliation
DepositoryBanks
S07 - CellPhones
S11 - ISPTracking
AAS
Fringe PO
Cash Over/Short
L60 MDFCoop
SKU SelectionTool
SKUPerformance
SupplierCompliance
1
I35 - CEI
ASIS
Misc Accounting/Finance Apps - PC/NTCOBA (Corp office Budget Assistant)PCBS(Profit Center Budget System)
Merchandising Budget
AIMSMerch Mngr Approval
Batch ForcastingAd Measurement
AIMS Admin
AIMSReportingAd
Launcher
V03- MktReactions
SpecSource
CTO2.Bestbuy.com
RebateTransfer
SignSystem
CopyWriter'sWorkspace
ELTPowerSuite
StoreMonitor
AIS Calendar
Stores & Mrkts
Due Dates
Smart Plus
InsertionsOrders
BudgetAnalysis Tool
Print CostingInvoice App
AIS Reports
BroadcastFilter
Smart PlusLauncher
GeneralMaintenance
Printer PO
PrinterMaintenance
VendorMaintenance
Vendor Setup
Connect 3
Connect 3Reports
Connect 3PDF Transfe
Spec SourceSKU Tracking
S20-SalesPolling
Prodigy
PSP
In-HomeRepair
WarrantyBillingSystem
Process Servers(Imaging)
Prepared by Michelle Mills
Page 1 of 2
E01-EDI
Data Warehouse(Interfaces to and from theData Warehouse are not
displayed on this diagram)
DRAFT Best Buy - Application Diagram V4 DRAFTNovember 10, 1999
G02 - GeneralLedger
A05 - AP
S01 - SalesCorrections
I01 POReceiving
I03 Return toVendor
I06 WarehouseManagement
Mainframe apps - BluePC/NT apps - GreenUnix apps - Yellow3rd party interface - OrangeLines: Colors have no special meaning.They are to help make the diagram easier toread.For More Information: See the databasecontaining information about eachapplication: Application V4.mdb
S06 - Credit App
P15 EES EmployeeChange Notice
OTHER APPS - PCAP - Collections/Credit
TM - Credit Card DB
ACCTS REC APPS - PC990CORBad Debt
Benefical FeesBeneficial Reconcil
JEAXFJEBFAJEBKAJEDVAJESOAJEVSAJEVSF
NSFTeleCredit Fees
INVENTORY CONTROL APPS - PCCode Alarm
Debit ReceivingsDevo Sales
Display InventoryIn HomeJunkouts
Merchandise WithdrawlPromo CreditsRTV Accrual
ShrinkAP Research - Inv CntrlAP Research-Addl Rpts
Book to Perpetual InventoryClose Out Reporting
Computer Intelligence DataCount Corrections
Cross Ref for VCB DnldsDamage Write OffDebit Receivings
DFI Vendor DatabaseDisplay Inventory ReconcilDisplay Inventory Reporting
INVENTORY CONTROL APPS - PCDPI/CPI
IC BatchingInventory Adj/Count CorrectInventory Control Reports
Inventory LevelsInventory Roll
Merchandise WithdrawlOpen ReceivingsPI Count Results
PI Time Results from InvPrice Protection
Sales Flash ReportingShrink Reporting
SKU Gross MarginSKU Shrink Level Detail
USMVCB Downloads
Journal Entry Tool Kit
Scorecard - HR
L02-ResourceScheduling(Campbell)
P09 - P17Cyborg
M02 - Millennium
M03 - Millennuim 3.0
Banks - ACH and Pos toPay
Cobra
B01 - StockStatus
S03-Polling
P14 On-line NewHire Entry
CTS
Plan Administrators(401K, PCS, Life,
Unicare, SolomonSmith Barney)
D01 Post LoadBilling
I04 HomeDeliveries
I02 -Transfers
Arthur Planning
I07 PurchaseOrder
I12 EntertainmentSoftware
I05Inventory Info
E13E3 Interface
S04 - Sales Posting
V01-Price ManagementSystem
I10 Cycle PhysicalInventory
I55 SKUInformation
K02Customer Repair
TrackingI35 Early Warning
System
B02 MerchandiseAnalysis
I13- AutoReplenishment
U18 - CTO
Intercept
I09 Cycle Counts
E02-EmployeePurchase
Texlon 3.5
ACH
Stock Options
I17 Customer PerceivedIn-Stock
U16-Texlon
SiteSeer
C02 - CapitalProjects
F06 - FixedAssets
US Bank ReconFile
Star Repair
EDICoordinator
Mesa Data
NEW SoundscanNPD Group
AIG Warranty Guard
Resumix
Optika
Store BudgetReporting
P16 - Tally Sheet
Cash Receipts/Credit
S05 - HouseCharges
Ad Expense
L01-PromoAnalysis
V02-PriceMarketingSupport
BMP - Busperformance Mngt
StoreScorecard
I11 PriceTesting
Valley Media
P09Bonus/HR
I15 Hand ScanApps
Roadshow
POS
S08 - VertexSalesTax
A04 - CustRefund Chks
Equifax
ICMS Credit
CellularRollover
S09 - DigitalSatelliteSystem
NPD,SoundScan
Sterling VANMailbox (Value)
I18SKU Rep
X92-X96Host to AS400
Communication
S02 -Layaways
Washington,RGIS,
Ntl Bus Systems
V04-SignSystem
I14 Count CorrectionsNARM
P01-EmployeeMasterfile
I06 - CustomerOrder
FrickCo
UAR - Universal AccountReconcilliation
DepositoryBanks
S07 - CellPhones
S11 - ISPTracking
AAS
Fringe PO
Cash Over/Short
L60 MDFCoop
SKU SelectionTool
SKUPerformance
SupplierCompliance
1
I35 - CEI
ASIS
Misc Accounting/Finance Apps - PC/NTCOBA (Corp office Budget Assistant)PCBS(Profit Center Budget System)
Merchandising Budget
AIMSMerch Mngr Approval
Batch ForcastingAd Measurement
AIMS Admin
AIMSReportingAd
Launcher
V03- MktReactions
SpecSource
CTO2.Bestbuy.com
RebateTransfer
SignSystem
CopyWriter'sWorkspace
ELTPowerSuite
StoreMonitor
AIS Calendar
Stores & Mrkts
Due Dates
Smart Plus
InsertionsOrders
BudgetAnalysis Tool
Print CostingInvoice App
AIS Reports
BroadcastFilter
Smart PlusLauncher
GeneralMaintenance
Printer PO
PrinterMaintenance
VendorMaintenance
Vendor Setup
Connect 3
Connect 3Reports
Connect 3PDF Transfe
Spec SourceSKU Tracking
S20-SalesPolling
Prodigy
PSP
In-HomeRepair
WarrantyBillingSystem
Process Servers(Imaging)
Prepared by Michelle Mills
Page 1 of 2
Actual application architecture for a consumer electronics company
… a service?
A repeatable business task – e.g., check customer credit;
open new account
What is …..?
… service orientation?
A way of integrating your business as linked
servicesand the outcomes that
they bring
6
open new account
… service oriented architecture (SOA)?
An IT architectural style that supports service orientation
… a composite application?
A set of related & integrated services that
support a business process built on an SOA
User InteractionLogic
DataLogic
Integration
The problem with Applications
7
IntegrationLogic
ProcessLogic
Business Rules
Monitoring &Management
Logic
Business ServicesBusiness Function
User InteractionLogic
DataLogic
Infrastructure Services
8
IntegrationLogic
ProcessLogic
Business Rules
Monitoring &Management
Logic
► Introduction
► Why SOA
► IBM SOA Reference Architecture
► Intro to EGL and RBD
► EGL Services and Web Services
► Consuming EGL Web Services from IBM ESB
► Demo
Agenda
9
► Summary
What is Enterprise Generation Language (EGL) ?
► IBM’s high-level procedural programming language for rapidly building robust business-oriented software systems
► Frees business-oriented developers from having to write technical “plumbing code” to hook their business logic to underlying run-time infrastructure
► Enables easy connection to existing business logic and data sources► Either COBOL or Java can be generated from same EGL source
� Generated code deploys to numerous runtimes and can be incorporated into existing
10
� Generated code deploys to numerous runtimes and can be incorporated into existing software systems
► Very fast path to Web, J2EE, and/or SOA development paradigms
RBD v7.1 Packaging
RAD V7
RDz V7 RSA V7RDi V7.1
Workstation
RBD V7.1
RAD Components
11
� RBD can be installed Standalone
� Or can also use other development tools like RDz, RAD/RSA, or RDi along with RBD which will “shell share” the Eclipse workbench providing a seamless IDE
Workbench
Batch Processes Text UI Web Rich UI Reports Web/Native
Services
DatabasesUser InterfaceUser InterfaceUser InterfaceUser Interface
Application flexibility
12
External Interfaces
� COBOL� RPG� PL1
Databases
� DB2 UDB� SQL Server� Oracle� Derby
Write business and control logic with EGL
Encapsulate existing or create new resources
Service/InterfaceService/Interface
ProgramProgram User InterfaceUser Interface
Business LogicBusiness Logic
Control LogicControl Logic
Enterprise ConnectionEnterprise Connection
Service/InterfaceService/Interface
ProgramProgram User InterfaceUser Interface
Business LogicBusiness Logic
Control LogicControl Logic
Enterprise ConnectionEnterprise Connection
� C, C++� Java
� Informix� IMS
VSAM� other…
zSeries
Windows/LinuxAIX, HP, Solaris
EGLprogram/library/service
ClearCase, CVS, Other
Platform Flexibility
System z
zSeries�
� WebSphere
� Tomcat
Windows, Linux, Unix
13
zSeries
iSeries
* Planned
COBOLCOBOL
COBOLCOBOL
�
� WebSphere
� USS
� Linux
� Batch
� CICS
� IMS*
System z
zSeries�
� WebSphere
� Native i5OS
� Native i5OS
System i
� Tomcat
Simple and Intuitive
At development time…� Focus on the business logic� Implement SOA design elements: services and interfaces� Leverage existing business developers for new SOA
development� Ignore deployment targets/technology while coding/testing
Leverage external web services…� EGL Interfaces
�represent external web services�Are created via import from WSDL�Allow the EGL developer to stay within the context of the EGL programming model
The Power of EGL Services
14
Deploy EGL services…To any platform� Java to WAS/Tomcat/etc.� COBOL to CICS, iSeries � COBOL to IMS*
As…� A Web service (uses SOAP)� A private service (uses CICS ECI or TCP)� Other SOA runtimes when they reach critical mass
Built into the Language► Service part
� a generatable part containing code that will be accessed
� from EGL code by way of a local or TCP/IP connection (EGL Service)
� from any code by way of an HTTP connection (EGL Web service).
The Power of EGL Services
15
► Interface part� Used to access external services as EGL services or simply to provide separation of concern
Creating Services...Typical Service Example
► Coding and deployment of services is easy and user-friendly
► No necessity to understand plumbing► Procedural and reusable► Full range of EGL functionality available to an
EGL generated service► Simple CALL statement to allow remote programs
to be exposed through EGL services (see
16
to be exposed through EGL services (see speaker notes)
Creating Services
EGL ServiceEGL
ServiceWSDL
WSDL
ESB ( WESB, MB)ESB ( WESB, MB)
WPS/WIDWPS/WID
Java (WAS)COBOL(CICS)COBOL (i5OS)
Java (WAS)COBOL(CICS)COBOL (i5OS)
17
EGLRecords
EGLRecords
EGL Services can be generated into deployable artifacts that are accessible as Web ServicesEGL data appears as XML payload with no need for transformationChoice of native EGL services or EGL generated Web Services
Native EGL services are efficient and faster than traditional web servicesRemote or Local native EGL service available for generation
Other Web ServiceRequestersOther Web ServiceRequestersRuntime
ProxyRuntime
Proxy
Scenario
Develop an EGL Service Develop client that invokes EGL Service Run the client + Service with debugger
RBD V7 RBD V7 RBD V7
18
RBD V7
Generate EGL Service as Web ServiceDeploy Service
Modernizing UIs From Green Screen to SOA
The industry is moving from green screens to JSF to full Web 2.0
EGL Rich UI can be used to connect to services (PHP, Java, or EGL) that expose backend data
19
Dumb terminal
JSF/WebFacing
EGL Rich UI, Ajax, Web2.0, SOAhappy experience (easy to build, by insiders)customer can own the solution
Summary
► Business inflexibility comes from IT inflexibility► IT inflexibility comes from:
� Monolithic architectures� Silos – both skills and technology
► SOA provides a methodology for designing flexible systems► An ESB provides the most flexible SOA infrastructure ► EGL is IBM’s modern business language
21
► EGL is IBM’s modern business language� Bridges old and new� Cross platform nature breaks down traditional barriers:
� Flexibility to apply staff skills to the whole application� Flexibility in deployment platform of business services
► EGL Services deploy in standard way to ESB runtimes
Questions ?
Slachthuislaan 00.013000 LeuvenBelgium
+32(0)16 27 10 77
www.asist.be
23
Paul Pilotto
Technical Director+32 478 808 [email protected]