SlideShare a Scribd company logo
1 of 41
IntroducingSOA and Oracle SOA Suite 11g to Oracle Database Professionals WebLogic Server 11g Oracle Open World 2009 Monday, 12th October Lucas Jellema  AMIS, The Netherlands SOA Suite 11g
Agenda Introducing SOA – what, why, how Quick overview of SOA Suite 11g Leveraging the SOA Suite from the database Accessing the database from the SOA Suite Applying SOA principles to database development Wrap up
SOA = BAD
Business Agility through Decoupling SOA =
Decoupling≈Managing Dependencies minimize impact of change while maximizing reusability
Types of decoupling Functional  Interface - Encapsulation of implementation Design by Contract, Implement by Design Technical No proprietary technology, protocol, message format Standards based (XML, HTTP, RSS, WSDL…) Temporal Asynchronous communication (separate response) Development Separate teams working in parallel based on mutually agreed interface definitions
Objectives Business Agility (Faster) responses to market demands Creating new business from existing resources IT Flexibility Optimize locally without impact ‘globally’ Prepare for future developments Lower costs Through reuse, better integration, decoupling
Objectives (longer term) Higher Quality and Faster (traceable) Process execution Automated data exchange cross boundaries Workflow and task orientation integrated, cross department, in a controlled way based on sound understanding of the business processes Business Event driven interaction Manage risks and fear
Common Characteristics in SOA Cross Boundaries Cross Technology - .Net, Uniface, Java, Tibco Cross Channel – Back Office, Web, PDA, API Cross User Group  – Internal, Agents, Self Service Cross Domain – Multiple departments & systems Cross Enterprise – Interact with external partners Data synchronization or consolidation Management whim Vision From Database angle: providing services
What is a service? Standards based callable, reusable functionality according to an interaction contract In terms of functionality (WSDL – compare Package Specification) What are the input parameters What are the output parameters (if any) What are the exceptions How (when, where) is the response delivered Implementation is hidden!
What is a service (2)? In terms of operational QoS (Quality of Service) define in a Service Level Agreement (SLA) Availability  Stability & Release schedule Response Time Peak load capacity Price Reliability, Confidentiality Address, protocol
Services in various shapes Library (dll, jar) Java Class (public methods) or an EJB (interface) URL RSS feed Portlet (UI Service) SOAP WebService Database View or Package Specification …. If it exposes a clear, standardized interface
Example of a service call? Browser makes sendshttp request to a URL Text based message with headers and body
What is a service call? Server returns a response Another text based message with headers and body
Calling a Web Service Send an XML document to a URL via HTTP Request message contains headers and body Service (server) returns another XML document Response message contains headers and body Response can be a fault (a WebService exception) Headers are used for meta-data Sender (identity, address), Return address Encryption, digitally signed,  Type of content, type of compression
The SOA Suite 11g The engine that runs applications that implement the WebServices Inside the WebLogic Server application server WebLogic Server 11g WebServices SOA Suite 11g
SOA Suite 11g Composite Applications SOA Composite Applications consist of special components that process XML messages: Decision Logic (go left or right, discount is X) Human Workflow (end user must act) BPEL (service orchestration) Mediator (filter, transform and route messages)
SOA Suite 11g – calling out to external service and adapters SOA Composite Applications can call out to external WebServices and Adapters Adapters connect to various technologies Database (SQL & PL/SQL) Advanced Queuing File & FTP JMS, MQ Series, EBSTCP/IP Sockets Adapters can triggerapplication execution
Leveraging SOA Suite 11g from the database The database can call out to the SOA Suite 11g With UTL_HTTP or Stored Java (2-way, synchronous) Through Advanced Queuing or Database Adapter polling (one way) WebLogic Server 11g SOA Suite 11g AQ AQ
Call the “getOilPrice Service” We need to know the oil price for some calculations… But that price is not constant, we need the current price We do not want the exact market price, we have our own contracts Let’s define a constant in a package Oh, well, let’s call a WebService – Yahoo? Ah, the Purchasing department publishes a WebService for such data
PurchasingPrices available via SOAP PurchasingPrices Service is available as a (SOAP based) WebService (implemented using BPEL) Service and WSDL are available (URLs are known)
PurchasingPrices available via SOAP SOAP call over HTTP can be made from PL/SQL Using UTL_HTTP Assemble SOAP message Envelope Payload  Name of product Make HTTP Post request Process Response Retrieve and Return the product price “re-Publish” service as PL/SQL function WebLogic Server 11g SOA Suite 11g
PurchasingPrices available via SOAP WebLogic Server 11g SOA Suite 11g
The database can ask the middle tier for other services as well Get information from (or to) services on the intranet or internet (‘please get us the NBA scores ’) Publish/Send information to the internet (RSS, email, chat) Can tell the middle tier Interesting events and data changes Trigger cache refresh! Alert about (im)pending issues,attempted rule violations, … The outcome of batch calculcations WebLogic Server 11g SOA Suite 11g Web App AQ
Happy Chatting – IM from the Database WebLogic Server 11g Service Service Database can call a middletier service using utl_http Passing in the destinationand the message content This Service sends it onwards to the Google Talk Server CHAT_MGR
Database actively informs on events WebLogic Server 11g Service Service CHAT_MGR EMP
Publish Services from the Database Describe Services in WSDL and XSL Specify operations, input and output parameters Describe complex data structures ofparameters Publish Database-based Services Plain URL services through PL/SQL packages based on MOD_PLSQL, XML DB or DBMS_EPG Full blown SOAP WebServices 11g Native WebService (publish PL/SQL package), use UTL_DBWS, JPublisher for Java proxy class in AppServer Leverage SOA Suite to expose Database functionality Through the database adapter in SOA Suite/WLS
Oracle DB 11g NativeWebServices Publish a PL/SQL Package as externally available WebService WSDL is auto-generated SOAP calls over http and https are supported
SOA: Loading file contents into table SOA application can contain services that read from or write to the database Database is passive – undergoing SQL or PL/SQL Polling can also be against database
SOA: Loading file contents into table
Can you do SOA with only a …
Key SOA concepts and lessons Functional interface, hiding implementation details Package specification Simple View API (possibly with IOT) – with complex joins, analytical functions, advanced SQL and PL/SQL integration Reusable, standardized services as flexible building blocks Aggregate and Combine into more valuable reusables Governance: security, management of services, SLAs Allow for configuration without development or deployment effort Decoupling in every aspect!
Coupling & Decoupling in Oracle RDBMS Decoupling Coupling Package Specification Views (+ Instead of Trigger) Triggers in general DBMS_JOB Advanced Queuing Publish (intranet) XML & WebService %TYPE instead of hardcoded data type Centrally managed “parameter service” instead of local constants  instead of hard coded values Use generic (SOA) services Database Link SYSDATE and USER Application performing SQL against tables SQL all over the place Access database from DMZ or even outside firewall Publish WebService or Web Application on Internet Too frequent use of dbms_output.put_line Copy and paste of code Poorly documented code Use of exotic features
Decoupling Applications & Data Application(User Interface) Application(User Interface) Data Data
Decoupling Applications & Data Application(User Interface) Application(User Interface) Data
Decoupling Applications & Data Application (User Interface) WorkflowEngine CMS Email IM Fax
Decoupling from Table to ESB+ http WEBDAV FTP WSRP coupled http WS/SOAP WS* WS* WS* complex
Increasingly decoupled More hiding of the implementation More Formal Interface Contract Less (proprietary) technology & more standards for interacting Less exposure of (legacy) data model More support for asynchronous interaction More reuse potential Pervasive throughout enterprise More suitable for external consumption
Comes at a cost… More run time overhead Additional tiers XML serialization and deserialization More infrastructure Burden of Administration License Costs Hardware Broader skills palette – more stuff to master Harder to get started
Summary SOA is about decoupling, integration & reuse SOA Suite 11g runs service implementations That can access database and other technologies through adapters – either inbound or outbound Database can access services from utl_http Or AQ, Database polling or File polling SOA Suite hooks into database via SQL, PL/SQL, AQ or even XML DB file protocols Many SOA concepts can be applied without the SOA Suite, using standard DB features
Resources Presentation and demos are on our blog http://technology.amis.nl/blog Contact me at: lucas.jellema@amis.nl

More Related Content

What's hot

Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Guido Schmutz
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
SOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summarySOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summaryLucas Jellema
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Frank Munz
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7WSO2
 
OOW09 Integration Architecture EBS R12
OOW09 Integration Architecture  EBS R12OOW09 Integration Architecture  EBS R12
OOW09 Integration Architecture EBS R12jucaab
 
OOW2008 in China
OOW2008 in ChinaOOW2008 in China
OOW2008 in ChinaJames Hu
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration toolsSmartDog Services
 
Oracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsOracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsPhil Wilkins
 
Oaug collaborate sadia_tahseen
Oaug collaborate sadia_tahseenOaug collaborate sadia_tahseen
Oaug collaborate sadia_tahseenSadz Ta
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentationerichleipold
 

What's hot (19)

Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Osb student guide
Osb student guideOsb student guide
Osb student guide
 
An Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12c
 
oracle-osb
oracle-osboracle-osb
oracle-osb
 
SOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summarySOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summary
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial
 
Where to use OSB
Where to use OSBWhere to use OSB
Where to use OSB
 
Soa bpel-123
Soa bpel-123Soa bpel-123
Soa bpel-123
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
OOW09 Integration Architecture EBS R12
OOW09 Integration Architecture  EBS R12OOW09 Integration Architecture  EBS R12
OOW09 Integration Architecture EBS R12
 
OOW2008 in China
OOW2008 in ChinaOOW2008 in China
OOW2008 in China
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration tools
 
Oracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsOracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion Apps
 
Oaug collaborate sadia_tahseen
Oaug collaborate sadia_tahseenOaug collaborate sadia_tahseen
Oaug collaborate sadia_tahseen
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
 

Viewers also liked

서버 아키텍쳐 입문
서버 아키텍쳐 입문서버 아키텍쳐 입문
서버 아키텍쳐 입문중선 곽
 
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기Ki Bae Kim
 
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...C2B2 Consulting
 
[Blt] 2014년 정부지원사업10월
[Blt] 2014년 정부지원사업10월[Blt] 2014년 정부지원사업10월
[Blt] 2014년 정부지원사업10월JEONG HAN Eom
 
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!Fanny Lee
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해중선 곽
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startupJunHo Yoon
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부JiHyung Lee
 
어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법Daniel Kim
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림우림 류
 

Viewers also liked (10)

서버 아키텍쳐 입문
서버 아키텍쳐 입문서버 아키텍쳐 입문
서버 아키텍쳐 입문
 
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
 
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
 
[Blt] 2014년 정부지원사업10월
[Blt] 2014년 정부지원사업10월[Blt] 2014년 정부지원사업10월
[Blt] 2014년 정부지원사업10월
 
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부
 
어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림
 

Similar to Introducing SOA and Oracle SOA Suite 11g for Database Professionals

The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOALucas Jellema
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...Lucas Jellema
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Servicessumedha.r
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaLucas Jellema
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developersukdpe
 
Presentation
PresentationPresentation
PresentationVideoguy
 
Roles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL AzureRoles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL AzureEduardo Castro
 
Sql Summit Clr, Service Broker And Xml
Sql Summit   Clr, Service Broker And XmlSql Summit   Clr, Service Broker And Xml
Sql Summit Clr, Service Broker And XmlDavid Truxall
 
Virtuoso Universal Server Overview
Virtuoso Universal Server OverviewVirtuoso Universal Server Overview
Virtuoso Universal Server Overviewrumito
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
Accessing sap and_mainframe_data_and_applications_via_share_point
Accessing sap and_mainframe_data_and_applications_via_share_pointAccessing sap and_mainframe_data_and_applications_via_share_point
Accessing sap and_mainframe_data_and_applications_via_share_pointYuval Birenboum
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developersllangit
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 

Similar to Introducing SOA and Oracle SOA Suite 11g for Database Professionals (20)

The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developers
 
Presentation
PresentationPresentation
Presentation
 
Sql Azure
Sql AzureSql Azure
Sql Azure
 
Roles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL AzureRoles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL Azure
 
Sql Summit Clr, Service Broker And Xml
Sql Summit   Clr, Service Broker And XmlSql Summit   Clr, Service Broker And Xml
Sql Summit Clr, Service Broker And Xml
 
Virtuoso Universal Server Overview
Virtuoso Universal Server OverviewVirtuoso Universal Server Overview
Virtuoso Universal Server Overview
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
Accessing sap and_mainframe_data_and_applications_via_share_point
Accessing sap and_mainframe_data_and_applications_via_share_pointAccessing sap and_mainframe_data_and_applications_via_share_point
Accessing sap and_mainframe_data_and_applications_via_share_point
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developers
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Introducing SOA and Oracle SOA Suite 11g for Database Professionals

  • 1. IntroducingSOA and Oracle SOA Suite 11g to Oracle Database Professionals WebLogic Server 11g Oracle Open World 2009 Monday, 12th October Lucas Jellema AMIS, The Netherlands SOA Suite 11g
  • 2. Agenda Introducing SOA – what, why, how Quick overview of SOA Suite 11g Leveraging the SOA Suite from the database Accessing the database from the SOA Suite Applying SOA principles to database development Wrap up
  • 4. Business Agility through Decoupling SOA =
  • 5. Decoupling≈Managing Dependencies minimize impact of change while maximizing reusability
  • 6. Types of decoupling Functional Interface - Encapsulation of implementation Design by Contract, Implement by Design Technical No proprietary technology, protocol, message format Standards based (XML, HTTP, RSS, WSDL…) Temporal Asynchronous communication (separate response) Development Separate teams working in parallel based on mutually agreed interface definitions
  • 7. Objectives Business Agility (Faster) responses to market demands Creating new business from existing resources IT Flexibility Optimize locally without impact ‘globally’ Prepare for future developments Lower costs Through reuse, better integration, decoupling
  • 8. Objectives (longer term) Higher Quality and Faster (traceable) Process execution Automated data exchange cross boundaries Workflow and task orientation integrated, cross department, in a controlled way based on sound understanding of the business processes Business Event driven interaction Manage risks and fear
  • 9. Common Characteristics in SOA Cross Boundaries Cross Technology - .Net, Uniface, Java, Tibco Cross Channel – Back Office, Web, PDA, API Cross User Group – Internal, Agents, Self Service Cross Domain – Multiple departments & systems Cross Enterprise – Interact with external partners Data synchronization or consolidation Management whim Vision From Database angle: providing services
  • 10. What is a service? Standards based callable, reusable functionality according to an interaction contract In terms of functionality (WSDL – compare Package Specification) What are the input parameters What are the output parameters (if any) What are the exceptions How (when, where) is the response delivered Implementation is hidden!
  • 11. What is a service (2)? In terms of operational QoS (Quality of Service) define in a Service Level Agreement (SLA) Availability Stability & Release schedule Response Time Peak load capacity Price Reliability, Confidentiality Address, protocol
  • 12. Services in various shapes Library (dll, jar) Java Class (public methods) or an EJB (interface) URL RSS feed Portlet (UI Service) SOAP WebService Database View or Package Specification …. If it exposes a clear, standardized interface
  • 13. Example of a service call? Browser makes sendshttp request to a URL Text based message with headers and body
  • 14. What is a service call? Server returns a response Another text based message with headers and body
  • 15. Calling a Web Service Send an XML document to a URL via HTTP Request message contains headers and body Service (server) returns another XML document Response message contains headers and body Response can be a fault (a WebService exception) Headers are used for meta-data Sender (identity, address), Return address Encryption, digitally signed, Type of content, type of compression
  • 16. The SOA Suite 11g The engine that runs applications that implement the WebServices Inside the WebLogic Server application server WebLogic Server 11g WebServices SOA Suite 11g
  • 17. SOA Suite 11g Composite Applications SOA Composite Applications consist of special components that process XML messages: Decision Logic (go left or right, discount is X) Human Workflow (end user must act) BPEL (service orchestration) Mediator (filter, transform and route messages)
  • 18. SOA Suite 11g – calling out to external service and adapters SOA Composite Applications can call out to external WebServices and Adapters Adapters connect to various technologies Database (SQL & PL/SQL) Advanced Queuing File & FTP JMS, MQ Series, EBSTCP/IP Sockets Adapters can triggerapplication execution
  • 19. Leveraging SOA Suite 11g from the database The database can call out to the SOA Suite 11g With UTL_HTTP or Stored Java (2-way, synchronous) Through Advanced Queuing or Database Adapter polling (one way) WebLogic Server 11g SOA Suite 11g AQ AQ
  • 20. Call the “getOilPrice Service” We need to know the oil price for some calculations… But that price is not constant, we need the current price We do not want the exact market price, we have our own contracts Let’s define a constant in a package Oh, well, let’s call a WebService – Yahoo? Ah, the Purchasing department publishes a WebService for such data
  • 21. PurchasingPrices available via SOAP PurchasingPrices Service is available as a (SOAP based) WebService (implemented using BPEL) Service and WSDL are available (URLs are known)
  • 22. PurchasingPrices available via SOAP SOAP call over HTTP can be made from PL/SQL Using UTL_HTTP Assemble SOAP message Envelope Payload Name of product Make HTTP Post request Process Response Retrieve and Return the product price “re-Publish” service as PL/SQL function WebLogic Server 11g SOA Suite 11g
  • 23. PurchasingPrices available via SOAP WebLogic Server 11g SOA Suite 11g
  • 24. The database can ask the middle tier for other services as well Get information from (or to) services on the intranet or internet (‘please get us the NBA scores ’) Publish/Send information to the internet (RSS, email, chat) Can tell the middle tier Interesting events and data changes Trigger cache refresh! Alert about (im)pending issues,attempted rule violations, … The outcome of batch calculcations WebLogic Server 11g SOA Suite 11g Web App AQ
  • 25. Happy Chatting – IM from the Database WebLogic Server 11g Service Service Database can call a middletier service using utl_http Passing in the destinationand the message content This Service sends it onwards to the Google Talk Server CHAT_MGR
  • 26. Database actively informs on events WebLogic Server 11g Service Service CHAT_MGR EMP
  • 27. Publish Services from the Database Describe Services in WSDL and XSL Specify operations, input and output parameters Describe complex data structures ofparameters Publish Database-based Services Plain URL services through PL/SQL packages based on MOD_PLSQL, XML DB or DBMS_EPG Full blown SOAP WebServices 11g Native WebService (publish PL/SQL package), use UTL_DBWS, JPublisher for Java proxy class in AppServer Leverage SOA Suite to expose Database functionality Through the database adapter in SOA Suite/WLS
  • 28. Oracle DB 11g NativeWebServices Publish a PL/SQL Package as externally available WebService WSDL is auto-generated SOAP calls over http and https are supported
  • 29. SOA: Loading file contents into table SOA application can contain services that read from or write to the database Database is passive – undergoing SQL or PL/SQL Polling can also be against database
  • 30. SOA: Loading file contents into table
  • 31. Can you do SOA with only a …
  • 32. Key SOA concepts and lessons Functional interface, hiding implementation details Package specification Simple View API (possibly with IOT) – with complex joins, analytical functions, advanced SQL and PL/SQL integration Reusable, standardized services as flexible building blocks Aggregate and Combine into more valuable reusables Governance: security, management of services, SLAs Allow for configuration without development or deployment effort Decoupling in every aspect!
  • 33. Coupling & Decoupling in Oracle RDBMS Decoupling Coupling Package Specification Views (+ Instead of Trigger) Triggers in general DBMS_JOB Advanced Queuing Publish (intranet) XML & WebService %TYPE instead of hardcoded data type Centrally managed “parameter service” instead of local constants instead of hard coded values Use generic (SOA) services Database Link SYSDATE and USER Application performing SQL against tables SQL all over the place Access database from DMZ or even outside firewall Publish WebService or Web Application on Internet Too frequent use of dbms_output.put_line Copy and paste of code Poorly documented code Use of exotic features
  • 34. Decoupling Applications & Data Application(User Interface) Application(User Interface) Data Data
  • 35. Decoupling Applications & Data Application(User Interface) Application(User Interface) Data
  • 36. Decoupling Applications & Data Application (User Interface) WorkflowEngine CMS Email IM Fax
  • 37. Decoupling from Table to ESB+ http WEBDAV FTP WSRP coupled http WS/SOAP WS* WS* WS* complex
  • 38. Increasingly decoupled More hiding of the implementation More Formal Interface Contract Less (proprietary) technology & more standards for interacting Less exposure of (legacy) data model More support for asynchronous interaction More reuse potential Pervasive throughout enterprise More suitable for external consumption
  • 39. Comes at a cost… More run time overhead Additional tiers XML serialization and deserialization More infrastructure Burden of Administration License Costs Hardware Broader skills palette – more stuff to master Harder to get started
  • 40. Summary SOA is about decoupling, integration & reuse SOA Suite 11g runs service implementations That can access database and other technologies through adapters – either inbound or outbound Database can access services from utl_http Or AQ, Database polling or File polling SOA Suite hooks into database via SQL, PL/SQL, AQ or even XML DB file protocols Many SOA concepts can be applied without the SOA Suite, using standard DB features
  • 41. Resources Presentation and demos are on our blog http://technology.amis.nl/blog Contact me at: lucas.jellema@amis.nl

Editor's Notes

  1. Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  2. Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  3. Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  4. Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  5. http://www.liberidu.com/blog/?p=244http://tardate.blogspot.com/2007/08/first-tests-of-11g-native-web-services.htmlhttp://download.oracle.com/docs/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm#ADXDB3900
  6. Alternative to:(merge from) External TablesUtl_fileSQL*LoaderJava based solutionsExcel & ODBCXML DB
  7. Alternative to:(merge from) External TablesUtl_fileSQL*LoaderJava based solutionsExcel & ODBCXML DB