Download presentation
Presentation is loading. Please wait.
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/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.