95-843 Service Oriented Architecture Homework 2 Due Wednesday, November 3, 2010 JBoss Exploration In this homework you will explore the samples that are provided with the JBoss Enterprise Service Bus (JBossESB). Download and unzip the JBoss ESB from http://jboss.org/jbossesb. Read the documentation to the extent that you are able to get the JBossesb quickstarts running. Your main task is to report to me on your success or failure. If you are successful your homework 2 submission will consist of a single text file with your name and a list of those samples that you were able to run. Dumps from your console screens are encouraged. English descriptions (in your own words) of what is going on in the samples are also highly valued. Post your results to Blackboard. Quality of submissions will be valued more highly than quantity. In other words, if you report that you were able to make various modifications to the source code of services and explain the services well, that will be more highly valued than simply reporting that you were able to run all of the services. If you run into difficulty let me know immediately. I will either help you through the difficulty or grant you an exemption from this work. Depending on how far you have gotten and how much time remains, the exemption may include a less technical assignment related to ESB's. Below are some notes that I have compiled on the JBoss ESB. Notes from the JBOSS ESB Programer's Guide ========================================== What is an ESB - Next generation of EAI - Business logic left to higher levels - It's about infrastructure logic - Needed when we map abstract SOA to a concrete implementation To ensure loose coupling - Use one-way messages rather than request-response style - Do not expose service back-end implementation choices - use an extensible message structure so that it may be versioned over time, for backward compatibility - do not use the distributed object approach of fine grained services - One way message delivery requires that we encode return address information in the message JBOSS ESB Components - The Message Store Service A pluggable persistence service designed for audit tracking - Data Transformation Service Often clients and services will use the same vocabulary. If not, on the fly transformation is provided. JBoss uses Smooks and XSLT - Content based routing JBossESB can route messages based on arbitrarily complex rules Uses XPath and JBoss Rules (Drools) notation - Registry Service is at the heart of JBossESB services can self-publish their endpoint references (EPRs) into the Registry when they are activated, and remove them when they are taken out of service. Consumers can introspect over the Registry to determine the EPR for the right service for the work at hand. Running some of the samples: ============================ - See http://docs.jboss.org/jbossesb/docs/4.8/manuals/html/GettingStarted.html - Start server cd 95-843/JBossESB/jbossesb-server-4.8/bin sh run.sh on unix run.bat under dos mine starts in 47 seconds - open a new command shell cd 95-843/JBossESB/jbossesb-server-4.8/samples/quickstarts cd helloworld read readme.txt ant deploy ant runtest explain - Modify the source code ant compile ant deploy ant runtest explain - Run the example that goes straight to the esb with no adapter. ant sendesb - Open a new command shell on the http_gateway quickstart ant compile ant deploy with a browser visit http://localhost:8080/Quickstart_http_gateway/http/sales/a/b/c The user id is "kermit" and the password is "thefrog". Explain