Introduction to WebServices

Web Service Chapters

Webservices Overview

Webservices Overview:

Data Exchange between applications developed in different languages or platform such as Java & Dot Net  over Internet is the Major Challenge.

Before we start webservices we will have quick look into currently used technologies  for Data Exchange over internet  prior to webservices.

  1. DCOM
  2. CORBA
  3. IIOP

 

DCOM: (Distributed Component Object Model)

It is a set of Microsoft concepts and program interfaces in which client program objects can request services from server program objects on other computers in a network.

Disadvantages :

  • Integration with legacy systems and databases is not straightforward
  • No explicit load balancing support
  • Tightly Coupled Architecture since DCOM is based on Based RPC ( Remote Procedural Cal)

 

CORBA: ( Common Object Request Broker Architecture)

It Is an architecture and specification for creating, distributing, and managing distributed program objects in a network.

It allows programs at different locations and developed by different vendors to communicate in a network through an “interface broker.”

Disadvantages :

  • Slow in terms of data transfer across web & needs Java Applets or Request Broker to communicate
  • It is Complex Technology in terms of implementation & also cost
  • Requires Skilled Engineers to work with
  • Most of systems currently used is not equipped with corba services
  • Tightly Coupled Architecture since corba is based on RPC ( Remote Procedural Cal)

 

IIOP: (Internet Inter-ORB Protocol)

It is a protocol through which  distributed programs written in different programming languages can communicate over the Internet.

IIOP is a part of the CORBA standard, which is based on the client/server computing model.

Using IIOP, we can write client programs that communicate with your site’s existing server programs wherever they are located without having to understand anything about the server other than the service it performs and its address (called the Interoperable Object Reference, IOR, which comprises the server’s port number and IP address).

Disadvantages :

  • IIOP uses RMI ( Remote Method Invocation ) Technique which is tightly coupled
  • Security needs to be monitored more constantly

 

Webservices aims to resolve the problems faced by using existing or above technologies for Data Exchange.

What is Webservice

What is a Web Service ?

A service is a collection of discrete unit of data or content that either consists of business logic or host command input and output.

A service is exposed via a common access infrastructure.

Exposing a service makes the data or functionality in a system or application available to other organizations through a common interface. When the common interface is Web-based or Internet-based, the service is called a Web service.

In simple terms Any program that is callable by or or which shares data to another program across the Web is called a web services.

This program is

  • platform-independent.
  • language-independent
  • object model-independent

Web services are network-accessible programs that use a standardized messaging protocol to communicate with other programs that want to use their functions.

Web services reside on  servers which can be on the Internet, on your company’s private intranet, or on your own compute.

Architecture

Web Services Architecture:

Generally Web services  Architecture consists of three major components

  1. Service Registry
  2. Service Provider
  3. Service Consumer

 

Service Registry:

It can also be called as Service Broker or webservices platform.

Service Registry provides common access infrastructure or platform for service providers & Service Consumers to exchange data.

It is responsible for making the web service interface and implementation access information available to any potential service consumer as published by service provider.

All the users of this registry ( both consumers & providers) has to get registered for accessing the services from service Registry.

All the registered users data is available in UDDI.

UDDI:

The Universal Description, Discovery and Integration (UDDI) specification defines a way to publish and discover information about web services.

Its is a directory service where businesses can register and search for Web service. It is paid service.

UDDI is a cross-industry effort driven by all major platform and software providers like Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, and Sun, as well as a large community of marketplace operators, and e-business leaders.

Over 220 companies are members of the UDDI community.

 

Service Provider:

The service provider creates a web service and publishes its interface and access information to the service registry.

Each provider will decide which services to expose, how to make trade-offs between security and easy availability, how to price the services, or how to exploit free services for other value.

The provider also has to decide which category to list the service in the service registry and what sort of trading partner agreements are required to use the service published by him.

 

Service Consumer:

It can also be called as Service requester or webservices client.

The service requester or web service client locates entries in the Service registry using various find operations and then binds to the service provider to invoke one of its web services.

Note: Irrespective of Service Provider or Consumer both of have to register them self in Service Registry to access or public information.

Types of Webservices Architecture

Types of Webservices Architecture:

A Web service is a software system that used  to  Exchange of data over the internet between service Providers & service Consumers  using web services platform or service registry.

The implementer ( Service Provider) decides the scope of the webservices .

Types of Web services Architecture:

  1. Internal web service Architecture
  2. External web service Architecture

Internal web service Architecture:

It can also called as Private registry or private broker service

As the name suggested this architecture is widely followed in within organisation to exchange data & services between consumers & providers .

Internal web service architecture works on intranet ( within the organisation)

Services are only accessible to a limited audience, for example, users of a company intranet

Private brokers maintain their own directory or interface or domain  for exchange of data between services consumers & service providers internally.

Internal web services architecture Provides web services within a domain or organization through using middleware can be expressed as internal web services. As this architecture doesn’t allow any other client or domain to use the services it is known as behind-the-firewall web services.

 

Example:

For example consider an organization which sells product to the customers in market, if the person at help-desk with in organisation wants to access information of a customer completely then internal web services has to be utilized. This kind of internal architecture will help in combining customer information available in different parts of the organization.

Purchasing date, cost, payments, service and warranty details of purchased product can be viewed on single screen if internal web services are used effectively.
Internal web services architecture uses conventional middleware for using internal services.

 

External web service Architecture:

It can also called as Public registry service or public broker service

Services are deployed for public usage through internet.

It is paid service which any company can register with web services brokers & purchase

All the registered user data is available in UDDI

The Universal Description, Discovery and Integration (UDDI) specification defines a way to publish and discover information about web services.

It is a directory service where businesses can register and search for Web service

External architecture of web services architecture allows outsiders or other clients to access the services. In order to get access to particular web service, the client has to send a request to the provider in return provider will accept the request and offers requested services.

The process of external web services is provided below:

The above diagram clearly explains how web service can be obtained from the service provider.

Here the company A is service requester, company B is service provider and company C is the directory which contains the information of all available web services. All the web service providers have to publish the information about services offered by them. The clients refer to the service availability directory in order to find providers. After choosing a service provider Company A and company B interact with each other to exchange information or to obtain web service. Thus the basic process to be followed for attaining web service is publishing, finding and interacting.

Ways of implementing web services

Currently two important ways via web service are used in industry namely

  1. SOAP Webservice
  2. RESTFUL Webservice

SOAP Web Service:

SOAP STANDS for Simple Object Access Protocol (SOAP)

SOAP web service allows applications exchange information or access remote objects using XML.

SOAP uses XML to define the format and data in messages. The messages are sent over the Internet.

SOAP Webservice Service functions like this :

Client application calls a Web service by sending an XML message as a request, and the Web service infrastructure returns an XML response to the client. Because all communication is formatted with XML, a Web service is not tied to any particular operating system, programming language, or platform.

In this tutorials I am going to speak about both internal & external webservice architecture itself.

 

Restful  Web Service:

REST STANDS for Representational State Transfer

Rest allows application to exchange information using web-standards and the HTTP protocol.

REST uses architectural style for developing applications that can be accessed over the internet.

REST Webservice Service functions like this :

In a REST architecture everything is a resource.

A resource can be  accessed via a common interface based on the HTTP standard methods via REST server.

A REST client can access and modify the REST resources

Every resource should support the HTTP common operations. Resources are identified by URI’s ( through global IDs).

REST allows that resources to exchange data in different formats or representations, e.g., text, XML, JSON etc.

The REST client can ask for a specific representation via the HTTP protocol (content negotiation).

Advantages of using web services

Web Services offer many benefits over other types of distributed computing architectures:

  1. Interoperability
  2. Usability
  3. Deployability
  4. Reusability

 

Interoperability:

Web services is platform independent which lets developers use different programming languages for development and exchange data between other developers outside.

Usability:

Web Services allow the business logic of many different systems to be exposed over the Web. This gives applications the freedom to choosing the Web Services that they need. Instead of writing the code for each client, developers need only include additional application-specific business logic on the client-side. This allows to develop services and/or client-side code using the languages and tools that we want

Deployability :

Web Services are deployed over standard Internet technologies. This makes it possible to deploy Web Services even over the fire wall to servers running on the Internet on the other side of the globe. Also thanks to the use of proven community standards, underlying security (such as SSL) is already built-in

Reusability:

Web Services provide not a component-based model of application development, but the closest thing possible to zero-coding deployment of such services. This makes it easy to reuse Web Service components as appropriate in other services. It also makes it easy to deploy legacy code as a Web Service

Webservices Video Tutorials

Web Services offer many benefits over other types of distributed computing architectures:

  1. Interoperability
  2. Usability
  3. Deployability
  4. Reusability

 

Interoperability:

Web services is platform independent which lets developers use different programming languages for development and exchange data between other developers outside.

Usability:

Web Services allow the business logic of many different systems to be exposed over the Web. This gives applications the freedom to choosing the Web Services that they need. Instead of writing the code for each client, developers need only include additional application-specific business logic on the client-side. This allows to develop services and/or client-side code using the languages and tools that we want

Deployability :

Web Services are deployed over standard Internet technologies. This makes it possible to deploy Web Services even over the fire wall to servers running on the Internet on the other side of the globe. Also thanks to the use of proven community standards, underlying security (such as SSL) is already built-in

Reusability:

Web Services provide not a component-based model of application development, but the closest thing possible to zero-coding deployment of such services. This makes it easy to reuse Web Service components as appropriate in other services. It also makes it easy to deploy legacy code as a Web Service

Interview Questions

Leave a Reply

Your email address will not be published. Required fields are marked *