Presentation is loading. Please wait.

Presentation is loading. Please wait.

C10: Getting Rejected on the Bus How OpenEdge ® Developers Deal with Failure Chris James Senior Consultant.

Similar presentations


Presentation on theme: "C10: Getting Rejected on the Bus How OpenEdge ® Developers Deal with Failure Chris James Senior Consultant."— Presentation transcript:

1 C10: Getting Rejected on the Bus How OpenEdge ® Developers Deal with Failure Chris James Senior Consultant

2 © 2008 Progress Software Corporation 2 “It is possible to fail in many ways… while to succeed is possible in only one way” Aristotle – Greek philosopher

3 © 2008 Progress Software Corporation 3 OpenEdge and Sonic ™ ESB  You can align business and IT goals using Sonic and OpenEdge in your SOA  You can create robust and flexible business applications  You can handle failures in your infrastructure, applications, or data

4 © 2008 Progress Software Corporation 4 Agenda  Sonic ESB Endpoints  Faults and rejected messages  Quality of Service (QOS) and Message Time To Live (TTL)  Application architecture and AppServer ™ operating modes  Fault processing options  AppServer Down!!!! Dealing with rejection on the bus

5 © 2008 Progress Software Corporation 5 Terminology  Service Your OpenEdge based application exposed to Sonic ESB through the Sonic Adapter  Process A Sonic ESB process that uses an itineary to execute 1 or more operations on 1 or more services  Container A Sonic managed executable process that hosts processes and services

6 © 2008 Progress Software Corporation 6 Sonic ESB Endpoints  Destination where ESB services and processes send and receive messages  Can be associated with a Queue or Topic  4 defined Endpoint types for Services Entry (required for services) Exit (usually ReplyTo) Fault RME

7 © 2008 Progress Software Corporation 7 OpenEdge ESB Adapter Architecture Database AppServer Adapter Entry Endpoint Exit Endpoint Fault Endpoint Rejected Endpoint

8 © 2008 Progress Software Corporation 8 Faults and Rejected Messages  Rejected Messages Invalid message types Invalid data Adapter exceptions Failure to send result  Fault Messages Infrastructure issues Applications errors (RETURN ERROR)  Service has Fault and Rejected Message endpoints

9 © 2008 Progress Software Corporation 9 Anatomy of a Rejected Message OPENEDGE_INVOCATION_ERROR <rejectedLocation container="dev_OpenEdgeTest" host="pcdcleary" process="CheckCustomer" serviceApplication="dev.OpenEdge" step="Find Customer" topLevelProcess="CheckCustomer"/> {Error message and stack trace}

10 © 2008 Progress Software Corporation 10 Anatomy of a Fault Message Fault String: SessionPool : NoAvailableSessions[Could not connect to the AppServer: General Error: Connection refused: connect. (7203)] com.progress.open4gl.dynamicapi.SessionPool.NoAv ailableSessionsException Fault String: SessionPool : NoAvailableSessions[Could not connect to the AppServer: General Error: Connection refused: connect. (7203)] com.progress.open4gl.dynamicapi.Sessio nPool.NoAvailableSessionsException

11 © 2008 Progress Software Corporation 11 Quality of Service  Best Effort Default Messages may be lost or redelivered  At Least Once No lost messages May be redelivered  Exactly Once Most reliable No lost or redelivered messages

12 © 2008 Progress Software Corporation 12 Message Time To Live  Specifies a timeout on a process  Messages that timeout sent to RME  Default is 0 (no timeout)

13 © 2008 Progress Software Corporation 13 Configuring Properties  Service Fault and Rejected Message endpoints Can be overridden by process  Endpoint Entry endpoint specifies QOS Process sets minimum QOS  Process Time to Live

14 © 2008 Progress Software Corporation 14 Application Architecture and Operating Modes  Sonic container and OpenEdge AppServer treated as single unit Sonic provides networking Fewer faults due to AppServer availability ESB Service and OpenEdge AppService same  Session-free operating mode recommended Each operation does complete unit of work No state saved on AppServer Persistent procedures defeat this architecture

15 © 2008 Progress Software Corporation 15 Session-managed and Persistent Procedure Issues  Requires three calls for a single operation  Saves state on AppServer even with Session- free  AppServer still bound due to fault or rejected message  Limits scalability  Enable Intra-Container messaging to mitigate issues

16 © 2008 Progress Software Corporation 16 Fault Processing Options  Settable per operation  Fault Only (Default) Original message lost  Fault and Original message Original message can be remediated and resubmitted  Rejected and Original message Same as above, but rejected format  Continue process with Fault

17 © 2008 Progress Software Corporation 17 Fault Processing Options

18 © 2008 Progress Software Corporation 18 Booking a Vacation Client Flight Booking Coordinator Service Hotel BookingCar Booking

19 © 2008 Progress Software Corporation 19 Book Hotel Room Process

20 © 2008 Progress Software Corporation 20 Checking Availability  Yes, there are rooms available Process/transaction continues  No, there are not rooms available Entire transaction fails  I don’t know if rooms are available AppServer down No available agents

21 © 2008 Progress Software Corporation 21 Fix problem and resubmit

22 © 2008 Progress Software Corporation 22 AppServer Down Demo!!!

23 © 2008 Progress Software Corporation 23 Agenda  Sonic ESB Endpoints  Faults and rejected messages  Quality of Service (QOS) and Message Time To Live (TTL)  Application architecture and AppServer operating modes  Fault processing options  AppServer Down!!!! Dealing with rejection on the bus

24 © 2008 Progress Software Corporation 24 In Summary  You can align business and IT goals using Sonic and OpenEdge  You can create robust and flexible business applications  You can handle failures in your infrastructure, applications, or data

25 © 2008 Progress Software Corporation 25 For More Information, go to…  PSDN Introducing Native Invocation with the OpenEdge Adapter for Sonic ESBIntroducing Native Invocation with the OpenEdge Adapter for Sonic ESB Progress Sonic ESB Developers Guide - Resubmit SampleProgress Sonic ESB Developers Guide - Resubmit Sample  Progress eLearning Community: OpenEdge Development with Sonic ESB Designing ESB Processes Orchestrating Services with Sonic BPEL ServerOrchestrating Services with Sonic BPEL Server

26 © 2008 Progress Software Corporation 26 Relevant PTW Sessions  C4: Common Applications for Sonic ESB  C8: Getting the Most Out of Sonic Workbench

27 © 2008 Progress Software Corporation 27 Questions ?

28 © 2008 Progress Software Corporation 28 Thank You

29 © 2008 Progress Software Corporation 29


Download ppt "C10: Getting Rejected on the Bus How OpenEdge ® Developers Deal with Failure Chris James Senior Consultant."

Similar presentations


Ads by Google