Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
-
Upload
octavia-leonard -
Category
Documents
-
view
223 -
download
6
Transcript of Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
![Page 1: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/1.jpg)
Presentation 8:SOAP in a distributed object framework,
Application Servers & AXIS SOAP
![Page 2: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/2.jpg)
Ingeniørhøjskolen i ÅrhusSlide 2 af 14
Outline
• SOAP and Web Services in relation to Distributed Objects
• The AXIS Project – Open Source Java SOAP Server– Introduction to the Apache Tomcat Application Server– Introduction to the AXIS Project– How to install
![Page 3: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/3.jpg)
SOAP & Web Services in relation to Distributed Objects
![Page 4: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/4.jpg)
Ingeniørhøjskolen i ÅrhusSlide 4 af 14
SOAP and Distributed Objects
• SOAP in it self has nothing to do with objects• There probably is SOAP API’s for C and COBOL• The trick is the supporting API’s converting
objects to WSDL and SOAP for serialization across the network
• Using the Proxy Pattern for decoupling – perhaps with the Façade Pattern for larger granularity– Emmerich: Accessing distributed objects is expensive– Use larger granularity
• More on Architecture later in the course
![Page 5: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/5.jpg)
Ingeniørhøjskolen i ÅrhusSlide 5 af 14
Proxy Pattern (GoF version)
WatchClient
RealWatchProxyWatch TestWatch
setTime()
setTime() setTime() setTime()
Objects of RealWatch class are locateed on a different machinethan the Client object.This is an example of Remote Proxy – which is anArchitectural Pattern. from GoF
abstract
GoF: Gang Of Four (Design Pattern bog af Gamma m.fl.)
![Page 6: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/6.jpg)
Ingeniørhøjskolen i ÅrhusSlide 6 af 14
Proxy Pattern (B. Douglas version)
ClientObject
SOAPProxy
Serverobject
BD.s212
Client component
Server component
Proxy Pattern Client
Server Proxy
Proxy (= en stedfortræder)
By encapsulatingThe SOAP communicationin a Proxy,we have decoupled theClient Object fromneeding to knowthat it calls overThe Internet. Thus making it easyto implementdifferent Middlewareand use the Serverobject locallyWe could do the same for
The Server object
![Page 7: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/7.jpg)
Ingeniørhøjskolen i ÅrhusSlide 7 af 14
Façade Pattern (also GoF)
Used for encapsulation and decouplingUsed for encapsulation and decoupling
The entire Client Subsystem is decoupled from the serverand a Client Proxy hides the SOAP implementation (also Server Proxy)
This is known as Client Stubs & Server Skeletons
The entire Client Subsystem is decoupled from the serverand a Client Proxy hides the SOAP implementation (also Server Proxy)
This is known as Client Stubs & Server Skeletons
![Page 8: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/8.jpg)
Frameworks for Webservices &The AXIS Project – Open Source
Java SOAP Server
![Page 9: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/9.jpg)
Ingeniørhøjskolen i ÅrhusSlide 9 af 14
How to make a Webservice with SOAP
• You need an application or API capable of supporting:– Communication over the Internet (HTTP)– Security (SSL)– XML Parsing capabilities– …
• Two examples of this:– Apache Tomcat Application Server with AXIS– Microsoft Internet Information Server
• We will use them both – though starting with the Apache Tomcat Application Server and the AXIS project – this will be introduced here
![Page 10: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/10.jpg)
Ingeniørhøjskolen i ÅrhusSlide 10 af 14
Apache Tomcat Application Server
• Apache Project is a open source project – widely supported by Sun & IBM (but not Microsoft)– Including a huge amount of free coding effort from both
• It consist of a long range of projects including:– Apache Web Server
• The most used web server in the world (and its free!)• The most secure, with SSL cap., and NT, Linux & UNIX support• Huge amount of ”plug-in” modules• One of theese being the Apache Tomcat AS
– Apache Tomcat Application Server• Capable of running JAVA applications• JSP/Servlets• And projects embedded into this –
– The AXIS Project• The former Apache SOAP Server• Runs embedded in Tomcat
![Page 11: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/11.jpg)
Ingeniørhøjskolen i ÅrhusSlide 11 af 14
Apache Tomcat AS• Works on:
– Windows, UNIX, LINUX, Mac– Can be compiled to any platform (with some work)
• Can be found at:– http://jakarta.apache.org/tomcat/index.html
• Server listening for events: – HTTP on port 8080 (optionel)– Executes Servlets/JSP and JAVA applications– AXIS is an embedded project within the Tomcat environment
SOAP ClientJava, C++, C#,
Delphi, VB Application
SOAP ClientJava, C++, C#,
Delphi, VB Application
SOAP over HTTPSOAP over HTTP
Web ServerApache /MS IIS
Web ServerApache /MS IIS
AS/SOAPServer
(Tomcat with
AXIS)
AS/SOAPServer
(Tomcat with
AXIS)
JSP/ServletJSP/
Servlet
WebService
WebService
ObjectObject
ObjectObject
Common code base!Common code base!
![Page 12: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/12.jpg)
Ingeniørhøjskolen i ÅrhusSlide 12 af 14
AXIS Project
• Provides us with a suitable framework• Runs embedded in Apache Tomcat – just download
– http://xml.apache.org/axis/
• But can run on ANY Application Server– BEA, WebSphere,
• Supports full WSDL• Supports SOAP communication via:
– HTTP, SMTP, FTP and open for extension
• Build in security, log, error and fault handling (some are still “under construction”)
• Tools for WSDL Stub & Skeleton creation:– WSDL2Java &– Java2WSDL
• Flexible deployment system
![Page 13: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/13.jpg)
The AXIS Project – How to Install
![Page 14: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.](https://reader036.fdocuments.us/reader036/viewer/2022071717/56649e585503460f94b513d9/html5/thumbnails/14.jpg)
Ingeniørhøjskolen i ÅrhusSlide 14 af 14
How to Install
• We do not need the Apache Web Server– As Tomcat has its own HTTP capabilities
• Start with Apache Tomcat Application Server– http://jakarta.apache.org/tomcat/index.html
• Test installation is OK• Then Install the AXIS Project
– http://xml.apache.org/axis/
• I have prepared a brief installation help document to be found at the course web site