
Integration Layer
The integration layer is responsible for taking an object, such as customer,
from one system, optionally transforming it into a common object model and
then transforming it to the representation in the destination system(s).
Common Object Model
There are a number of common object models. Often they are industry specific
and defined in XML.
XML
XML (Extensible Markup Language) is a flexible way to create common information
formats and share both the format and the data on the World Wide Web, intranets,
and elsewhere.
XSD
XSD (XML Schema Definition), a recommendation of the World Wide Web Consortium
(W3C),
specifies how to formally describe the elements in an Extensible Markup
Language (XML)
document. This description can be used to verify that each item of content
in a document adheres to the description of the element in which the content
is to be placed.
Transformation
To transform an object from one representation to another is often through
a drag and drop graphical user interface. This is used to generate Java or
XSLT. The key standards in this area are:
Java
Java is a programming language expressly designed for use in the distributed
environment of the Internet. It was designed to have the "look and
feel" of the C++ language, but it is simpler to use than C++ and enforces
an object-oriented programming model. Java is often the standard language
to describe complex transformations.
XSLT
XSL Transformations (XSLT) is a standard way to describe how to transform
(change) the structure of an XML (Extensible Markup Language) document
into an XML document with a different structure. XSLT is a recommendation
of the World Wide Web Consortium (W3C).
J2EE
J2EE has become the standard platform for the enterprise at the high-end.
There has been a merger between application servers and integration servers.
Modern integration servers have moved away from their proprietary architectures
to become J2EE compliant. J2EE application servers often have proprietary
extensions making it costly for users to migrate from on application server
to another.
The key standards in this area are:
J2EE
J2EE (Java 2 Platform, Enterprise Edition) is a Java platform designed for
the mainframe-scale computing typical of large enterprises. Sun Microsystems
designed J2EE to simplify application development in a thin client, tiered
environment.
JCA - J2EE Connector Architecture
The J2EE Connector architecture defines a standard architecture for connecting
the J2EE platform to heterogeneous applications. Examples of applications
include ERP, mainframe transaction processing, database systems, and legacy
applications not written in the Java programming language. An application
vendor needs to provide just one standard resource adapter which has the
capability to plug in to any application server that supports the J2EE
Connector architecture. An application server and an application collaborate
to keep all system-level mechanisms, such as transactions, security, and
connection management, transparent. The J2EE Connector architecture also
defines a Common Client Interface (CCI) for EIS access. The CCI defines
a standard client API for application components.
JDBC - Java Database Connectivity
JDBC (Java Database Connectivity) is an application program interface (API)
specification for connecting programs written in Java to the data in popular
databases. The application program interface lets you encode access request
statements in structured query language (SQL) that are then passed to the
program that manages the database. It returns the results through a similar
interface. JDBC is very similar to the SQL Access Group's Open Database
Connectivity (ODBC) and, with a small "bridge" program; you can
use the JDBC interface to access databases through the ODBC interface.
JMS - Java Message Service
Java Message Service (JMS) is an application program interface (API) from
Sun Microsystems that supports the formal communication, known as messaging,
between computers in a network.

Service Layer
The service layer is where technical services such as “create customer”, “create
order” are defined. What is critical is that they are not proprietary
and should be vendor independent. A service oriented architecture, when the
service layer uses Web Services standards, becomes a Web Services oriented
architecture. This prevents a customer from being locked-in to a particular
vendor.
The key standards are:
Web Services
SOAP - Simple Object Access Protocol
Simple Object Access Protocol (SOAP) is a way for a program running in one
kind of operating system to communicate with a program in the same or another
kind of an operating system by using the World Wide Web's Hypertext Transfer
Protocol (HTTP) and its Extensible Markup Language (XML) as the mechanisms
for information exchange.
WSDL - Web Services Description Language
The Web Services Description Language (WSDL) is an XML-based language used
to describe the web services a business offers and to provide a way for
individuals and other businesses to access those web services electronically.
UDDI - Universal Description, Discovery and Integration
UDDI (Universal Description, Discovery and Integration) is an XML-based language
for creating registries for businesses worldwide to list themselves on
the Internet. Its ultimate goal is to streamline online transactions by
enabling companies to find one another on the Web and make their systems
interoperable for e-commerce. UDDI is often compared to a telephone book's
white, yellow, and green pages. The project allows businesses to list themselves
by name, product, location, or the Web services they offer.

Process/Orchestration Layer
The process layer orchestrates underlying web services to create a composite
web service. Here, a process needs to be defined and then executed. The process
definition should be usable by multiple products. This has been a common
in the past whereby a process definition was tied to a particular tool.
Process Orchestration
The key standards in the area are:
BPEL4WS
Business Process Execution Language for Web Services (BPEL4WS) defines a
notation for specifying business process behaviour based on Web Services.
Processes in BPEL4WS export and import functionality by using Web Service
interfaces exclusively which removes a previous problem of sharing processes
between tools. Business processes can be described in two ways: Executable
business processes model actual behaviour of a participant in a business
interaction. Business protocols, in contrast, use process descriptions
that specify the mutually visible message exchange behaviour of each of
the parties involved in the protocol, without revealing their internal
behaviour. The process descriptions for business protocols are called abstract
processes. BPEL4WS is meant to be used to model the behaviour of both executable
and abstract processes.
BPMN
Business Process Modeling Notation (BPMN) specification provides a graphical
notation for expressing business processes in a Business Process Diagram
(BPD). The BPMN specification also provides a binding between the notation's
graphical elements and the constructs of block-structured process execution
languages, including BPML and BPEL4WS.

Presentation Layer
Services and process generate data that needs to be presented to a user,
often in a browser or a portal. The key standards in this area are:
JSP
Java Server Page (JSP) is a technology for controlling the content or appearance
of Web pages through the use of servlets - small programs that are specified
in the Web page and run on the Web server to modify the Web page before
it is sent to the user who requested it.

Management
A service oriented architecture allows logic to be reused in many processes
and applications. It is critical to manage these services effectively. The
key management standards in this area are:
JMX
JMX (Java Management Extensions) is a set of specifications for application
and network management in the J2EE development and application environment.
JMX defines a method for Java developers to integrate their applications
with existing network management software by dynamically assigning Java
objects with management attributes and operations. JMX facilitates the
centralized management of managed objects (called MBeans) which act as
Java wrappers for applications, services, components, or devices in a distributed
network
SNMP
Simple Network Management Protocol (SNMP) is the protocol governing network
management and the monitoring of network devices and their functions.