application integration

57
Application Integration Gus Björklund, Wizard, Vice President of Technology, Progress Software FinPUG Turku, Finland, 26-Mar-01

Upload: olesia

Post on 20-Jan-2016

44 views

Category:

Documents


1 download

DESCRIPTION

FinPUG Turku, Finland, 26-Mar-01. Application Integration. Gus Björklund , Wizard, Vice President of Technology, Progress Software. Integration Subjects. Challenges Available Technologies The Progress Way. Integration - The Challenges. Cost effectiveness. Incompatible technologies. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Application Integration

Application IntegrationApplication Integration

Gus Björklund,Wizard,Vice President of Technology,Progress Software

FinPUGTurku, Finland, 26-Mar-01

Page 2: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 2

Integration SubjectsIntegration Subjects

Challenges

Available Technologies

The Progress Way

Page 3: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 3

Integration - The ChallengesIntegration - The Challenges

Short-termrelationships

Expandingmarkets

Incompatibletechnologies

Incompatibleapplications

Languages

Culturaldifferences

Countryboundaries

Costeffectiveness Legal

Barriers

Speedof light

Need forefficiency

Disintermediation

Legacy infrastructures

PoliticsComplexity

Competitors

Page 4: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 4

If it is thathard…

Page 5: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 5

why do it ?why do it ?

Page 6: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 6

BenefitsBenefits

Extend functionality of internal systems– Buy and tie

Preserve existing, working (“legacy”) systems– Use alongside new systems

– Reduce cost by not replacing Automate inter-company business processes

– Increase efficiency

Page 7: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 7

Integration – Many TechnologiesIntegration – Many Technologies

XML

CORBA

IIOP

SharedLibraries

J2EE

ADM

JavaBeans

COM EDI

Sockets

DCOM

DLL

EJB

DDESmartObjects

DCOM

SMTP

POP

EMAIL

ONC RPC

RMI

DCE RPC X.12

DCOM HLC

Page 8: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 8

Two Fundamental Integration Approaches

Two Fundamental Integration Approaches

Procedure Calls– Shared component framework

– One application calls procedure in another

– “Tight” coupling Send and Receive Messages

– Shared messaging framework

– One application sends a message to another

– “Loose” coupling

Page 9: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 9

Procedure CallsProcedure Calls

status = createCust (3456,“Smith’s Plumbing”,“1 Velvet Lane”):

Page 10: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 10

Procedure CallsProcedure Calls

status = createCust (3456,“Smith’s Plumbing”,“1 Velvet Lane”):

int createCust (int id,char *namechar *address)

{ return (RET_OK);}

Page 11: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 11

MessagesMessages

ApplicationApplication11

ApplicationApplication22

return reply

send message

Page 12: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 12

What’s In The Message ?What’s In The Message ?

Page 13: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 13

What’s In The Message ?What’s In The Message ?

4:CCUS2:3456

16:Smith’s Plumbing13:1 Velvet Lane

Page 14: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 14

Integration SubjectsIntegration Subjects

Challenges

Available TechnologiesTightly Coupled Approaches

Loosely Coupled Approaches

The Progress Way

Page 15: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 15

Component ModelComponent Model

An architecture and framework that enables the construction of modular applications and systems from separately developed pieces

“Plumbing” that allows developers to focus on their application, not on infrastructure.

Page 16: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 16

Variety of Component PlumbingVariety of Component Plumbing

CICS COM CORBA JavaBeans Enterprise JavaBeans San Francisco Progress ADM, SmartObjects, ICF etc.

Page 17: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 17

COMCOM

ComponentComponent- DLL is usual- DLL is usual

Interfaces

ApplicationApplication

Page 18: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 18

COMCOM

Microsoft’s component framework and related infrastructure

Enables components to communicate with each other through declared interfaces

Everything MS builds is based on COM

Page 19: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 19

DCOMDCOM

COMCOMDCERPCCOMCOM ComponentComponent

Client Machine Server Machine

ApplicationApplication

Network

Page 20: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 20

DCOMDCOM

Distributed COM Adds remote capabilities to COM Uses DCE RPC for communication

Page 21: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 21

COM+COM+

What’s already in DCOM, plus the following:– Publish and Subscribe Interface

– Queued components

– Load Balancing

– Integration of MTS (Microsoft Transaction Server

Page 22: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 22

ApplicationObjects

Object Request Broker (ORB)

Common Object Services

Shared Facilities

CORBA ArchitectureCORBA Architecture

Page 23: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 23

CORBACORBA

“Common Object Request Broker Architecture”

Plumbing to enable object-oriented programs to make remote method calls

Primarily used with C++ programs, although other language bindings exist

CORBA Services incomplete, extras Attempting to accommodate Java Dead ?

Page 24: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 24

IIOPIIOP

IIOPORB ORB

Component

Component

Page 25: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 25

IIOPIIOP

Internet Inter-ORB Protocol A protocol that allows CORBA ORBs to talk to

each other– objects residing in one ORB call methods of

objects in another

Page 26: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 26

Data

EJB ArchitectureEJB Architecture

EJB Server

Client

EJB Container

EnterpriseBean

EnterpriseBean

Other Apps

DatabaseServer

EnterpriseBean

Page 27: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 27

EJBEJB

Server component architecture for Java– Plumbing enables distributed JavaBeans

Powerful programming language Good component model Good transaction model Different language for data access

– JDBC and SQL are hard to use Do-it-yourself clients Database not included

– Good or bad, depending on point of view

Page 28: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 28

User InterfaceUser Interface Business Logic Data Business Logic Data

Progress ADM/SmartObject ArchitectureProgress ADM/SmartObject Architecture

WebServer

WebSpeedMessenge

r

AppServerInternetAdapter

SmartObjectsSmartObjects

Firewall

GUI

Character

JavaActiveX

Page 29: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 29

Progress ADM/SmartObjectsProgress ADM/SmartObjects

Progress Distributed Component Architecture Powerful, easy-to-learn, easy-to-use

programming language Data model integrated with 4GL Progress database Multiple client types Same language at all layers

– Presentation

– Logic

– Data access

Page 30: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 30

BREAK !BREAK !

Page 31: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 31

3-Tier Application Architecture3-Tier Application Architecture

Display andbrowse dataAccept inputSimple validation

Complex validationCalculationGuts of applicationData retrieval andupdate

AccessOrganizeManage data

DatabaseServer

ProcessingLogic

Data AccessLogic

Presentation

Page 32: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 32

What’s Wrong With Procedure Calls ?What’s Wrong With Procedure Calls ?

status = createCust (3456,“Smith’s Plumbing”,“1 Velvet Lane”):

int createCust (int id,char *namechar *address)

{ return (RET_OK);}

Page 33: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 33

TroublesTroubles

If one application blocks or fails, all may be affected Each application requires knowledge of what data types

other applications expect Version compatibility - hard Data transformation and routing logic built into each

application Guarantees, quality of service and reliability are your

responsibility Shared resource management sometimes difficult Different component models incompatible When you build some, and others build some, these

problems hard to control

Page 34: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 34

Integration SubjectsIntegration Subjects

Challenges

Available TechnologiesTightly Coupled Approaches

Loosely Coupled Approaches

The Progress Way

Page 35: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 35

MessagingMessaging

Asynchronous requests, reports, or events that are produced and consumed in enterprise applications

A formal way for programs to exchange data and request services among each other in a loosely coupled way

Many techniques possible

Page 36: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 36

File TransferFile Transfer

Works – been done for many years Point-to-point over various protocols

– FTP, HTTP, NFS, Floppy Disk ! But:

– No guaranteed delivery– Detecting errors tricky– Operating system compatibility issues– Hardware Architecture compatibility issues– Performance low for small files

Page 37: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 37

Do It Yourself Messaging With SocketsDo It Yourself Messaging With Sockets

ApplicationApplication11

ApplicationApplication22

send back reply

send message

Page 38: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 38

Do It Yourself Messaging With SocketsDo It Yourself Messaging With Sockets

Works Cheap - at first But:

– Guaranteed delivery is hard

– Scalability is hard

– Socket programming is not easy

– Architecture neutrality cumbersome

– Security is hard

Page 39: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 39

EDIEDI

ApplicationApplication11

ApplicationApplication22

VPN

Page 40: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 40

EDIEDI

Point-to-point messaging Based on X.12 protocol Uses VPN Popular, estalished But:

– Expensive

– Individual deals often needed for each link

Page 41: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 41

Connections MultiplyConnections Multiply

Page 42: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 42

What To Do ?What To Do ?

Page 43: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 43

Subscriber

Subscriber

Subscriber

Receiver

Message ServersMessage Servers

MessageServer

Publisher

Sender

Page 44: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 44

Message ServersMessage Servers

Don’t connect to every destination– Just connect to server

Message server figures out– Who is supposed to get which messages

– How to get them there

– Quality of service

– What to do if message cannot be delivered recipient not connected system crashes

Page 45: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 45

Oldest Message Server: EMAILOldest Message Server: EMAIL

Easy ! Most systems already have infrastructure

– Client-server architecture– Automatic routing

Protocols universal– POP, SMTP, IMAP

Fairly reliable But:

– Delivery not guaranteed– Error detection difficult

Page 46: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 46

SonicMQ Message ServerSonicMQ Message Server

Subsidiary

SonicMQServer

SonicMQServer

QuotesQuotes

CatalogCatalog

office

SonicMQServer

SonicMQServer

QuotesQuotes

SonicMQ ClusterSonicMQ Cluster

PartnerPurchasingPurchasing

AvailabilityAvailability

ForecastingForecasting

SonicMQServer

SonicMQServer

SonicMQ ClusterSonicMQ Cluster

Headquarters

CatalogCatalog PricingPricing

ShippingShipping

FinanceFinance

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

CatalogCatalog

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

Internet

Internet

Page 47: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 47

XML And MessagesXML And Messages

Rationalized Form(Human Readable)

Schema Standards

Transformations(XSLT)

Query & Manipulation(XPATH, DOM, XQL)

Support fromVendors/Consortia/Trading Exchanges

StandardSchema

Repositories

Standard Toolkits

XML

ArchitectureNeutral

Adapts toChange

Page 48: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 48

Integration SubjectsIntegration Subjects

Challenges

Available TechnologiesTightly Coupled Approaches

Loosely Coupled Approaches

The Progress Way

Page 49: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 49

BusinessLogic

ANYClient

ANY Application

ANY Business

ANYData

Source

Components With Progress ADM and Internet Component Framework (ICF)

Smart Business ObjectSmart Sender/Receiver

Smart B2B ObjectDynamic SDO

New Smart ObjectsInternet Component

FrameworkInternet Component

Framework

Repository

Session Manager

Security Manager

ContextManager

CustomizationManager

Page 50: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 50

Components With Progress ADM and Internet Component Framework (ICF)Components With Progress ADM and Internet Component Framework (ICF)

Tight Coupling:

Quickly build and deploy applications Reuse existing business logic Assemble applications using multiple

development models Support all e-business deployment models Leverage Progress UAA

Page 51: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 51

Messaging With 4GL And SonicMessaging With 4GL And Sonic

ActiveX SonicMQ Client– Win32 Only (Client)

ProxyGen to Java (9.x and above)– Client and Server (synchronous)

SonicMQ 4GL Adapter (9.1B)– “Real” SonicMQ integration through

the 4GL SmartProducer/SmartConsumer Objects

– Easy ADM to Sonic integration

Loose Coupling:

Page 52: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 52

Conclusion:Conclusion:

Page 53: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 53

Conclusion:Conclusion:

To build modular applications– Use components

SmartObjectsSmartObjects

Page 54: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 54

Conclusion:Conclusion:

To build modular applications– Use components

To integrate applications– Use messaging

SonicMQ ClusterSonicMQ Cluster

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServerSonicMQ ClusterSonicMQ Cluster

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SmartObjectsSmartObjects

Page 55: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 55

Conclusion:Conclusion:

To build modular applications– Use components

To integrate applications– Use messaging

Do it with Progress SonicMQ ClusterSonicMQ Cluster

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServerSonicMQ ClusterSonicMQ Cluster

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SonicMQServer

SmartObjectsSmartObjects

Page 56: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 56

One Last Thing:To Learn More…One Last Thing:To Learn More…

Come to– Washington, DC, USA– June 3 through 7, 2001

A Shameless Plug !

2001Exchange

PROGRESS WORLDWIDE

Page 57: Application Integration

© 2001, Progress Software CorporationFinPUG, Turku, Finland, March 26, 2001 - Application Integration 57

PROGRESSS O F T W A R E

Engine Crew

Questions?