Service Oriented Architecture Implementation Frameworks

Whitepaper
Service Oriented Architecture
Implementation Frameworks
Understanding the Business Benefits of Services Oriented Architecture
Implementation Framework (SOAIF)
Fiorano Software, Inc.
718 University Avenue, Suite 212
Los Gatos, CA 95032 U.S.A.
+1.408.354.3210
email info@fiorano.com
www.fiorano.com
Entire contents © 2005 Fiorano Software, Inc. All rights reserved. Reproduction of this document in any form without prior written permission is forbidden. The
information contained herein has been obtained from sources believed to be reliable. Fiorano disclaims all warranties as to the accuracy, completeness or adequacy
of such information. Fiorano shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof. The opinions
expressed herein are subject to change without notice.
X
Introduction
Today's environment is rapidly changing. Business dynamics and technological innovations have left
organizations with a disparate mix of operating systems, applications and databases. This makes it
difficult, time-consuming and costly for IT departments to deliver new applications that integrate
heterogeneous technologies.
Enterprises have traditionally implemented separate solutions for operating legacy and packaged
applications, business-to-business (B2B) interactions, collaboration and general-purpose distributed
computing. Moreover, IT professionals also need to plan for unforeseen and changing dynamics
created by mergers and acquisitions, new partnerships, expansion, and new customer requirements.
This creates a serious bottleneck in the ability to manage, change, and modify enterprise processes
to dynamically match changes in requirements.
The key to success in the networked economy is the ability to create and modify processes to
automate value chains in concert with changing requirements. Faster change management will help
enterprises integrate their processes over the Internet so can achieve greater efficiency, generate
more revenue, and enter new markets.
A new category of enterprise infrastructure solutions, built on a service-oriented architecture (SOA),
will deliver these benefits. SOAs are based on the notion of services, which are high-level software
components that include Web services. Implementation of an SOA requires tools as well as run-time
infrastructure software, which we collectively refer to as an SOA implementation framework (SOAIF).
An SOAIF includes both design-time and run-time capabilities as well as all the software functionality
an enterprise requires to build and operate an SOA, including service-oriented:
„
Tools
„
Management
„
Integration
„
Processes
Users compose processes by connecting multiple service instances using visual tools, while the
SOAIF provides the run-time deployment infrastructure across the network for running the application
and process. An SOAIF lets business analysts create, deploy, manage, and change processes
spanning multiple enterprise applications, departments, and partners.
SOAIFs address the needs of process management at the application, human-interaction, and
implementation levels. The SOAIF addresses these needs within and across enterprises and across
multiple domains, including EAI, B2B integration, business process management (BPM),
collaboration, and even network management each area is traditionally served by distinct solutions.
Fiorano Software, Inc. Copyright 2005. All rights reserved.
1
X
Benefits of an SOAIF
An SOAIF focuses on internal and cross-enterprise processes, helping organizations streamline
operations, reduce costs, and increase responsiveness. Specifically, an SOAIF provides generalpurpose, service-based distributed computing capabilities that deliver:
„
Faster response rate to changing business requirements
„
Operational efficiencies
„
Faster, less expensive application integration
„
Easier application development and deployment
Responsiveness
Existing enterprise solutions are inadequate in their ability to quickly change processes in response
to changing business dynamics. The effort typically requires additional manual code development and
results in a system that's difficult to maintain and extend. An SOAIF strengthens the enterprise by
enabling rapid changes to existing processes by dynamically allowing the inclusion of additional
services or modification of existing services. An SOAIF also includes support for run-time deployment,
allowing modified processes to be redeployed instantly.
Efficiency
Most packaged enterprise applications perform well in streamlining processes related to standard
tasks. However, the performance rapidly deteriorates while automating and streamlining customized
processes that encompass multiple enterprise applications. The process is difficult, time-consuming,
and expensive to implement and maintain.
The SOAIF infrastructure addresses this issue by allowing the definition of any process in any network
topology, spanning multiple enterprise boundaries. This is accomplished via peer-to-peer messaging
infrastructure with distributed security mechanisms that allow efficient data exchanges for easy
implementation, while enabling each enterprise to enforce its own security policies. This allows an
SOAIF to increase operational efficiency across the entire value chain.
Application Integration
Existing packaged application integration solutions are complex and require significant
implementation effort, often including extensive manual coding for deployment purposes. An SOAIF
provides native support for run-time deployment of services across the network and dramatically
reduces the overall costs of application integration and deployment by automating these timeconsuming processes. It also allows extension of integration across business boundaries.
Fiorano Software, Inc. Copyright 2005. All rights reserved.
2
Application Development & Deployment
In the traditional software development process, translating requirements into working distributed
systems is both time-consuming and difficult, requiring several stages of manual development and
deployment. This complex, error-prone task can be effectively streamlined using a higher-level,
component-based SOAIF. The SOAIF incorporates tools that let processes that are developed, using
standards such as Business Process Execution Language (BPEL) to be easily translated into
distributed high-level services, which are easier to develop, manipulate, and debug. These services
are easily composed into implementation-level data flows without the user or developer having to
track complex middleware concepts, such as topics or queues. Further, the implementation-level
services can run on any machine across the network by virtue of the built-in dynamic deployment
support SOAIF provides. The combination of service-oriented tools and built-in support for distributed
debugging, run-time tracing and logging, and dynamic deployment allows the SOAIF to dramatically
reduce the time taken to implement and deliver working processes.
X
SOAIF Requirements
An SOAIF is a general-purpose infrastructure platform that lets developers and business analysts
create, deploy, manage, and change processes within and across the enterprise. SOAIFs have
unique requirements at both the tools and infrastructure levels that are not typically provided by any
single current technology or platform. These include:
Distributed, event-enabled architecture
„
Flexibility via service-enabled processes
„
Enterprise standards support
„
Fault tolerance, reliability, and scalability
„
Security in distributed environment
„
Visual process composition and monitoring
„
On-the-fly process changes
By addressing these requirements, an SOAIF lets users quickly respond to changes and integrate
operations efficiently, regardless of platform, language, database, or application.
Distributed Event-Enabled Architecture
Enterprise processes are usually distributed across multiple applications and hardware/software
systems. These processes are also event-based in the sense that the sub processes are linked by a
series of events. For example, the depletion of inventory at a manufacturer may lead to an eventtrigger that's automatically generated and propagated to one or more suppliers to replenish the
depleted inventory items.
Fiorano Software, Inc. Copyright 2005. All rights reserved.
3
Most current BPM solutions control the processes through a centralized hub. Changes to applications,
or additions of new applications, require modifications at the centralized hub. Further, all data
exchanged between applications needs to traverse the central hub. This type of topology restriction
is inefficient, inflexible, and leads to bottlenecks. To overcome this limitation, a framework that tries to
integrate enterprise processes needs to be fully distributed across the network within the enterprise.
The framework must also be symmetric, which implies that the same event-based infrastructure
software and tools need to run on all machines within the enterprise.
Flexibility via Service-Enabled Processes
An SOAIF should make it simple to deploy, manage, and change participating processes. This implies
a service-based architecture, in which applications are composed of "coarse-grained" enterprise
services (including Web services) loosely bound to each other via event-based messaging, with each
service potentially running in a separate process. Such an architecture enables a rapid deployment
model, decreasing the lead times required for solution implementation. This architecture should
support on-the-fly modification of processes, letting analysts change and instantly redeploy processes
to meet rapidly changing requirements.
Enterprise Standards Support
Support for data exchange, messaging, and existing enterprise standards becomes essential in an
SOAIF. Since content needs to be exchanged between partners, XML messages and documents will
be the desired format. Further, since most businesses want to leverage existing infrastructures, an
SOAIF needs to easily support multiple standards.
Fault Tolerance, Reliability, & Scalability
An SOAIF should be able to offer an extremely high degree of reliability. The platform should support
a broad range of processes that span an increasing number of applications, corporations, and
partners. To eliminate single points of failure and to maximize performance, a fully distributed
architecture becomes essential.
Security in a Distributed Environment
An SOAIF needs to be fully distributed for maximum performance and scalability. In such a distributed
computing environment, it becomes necessary to restrict the scope of interactions that partners can
conduct with the corporate IT infrastructure. It becomes necessary to allow customization for the
interactions of each partner by providing different security roles on a per-user and per-service basis.
This requires a security model that incorporates users, Web services and more general enterprise
services and that's fully distributed and fault-tolerant, such as the SOAIF infrastructure itself. This
security model needs to be based on existing standards and tools and should support certificate
authentication at both the user and services level.
Fiorano Software, Inc. Copyright 2005. All rights reserved.
4
Visual Process Composition
An SOAIF needs to provide a single dashboard with visibility into an organization's entire distributed
computing environment. The platform should incorporate visual implementation-process-composition
tools, together with infrastructure-level support to instantly deploy the modeled implementation-level
processes across a distributed enterprise network. The visual composition tools need to be service
oriented in the sense of being able to directly manipulate higher-level, coarse-grained implementation
processes as first-class objects. They also should provide both a visual display of programming
constructs and be able to map directly (and naturally) to deployable processes.
A critical problem in deploying distributed systems is monitoring and debugging concurrently running
processes. An SOAIF should provide native support for tracing, logging, and monitoring any process
or service across the distributed environment.
Process Changes
Another challenge is responding to changing requirements. An SOAIF should provide support for
incremental on-the-fly modification of the service-based flows that implement processes. This is
among the most critical features expected from an SOAIF since it lets analysts visually change and
instantly redeploy processes to address dynamic requirements. Such changes are implemented
within an SOAIF by abstracting all concepts relating to lower-level middleware at the tools and
applications levels.
Users simply specify that a service be replaced by another running service (often on another
machine); the SOAIF dynamically reroutes data to the new service by setting up new underlying
middleware constructs (such as topics and queues, for example) on-the-fly. This allows the
implementation to be changed without stopping the current process in much the same way as
hardware is upgraded on a mainframe system without interruption of operations.
X
SOAIF Components
Essential elements of an SOAIF include design-time and run-time infrastructure, together with
service-oriented tools for deploying distributed processes and implementation flows. The core
infrastructure of an SOAIF is typically provided by an enterprise service bus (ESB), which addresses
the challenges in composing, deploying, and managing distributed, service-based enterprise
applications. The ESB incorporates a standards-based, enterprise-class messaging backbone,
together with enhanced systems connectivity using Web services, Java 2 Enterprise Edition (J2EE),
Microsoft .NET, and other standards.
An ESB links individual enterprises together for extended process efficiency across the supply chain,
allowing them to become more flexible and adaptable to rapidly changing requirements. The ESB lets
an enterprise leverage its previous investments by supporting the deployment of processes over
existing software and hardware infrastructure. As the core, underlying infrastructure of an SOAIF,
ESBs offer several unique business and technical advantages:
Fiorano Software, Inc. Copyright 2005. All rights reserved.
5
„
Support for enterprise standards
„
Fault tolerance, scalability, reliability
„
Service-based tools
„
Easy process deployment and changes
„
Component-level security
„
Run-time monitoring, tracing, and logging
Enterprise Standards Support
ESBs implement standardized interfaces for communication, connectivity, transformation, security,
and portability. Supported standards include:
„
JMS for communication
„
Web services, J2EE, and .NET for connectivity to various systems
„
Extensible Stylesheet Language Transformation (XSLT) and Xquery for transformation
„
Lightweight directory access protocol (LDAP), secure sockets layer (SSL), and others for security
.NET
ERP
Transformation
(XSLT)
Web Services
SOAP/
HTTP
SOAP/
HTTP
JCA
Connection
Layer
Enterprise Service Bus
Reliable, Asynchronous Secure Messaging
JMS
SOAP/
HTTP
JMS
Communication
Layer
Connection
Layer
Web
Service
C/C++
Legacy Application
J2EE
Figure 1 ESB Architecture
Modern ESB implementations (see Figure 1) typically support development in multiple languages.
This, combined with the inherently portable ESB infrastructure, makes the ESB a true multi-language,
multi-platform enterprise backbone and an ideal foundation for an SOAIF.
Fault Tolerance, Scalability, & Reliability
Several modern ESBs implement a symmetric, distributed architecture in which peer-messaging
servers run on multiple nodes of an enterprise network, providing a highly scalable, reliable distributed
messaging platform with no single point of failure. Modern ESB architectures combine the benefits of
Fiorano Software, Inc. Copyright 2005. All rights reserved.
6
centralized control with distributed, parallel data flow, giving application developers the ultimate
flexibility in defining the network topology of choice to route data directly and optimally between
services.
Ensuring that data flowing between services does not always have to traverse a central point in the
network optimizes peer-to-peer network performance. For instance, if one has a process that requires
data exchanges between New York and Boston, as well as between San Francisco and Los Angeles,
then the two flows of data don't necessarily have to traverse a messaging hub located in Chicago
(which is often the case in most enterprise or cross-enterprise deployments). Instead, efficiency
dictates setting up direct data flow connections between peer nodes on a network.
Service-Based Tools
Service-oriented tools enable composition of distributed applications from one or more services (Web
services and more general enterprise services), each of which typically runs in a separate process.
Services may be written in any language and communicate with each other via XML messages. This
allows service-oriented tools within an SOAIF to compose flexible, easy-to-modify systems.
Easy Process Deployment & Changes
Service-oriented processes deployed in an SOAIF are composed of "coarse-grained' Web services
ideally suited for easy change and replacement. By abstracting the details of message routing from
service implementations, service-oriented tools decouple and enable running processes to be
modified on-the-fly by simple service replacement or addition. The tools framework within an SOAIF
supports the run-time deployment of services, allowing changed processes to be deployed instantly
across the network. Our experience is that this significantly reduces solution deployment costs
compared with traditional, broker-based solutions.
Component-Level Security
The ESB defines a comprehensive security system, giving administrators full control over which
services are executed where. ESBs provide the ability to set several security attributes for each
service and provide administrative tools to configure security settings on the distributed ESB
infrastructure across the network.
Run-Time Monitoring, Tracing, & Logging
ESBs include native service-level support for run-time monitoring, tracing, and logging. All services
can be monitored instantly using visual tools within the SOAIF. Trace levels can be dynamically
changed within existing services running across the network and debug logs can be routed to software
tools on any node. These features greatly simplify the development, deployment, and debugging of
distributed applications running across the SOAIF.
Fiorano Software, Inc. Copyright 2005. All rights reserved.
7
X
Conclusions
The move toward SOAs will affect all distributed computing in the future. SOAs provide a layer of
abstraction over all existing architectures, allowing distributed solutions to be built by composing
asynchronous services into composite applications over a network.
Deploying an SOA requires software that provides service-oriented management, integration,
security, tools, and processes. While these segments are currently served by individual packages and
solutions, they'll evolve into a single SOAIF.
SOAIFs include all the distributed computing functionality an organization needs to develop, deploy,
manage, and extend an SOA; these frameworks will come to dominate enterprise computing over the
next few years.
X
About Fiorano Software Inc.
Based in Silicon Valley, California, Fiorano is a leading provider of Enterprise class business process
integration and messaging infrastructure technology. Companies use Fiorano products to develop
Real-Time Enterprise competencies, improving operational efficiencies and business performance by
easily deploying flexible business processes spanning multiple applications, platforms and partners.
The Fiorano ESBTM is a standards-based web services capable middleware integration platform for
real-time business, enabling the effective coordination and interaction of software assets across the
extended enterprise. Fiorano solutions power Enterprise Nervous Systems of Fortune 500 companies
like AT&T, Alcatel, American Express, Motorola, POSCO, Boeing, Toyota and Lockheed Martin.
Fiorano's customers spread across fast-growing sectors such as, telecommunications, health,
technology, financial services, government, manufacturing, retail and transportation. For more
information visit www.fiorano.com or e-mail sales@fiorano.com.
Fiorano Software, Inc. Copyright 2005. All rights reserved.
8
Download PDF
Similar pages