4 Replies Latest reply on Nov 1, 2012 12:57 PM by stlewis

    Want to demo the application on cloud

    sergevil

      Hello,

       

      I have created the apache camel application and deployed it on ServiceMix 4.4.2.

      The application processes the XML documents and uses ActiveMQ as a message bus between the routes. It also does some integration with the external RabbitMQ message bus.

       

      Before deployment of the application I needed to run the next commands:

       

      features:install servicemix-saxon

      features:install camel-xstream

      features:install spring-oxm

       

      install -s mvn:com.h2database/h2/1.3.168

      install -s mvn:com.ibm.icu/com.springsource.com.ibm.icu/3.4.5

      install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene/3.0.3_2

      install -s mvn:org.appdapter/ext.bundle.jena_all_264/1.0.6

      install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/1.4_3

      install -s mvn:commons-net/commons-net/3.0.1

      install -s mvn:commons-cli/commons-cli/1.2

      install -s mvn:org.apache.commons/commons-lang3/3.1

       

      install -s mvn:org.springframework.amqp/spring-amqp/1.1.2.RELEASE

      install -s mvn:com.rabbitmq/amqp-client/2.8.7

      install -s mvn:org.springframework.amqp/spring-rabbit/1.1.2.RELEASE

      install -s mvn:org.springframework.retry/spring-retry/1.0.2.RELEASE

      install -s mvn:org.glassfish/javax.jms/3.1.1

       

      The application is up and running.

       

      Now I want to have a cloud that runs the same application and uses the ActiveMQ as the message bus between the machines.

       

      Can you let me know what I should do, please?

       

      1. Should I run the Fuse Fabric server instead of ServiceMix on each machine within the cloud? Or I can have only one Fuse Fabric server and can stay with ServiceMix for the agents? In case I can live with ServiceMix for the agents, what those ServiceMix should run?

       

      2. How can I create the cloud for ActiveMQ? What are the best practices?

       

      3. How can I create the cloud for my camel application? Any resources with the examples, please?

       

      Thank you,

      Serge

        • 1. Re: Want to demo the application on cloud
          stlewis

          First thing you should do is set up a feature repository for your application that includes all the dependencies that you're currently installing manually and your own bundles and verify it's all working correctly in Fuse ESB 7.

           

          Once your satisfied I'd say create a fabric starting with the FMC distro or Fuse ESB; you should use FMC really, but I'm biased then you can create a profile that inherits from the default profile where you specify your feature repository and feature, plus any necessary configuration it requires.

           

          Then it's just a matter of creating a container using your profile, and also a container that deploys the "mq" profile, or you can assign them to the same container.  I would suggest also perhaps editing the mq-base profile, in the profile you'll see an activemq XML configuration, you may want to edit that and specify a port other than 0 so that the broker comes up on a known port.

           

          Also I'm planning on posting the example that I used in the FMC webinar up on github, I'll post a link to the forum here once I've gotten it uploaded.

          • 2. Re: Want to demo the application on cloud
            sergevil

            Thank you, Stan, Will try to follow your advice.

            • 3. Re: Want to demo the application on cloud
              sergevil

              Stan,

               

              1. Could you send me your ping demo application on my email address sergevil@gmail.com? Or provide me the link to download, if you have one, please.

               

              2. Also if I use FMC does it mean that I everything will be deployed into the FMC application? Or I can deploy it also into the FuseESBEnterprise-7.0.2?

               

              3. The last question is about why there is no "features" menu in FMC:karaf@FuseManagementConsole? Also if I run the next command "fabric:create" within the FuseESB:karaf@root, the "features" menu disappears either. Why does it happen and how can I roll it back?

               

              Thank you,

              Serge

              • 4. Re: Want to demo the application on cloud
                stlewis

                Demo is here.

                 

                You can deploy it into Fuse ESB if you like, or you can use the FMC distro.  The main difference is packaging, i.e. FMC ships with only stuff required for the FMC webapp to run and has to download everything else, the different ESB distros come with different amounts of artifacts in the system directory out of the box.

                 

                The features service is disabled once a fabric is created as fabric does not use the features service to install features, rather the fabric agent handles that, as the feature repository URLs and what features to be installed are controlled by what's in the current profile set that's assigned to a container and not that container's local configuration in the etc directory.  We're looking at having a facade set of features commands I believe for the next version so that you can browse features from the command line, in the meantime you can use FMC to view available features for a profile, go to the "Profiles" tab and click on a profile, in the profile detail view you'll be on the "Features" tab, from there you can select a feature repository in the drop-down and view available features in a given repository that way, as well as add/remove features to the profile.