2. 2
What is SOA?
It is an architecture that facilitates the
development of applications as services, to
provide solutions for frequently changing
business requirements
8. 8
XML Schema Definition (XSD)
XSD defines the XML elements and types
that constitute the input and output parameters
XSD Design XSD Source
9. 9
Components of SOA
1. Service Components - Service components are
the building blocks that one can use to
construct a SOA composite application
2. Binding Components/Adapters - Binding
components establish a connection between a
SOA composite and the external world
10. 10
Types of Service Components
1. BPEL provides process orchestration and storage of
a synchronous or an asynchronous process. You
design a business process that integrates a series
of business activities and services into an end-to-
end process flow.
2. Business Rules enable you to design a business
decision based on rules.
3. Human Tasks provide workflow modelling that
describes the tasks for users or groups to perform
as part of an end-to-end business process flow.
4. Mediators route events (messages) between
different components
5. Spring Context enables you to integrate Java
interfaces into SOA composite applications
11. 11
Types of Binding Components
1. Web Service - Use for connecting to standards-
based services using SOAP over HTTP
2. JCA Adapters - Use for integrating services and
references with technologies (for example,
databases, file systems, FTP servers, messaging:
JMS, IBM WebSphere MQ, and so on) and
applications (Oracle E-Business Suite, PeopleSoft,
and so on). This includes the AQ adapter, database
adapter, file adapter, FTP adapter, JMS adapter, MQ
adapter, and Socket adapter
3. B2B - Use for browsing B2B metadata in the MDS
repository and selecting document definitions
4. ADF-BC Service - Use for connecting Oracle
Application Development Framework (ADF)
applications using SDO with the SOA platform
12. 12
Types of Binding Components
5. Oracle Applications - Use for integrating the Oracle
Applications adapter with Oracle applications
6. BAM Adapter - Use for integrating Java EE
applications with Oracle BAM Server to send data,
and also use as a reference binding component in a
SOA composite application
7. EJB Service - Use for integrating SDO parameters or
Java interfaces with Enterprise JavaBeans
8. Direct Binding - Use to invoke a SOA composite
application and exchange messages over a remote
method invocation (RMI) in the inbound direction
and to invoke an Oracle Service Bus (OSB) flow or
another SOA composite application in the outbound
direction
9. HTTP Binding - Use to integrate SOA composite
applications with HTTP binding
14. 14
Scenario
Create an application for Open AP Invoice Conversion
using SOA
1. Install VM
https://drive.google.com/file/d/0B6rekvPGxvGyR
HctVnZvLUswbjg/edit?usp=sharing
2. Module 1 - Synchronous BPEL Process
https://drive.google.com/file/d/0B6rekvPGxvGya
TFEcGtGWHVUSG8/edit?usp=sharing
3. Module 2 - Asynchronous BPEL Process
https://drive.google.com/file/d/0B6rekvPGxvGyU
WdFaGN4aHVZcTg/edit?usp=sharing
15. 15
Steps
1. Create SOA Application
2. Create SOA Project
3. Create Synchronous BPEL Process (covered in
Module 1 document) which performs validation and
insertion as described below
i. Create DB Adapter to call a PL/SQL stored
procedure that performs validations
ii. If a record fails in validation, then display the
validation error message using Throw Activity
Else insert the record into interface table using DB
Adapter
4. Create Asynchronous BPEL Process (covered in
Module 2 document) in another SOA project which
reads a file, calls a web service and submits the
concurrent program as described in next steps
16. 16
Steps
5. Create File Adapter for reading a file from a
directory
6. Get the count of number of records using getNodes
function
7. Loop through the number of records using While
Activity
8. Map the columns from data file to interface table
using Assign Activity
9. Call synchronous process/web service (created in
step 3) to validate and insert the data into interface
table
10.Create Oracle Applications Adapter to call AP
Import Concurrent Program after the loop
17. 17
Acronyms
• BPEL – Business Process Execution Language
• SOAP – Simple Object Access Protocol
• REST – Representational State Transfer
• UDDI – Universal Description, Discovery, and Integration
• JMS – Java Message Services
• EJB – Enterprise Java Beans
• BAM – Business Activity Monitoring
• JCA – Java Connector Architecture
• MDS – Meta Data Store
• WSDL – Web Service Description Language
• JNDI – Java Naming and Directory Interface
• CEP – Complex Event Processing