Pages

Saturday 29 September 2012

Web Services

Web Services:
“Web services are set of standards that enable to interoperable integration between disparate process and systems, running on variety of platforms and frameworks”. 

Simple term of web services def
 Web service is a small unit of program which allows us to create client/server applications. It is yet another distributed computing technology like Corba, RMI, and EJB etc.

 It is used to access distributed resources like
  • Web Services access to shared data
  • Web Services access to shared program
  • Web Services connect system and devices (like CPU, Memory, printer, etc.)
  • Web Services provide communication between different technology applications 

Web Services are
·         Web Services platform independent.
·         Web Services language independent.
·         Web Services implementation independent.
·         Web services make application component reusable.

Web Services Architecture:








Web Service Components:
WSDL (Web Service Description Language):  it is XML based description of web services. it is used to locate and describe the web services.

SOAP (Simple Object Access Protocol): It is a protocol for accessing the web services and it is XML based structure used to send and receive the request and response of services as XML message (SOAP Message).

UDDI (Universal Description, Discovery and Integration): It is XML based registry to publish service and find the service from registry.


Web services benefits:
  • Language neutrality 
  • Interoperability 
  • Industry support 
  • Application component reusable.

                     
How can create Web Service:
We can create web services in Java using different service engine like Apache axis2 and Apache CXF.

Apache Axis2: Axis2 is a Web Services / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack. There are two implementations of the Apache Axis2.
More details you can refer this link http://axis.apache.org/axis2/java/core/

Apache CXF: Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
More details you can refer this link http://cxf.apache.org/

Building Web Services:
We can implement the web services two ways by using Apache Axis2 or Apache CXF in java.  
1-Code First Services (Bottom-UP Approach).
·         First write a normal java code.
·         Expose Interface as web services.
·         WSDL would available for the client.

2-Contract First or WSDL First Services (Top-Down Approach)

·         First write a schema, xsd and wsdl file.
·         Create interface and other code using service engine from wsdl.
·         Add business logic.
·         Expose interface with business logic as web services.
·         Service would be available for client.


Friday 7 September 2012

ESB (Enterprise Service Bus)

Enterprise Service Bus:

Nowadays, ESB is buzz word in the software industries and that’s why lots of ESB available in the market as open source as well as Enterprise, I think it is required to solve the integration challenges in various web services, applications, and other technologies into a single network via ESB in SOA Fashion. It’s also useful for architects and managers who are evaluating different app integration and majority of functionality can be leveraged without writing much line of code. As such developers who find themselves repeatedly solving the same integration problems will also be find the useful.

ESB Definition: 
ESB (enterprise service bus) is a software architecture model that provides integration different software applications in SOA manner.

In a Sentence: An Enterprise Service Bus (ESB) is a distributed middleware system for integrating enterprise IT assets using a service-oriented approach.

An Enterprise Service Bus (ESB) is an infrastructure used for enterprise integration using a service-oriented approach. Its main features are:
•       It has a set of service containers, used to adapt a wide variety of IT assets to the ESB.
•       It has a reliable messaging system, used to allow the service containers to interact.
•       It has a standard (WSDL) services model is used for inter-container interaction. That is, all adapted assets are modeled using services. An asset can be a provider of services, a consumer of services, or both. The services model is based on message exchange.
•       It uses messages that are exchanged between containers using standard message exchange patterns.
•       It uses messages that consist of XML data, and message metadata.
•       It provides message transformation services
•       It provides message routing services
•       It provides security features to control access to services
•       It is centrally administered, despite being a distributed system.
•       It allows incremental changes to services without requiring shutdown or other disturbance to system availability.