SlideShare a Scribd company logo
1 of 29
Download to read offline
1	
  |	
  28	
  
Report from the trenches:
Using SOA integrated gateway at the
city of Rotterdam
Lonneke Dikmans
October 15th 2013 | UKOUG Apps
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	
  |	
  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	
  |	
  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	
  |	
  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	
  |	
  28	
  
Integrating with Oracle EBS | Web Services
Components Integrated SOA Gateway
●  Integration Repository (IREP)
●  Service Provider
●  Service Invocation Framework (SIF)
●  Service Monitor
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	
  
8	
  |	
  28	
  
Integrated SOA Gateway | Overview
9	
  |	
  28	
  
Integrated SOA Gateway | Design time
10	
  |	
  28	
  
Integrated SOA Gateway | Runtime
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	
  |	
  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	
  |	
  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	
  |	
  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	
  
15	
  |	
  28	
  
Analysis | Preparation
16	
  |	
  28	
  
Case | Create Web Service
17	
  |	
  28	
  
Case | Deploying the Web Service
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!
19	
  |	
  28	
  
Case | Using the service
20	
  |	
  28	
  
Case | Using the Web Service
<?xml version = '1.0' encoding = 'UTF-8'?><definitions name="PAY_ELEMENT_ENTRY_API" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/
pay_element_entry_api/" xmlns:tns="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/" xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns1="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/create_element_entry/"
xmlns:tns2="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/delete_element_entry/" xmlns:tns3="http://xmlns.oracle.com/apps/per/
soaprovider/plsql/pay_element_entry_api/update_element_entry/"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/create_element_entry/"> <include schemaLocation="http://
sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/APPS_ISG_CREATE_ELEMENT_ENTRY_PAY_ELEMENT_ENTRY_API-24CREATE_.xsd"/> </schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/
pay_element_entry_api/delete_element_entry/"> <include schemaLocation="http://sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/
APPS_ISG_DELETE_ELEMENT_ENTRY_PAY_ELEMENT_ENTRY_API-24DELETE_.xsd"/> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/update_element_entry/"> <include schemaLocation="http://
sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/APPS_ISG_UPDATE_ELEMENT_ENTRY_PAY_ELEMENT_ENTRY_API-24UPDATE_.xsd"/> </schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/
pay_element_entry_api/"> <element name="SOAHeader"> <complexType> <sequence> <element name="Responsibility" minOccurs="0" type="string"/> <element
name="RespApplication" minOccurs="0" type="string"/> <element name="SecurityGroup" minOccurs="0" type="string"/> <element name="NLSLanguage" minOccurs="0"
type="string"/> <element name="Org_Id" minOccurs="0" type="string"/> </sequence> </complexType> </element> </schema> </types> <message
name="CREATE_ELEMENT_ENTRY_Input_Msg"> <part name="header" element="tns:SOAHeader"/> <part name="body" element="tns1:InputParameters"/> </message> <message
name="CREATE_ELEMENT_ENTRY_Output_Msg"> <part name="body" element="tns1:OutputParameters"/> </message> <message name="DELETE_ELEMENT_ENTRY_Input_Msg"> <part
name="header" element="tns:SOAHeader"/> <part name="body" element="tns2:InputParameters"/> </message> <message name="DELETE_ELEMENT_ENTRY_Output_Msg"> <part
name="body" element="tns2:OutputParameters"/> </message> <message name="UPDATE_ELEMENT_ENTRY_Input_Msg"> <part name="header" element="tns:SOAHeader"/> <part
name="body" element="tns3:InputParameters"/> </message> <message name="UPDATE_ELEMENT_ENTRY_Output_Msg"> <part name="body" element="tns3:OutputParameters"/> </
message> <portType name="PAY_ELEMENT_ENTRY_API_PortType"> <operation name="CREATE_ELEMENT_ENTRY"> <input message="tns:CREATE_ELEMENT_ENTRY_Input_Msg"/> <output
message="tns:CREATE_ELEMENT_ENTRY_Output_Msg"/> </operation> <operation name="DELETE_ELEMENT_ENTRY"> <input message="tns:DELETE_ELEMENT_ENTRY_Input_Msg"/> <output
message="tns:DELETE_ELEMENT_ENTRY_Output_Msg"/> </operation> <operation name="UPDATE_ELEMENT_ENTRY"> <input message="tns:UPDATE_ELEMENT_ENTRY_Input_Msg"/> <output
message="tns:UPDATE_ELEMENT_ENTRY_Output_Msg"/> </operation> </portType> <binding name="PAY_ELEMENT_ENTRY_API_Binding" type="tns:PAY_ELEMENT_ENTRY_API_PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="CREATE_ELEMENT_ENTRY"> <soap:operation soapAction="http://
sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/"/> <input> <soap:header message="tns:CREATE_ELEMENT_ENTRY_Input_Msg"
part="header" use="literal"/> <soap:body parts="body" use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation
name="DELETE_ELEMENT_ENTRY"> <soap:operation soapAction="http://sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/"/> <input>
<soap:header message="tns:DELETE_ELEMENT_ENTRY_Input_Msg" part="header" use="literal"/> <soap:body parts="body" use="literal"/> </input> <output> <soap:body
use="literal"/> </output> </operation> <operation name="UPDATE_ELEMENT_ENTRY"> <soap:operation soapAction="http://sdra01.sdr.rotterdam.nl:8001/webservices/
SOAProvider/plsql/pay_element_entry_api/"/> <input> <soap:header message="tns:UPDATE_ELEMENT_ENTRY_Input_Msg" part="header" use="literal"/> <soap:body parts="body"
use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="PAY_ELEMENT_ENTRY_API_Service"> <port
name="PAY_ELEMENT_ENTRY_API_Port" binding="tns:PAY_ELEMENT_ENTRY_API_Binding"> <soap:address location="http://sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/
plsql/pay_element_entry_api/"/> </port> </service></definitions>
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	
  |	
  28	
  
Case | Using the Web Service
HRM features (API xsd)
●  Assignment id
●  Elelement_link_id
●  Date tracking
EBS features (header)
●  Responsibility
●  RespApplication
●  SecurityGroup
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	
  |	
  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	
  |	
  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	
  |	
  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
27	
  |	
  28	
  
Future Developments | EBS 12.2
28	
  |	
  28	
  
Future Developments | Fusion Apps
●  No SOA Integrated
gateway
●  SOA Suite part of Apps
29	
  |	
  28	
  
Report from the trenches:
Using SOA integrated gateway at the
city of Rotterdam
Lonneke Dikmans
October 15th 2013 | UKOUG Apps

More Related Content

What's hot

Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentalsGopal Ji Singh
 
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl....net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...Nancy Thomas
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseindiappsdevelopment
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsWebStackAcademy
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesWebStackAcademy
 

What's hot (7)

Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
 
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl....net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - Components
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Viper
ViperViper
Viper
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
 

Similar to Report from the trenches: Using SOA Integrated Gateway

Introducing Workflow Architectures Using Grails - Greach 2015
Introducing Workflow Architectures Using Grails - Greach 2015Introducing Workflow Architectures Using Grails - Greach 2015
Introducing Workflow Architectures Using Grails - Greach 2015Rubén Mondéjar Andreu
 
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungleFredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it junglePer Riis
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from OrchestratorFredrik Knalstad
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleNordic Infrastructure Conference
 
Skills Portfolio
Skills PortfolioSkills Portfolio
Skills Portfoliorolee23
 
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...Jitendra Bafna
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...Jitendra Bafna
 
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...Codemotion
 
Build Your Own Angular Component Library
Build Your Own Angular Component LibraryBuild Your Own Angular Component Library
Build Your Own Angular Component LibraryCarlo Bonamico
 
MVC & SQL_In_1_Hour
MVC & SQL_In_1_HourMVC & SQL_In_1_Hour
MVC & SQL_In_1_HourDilip Patel
 
Asp.Net Mvc
Asp.Net MvcAsp.Net Mvc
Asp.Net Mvcmicham
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataPace Integration
 
Mastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullyMastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullySpringPeople
 
FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...
FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...
FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...FIWARE
 
JOB PORTALProject SummaryTitle JOB-PORT.docx
JOB PORTALProject SummaryTitle    JOB-PORT.docxJOB PORTALProject SummaryTitle    JOB-PORT.docx
JOB PORTALProject SummaryTitle JOB-PORT.docxchristiandean12115
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowRolf Kremer
 

Similar to Report from the trenches: Using SOA Integrated Gateway (20)

Introducing Workflow Architectures Using Grails - Greach 2015
Introducing Workflow Architectures Using Grails - Greach 2015Introducing Workflow Architectures Using Grails - Greach 2015
Introducing Workflow Architectures Using Grails - Greach 2015
 
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungleFredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
 
Skills Portfolio
Skills PortfolioSkills Portfolio
Skills Portfolio
 
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
 
Springboot Microservices
Springboot MicroservicesSpringboot Microservices
Springboot Microservices
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
 
Build Your Own Angular Component Library
Build Your Own Angular Component LibraryBuild Your Own Angular Component Library
Build Your Own Angular Component Library
 
MVC & SQL_In_1_Hour
MVC & SQL_In_1_HourMVC & SQL_In_1_Hour
MVC & SQL_In_1_Hour
 
Asp.Net Mvc
Asp.Net MvcAsp.Net Mvc
Asp.Net Mvc
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event Handling
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and OData
 
Mastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullyMastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium Successfully
 
FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...
FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...
FIWARE Global Summit - Provisioning of the FIWARE Orion Context Broker using ...
 
JOB PORTALProject SummaryTitle JOB-PORT.docx
JOB PORTALProject SummaryTitle    JOB-PORT.docxJOB PORTALProject SummaryTitle    JOB-PORT.docx
JOB PORTALProject SummaryTitle JOB-PORT.docx
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso Workflow
 

More from Lonneke Dikmans

Choosing the right mobile architecture
Choosing the right mobile architectureChoosing the right mobile architecture
Choosing the right mobile architectureLonneke Dikmans
 
Leveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User ExperienceLeveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User ExperienceLonneke Dikmans
 
Introduction to Oracle BPM Suite 11g
Introduction to Oracle BPM Suite 11gIntroduction to Oracle BPM Suite 11g
Introduction to Oracle BPM Suite 11gLonneke Dikmans
 
Creating SOA with Oracle Fusion Middleware 11g
Creating SOA with Oracle Fusion Middleware 11gCreating SOA with Oracle Fusion Middleware 11g
Creating SOA with Oracle Fusion Middleware 11gLonneke Dikmans
 
Overview of Oracle SOA Suite11g
Overview of Oracle SOA Suite11gOverview of Oracle SOA Suite11g
Overview of Oracle SOA Suite11gLonneke Dikmans
 
Stop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing ITStop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing ITLonneke Dikmans
 
Deployment in Oracle SOA Suite and in Oracle BPM Suite
Deployment in Oracle SOA Suite and in Oracle BPM SuiteDeployment in Oracle SOA Suite and in Oracle BPM Suite
Deployment in Oracle SOA Suite and in Oracle BPM SuiteLonneke Dikmans
 
Oracle BPA Suite to BPEL: A case study
Oracle BPA Suite to BPEL: A case studyOracle BPA Suite to BPEL: A case study
Oracle BPA Suite to BPEL: A case studyLonneke Dikmans
 
Approach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organizationApproach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organizationLonneke Dikmans
 

More from Lonneke Dikmans (10)

Choosing the right mobile architecture
Choosing the right mobile architectureChoosing the right mobile architecture
Choosing the right mobile architecture
 
Leveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User ExperienceLeveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User Experience
 
Introduction to Oracle BPM Suite 11g
Introduction to Oracle BPM Suite 11gIntroduction to Oracle BPM Suite 11g
Introduction to Oracle BPM Suite 11g
 
Creating SOA with Oracle Fusion Middleware 11g
Creating SOA with Oracle Fusion Middleware 11gCreating SOA with Oracle Fusion Middleware 11g
Creating SOA with Oracle Fusion Middleware 11g
 
Overview of Oracle SOA Suite11g
Overview of Oracle SOA Suite11gOverview of Oracle SOA Suite11g
Overview of Oracle SOA Suite11g
 
Stop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing ITStop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing IT
 
Deployment in Oracle SOA Suite and in Oracle BPM Suite
Deployment in Oracle SOA Suite and in Oracle BPM SuiteDeployment in Oracle SOA Suite and in Oracle BPM Suite
Deployment in Oracle SOA Suite and in Oracle BPM Suite
 
Ux fusion apps
Ux fusion appsUx fusion apps
Ux fusion apps
 
Oracle BPA Suite to BPEL: A case study
Oracle BPA Suite to BPEL: A case studyOracle BPA Suite to BPEL: A case study
Oracle BPA Suite to BPEL: A case study
 
Approach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organizationApproach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organization
 

Recently uploaded

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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  
  • 8. 8  |  28   Integrated SOA Gateway | Overview
  • 9. 9  |  28   Integrated SOA Gateway | Design time
  • 10. 10  |  28   Integrated SOA Gateway | Runtime
  • 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  
  • 15. 15  |  28   Analysis | Preparation
  • 16. 16  |  28   Case | Create Web Service
  • 17. 17  |  28   Case | Deploying the Web Service
  • 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!
  • 19. 19  |  28   Case | Using the service
  • 20. 20  |  28   Case | Using the Web Service <?xml version = '1.0' encoding = 'UTF-8'?><definitions name="PAY_ELEMENT_ENTRY_API" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/ pay_element_entry_api/" xmlns:tns="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns1="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/create_element_entry/" xmlns:tns2="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/delete_element_entry/" xmlns:tns3="http://xmlns.oracle.com/apps/per/ soaprovider/plsql/pay_element_entry_api/update_element_entry/"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/create_element_entry/"> <include schemaLocation="http:// sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/APPS_ISG_CREATE_ELEMENT_ENTRY_PAY_ELEMENT_ENTRY_API-24CREATE_.xsd"/> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/ pay_element_entry_api/delete_element_entry/"> <include schemaLocation="http://sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/ APPS_ISG_DELETE_ELEMENT_ENTRY_PAY_ELEMENT_ENTRY_API-24DELETE_.xsd"/> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/pay_element_entry_api/update_element_entry/"> <include schemaLocation="http:// sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/APPS_ISG_UPDATE_ELEMENT_ENTRY_PAY_ELEMENT_ENTRY_API-24UPDATE_.xsd"/> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/plsql/ pay_element_entry_api/"> <element name="SOAHeader"> <complexType> <sequence> <element name="Responsibility" minOccurs="0" type="string"/> <element name="RespApplication" minOccurs="0" type="string"/> <element name="SecurityGroup" minOccurs="0" type="string"/> <element name="NLSLanguage" minOccurs="0" type="string"/> <element name="Org_Id" minOccurs="0" type="string"/> </sequence> </complexType> </element> </schema> </types> <message name="CREATE_ELEMENT_ENTRY_Input_Msg"> <part name="header" element="tns:SOAHeader"/> <part name="body" element="tns1:InputParameters"/> </message> <message name="CREATE_ELEMENT_ENTRY_Output_Msg"> <part name="body" element="tns1:OutputParameters"/> </message> <message name="DELETE_ELEMENT_ENTRY_Input_Msg"> <part name="header" element="tns:SOAHeader"/> <part name="body" element="tns2:InputParameters"/> </message> <message name="DELETE_ELEMENT_ENTRY_Output_Msg"> <part name="body" element="tns2:OutputParameters"/> </message> <message name="UPDATE_ELEMENT_ENTRY_Input_Msg"> <part name="header" element="tns:SOAHeader"/> <part name="body" element="tns3:InputParameters"/> </message> <message name="UPDATE_ELEMENT_ENTRY_Output_Msg"> <part name="body" element="tns3:OutputParameters"/> </ message> <portType name="PAY_ELEMENT_ENTRY_API_PortType"> <operation name="CREATE_ELEMENT_ENTRY"> <input message="tns:CREATE_ELEMENT_ENTRY_Input_Msg"/> <output message="tns:CREATE_ELEMENT_ENTRY_Output_Msg"/> </operation> <operation name="DELETE_ELEMENT_ENTRY"> <input message="tns:DELETE_ELEMENT_ENTRY_Input_Msg"/> <output message="tns:DELETE_ELEMENT_ENTRY_Output_Msg"/> </operation> <operation name="UPDATE_ELEMENT_ENTRY"> <input message="tns:UPDATE_ELEMENT_ENTRY_Input_Msg"/> <output message="tns:UPDATE_ELEMENT_ENTRY_Output_Msg"/> </operation> </portType> <binding name="PAY_ELEMENT_ENTRY_API_Binding" type="tns:PAY_ELEMENT_ENTRY_API_PortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="CREATE_ELEMENT_ENTRY"> <soap:operation soapAction="http:// sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/"/> <input> <soap:header message="tns:CREATE_ELEMENT_ENTRY_Input_Msg" part="header" use="literal"/> <soap:body parts="body" use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="DELETE_ELEMENT_ENTRY"> <soap:operation soapAction="http://sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/plsql/pay_element_entry_api/"/> <input> <soap:header message="tns:DELETE_ELEMENT_ENTRY_Input_Msg" part="header" use="literal"/> <soap:body parts="body" use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="UPDATE_ELEMENT_ENTRY"> <soap:operation soapAction="http://sdra01.sdr.rotterdam.nl:8001/webservices/ SOAProvider/plsql/pay_element_entry_api/"/> <input> <soap:header message="tns:UPDATE_ELEMENT_ENTRY_Input_Msg" part="header" use="literal"/> <soap:body parts="body" use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="PAY_ELEMENT_ENTRY_API_Service"> <port name="PAY_ELEMENT_ENTRY_API_Port" binding="tns:PAY_ELEMENT_ENTRY_API_Binding"> <soap:address location="http://sdra01.sdr.rotterdam.nl:8001/webservices/SOAProvider/ plsql/pay_element_entry_api/"/> </port> </service></definitions>
  • 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
  • 27. 27  |  28   Future Developments | EBS 12.2
  • 28. 28  |  28   Future Developments | Fusion Apps ●  No SOA Integrated gateway ●  SOA Suite part of Apps
  • 29. 29  |  28   Report from the trenches: Using SOA integrated gateway at the city of Rotterdam Lonneke Dikmans October 15th 2013 | UKOUG Apps