Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 How PL/SQL Applications Can Participate in a Service-Oriented Architecture Aino Andriessen AMIS.

Similar presentations


Presentation on theme: "1 How PL/SQL Applications Can Participate in a Service-Oriented Architecture Aino Andriessen AMIS."— Presentation transcript:

1 1 How PL/SQL Applications Can Participate in a Service-Oriented Architecture Aino Andriessen AMIS

2 2 ? SOA PartyPL/SQL

3 3 SOA design connectivity

4 4 Service Design Focus on function  a service is not a technical solution Component vs. service

5 5 Examples zipcode check / address check notification service converter  xx -> xml  currency CD information lookup

6 6 Connectivity any technology standards  XML  http  soap  ws-... ... synchronous vs. a-synchronous a service is not necessarily a webservice Loosely-coupled

7 7 The position of the database Traditionally, the database could be considered as an isolated entity, only available to its application(s). Forms db VBwebapp internet intranet

8 8 The position of the database - 2 Nowadays, the (Oracle) database is able to function on its own and  to deliver applications / services without the need of an application server  to connect directly to other applications / services  use on standard internet technology  synchronous and a-synchronous db internet intranet appB

9 9 PL/SQL applications can function as a service provider and as a service consumer.

10 10 Database access (provider) Oracle Database JDBC SQL*NET ODBC WEBDAV FTP HTTP XMLDB webserver

11 11 Access the outside world (consumer) Oracle Database files host Database link HTTP External procedure mail

12 12 This sheet has been left blank on purpose

13 13 Webservices According to the W3C a Web service is a software system designed to support interoperable machine-to-machine interaction over a network (in general) synchronous Request - Response mechanism

14 14 Web service protocol stack Service transport  http, smtp, ftp,... XML messaging  soap, rest, xml-rpc,... Service description  wsdl Service discovery  uddi

15 15 SOAP example... 827635 Toptimate 3-Piece Set 827635 3-Piece luggage set. Black Polyester. 96.50 true

16 16 PL/SQL as a Webservice consumer PL/SQL Webservice utl_http / utl_dbws http Java stored procedure Webservice http PL/SQL wrapper

17 17 Demo utl_http Webservice utl_dbws wsdl ws_odtug_service_client.pkb

18 18 Webservice producer PL/SQL consumer http XMLDB webserver mod_plsql PL/SQL consumer http Application Server Webapp

19 19 Demo ws_server.conferences Browser http XMLDB webserver /ws DBMS_EPG.create_dad ( dad_name => 'ws', path => '/ws/*'); ws_server.pkb

20 20

21 21 Messaging a-synchronous transportlayer - MOM  Tibco, IBM MQ, JMS, AQ,... some standarization  JMS interface  SOAP message format

22 22 Messaging concepts queue / topic enqueue - dequeue point - to - point publish - subscribe producerqueueconsumer enqueuedequeue producer queue / topic consumer publish consumer subscribe

23 23 Oracle Streams Advanced Queuing (AQ) queue queue table (or memory) exception queue queue view payload subscriber propagation

24 24 AQ API :  dbms_aqadm  dbms_aq  ! Never, ever perform direct dml on queue tables payload = message type:  object oracle objects, xmltype, collections  varchar2  raw

25 25 Access PL/SQL java / JMS / jdbc  oracle.jms, javax.jms VB  Oracle objects for OLE OCI Internet Oracle Messaging Gateway

26 26 AQ Internet access You can access Oracle Streams AQ over the Internet by using Simple Object Access Protocol (SOAP).  Internet Data Access Presentation (IDAP) defines the XML message structure for the body of the SOAP request.

27 27 Oracle Messaging Gateway Messaging Gateway enables communication between applications based on non-Oracle messaging systems and Oracle Streams AQ.

28 28 AQ implementation Oracle products  interconnect ... ESB / integration products  Mule  Oracle ESB  iWay  BEA ...

29 29 Demo do_enqueue.prc do_dequeue.fnc Developer.java aq_send.xml aq_receive.xml Developer2.java

30 30 Conclusion PL/SQL can interact directly with the world outside the database, using standard 'internet' technology, either directly or via Oracle messaging (AQ).

31 31 ! SOA Party

32 32 Questions & Answers aino.andriessen@amis.nl AMIS weblog : http://technology.amis.nl/blog/


Download ppt "1 How PL/SQL Applications Can Participate in a Service-Oriented Architecture Aino Andriessen AMIS."

Similar presentations


Ads by Google