Little Known Tips & Tricks from Across the Oracle SOA Landscape

download Little Known Tips & Tricks from Across the Oracle SOA Landscape

of 72

  • date post

    17-Jul-2015
  • Category

    Technology

  • view

    120
  • download

    3

Embed Size (px)

Transcript of Little Known Tips & Tricks from Across the Oracle SOA Landscape

  • Ahmed Aboulnaga Technical Director Raastech

    Little Known Tips & Tricks from Across the Oracle SOA Landscape

    Manchester Central Convention Complex Exchange 8

    December 2, 2013 12:45 13:45

  • Raastech, Inc. 2013 | All rights reserved. Slide 2 of 72 raastech.com

    About Me

    Ahmed Aboulnaga

    18+ years of Oracle middleware experience

    Focus on Oracle Fusion Middleware, with emphasis on SOA, identity management, and portal technologies

    Oracle ACE, OCE, OCA

    Author / Presenter / Blogger

    President of WMOUG / EGOUG

  • Raastech, Inc. 2013 | All rights reserved. Slide 3 of 72 raastech.com

    About Raastech

    Systems integrator founded in 2009

    Headquartered in the Washington DC area

    Specializes in Oracle Fusion Middleware

    Oracle Gold Partner & Reseller

    Oracle SOA Suite Specialized

    Certified staff in multiple disciplines

    OCE, OCA, ITIL, CISSP, PMP, etc.

    Continued contributions to the technology community

    Sponsor and volunteer of numerous users groups

    Ongoing publishing of books, articles, whitepapers, and blogs

    Regular presenters at major conferences

  • Raastech, Inc. 2013 | All rights reserved. Slide 4 of 72 raastech.com

    What is this presentation about?

    For the experienced Oracle SOA technologist

    Random tips and tricks surrounding the following product sets:

    SOA Suite 11g

    BAM 11g

    OSB 11g

    OWSM 11g

    OSR 11g

    Goal is to share things you may never have heard about or come across

  • Raastech, Inc. 2013 | All rights reserved. Slide 5 of 72 raastech.com

    Agenda

    1. Technology Placement & Design Patterns

    2. BAM What to avoid

    3. OSB What to avoid

    4. SOA Suite What to avoid

    5. WebLogic Server What to avoid

    6. OSR What to avoid

  • Raastech, Inc. 2013 | All rights reserved. Slide 6 of 72 raastech.com

    Technology Placement

    Some overlap between:

    Mediator & BPEL

    BPEL & OSB

    OSB & Mediator

    Some customers are BPEL only shops

    Some customers are OSB only shops

    What to use?

    SOA Composite (BPEL + Mediator)

    SOA Composite (BPEL)

    OSB

  • Raastech, Inc. 2013 | All rights reserved. Slide 7 of 72 raastech.com

    BAM Reporting

    Design Patterns

    Integration

    Error Framework

    Gateway

    Always have a gateway

    Virtualization | Security | SLA management

    Integration can include any number of technologies

    Error framework is a must

    Think about transaction reporting (BAM?)

  • Raastech, Inc. 2013 | All rights reserved. Slide 8 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG *

    BAM

  • Raastech, Inc. 2013 | All rights reserved. Slide 9 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG *

    BAM

    First touch point should be a gateway, provides:

    Abstraction/virtualization SLA monitoring First line of defense Could be in DMZ

    1

  • Raastech, Inc. 2013 | All rights reserved. Slide 10 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    2 OEG

    *

    BAM

    JMS queue provides: Immediate handoff from caller Message persistence (which also supports recovery)

  • Raastech, Inc. 2013 | All rights reserved. Slide 11 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG

    1-way Async *

    BAM

    Mediator used for: Routing Calls BPEL as 1-way async

    (eliminates need for another queue)

    3

  • Raastech, Inc. 2013 | All rights reserved. Slide 12 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG

    Synchronous

    *

    BAM

    Entire sub-process is synchronous Errors bubbled up to BPEL BPEL decides how to handle

    exceptions OSB can be used for throttling or

    caching

    Throttle

    Cache

    4

  • Raastech, Inc. 2013 | All rights reserved. Slide 13 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG *

    BAM

    Create an error management framework:

    Single async service Maintains errors in a table Auto-notify by email as required

    5

  • Raastech, Inc. 2013 | All rights reserved. Slide 14 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG *

    BAM

    Create a message resubmission framework:

    Payloads persisted Manually republished to

    original queue for resubmission

    6

  • Raastech, Inc. 2013 | All rights reserved. Slide 15 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG *

    BAM

    Use BAM: To store sensor data Easily lookup state of transactions

    outside of main SOA engines Keep BAM server on separate

    physical servers

    7

  • Raastech, Inc. 2013 | All rights reserved. Slide 16 of 72 raastech.com

    Asynchronous Design Pattern

    Mediator

    BPEL

    BPEL

    OSB

    OSB

    OEG *

    Gateway

    BAM Reporting

    Error Management & Message Resubmission Frameworks

    Integration Design Pattern

  • Raastech, Inc. 2013 | All rights reserved. Slide 17 of 72 raastech.com

    Technology Placement (for Sensors)

    BPEL sensors?

    Composite sensors?

    BAM sensors?

  • Raastech, Inc. 2013 | All rights reserved. Slide 18 of 72 raastech.com

    Agenda

    1. BAM stuff

    2. OSB stuff

    3. SOA Suite stuff

    4. WebLogic stuff

    5. Integration stuff

    6. OSR stuff

  • Raastech, Inc. 2013 | All rights reserved. Slide 19 of 72 raastech.com

    Understand what BAM is designed for

    Not a data repository use OBIEE instead

    Not intended for large amounts of data (think millions of records per data object)

    Our mistake:

    Instead of composite sensors, dumped huge amount of sensor data into BAM

    Why is this a problem?

    BAM unable to handle extremely large loads effectively

    BAM reports are exceptionally weak

    Who nowadays develops web apps that run only in IE?

    Best used for aggregated data that needs to be reported against in near real-time

  • Raastech, Inc. 2013 | All rights reserved. Slide 20 of 72 raastech.com

    Weak BAM reporting capabilities

    No user sorting

    No field expansion

    Cumbersome navigation

    Weak search capabilities

  • Raastech, Inc. 2013 | All rights reserved. Slide 21 of 72 raastech.com

    BAM runs only on IE

    Yes, I know the history of BAM but still unacceptable

  • Raastech, Inc. 2013 | All rights reserved. Slide 22 of 72 raastech.com

    Dont forget about BAM purging

    People tend to forget about purging BAM Data Objects

    If data object is based on a database table:

    Simply create a scheduled PL/SQL package to purge the data

    Otherwise:

    Use BAM Alerts

  • Raastech, Inc. 2013 | All rights reserved. Slide 23 of 72 raastech.com

    Avoid BAM RMI Adapter

    BAM Adapter comes in 2 flavors; RMI and SOAP

  • Raastech, Inc. 2013 | All rights reserved. Slide 24 of 72 raastech.com

    Avoid BAM RMI Adapter

    BAM Adapter comes in 2 flavors; RMI and SOAP

    In your code:

    eis/bam/rmi

    eis/bam/soap

    Avoid RMI because:

    It is not as efficient as SOAP

    Bug in BAM Adapter leads to BPEL threads not being released

  • Raastech, Inc. 2013 | All rights reserved. Slide 25 of 72 raastech.com

    Understanding BAM inBatch=Y

    The BAM Adapter property inBatch batches requests into batches (Could this sentence sound any more messed up?)

  • Raastech, Inc. 2013 | All rights reserved. Slide 26 of 72 raastech.com

    Understanding BAM inBatch=Y

    BAM Adapter reports success 100% of the time, but pushes the data as predetermined intervals

    SOA Composite

    Instance

    SOA Composite

    Instance

    SOA Composite

    Instance

    BAM

    inBatch=N

    inBatch=N

    inBatch=N

  • Raastech, Inc. 2013 | All rights reserved. Slide 27 of 72 raastech.com

    Understanding BAM inBatch=Y

    BAM Adapter reports success 100% of the time, but pushes the data as predetermined intervals

    SOA Composite

    Instance

    SOA Composite

    Instance

    SOA Composite

    Instance

    BAM

    inBatch=Y

    inBatch=Y

    inBatch=Y

  • Raastech, Inc. 2013 | All rights reserved. Slide 28 of 72 raastech.com

    Understanding BAM inBatch=Y

    Works great, but if there is an error in a single BAM record:

    The entire batch fails

    Unknown which record failed

    Failure not always in SOA logs but sometimes in BAM logs

    BAM UP

    BAM Goes DOWN

    SOA Suite UP

    SOA Suite Goes DOWN

    Requests are batched in SOA Invocations always success

    Requests are batched in SOA Invocations always success Limit to how much can be

    batched

    Batch