
Web Application
Web Application is the software that is using API provided by the web service.[1] Lots of web applications don't even have real informative content or data exactly. People are just supposed to use them in order to perform additional tasks, using their features to accomplish something. they use a web application to check incoming messages, for instance, or play a game.
Web Services
WebService =
(RestApi/Soap
/ | \
(client1)---(Web Application)---(clientN)


Web Services Description Language (WSDL)
WSDL is an XML format for describing web services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into services. WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST, and MIME.[2]
Use of WSDL
WSDL is used in combination with SOAP and XML Schema to provide web services over the Internet. A client program connecting to a web service can read the WSDL to determine what functions are available on the server. Any special datatypes used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the functions listed in the WSDL.
Fundamental of WSDL
There are three specific fundamental properties.
- What a service does - operations (methods) provided by the service
- How a service is accessed - data format and protocol details
- Where a service is located - Address (URL) details
Structure of the WSDL document
Service :
It is a collection of related end-points encompassing the service definitions in the file. The services map the binding to the port and include any extensible definitions.
Port:
It is a combination of a binding and a network address, providing the target address of the service communication.
Binding:
It is the concrete protocol and data formats for the operations and messages defined for a particular port type.
Message:
It is an abstract definition of the data, in the form of a message presented either as an entire document or as arguments to be mapped to a method invocation.[3]
Type:
The types to be used in the messages are in the form of XML sachems.
PortType:
It is an abstract set of operations mapped to one or more end-points, defining the collection of operations for a binding. The collection of operations, as it is abstract, can be mapped to multiple transports through various bindings.[3]
Operations:
It is the abstract definition of the operation for a message, such as naming a method, message queue, or business process, that will accept and process the message.[3]Java equivalence:
• portType -> java interface
• operation -> method name
SOAP

One of the methods used to combat this complexity is to use XML (Extensible Markup Language) as the intermediate language for exchanging data between applications.Every programming language can understand the XML markup language. Hence, XML was used as the underlying medium for data exchange.SOAP was designed to work with XML over HTTP and have some sort of specification which could be used across all applications. We will look into further details on the SOAP protocol in the subsequent chapters.Advantages of SOAP
- When developing Web services, you need to have some of language which can be used for web services to talk with client applications. SOAP is the perfect medium which was developed in order to achieve this purpose. This protocol is also recommended by the W3C consortium which is the governing body for all web standards.
SOAP Message StructureThe Envelope element The SOAP Envelope is used to encapsulate all of the necessary details of the SOAP messages, which are exchanged between the web service and the client application.
The SOAP envelope element is used to indicate the beginning and end of a SOAP message. This enables the client application which calls the web service to know when the SOAP message ends.
The header element Optional element with additional info such as security or routingThe body element Application-specific message content being communicated as arbitrary XML payloads in the request and response messages Fault element provides information about errors that occurred while processing the message
MIME header
- SOAP messages may have one or more attachments
- each Attachment Part object has a MIME header to indicate the type of data it contains.
- it may also have additional MIME headers to identify it or to give its location, which can - be useful when there are multiple attachments
- when a SOAP message has one or more Attachment Part objects, its SOAP Part object --- may or may not contain message content
- Text in character sets other than ASCII
- Non-text attachments: audio, video, images, application programs etc.
- Message bodies with multiple parts
- Header information in non-ASCII character sets
Frameworks/libraries for SOAP web service development
- JAX-WS (Java API for XML Web Services) is a java package/library for developing web services
- It supports both Functional oriented and message oriented communication via SOAP
- JAX-WS API hides the complexity of SOAP from the application developer
- JAX-WS uses the javax.jwspackage
- It uses annotations
@WebService
@WebMethod
@WebParam
@WebResult
Introduction to Web Services
REFERENCES


No comments:
Post a Comment