Author: chirino
Date: Mon Sep 25 05:12:17 2006
New Revision: 449663

URL: http://svn.apache.org/viewvc?view=rev&rev=449663
Log:
Latest export from confluence

Modified:
    incubator/servicemix/site/sm30ug/5-jbi.html

Modified: incubator/servicemix/site/sm30ug/5-jbi.html
URL: 
http://svn.apache.org/viewvc/incubator/servicemix/site/sm30ug/5-jbi.html?view=diff&rev=449663&r1=449662&r2=449663
==============================================================================
--- incubator/servicemix/site/sm30ug/5-jbi.html (original)
+++ incubator/servicemix/site/sm30ug/5-jbi.html Mon Sep 25 05:12:17 2006
@@ -27,7 +27,7 @@
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 
16px;border: none;}
 
-/*]]>*/</STYLE><DIV class="Scrollbar"><TABLE class="ScrollbarTable"><TR><TD 
class="ScrollbarPrevIcon"><A href="4-examples.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/back_16.gif"; 
width="16" height="16"></A></TD><TD width="33%" class="ScrollbarPrevName"><A 
href="4-examples.html">4. Examples</A>&nbsp;</TD><TD width="33%" 
class="ScrollbarParent"><SUP><A href="users-guide.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/up_16.gif"; 
width="8" height="8"></A></SUP><A href="users-guide.html">User&apos;s 
Guide</A></TD><TD width="33%" 
class="ScrollbarNextName">&nbsp;</TD></TR></TABLE></DIV>
+/*]]>*/</STYLE><DIV class="Scrollbar"><TABLE class="ScrollbarTable"><TR><TD 
class="ScrollbarPrevIcon"><A href="4-examples.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/back_16.gif"; 
width="16" height="16"></A></TD><TD width="33%" class="ScrollbarPrevName"><A 
href="4-examples.html">4. Examples</A>&nbsp;</TD><TD width="33%" 
class="ScrollbarParent"><SUP><A href="users-guide.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/up_16.gif"; 
width="8" height="8"></A></SUP><A href="users-guide.html">User&apos;s 
Guide</A></TD><TD width="33%" class="ScrollbarNextName">&nbsp;<A 
href="components.html">Components</A></TD><TD class="ScrollbarNextIcon"><A 
href="components.html"><IMG border="0" align="middle" 
src="http://goopen.org/confluence/images/icons/forwd_16.gif"; width="16" 
height="16"></A></TD></TR></TABLE></DIV>
 <P><A name="5.JBI-top"></A></P>
 
 <H1><A name="5.JBI-5.JBI"></A>5. JBI</H1>
@@ -60,11 +60,11 @@
 
 <H2><A name="5.JBI-Overview"></A>Overview</H2>
 
+
 <H3><A name="5.JBI-WhatisJBI%3F"></A>What is JBI ?</H3>
 
 <TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" 
width="100%"><TBODY><TR>
 <TD class="confluenceTd" valign="top">
-
 <P>JBI is a java based standard to build integrations systems by using plug-in 
components which interoperates through mediated normalized message 
exchanges.<BR>
 The message exchange model is based on the web services description language 
(WSDL).</P>
 
@@ -72,13 +72,11 @@
 
 <P>In this WSDL-based, service-oriented model, JBI plug-in components are 
responsible for providing and consuming services. By providing a service, a 
component is making available a function or functions that can be consumed by 
other components (or even itself). Such functions are modeled as WSDL 2.0 
operations, which involve the exchange of one or more messages. A set of four 
WSDL-defined, basic message exchange patterns (MEPs) crisply defines the 
sequence of messages allowed during execution of an operation. This shared 
understanding, between consumer and provider components, of the message 
exchange pattern is the foundation of interoperability of such components in 
JBI.</P>
 
-<P>The services provided by components (if any) are described to JBI by the 
component, using WSDL 1.1 or 2.0.  This provides an abstract, 
technology-neutral model of services using XML-based message exchanges. WSDL 
also provides a mechanism for declaring additional service metadata of interest 
to service consumers and JBI itself.  Components can query JBI for the for the 
WSDL describing available services.</P>
-</TD>
+<P>The services provided by components (if any) are described to JBI by the 
component, using WSDL 1.1 or 2.0.  This provides an abstract, 
technology-neutral model of services using XML-based message exchanges. WSDL 
also provides a mechanism for declaring additional service metadata of interest 
to service consumers and JBI itself.  Components can query JBI for the for the 
WSDL describing available services.</P></TD>
 <TD class="confluenceTd" valign="top">
 <DIV class="panel" style="border-style: solid; border-color: #ccc; "><DIV 
class="panelHeader" style="border-bottom-style: solid; border-bottom-color: 
#ccc; background-color: #ffffff; "><B>JBI plugin framework</B></DIV><DIV 
class="panelContent" style="background-color: #ffffff; ">
 <P><DIV align="center"><IMG src="5-jbi.data/jbi_plugin_framework.png" 
border="0"></DIV></P>
 </DIV></DIV>
-
 <DIV class="panel" style="border-style: solid; border-color: #ccc; "><DIV 
class="panelHeader" style="border-bottom-style: solid; border-bottom-color: 
#ccc; background-color: #ffffff; "><B>JBI decoupling</B></DIV><DIV 
class="panelContent" style="background-color: #ffffff; ">
 <P><DIV align="center"><IMG src="5-jbi.data/jbi_decoupling.jpg" 
border="0"></DIV></P>
 </DIV></DIV></TD></TR></TBODY></TABLE>
@@ -87,7 +85,6 @@
 
 <TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" 
width="100%"><TBODY><TR>
 <TD class="confluenceTd" valign="top">
-
 <P>This picture describes the architecture of the JBI system.</P>
 <UL>
        <LI>The JBI environment provides deployment, control &amp; monitoring 
features through JMX based administration tools</LI>
@@ -113,8 +110,7 @@
 </UL>
 
 
-<P>The core message exchange concept implements WSDL messaging. Service 
requests are generated by consumer components, routed by the NMR, and delivered 
to a provider component. For example, the BPEL SE may generate a request, which 
happens to be provided by the external service provider connected to the WS-I 
BC. The NMR will route the request to the WS-I binding. The SE in this case is 
a service consumer, and the BC a provider.</P>
-</TD>
+<P>The core message exchange concept implements WSDL messaging. Service 
requests are generated by consumer components, routed by the NMR, and delivered 
to a provider component. For example, the BPEL SE may generate a request, which 
happens to be provided by the external service provider connected to the WS-I 
BC. The NMR will route the request to the WS-I binding. The SE in this case is 
a service consumer, and the BC a provider.</P></TD>
 <TD class="confluenceTd" valign="top">
 <DIV class="panel" style="border-style: solid; border-color: #ccc; "><DIV 
class="panelHeader" style="border-bottom-style: solid; border-bottom-color: 
#ccc; background-color: #ffffff; "><B>JBI Architecture</B></DIV><DIV 
class="panelContent" style="background-color: #ffffff; ">
 <P><DIV align="center"><IMG src="5-jbi.data/jbi_architecture.jpg" 
border="0"></DIV></P>
@@ -125,7 +121,6 @@
 
 <TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" 
width="100%"><TBODY><TR>
 <TD class="confluenceTd" valign="top">
-
 <P>JBI models services produced and consumed by components using Web Service 
Description Language 1.1 or 2.0.  When the terminology differs between the two 
version, the 2.0 one is used.  This is mainly the case for the interface and 
endpoint terms, which are called respectively &quot;port type&quot; and 
&quot;port&quot; in WSDL 1.1.</P>
 
 <P>WSDL provides a declarative model of message-based services on two 
levels:</P>
@@ -140,7 +135,6 @@
        <LI><B>Service provider</B>. The component that performs the given 
service (either directly or as a proxy for an external provider)</LI>
        <LI><B>Service consumer</B>. The component that invokes a given service 
(either directly or as a proxy for an external consumer)</LI>
 </UL>
-
 </TD>
 <TD class="confluenceTd" valign="top">
 <DIV class="panel" style="border-style: solid; border-color: #ccc; "><DIV 
class="panelHeader" style="border-bottom-style: solid; border-bottom-color: 
#ccc; background-color: #ffffff; "><B>WSDL Messaging Model</B></DIV><DIV 
class="panelContent" style="background-color: #ffffff; ">
@@ -216,7 +210,6 @@
 Consumers and providers only share the abstract service definition and are 
thus decoupled, as the consumer does not know the protocol and location of the 
invoked service.<BR>
 Several services can implement the same WSDL interface so a consumer looking 
providers of an interface may find more than one endpoint</P>
 
-
 <H3><A name="5.JBI-Normalizedmessage"></A>Normalized message</H3>
 
 <P>JBI uses the concept of a normalized message for interactions between 
consumers and providers.<BR>
@@ -228,14 +221,12 @@
 </UL>
 
 
-
 <H3><A name="5.JBI-DeliveryChannel"></A>Delivery Channel</H3>
 
 <P>A Delivery Channel is a bidirectional asynchronous communication pipes 
between a component and the NMR.<BR>
 A service consumer uses its delivery channel to initiate a service invocation, 
while the provider uses its delivery channel to receive such invocations.<BR>
 Each component is provided with a single delivery channel, so the same channel 
is used for both inbound and outbound communications.</P>
 
-
 <H3><A name="5.JBI-Endpointactivation"></A>Endpoint activation</H3>
 
 <P>Endpoint activation is the process by which a service provider tells the 
NMR that it provides services, making them known to the NMR so that it can 
route service invocations to that service.</P>
@@ -248,8 +239,6 @@
 </UL>
 
 
-
-
 <H3><A name="5.JBI-ServiceinvocationandMEP"></A>Service invocation and MEP</H3>
 
 <P>Service invocation refers to an instance of an end-to-end interaction 
between a service consumer and a service provider.</P>
@@ -288,11 +277,9 @@
 <H2><A name="5.JBI-Invocationexample"></A>Invocation example</H2>
 
 <P>This sequence diagram shows a InOut service invocation between a consumer 
and a provider.</P>
-
 <DIV class="panel" style="border-style: solid; border-color: #ccc; "><DIV 
class="panelHeader" style="border-bottom-style: solid; border-bottom-color: 
#ccc; background-color: #ffffff; "><B>Invocation example</B></DIV><DIV 
class="panelContent" style="background-color: #ffffff; ">
 <P><DIV align="center"><IMG src="5-jbi.data/jbi_invocation.jpg" 
border="0"></DIV></P>
 </DIV></DIV>
-
 <OL>
        <LI>The consumer creates an InOut message exchange, populates the 
&quot;in&quot; message (the request) and send it to the NMR</LI>
        <LI>The provider component polls the delivery channel for an 
exchange</LI>
@@ -307,7 +294,7 @@
 
 <P>When an exchange involves a binding component, either as a consumer or a 
provider, the same diagram applies.  The difference is that the exchange 
creation would be triggered by an external request (a JMS message, or an HTTP 
request) before step #1 and send the response after step #4.  If the provider 
is a binding component which proxies a remote service, it would invoke the 
service between the steps #2 and #3.</P>
 
-<P>People may wonder why there is a need for a &quot;done&quot; status...  In 
JBI, all exchanges are terminated by either a &quot;done&quot; or an 
&quot;error&quot; status.  Errors are different from faults which are parts of 
the normal exchange processing. So, the done status is very useful to implement 
reliable message, transactions or passing streams inside the exchange.  <BR>
+<P>People may wonder why there is a need for a &quot;done&quot; status...  In 
JBI, all exchanges are terminated by either a &quot;done&quot; or an 
&quot;error&quot; status.  Errors are different from faults which are parts of 
the normal exchange processing. So, the done status is very useful to implement 
reliable message, transactions or passing streams inside the exchange.<BR>
 Let&apos;s take the example a file binding component, which would poll for 
files, send the content as an InOnly request, and delete them afterwards.  For 
performance reasons, it will send an opened stream on the file, but it has to 
close the stream and delete the file once processed.  If the consumer is 
asynchronous (which is better because it saves threads), it needs a way to know 
when the file has to be deleted, hence the need for the &quot;done&quot; 
status.</P>
 
 <P><A href="#5.JBI-top" title="top on 5. JBI">top</A></P>
@@ -326,7 +313,7 @@
 </UL>
 
 
-<P>A service assembly is thus a zip of zips.  It can be compared to an EAR in 
the J2EE world.  To ease the pain of packaging the JBI artifacts, ServiceMix 
provides a powerful maven based tooling which can package all the JBI artifacts 
and generate their JBI descriptors automatically.  To ease the development 
more, we provide maven archetypes for JBI components and service units: 
archetypes are templates that can generate a project in one command line.</P>
+<P>A service assembly is thus a zip of zips.  It can be compared to an EAR in 
the J2EE world.  To ease the pain of packaging the JBI artifacts, ServiceMix 
provides a powerful maven based tooling which can package all the JBI artifacts 
and generate their JBI descriptors automatically.  To ease the development 
more, we provide maven archetypes for JBI components and service units: 
archetypes are templates that can generate a project in one command line (see 
<A href="../SM/notes-on-creating-jbi-component-using-maven2.html" title="Notes 
on Creating JBI Component using maven2">Notes on Creating JBI Component using 
maven2</A>).</P>
 
 <P><A href="#5.JBI-top" title="top on 5. JBI">top</A></P>
 
@@ -349,7 +336,6 @@
 </UL>
 
 
-
 <P><A href="#5.JBI-top" title="top on 5. JBI">top</A></P>
 <STYLE type="text/css">/*<![CDATA[*/
 table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 
3px;margin: 0px;background-color: #f0f0f0}
@@ -359,7 +345,7 @@
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 
16px;border: none;}
 
-/*]]>*/</STYLE><DIV class="Scrollbar"><TABLE class="ScrollbarTable"><TR><TD 
class="ScrollbarPrevIcon"><A href="4-examples.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/back_16.gif"; 
width="16" height="16"></A></TD><TD width="33%" class="ScrollbarPrevName"><A 
href="4-examples.html">4. Examples</A>&nbsp;</TD><TD width="33%" 
class="ScrollbarParent"><SUP><A href="users-guide.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/up_16.gif"; 
width="8" height="8"></A></SUP><A href="users-guide.html">User&apos;s 
Guide</A></TD><TD width="33%" 
class="ScrollbarNextName">&nbsp;</TD></TR></TABLE></DIV></DIV>
+/*]]>*/</STYLE><DIV class="Scrollbar"><TABLE class="ScrollbarTable"><TR><TD 
class="ScrollbarPrevIcon"><A href="4-examples.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/back_16.gif"; 
width="16" height="16"></A></TD><TD width="33%" class="ScrollbarPrevName"><A 
href="4-examples.html">4. Examples</A>&nbsp;</TD><TD width="33%" 
class="ScrollbarParent"><SUP><A href="users-guide.html"><IMG border="0" 
align="middle" src="http://goopen.org/confluence/images/icons/up_16.gif"; 
width="8" height="8"></A></SUP><A href="users-guide.html">User&apos;s 
Guide</A></TD><TD width="33%" class="ScrollbarNextName">&nbsp;<A 
href="components.html">Components</A></TD><TD class="ScrollbarNextIcon"><A 
href="components.html"><IMG border="0" align="middle" 
src="http://goopen.org/confluence/images/icons/forwd_16.gif"; width="16" 
height="16"></A></TD></TR></TABLE></DIV></DIV>
           </DIV>
         </TD>
       </TR>
@@ -368,9 +354,35 @@
     </DIV>
     <DIV id="site-footer">
           Added by     <A 
href="http://goopen.org/confluence/users/viewuserprofile.action?username=gnodet";>Guillaume
 Nodet</A>,
-    last edited by     <A 
href="http://goopen.org/confluence/users/viewuserprofile.action?username=gnodet";>Guillaume
 Nodet</A> on Sep 06, 2006
-                  &nbsp;(<A 
href="http://goopen.org/confluence/pages/diffpages.action?pageId=13491&originalId=13506";>view
 change</A>)
-              
+    last edited by     <A 
href="http://goopen.org/confluence/users/viewuserprofile.action?username=georg_dembowski";>Georg
 Dembowski</A> on Sep 25, 2006
+                  &nbsp;(<A 
href="http://goopen.org/confluence/pages/diffpages.action?pageId=13491&originalId=13803";>view
 change</A>)
+                      <SPAN id="show" class="inline-control-link"><A href="" 
onclick="showComment(); return false;">show comment</A></SPAN>
+        <SPAN id="hide" class="inline-control-link" style="display:none;"><A 
href="" onclick="hideComment(); return false;">hide comment</A></SPAN>
+          <DIV id="versionComment" class="noteMacro" style="display:none; 
padding: 5px;">
+      <B>Comment:</B>
+      INS link to further reading<BR>
+      <SPAN class="smalltext"><A 
href="http://goopen.org/confluence/pages/viewpreviouspageversions.action?pageId=13491";>View
 page history</A></SPAN>
+  </DIV>
+
+    <SCRIPT>
+      var show = document.getElementById('show');
+      var hide = document.getElementById('hide');
+      var versionComment = document.getElementById('versionComment');
+
+      function showComment(){
+        show.style.display = 'none';
+        hide.style.display = 'inline';
+        versionComment.style.display = 'block';
+      }
+
+      function hideComment(){
+        show.style.display = 'inline';
+        hide.style.display = 'none';
+        versionComment.style.display = 'none';
+      }
+
+    </SCRIPT>
+    
       (<A 
href="http://goopen.org/confluence/pages/editpage.action?pageId=13491";>edit 
page</A>)
     </DIV>
 


Reply via email to