s imple o bject a ccess p rotocol karthikeyan chandrasekaran & nandakumar padmanabhan

24
Simple Object Access Protocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan

Upload: ambrose-briggs

Post on 13-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Simple Object Access Protocol

Karthikeyan Chandrasekaran

&

Nandakumar Padmanabhan

Agenda

Introduction to SOAP How SOAP works

Architecture Examples & demo

Security Aspects Strengths & Weaknesses Web Services.

Formal Definition

SOAP is lightweight, simple XML-based protocol designed to exchange information in a decentralized and distributed environment.

Current Scenario

Web-based services are popular.

Communication between components on different computers.

Difference in technologies and platforms.

Difficulty in achieving interoperability.

Solutions

Distributed Component Architecture (DCOM)

CORBA (Common Object Request Broker Architecture)

Remote Scripting

Java RMI

Why SOAP ? Shortcoming of these technologies– they do not natively

interoperate with each other.

In real world scenarios client and server have different platforms, standards.

Internet supports a wide range of services.

Steep learning curve and the complexities involved .

The solution is SOAP.

Firewall Problems

COM's port management similar to sockets port management.

Most network administrators don't like opening their servers to a range of port addresses.

Usually the Http port is open .

HTTP Protocol

HTTP protocol uses port 80 to communicate over the Internet.

SOAP uses HTTP as its transport mechanism.

Purpose Of SOAP

Improve cross-platform interoperability using the Web and XML.

Enables different programs, written in different languages and running on different platforms, to communicate with each other.

Plus Point

SOAP uses HTTP for transport binding.

Most organizations are familiar with HTTP and already have it incorporated into their network infrastructure.

No complex changes to the network or firewalls needed.

Main Concepts SOAP consists of four parts :

SOAP envelope - what is in a message, who should deal with it, and whether it is optional or mandatory.

SOAP encoding rules - Serialization mechanism used to exchange instances of application-defined datatypes.

Main Concepts (continued)

SOAP RPC representation – A convention that can be used to represent remote procedure calls and responses.

SOAP binding - A convention for exchanging SOAP envelopes between peers using an underlying protocol for transport.

SOAP Architecture

SOAP Node

SOAP node Implemented at client(sender) and server(receiver).

Processes messages according to the formal set of conventions.

Enforces the rules that govern the exchange of SOAP messages.

Accesses the services provided by the underlying protocols through SOAP bindings.

SOAP Message Format

Soap message is an XML document that consists of mandatory SOAP envelope optional SOAP Header mandatory SOAP Body.

SOAP Message Header SOAP Header is a generic mechanism for adding features to

a SOAP message in a decentralized manner.

No prior agreement between the communicating parties is required.

Header may be edited by intermediaries to change the information to be sent to the receiver.

Two types of headers are available in HTTP Request Header – for request messages Response Header – for response messages.

DEMO>>>

Security Within SOAP

SOAP specification does not define any protocol-specific security features.

Utilizes standard HTTP security features. HTTP authentication mechanisms SSL for secure channel communications (using HTTPS).

Security Aspects

Potential security threat due to plain text nature of data.

Security features may be added to the SOAP header.

Transport protocols such as SSL, TLS, and IP SECurity (IPSec) can provide the integrity and confidentiality of the message during transmission.

Developing SOAP Application

SOAP toolkits available to create and parse the SOAP messages.

It helps translate function calls from some kind of language to a SOAP message.

For example Microsoft SOAP Toolkit 2.0 translates COM function calls to

SOAP Apache toolkit translates Java function calls to SOAP.

Pros

Cross Platform Interoperability.

Can support a range of applications – RPC, XML.

Small and easy to implement. Can reuse existing XML Parsers and HTTP libraries.

Main Advantage

Firewalls block most ports, except the standard HTTP port 80.

Most distributed object protocols like DCOM use dynamically assigned ports for remote method invocations.

SOAP uses HTTP as the transport mechanism. No problem invoking SOAP endpoints from either side of a firewall.

Cons Still Evolving.

SOAP data is sent as XML text for standardization.

Converting all data into text and parsing it back into data structures at the other end can use up quite a bit of

processing power.

No inbuilt security features.

References http://www.develop.com/soap/ http://www.microsoft.com/mind/0100/soap/soap.asp http://msdn.microsoft.com/theshow/Episode010/default.asp http://www.w3.org/TR/soap12-part1/ http://www.develop.com/soap/soapfaq.htm http://dcb.sun.com/practices/webservices/overviews/overview_soap.jsp