Title: Application Integration
1(No Transcript)
2Oracle 9iAS Application Integration Part-II
Prepared for IT620 February 27 , 2003
3Talk Outline
- Oracle Integration Concepts
- Adapters
- Native Event and Native Role
- Translating (Native Event) to Application Event
and Application Role - Transformation (of Application Event) to Business
Event and Business Role - Pointers to More Information
4Oracles Integration Concepts
5Integration Concept Categories
- Event are indications of state changes within
parties that require a reaction from other
parties. - Process define how events are executed, for
example sending an event from a trading partner
to a back end application requires user approval
along the way. - Party is the abstraction defining sources and
targets that need to be integrated with each
other
6Event Type
- Captures the structure of all events. Contains
- Event Header stores the meta data necessary to
manage event instances at runtime such as - the party the event instance is coming from,
- the party that it has to be sent to,
- the time of its creation,
- its life cycle state,
- a reference to its event type definition, etc.
7Event Type component
- Event Body can have any number of body
elements. A body element carries a complete set
of business data. - Example a purchase order with two body elements
- An order of a Boeing 747 represented as a body
element. - A design drawing accompanying it as another body
element.
8Terminology
Wire Message
Adapter
Back End Application
Internet
Oracle Record
Adapter
Party
Trading Partner
Adapter Framework
9Wire Message and Oracle Record
- Wire Message The format of the data outside
Oracle9iAS Integration 9.0.4 - 'real' messages like e-mail messages or queue
messages - synchronous invocations like an remote procedure
call to an SAP system - Oracle Record the representation within
Oracle9iAS Integration 9.0.4 system boundary.
10Adapters
11Adapters and J2EE Connector Architecture (JCA)
- JCA is a Java standard architecture for
connecting and accessing back end systems such as
packaged applications and technologies. - Adapters may be written to the JCA
specification. Any JCA compliant adapter can be
plugged into a J2EE application server supporting
JCA. - Oracle9iAS V9.0.2 will provide support for the
current JCA 1.0 specification.
12Types of Available Adapters
- Application adapters
- Actional Adapter
- B2B protocol adapters
- RossettaNet, EDI, WebServices
- Technology adapters
- FTP, SMTP, HTTP, Database, AQ, JMS
13Adapter
- Adapters consist of two key parts
- An agent provides functionality shared by all
adapters. - A bridge provides functionality unique to each
adapter type. - With the Oracle9iAS InterConnect adapter SDK, you
essentially create your own bridge for additional
adapters
14Adapter Agent Component
- The agent receives application view events and
transforms them to corresponding common view
events, and vice versa. - The event definitions and the associated
transformation rules are maintained in the
Oracle9iAS Metadata Repository and downloaded to
the adapter at runtime.
15Adapter Bridge Component
- Translates technology and/or application-specific
interfaces to and from the Oracle9iAS - Example SAP/R3 adapter the bridge translates
application view events to and from business
application programming interface (BAPI) and
intermediate document (IDoc) calls in SAP/R3
16Native Event and Native Role
17Native Event and its Validation
- Abstracts from wire message protocol (removes
encoding, packaging, etc. ) - Preserves native data format
- Abstracts from inconsistency (through native
event validation via rules) - These rules can access every body element and can
be of arbitrary complexity. - Includes checking the existence of elements,
specific values, cross-element checks,
enumeration checks, etc.
18Need for Native Role
- Usually a native event (initiating native event
instance) that is received causes one or more
native event to be sent - Example Credit Approval Req/Ack
- NE_CAR
- NE_ACK
- NE_CAA
- NE_ACK
19Native Role
- Native roles support the modeling of native event
exchange behavior. - The term role is used since the party exchanging
native events is exhibits a specific behavior
(role) like buyer or seller
20Native Role Example
Native Role
NE_CAR
NE_ACK
NE_CAA
NE_ACK
Native Events
21Native Event Correlation
- Done via expression denoting the relationship
- Example CAR.request_id CAA.request_id
- The term role is used since the party exchanging
native events is exhibits a specific behavior
(role) like buyer or seller
22Native Event Map
- An expression used in identifying the native
event type for cases where same structure is used
for multiple native event types - Example
- create CAR
- delete CAR
- Event map is an expression
23Translating (Native Event) to Application Event
and Application Role
24Application Event
- Application Event is the translated version (in a
XML dialect) of native event so the content can
be processed by Oracle - Re-representing of native event in application
format is called Translation - Tranlsation only rewrites the syntax not the
particular data values
25Application Role
- Similar to Native role Application role supports
the modeling of Application event exchange
behavior. - An Additional Translation Binding Role is
introduced to do the translation that happens
when events are exchanged between Native and
Application Roles
26The picture so far
AE_CAR
AE_CAR
NE_CAR
AE_ACK
AE_ACK
NE_ACK
AE_CAA
AE_CAA
NE_CAA
AE_ACK
AE_ACK
NE_ACK
Translation Binding Role
Application Role
Native Role
27Translation Binding Role
- Translates Native to Application Event
- Also can
- Consume Native Event
- Generate Native Event
28The modified picture
AE_CAR
AE_CAR
TL
NE_CAR
CS
NE_ACK
AE_CAA
AE_CAA
NE_CAA
TL
NE_ACK
GS
Translation Binding Role
Application Role
Native Role
29Transformation (of Application Event) to Business
Event and Business Role
30Business Event
- Establishes common event structure and common
event vocabulary across all parties - Example One party uses car other vehicle.
Transformation is needed, when sending event from
one party to another - Why transformation not done as part of
application event itself?
31Business Events
Application Event SAP PO
Application Event Oracle PO
Business Event
Application Event EDI PO
Application Event RosettaNet PO
32Business Events
- Scalability
- Example
- 4 endpoints, each sends same event to every other
endpoint - Each endpoint has different application event
- Total of 12 direct transformations
- Only 8 transformations with business event
- Example
- 10 endpoints
- 90 direct transformations
- 20 transformations with business event
33Business Role
- Similar to Application role, Business role
supports the modeling of Business event exchange
behavior. - An Additional Transformation Binding Role is
introduced to do the transformation when events
are exchanged between Application and Business
Roles
34The modified picture
NE_CAR
AE_CAR
BE_CAR
AE_CAR
TL
TF
NE_ACK
CS
AE_CAA
BE_CAA
AE_CAA
NE_CAA
TL
TF
NE_ACK
GS
Translation Binding Role
Application Role
Transformation Binding Role
Business Role
Native Role
35Transformation Binding Role
- Uses
- Domain value maps (e.g car?vehicle)
- Transformation Map consisting of
- Transformation rules (e.g. BE_CAR.credit_amount
AE_CAR.credit_amount )
36Business Process
- Implements logic of host (trading partner)
- For example, if the amount of the credit approval
request exceeds a certain limit specific steps
have to be taken compared to when the amount does
not exceed the limit like the approval of two
senior supervisors instead of one - This logic is completely independent of where the
request is sent to and which particular behavior
the wire messages have for a given party
37Business Process
- Business logic
- Notifications
- Authorizations
- Coordination across several parties
- Example
- Coordination of several suppliers of supply-chain
- Example
- Coordination of seller/buyer matching through
marketplaces / auctions and the actual purchase
order exchange - Located between business roles
38Overview of Architecture
Runtime
Web Services Adapter
Browser
HTTP Adapter
Leads DB
E-mail
SMTP Adapter
DB Adapter
Customer DB
Adapter Framework
Adapter Framework
39For more Information
- Main Page http//otn.oracle.com/tech/integration/c
ontent.html
40(No Transcript)