Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Oracle Service Bus 11g new features for the integration developers
Dmitry Nefedkin ISV Migration Center FMW Technical Consultant
Agenda
Product Overview, Key features and benefits OSB 11g new features
Service result caching JCA Transport Enhancement Custom XPath functions Transactional Message Flows Native java support
<Insert Picture Here>
Service Virtualization
Content Based Routing
Transformation Service Chaining
Configuration Framework
Change Center Validation
Import / Export
Unified Security
Authentication Authorization Identity Sign/Encrypt
Adaptive Messaging
HTTP/S JCA
JMS
SBL JDE PSFT EBS SAP WSRM REST MQ SMTP FTP File
Application
Service Application Service Service Service
EJB
SAP
<2.0>
CSR App
<1.0> <2.0>
Service Bus
Expense Reimbursement Process
SOAP
Transform
JMS
FTP
SOAP
JMS
Transform
Enabling Agility
With an Enterprise-Class Service Bus
High-speed Intermediary Connect once; loosely coupled Promote service re-use Unlimited scalability Visibility into messages Benefits of Agility Adapt to change Improve re-use
Service Service Service Service Service
Service
Service
Service
Manage risk
10
10
12
Service Provider
Legacy
Service Consumer
Problem External service is invoked every time for results that may be reasonably static Eg. Product details, discount info Solution Service Result Caching Benefits Faster response times to clients/users Reduce load on potentially slow (legacy) backend systems Cache data is always consistent and available Operational ease in managing cache capacity
13
13
Service Provider
Legacy
Service Consumer
Primary Node
Backup Node
B
14
14
Single cache for ALL business services Only valid/correct results from Business Services cached
Errors are NOT cached
15
15
Cache Key
Service Ref + Operation + Cache Token
Cache Value
Result from invoking Business Service
Cache TTL
How long the result is kept in the cache
16
16
Cache TTL
Can be generated based on request or response message Can be set in the pipelne <0 0 $outbound/ctx:request/ctx:cache-ttl Not No expiry Default is 5 minutes
cached
17
17
18
18
19
19
20
20
How often the cache is hit How often the cache is hit compared to the total number of calls
21
21
22
(Proxy Service)
Cache Token is the requisition id Expiration Time is 1 minute Represented in the demo by the RequisitionProvider (ProxyService) which
Legacy
23
23
24
25
25
26
26
27
27
- Right click menu on JCA file provides link for generating JCA service
28
28
JCA Service
Concrete WSDL
JCA Resource
Abstract WSDL
XSD/Schema
29
29
31
31
32
33
OSB built-in extensions fn-bea:uuid Oracle XQuery 1.0 engine fn-bea:isUserInRole Custom functions ns0:myfunc
34
34
35
35
OSB Runtime
Added to OSB
XQuery Engine
classpath
JAR File
JAR File
36
36
(optional) Group id
(key in .properties)
37
37
<xpf:function>
<xpf:name>reverse</xpf:name> <xpf:comment>%FUNC_REVERSE_COMMENT%</xpf:comment> <xpf:namespaceURI>http://www.oracle.com/sample/osb/custom/StringUtils</xpf:namespaceURI>
<xpf:className>com.oracle.sample.osb.custom.StringUtils</xpf:className>
<xpf:method>java.lang.String reverse(java.lang.String)</xpf:method> <xpf:isDeterministic>true</xpf:isDeterministic> <xpf:scope>Pipeline</xpf:scope>
<xpf:scope>SplitJoin</xpf:scope>
</xpf:function> </xpf:category> </xpf:xpathFunctions>
38
39
39
40
41
JMS
JMS
43
43
44
44
45
45
46
46
47
47
48
48
49
50
EJB JMS
JMS
HTTP SOAP
52
52
53
53
POJOs
Transport Layer
$body
Request Pipeline
Key1={obj}
<ctx:java-content ref=key1/>
54
54
Message format
<soap:Body> <tes:some-method xmlns:tes=default/someURI" <arg0>99</arg0> <arg1>true</arg1> <arg2><con:java-content ref=key1 xmlns:con="http://www.bea.com/wli/sb/context/></arg2> <arg3><someXML .../></arg3> </tes:some-method> </soap:Body>
Client Application
Method1 Result
Inbound EJB Transport exposes the Pipeline as a Stateless Session Bean Communication between the client and proxy service is an EJB invocation Client defines the SLSB interface exposed by the JEJB Proxy service EJB artifacts are generated on the fly at the time of proxy creation Transaction and security context is propagated from the client into the Bus
56
56
57
57
Client Jar contains the remote/home or business interfaces to be exposed by the proxy service. User selects
the EJB interface to be exposed by the JEJB Proxy service
58
58
Enterprise Services
Result
EJB
Response Pipeline
Outbound EJB Transport is targeted to invoking Stateless Session Beans from the Pipeline Transaction and security context is propagated from JEJB business Service to the external EJB
59
59
60
60
Security Information
Client Jar
Client Jar contains the remote/home or business interfaces to be accessed by the Business Service. User selects
the EJB Interface to be accessed by the JEJB Business service
61
61
JMS Proxy
JMS Queue
Object Message
$body
Request Pipeline
Object Message
JMS Queue
62
JMS Services configured with Messaging type Java can receive/send JMS Objects messages Java Object Support for both JMS inbound and outbound
62
Service Type
A new Messaging Service sub-type Java for configuring Java Object support in JMS
63
63
64
64
65
66
OSB samples: https://www.samplecode.oracle.com/sf/go/page1498 OSB Workshops provided by ISV Migration Center. If you want to attend the workshop, please contact Ruxandra Radulescu at ruxandra.radulescu@oracle.com
67
Q&A
Dmitry Nefedkin ISV Migration Center FMW Technical Consultant Dmitry.Nefedkin@oracle.com
68
69
70