SlideShare une entreprise Scribd logo
1  sur  38
Effective Fault Handling
in Oracle SOA Suite 11g
Ronald van Luttikhuizen [Vennster]
Guido Schmutz [Trivadis]

1-October-2012 | Oracle OpenWorld




                                     1|x
Guido Schmutz
• Working for Trivadis for more than 15 years
• Oracle ACE Director for Fusion Middleware and SOA
• Co-Author of different books
• Consultant, Trainer, Software Architect for Java, Oracle, SOA
  and EDA
• Member of Trivadis Architecture Board
• Technology Manager @ Trivadis

• More than 20 years of software development
  experience

• Contact: guido.schmutz@trivadis.com
• Blog: http://guidoschmutz.wordpress.com
• Twitter: gschmutz

                                                                  2|x
Ronald van Luttikhuizen
• Managing Partner at Vennster
• Oracle ACE Director for Fusion Middleware and SOA
• Author of different articles, co-author Oracle SOA Book 11g book
• Upcoming book SOA Made Simple
• Architect, consultant, trainer for Oracle, SOA, EDA, Java

• More than 10 years of software development and architecture
  experience

• Contact: ronald.van.luttikhuizen@vennster.nl
• Blog: blog.vennster.nl
• Twitter: rluttikhuizen


                                                                     3|x
Agenda

1.   What is Fault Handling ?
2.   Fault Handling in SOA vs. traditional systems
3.   Scenario and Patterns
4.   Implementation of Scenario
5.   Summary and Best Practices




                                                     4|x
What is a Fault ?

● Something happened outside normal operational activity or
  “happy flow”
  •   Technical error
  •   Programming error
  •   Faulty operation by user
  •   Exceptional business behavior
● Prevention and handling




                                                              6|x
Two Types of Faults

Business faults
● Faults that service clients can expect and recover from
● Failure to meet a particular business requirement
● Often: expected, business value, contractual and recoverable


Technical faults
● Faults that service clients do not expect and cannot (easily) recover from
● Results of unexpected errors during runtime, e.g. null pointer errors,
  resources not available, and so on
● Often: unexpected, technical, implementation and non-recoverable

                                                                          7|x
Business Fault
<wsdl:operation name="orderProduct">
  <wsdl:input message="order:OrderProductRequestMessage"/>
  <wsdl:output message="order:OrderProductResponseMessage"/>
  <wsdl:fault message="order:ProductNotInStockFaultMessage"
              name="ProductNotInStockFault"/>                        1. Service contract
  <wsdl:fault message="order:CustomerNotFoundFaultMessage"
              name="CustomerNotFoundFault"/>
                                                                         including fault
</wsdl:operation>

<xsd:element name="CustomerNotFoundFaultMessage">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="CustName" type="xsd:string"/>         2. Fault message payload
      <xsd:element name="City" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

                                                                                 8|x
Business Fault (II)
<soap:Envelope>
  <soap:Header/>
  <soap:Body>
    <soap:Fault>
                                                      3. Actual service response
      <faultcode>CST-1234</faultcode>
      <faultstring>Customer not found</faultstring>
      <detail>
        <CustomerNotFoundFault>
          <CustName>John Doe</CustName>
          <City>Long Beach</City>
        </CustomerNotFoundFault>
      </detail>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>



                                                                            9|x
Technical Fault
<wsdl:operation name="orderProduct”>
  <wsdl:input message="order:OrderProductMessage"/>
  <wsdl:output message="order:OrderProductResponseMessage"/>
  <wsdl:fault message="order:ProductNotInStockFaultMessage"
                                                                     1. Service contract
              name="ProductNotInStockFault"/>                            including fault
  <wsdl:fault message="order:CustomerNotFoundFaultMessage"
              name="CustomerNotFoundFault"/>
</wsdl:operation>


                                                               2. Actual service response
<soap:Body>
  <soap:Fault>
    <faultcode>S:Server</faultcode>
    <faultstring>Could not connect to URL 127.0.0.1 on port 8001</faultstring>
  </soap:Fault>
</soap:Body>

                                                                                 10 | x
Agenda

1.   What is Fault Handling ?
2.   Fault Handling in SOA vs. traditional systems
3.   Scenario and Patterns
4.   Implementation of Scenario
5.   Summary and Best Practices




                                                     11 | x
Fault Handling SOA vs. traditional systems

External     BPM          User      Multiple service consumers
                        Interface   Services part of larger unit
                                    Heterogeneous & external components
                                    Long running processes
              ESB
                                    Asynchronous
                                    Timed events
                                    Often enterprise-wide
Implemen-   Implemen-   Implemen-
  tation      tation      tation    Transactions


                                                               12 | x
Agenda

1.   What is Fault Handling ?
2.   Fault Handling in SOA vs. traditional systems
3.   Scenario and Patterns
4.   Implementation of Scenario
5.   Summary and Best Practices




                                                     13 | x
Old System with
                       limited scalability

Short Network
 interruptions                     No 7*24 avail. for
                                   single instance of
                                   credit card service


                                       Response
                                     sometimes get
 Fault if product is                     lost
no longer available

                            Not always
                             available




                                             14 | x
Patterns for Fault Tolerant Software

Compensation
Exception shielding
(Limit) retry
Share the load
Alternative
Exception handler
Heartbeat
Throttling

                                          15 | x
Agenda

1.   What is Fault Handling ?
2.   Fault Handling in SOA vs. traditional systems
3.   Scenario and Patterns
4.   Implementation of Scenario
5.   Summary and Best Practices




                                                     19 | x
20 | x
Product Management
Result Caching

    Result Cache


 Problem
 ● Not to overload the old, non-scalable product system with the new
   demand
 Solution
 ● Use Result Caching to cache the product information (read-only
   operation)
 ● Use Service Throttling to limit the number of concurrent requests

                                                                  21 | x
Product Management
Result Caching

 Results are returned from cache rather than always invoking the
   external service
 ● Product data is rather static, so ideal candidate for caching

   Proxy             Business      1             Product DB
  Service             Service
                 2         3

       Result
       Cache
OSB


                                                                   22 | x
Product Management
Service Throttling

  Restrict the number of messages on the message flow to a Business
    Service
              Message Buffer
   Proxy                         Business       Product
  Service                         Service         DB
OSB

  ● Set from Operational Settings on the OSB console




                                                               23 | x
Credit Card Booking
Retry Configuration


        Retry



 Problem
 ● Unstable network between us and the external services
 Solution
 ● Use Retry mechanism of OSB to try multiple times
 ● No Fault Management necessary for service consumer if network
   interruption is only for a short time

                                                                   24 | x
Credit Card Booking
Retry Configuration

  Configured on the business service in OSB
                                 1
   Proxy         Business
                             after 2s         Visa Service
  Service         Service        2
OSB
                        5x




                                                             25 | x
Credit Card Booking
Service Pooling


              Service Pooling


 Problem
 ● Credit Card Service does not guarantee 7*24 availability for one single
   instance
 Solution
 ● Use the multiple instances (endpoints) that the company provides and
   use service pooling feature of OSB
 ● No Fault Management for the service consumer if at least one endpoint
   is available
                                                                        26 | x
Credit Card Booking
Service Pooling
                           Credit Card Service instance 1
      Proxy     Business
                           Credit Card Service instance 2
     Service     Service
   OSB                     Credit Card Service instance 3




                                                            27 | x
Order History
Fault Management Framework


 Use Fault Policy Management
 In Mediator to configure retry



 Problem
 ● Order History System not available should have no impact on
   Business Process
 Solution
 ● Use Mediator with Fault Management Framework to configure retry
   independent of availability of Order History Web Service

                                                                 32 | x
Order History
  Fault Management Framework
<faultPolicyBindings version="2.0.1">
  <composite faultPolicy="OrderProcessFaultPolicy"/>
</faultPolicyBindings>


<faultPolicies>
  <faultPolicy version="2.0.1" id="OrderProcessFaultPolicy">
    <Conditions>
      <action ref="RetryAction"/>
    </Conditions>
    <Actions>
      <Action id="RetryAction">
         <Retry>
            <retryCount>3</retryCount>
            <retryInterval>2</retryInterval>
            <exponentialBackoff/>
            <retryFailureAction ref="HumanInterventionAction"/>
            <retrySuccessAction/>
         </Retry>
      </Action>
    </Actions>
  </faultPolicy>
</faultPolicies>


                                                                  33 | x
Order Handling Process
            Return errors as synchronous response
                            Problem
                            ● Both Product Management and Credit Card Booking can
           Fault Handling     return Business Faults

           Fault Handling   Solution
Reply with Fault            ● Handle errors and map them to errors returned to the
                              service consumer (i.e. the caller of the process)




                                                                               34 | x
Order Handling Process
 Return errors as synchronous response
Handle Business Faults in BPEL error handler and reply with an error




                                                                   35 | x
Order Handling Process (II)
  Handle missing callback with timeout
                    Problem
                    ● Order Processing response message can get lost in the Order
                      Processing system, i.e. the callback message will never
                      arrive in the process

                    Solution
                    ● Timeout on the Wait For Answer with a BPEL pick activity
Pick with timeout
                      with a timeout
                    ● Undo the process by doing compensation
   Compensate
                    ● Use the BPEL compensate activity together with
                      compensation handler to undo the Booking of the Credit Card

                                                                        36 | x
Order Handling Process (II)
Handle missing callback with timeout
Pick Activity for handling callback
   message with timeout branch




                 c




                                       37 | x
Order Handling Process (III)
Compensation Handling
                       Problem
                       ● Order Processing callback message can be a Product No
  Compensation           Longer Available Business Fault
  Handler

                       Solution
                       ● Undo the process by doing compensation
Handle Business        ● Use the BPEL compensate activity together with
Fault and Compensate
                         compensation handler to undo the Booking of the
                         Credit Card


                                                                      38 | x
Order Handling Process (III)
Compensation Handling
Compensate activity invokes compensation
  handling on the inner scope
• Can only be invoked from within a fault handler or
  another compensation handler




                                                       39 | x
Order Handling Process (V)
 Generic Error Handler w. Fault Policy Framework

                               Problem
                               ● Unexpected (technical) fault
Unexpected (technical) error   ● Multiple processes that deal with unexpected faults in
                                 their own way

                               Solution
                               ● Use fault handler mechanism to enqueue on error queue
                                 without adding process logic
                               ● Create one process to listen to error queue and handle
                                 faults
                               ● Retrieve process information by using (composite) sensors
                                                                                  41 | x
Order Handling Process (V)
Generic Error Handler w. Fault Policy Framework

 Explanation of generic fault handler




                                                  42 | x
Order Handling Process (V)
  Generic Error Handler w. Fault Policy Framework
<faultPolicyBindings version="2.0.1">
  <composite faultPolicy="GenericFaultPolicy"/>
</faultPolicyBindings>


<faultPolicies>
  <faultPolicy version="2.0.1" id="GenericFaultPolicy">
    <Conditions>
      <action ref="GenericAction"/>
    </Conditions>
    <Actions>
      <Action id="GenericAction">
        <javaAction className="nl.vennster.GenericHandler“ defaultAction=“HumanIntervention">
          <returnValue value="HumanIntervention" ref=" HumanIntervention"/>
        </javaAction>
      </Action>
    </Actions>
  </faultPolicy>
</faultPolicies>


<property name="oracle.composite.faultPolicyFile">oramds:/apps/fault-policies.xml</property>
<property name="oracle.composite.faultBindingFile">oramds:/apps/fault-bindings.xml</property>


                                                                                                43 | x
Agenda

1.   What is Fault Handling ?
2.   Fault Handling in SOA vs. traditional systems
3.   Scenario and Patterns
4.   Implementation of Scenario
5.   Summary and Best Practices




                                                     44 | x
Summary
Issue                                                             Solution                                        Product
Overloading product management system                             ThrottlingResult cache                          OSB
Credit Card Service does not guarantee 7*24 uptime due to e.g.    Muliple endpoints                               OSB
network problems                                                  Service pooling
Guarantee message delivery to order management system             Availability of queues                          OSB (and SOA Suite for XA
                                                                  Enqueue and dequeue in service consumer         propagation to OSB)
                                                                  transaction
Returning business fault over async MEP from order management     Separate operation and fault message            OSB and SOA Suite (callback
system                                                                                                            contract between the two)

Order history service not available                               Retry in Mediator using fault policy framework SOA Suite

Business fault handling from service to process to consumer       Catch faults in process and reply fault to      OSB and SOA Suite (correct
                                                                  consumer                                        contracts)
Detect missing response message                                   Timeout in pick activity                        SOA Suite
Handle product no longer available                                Compensation                                    SOA Suite
Avoid calling credit card booking twice                           Set non-idempotent property                     SOA Suite
Processes needing to deal with unexpected technical faults. All   Fault policy frameworks, error queue, generic   SOA Suite
processes solving it in their own way using process logic.        error handler, SOA Suite APIs & composite
                                                                  sensors.
                                                                                                                                 45 | x
Summary & Best Practices
● Differentiate between business and technical faults
● Design service contracts with faults in mind: formally describe business faults in
  service contracts
● Don’t use exceptions as goto’s
● Design with criticality, likeliness to fail, and cost in mind
● Differentiate fault patterns in OSB and BPM/BPEL
  •   OSB: Retry, throttling, transaction boundaries
  •   BPM/BPEL: Compensation, business fault handling, generic fault handler, timeout
● Handle unexpected errors generically
● Make services autonomous
● Fault-handling on scope of services and in wider perspective

                                                                                        46 | x
Thank You!                                               Vennster
                                                                 Ronald van Luttikhuizen
                                                                 ronald.van.luttikhuizen@vennster.nl

                                                                 Trivadis AG
                                                                 Guido Schmutz
                                                                 guido.schmutz@trivadis.com



BASEL   BERN   LAUSANNE   ZÜRICH   DÜSSELDORF   FRANKFURT A.M.   FREIBURG I.BR.   HAMBURG   MÜNCHEN   STUTTGART    WIEN




                                                                                                          47 | x

Contenu connexe

En vedette

Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...
Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...
Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...Data Con LA
 
IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...
IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...
IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...Kay Lerch
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseAldrin Piri
 
Comparison of various streaming technologies
Comparison of various streaming technologiesComparison of various streaming technologies
Comparison of various streaming technologiesSachin Aggarwal
 
Real-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS AzureReal-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS AzureKhalid Salama
 
Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Amazon Web Services
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend
 
How to Build Continuous Ingestion for the Internet of Things
How to Build Continuous Ingestion for the Internet of ThingsHow to Build Continuous Ingestion for the Internet of Things
How to Build Continuous Ingestion for the Internet of ThingsCloudera, Inc.
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging ChallengesAaron Irizarry
 
Exception handling
Exception handlingException handling
Exception handlingxavier john
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 
Protecting Web Services from DDOS Attack
Protecting Web Services from DDOS AttackProtecting Web Services from DDOS Attack
Protecting Web Services from DDOS AttackPonraj
 
Not Less, Not More: Exactly Once, Large-Scale Stream Processing in Action
Not Less, Not More: Exactly Once, Large-Scale Stream Processing in ActionNot Less, Not More: Exactly Once, Large-Scale Stream Processing in Action
Not Less, Not More: Exactly Once, Large-Scale Stream Processing in ActionParis Carbone
 
Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016Timothy Spann
 
Pivotal CF and Continuous Delivery
Pivotal CF and Continuous DeliveryPivotal CF and Continuous Delivery
Pivotal CF and Continuous DeliveryTimothy Spann
 
Building the Ideal Stack for Machine Learning
Building the Ideal Stack for Machine LearningBuilding the Ideal Stack for Machine Learning
Building the Ideal Stack for Machine LearningSingleStore
 

En vedette (20)

Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...
Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...
Big Data Day LA 2015 - Always-on Ingestion for Data at Scale by Arvind Prabha...
 
IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...
IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...
IoT Innovation Lab Berlin @relayr - Kay Lerch on Getting basics right for you...
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
 
Comparison of various streaming technologies
Comparison of various streaming technologiesComparison of various streaming technologies
Comparison of various streaming technologies
 
Real-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS AzureReal-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS Azure
 
Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
 
How to Build Continuous Ingestion for the Internet of Things
How to Build Continuous Ingestion for the Internet of ThingsHow to Build Continuous Ingestion for the Internet of Things
How to Build Continuous Ingestion for the Internet of Things
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Exception handling
Exception handlingException handling
Exception handling
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
Protecting Web Services from DDOS Attack
Protecting Web Services from DDOS AttackProtecting Web Services from DDOS Attack
Protecting Web Services from DDOS Attack
 
Not Less, Not More: Exactly Once, Large-Scale Stream Processing in Action
Not Less, Not More: Exactly Once, Large-Scale Stream Processing in ActionNot Less, Not More: Exactly Once, Large-Scale Stream Processing in Action
Not Less, Not More: Exactly Once, Large-Scale Stream Processing in Action
 
Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016
 
Pivotal CF and Continuous Delivery
Pivotal CF and Continuous DeliveryPivotal CF and Continuous Delivery
Pivotal CF and Continuous Delivery
 
Building the Ideal Stack for Machine Learning
Building the Ideal Stack for Machine LearningBuilding the Ideal Stack for Machine Learning
Building the Ideal Stack for Machine Learning
 

Similaire à Effective fault handling in SOA Suite 11g

Netpod - The Merging of NPM & APM
Netpod - The Merging of NPM & APMNetpod - The Merging of NPM & APM
Netpod - The Merging of NPM & APMBoni Bruno
 
Dual write strategies for microservices
Dual write strategies for microservicesDual write strategies for microservices
Dual write strategies for microservicesBilgin Ibryam
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliencyMasashi Narumoto
 
Introduction to enterprise applications capacity planning
Introduction to enterprise applications capacity planning Introduction to enterprise applications capacity planning
Introduction to enterprise applications capacity planning Leonid Grinshpan, Ph.D.
 
Avoiding Software Insanity
Avoiding Software InsanityAvoiding Software Insanity
Avoiding Software Insanityjosephnaveen
 
Lessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at DatabricksLessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at DatabricksMatei Zaharia
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
External should that be a microservice
External should that be a microserviceExternal should that be a microservice
External should that be a microserviceRohit Kelapure
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程ITband
 
Service Ownership with PagerDuty and Rundeck: Help others help you
Service Ownership with PagerDuty and Rundeck:  Help others help you Service Ownership with PagerDuty and Rundeck:  Help others help you
Service Ownership with PagerDuty and Rundeck: Help others help you TraciMyers5
 
Solving enterprise applications performance puzzles queuing models to the r...
Solving enterprise applications performance puzzles   queuing models to the r...Solving enterprise applications performance puzzles   queuing models to the r...
Solving enterprise applications performance puzzles queuing models to the r...Leonid Grinshpan, Ph.D.
 
Cutomize sap webinar
Cutomize sap webinarCutomize sap webinar
Cutomize sap webinargabrielsyst
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Lari Hotari
 
React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)Sandeep Bamane
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Jimmy Angelakos
 
Mortgage Cadence Orchestrator Presentation
Mortgage Cadence Orchestrator PresentationMortgage Cadence Orchestrator Presentation
Mortgage Cadence Orchestrator PresentationJohnjdetwiler
 
1667 making z rules work session
1667 making z rules work session1667 making z rules work session
1667 making z rules work sessionnick_garrod
 
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...IBM Danmark
 

Similaire à Effective fault handling in SOA Suite 11g (20)

Ronald van Luttikhuizen - Effective fault handling in SOA Suite and OSB 11g
Ronald van Luttikhuizen - Effective fault handling in SOA Suite and OSB 11gRonald van Luttikhuizen - Effective fault handling in SOA Suite and OSB 11g
Ronald van Luttikhuizen - Effective fault handling in SOA Suite and OSB 11g
 
Netpod - The Merging of NPM & APM
Netpod - The Merging of NPM & APMNetpod - The Merging of NPM & APM
Netpod - The Merging of NPM & APM
 
Dual write strategies for microservices
Dual write strategies for microservicesDual write strategies for microservices
Dual write strategies for microservices
 
VAS - VMware CMP
VAS - VMware CMPVAS - VMware CMP
VAS - VMware CMP
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliency
 
Introduction to enterprise applications capacity planning
Introduction to enterprise applications capacity planning Introduction to enterprise applications capacity planning
Introduction to enterprise applications capacity planning
 
Avoiding Software Insanity
Avoiding Software InsanityAvoiding Software Insanity
Avoiding Software Insanity
 
Lessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at DatabricksLessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at Databricks
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
External should that be a microservice
External should that be a microserviceExternal should that be a microservice
External should that be a microservice
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程
 
Service Ownership with PagerDuty and Rundeck: Help others help you
Service Ownership with PagerDuty and Rundeck:  Help others help you Service Ownership with PagerDuty and Rundeck:  Help others help you
Service Ownership with PagerDuty and Rundeck: Help others help you
 
Solving enterprise applications performance puzzles queuing models to the r...
Solving enterprise applications performance puzzles   queuing models to the r...Solving enterprise applications performance puzzles   queuing models to the r...
Solving enterprise applications performance puzzles queuing models to the r...
 
Cutomize sap webinar
Cutomize sap webinarCutomize sap webinar
Cutomize sap webinar
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]
 
Mortgage Cadence Orchestrator Presentation
Mortgage Cadence Orchestrator PresentationMortgage Cadence Orchestrator Presentation
Mortgage Cadence Orchestrator Presentation
 
1667 making z rules work session
1667 making z rules work session1667 making z rules work session
1667 making z rules work session
 
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
 

Plus de Guido Schmutz

30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as Code30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as CodeGuido Schmutz
 
Event Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data ArchitectureEvent Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data ArchitectureGuido Schmutz
 
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-FormatsBig Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-FormatsGuido Schmutz
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!Guido Schmutz
 
Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?Guido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data ArchitectureEvent Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data ArchitectureGuido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) ArchitectureEvent Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) ArchitectureGuido Schmutz
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaLocation Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaGuido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache KafkaSolutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache KafkaGuido Schmutz
 
What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
 
Location Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using KafkaLocation Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using KafkaGuido Schmutz
 
Streaming Visualisation
Streaming VisualisationStreaming Visualisation
Streaming VisualisationGuido Schmutz
 
Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?Guido Schmutz
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
 
Fundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureFundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureGuido Schmutz
 
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Guido Schmutz
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 

Plus de Guido Schmutz (20)

30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as Code30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as Code
 
Event Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data ArchitectureEvent Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data Architecture
 
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-FormatsBig Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!
 
Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?
 
Event Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data ArchitectureEvent Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data Architecture
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
 
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) ArchitectureEvent Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaLocation Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache Kafka
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache KafkaSolutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
 
What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
 
Location Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using KafkaLocation Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using Kafka
 
Streaming Visualisation
Streaming VisualisationStreaming Visualisation
Streaming Visualisation
 
Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
 
Fundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureFundamentals Big Data and AI Architecture
Fundamentals Big Data and AI Architecture
 
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 

Dernier

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Dernier (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Effective fault handling in SOA Suite 11g

  • 1. Effective Fault Handling in Oracle SOA Suite 11g Ronald van Luttikhuizen [Vennster] Guido Schmutz [Trivadis] 1-October-2012 | Oracle OpenWorld 1|x
  • 2. Guido Schmutz • Working for Trivadis for more than 15 years • Oracle ACE Director for Fusion Middleware and SOA • Co-Author of different books • Consultant, Trainer, Software Architect for Java, Oracle, SOA and EDA • Member of Trivadis Architecture Board • Technology Manager @ Trivadis • More than 20 years of software development experience • Contact: guido.schmutz@trivadis.com • Blog: http://guidoschmutz.wordpress.com • Twitter: gschmutz 2|x
  • 3. Ronald van Luttikhuizen • Managing Partner at Vennster • Oracle ACE Director for Fusion Middleware and SOA • Author of different articles, co-author Oracle SOA Book 11g book • Upcoming book SOA Made Simple • Architect, consultant, trainer for Oracle, SOA, EDA, Java • More than 10 years of software development and architecture experience • Contact: ronald.van.luttikhuizen@vennster.nl • Blog: blog.vennster.nl • Twitter: rluttikhuizen 3|x
  • 4. Agenda 1. What is Fault Handling ? 2. Fault Handling in SOA vs. traditional systems 3. Scenario and Patterns 4. Implementation of Scenario 5. Summary and Best Practices 4|x
  • 5. What is a Fault ? ● Something happened outside normal operational activity or “happy flow” • Technical error • Programming error • Faulty operation by user • Exceptional business behavior ● Prevention and handling 6|x
  • 6. Two Types of Faults Business faults ● Faults that service clients can expect and recover from ● Failure to meet a particular business requirement ● Often: expected, business value, contractual and recoverable Technical faults ● Faults that service clients do not expect and cannot (easily) recover from ● Results of unexpected errors during runtime, e.g. null pointer errors, resources not available, and so on ● Often: unexpected, technical, implementation and non-recoverable 7|x
  • 7. Business Fault <wsdl:operation name="orderProduct"> <wsdl:input message="order:OrderProductRequestMessage"/> <wsdl:output message="order:OrderProductResponseMessage"/> <wsdl:fault message="order:ProductNotInStockFaultMessage" name="ProductNotInStockFault"/> 1. Service contract <wsdl:fault message="order:CustomerNotFoundFaultMessage" name="CustomerNotFoundFault"/> including fault </wsdl:operation> <xsd:element name="CustomerNotFoundFaultMessage"> <xsd:complexType> <xsd:sequence> <xsd:element name="CustName" type="xsd:string"/> 2. Fault message payload <xsd:element name="City" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> 8|x
  • 8. Business Fault (II) <soap:Envelope> <soap:Header/> <soap:Body> <soap:Fault> 3. Actual service response <faultcode>CST-1234</faultcode> <faultstring>Customer not found</faultstring> <detail> <CustomerNotFoundFault> <CustName>John Doe</CustName> <City>Long Beach</City> </CustomerNotFoundFault> </detail> </soap:Fault> </soap:Body> </soap:Envelope> 9|x
  • 9. Technical Fault <wsdl:operation name="orderProduct”> <wsdl:input message="order:OrderProductMessage"/> <wsdl:output message="order:OrderProductResponseMessage"/> <wsdl:fault message="order:ProductNotInStockFaultMessage" 1. Service contract name="ProductNotInStockFault"/> including fault <wsdl:fault message="order:CustomerNotFoundFaultMessage" name="CustomerNotFoundFault"/> </wsdl:operation> 2. Actual service response <soap:Body> <soap:Fault> <faultcode>S:Server</faultcode> <faultstring>Could not connect to URL 127.0.0.1 on port 8001</faultstring> </soap:Fault> </soap:Body> 10 | x
  • 10. Agenda 1. What is Fault Handling ? 2. Fault Handling in SOA vs. traditional systems 3. Scenario and Patterns 4. Implementation of Scenario 5. Summary and Best Practices 11 | x
  • 11. Fault Handling SOA vs. traditional systems External BPM User Multiple service consumers Interface Services part of larger unit Heterogeneous & external components Long running processes ESB Asynchronous Timed events Often enterprise-wide Implemen- Implemen- Implemen- tation tation tation Transactions 12 | x
  • 12. Agenda 1. What is Fault Handling ? 2. Fault Handling in SOA vs. traditional systems 3. Scenario and Patterns 4. Implementation of Scenario 5. Summary and Best Practices 13 | x
  • 13. Old System with limited scalability Short Network interruptions No 7*24 avail. for single instance of credit card service Response sometimes get Fault if product is lost no longer available Not always available 14 | x
  • 14. Patterns for Fault Tolerant Software Compensation Exception shielding (Limit) retry Share the load Alternative Exception handler Heartbeat Throttling 15 | x
  • 15. Agenda 1. What is Fault Handling ? 2. Fault Handling in SOA vs. traditional systems 3. Scenario and Patterns 4. Implementation of Scenario 5. Summary and Best Practices 19 | x
  • 17. Product Management Result Caching Result Cache Problem ● Not to overload the old, non-scalable product system with the new demand Solution ● Use Result Caching to cache the product information (read-only operation) ● Use Service Throttling to limit the number of concurrent requests 21 | x
  • 18. Product Management Result Caching Results are returned from cache rather than always invoking the external service ● Product data is rather static, so ideal candidate for caching Proxy Business 1 Product DB Service Service 2 3 Result Cache OSB 22 | x
  • 19. Product Management Service Throttling Restrict the number of messages on the message flow to a Business Service Message Buffer Proxy Business Product Service Service DB OSB ● Set from Operational Settings on the OSB console 23 | x
  • 20. Credit Card Booking Retry Configuration Retry Problem ● Unstable network between us and the external services Solution ● Use Retry mechanism of OSB to try multiple times ● No Fault Management necessary for service consumer if network interruption is only for a short time 24 | x
  • 21. Credit Card Booking Retry Configuration Configured on the business service in OSB 1 Proxy Business after 2s Visa Service Service Service 2 OSB 5x 25 | x
  • 22. Credit Card Booking Service Pooling Service Pooling Problem ● Credit Card Service does not guarantee 7*24 availability for one single instance Solution ● Use the multiple instances (endpoints) that the company provides and use service pooling feature of OSB ● No Fault Management for the service consumer if at least one endpoint is available 26 | x
  • 23. Credit Card Booking Service Pooling Credit Card Service instance 1 Proxy Business Credit Card Service instance 2 Service Service OSB Credit Card Service instance 3 27 | x
  • 24. Order History Fault Management Framework Use Fault Policy Management In Mediator to configure retry Problem ● Order History System not available should have no impact on Business Process Solution ● Use Mediator with Fault Management Framework to configure retry independent of availability of Order History Web Service 32 | x
  • 25. Order History Fault Management Framework <faultPolicyBindings version="2.0.1"> <composite faultPolicy="OrderProcessFaultPolicy"/> </faultPolicyBindings> <faultPolicies> <faultPolicy version="2.0.1" id="OrderProcessFaultPolicy"> <Conditions> <action ref="RetryAction"/> </Conditions> <Actions> <Action id="RetryAction"> <Retry> <retryCount>3</retryCount> <retryInterval>2</retryInterval> <exponentialBackoff/> <retryFailureAction ref="HumanInterventionAction"/> <retrySuccessAction/> </Retry> </Action> </Actions> </faultPolicy> </faultPolicies> 33 | x
  • 26. Order Handling Process Return errors as synchronous response Problem ● Both Product Management and Credit Card Booking can Fault Handling return Business Faults Fault Handling Solution Reply with Fault ● Handle errors and map them to errors returned to the service consumer (i.e. the caller of the process) 34 | x
  • 27. Order Handling Process Return errors as synchronous response Handle Business Faults in BPEL error handler and reply with an error 35 | x
  • 28. Order Handling Process (II) Handle missing callback with timeout Problem ● Order Processing response message can get lost in the Order Processing system, i.e. the callback message will never arrive in the process Solution ● Timeout on the Wait For Answer with a BPEL pick activity Pick with timeout with a timeout ● Undo the process by doing compensation Compensate ● Use the BPEL compensate activity together with compensation handler to undo the Booking of the Credit Card 36 | x
  • 29. Order Handling Process (II) Handle missing callback with timeout Pick Activity for handling callback message with timeout branch c 37 | x
  • 30. Order Handling Process (III) Compensation Handling Problem ● Order Processing callback message can be a Product No Compensation Longer Available Business Fault Handler Solution ● Undo the process by doing compensation Handle Business ● Use the BPEL compensate activity together with Fault and Compensate compensation handler to undo the Booking of the Credit Card 38 | x
  • 31. Order Handling Process (III) Compensation Handling Compensate activity invokes compensation handling on the inner scope • Can only be invoked from within a fault handler or another compensation handler 39 | x
  • 32. Order Handling Process (V) Generic Error Handler w. Fault Policy Framework Problem ● Unexpected (technical) fault Unexpected (technical) error ● Multiple processes that deal with unexpected faults in their own way Solution ● Use fault handler mechanism to enqueue on error queue without adding process logic ● Create one process to listen to error queue and handle faults ● Retrieve process information by using (composite) sensors 41 | x
  • 33. Order Handling Process (V) Generic Error Handler w. Fault Policy Framework Explanation of generic fault handler 42 | x
  • 34. Order Handling Process (V) Generic Error Handler w. Fault Policy Framework <faultPolicyBindings version="2.0.1"> <composite faultPolicy="GenericFaultPolicy"/> </faultPolicyBindings> <faultPolicies> <faultPolicy version="2.0.1" id="GenericFaultPolicy"> <Conditions> <action ref="GenericAction"/> </Conditions> <Actions> <Action id="GenericAction"> <javaAction className="nl.vennster.GenericHandler“ defaultAction=“HumanIntervention"> <returnValue value="HumanIntervention" ref=" HumanIntervention"/> </javaAction> </Action> </Actions> </faultPolicy> </faultPolicies> <property name="oracle.composite.faultPolicyFile">oramds:/apps/fault-policies.xml</property> <property name="oracle.composite.faultBindingFile">oramds:/apps/fault-bindings.xml</property> 43 | x
  • 35. Agenda 1. What is Fault Handling ? 2. Fault Handling in SOA vs. traditional systems 3. Scenario and Patterns 4. Implementation of Scenario 5. Summary and Best Practices 44 | x
  • 36. Summary Issue Solution Product Overloading product management system ThrottlingResult cache OSB Credit Card Service does not guarantee 7*24 uptime due to e.g. Muliple endpoints OSB network problems Service pooling Guarantee message delivery to order management system Availability of queues OSB (and SOA Suite for XA Enqueue and dequeue in service consumer propagation to OSB) transaction Returning business fault over async MEP from order management Separate operation and fault message OSB and SOA Suite (callback system contract between the two) Order history service not available Retry in Mediator using fault policy framework SOA Suite Business fault handling from service to process to consumer Catch faults in process and reply fault to OSB and SOA Suite (correct consumer contracts) Detect missing response message Timeout in pick activity SOA Suite Handle product no longer available Compensation SOA Suite Avoid calling credit card booking twice Set non-idempotent property SOA Suite Processes needing to deal with unexpected technical faults. All Fault policy frameworks, error queue, generic SOA Suite processes solving it in their own way using process logic. error handler, SOA Suite APIs & composite sensors. 45 | x
  • 37. Summary & Best Practices ● Differentiate between business and technical faults ● Design service contracts with faults in mind: formally describe business faults in service contracts ● Don’t use exceptions as goto’s ● Design with criticality, likeliness to fail, and cost in mind ● Differentiate fault patterns in OSB and BPM/BPEL • OSB: Retry, throttling, transaction boundaries • BPM/BPEL: Compensation, business fault handling, generic fault handler, timeout ● Handle unexpected errors generically ● Make services autonomous ● Fault-handling on scope of services and in wider perspective 46 | x
  • 38. Thank You! Vennster Ronald van Luttikhuizen ronald.van.luttikhuizen@vennster.nl Trivadis AG Guido Schmutz guido.schmutz@trivadis.com BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 47 | x