You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jb...@apache.org on 2010/05/18 17:39:01 UTC
svn commit: r945705 - in
/servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx:
background.xml index.xml introductiontoesb.xml whatissmx3.xml
Author: jbonofre
Date: Tue May 18 15:39:00 2010
New Revision: 945705
URL: http://svn.apache.org/viewvc?rev=945705&view=rev
Log:
Add background and introduction to ESB chapters.
Added:
servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/background.xml (with props)
servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/introductiontoesb.xml (with props)
Modified:
servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/index.xml
servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/whatissmx3.xml
Added: servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/background.xml
URL: http://svn.apache.org/viewvc/servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/background.xml?rev=945705&view=auto
==============================================================================
--- servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/background.xml (added)
+++ servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/background.xml Tue May 18 15:39:00 2010
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version
+ 2.0 (the "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the
+ License.
+ -->
+<chapter id="background" xmlns="http://docbook.org/ns/docbook"
+ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://docbook.org/ns/docbook
+ http://www.docbook.org/xml/5.0/xsd/docbook.xsd"
+ version="5.0" xml:lang="en">
+
+ <title>Background</title>
+
+ <para>
+ The Enterprise Service Bus (ESB) - which can be defined as
+ middleware
+ that brings together both integration technologies and
+ runtime
+ services to make business services widely available for reuse -
+ offers
+ the best solution for meeting today's enterprise application
+ integration challenges by providing a software infrastructure that
+ enables SOA. However, there are currently a number of different
+ vendors that provide ESB solutions, some of which focus purely on
+ SOAP/HTTP and others who provide multi-protocol capabilities. Because
+ these vendors span the horizon from big enterprise generalists
+ (application servers), to mid-tier enterprise integration providers,
+ all
+ the way to smaller, ESB/integration specific-providers; there
+ doesn't
+ seem to be an established consensus regarding the key
+ requirements
+ for an ESB.
+ </para>
+
+ <para>
+ As application architects, we have often thought about what
+ requirements
+ would define an ESB designed specifically to cater to the
+ needs
+ of an agile, enterprise integration model. In building for the
+ specific
+ requirements, we realized that we actually needed to develop a
+ new
+ type of ESB, hence the Apache ServiceMix project.
+ </para>
+
+ <para>
+ The main criteria we were looking for in our ESB are as follows:
+ </para>
+ <section>
+ <title>Standards based</title>
+ <para>
+ While standards-based support is marketed by many ESB vendors,
+ the support
+ is provided externally, requiring developers to work with
+ proprietary APIs when directly interacting with internal APIs.
+ ServiceMix was
+ designed with the requirement to eliminate product API
+ lock-in, by being built from the ground up to support the Java
+ Business
+ Integration specification (JSR-208). Our agile ESB needs to
+ use JBI as a first class citizen, but also support POJO deployment
+ for
+ ease of use and testing.
+ </para>
+ </section>
+ <section>
+ <title>Flexible</title>
+ <para>
+ Another characteristic of an agile ESB is the flexibility with
+ which it can
+ be deployed within enterprise application integration
+ framework:
+ standalone, embedded in an application component, or as
+ part of the
+ services supported by an application server. This allows
+ for
+ component
+ re-use throughout the enterprise. For example, the
+ binding for a real-time
+ data feed might be aggregated as a web-service
+ running within
+ an application server, or streamed directly into a fat
+ client on a
+ traders desk. An agile ESB should be able to run both
+ types of
+ configurations
+ seamlessly.
+ </para>
+ <para>
+ To provide rapid prototyping, an agile ESB should support both
+ scripting languages and embedded rule engines, allowing business
+ processes to be
+ modeled and deployed quickly.
+ </para>
+ <section>
+ <title>Reliable</title>
+ <para>
+ Our ESB needs to handle network outages and system failures and
+ to be
+ able to reroute message flows and requests to circumvent
+ failures.
+ </para>
+ </section>
+ <section>
+ <title>Breadth of Connectivity</title>
+ <para>
+ An agile ESB must support both two way reliable Web Services
+ and
+ Message Oriented Middleware and needs to co-operate seamlessly
+ with
+ EIS and
+ custom components, such as batch files.
+ </para>
+ </section>
+ </section>
+
+ <para>
+ We also wanted our agile ESB to be vendor independant and open source,
+ to promote user control of source code and direction.
+ An added benefit of this is not only the zero purchase cost, but the
+ total cost of ownership will be reduced where users are
+ actively contributing and maintaining our ESB.
+ </para>
+ <para>
+ We rapidly came to the conclusion, that as there was no single product
+ adequately meet our needs, we would have to just go
+ a head and build one.
+ </para>
+
+</chapter>
\ No newline at end of file
Propchange: servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/background.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/index.xml
URL: http://svn.apache.org/viewvc/servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/index.xml?rev=945705&r1=945704&r2=945705&view=diff
==============================================================================
--- servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/index.xml (original)
+++ servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/index.xml Tue May 18 15:39:00 2010
@@ -96,6 +96,12 @@
<!-- Chapter on What is ServiceMix 3 -->
<xi:include href="whatissmx3.xml"/>
+ <!-- Chapter on Introduction to ESB -->
+ <xi:include href="introductiontoesb.xml"/>
+
+ <!-- Chapter on ServiceMix 3 Background -->
+ <xi:include href="background.xml"/>
+
<!-- Chapter on installation and build -->
<xi:include href="installation.xml"/>
Added: servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/introductiontoesb.xml
URL: http://svn.apache.org/viewvc/servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/introductiontoesb.xml?rev=945705&view=auto
==============================================================================
--- servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/introductiontoesb.xml (added)
+++ servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/introductiontoesb.xml Tue May 18 15:39:00 2010
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version
+ 2.0 (the "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the
+ License.
+ -->
+<chapter id="introductiontoesb" xmlns="http://docbook.org/ns/docbook"
+ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://docbook.org/ns/docbook
+ http://www.docbook.org/xml/5.0/xsd/docbook.xsd"
+ version="5.0" xml:lang="en">
+
+ <title>Introduction to ESB</title>
+
+ <section>
+ <title>The problem</title>
+ <para>
+ Enterprise networks commonly deploy disparate applications, platforms, and business processes that need to communicate
+ or exchange data with each other. The applications, platforms and processes have non-compatible data formats and
+ non-compatible communications protocols. If an enterprise needs to interface with external systems, the integration
+ problem extends outside of a company, encompassing its business partners' IT systems and processes as well.
+ </para>
+ <para>
+ In recent years, there have been several technologies attempting to solve these problems such as Enterprise Application
+ Integration (EAI), Buiness-to-Business (B2B), Service Oriented Architecture (SOA) and WebServices. These solutions range from
+ expansive vendor solutions (high cost, vendor lock-in) to home-grown custom solutions (high maintenance, high cost). The
+ overwhelming disadvantages of these solutions are high cost and low flexibility due to non-standard implementations.
+ </para>
+ </section>
+
+ <section>
+ <title>The ESB approach</title>
+ <para>
+ A standards-based ESB solves the integration problem without the drawbacks of the other solutions. The purpose of an ESB
+ is to facilitate application and process integration by providing distributed processing, intelligent routing, security, and
+ dynamic data transformation. In an ESB these services are infrastructure services so each application does not have to implement
+ these requirements independently and in a proprietary manner.
+ </para>
+ <para>
+ The ESB addresses the disadvantages of existing solutions by creating a standard infrastructure for integration. Point-to-point
+ solutions, where each of <emphasis>n</emphasis> components requires <emphasis>n-1</emphasis> interfaces for full communication,
+ are replaced by a bus solution where each component requires a single interface to the bus for global communication. An ESB
+ provides distributed messaging, routing, business process orchestration, reliability and security. It also provides pluggable
+ services and, because of the standard bus, these pluggable services can be provided by third parties and still interoperate
+ reliably with the bus.
+ </para>
+ <para>
+ Attributes of an ESB integration infrastructure are:
+ <itemizedlist>
+ <listitem><para>distributed - to remove geographical constraints</para></listitem>
+ <listitem><para>message-based - to promote loose coupling</para></listitem>
+ <listitem><para>open standards-based - to preserve investment and encourage contribution</para></listitem>
+ <listitem><para>reliable - to meet the requirements of mission-critical business operations</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ As an integration infrastructure, the ESB provides a number of functions including:
+ <itemizedlist>
+ <listitem><para>routing</para></listitem>
+ <listitem><para>transformation</para></listitem>
+ <listitem><para>visibility - into messages for content-based routing</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ An ESB also supports requirements such as security, orchestration, and transactionality. These exist in "hard-wired" integration
+ methods, but are not available automatically in a service-oriented architecture. One of the key requirements for the ESB is to
+ give loosely coupled, services-based integration methods a level of enterprise-class reliability and security.
+ </para>
+ <para>
+ A newer requirement for ESBs is the ability to allow no only loosely-coupled request found in a service oriented architecture,
+ but also to provide the infrastructure for an Event Driven Architecture (EDA). SOA and EDA provide complementary functionality.
+ In EDA an event triggers a message to be sent to other applications that are decoupled from the application that triggered the
+ event. This is an asynchronous operation as the recipient applications may receive or pick-up their messages at a later time,
+ whereas the SOA messaging model is typically synchronous in nature.
+ </para>
+ </section>
+
+</chapter>
\ No newline at end of file
Propchange: servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/introductiontoesb.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/whatissmx3.xml
URL: http://svn.apache.org/viewvc/servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/whatissmx3.xml?rev=945705&r1=945704&r2=945705&view=diff
==============================================================================
--- servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/whatissmx3.xml (original)
+++ servicemix/documentation/branches/servicemix-3.3.x/docs/manual/src/docbkx/whatissmx3.xml Tue May 18 15:39:00 2010
@@ -16,7 +16,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<chapter id="whatissmx4"
+<chapter id="whatissmx3"
xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -26,19 +26,47 @@
version="5.0" xml:lang="en">
<title>What is ServiceMix 3 ?</title>
- <para>Apache ServiceMix is an open source ESB (Enterprise Service Bus) that
- combines the functionality of a Service Oriented Architecture (SOA) and the
- modularity. The adoption of a Service Bus allows to decouple the applicatons
- together and reduce dependencies. Messages are used to wired the
- applications (=services) and/or connectors to exchange information using
- different protocols or communications mode like FTP, HTTP, WebServices,
- ...
+ <para>
+ Apache ServiceMix is an open source ESB (Enterprise Service Bus) that combines the functionality of a Service Oriented Architecture (SOA)
+ and an Event Driven Architecture (EDA) to create an agile, enterprise ESB.
</para>
- <para>ServiceMix is lightweight and easily embeddable, has integrated Spring
- support and can be run at the edge of the network (inside a client or
- server), as a standalone ESB provider or as a service within another ESB.
- You can use ServiceMix in Java SE or Java EE application server.
+ <para>
+ Apache ServiceMix is an open source distributed ESB built from the ground up on the Java Business Integration (JBI) specification JSR-208
+ and released under the Apache license. The goal of JBI is to allow components and services to be integrated in a vendor independant way,
+ allowing users and vendors to plug and play.
+ </para>
+
+ <para>
+ Apache ServiceMix is lightweight and easily embeddable, has integrated Spring support and can be run at the edge of the network (inside a client
+ or a server), as a standalone ESB provider or as a service within another ESB. You can use ServiceMix in Java SE or a Java EE application
+ server.
+ </para>
+
+ <para>
+ Apache ServiceMix uses Apache ActiveMQ to provide remoting, clustering, reliability and distributed failover.
+ </para>
+
+ <para>
+ Apache ServiceMix is completely integrated into Apache Geronimo, which allows you to deploy JBI components and services directly into Geronimo.
+ ServiceMix is being JBI certified as part of the Geronimo project.
+ </para>
+
+ <para>
+ Other JEE application servers Apache ServiceMix has been integrated with include JBoss, JOnAS with more to follow.
+ </para>
+
+ <para>
+ Apache ServiceMix includes a complete JBI container supporting all parts of the JBI specification including:
+ <itemizedlist>
+ <listitem><para>NMR (Normalized Message Service and Router)</para></listitem>
+ <listitem><para>JBI Management MBeans</para></listitem>
+ <listitem><para>ant tasks for management and installation of components</para></listitem>
+ <listitem><para>full support for the JBI deployment units with hot-deployment</para></listitem>
+ <listitem><para>a simple Client API for working with JBI components and services</para></listitem>
+ <listitem><para>wide set of JBI components including HTTP, JMS, BPEL, Rules, ...</para></listitem>
+ </itemizedlist>
+ Please, read the JBI documentation if you need more explanations about JBI.
</para>
</chapter>