soa-8: orchestrate your openedge® applications with sonic openedge and the bus... jiri de jagere...
TRANSCRIPT
SOA-8: Orchestrate your OpenEdge® Applications with Sonic
OpenEdge and the Bus ...
Jiri De JagereProduct 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
© 2006 Progress Software Corporation3SOA-8: Orchestrate your OpenEdge Applications with Sonic
Sonic Integration Suite
TransportationTransportation IntegrationIntegration OrchestrationOrchestration
© 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?
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 2006 Progress Software Corporation13SOA-8: Orchestrate your OpenEdge Applications with Sonic
Sonic Integration Suite
TransportationTransportation IntegrationIntegration OrchestrationOrchestration
© 2006 Progress Software Corporation14SOA-8: Orchestrate your OpenEdge Applications with Sonic
Example of accidental architecture
ABL Sales
Application
ABL Inventory
Application
XML ASCII
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 2006 Progress Software Corporation23SOA-8: Orchestrate your OpenEdge Applications with Sonic
Demonstration
OpenEdge on the bus …
© 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
© 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
© 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
© 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
© 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
© 2006 Progress Software Corporation29SOA-8: Orchestrate your OpenEdge Applications with Sonic
Sonic Integration Suite
TransportationTransportation IntegrationIntegration OrchestrationOrchestration
© 2006 Progress Software Corporation30SOA-8: Orchestrate your OpenEdge Applications with Sonic
Sonic ESB® (enterprise service bus)
© 2006 Progress Software Corporation31SOA-8: Orchestrate your OpenEdge Applications with Sonic
Sonic Orchestration Server®
© 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)
© 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
© 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
© 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
© 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
© 2006 Progress Software Corporation37SOA-8: Orchestrate your OpenEdge Applications with Sonic
Demonstration
Orchestrate your OpenEdge Apps …
© 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.
© 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/
© 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
© 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
© 2006 Progress Software Corporation43SOA-8: Orchestrate your OpenEdge Applications with Sonic
Questions?
© 2006 Progress Software Corporation44SOA-8: Orchestrate your OpenEdge Applications with Sonic
Thank you foryour time
© 2006 Progress Software Corporation45SOA-8: Orchestrate your OpenEdge Applications with Sonic