project example: wrapping legacy applications as … example: wrapping legacy applications as web...

23
Project Example: Project Example: Wrapping Legacy Applications as Wrapping Legacy Applications as Web Services Web Services 17 September 2008 By Paul Pilotto, Technical Director - ASIST

Upload: phungthuan

Post on 18-May-2018

218 views

Category:

Documents


2 download

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

Demo

20

Demo

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

Coming event

22

Questions ?

Slachthuislaan 00.013000 LeuvenBelgium

+32(0)16 27 10 77

[email protected]

www.asist.be

23

[email protected]

Paul Pilotto

Technical Director+32 478 808 [email protected]