& more in 2007 • 15 years Oracle WebLogic and Middleware • Consulting and High-End Training • Three Oracle / Cloud books • @frankmunz on Twitter 2 Frank Munz 2016
SOA. Will introduce and explain ... • EAI • BPM (Oracle BPM) • BPEL (Oracle SOA Suite) ... and then see what role an OSB takes in SOA. Frank Munz 2016 #6
technical protocols • You need to deploy the solution (EAR / JVM), like the old BEA WLI, Tibco Businessworks • Does NOT support real business processes -> Technical level, NOT business level -> No long running processes (e.g. 10 years?) -> Not good in versioning -> Oracle Service Bus can do better Slide #7 Frank Munz 2016
sense for business • Human interaction: Forms etc. • Long running processes supported (e.g. 2 yearly vehicle inspection stickers, TÜV) • Support different versions of long running processes • Adaptive Case Management (ACM) -> Oracle BPM provides all the above Frank Munz 2016 #10
driven! • Service bus is stateless • Supported protocols same as for EAI broker • Not BPM, not BPEL, and more than EAI -> Service Virtualization Layer -> Oracle Service Bus Slide #11 Frank Munz 2016
the discrete functions contained in enterprise applications into interoperable, standards-based services that can be combined and reused quickly to meet business needs.“ from BEA / Oracle Frank Munz 2016 #12
BPEL (technical flow) Service Bus Java EE .NET Go Scala Governance Repository Registry BPMN (human Workflow) Monitoring ErrHospital ESB and SOA: The Big Picture Frank Munz 2016 14
automatically logical variable Purpose $header SOAP header for SOAP Else: empty <soap:Header/> $body SOAP body for SOAP Else: <soap:Body> with entire payload $attachements SOAP attachements $fault typed error information $inbound service, transport and security information of inbound protocol $outbound outbound protocol $operation current operation
-> central location for security -> WS-Security standard based • Inbound security (client to OSB) • Outbound (OSB to service implementation) • Authentication / Authorization • Encrypt transport layer or message part Frank Munz 2016 #25
• Schema Transformation and Validation • Service Aggregation • Load balancing, Clustering for Availability • Security • Monitoring Configuration driven, stateless, and (incredibly) fast Frank Munz 2016 #29
Installer, comes with JDeveloper – No extra DB needed – Used built-in WLS with compact domain – Cannot be extended for prod – Can we optimize it? Remove SOA Suite part?
JavaScript engine • Works for REST and non-REST • Quick and flexible – Easier than Java callout: no .jar file – Can access your .jar file Frank Munz 2016 #37
a variable process • Use process variable and JS dot notation to access variables: pl = process.body ; process.numberIterations = 7 ; Frank Munz 2016 #38
(or make) • Supports versioning and local repos of resources. • Central file pom.xml • Maven support in modern IDEs like Netbeans, also in JDeveloper12c (but broken) • Recommended read: https://community.oracle.com/thread/3672819?start=0&t start=0 Frank Munz 2016 #40
PS listening to JMS Q is a MDB with poolsize 16. many msg -> too much garbage created on heap • Review architecture if ESB is the right solution • For PS listening to Q consider maxTConstr 1..2 • Sometimes even maxTConstr does not fix it, OSB is still too fast Frank Munz 2016 #55
invocation / Q troughput • Can try tuning GC – higher eden size for generational GC – Different GC (throughput vs. latency vs. G1 collector) Frank Munz 2016 #56
Systems in production can lock up even after years working well because of threading issues • Make sure a single service cannot take down OSB • Not easy to understand Frank Munz 2016 #57
but PS threads are all blocked: • Configure BS and to use separate WM for with small minTConstr to prevent deadlocks. – WM settings for BS applies to response pipeline of PS – Size of minTConstraint = 1 – SBDefaultResponseWM as of 11.x Frank Munz 2016 #58
Deadlock prevention (minTConstr) – Overload protection (maxTConstr) – Monitoring (WMs are shown in admin console) • Shared WMs are possible but bring other issues – Oracle recommends them Frank Munz 2016 #60
on AWS, GCP -> we know this since 5 years • Check out ICS and SOA CS instead • SOA CS is marketed as iPaaS = integration platform as a service • Let’s look at the promises: – Innovate faster – Connect more – Rapidly deliver value Frank Munz 2016 #62
and easy provisioning • 100% compatible (runs on premise SCAs) • Access to all consoles (EM, also WLS admin) • Easy scaling • One click ZDT patching • Automated Backup Frank Munz 2016 #64