Server-Side Development - The Framework Blog

Hot

Post Top Ad

Thursday, March 14, 2019

Server-Side Development



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
Web service refers that serves data in any format (XML/JSON etc.) through web interface which can be called API (Application Programming Interface). REST and SOAP are ways to design the API.[1] 


 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.
  1. What a service does - operations (methods) provided by the service
  2. How a service is accessed - data format and protocol details
  3. 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
SOAP is an XML-based protocol for accessing web services over HTTP. It has some specification which could be used across all applications.SOAP is known as the Simple Object Access Protocol, but in later times was just shortened to SOAP v1.2. SOAP is a protocol or in other words is a definition of how web services talk to each other or talk to client applications that invoke them.[4]

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.
       It works on the HTTP protocol SOAP works on the HTTP protocol, which is the default protocol used by all web applications. Hence, there is no sort of customization which is required to run the web services built on the SOAP protocol to work on the World Wide Web.SOAP Building blocks
The SOAP specification defines something known as a SOAP message which is what is sent to the web service and the client application.An Envelope element that identifies the XML document as a SOAP message. This is the containing part of the SOAP message and is used to encapsulate all the details in the SOAP message. This is the root element in the SOAP message.

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

Post Top Ad