webservices ppt
TRANSCRIPT
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 1/36
Web ServicesWeb Services
Martin SengerMartin Senger
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 2/36
A bstractA bstract
�� W eb Services is a technology applicable forW eb Services is a technology applicable for
computationally distributed problems, including computationally distributed problems, including
access to large databasesaccess to large databases² ² W hat other technologies were/are available and how W hat other technologies were/are available and how they compare with W eb Services?they compare with W eb Services?
�� The main buzzwords:The main buzzwords:
² ² Integration & Standardization & Access by programsIntegration & Standardization & Access by programs
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 3/36
Why to use more than oneWhy to use more than one
computer?computer?
�� Distributed resourcesDistributed resources
² ² access to shared dataaccess to shared data² ² access to shared programsaccess to shared programs
² ² access to CPU (e.g. many desktop PCs together), toaccess to CPU (e.g. many desktop PCs together), tomemory, to special devices (e.g. printer)memory, to special devices (e.g. printer)
�� Complete independence on the internalComplete independence on the internalimplementationimplementation
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 4/36
Distributed architectureDistributed architecture
�� gives gives
² ² access to distributed resourcesaccess to distributed resources
² ² development encapsulationdevelopment encapsulation
�� maintainability, remaintainability, re--usability, legacy usability, legacy--awarenessawareness
² ² implementation independenceimplementation independence
�� requires requires
² ² adding a communication layer between partsadding a communication layer between parts
² ² synchronization of effortssynchronization of efforts
�� including such nasty things as distributed garbageincluding such nasty things as distributed garbagecollectioncollection
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 5/36
Sending
requests,
getting
results
Waiting for
requests(known location,
known port)
Communication protocol, Data format
Distributed architectureDistributed architecture
�� Basic questions are:Basic questions are:
² ² W hat kind of protocol to use, and what data toW hat kind of protocol to use, and what data totransmittransmit
² ² W hat to do with requests on the server sideW hat to do with requests on the server side
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 6/36
Sending
requests,
getting
results
Waiting for
requests(known location,
known port)
Data as name/value pairs
Traditional CGITraditional CGI--based approachbased approach
�� cgicgi--bin scripts:bin scripts:
² ² Data transmitted as nameData transmitted as name--value pairs (HTML forms)value pairs (HTML forms)² ² Transport over (stateTransport over (state--less) HTTP protocolless) HTTP protocol
² ² no standards for keeping user sessions (stateno standards for keeping user sessions (state--fullness)fullness)
² ² server side: a script is calledserver side: a script is called
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 7/36
Sending
requests,
getting
results
Waiting for
requests(known location,
known port)
Data in binary format
CORBA CORBA --based approachbased approach
�� COR BA:COR BA:
² ² Data transmitted as objects (at least it looks like that)Data transmitted as objects (at least it looks like that)² ² Transport (usually) over well standardised IIOP protocolTransport (usually) over well standardised IIOP protocol
² ² user sessions (stateuser sessions (state--fullness) very interfullness) very inter--operableoperable
² ² server side: an RPC call is madeserver side: an RPC call is made
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 8/36
Sending
requests,
getting
results
Waiting for
requests(known location,
known port)
Data in XML format
SOAPSOAP--based communicationbased communication
�� SOAP:SOAP:
² ² Data in a wellData in a well--defined XML formatdefined XML format² ² Transport over various protocolsTransport over various protocols
�� HTTP, SMTP are the most used, perhaps because they areHTTP, SMTP are the most used, perhaps because they arefirewallfirewall--friendly friendly
² ² server side: either an RPC call or a message deliveredserver side: either an RPC call or a message delivered
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 9/36
Web servicesWeb services
�� A collection of XMLA collection of XML--based technologiesbased technologiesdeveloped by the edeveloped by the e--business community tobusiness community to
address issues of:address issues of:
² ² service discovery service discovery
² ² interoperable data exchange and/or applicationinteroperable data exchange and/or applicationinvocationinvocation
² ² service compositions (workflow, business processes)service compositions (workflow, business processes)�� Major developers include:Major developers include:
² ² Apache, IBM, HP, SUN & Microsoft (.NET)Apache, IBM, HP, SUN & Microsoft (.NET)
�� http://www.webservices.org/http://www.webservices.org/
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 10/36
W3C (working group) definitionW3C (working group) definition
�� "A W eb service is a softw a re appl ic a tion "A W eb service is a softw a re appl ic a tion identified by a identified by a
URI URI , whose interf a ces a nd bindings a re c apa b l e of being , whose interf a ces a nd bindings a re c apa b l e of being
defined ,defined , described a nd discovered described a nd discovered a s XML a rtef a cts. Aa s XML a rtef a cts. AW eb service su pports direct inter a ctions with other W eb service su pports direct inter a ctions with other
softw a re a gents using softw a re a gents using XML b a sed m ess a ges XML b a sed m ess a ges exch a nged exch a nged
vi a vi a internet internet- -b a sed protocol s b a sed protocol s." ." �� http://www.w3c.org/TR/2002/WDhttp://www.w3c.org/TR/2002/WD--wsawsa--reqsreqs--2002081920020819
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 11/36
Web Services ArchitectureWeb Services Architecture
Let a program ´click on a web pageµ
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 12/36
Web Services Stack Web Services Stack
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 13/36
SOAPSOAP
�� SSimpleimple OObjectbject A A ccessccess PProtocolrotocol
² ² http://www.w3c.org/TR/SOAP/http://www.w3c.org/TR/SOAP/
�� A lightweight protocol for exchange of A lightweight protocol for exchange of information in a decentralised, distributedinformation in a decentralised, distributed
environmentenvironment
�� Two different styles to use:Two different styles to use:
² ² to encapsulate RPC calls using the extensibility andto encapsulate RPC calls using the extensibility andflexibility of XMLflexibility of XML
² ² «or to deliver a whole document without any «or to deliver a whole document without any
method calls encapsulatedmethod calls encapsulated
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 14/36
Request:Request:
setHelloMessagesetHelloMessage
Request:Request:
getHelloMessagegetHelloMessage
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 15/36
XML Messaging Using SOAPXML Messaging Using SOAP
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 16/36
WSDLWSDL
�� WWebeb SServiceservices DDefinitionefinition LLanguageanguage
² ² http://www.w3.org/TR/wsdl/http://www.w3.org/TR/wsdl/
�� An XMLAn XML--based language for describing W ebbased language for describing W ebServicesServices
² ² what the service does (description)what the service does (description)
² ² how to use it (method signatures)how to use it (method signatures)
² ² where to find the servicewhere to find the service
�� ItIt does not does not depend on the underlying protocoldepend on the underlying protocol
�� But: It is not much humanBut: It is not much human--readablereadable
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 17/36
Hello.wsdlHello.wsdl<?xml version="1.0" encoding="UTF<?xml version="1.0" encoding="UTF--8"?>8"?>
<wsdl:definitions targetNamespace="http://localhost:8080/axis/services/Hello"<wsdl:definitions targetNamespace="http://localhost:8080/axis/services/Hello"xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAPxmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP--
ENC="http://schemas.xmlsoap.org/soap/encoding/"ENC="http://schemas.xmlsoap.org/soap/encoding/"xmlns:impl="http://localhost:8080/axis/services/Helloxmlns:impl="http://localhost:8080/axis/services/Hello--impl"impl"xmlns:intf="http://localhost:8080/axis/services/Hello"xmlns:intf="http://localhost:8080/axis/services/Hello"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:messagexmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:messagename="setHelloMessageRequest"> <wsdl:partname="setHelloMessageRequest"> <wsdl:part name="in0" type="xsd:string"name="in0" type="xsd:string"/>/></wsdl:message> <wsdl:message name="getHelloMessageResponse"> <wsdl:part</wsdl:message> <wsdl:message name="getHelloMessageResponse"> <wsdl:partname="return" type="xsd:string"name="return" type="xsd:string"/> </wsdl:message> <wsdl:message/> </wsdl:message> <wsdl:messagename="setHelloMessageResponse"> </wsdl:message> <wsdl:messagename="setHelloMessageResponse"> </wsdl:message> <wsdl:messagename="getHelloMessageRequest"> </wsdl:message> <wsdl:portTypename="getHelloMessageRequest"> </wsdl:message> <wsdl:portTypename="HelloWorldService"> <wsdl:operation name="name="HelloWorldService"> <wsdl:operation name="getHelloMessagegetHelloMessage">"><wsdl:input message="intf:getHelloMessageRequest"/> <wsdl:output<wsdl:input message="intf:getHelloMessageRequest"/> <wsdl:outputmessage="intf:getHelloMessageResponse"/> </wsdl:operation> <wsdl:operationmessage="intf:getHelloMessageResponse"/> </wsdl:operation> <wsdl:operationname="name="setHelloMessagesetHelloMessage" parameterOrder="in0"> <wsdl:input" parameterOrder="in0"> <wsdl:inputmessage="intf:setHelloMessageRequest"/> <wsdl:outputmessage="intf:setHelloMessageRequest"/> <wsdl:outputmessage="intf:setHelloMessageResponse"/> </wsdl:operation> </wsdl:portType>message="intf:setHelloMessageResponse"/> </wsdl:operation> </wsdl:portType><wsdl:binding name="HelloSoapBinding" type="intf:HelloWorldService"><wsdl:binding name="HelloSoapBinding" type="intf:HelloWorldService"><wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="getHelloMessage"> <wsdlsoap:operation soapAction=""/><wsdl:operation name="getHelloMessage"> <wsdlsoap:operation soapAction=""/><wsdl:input> <wsdlsoap:body<wsdl:input> <wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="getHelloMessage" use="encoded"/> </wsdl:input> <wsdl:output>namespace="getHelloMessage" use="encoded"/> </wsdl:input> <wsdl:output>
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/axis/services/Hello" use="encoded"/>namespace="http://localhost:8080/axis/services/Hello" use="encoded"/></wsdl:output> </wsdl:operation> <wsdl:operation name="setHelloMessage"></wsdl:output> </wsdl:operation> <wsdl:operation name="setHelloMessage"><wsdlsoap:operation soapAction=""/> <wsdl:input> <wsdlsoap:body<wsdlsoap:operation soapAction=""/> <wsdl:input> <wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="setHelloMessage" use="encoded"/> </wsdl:input> <wsdl:output>namespace="setHelloMessage" use="encoded"/> </wsdl:input> <wsdl:output><wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="namespace="http://localhost:8080/axis/services/Hello" use="encoded"/>" use="encoded"/></wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service</wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:servicename="HelloWorldServiceService"> <wsdl:port binding="intf:HelloSoapBinding"name="HelloWorldServiceService"> <wsdl:port binding="intf:HelloSoapBinding"name="Hello"> <wsdlsoap:addressname="Hello"> <wsdlsoap:addresslocation="location="http://localhost:8080/axis/services/Hellohttp://localhost:8080/axis/services/Hello "/> </wsdl:port>"/> </wsdl:port></wsdl:service></wsdl:service>
</wsdl:definitions></wsdl:definitions>
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 18/36
UDDI (and alternatives)UDDI (and alternatives)�� UUniversalniversal DDescription,escription, DDiscovery andiscovery and IIntegrationntegration
² ² http://www.uddi.org http://www.uddi.org
�� UDDI creates a platformUDDI creates a platform--independent, openindependent, open
framework & registry for:framework & registry for:² ² Describing servicesDescribing services
² ² Discovering businessesDiscovering businesses
² ² Integrating business servicesIntegrating business services�� The UDDI may be less used than predicted,The UDDI may be less used than predicted,
especially on the Internet levelespecially on the Internet level
�� BioMoby
BioMoby -- an alternative for Life Sciences domain?an alternative for Life Sciences domain?
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 19/36
BioMobyBioMobyhttp://biomoby.orghttp://biomoby.org
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 20/36
A Web Service example in JavaA Web Service example in Java
SOAPSOAP--awareaware
ServletServlet(e.g. Apache Axis)(e.g. Apache Axis)
Any classprocessing
the incoming
requests
(´business logicµ
Any class
processing the incoming
requests(´business logicµ
Any class
processing the incoming
requests(´business logicµ
Any classAny class
processing processing
the incoming the incoming requestsrequests(´business logicµ(´business logicµ
HTTP Server HTTP Server
Servlet engine (e.g. Apache Tomcat)Servlet engine (e.g. Apache Tomcat)
Sending
requests,getting
results
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 21/36
Usual principles of Java toolkitsUsual principles of Java toolkits
�� W riting server is easier than writing clients (but only W riting server is easier than writing clients (but only regarding the toolkit, not the business logic)regarding the toolkit, not the business logic)
�� ServersServers may may be written independently on the usedbe written independently on the usedtoolkittoolkit
�� Always test interoperability with a nonAlways test interoperability with a non--Java clientJava client(because of data serialization and de(because of data serialization and de--serialization)serialization)
�� Steps:Steps:² ² write your service implementationwrite your service implementation
² ² make all your classes available to the toolkitmake all your classes available to the toolkit² ² deploy your servicedeploy your service ( usu all y done j ust once)( usu all y done j ust once)
² ² restart the whole servlet enginerestart the whole servlet engine² ² test it with a client requesttest it with a client request
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 22/36
Java SOAP ToolkitsJava SOAP Toolkits
�� Apache SOAP (was IBM·s SOAP4J)Apache SOAP (was IBM·s SOAP4J)
�� Apache Axis (a follow Apache Axis (a follow--on to the Apache SOAP)on to the Apache SOAP)
�� «and many others«and many others�� «but let·s stay with Apache Axis:«but let·s stay with Apache Axis:
² ² http://ws.apache.org/axis/http://ws.apache.org/axis/
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 23/36
package hello;
public interface HelloWorld {String getHelloMessage();void setHelloMessage (String newHello);
}
package hello;public class HelloWorldService
implements HelloWorld {String message = "Hello, world!";
public String getHelloMessage() {return message;
}public void setHelloMessage (String newMessage) {
message = newMessage;}
}
hello/HelloWorld.javahello/HelloWorld.java
hello/HelloWorldService.javahello/HelloWorldService.java
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 24/36
import org.apache.axis.client.*;public class HelloWorldClient {public static void main (String [] args) {try {
// prepare the call (the same for all called methods)Call call = (Call) new Service().createCall();call.setTargetEndpointAddress(new java.net.URL("http://localhost:8080/axis/services/Hello"));
// call "get message"if (args.length == 0) {call.setOperationName ("getHelloMessage");
String result = (String) call.invoke ( new Object [] {} );System.out.println (result);System.exit (0);
}
// call "set message" and afterwards "get message"call.setMaintainSession (true); // TRY also without this line...call.setOperationName ("setHelloMessage");
call.invoke ( new Object [] { args[0] } );call.setOperationName ("getHelloMessage");System.out.println (call.invoke ( new Object [] {} ));
} catch (Exception e) {System.err.println ("ERROR:\n" + e.toString());
}}
}
HelloWorldClient.javaHelloWorldClient.java
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 25/36
Generated for HelloWorldGenerated for HelloWorld
HelloW orldServiceLocator
implements
HelloW orldService
HelloSoapBindingStub
implements
HelloW orld
getHello()
1. Make an instance of this
3. Call methods on this proxy object
2. Use it to make an instance of this
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 26/36
public class HelloWorldClientFromStubs {public static void main (String [] args) {try {// prepare the calls (the same for all called methods)hello.generated.HelloWorldService service =new hello.generated.HelloWorldServiceLocator();
hello.generated.HelloWorld myHelloProxy = service.getHello();
// call "get message"if (args.length == 0) {String result = myHelloProxy.getHelloMessage()System.out.println (result);System.exit (0);
}
// call "set message" and afterwards "get message´myHelloProxy.setHelloMessage (args[0]);
System.out.println (myHelloProxy.getHelloMessage());
} catch (Exception e) {System.err.println ("ERROR:\n" + e.toString());
}}
}
HelloWorldClientFromStubs.javaHelloWorldClientFromStubs.java
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 27/36
Java <=> XML Data MappingJava <=> XML Data Mapping
�� How Java objects are converted to/from XMLHow Java objects are converted to/from XML
data (in order to be able to be put into SOAPdata (in order to be able to be put into SOAPmessages)messages)
�� Important especially for the nonImportant especially for the non--basic data typesbasic data types
�� It·s easier if your nonIt·s easier if your non--basic data types are Javabasic data types are Java
Beans (having Beans (having setset//getget methods for members)methods for members)
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 28/36
A Web Service example in PerlA Web Service example in Perl
This is a module implementing
the ³business logic´
package HelloPerl;use strict;
use vars qw( $Message );$Message = 'Hello, here is Perl.';sub getHelloMessage { $Message; }sub setHelloMessage { $Message = shift; }1;
This is a cgi-binscript#!/usr/bin/perl -w -- Perl ±use SOAP::Transport::HTTP;SOAP::Transport::HTTP::CGI-> dispatch_to('HelloPerl')-> handle;
#!/usr/bin/perl ±wuse SOAP::Lite
on_fault => sub {«};print SOAP::Lite
-> uri ('HelloPerl')-> proxy ('http://localhost/cgi-bin/helloserver.cgi')-> getHelloMessage
-> result;
This is a client
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 29/36
SOAP::LiteSOAP::Lite
�� a collection of (many) modulesa collection of (many) modules² ² but they are loaded automatically when neededbut they are loaded automatically when needed
�� supports SOAP 1.1 specificationsupports SOAP 1.1 specification
�� all methods can be used for both setting andall methods can be used for both setting and
retrieving values:retrieving values:² ² if you provide no parameters, you will get current value, and if parametersif you provide no parameters, you will get current value, and if parameters
are provided, a new value will be assigned to the objectare provided, a new value will be assigned to the object
² ² and the method in question will return the current object (if not statedand the method in question will return the current object (if not stated
otherwise) which is is suitable for stacking these calls like:otherwise) which is is suitable for stacking these calls like:
$lite = SOAP::Lite$lite = SOAP::Lite
--> uri(¶openBQS')> uri(¶openBQS')
--> proxy('http://industry.ebi.ac.uk/soap/openBQS')> proxy('http://industry.ebi.ac.uk/soap/openBQS')
;;
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 30/36
Using ´wsdlµUsing ´wsdlµ -- directlydirectly
#!/usr/bin/perl -w
use SOAP::Lite on_fault => sub {«};print SOAP::Lite
-> service ('file:/home/senger/ws-ws/perl/Hello.wsdl')-> setHelloMessage (123);
�� getting ´.wsdlµ file by using its URLgetting ´.wsdlµ file by using its URL
�� then, you do not need to worry about autotyping then, you do not need to worry about autotyping
#!/usr/bin/perl -w
use SOAP::Lite on_fault => sub {«};my $service = SOAP::Lite -> service ('file:./Hello.wsdl');$service->setHelloMessage ($ARGV[0] or "Hello!!!");print $service->getHelloMessage, "\n";
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 31/36
Why to use Web Services«Why to use Web Services«(comparing to CORBA )(comparing to CORBA )
�� W S are easier to deploy because of their firewallW S are easier to deploy because of their firewall--
friendlinessfriendliness
�� W S are quite well marketed (both from IT W S are quite well marketed (both from IT
companies and Open Source projects)companies and Open Source projects)
�� However:However:
² ² user sessions are less standardiseduser sessions are less standardised
² ² many parts yetmany parts yet--toto--bebe--done (notification, transactions,done (notification, transactions,security, etc.)security, etc.)
�� The programming effort and maintainability isThe programming effort and maintainability is
similar to other distributed technologiessimilar to other distributed technologies
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 32/36
1. What is similar1. What is similar
�� The programming effort and maintainability isThe programming effort and maintainability isroughly the same both for W eb Services androughly the same both for W eb Services andCOR BACOR BA
² ² For COR BA I need an OR BFor COR BA I need an OR B�� «but do you know anybody doing W S without a SOAP«but do you know anybody doing W S without a SOAP
toolkit?toolkit?
² ² For COR BA I need an IDL compilerFor COR BA I need an IDL compiler
�� «not always (ask Perl folks)«not always (ask Perl folks)�� «for W S you use frequently stubs generated from W SDL«for W S you use frequently stubs generated from W SDL
² ² «similar answers for valuetype/custom encoding, etc.«similar answers for valuetype/custom encoding, etc.
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 33/36
2. What is2. What is ( IMHO)( IMHO) betterbetter
�� W S are easier to deploy because of their firewallW S are easier to deploy because of their firewall--
friendlinessfriendliness
�� W
S are quite well marketed (both from IT
W
S are quite well marketed (both from IT
companies and Open Source projects)companies and Open Source projects)
�� Integration of W S into workflows seems to beIntegration of W S into workflows seems to be
very dynamic and very real topicvery dynamic and very real topic
² ² comparing with COR BA Componentscomparing with COR BA Components
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 34/36
3. What is3. What is ( IMHO)( IMHO) worseworse
�� PeerPeer--toto--peer access is problematicpeer access is problematic
² ² notification by ´servernotification by ´server--pushµ is harder to achievepushµ is harder to achieve
��User sessions (server·s stateUser sessions (server·s state--fullness) are lessfullness) are lessstandardisedstandardised
² ² «and therefore less inter«and therefore less inter--operableoperable
�� Many parts yetMany parts yet--toto--bebe--done, or they are quitedone, or they are quitecomplex (notification, transactions, security,complex (notification, transactions, security,
etc.)etc.)
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 35/36
So what?So what?
�� Don't throw the baby out with the bathwaterDon't throw the baby out with the bathwater
² ² combine the existing projects with a new W ebcombine the existing projects with a new W ebServices layer; in most cases it is not so difficultServices layer; in most cases it is not so difficult
�� Apply existing standards to new W eb ServicesApply existing standards to new W eb Services
projectsprojects
² ² think MDAthink MDA ² ² it may help, even without the wholeit may help, even without the whole
OMG adoption processOMG adoption process
8/7/2019 webservices PPT
http://slidepdf.com/reader/full/webservices-ppt 36/36
ConclusionsConclusions
�� Distributed computing is inevitableDistributed computing is inevitable
�� More accesses by programs than by clicking onMore accesses by programs than by clicking onhyperlinkshyperlinks
�� More technologies of distributed architectureMore technologies of distributed architecturewill collaboratewill collaborate
�� The better standards we have the better resultsThe better standards we have the better results
we·ll getwe·ll get�� W eb Services is not a new hype but a trend toW eb Services is not a new hype but a trend to
follow follow