SlideShare a Scribd company logo
IntroducingSOA and Oracle SOA Suite 11g to Oracle Database ProfessionalsWebLogic Server 11gOracle Open World 2009Monday, 12th OctoberLucas Jellema AMIS, The NetherlandsSOA Suite 11g
AgendaIntroducing SOA – what, why, howQuick overview of SOA Suite 11gLeveraging the SOA Suite from the databaseAccessing the database from the SOA SuiteApplying SOA principles to database developmentWrap up
SOA = BAD
BusinessAgility throughDecouplingSOA =
Decoupling≈Managing Dependenciesminimize impact of change while maximizing reusability
Types of decouplingFunctional Interface - Encapsulation of implementationDesign by Contract, Implement by DesignTechnicalNo proprietary technology, protocol, message formatStandards based (XML, HTTP, RSS, WSDL…)TemporalAsynchronous communication (separate response)DevelopmentSeparate teams working in parallel based on mutually agreed interface definitions
ObjectivesBusiness Agility(Faster) responses to market demandsCreating new business from existing resourcesIT FlexibilityOptimize locally without impact ‘globally’Prepare for future developmentsLower costsThrough reuse, better integration, decoupling
Objectives(longer term) Higher Quality and Faster (traceable) Process executionAutomated data exchange cross boundariesWorkflow and task orientationintegrated, cross department, in a controlled way based on sound understanding of the business processesBusiness Event driven interactionManage risks and fear
Common Characteristics in SOACross BoundariesCross Technology - .Net, Uniface, Java, TibcoCross Channel – Back Office, Web, PDA, APICross User Group  – Internal, Agents, Self ServiceCross Domain – Multiple departments & systemsCross Enterprise – Interact with external partnersData synchronization or consolidationManagement whim VisionFrom Database angle: providing services
What is a service?Standards based callable, reusable functionality according to an interaction contractIn terms of functionality (WSDL – compare Package Specification)What are the input parametersWhat are the output parameters (if any)What are the exceptionsHow (when, where) is the response deliveredImplementation 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 scheduleResponse TimePeak load capacityPriceReliability, ConfidentialityAddress, protocol
Services in various shapesLibrary (dll, jar)Java Class (public methods) or an EJB (interface)URLRSS feedPortlet (UI Service)SOAP WebServiceDatabase View or Package Specification….If it exposes a clear, standardized interface
Example of a service call?Browser makes sendshttp request to a URLText based message with headers and body
What is a service call?Server returns a responseAnother text based message with headers and body
Calling a Web ServiceSend an XML document to a URL via HTTPRequest message contains headers and bodyService (server) returns another XML documentResponse message contains headers and bodyResponse can be a fault (a WebService exception)Headers are used for meta-dataSender (identity, address), Return addressEncryption, digitally signed, Type of content, type of compression
The SOA Suite 11gThe engine that runs applications that implement the WebServicesInside the WebLogic Server application serverWebLogic Server 11gWebServicesSOA Suite 11g
SOA Suite 11g Composite ApplicationsSOA 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 adaptersSOA Composite Applications can call out to external WebServices and AdaptersAdapters connect to various technologiesDatabase (SQL & PL/SQL)Advanced QueuingFile & FTPJMS, MQ Series, EBSTCP/IP SocketsAdapters can triggerapplication execution
Leveraging SOA Suite 11g from the databaseThe database can call out to the SOA Suite 11gWith UTL_HTTP or Stored Java (2-way, synchronous)Through Advanced Queuing or Database Adapter polling (one way)WebLogic Server 11gSOA Suite 11gAQAQ
Call the “getOilPrice Service”We need to know the oil price for some calculations…But that price is not constant, we need the current priceWe do not want the exact market price, we have our own contractsLet’s define a constant in a packageOh, well, let’s call a WebService – Yahoo?Ah, the Purchasing department publishes a WebService for such data
PurchasingPrices available via SOAPPurchasingPrices Service is available as a (SOAP based) WebService (implemented using BPEL)Service and WSDL are available (URLs are known)
PurchasingPrices available via SOAPSOAP call over HTTP can be made from PL/SQLUsing UTL_HTTPAssemble SOAP messageEnvelopePayload Name of productMake HTTP Post requestProcess ResponseRetrieve and Return the product price“re-Publish” service as PL/SQL functionWebLogic Server 11gSOA Suite 11g
PurchasingPrices available via SOAPWebLogic Server 11gSOA Suite 11g
The database can ask the middle tier for other services as wellGet 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 tierInteresting events and data changesTrigger cache refresh!Alert about (im)pending issues,attempted rule violations, …The outcome of batch calculcationsWebLogic Server 11gSOA Suite 11gWeb AppAQ
Happy Chatting – IM from the DatabaseWebLogic Server 11gServiceServiceDatabase can call a middletier service using utl_httpPassing in the destinationand the message contentThis Service sends it onwards to the Google Talk ServerCHAT_MGR
Database actively informs on eventsWebLogic Server 11gServiceServiceCHAT_MGREMP
Publish Services from the DatabaseDescribe Services in WSDL and XSLSpecify operations, input and output parametersDescribe complex data structures ofparametersPublish Database-based ServicesPlain URL services through PL/SQL packagesbased on MOD_PLSQL, XML DB or DBMS_EPGFull blown SOAP WebServices11g Native WebService (publish PL/SQL package), use UTL_DBWS, JPublisher for Java proxy class in AppServerLeverage SOA Suite to expose Database functionalityThrough the database adapter in SOA Suite/WLS
Oracle DB 11g NativeWebServicesPublish a PL/SQL Package as externally available WebServiceWSDL is auto-generatedSOAP calls over http and https are supported
SOA: Loading file contents into tableSOA application can contain services that read from or write to the databaseDatabase is passive – undergoing SQL or PL/SQLPolling can also be against database
SOA: Loading file contents into table
Can you do SOA with only a …
Key SOA concepts and lessonsFunctional interface, hiding implementation detailsPackage specificationSimple View API (possibly with IOT) – with complex joins, analytical functions, advanced SQL and PL/SQL integrationReusable, standardized services as flexible building blocksAggregate and Combine into more valuable reusablesGovernance: security, management of services, SLAsAllow for configuration without development or deployment effortDecoupling in every aspect!
Coupling & Decoupling in Oracle RDBMSDecouplingCouplingPackage SpecificationViews (+ Instead of Trigger)Triggers in generalDBMS_JOBAdvanced QueuingPublish (intranet) XML & WebService%TYPE instead of hardcoded data typeCentrally managed “parameter service”instead of local constants instead of hard coded valuesUse generic (SOA) servicesDatabase LinkSYSDATE and USERApplication performing SQL against tablesSQL all over the placeAccess database from DMZ or even outside firewallPublish WebService or Web Application on InternetToo frequent use of dbms_output.put_lineCopy and paste of codePoorly documented codeUse of exotic features
Decoupling Applications & DataApplication(User Interface)Application(User Interface)DataData
Decoupling Applications & DataApplication(User Interface)Application(User Interface)Data
Decoupling Applications & DataApplication(User Interface)WorkflowEngineCMSEmailIMFax
Decoupling from Table to ESB+httpWEBDAVFTPWSRPcoupledhttpWS/SOAPWS*WS*WS*complex
Increasingly decoupledMore hiding of the implementationMore Formal Interface ContractLess (proprietary) technology & more standards for interactingLess exposure of (legacy) data modelMore support for asynchronous interactionMore reuse potentialPervasive throughout enterpriseMore suitable for external consumption
Comes at a cost…More run time overheadAdditional tiersXML serialization and deserializationMore infrastructureBurden of AdministrationLicense CostsHardwareBroader skills palette – more stuff to masterHarder to get started
SummarySOA is about decoupling, integration & reuseSOA Suite 11g runs service implementationsThat can access database and other technologies through adapters – either inbound or outboundDatabase can access services from utl_httpOr AQ, Database polling or File pollingSOA Suite hooks into database via SQL, PL/SQL, AQ or even XML DB file protocolsMany SOA concepts can be applied without the SOA Suite, using standard DB features
ResourcesPresentation and demos are on our bloghttp://technology.amis.nl/blogContact me at:lucas.jellema@amis.nl

More Related Content

What's hot (19)

PPT
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Guido Schmutz
 
PPT
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Guido Schmutz
 
PDF
Osb student guide
Vibhor Rastogi
 
PDF
An Unbiased Look: Oracle SOA Suite 12c
Revelation Technologies
 
PDF
oracle-osb
AbrarMoiz
 
PPTX
SOA Suite 12c - Service Bus new features summary
Lucas Jellema
 
PDF
Oracle Service Bus (OSB) for the Busy IT Professonial
Frank Munz
 
PPTX
Where to use OSB
Edwin Biemond
 
PPT
Soa bpel-123
Priyanka Bansal
 
PPT
Soa & Bpel
lakshmi isukapally
 
PDF
Integrating with SAP FIX and HL7
WSO2
 
PPT
Soa & Bpel With Web Sphere
lakshmi isukapally
 
PDF
OOW09 Integration Architecture EBS R12
jucaab
 
PPT
OOW2008 in China
James Hu
 
PPTX
oracle ebs free web service integration tools
SmartDog Services
 
PPTX
Oracle SOA, AIA & Fusion Apps
Phil Wilkins
 
PPTX
Oaug collaborate sadia_tahseen
Sadz Ta
 
PDF
WSO2 Year End Tech Update 2012
WSO2
 
ODP
SOA & ESB Presentation
erichleipold
 
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Guido Schmutz
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Guido Schmutz
 
Osb student guide
Vibhor Rastogi
 
An Unbiased Look: Oracle SOA Suite 12c
Revelation Technologies
 
oracle-osb
AbrarMoiz
 
SOA Suite 12c - Service Bus new features summary
Lucas Jellema
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Frank Munz
 
Where to use OSB
Edwin Biemond
 
Soa bpel-123
Priyanka Bansal
 
Soa & Bpel
lakshmi isukapally
 
Integrating with SAP FIX and HL7
WSO2
 
Soa & Bpel With Web Sphere
lakshmi isukapally
 
OOW09 Integration Architecture EBS R12
jucaab
 
OOW2008 in China
James Hu
 
oracle ebs free web service integration tools
SmartDog Services
 
Oracle SOA, AIA & Fusion Apps
Phil Wilkins
 
Oaug collaborate sadia_tahseen
Sadz Ta
 
WSO2 Year End Tech Update 2012
WSO2
 
SOA & ESB Presentation
erichleipold
 

Viewers also liked (10)

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

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

PPT
The Story of How an Oracle Classic Stronghold successfully embraced SOA
Lucas Jellema
 
PPTX
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
Lucas Jellema
 
ODP
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
sumedha.r
 
PPT
Modern Database Development Oow2008 Lucas Jellema
Lucas Jellema
 
PPTX
Introduction To Cloud Computing
Rinat Shagisultanov
 
PPT
Web Services
Gaurav Tyagi
 
PPT
Web Services
Gaurav Tyagi
 
PPT
Ado.Net Data Services (Astoria)
Igor Moochnick
 
PPT
SOA and web services
Sreekanth Narayanan
 
PPT
SQL Server 2008 for Developers
ukdpe
 
PPTX
RAG Chatbot using AWS Bedrock and Streamlit Framework
apanneer
 
PPT
Presentation
Videoguy
 
PPTX
Sql Azure
Yves Goeleven
 
PPTX
Roles y Responsabilidades en SQL Azure
Eduardo Castro
 
PPT
Sql Summit Clr, Service Broker And Xml
David Truxall
 
PPT
Virtuoso Universal Server Overview
rumito
 
PPT
Enterprise Software Architecture
rahmed_sct
 
PPSX
Accessing sap and_mainframe_data_and_applications_via_share_point
Yuval Birenboum
 
PPT
Intro to web services
Neil Ghosh
 
PPT
Windows Azure for .NET Developers
llangit
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
Lucas Jellema
 
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
sumedha.r
 
Modern Database Development Oow2008 Lucas Jellema
Lucas Jellema
 
Introduction To Cloud Computing
Rinat Shagisultanov
 
Web Services
Gaurav Tyagi
 
Web Services
Gaurav Tyagi
 
Ado.Net Data Services (Astoria)
Igor Moochnick
 
SOA and web services
Sreekanth Narayanan
 
SQL Server 2008 for Developers
ukdpe
 
RAG Chatbot using AWS Bedrock and Streamlit Framework
apanneer
 
Presentation
Videoguy
 
Sql Azure
Yves Goeleven
 
Roles y Responsabilidades en SQL Azure
Eduardo Castro
 
Sql Summit Clr, Service Broker And Xml
David Truxall
 
Virtuoso Universal Server Overview
rumito
 
Enterprise Software Architecture
rahmed_sct
 
Accessing sap and_mainframe_data_and_applications_via_share_point
Yuval Birenboum
 
Intro to web services
Neil Ghosh
 
Windows Azure for .NET Developers
llangit
 
Ad

More from Lucas Jellema (20)

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

Recently uploaded (20)

PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 

Introducing SOA and Oracle SOA Suite 11g for Database Professionals

  • 1. IntroducingSOA and Oracle SOA Suite 11g to Oracle Database ProfessionalsWebLogic Server 11gOracle Open World 2009Monday, 12th OctoberLucas Jellema AMIS, The NetherlandsSOA Suite 11g
  • 2. AgendaIntroducing SOA – what, why, howQuick overview of SOA Suite 11gLeveraging the SOA Suite from the databaseAccessing the database from the SOA SuiteApplying SOA principles to database developmentWrap up
  • 5. Decoupling≈Managing Dependenciesminimize impact of change while maximizing reusability
  • 6. Types of decouplingFunctional Interface - Encapsulation of implementationDesign by Contract, Implement by DesignTechnicalNo proprietary technology, protocol, message formatStandards based (XML, HTTP, RSS, WSDL…)TemporalAsynchronous communication (separate response)DevelopmentSeparate teams working in parallel based on mutually agreed interface definitions
  • 7. ObjectivesBusiness Agility(Faster) responses to market demandsCreating new business from existing resourcesIT FlexibilityOptimize locally without impact ‘globally’Prepare for future developmentsLower costsThrough reuse, better integration, decoupling
  • 8. Objectives(longer term) Higher Quality and Faster (traceable) Process executionAutomated data exchange cross boundariesWorkflow and task orientationintegrated, cross department, in a controlled way based on sound understanding of the business processesBusiness Event driven interactionManage risks and fear
  • 9. Common Characteristics in SOACross BoundariesCross Technology - .Net, Uniface, Java, TibcoCross Channel – Back Office, Web, PDA, APICross User Group – Internal, Agents, Self ServiceCross Domain – Multiple departments & systemsCross Enterprise – Interact with external partnersData synchronization or consolidationManagement whim VisionFrom Database angle: providing services
  • 10. What is a service?Standards based callable, reusable functionality according to an interaction contractIn terms of functionality (WSDL – compare Package Specification)What are the input parametersWhat are the output parameters (if any)What are the exceptionsHow (when, where) is the response deliveredImplementation 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 scheduleResponse TimePeak load capacityPriceReliability, ConfidentialityAddress, protocol
  • 12. Services in various shapesLibrary (dll, jar)Java Class (public methods) or an EJB (interface)URLRSS feedPortlet (UI Service)SOAP WebServiceDatabase View or Package Specification….If it exposes a clear, standardized interface
  • 13. Example of a service call?Browser makes sendshttp request to a URLText based message with headers and body
  • 14. What is a service call?Server returns a responseAnother text based message with headers and body
  • 15. Calling a Web ServiceSend an XML document to a URL via HTTPRequest message contains headers and bodyService (server) returns another XML documentResponse message contains headers and bodyResponse can be a fault (a WebService exception)Headers are used for meta-dataSender (identity, address), Return addressEncryption, digitally signed, Type of content, type of compression
  • 16. The SOA Suite 11gThe engine that runs applications that implement the WebServicesInside the WebLogic Server application serverWebLogic Server 11gWebServicesSOA Suite 11g
  • 17. SOA Suite 11g Composite ApplicationsSOA 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 adaptersSOA Composite Applications can call out to external WebServices and AdaptersAdapters connect to various technologiesDatabase (SQL & PL/SQL)Advanced QueuingFile & FTPJMS, MQ Series, EBSTCP/IP SocketsAdapters can triggerapplication execution
  • 19. Leveraging SOA Suite 11g from the databaseThe database can call out to the SOA Suite 11gWith UTL_HTTP or Stored Java (2-way, synchronous)Through Advanced Queuing or Database Adapter polling (one way)WebLogic Server 11gSOA Suite 11gAQAQ
  • 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 priceWe do not want the exact market price, we have our own contractsLet’s define a constant in a packageOh, well, let’s call a WebService – Yahoo?Ah, the Purchasing department publishes a WebService for such data
  • 21. PurchasingPrices available via SOAPPurchasingPrices Service is available as a (SOAP based) WebService (implemented using BPEL)Service and WSDL are available (URLs are known)
  • 22. PurchasingPrices available via SOAPSOAP call over HTTP can be made from PL/SQLUsing UTL_HTTPAssemble SOAP messageEnvelopePayload Name of productMake HTTP Post requestProcess ResponseRetrieve and Return the product price“re-Publish” service as PL/SQL functionWebLogic Server 11gSOA Suite 11g
  • 23. PurchasingPrices available via SOAPWebLogic Server 11gSOA Suite 11g
  • 24. The database can ask the middle tier for other services as wellGet 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 tierInteresting events and data changesTrigger cache refresh!Alert about (im)pending issues,attempted rule violations, …The outcome of batch calculcationsWebLogic Server 11gSOA Suite 11gWeb AppAQ
  • 25. Happy Chatting – IM from the DatabaseWebLogic Server 11gServiceServiceDatabase can call a middletier service using utl_httpPassing in the destinationand the message contentThis Service sends it onwards to the Google Talk ServerCHAT_MGR
  • 26. Database actively informs on eventsWebLogic Server 11gServiceServiceCHAT_MGREMP
  • 27. Publish Services from the DatabaseDescribe Services in WSDL and XSLSpecify operations, input and output parametersDescribe complex data structures ofparametersPublish Database-based ServicesPlain URL services through PL/SQL packagesbased on MOD_PLSQL, XML DB or DBMS_EPGFull blown SOAP WebServices11g Native WebService (publish PL/SQL package), use UTL_DBWS, JPublisher for Java proxy class in AppServerLeverage SOA Suite to expose Database functionalityThrough the database adapter in SOA Suite/WLS
  • 28. Oracle DB 11g NativeWebServicesPublish a PL/SQL Package as externally available WebServiceWSDL is auto-generatedSOAP calls over http and https are supported
  • 29. SOA: Loading file contents into tableSOA application can contain services that read from or write to the databaseDatabase is passive – undergoing SQL or PL/SQLPolling 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 lessonsFunctional interface, hiding implementation detailsPackage specificationSimple View API (possibly with IOT) – with complex joins, analytical functions, advanced SQL and PL/SQL integrationReusable, standardized services as flexible building blocksAggregate and Combine into more valuable reusablesGovernance: security, management of services, SLAsAllow for configuration without development or deployment effortDecoupling in every aspect!
  • 33. Coupling & Decoupling in Oracle RDBMSDecouplingCouplingPackage SpecificationViews (+ Instead of Trigger)Triggers in generalDBMS_JOBAdvanced QueuingPublish (intranet) XML & WebService%TYPE instead of hardcoded data typeCentrally managed “parameter service”instead of local constants instead of hard coded valuesUse generic (SOA) servicesDatabase LinkSYSDATE and USERApplication performing SQL against tablesSQL all over the placeAccess database from DMZ or even outside firewallPublish WebService or Web Application on InternetToo frequent use of dbms_output.put_lineCopy and paste of codePoorly documented codeUse of exotic features
  • 34. Decoupling Applications & DataApplication(User Interface)Application(User Interface)DataData
  • 35. Decoupling Applications & DataApplication(User Interface)Application(User Interface)Data
  • 36. Decoupling Applications & DataApplication(User Interface)WorkflowEngineCMSEmailIMFax
  • 37. Decoupling from Table to ESB+httpWEBDAVFTPWSRPcoupledhttpWS/SOAPWS*WS*WS*complex
  • 38. Increasingly decoupledMore hiding of the implementationMore Formal Interface ContractLess (proprietary) technology & more standards for interactingLess exposure of (legacy) data modelMore support for asynchronous interactionMore reuse potentialPervasive throughout enterpriseMore suitable for external consumption
  • 39. Comes at a cost…More run time overheadAdditional tiersXML serialization and deserializationMore infrastructureBurden of AdministrationLicense CostsHardwareBroader skills palette – more stuff to masterHarder to get started
  • 40. SummarySOA is about decoupling, integration & reuseSOA Suite 11g runs service implementationsThat can access database and other technologies through adapters – either inbound or outboundDatabase can access services from utl_httpOr AQ, Database polling or File pollingSOA Suite hooks into database via SQL, PL/SQL, AQ or even XML DB file protocolsMany SOA concepts can be applied without the SOA Suite, using standard DB features
  • 41. ResourcesPresentation and demos are on our bloghttp://technology.amis.nl/blogContact me at:[email protected]

Editor's Notes

  • #21: Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  • #22: Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  • #23: Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  • #24: Call BPEL: http://ora-rich.blogspot.com/2007/06/calling-bpel-process-from-plsql.html
  • #29: 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
  • #30: Alternative to:(merge from) External TablesUtl_fileSQL*LoaderJava based solutionsExcel & ODBCXML DB
  • #31: Alternative to:(merge from) External TablesUtl_fileSQL*LoaderJava based solutionsExcel & ODBCXML DB