Advertisment

Implementing SOA Using Enterprise Java

author-image
PCQ Bureau
New Update

B V Kumar, Director and Chief Architect, Cognizant

Technology Solutions

Advertisment

Architecting enterprise solutions for service orientation

is now a serious technical issue. Comprehending the enormity of the problem,

orienting (or reorienting) the application for services, choosing the right

technology for implementation, opting for the right tools and platform,

designing the right components for services delivery (or availing), configuring

optimally and deploying application for acceptable quality of service are some

of the important factors that lead to the success of enterprise solution. We

discuss all these and more in three parts in this article - evolution, services

and implementation.

Direct Hit!

Applies To: .NET Developers



USP: Learn successfully architecting enterprise solutions with
Java techs



Primary Link:
http://tinyurl.com/osjtq





http://www.ciol.com/sparkIT/2010




Search Engine Keywords: SOA

Evolution



Initially, the mainframes provided 'Centralized Model' architecture to

manage business data and processes. The concept of software architecture started

to evolve when enterprises and other businesses started adopting small and

medium computers and networking them to share resources. The need for decoupling

of the systems and software applications in smaller networked environments

resulted in the emergence of the popular 'Client/Server' architecture. Many of

the architectures that evolved later were influenced by Clients and Servers. The

evolution of 'distributed' architectures may be considered as a sophisticated

extension of Client / Server architecture. Clearly, the Internet and World Wide

Web caused a shift in the nature and ways of business transactions taking place

today. These challenges and opportunities have caused the architecture to be

governed by non-functional requirements rather than that of functional

requirements of the enterprises. Some of the important non-functional

requirements that influence the architecture of modern day enterprise

applications include performance, reliability, availability, and security. The

requirement of service-orientation for the enterprises first emerged with the

advent of the Internet and World Wide Web.

Advertisment

The IT world has since witnessed numerous paradigm shifts,

as newer technologies such as XML and Java continuously impacted enterprise

solution requirements. The business of 'service delivery' started gaining

momentum among the enterprises and their collaborators. However, the IT

definition of the term 'service' kept on deviating with that of the business

definition, and this cohesion was crucial for the enterprises to remain

competitive in the dynamically changing market conditions. Evolution of business

oriented technologies such as Enterprise JavaBeans (EJB, JPA etc), as a part of

J2EE technologies, on the one hand and the emergence of core constituents of web

services such as SOAP, WSDL and UDDI, on the other, provided the opportunity to

draft service definitions in alignment with the business requirements.

Services and Service Orientation



Services and Services composition and delivering / availing the same, making

it work as a part of the business process are the most important aspects of the

services orientation challenge.

Advertisment

Services  and Services Composition - The SOAP way



SOAP is a web service extension of eXtensible Markup Language (XML). XML is

a very simple but very powerful protocol that promises many advantages to the

enterprise processes for delivering service (or exchange information). SOAP

efficiently piggybacks on Hypertext Transfer Protocol (HTTP), and, as a result,

this protocol can help enterprises in exchange information on the Internet.

Enormous success of SOAP is attributed to its simplicity elegant structure to

envelope and carry the information. The SOAP message is designed to carry

textual (plain text) as well as binary information. While the textual

information can be enclosed in the body part of the SOAP message, the

non-textual information may be carried as it's MIME attachment.

Services Definition and Description - The WSDL way



Web Services Description Language (WSDL) is an important part of the

services definition part of SOA. WSDL, an extension of the XML provides an

excellent combination of tags, include a complete description of a service (or a

set of services). The description of WSDL includes all related information

required for any application, including 'service name', number and types of

'parameters' required for invoking the service, 'return type', 'location' of the

server application etc is most important details of the description of the

service. 

Services Brokering - The UDDI way



Registries and repositories represent the information database about the

business and its services in an XML format. These registries  essentially store

the information about  all the businesses and industries participating in an

effort to publish  all relevant information about the nature of business and the

types of services as per popular taxonomies.   Universal Description, Discover

and Integration (UDDI) specification is the XML flavour that help in allowing

organizations to store the business and services information in a specified

classification format.  UDDI Registries allow the businesses to store most up to

date information on the business. They essentially act as electronic 'white

pages', 'yellow pages' or 'green pages' . The registries may be private or

public in nature.

Advertisment

Business Process and Wiring the Services - The BPEL Way



Business process represents the work flow of a set of services in any

enterprise. As the volume and activities of the enterprise increases, the

dependencies on the business process and work flow of any enterprise increases.

Automating the business process and work flow in such organizations provides

tremendous advantages to them. Enterprises offering / availing the services in

such scenarios have started feeling the compulsion of orienting (or reorienting)

their services to the needs of newly emerging discipline in the global

enterprise business scenario. Emerging standards such as WS-Business Process

Execution Language (or WS-BPEL) for the process orchestration in the intranet

scenarios and WS-Choreography Definition Language (or WS-CDL) in the

collaborative scenarios over the internet, holds a lot of promise for these

enterprises in implementation of the SOA.

SOA Implementation Technologies and Strategies



Web services route of implementing SOA has many crucial advantages over any

other implementation strategies. There are two predominant solutions that help

in web services implementation of SOA in the present day context -Microsoft's

.NET technologies and and Sun Microsystems's Java Enterprise Edition

technologies.

Microsoft's .NET Technologies



The .NET product suite from Microsoft enables enterprises to build

enterprise-class web SOAs. The .NET product suite is largely a rewrite of

Windows DNA,11 which constitutes Microsoft's previous platform constituents for

developing enterprise applications. The new .NET Framework replaces these

technologies and includes the web services layer.

Java Enterprise Edition Technologies



The Java 2 Platform, Enterprise Edition (J2EE) is a progression of the Java

environment to the server side of the application software paradigm. J2EE,

unlike Microsoft's .NET, could be termed a defacto industry standard and has

resulted in a large industry initiative called the Java Community Process (JCP).

The participants of this community include the 'who's who' in the IT and related

industries IBM, Oracle, Nokia, Erricson, and so on. The spirit of Java as well

as the other related technologies, such as J2EE, was to free the customers from

the dependency of products and tools from vendors. In this work, we will focus

on the Java EE driven SOA implementation technologies and strategies.

The enterprise Java platform has evolved from the

industry's need for a a secure, reliable, highly available and scalable platform

for development and deployment of enterprise applications. The main focus of the

new Java EE platform is the ease of development and to increase developer

productivity with the goal of attracting even more developers to the platform as

well as broadening the use of technologies within the platform. As a part of

this evolution many other related technologies evolved to meet the growing needs

of the java enterprise applications. These technologies are Web Tier

Technologies,  Business Tier Technologies,  Web Services Supporting

Technologies,  and Integration and Enterprise Services Bus.

Advertisment