Author: gertv
Date: Thu Dec  1 22:46:40 2011
New Revision: 1209288

URL: http://svn.apache.org/viewvc?rev=1209288&view=rev
Log:
SMX4-616: User guide - introduction and architecture (thanks to Marcelo Jabali)

Modified:
    
servicemix/documentation/trunk/src/main/webapp/users-guide/getting-started/what-is-smx4.conf

Modified: 
servicemix/documentation/trunk/src/main/webapp/users-guide/getting-started/what-is-smx4.conf
URL: 
http://svn.apache.org/viewvc/servicemix/documentation/trunk/src/main/webapp/users-guide/getting-started/what-is-smx4.conf?rev=1209288&r1=1209287&r2=1209288&view=diff
==============================================================================
--- 
servicemix/documentation/trunk/src/main/webapp/users-guide/getting-started/what-is-smx4.conf
 (original)
+++ 
servicemix/documentation/trunk/src/main/webapp/users-guide/getting-started/what-is-smx4.conf
 Thu Dec  1 22:46:40 2011
@@ -25,49 +25,75 @@ ServiceMix also provides a simple to use
 ServiceMix includes many JBI components including HTTP, JMX, CXF, BPEL, etc.
 
 h3. OSGi for Dummies
-// TODO: write this bit
+[OSGi technology|http://www.osgi.org/About/Technology] is the dynamic module 
system for [Java|http://www.oracle.com/technetwork/java/index.html]. The OSGi 
Service Platform provides functionality to Java that makes Java the premier 
environment for software integration and thus for development. Java provides 
the portability that is required to support products on many different 
platforms. The OSGi technology provides the standardized primitives that allow 
applications to be constructed from small, reusable and collaborative 
components. These components can be composed into an application and deployed.
 
-h3. Kernel of ServiceMix
-// TODO: write this bit
+The OSGi Service Platform provides the functions to change the composition 
dynamically on the device of a variety of networks, without requiring restarts. 
To minimize the coupling, as well as make these couplings managed, the OSGi 
technology provides a service-oriented architecture that enables these 
components to dynamically discover each other for collaboration. The OSGi 
Alliance has developed many standard component interfaces for common functions 
like HTTP servers, configuration, logging, security, user administration, XML 
and many more. Plug-compatible implementations of these components can be 
obtained from different vendors with different optimizations and costs. 
However, service interfaces can also be developed on a proprietary basis.
+
+OSGi technology adopters benefit from improved time-to-market and reduced 
development costs because OSGi technology provides for the integration of 
pre-built and pre-tested component subsystems. The technology also reduces 
maintenance costs and enables unique new aftermarket opportunities because 
components can be dynamically delivered to devices in the field.
+
+For more information, check out the [OSGi Alliance 
website|http://www.osgi.org/Main/HomePage]
+
+h3. Powered by Apache Karaf
+Apache ServiceMix is based on [Apache Karaf|http://karaf.apache.org/]. Apache 
Karaf is a small [OSGi-based|http://www.osgi.org/Main/HomePage] runtime which 
provides a lightweight container onto which various components and applications 
can be deployed.
+
+Here is a short list of features supported by the Karaf:
+
+Hot deployment: Karaf supports hot deployment of OSGi bundles by monitoring 
jar files inside the $home/deploy directory. Each time a jar is copied in this 
folder, it will be installed inside the runtime. You can then update or delete 
it and changes will be handled automatically. In addition, the Karaf also 
supports exploded bundles and custom deployers (blueprint and spring ones are 
included by default).
+
+Dynamic configuration: Services are usually configured through the 
ConfigurationAdmin OSGi service. Such configuration can be defined in Karaf 
using property files inside the $home/etc directory. These configurations are 
monitored and changes on the properties files will be propagated to the 
services.
+
+Logging System: using a centralized logging back end supported by Log4J, Karaf 
supports a number of different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi)
+
+Provisioning: Provisioning of libraries or applications can be done through a 
number of different ways, by which they will be downloaded locally, installed 
and started.
+
+Native OS integration: Karaf can be integrated into your own Operating System 
as a service so that the lifecycle will be bound to your Operating System.
+
+Extensible Shell console: Karaf features a nice text console where you can 
manage the services, install new applications or libraries and manage their 
state. This shell is easily extensible by deploying new commands dynamically 
along with new features or applications.
+
+Remote access: use any SSH client to connect to Karaf and issue commands in 
the console 
+
+Security framework based on JAAS
+
+Managing instances: Karaf provides simple commands for managing multiple 
instances. You can easily create, delete, start and stop instances of Karaf 
through the console.
+
+For more information, check out the [Apache Karaf project 
page|http://karaf.apache.org/]
 
 h3. JBI Container & Integration with OSGI
 // TODO: write this bit
 
-h3. Normalized Message Router</title>
-// TODO: write this bit
+h3. Normalized Message Router
+The Normalized Message Router (NMR) is a general-purpose message bus used for 
communication between bundles in the OSGi container.
+It's modeled after the Normalized Message Router (NMR) defined in the Java 
Business Integration (JBI) specification 
([http://www.jcp.org/en/jsr/detail?id=208]).
 
-h3. Camel
-// TODO: write this bit
+It can be used to transport XML messages as well as other message body types, 
optionally augumented with headers and attachments.
 
-h3. Services proposed
-// TODO: write this bit
+For more information, check out the [Using the Normalized Message Router User 
Guide|../nmr/index.html]
 
-h4. Queuing engine : Apache ActiveMq
-// TODO: write this bit
+h3. Apache Camel
+Apache Camel is a powerful open source integration framework based on known 
[Enterprise Integration 
Patterns|http://camel.apache.org/enterprise-integration-patterns.html] with 
powerful [Bean Integration|http://camel.apache.org/bean-integration.html].
 
-h4. Transaction : Geronimo Transaction Manager
+Apache Camel lets you create the [Enterprise Integration 
Patterns|http://camel.apache.org/enterprise-integration-patterns.html] to 
implement routing and mediation rules in either a Java based [Domain Specific 
Language (or Fluent API)|http://camel.apache.org/dsl.html], via [Spring based 
Xml Configuration|http://camel.apache.org/spring.html] files or via the [Scala 
DSL|http://camel.apache.org/scala-dsl.html].
+
+For more information, check out the [Using Apache Camel in ServiceMix User 
Guide|../camel/index.html].
+
+h3. Services proposed
 // TODO: write this bit
 
-h4. Routing and Mediation : Apache Camel
-An Apache ServiceMix default installation out of the box embeds an Apache 
ActiveMQ instance.
-It is a fully functional activeMQ instance listening for
+h4. Message Broker : Apache ActiveMQ
+Apache ServiceMix ships with an embedded instance of [Apache 
ActiveMQ|http://activemq.apache.org] out-of-the-box.
 
-  * TCP on port 61616
-  * STOMP on port 61613
+It is a fully functional Apache ActiveMQ message broker instance listening for 
[TCP|http://activemq.apache.org/openwire.html] connections on port 61616 and 
[STOMP|http://activemq.apache.org/stomp.html] connections on port 61613.
 
-The default configuration resides in the etc directory under your servicemix 
installation,
-the file in question is called activemq-broker.xml. It sets up reasonable 
defaults for
+The [default configuration for the Apache 
ActiveMQ|http://activemq.apache.org/xml-configuration.html] message broker 
resides in the ServiceMix installation directory under the etc sub-directory. 
The ActiveMQ configuration file is named activemq-broker.xml. It's configured 
with reasonable default information like [Persistence 
(KahaDB)|http://activemq.apache.org/persistence.html] and [Producer Flow 
Control|http://activemq.apache.org/producer-flow-control.html] (essentially to 
make sure the broker does not run out of memory).
 
-* Persistence - KahaDB
-* Producer flow control - essentially to make sure the broker does not run out 
of memory
+The configuration file also makes use of a reusable connection pool available 
to all OSGi bundles exposing a 
[javax.jms.ConnectionFactory|http://docs.oracle.com/javaee/1.4/api/javax/jms/ConnectionFactory.html]
 as a service for consumption. You can re-use this connection pool via tools 
such as [spring-dm or 
blueprint|http://activemq.apache.org/osgi-integration.html].
 
-The file also configures a reusable connection pool available to all OSGi 
bundles exposing a
-javax.jms.ConnectionFactory as a service for consumption.
+The ActiveMQ message broker allows several components such as 
servicemix-cluster, [camel-jms|http://camel.apache.org/jms.html], 
[camel-activemq|http://camel.apache.org/activemq.html], [cxf-jms 
transport|http://cxf.apache.org/docs/jms-transport.html] to be utilized without 
any additional configuration.
 
-You can re-use this connection pool via tools such as spring-dm or blueprint.
+h4. Transaction : Geronimo Transaction Manager
+// TODO: write this bit
 
-The ActiveMQ broker allows several components such as servicemix-cluster, 
camel-jms, camel-activemq,
-cxf jms transport to be utilized without any additional effort.
+h4. Routing and Mediation : Apache Camel
 
 h4. Web Services : Apache CXF
 // TODO: write this bit


Reply via email to