- How does a web service work?
- Give me an example of real web service.
- Define XML – RPC.
- Define SOAP.
- What are the advantages of web services?
- What are the different types of web services?
- What are the main features of web services?
- What is SOAP?
- What are the advantages of SOAP web services?
- What are the disadvantages of SOAP web services?
- What are the main features of SOAP?
- What is WSDL?
- What is UDDI?
- What is RESTful web services?
- What are the advantages of RESTful web services?
- What is SOA?
- What tools are used to test web services?
- What is the advantage of XML in web service?
- What is the usage of WSDL in a web service?
- What is Interoperability in Web services?
- Explain the loosely coupled architecture of web services.
- How you define web service protocol stack?
- What are the advantages of having XML based Web services?
- What do you mean by synchronicity?
- What is the usage of Service Transport Layer in Web service protocol stack?
- What is the usage of Service Description layer in Web Service Protocol Stack?
- What is the usage of Service Discovery layer in Web Service Protocol Stack?
- What is a remote procedure call (RPC)?
- What is meant by SOAP message?
- What is the need of <Envelope> element in the SOAP document?
- Explain web service protocol stack and its layers?
- Explain web service architecture?
- What is XML-RPC?
- Explain BEEP?
- What are the requirements to access a Web Service?
- Which language does UDDI use?
- Explain different HTTP methods supported by RESTful web services.
- What are the steps involved in accessing a web service?
- How many Communication protocols can be used to implement a SOAP message? Is SOAP messages are tied to any protocol?
- How are the terms "Platform independent" and "Diverse Application" are related to each other in the context of XML-RPC?
- Explain the role of web service provider/ Publisher.
- Explain the role of web service requestor/ consumer.
- Define Entrust Identification Service.
- Define Entrust Entitlements Service.
- Define Entrust Privacy Service.
- What do you mean by PKI?
- Explain what is UDDI, DISCO and WSDL?
- Explain what is JAXR?
- Explain what is JAXM messaging models?
- Explain what does the JAXR architecture consist of?
- Mention what are the usual XML APIs?
- Explain what is Push parsing and Pull parsing.
- Explain what is Stax?
- Explain what is JAVA web services? What are the methods to create web services?
- Mention the JAXB binding framework?
- Mention what are the types of validation can a JAXB client can perform?
- How is a SOAP message is structured?
- Explain few disadvantages of Response Caching?
- What is the alternate solution to Response Caching?
- What is the use of Accept and Content-Type Headers in HTTP Request?
- Name important annotations used in JAX-WS API?
- What is use of javax.xml.ws.Endpoint class?
- What is purpose of a URI in REST based webservices?
- What is the difference between encryption, encoding, and hashing?
A web service is used to communicate among various applications by using open standards such as HTML, XML, WSDL, and SOAP. You can build a Java-based web service on Solaris that is accessible from your Visual Basic program that runs on Windows. You can also use C# to develop new web services on Windows invokes from your web application that is based on Java Server Pages (JSP) and runs on Linux.
One example of web services is IBM Web Services browser. You can get it from IBM Alphaworks site. This browser shows various demos related to web services. Basically web services can be used with the help of SOAP, WSDL, and UDDI . All these, provide a plug-and-play interface for using web services such as stock-quote service, a traffic-report service, weather service etc.
It is a protocol that makes use of XML messages to do Remote Procedure Calls.
SOAP is an XML based protocol to transfer between computers.
These are some of the important advantages of web services:
Interoperability: With the help of web services, an application can communicate with other application developed in any language. Reusability: We can expose the web service so that other applications can use it. Modularity: With the help of web service, we can create a service for a specific task such as tax calculation. A Standard protocol for every application program: Web services use standard protocol so that all the client applications written in different languages can understand it. This Standard protocol helps in achieving cross-platform. Cheaper cost for communication: Web services uses SOAP over HTTP so that anybody can use existing internet for using web services.
There are two types of web services:
SOAP - It is an XML-based protocol for accessing web services. RESTful - It is an architectural style, not a protocol.
Following is a list of main features of web services:
It is available over the Internet or private (intranet) networks. It uses a standardized XML messaging system. It is not tied to any one operating system or programming language. It is self-describing via a common XML grammar. It is discoverable via a simple find mechanism.
The SOAP stands for Simple Object Access Protocol. It is an XML-based protocol for accessing web services. It is platform independent and language independent. By using SOAP, you can interact with other programming language applications.
These are some of the important advantages of SOAP web services:
WS Security - SOAP defines its security known as WS Security. Language Independent - Its web services can be written in any programming language Platform Independent - Its web services can be executed on any platform.
These are some of the important disadvantages of SOAP web services:
Slow - It uses XML format that must be parsed to be read and defines many standards that must be followed while developing the SOAP applications. So it is slow and consumes more bandwidth and resource. WSDL Dependent - It uses WSDL and doesn't have any other mechanism to discover the service.
The following list specifies the features of SOAP:
SOAP is a communication protocol. SOAP communicates between applications. SOAP is a format for sending messages. SOAP is designed to communicate via Internet. SOAP is platform independent. SOAP is language independent. SOAP is simple and extensible. SOAP allows you to get around firewalls. SOAP developed as a W3C standard.
The WSDL stands for Web Services Description Language. It is an XML document containing information about web services such as method name, method parameter. The Client needs a data dictionary which contains information about all the web services with methods names and parameters list to invoke them for the web services. The Web Service Description Language bridge up this gap, by providing all necessary information to the client.
Some Important elements used in Web Services Description language are as follows:
The UDDI stands for Universal Description, Discovery and Integration. It is a XML based framework for describing, discovering and integrating web services. It contains a list of available web services. WSDL is the part of UDDI.
The REST stands for Representational State Transfer. It is an architectural style. It is not a protocol like SOAP.
These are some of the important advantages of RESTful web services:
Fast - The Web Services are fast because there is no strict specification of SOAP. It consumes less bandwidth and resource. Language Independent - The web services can be written in any programming language. Platform Independent - The web services can be executed on any platform. Can use SOAP - The web services can use SOAP web services as the implementation. Allows different data format - The web service permits different data format such as Plain Text, HTML, XML, and JSON.
SOA stands for Service Oriented Architecture. It is a design pattern to provide services to other application through protocol.
The tools used to test web services are:
SoapUI tool for testing SOAP and RESTful web services Poster for firefox browser Postman extension for Chrome
In Web service, an XML is used to tag the data, format the data.
WSDL is used in web service to describe the availability of service.
The Web services facilitate various applications to communicate with each other and share data and services among themselves. Other applications can also use the web services. For example, a VB or .NET application can communicate with a Java web services and vice versa. Web services are used to make the application platform and technology independent.
A consumer of a web service is not tied to that web service directly. The web service interface can change over time without compromising the client's ability to interact with the service. A tightly coupled system implies that the client and server logic are closely tied to one another, implying that if one interface changes, the other must be updated. Adopting a loosely coupled architecture tends to make software systems more manageable and facilitates simpler integration between different systems.
It is basically set of various protocols that can be used to explore and execute web services. The entire stack has four layers i.e. Service Transport, XML Messaging, Service Description and Service Discovery.
Using XML eliminates any networking, operating system, or platform binding. So Web Services based applications are highly interoperable application at their core level.
Synchronicity is used to bind the client to the execution of the service. In synchronous invocations, the client blocks and waits for the service to complete its operation before continuing. On the other hand, synchronous operations facilitate a client to invoke a service and then execute different functions.
The Service Transport Layer is used to transport messages between applications.
This layer includes Hypertext Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and newer protocols like Blocks Extensible Exchange Protocol (BEEP).
The Service Description layer is used to describe the public interface to a specific web service. Currently, service description is handled via the Web Service Description Language (WSDL).
The Service Discovery layer is used for centralizing services into a universal registry and providing easy publish/find functionality.
Currently, service discovery is handled via Universal Description, Discovery, and Integration (UDDI).
The Remote procedure calls refer to the calls made to the methods which are hosted by related web service.
The SOAP message refers to the data sent to the application from web services. SOAP message is an XML document which is sent through web services to provide data to the client application written in any programming language.
SOAP message sends via using hypertext transfer protocol.
The Root element is known as the first element in the XML Document.
The envelope, in turn, separated into two parts. One is the header part and second is the body part. The header contains the routing data which stores the source and destination address of the client. So the body includes the actual data.
The web services consist of four layers, as mentioned below:
This layer is the first layer in the web services protocol stack used in transporting XML files between various clients applications. Protocols used in the layer is as follows:
HTTP (Hypertext transfer protocol) SMTP (Simple Mail Transfer Protocol) FTP (File Transfer Protocol) BEEP (Block Extensible Exchange Protocol) XML Messaging:
This layer is the second layer in the web services protocol stack based on XML model where messages are encoded in common XML format which can be understandable to other client applications. This layer includes the following protocols:
XML - RPC SOAP (Simple Object Access Protocol) Service Description:
This layer provides the service description to the public interface like the location of web service, Available functions, And the data types for XML messaging. This layer only includes one language:
WSDL: WSDL stands for Web Service Description Language. Service Discovery:
This layer in the Web Services protocol stack is used to publish or finding web services over the web. This layer includes:
UDDI (Universal Description, Discovery, and integration).
The web service framework includes three different layers.
The roles of these layers are:
Service Provider: Role of Service provider is to make the web service which makes it accessible to the client applications over the Web. Service Requestor: Service requestor refers to any consumer of web service like any client application. Client applications are written in any language contact web service for any functionality by sending XML request over the available network connection. Service Registry: Service Registry is the centralized directory System which helps to locate the web services for client applications. Used to find the existing web services, as well as developers, can also create the brand new one web service also. The Service Provider uses the interface named as ?Publish? interface of Service Registry to make the existing web services available to client applications. With all the information provided by the service registry, service requestor able to find or invoke services.
The RPC is Remote Procedure Call. It is the method used for calling a procedure or function available on any remote computer on the web.
XML-RPC refers to a simple protocol used to perform RPCs by using XML messaging. It is an excellent tool for connecting different environments and also establishing connections between wide varieties of computers.
The BEEP stands for Blocks Extensible Exchange Protocol. BEEP is an alternative to HTTP and FTP. BEEP is determined as building new protocols for the variety of applications such as instant messaging, network management, file transfer. It is termed as new Internet Engineering Task Force (IETF) which is layered directly over TCP.
Some of the Build-in features of BEEP protocol are listed below:
Authentication Security Error handling Initial Handshake Protocol
The requirement for accessing web services from any application is that should support XML-based request and response. Hence there is no need to install any app for accessing web services.
The UDDI uses the language known as WSDL (Web Service Description Language).
Enlisted below are some common HTTP methods along with their functions that are supported by RESTful web services.
GET: Read-only access to the resource. PUT: Creation of new resource. DELETE: Removal of a resource. POST: Update of an existing resource. OPTIONS: Get supported operations on the resource. HEAD: Returns HTTP header only, no body.
These are the steps involved in accessing a web service:
Client application bundled the information and into a SOAP message. SOAP message sends to the server as a body of Hyper-Text markup language using POST method. Web service unpacks the SOAP message and converts it into a command understandable by the application. Application processes the information and in turn bundled the info and send it back to the client as a SOAP message. A Client then unpacks the SOAP message to obtain the results.
Communication protocol refers to the protocols which were used to transmit information over the web. By using Transport protocols, applications from the different background can quickly communicate with each other without knowing the inside functioning of the various systems. HTTP (Hyper-Text Transfer Protocol) can be used to implement a SOAP message whereas FTP (File Transfer Protocol) can be used as the reliable transport mechanism. SMTP and BEEP can also be used for transport mechanism.
SOAP message is not tied to any protocol. It can use any of the open Transport protocol.
The terms "Platform independent" and "Diverse Application" were related to each other because XML-RPC uses HTTP for transporting SOAP messages over the web. The HTTP is a universal standard protocol for exchanging information on the Web. Hence, it leads to Cross Platform support/ Platform independent. So because it is Platform independent, it leads to the diverse application capable of accessing the web services.
The role of a Web Service provider is to implement web service and make it available to the web service requestor/ consumer.
The role of Web Service Requestor / Consumer is to utilize the pre-existing web service provided by the Web Service Provider/ Publisher. Web Service Requestor/ Consumer request the Web Service provider for the information by sending a SOAP message to the Web Service provider. Then in-Turn Web Service Publisher sends the requested information back to the requestor in the form of a SOAP message.
Entrust Identification Service comes from the Entrust Security Transaction Platform. This platform allows companies to control the identities that are trusted to perform transactions for Web services transactions.
This service verifies entities that attempt to access a web service. For Example, the authentication service, the Entitlements Service ensures security in business operations.
As its name implies, it deals with security and confidentiality. This service encrypts data to ensure that only concerned parties can access the data.
It means Public-Key Infrastructure.
UDDI: It means Universal Description, Discovery and I It is the directory that is used to publish and discover public web services DISCO: It is commonly known as discovery. It clubs common services together and exposes schemas document of the web services WSDL: It stands for web service description language (WSDL). It is used to describe web services. The description includes URL of web services, properties and methods supported by web services, data type it supports and protocol detail it supports
JAXR is the JAVA programming APIs for Java platform application to access and programmatically interact with various kinds of meta-data registries.
There are two types of messaging models for JAXM synchronous and asynchronous
Synchronous messaging model: In such type of model, client directly communicates with the source. In this, the client will send the request and waits. Asynchronous messaging model: In this model, client directs the message to the messaging provider and returns back. Messaging provider then executes the routing of the message to the end source.
JAXR architecture is consists of a JAXR client and JAXR provider.
JAXR client: It is a client program which uses the JAXR API to use a registry through a JAXR provider JAXR provider: It is an implementation of the JAXR API that provide access to a particular registry provider or to a class of registry providers that are built on a common speicifications.
The usual XML APIs includes
DOM based or Tree based APIs: The whole document is read into memory as a tree structure for random availability by calling application Event based APIs: The application registers to get events as entities are encountered within the source document
Pull Parsing: Streaming pull parsing is referred to a programming model in which a client application calls methods on an XML parsing library, when it needed to communicate with an XML infoset- which means the client will only gets XML data when it is asked for Push Parsing: In Push Parsing, the parser pushes parsing events or XML data to the application. In push model, the parser got the hold over the parsing process and the parser calls the implemented handler methods.
Stax stands for Streaming API for XML; it is an API to read and write XML documents, originating from the JAVA programming language.
Java webservices is developed to build and deploy basic web service on JAVA platform.
To create a web services, there are two approaches that are adopted
Top-down approach Top-up approach
JAXB binding framework is available in three Java Packages
xml.bind: This package defines abstract classes and interfaces that are used directly with content classes xml.bind.util: This package contains utility classes that may be availed by client applications to manage marshalling, unmarshalling and validation events xml.bind.helper: This helper package gives partial implementations for some of the javax.xml.bind interfaces. These APIs are not to be directly used by applications using JAXB architecture
There are two types of JAXB client validation that a JAXB can perform
Unmarshal Time Validation On-Demand Validation
A SOAP message is consists of SOAP Envelope, SOAP Headers, and SOAP Body.
Response Caching is useless or incompetent when method accepts extensive amount of values because caching means to store lot of information. Also, if the method depends on external source of information, and that are not provided within the parameters then such methods are bypassed.
One can use Data Caching (System.Web.Caching.Cach) instead of Response Caching.
These are important headers in Restful web services. Accept headers tells web service what kind of response client is accepting, so if a web service is capable of sending response in XML and JSON format and client sends Accept header as “application/xml” then XML response will be sent. For Accept header “application/json”, server will send the JSON response.
Content-Type header is used to tell server what is the format of data being sent in the request. If Content-Type header is “application/xml” then server will try to parse it as XML data. This header is useful in HTTP Post and Put requests.
Some of the important annotations used in JAX-WS API are:
@WebService @SOAPBinding @WebMethod
Endpoint class provides useful methods to create endpoint and publish existing implementation as web service. This comes handy in testing web services before making further changes to deploy it on actual server.
URI stands for Uniform Resource Identifier. Each resource in REST architecture is identified by its URI. Purpose of an URI is to locate a resource(s) on the server hosting the web service.
A URI is of following format:
Encryption, encoding and hashing are techniques used for converting the format of data.
Encryption is used for changing plain text into cipher text so that only authorized entities can understand it. Encryption deals with keys which are used to encrypt and decrypt the data. These keys are used to transform a simple text into a cypher text and the vice versa. Encoding is used for changing the data into a special format which makes it usable by external processes. Unlike encryption, the intention of encoding is not related to security. The message is encoded by using an algorithm or scheme. In hashing, the data is converted to a message digest or hash, which is usually a number generated from a string of text. Hashing is not reversible as encryption and encoding. The data is converted to a message digest or hash, which is usually a number generated from a string of text. These digests are important as one can easily match the hash of sent and received messages to ensure that both are the same and no tempering is done with the data.
Want to test this skill? Check out Adaface assessments
XML & XML Web Services Test
Spring REST Test
We evaluated several of their competitors and found Adaface to be the most compelling. Great default library of questions that are designed to test for fit rather than memorization of algorithms.