Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.

14
Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP

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.

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.

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.

SOAP & Web Services in relation to Distributed Objects

Page 4: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.

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.

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.

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.

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.

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.

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.

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.

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.

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.

The AXIS Project – How to Install

Page 14: Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.

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