44
SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus ... Jiri De Jagere Product Consultant

SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

Embed Size (px)

Citation preview

Page 1: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

SOA-8: Orchestrate your OpenEdge® Applications with Sonic

OpenEdge and the Bus ...

Jiri De JagereProduct Consultant

Page 2: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation2SOA-8: Orchestrate your OpenEdge Applications with Sonic

Session Goals

Introduction of Sonic products How can the ABL interact with Sonic? What advantages do Sonic technologies

offer?

Orchestrate your OpenEdge Applications with Sonic

Page 3: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation3SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Integration Suite

TransportationTransportation IntegrationIntegration OrchestrationOrchestration

Page 4: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation4SOA-8: Orchestrate your OpenEdge Applications with Sonic

Java Message Service

Industry-standard messaging specification• Developed by Sun and other leading vendors• Required component in J2EE 1.3

Common set of APIs and semantics• Publish and Subscribe• Point-to-Point• Synchronous and Asynchronous message delivery

Message delivery Quality of Service (QoS)• Guaranteed• Once-and-only-once• At-most-once

Deployment architecture not addressed• Vendor implementations not created equal

What is JMS?

Page 5: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation5SOA-8: Orchestrate your OpenEdge Applications with Sonic

Messaging Domains

Reservations

Ticketing

Order fulfillment

Online trading

Point to Point

SenderSenderSenderSenderPotentialPotentialReceiverReceiver

PotentialPotentialReceiverReceiver

PotentialPotentialReceiverReceiver

PotentialPotentialReceiverReceiver

QueueQueueQueueQueue

Stock ticker

Price changes

Catalog updates

Data replication

Publish and Subscribe

PublisherPublisherPublisherPublisher TopicTopicTopicTopic

SubscriberSubscriberSubscriberSubscriber

SubscriberSubscriberSubscriberSubscriber

Page 6: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation6SOA-8: Orchestrate your OpenEdge Applications with Sonic

SonicMQ

1-SubscribePublisherPublisher

Inventory

7-Publish()method returns

2-Disconnect

5-Message retained in persistent store

8-Connect

10-Receive

4-Persist

6-Ack

3-Send

9-Retrieve

SubscriberSubscriber

Retail

Ensures Reliable Messaging

Guaranteed Delivery

RecoveryLog

RecoveryLog

Page 7: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation7SOA-8: Orchestrate your OpenEdge Applications with Sonic

Infrastructure in Detail

Reliability• Once and only once• 2-phase transactions• High connection availability

Scalability• Multi-threaded architecture• Clusters• Dynamic Routing

Architecture™• Connection Management

Manageability• Manage and configure centrally• Pluggable security • Extensive connectivity

Sonic Infrastructure Messaging

Architected for high capacity*• Connections > 2000• Destinations > 80,000• Messages > 8,000/s

(persistent)• Latency < 10ms

Actual figures depend on environment

Encryption

• Built-in payload encryption

– Secure messaging without performance cost of SSL

• Channel encryption

– SSL with up to 168-bit keys Authentication

• Built-in username/password authentication

• Supports digital certificates for user authentication

Authorization

• Specify rights of authenticated users

• Exploit destination hierarchies and groups of users to simplify administration

Firewall-friendly

• HTTP, SSL, HTTPS, TCP Range of deployment options

• Hardened for deployment in DMZ

• Deploy internally in conjunction with proxy servers

SonicMQ JMS Client APIs

• Java™/J2EE, COM/.NET™, C/C++ and Progress ABL

DRA

• Connection will be established when needed

• Flexible Security Scheme

• Not only for WAN but also inter-department

Page 8: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation8SOA-8: Orchestrate your OpenEdge Applications with Sonic

Continuous Availability Architecture (CAA™)

When communication broker fails

SHARED STORAGE

CONVENTIONAL FAILOVER

HARDWARECLUSTER SP

CLIENT

– Minutes to rebuild and recover– Client rolls back failed TXN– Expensive 3rd-party SW & HW– High cost to build and admin

CLIENT

SP

SONIC CAA

REAL-TIMEREPLICATION

– Seconds to resume– Transparent to client– No 3rd-party HA products needed– Simple and flexible

CLIENTS

Page 9: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation9SOA-8: Orchestrate your OpenEdge Applications with Sonic

OpenEdge with SonicMQ

ABL Client

ABL Client

ABL BL

ABL BL

SonicMQSonicMQ®®

Asynchronous Availability?

• What if Appserver™ goes down while processing?

• What if Appserver is down while making request?

• What if ... ? Unreliable Network

• Network crashes while Appserver is processing?

Management/monitoring?

• Monitor traffic?

• Logging? Other Client (non-progress)? Server to (many) clients?

OpenEdge Adapter for SonicMQ

Page 10: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation10SOA-8: Orchestrate your OpenEdge Applications with Sonic

OpenEdge with SonicMQ

OpenEdge SonicMQ Adapter prior to OpenEdge 10.1A

• Needed to be configured as a service• All 4GL clients need to use this server process

for sending messages

4GL Client

4GL Client

OpenEdge Adapter

for SonicMQ

SonicMQ Broker

Page 11: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation11SOA-8: Orchestrate your OpenEdge Applications with Sonic

OpenEdge 10.1A with SonicMQ

OpenEdge Adapter for SonicMQ ClientConnect

• No need to configure this as a service• Greater scalability and flexibility• Fault tolerance, client persistence, ...

SonicMQ Broker

ABL Client

ABL Run-time

ABL Client Library

“-SMQConnect”

Adapter for Sonic MQ sub-process

Page 12: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation12SOA-8: Orchestrate your OpenEdge Applications with Sonic

OpenEdge 10.1A with SonicMQ

OpenEdge Adapter for SonicMQ ServerConnect

• Same as ClientConnect• Better resource sharing

SonicMQ Broker

OE AppServer

ABL Engine

ABL Server Library

“-SMQConnect”

Adapter for Sonic MQ sub-process

ABL Client

ABL Run-time

ABL Client Library

Page 13: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation13SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Integration Suite

TransportationTransportation IntegrationIntegration OrchestrationOrchestration

Page 14: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation14SOA-8: Orchestrate your OpenEdge Applications with Sonic

Example of accidental architecture

ABL Sales

Application

ABL Inventory

Application

XML ASCII

Page 15: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation15SOA-8: Orchestrate your OpenEdge Applications with Sonic

What if it gets a little more complex?

XML ASCII

ABL Sales

Application

ABL

InventoryApplication

Other ABL Application

CSV

FTP

Visual Basic Application

COBOL JAVAApplication

.NET Application

Page 16: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation16SOA-8: Orchestrate your OpenEdge Applications with Sonic

We’re not there yet...

• User security & Maintenance?

• Guaranteed availability of your application (SLA)

• How much time to implement a new interface?

• I have a new end user interface (HTML) that wants an immediate response

• I need centralized logging...

• I need REAL-TIME information

ABL Sales

Application

ABL

InventoryApplication

XML ASCII

Other ABL Application

CSV

FTP

Visual Basic

Application

COBOL JAVAApplicatio

n

.NET Applicatio

n

Page 17: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation17SOA-8: Orchestrate your OpenEdge Applications with Sonic

Accidental Architecture

Proprietary technologies and skill sets Multiple communication infrastructures High cost of license, consulting and ownership Complexity of inter-organizational collaboration

Rigid, Costly and Difficult to Operate Islands of integration

Page 18: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation18SOA-8: Orchestrate your OpenEdge Applications with Sonic

Use XML where you can

Eliminates fixed formats

Makes files self-describing

Can be extended without breaking

Universally understood

Start with Best Practices from Traditional Integration

Page 19: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation19SOA-8: Orchestrate your OpenEdge Applications with Sonic

Define an interface for your service

Provides standards-based services interface

Hides implementation details

Enables reuse

Add New Standards-based (Web) Services

Page 20: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation20SOA-8: Orchestrate your OpenEdge Applications with Sonic

Get process logic out of your app

Provides standards-based services interface

Designed for distributed functionality

Hides implementation details

Enables reuse

Add New Standards-based (Web) Services

Page 21: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation21SOA-8: Orchestrate your OpenEdge Applications with Sonic

Deploy an Enterprise Service Bus

Reliably Connect and Coordinate Services

Reliable communications backbone Service-oriented architecture (SOA) Intelligent routing XML transformation Extensible network

Page 22: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation22SOA-8: Orchestrate your OpenEdge Applications with Sonic

ESB - an evolutionary project model

Use an evolutionary project model Use the ESB as it was designed - for incremental integration Deploy only what you need Re-use as much as feasible Avoid political and ownership issues Multiple ESB Projects

Page 23: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation23SOA-8: Orchestrate your OpenEdge Applications with Sonic

Demonstration

OpenEdge on the bus …

Page 24: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation24SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sample Scenario Part 1

We have an existing company that is capable of sending information on Media Titles to different applications.

Titles will be displayed in the application depending on their type.

We implemented this on the ESB because we wanted to avoid the Accidental Architecture.

CBR

Page 25: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation25SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sample Scenario Part 2

Our Partner wants to re-use the end application• It is a French company which results in different XML

• They only make files available through the FTP protocol

Challenge• Re-use the existing software

• Easy deployment

• FTP Adapter

FTP CBRXSLT

Page 26: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation26SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sample Scenario Part 3

A second partner wants to use the same end applications• Customer is only willing to communicate over e-Mail• Customer is sending 1 file with multiple titles and types

Challenge• Re-Use the end application• Connect to a mail system• Split the message into multiple messages

E-Mail CBRXSLT

Page 27: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation27SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sample Scenario Part 4

A third partner wants to use the same end applications• Customer is only willing to use IE.

• Customer is calling a post on the IE Form

Challenge• Re-Use the end application

• Communicate using HTTP

• Convert the message from IE format to XML

CBRHTTP

Page 28: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation28SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sample Scenario Part 5

We would like to have all the transmitted titles and media-types in a database

The database represents a client implementation at the receiving level

Challenge

• The database service environment is not always on-line

• The data needs to be reachable from the web through an OpenEdge service

CBR

RDBMS

DB Service

Page 29: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation29SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Integration Suite

TransportationTransportation IntegrationIntegration OrchestrationOrchestration

Page 30: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation30SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic ESB® (enterprise service bus)

Page 31: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation31SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Orchestration Server®

Page 32: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation32SOA-8: Orchestrate your OpenEdge Applications with Sonic

OrchServer

PoS

SFAERP

SCM

Front Office

Sonic Orchestration Server

ESB-enabled Process Modeling Process Execution Business Process Monitoring

Finance

SCM

AdapterCRM

TrackingService

Adapter

Orchestrate and Monitor Sophisticated Business Processes

PartnerBack Office

Field CRM

Right Front Corner

Note to designer...this linerepresents the break

between the two sections ofthe orchestration layer (right

side starts here)

Note to designer...this linerepresents the break

between the two sections ofthe orchestration layer (left

side starts here)

Page 33: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation33SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Orchestration Server

SONIC ORCHESTRATION SERVER

Call

Finish

Finish

Join

Decision

Process

BackOrder

Reject

SplitFinish

Priority

Credit

Availability

Process Model

Page 34: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation34SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Orchestration Server

Finish

Finish

Join

Decision

Process

SONIC ORCHESTRATION SERVER

BackOrder

Reject

SplitCallFinish

Priority

Credit

Availability

Page 35: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation35SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Orchestration Server

Finish

Finish

Join

Decision

Process

SONIC ORCHESTRATION SERVER

BackOrder

Reject

SplitCallFinish

Priority

Credit

Availability

Page 36: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation36SOA-8: Orchestrate your OpenEdge Applications with Sonic

Sonic Orchestration Server

Finish

Finish

Join

Decision

Process

SONIC ORCHESTRATION SERVER

BackOrder

Reject

SplitCallFinish

Priority

Credit

Availability

Page 37: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation37SOA-8: Orchestrate your OpenEdge Applications with Sonic

Demonstration

Orchestrate your OpenEdge Apps …

Page 38: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation39SOA-8: Orchestrate your OpenEdge Applications with Sonic

In Summary

SOA is a process…you can take it step by step…BUT you have to start stepping!

ESB provides you with lot’s of things OUT-OF-THE-BOX. Don’t try to reinvent the wheel...

This is proven technology! We have programs and design patterns to migrate to SOA / ESB architectures.

Page 39: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation40SOA-8: Orchestrate your OpenEdge Applications with Sonic

For More Information, go to…

OpenEdge Integration Portfolio• http://www.progress.com/products/integrate/index.ssp

Sonic Product Suite• http://www.sonicsoftware.com/

Page 40: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation41SOA-8: Orchestrate your OpenEdge Applications with Sonic

Relevant Exchange Sessions

SOA-1 Fundamentals of an SOA

Rob Straight

SOA-2 OpenEdge 10.1A Adapters for Sonic MQ

Cheryl Labarge

SOA-4 Introducing Sonic SOA Suite 7.0

Paul Moxon

SOA-7 Designing Sonic ESB services and processes for the OpenEdge Developer

Dave Cleary

Page 41: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation42SOA-8: Orchestrate your OpenEdge Applications with Sonic

Education References

XML Essentials 4GL Development with XML OpenEdge Development with Sonic ESB What’s new in OpenEdge 10.1A: Sonic

Integration Opening 4GL Applications to Web Services

Clients

Page 42: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation43SOA-8: Orchestrate your OpenEdge Applications with Sonic

Questions?

Page 43: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation44SOA-8: Orchestrate your OpenEdge Applications with Sonic

Thank you foryour time

Page 44: SOA-8: Orchestrate your OpenEdge® Applications with Sonic OpenEdge and the Bus... Jiri De Jagere Product Consultant

© 2006 Progress Software Corporation45SOA-8: Orchestrate your OpenEdge Applications with Sonic