Professional Documents
Culture Documents
Alessio Mura
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
W3C definition
A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, tipically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards
IBM
Web services are self-contained, modular applications that can be described, published, located and invoked over a network, generally, the Web
Functions
A collection of operations Machine-to-machine interaction
Invoked / Accessed
Well defined interface
Loosely coupled
The service requester has no knowledge of the technical details of the providers implementation
Logical evolution of object-oriented techniques to e-business Promoting interoperability by minimizing the requirements for shared understanding
Common program-to-program communications model Web services are platform and language independent
Evolutionary or revolutionary?
Web services are to be viewed as an evolutionary step towards software interoperability
Reasonable protocols for server-to-server communications; weaknesses in client-server communications on the Internet Use of non-standard protocols
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
A Web service needs to be created and its interface must be defined A Web service needs to be published to one or more intranet or Internet repositories for potential users to locate A Web service needs to be located to be invoked by potential users A Web service needs to be invoked to be of any benefit A Web service may need to be unpublished when it is no longer available or needed
Web services
W3C standard A universal client/server architecture Allows disparate systems to communicate with each other without using proprietary client libraries
Each vendor or standards organization defines Web services in a sligthly different way
Architectural stack Not all architectures of Web services are full interoperable
MANAGEMENT
Descriptions
SECURITY
SOAP
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
XMLBased messaging
Exchange structured data between network applications Allows software running on disparate operating systems, and environments to make RPCs Simple Object Access Protocol (SOAP)
W3C standard Built over XML
SOAP message
Envelop e
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Service description
The service provider defines all the specifications to invoke the Web service
Interface Operations and messages
The requestor and the provider dont have to be aware of each others underlying platform Use of Web Service Description Language ( WSDL)
W3C standard (it was proposed by Microsoft and IBM) Based on XML documents
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Service publication
Makes a Web service description available to a service requestor Direct publishing
The service provider sends the service description directly to the service requestor E-mail attachment, FTP site, CD-ROM distribution,
UDDI (1)
Defines a way to publish and discover information about services White pages : provide listings of providers (name, text description, contact info and identifiers)
Yellow pages : contains classification information about the business entity and types of the services the entity offers. E.g. Amazon can be a book seller and a bibliographic information broker Green pages : info to interact with companies Web Services (service description and binding information)
UDDI (2)
Every Web service has an URI (Uniform Resource Identifier) Microsoft Web services
The list of the Web service methods is displayed when a browser loads the corresponding URI These methods are invocable from such list
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Service discovery
Acquires the service description and consumes it Acquiring
With the direct publishing approach, the service requestor caches the service description at design time The service requestor retrieves a service description at design time or runtime from a service description repository (UDDI)
Consuming
The service requestor processes the description to invoke the service
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Service flow
W3C / IBM and Microsoft / Sun and Oracle are competing for the standard definitions of this layer Work in progress
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Security
There are four basic security requirements: Confidentiality is the property that information is not made available or disclosed to unauthorized individuals, entities, or processes, and guarantees that the contents of the message are not disclosed to unauthorized individuals Authorization is the granting of authority, which includes the granting of access based on access rights and guarantees that the sender is authorized to send a message Data integrity is the property that data has not been undetectably altered or destroyed in an unauthorized manner or by unauthorized users thereby insuring that the message was not modified accidentally or deliberately in transit Proof of origin is evidence identifying the originator of a message or data. It asserts that the message was transmitted by a properly identified sender and is not a replay of a previously transmitted message. This requirement implies data integrity
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Management
Management in this case means that a management application can discover the existence, availability and health of the Web service infrastructure, Web services and service registries It must be possible to manage Web services at all levels of the conceptual Web services stack The management interfaces should operate at the service level, and not at the relatively low level of the infrastructure
Basic reporting of Web services infrastructure availability Information about performance, availability, events of Web services
Static -> UDDI Static -> UDDI WSDL SOAP HTTP, FTP, email, etc.
Service Publication
Security
Quality of Service
The Quality of Service issues and solutions for Web Services are still emerging
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
You have to
Access to Internet Information Services (IIS)
In a local or remote machine A server for web applications/services The service repository of one or more service providers
A Web service is composed by classes Usage of keyword WebMethod for the public methods invocable from the Internet
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
Considerations
The coordination of a set of Web services working towards a common end is an open issue
Transaction-based applications
Service models
Suppliers software application service Service layer (application created on demand from smaller services) Service integration layer Service transport layer Proposed demand-led service model (it has a service integration layer inserted above the transport layer)
Service negotiation
The client and the provider must negotiate the services delivery terms and conditions automatically
Service delivery
Monitors whether the service is supplied within agreed terms and conditions and suspends its provision if necessary Determines legal or nonfunctional parameters (cost, QoS,)
Personalised
Software capable of personalisation
Self-adapting
Monitor and understand how software is being used
Fine-grained
Small simple units High cooperation
Transparent
Software has to be seen as a single abstract object
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
Internet age has ushered in a new era of highly dynamic and agile organisations which must be in a constant state of evolution if they are to compete and survive in an increasingly global marketplace There is still criticism of software systems and the methods employed in their development, such as
High cost Long time to market Poor flexibility Many of these issues have been accentuated through the widespread use of Internet and the acceleration of business cycles
Highly flexible and agile software, that should be able to meet changing business needs
Classical software engineering methods are not adapted
There is few material regarding this subject which is still a matter of study Service-Oriented Software System Engineering: Challenges and Practices - Zoran Stojanovic and Ajantha Dahanayake, Delft University of Technology
Relevant theoretical background Modeling notation Tools Development processes Practical realisations
Summary
What is a Web service Web services architectures Web services development Web services in the future Web services engineering e-Services
e-Services (1)
From Wikipedia, the free encyclopedia e-Service is a term usually referring to the provision of services provided via the Internet (the prefix 'e' standing for "electronic", as it does in many other uses) e-Service includes "e-commerce", although it may also include non-commercial services Non-ecommerce e-Services include (at least some) "eGovernment" services From an article written by C.Peraire and D.Coleman An e-Service is some interaction offered to a user, across the Internet, that has meaning and economic value An e-Component is a software module that provides one or more e-Services. Thus, the e-Services provided by an e-Component constitute its interface
e-Services (2)
E-services is a business concept developed by Hewlett Packard (HP) HP e-Services integration platform There are essentially no constraints on what the platform can aggregate into the portal Web-enabled applications and informations stores, legacy applications, and applications on open client/server systems Using HP's e-services concept, any application program or information resource is a potential e-service; Internet Service Providers (ISPs) and other companies are logical distributors or access points for such services Cisco e-Services Cisco eServices provides a variety of voice processing for your Cisco IP Telephony implementation
Cisco IP Integrated Voice Response (Cisco IP IVR) Cisco IP Integrated Contact Distributor (Cisco IP ICD)
e-Services (conclusions)
References (1)
Web Services Computing: Advancing Software Interoperability Computer IEEE Computer Society Journal October 2003 (Jen-Jao Chung, Kwei-Jay Lin, Richard G. Mathieu) Turning Software into a Service Computer IEEE Computer Society Journal October 2003 (Mark Turner, David Budgen, Pearl Brereton) Web Services architecture overview IBM Web Services Architecture Team - September 2000 - http://www106.ibm.com/developerworks/web/library/w-ovr/ Web Services Conceptual Architecture (WSCA 1.0) Heather Kreger IBM Software Group May 2001 - www306.ibm.com/software/solutions/webservices/pdf/WSCA.pdf Web Services Architecture W3C Working Group February 2004 (David Booth, Hugo Haas, Francis McCabe, Eric Newcomer, Michael Champion, Chris Ferris, David Orchard) http://www.w3.org/TR/2004/NOTE-ws-arch-200040211/
References (2)
Web Services Architectures Tect Judith M. Myerson Service-Oriented Architecture expands the vision of Web services, Part 1 IBM Corporation Mark Colan www-106.ibm.com/developerworks/ library/ws-soaintro.html Service-Based Software: The Future for Flexible Software Keith Bennett, Paul Layzell, David Budgen, Pearl Brereton, Linda Macaulay, Malcolm Munro Modeling for E-Service Creation Cecile Peraire and Derek Coleman Semantic Web services and Web services standards Sinuh Arroyo, Christoph Bussler and Rubn Lara EEE04 http://deri.semanticweb.org/ Component-Based Software Engineering Wilhelm Hasselbring Cisco eServices Architecture Cisco IPCC Express Edition Cisco Systems http://www.cisco.com/en/US/products/sw/custcosw/ps1846/products_ administration_guide_chapter09186a00900eeac8.html
WSDL documents
<definitions> <types>
Definition of a type (the datatypes used by the Web service)
</types> <message>
Definition of a message (the messages used by the Web service)
</message> <portType>
Definition of a port (the operation performed by the Web service)
</portType> <binding>
Definition of a binding (the communication protocols used by the Web service)
</binding> </definitions>
Glossary
</name> </person>
XML Schema
Provide a means for defining the structure, content and semantics of XML documents