integrating database native web services - oracle | integrated … · integrating database native...

26

Upload: others

Post on 31-Mar-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg
Page 2: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Integrating Database Native Web Services Into Oracle's SOA ArchitectureInto Oracle s SOA Architecture dai cleggDirector of Development, Oracle Development Toolsd i l @ [email protected]

OOW, October 2009

Page 3: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver anycontract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development release and timing of any features ordevelopment, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 4: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Topics

• Why a SOAy• The database in a SOA• Choices in exposing database as services• Designing the services• Resources

Page 5: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Why a Service Oriented Architecture?

• It’s the new buzzword• It’s a must-have for the resume

• To integrate applications• To build flexible processes• To build flexible processes • To modernize applications

Page 6: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Anatomy of a SOA

The 3 tier architecture

Relational DataRelational Data

SQL NetJDBCODBCetcetc

Page 7: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Anatomy of a SOA

The integration architecture Relational DataRelational Data

L D tL D tLegacy DataLegacy Data

Packaged AppsPackaged Apps

adaptersXML DataXML Data

Page 8: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Anatomy of a SOA

Relational DataRelational DataThe service-oriented architecture

L D tL D tLegacy DataLegacy Data

Packaged AppsPackaged Apps

XML DataXML Data

SOAP over HTTP to WSDL Services

Page 9: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Anatomy of a Service

ServiceInterface

TransformationLayer

ServiceImplementation

Service ConsumerNew Service

WrappedLegacy

Interface Proxy

CompositeCompositeService

Page 10: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

A Composite (BPEL) Service

Page 11: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Anatomy of a SOA

Relational DataRelational DataThe service-oriented architecture

L D tL D tLegacy DataLegacy Data

Packaged AppsPackaged Apps

XML DataXML Data

SOAP over HTTP to WSDL Services

Page 12: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Anatomy of a SOA – summary

• To run a web service you need a servery• J2EE, .Net or other (e.g. Oracle Database)

• Once you have it deployed it has a URL S it b h d f h ibl• So it can be reached from anywhere accessible

• WSDL describes the messages it expects & returns• So a consumer/client can know how to interact

• A service can be implemented in any technology• As can the consumer

• A service can consume other services• E.g. BPEL

Page 13: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

How Do Database Services Play?

• Four (count them) ways( ) y• Native Database Web Services

• Database (11g)• ADF Application Module• ADF Application Module

• Middle tier ADFm AM as a Service• JPublisher

• Middle tier POJO with JPub mappings• TopLink DBWS

• Middle tier POJO with JAXB mappings (coming)

Page 14: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Database-native Web Services

SOAP Request

SOAP Response

Page 15: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Middle-tier Data Service

SOAP Request

SOAP Request

SQL NetJDBCODBC

Page 16: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

When Do Native Services Play?

• When we prefer to use SOAP/HTTP to connect• When we want to avoid adding another server

• Zero deploy services

• Less moving partsg p

Page 17: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

When Do Native Services Play?d f ti- a word of caution

• Less moving parts g p

• Less integration into the SOA infrastructure • Where are my services?

• Application Server management console (EM)• Service registry

• How are my services protected?y p• Policy manager

Page 18: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Demonstration summary

• Database tier• Native Web Services

• Middle tierJP bli h W b S i• JPublisher Web Services

• Finding my services

Page 19: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Top Down & Bottom Up Service DevelopmentService Development

WSDL Top-down: WSDLdrives the development

Business L i

Bottom up: PL/SQLdrives the development Logicdrives the development

Page 20: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Meet in the Middle Service DevelopmentService Development

WSDL

Mappinglogic

BusinessL i

g

Logic

Page 21: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Designing business services top-down

• processes• usually event driven

• Customers• Suppliers• Suppliers • Partners• Employees

• ‘business algorithms’• Building up a result from multiple systems

Page 22: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Publishing the legacy bottom-up

• Stick with existing interfacesg• Business-oriented?• Technology-oriented?• Design for re-use• Design for re-use

• Protect the data• Thoughtful interface design• Tight input validation• Good error & exception reporting

Page 23: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Choices in exposing PL/SQL services

• Platform• DB native• Middleware

• ADF JPub Toplink DBWS• ADF, JPub, Toplink DBWS • Bottom up or meet in the middle

• …or meet in the database• Consider wrapping packages in service-oriented way

Page 24: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

How to Choose

• Mix & Match or pick a platform?• Factors

• SkillsA hit t• Architecture• Database business logic vs middle tier business logic• Re-usable business logic vs re-developed business logic

• Management• Unified catalog• Unified governanceUnified governance

Page 25: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Resources

• Mastering SOA White Paper Seriesg• http://www.oracle.com/technology/tech/soa/mastering-soa-

series/index.html

• Chris Muir’s web services paper at ODTUG 2009Chris Muir s web services paper at ODTUG 2009• http://one-size-doesnt-fit-all.blogspot.com/2008/06/events-

and-publications.html

G d D i ’ bl• Gerard Davison’s blog• http://kingsfleet.blogspot.com/

Page 26: Integrating Database Native Web Services - Oracle | Integrated … · Integrating Database Native Web Services Into OracleInto Oracle s's SOA Architecture SOA Architecture dai clegg

Q U E S T I O N SQ U E S T I O N SQ U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S