Friday, March 15, 2019

server-side development-01 (SOAP)


Web application
Web application is a software that runs on a remote server. In most cases web browser are used to access web applications ,over a network such as internet. Some web applications are used in intranets , in companies and schools for example . web applications are different from other application because they don’t need to be installed. Some example for web applications: Facebook, Mibbit  etc.
               Web applications are popular since most computer operating system have web browsers. Programs can be easily change a web application. User don’t need to install any new software to see these changes


Web service
A web service is can be defined by following ways:
·        Is client server application or application component for communication
·        Method for communication between two device over network
·        Is a software system for interoperable machine to machine communication
·        Is a collection of standards or protocol for exchanging information between two device or application


WSDL AND USES
·        WSDL is an XML vocabulary for describing web service allowing developers to describe web service and their capabilities , in standard manner
·        Standard  format to describe a web service
·        Specifies three fundamental properties ;
1.      What a service does – operations (methods) provided by the services
2.      How a service is accessed – data format and protocol details
3.      Where a service is located – address (URL) details
·        The document written in WSDL is also simple called a WSDL
·        WSDL is a contract between the XML (SOAP) web service and the client who wishes to use this service
·        The service provides the WSDL document and web service client uses the WSDL document to create the stub
WSDL fundamental properties
ELEMENT
DESCRIPTION
<types>
Defines the (XML schema) data types used by the web service
<message>
Defines the data elements for each operation
<portType>
Describes the operations that can be performed and the messages involved
<binding>
Defines the protocol and data format for each port type

                                                                



STRUCTURE OF THE WSDL DOCUMENT AND EXPLAINING THE ELEMENTS IN WSDL
Three major elements of WSDL that can be defined separately are
·        Types
·        Operations
·        Binding

A WSDL document has various element , but they are contained within these three main elements, which can be developed as separate documents and then they can be combined or reused to form complete WSDL files

§  Definitions –defines the name of the web service, declare multiple namespace used throughout the remainder of the document and contain all the service elements described here
§  Data types- used to be in the messages are in the form of a XML schema
§  Messages –abstract definition of the data
§  Operation – abstract definition of the operation for a message such as a naming method , message queue , business process
§  Port type – abstract set of operation mapped to one or more end points, defining the collection of operation for binding ; the collection of operations , as it is abstract , can be mapped to multiple transport through various binding


§  Port – combination of binding and a network address, provide the target address of the service communication
§  Binding – concrete protocol and data formats for the operations and messages defined for particular port type

§  Service – collection of related end-points encompassing the service definitions in the file ; the service map the binding to the port and include any extensibility definitions







Structure of the WSDL document
·        The document written in WSDL is also simple called a WSDL
·        WSDL is a contract between the XML (SOAP) web service and client who wishes to use this service
·        The service provides the WSDL document and web service client uses the WSDL  document to create the stub


SOAP(SAMPLE OBJECT ACCESS PROTOCOL)
                              SOAP is an acronym for simple object access protocol. It is an XML-based messaging protocol for exchanging  information among computers . SOAP is an application of the XML specification .
·        SOAP is an communication protocol designed to communicate via Internet
·        SOAP  can extend HTTP for XML messaging


·        SOAP provides data transport for web service
·        SOAP can exchange complete documents or call a remote procedure
·        SOAP can be used for broadcasting a message
·        SOAP is platform and language independent
·        SOAP enables client applications to  easily connect to remote service and invoke remote method



SOAP MESSAGING
SOAP messages
·        Consistent envelope – header and boady
·        Consistent data encoding – based on XML schema type system
·        Protocol binding framework

Envelope
·        Wraps entire message and contains header and body
·        Defines an overall framework for expressing what is in a message ; who should deal with it, and whether it is optional or mandatory
Header
·        Optional  element with additional info such as security or routing

Body
·        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  



SOAP ELEMENTS ATTACHEMENTS
·        SOAP messages may have one or more attachments
·        Each attachments object has 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 SOAP message has one or more attachments objects , its SOAPPart object may or not contain message contain






Different set of framework/libraries for SOAP web service development , in different environments


SOAP is protocol with sends/receive XML messages between computer networks.
Originally , it was an abbreviation of “Simple Object Access Protocol”. However , now “SOAP” isn’t considered as an abbreviation and declared as a proper noun by W3C
Specification of SOAP1.1 and SOAP1.2 are defined by W3C. For details refer W3C-SOAP Specification.
However, SOAP web server can be used with a configuration different from the configuration given below








Annotations in JAX-WS

Java API for XML-Based Web service(JAX-WS) relies on the use of annotations to specify metadata associated with web services implementations and to simplify the development of web service . Annotations describe how server-side service implementations is accessed as web services or how a client-side Java class access web services.
               The JAX-WS programming standard introduce support for annotating Java classes with metadata that is used to define a service endpoint application as a web service and how a client can access the web service. JAX-WS supports the use of annotations based on the Metadata facility for the java programming language  specification, the web service metadata for Java platform specification and annotations defined by the JAX-WS 2.0 and later specification which includes JAXB annotations.
Using annotations within Java source simplifies development and deployment of web service by defining some of additional information that is typically obtained from deployment descriptor file, WSDL files or mapping metadata from XML and WSDL into the source artihacts



WEB SERVICES CAN BE TESTED BY USING DIFFERENT APPROACHES

There are  several commercial and open source testing in the market to test their connectivity, response and performance. These testing tools in automated testing for specific scenario such as functional testing , load testing ,performance testing etc.
               Here are the top 12 web service testing tools that you must consider for web service testing requirements.
    SoapUI(open source)
   SOAPSonar
    SOAtest
    TestingWhiz
    Postman
    TestMaker
   Httpmaster
   Runscope
  vRest
 Strom(open source)
 WebInject
 Rapise



.




No comments:

Post a Comment