There are several uses cases for integrating custom applications with Oracle E-Business Suite:
• Use data from the HR system to determine hierarchy in your packaged application;
• Use functionality of a module like Oracle Time control in another application;
• Expose services for self-service purposes.
Oracle E-Business suite has built-in support for these types of integration. We implemented a web service in EBS for a project that is an example of the third use case: a self-service application for expense reports, which stores the result (a pay element) in the E-Business Suite.
The following topics will be discussed:
1) Possible integration methods with EBS
2) Short introduction into web services to explain the type of integration we were realizing
3) Preparation: install and configure the SOA Gateway. Specifically the roles were very confusing. There is a large number of documents that you need to read to find the appropriate information
4) Creating the web service. This is the easiest part, you can use a wizard for that
5) Deploying the web service. You need to know about web service security standards to be able to know what security option to pick
6) Granting access to the service.
7) Using the service
8) Conclusion, lessons learned, knowledge needed etc.
In this session delegates will learn what decisions they need to take when integrating EBS with other systems using SOA Gateway, what knowledge they need and what practical problems we ran into when applying this technology. This is based on the project that we did at the city of Rotterdam where they were doing a large EBS 12 implementation.
Report from the trenches: Using SOA Integrated Gateway
1. 1
|
28
Report from the trenches:
Using SOA integrated gateway at the
city of Rotterdam
Lonneke Dikmans
October 15th 2013 | UKOUG Apps
2. 2
|
28
Introduction
Agenda
● Integrating with Oracle EBS
● Case
● Conclusion
● Future developments
Who am I
● Consultant and managing partner at Vennster
● Specializing in SOA and integration
● Oracle Ace Director
3. 3
|
28
Integrating your packaged App | Use Cases
Use data
● For example from HR system to determine approval chain
Use functionality (fine grained)
● For example using Oracle Time control in your custom application
Expose services (coarse grained)
● For example to change an address or to fill out an expense report
4. 4
|
28
Integrating with Oracle EBS | options
API
● Call directly
● Use EBS Adapter SOA Suite
● Generate PL/SQL Web
Service
Web Service
● Generate your own
● Use Integrated SOA
Gateway
5. 5
|
28
Intermezzo | What is a Web Service
“A software system designed to support interoperable
machine-to-machine interaction over a network. It has an
interface described in a machine-processable format
(specifically WSDL). Other systems interact with the Web
service in a manner prescribed by its description using
SOAP messages, typically using HTTP with an XML
serialization in conjunction with other Web-related
standards.” (W3C)
6. 6
|
28
Integrating with Oracle EBS | Web Services
Components Integrated SOA Gateway
● Integration Repository (IREP)
● Service Provider
● Service Invocation Framework (SIF)
● Service Monitor
7. 7
|
28
Integrating with Oracle EBS | Documentation
Title
Audience
Oracle
E-‐Business
Suite
Integrated
SOA
Gateway
User’s
Guide
Architect,
Developer,
Administrator
Oracle
E-‐Business
Suite
Integrated
SOA
Gateway
ImplementaAon
Guide
Administrator
Installing
Oracle
E-‐Business
Suite
Integrated
SOA
Gateway,
Release
12
Administrator
Oracle
E-‐Business
Suite
Integrated
SOA
Gateway
Developer’s
Guide
Developer
11. 11
|
28
Case | ESS & MSS @ City Of Rotterdam
Proof of concept
● Use EBS module
● Custom development
● Buy self service module
Process
● Expense reports
Criteria
● Data quality & control
● Cost
● Usability
● Process support (workflow)
● ICT
● Other
12. 12
|
28
Case | Overview
● Preparation
• Installation and configuration
• Roles and permissions
● Creating the web service
● Deploying the web service
● Granting access to the web service
● Using the web service
13. 13
|
28
Case | Preparation
Installation and configuration
● Installation -> lots of patches
● Setup roles and permissions -> see next slide, not obvious
Analysis
● Functionality needed in Application
● Functionality needed in EBS (pay elements)
● Determine APIs to be (created and) exposed
14. 14
|
28
Case | Roles and permissions
Privilege
Analyst
Developer
Administrator
View
public
interfaces
Yes
Yes
Yes
View
private/internal
interfaces
No
Yes
Yes
(Re)Generate
Web
Services
(WSDL)
No
No
Yes
(Re)Deploy
Web
Services
No
No
Yes
Undeploy
Web
Services
No
No
Yes
Subscribe
to
business
events
No
No
Yes
Create
grants
No
No
Yes
Download
composite
services
No*
Yes
Yes
18. 18
|
28
Case | Granting access
Authentication & authorization
● Use create Grant option
● Create one user, for example ‘selfsvc’ that has access (system
account)
=> Note that this is on top of the information that is sent in the
message!
21. 21
|
28
Case | Use the Web Service
SQLJUTL
● Boolean (PL/SQL) is translated to an int (1 = true), see Oracle Application Server
Adapters for Files, FTP, Databases and Enterprise Messaging User’s Guide
● Long list of flex fields, not clear which are used
<element name="P_VALIDATE" type="int" db:index="1" db:type="INTEGER" minOccurs="0"
nillable="true" />
…
<element name="P_ATTRIBUTE1" type="string" db:index="19" db:type="VARCHAR2"
minOccurs="0" nillable="true" />
<element name="P_ATTRIBUTE2" type="string" db:index="20" db:type="VARCHAR2"
minOccurs="0" nillable="true" />
<element name="P_ATTRIBUTE3" type="string" db:index="21" db:type="VARCHAR2"
minOccurs="0" nillable="true" />
<element name="P_ATTRIBUTE4" type="string" db:index="22" db:type="VARCHAR2"
minOccurs="0" nillable="true" />
22. 22
|
28
Case | Using the Web Service
HRM features (API xsd)
● Assignment id
● Elelement_link_id
● Date tracking
EBS features (header)
● Responsibility
● RespApplication
● SecurityGroup
23. 23
|
28
Conclusion | design decisions
1. Using integrated SOA Gateway
2. WS-Security
3. Importing HR data
4. Using seeded API versus creating custom API
24. 24
|
28
Conclusion | Knowledge needed
HR
● Knowledge of the current configuration
● Installation and configuration (Integrated SOA Gateway)
EBS
● Knowledge of PL/SQL specifics (Generated WSDL)
● EBS Header
Web Service
● OC4J
● WSDL/SOAP/ etc
25. 25
|
28
Conclusion | Advantages of Approach
Integration repository
● List of APIs that are exposed as Web Service
● No knowledge of Web Services needed to generate them
• But you need that knowledge to troubleshoot!
• But you need that knowledge to test them!
• But you need that knowledge to use them!
● Control access (with grants)
● WS – Security is built in
26. 26
|
28
Developments | EBS 12.2
WebLogic Server
● Part of Fusion Middleware 11g
SOA Suite 11g instead of SOA Suite 10g
● All web services are run with Oracle SOA Suite 11g
● Support for asynchronous PL/SQL Web Services