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 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
Guido Schmutz
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7
WSO2
 
OOW09 Integration Architecture EBS R12
OOW09 Integration Architecture  EBS R12OOW09 Integration Architecture  EBS R12
OOW09 Integration Architecture EBS R12
jucaab
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012
WSO2
 

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

어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법
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 (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 Services
sumedha.r
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
Igor Moochnick
 
Presentation
PresentationPresentation
Presentation
Videoguy
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
rahmed_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_point
Yuval Birenboum
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 

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
 
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
 
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
 
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
 
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

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

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