Title: SOA-8: Orchestrate your OpenEdge
1SOA-8 Orchestrate your OpenEdge Applications
with Sonic
Jiri De Jagere
Product Consultant
2Session Goals
Orchestrate your OpenEdge Applications with Sonic
- Introduction of Sonic products
- How can the ABL interact with Sonic?
- What advantages do Sonic technologies offer?
3Sonic Integration Suite
- Transportation
- Integration
- Orchestration
4Java Message Service
What is JMS?
- 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
5Messaging Domains
Reservations Ticketing Order fulfillment Online
trading
Stock ticker Price changes Catalog updates Data
replication
6Guaranteed Delivery
Ensures Reliable Messaging
Publisher
Subscriber
SonicMQ
Inventory
Retail
2-Disconnect
7-Publish() method returns
RecoveryLog
5-Message retained in persistent store
7Infrastructure in Detail
Sonic Infrastructure Messaging
- 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
- Architected for high capacity
- Connections gt 2000
- Destinations gt 80,000
- Messages gt 8,000/s (persistent)
- Latency lt 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
8Continuous Availability Architecture (CAA)
When communication broker fails
9OpenEdge with SonicMQ
- 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?
ABL Client
ABL BL
OpenEdge Adapter for SonicMQ
ABL Client
ABL BL
SonicMQ
10OpenEdge 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
OpenEdge Adapter for SonicMQ
SonicMQ Broker
4GL Client
11OpenEdge 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
12OpenEdge 10.1A with SonicMQ
- OpenEdge Adapter for SonicMQ ServerConnect
- Same as ClientConnect
- Better resource sharing
SonicMQ Broker
13Sonic Integration Suite
- Transportation
- Integration
- Orchestration
14Example of accidental architecture
ABL Sales Application
ABL InventoryApplication
15What if it gets a little more complex?
Other ABL Application
CSV
16Were 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
17Accidental Architecture
Rigid, Costly and Difficult to Operate
- Proprietary technologies and skill sets
- Multiple communication infrastructures
- High cost of license, consulting and ownership
- Complexity of inter-organizational collaboration
SCM
Integration Broker
CRM
Tracking Service
Adapter
Adapter
Order Entry
ERP
CRM
SCM
Partner
Finance
Enterprise
18Use XML where you can
Start with Best Practices from Traditional
Integration
- Eliminates fixed formats
- Makes files self-describing
- Can be extended without breaking
- Universally understood
SCM
Integration Broker
CRM
Tracking Service
Adapter
Adapter
Order Entry
ERP
CRM
SCM
Partner
Finance
Enterprise
19Define an interface for your service
Add New Standards-based (Web) Services
- Provides standards-based services interface
- Hides implementation details
- Enables reuse
SCM
Integration Broker
CRM
Tracking Service
Adapter
Adapter
Order Entry
ERP
CRM
SCM
Partner
Finance
Enterprise
20Get process logic out of your app
Add New Standards-based (Web) Services
- Provides standards-based services interface
- Designed for distributed functionality
- Hides implementation details
- Enables reuse
SCM
Integration Broker
CRM
Tracking Service
Adapter
Adapter
Order Entry
ERP
CRM
SCM
Partner
Finance
Enterprise
21Deploy an Enterprise Service Bus
Reliably Connect and Coordinate Services
- Reliable communications backbone
- Service-oriented architecture (SOA)
SCM
Integration Broker
CRM
Tracking Service
Adapter
Adapter
Order Entry
ERP
CRM
SCM
Partner
Finance
Enterprise
22ESB - 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
Adapter
SCM
Integration Broker
CRM
Tracking Service
Adapter
Adapter
Adapter
Mainframe Applications
Order Entry
Partner and Suppliers
ERP
SCM
J2EE Finance App
PC App
Enterprise
PC App
PC App
23Demonstration
OpenEdge on the bus
24Sample 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
25Sample 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
CBR
XSLT
FTP
26Sample 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
CBR
XSLT
E-Mail
27Sample 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
CBR
HTTP
28Sample 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
DB Service
RDBMS
29Sonic Integration Suite
- Transportation
- Integration
- Orchestration
30Sonic ESB (enterprise service bus)
ENTERPRISE SERVICE BUS (ESB)
ENTERPRISE-CLASS COMMUNICATIONS BACKBONE
31Sonic Orchestration Server
32Sonic Orchestration Server
Orchestrate and Monitor Sophisticated Business
Processes
- ESB-enabled
- Process Modeling
- Process Execution
- Business Process Monitoring
OrchServer
Adapter
CRM
PoS
Finance
Adapter
SCM
SFA
SCM
Field
TrackingService
Back Office
Partner
Front Office
33Sonic Orchestration Server
Process Model
SONIC ORCHESTRATION SERVER
34Sonic Orchestration Server
SONIC ORCHESTRATION SERVER
Credit
Finish
BackOrder
Priority
Split
Call
Finish
Process
Decision
Finish
Availability
Reject
35Sonic Orchestration Server
SONIC ORCHESTRATION SERVER
Credit
Finish
BackOrder
Priority
Split
Call
Finish
Process
Decision
Finish
Availability
Reject
36Sonic Orchestration Server
SONIC ORCHESTRATION SERVER
Credit
Finish
BackOrder
Priority
Split
Call
Finish
Process
Decision
Finish
Availability
Reject
37Demonstration
Orchestrate your OpenEdge Apps
38Sample Scenario
- Movies need to be awarded stars, best buy labels
and age ratings before they are processed
CBR
Split
Join
39In Summary
- SOA is a processyou can take it step by
stepBUT you have to start stepping! - ESB provides you with lots of things
OUT-OF-THE-BOX. Dont try to reinvent the
wheel... - This is proven technology! We have programs and
design patterns to migrate to SOA / ESB
architectures.
40For More Information, go to
- OpenEdge Integration Portfolio
- http//www.progress.com/products/integrate/index.s
sp - Sonic Product Suite
- http//www.sonicsoftware.com/
41Relevant 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
42Education References
- XML Essentials
- 4GL Development with XML
- OpenEdge Development with Sonic ESB
- Whats new in OpenEdge 10.1A Sonic Integration
- Opening 4GL Applications to Web Services Clients
43Questions?
44Thank you foryour time
45(No Transcript)