JBoss ESB Beginner’s Guide

JBoss ESB Beginner’s Guide
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Develop your own service-based applications, from simple deployments through to complex legacy integrations
  • Learn how services can communicate with each other and the benefits to be gained from loose coupling
  • Contains clear, practical instructions for service development, highlighted through the use of numerous working examples

Book Details

Language : English
Paperback : 320 pages [ 235mm x 191mm ]
Release Date : January 2012
ISBN : 1849516588
ISBN 13 : 9781849516587
Author(s) : Len DiMaggio, Kevin Conner, Magesh Kumar B, Tom Cunningham
Topics and Technologies : All Books, Enterprise Products and Platforms, Beginner's Guides, JBoss, Open Source

Table of Contents

Prologue—the need for an ESB
Chapter 1: Getting Started
Chapter 2: Deploying your Services to the ESB
Chapter 3: Understanding Services
Chapter 4: JBoss ESB Service Actions
Chapter 5: Message Delivery on the Service Bus
Chapter 6: Gateways and Integrating with External Clients
Chapter 7: How ESB Uses the Registry to Keep Track of Services
Chapter 8: Integrating Web Services with ESB
Appendix A: Where to go Next with JBoss ESB?
Appendix B: Pop-quiz Answers
  • Preface
    • What is "JBoss"?
      • JBoss is also a community
    • What is Open Source and what are its advantages?
    • What is middleware?
    • What is an SOA? What is an ESB?
    • What is JBoss ESB?
    • What capabilities does JBoss ESB have?
    • Why JBoss ESB?
    • What is JBoss ESB's relationship with SOA?
    • What resources does the JBoss ESB community provide?
      • Online forums with a difference
        • The user forum
        • The developer forum
      • Other useful documents
      • Mailing lists
      • JIRA announcements and bugs
      • Live chat
    • What are the JBoss project and product models?
    • What this book covers
    • Chapter bibliography
    • Chapter 1: Getting Started
      • Downloading JBoss ESB
      • Downloading and installing an application server
      • Time for action – downloading and installing JBoss AS
      • Choosing which JBoss ESB distribution is right for you
      • Time for action – downloading and installing jbossesb-4.10.zip
        • Reviewing the contents of jbossesb-4.10.zip
      • Time for action – deploying JBoss ESB to JBoss AS
      • Keeping things slim
      • Time for action – modifying a profile
        • Deployable Java archives
      • Testing the installation
      • Time for action – testing the installation
      • Looking at logs
        • Finding the logs
      • Time for action – viewing the deployment of an application in the server.log
      • Consoles
      • Time for action – examining an MBean
      • What do you do if you see an error?
      • Summary
      • Chapter 2: Deploying your Services to the ESB
        • The quickstarts
        • Anatomy of a deployment
          • Defining the providers, services, and listeners
          • Other deployment files
          • Helloworld quickstart
        • Time for action – deploying the quickstart
        • Deploying a JBoss ESB archive remotely
        • Time for action – accessing the admin console
        • Time for action – performing the deployment
        • Introduction to JBDS
        • Time for action – downloading JBDS
        • Time for action – installing JBDS
        • Running JBDS
        • Time for action – setting up the ESB runtime in JBDS
        • Time for action – using JBDS to run the quickstart
        • Deploying the quickstart in JBDS
        • Time for action – deploying the quickstart
        • Summary
        • Chapter 3: Understanding Services
          • Preparing JBoss Developer Studio
          • Time for action – opening the Chapter3 app
          • Examining the structure of ESB messages
            • Examining the message
          • Time for action – printing the message structure
            • Message implementations
            • The body
          • Time for action – examining the main payload
            • The header
              • Routing information
              • Message identity and correlation
              • Service action
          • Time for action – examining the header
            • The context
            • Message validation
          • Configuring through the ConfigTree
            • Configuring properties in the jboss-esb.xml file
            • Traversing the ConfigTree hierarchy
            • Accessing attributes
          • Time for action – examining configuration properties
          • Service pipeline and service invocation
            • Lifecycle methods
            • Processing methods
          • Time for action – examining exceptions
            • Dynamic methods
            • MEP (Message Exchange Pattern) and responses
            • ServiceInvoker
              • Synchronous delivery
              • Asynchronous delivery
          • Time for action – examining exceptions
          • Composite services
            • Service Chaining
            • Service Continuations
          • Transactions
          • Security context
          • Summary
          • Chapter 4: JBoss ESB Service Actions
            • Understanding actions
            • What is an action class?
            • The action chain
            • Custom actions
              • Lifecycle actions
              • JavaBean actions
              • Custom actions using annotations
                • Lifecycle annotations
                • Processing annotations
            • Out-of-the-box (OOTB) actions—how and when to use them
              • Scripting
              • Services—invoking EJBs
              • Web services/SOAP
            • Time for action – running the quickstart
              • Transformers/converters
              • Smooks message fragment processing
            • Time for action – running the quickstart
              • Routers
            • Time for action – implementing content-based routing
              • Notifiers
            • Time for action – let's see how notifiers work
              • Business Process Management
              • Drools
              • BPEL processes
            • Chapter bibliography
            • Summary
            • Chapter 5: Message Delivery on the Service Bus
              • The bus
              • Preparing JBoss Developer Studio
              • Time for action – creating File Filters
              • Time for action – opening the Chapter5 app
              • Transport providers
              • Time for action – using a File provider
                • InVM transport
                • Transactions with InVM transport
              • Time for action – testing InVM transactions
                • InVM message optimization
                • Controlling InVM message delivery
              • Time for action – using lock-step delivery
                • InVM threads
              • Time for action – increasing listener threads
              • Provider configurations
                • JMS provider
                • FTP provider
                • SQL provider
                • File provider
              • Summary
              • Chapter 6: Gateways and Integrating with External Clients
                • What is a gateway and a notifier?
                  • How do we compose messages?
                    • Simple composer example
                • Preparing JBoss Developer Studio
                • The JMS gateway
                • Time for action – using the JMS gateway
                • The File gateway
                • Time for action – using the File gateway
                • The HTTP gateway
                • Time for action – using the HTTP gateway
                  • The HTTP bus and HTTP provider
                • The Camel gateway
                • The FTP gateway
                • The UDP gateway
                • Time for action – using the UDP gateway
                • The JBoss Remoting gateway
                • Time for action – using the JBR gateway
                • The Groovy gateway
                • The SQL gateway
                • Time for action – using the SQL gateway
                • The JCA gateway
                • Summary
                • Chapter 7: How ESB Uses the Registry to Keep Track of Services
                  • The registry—what, how, and why?
                  • UDDI—the registry's specification
                  • jUDDI—JBoss ESB's default registry
                    • Configuring jUDDI for different protocols
                    • Looking at jUDDI's database
                  • Time for action – looking at the jUDDI registry database
                  • Other supported UDDI providers
                  • Custom registry solutions
                  • End-point reference
                  • Time for action – looking at EPRs
                  • JAXR—introducing the Java API for XML registries
                  • Federation
                  • Load balancing
                  • Registry maintenance and performance
                  • Registry interceptors
                  • Monitoring
                    • Examining jUDDI query counts
                  • Time for action – querying the UDDI server
                  • Chapter bibliography
                  • Summary
                  • Chapter 8: Integrating Web Services with ESB
                    • Preparing JBoss Developer Studio
                    • Time for action – preparing the Chapter8 application
                    • Time for action – switching consoles
                    • Exporting ESB services as a web service
                    • Time for action – running the sample
                      • Action implementation
                      • Securing EBWS
                    • Time for action – securing the sample
                      • Other security mechanisms
                    • ESB web service client
                      • soapUI client
                    • Time for action – ESB SOAP client
                      • Request processing
                      • Response processing
                    • The Wise SOAPClient
                  • Time for action – Incorporating the Wise SOAP Client
                    • Request and response processing
                    • Custom handlers
                  • Co-located web services
                    • SOAPProcessor
                  • Time for action – incorporating a SOAPProcessor client
                  • Web service proxies
                    • SOAPProxy
                  • Time for action – incorporating SOAPProxy into the application
                  • Tweaking HttpClient
                    • SOAPClient
                    • SOAPProxy
                    • Sample properties
                    • Custom configurator
                  • SOAPProxy security pass through
                    • Cleaning up deployments
                  • Time for action – SOAPProxy security pass through
                  • Summary
                    • Appendix A: Where to go Next with JBoss ESB?
                      • Creating service definitions with the JBDS ESB editor
                      • Using other UDDI providers (HP Systinet and SOA Software Service Manager)
                      • Using other JBoss project technologies
                        • JBoss Drools and rules-based services
                        • JBoss Riftsaw and BPEL services
                        • JBoss jBPM and Business Process Management
                      • Using Maven with JBoss ESB
                        • Compiling with Maven
                        • ESB packaging with Maven
                      • How to test your ESB services
                        • Testing a single action
                        • AbstractTestRunner
                        • TestMessageStore
                        • Arquillian
                        • Cargo
                      • Chapter bibliography

                      Len DiMaggio

                      Len DiMaggio stumbled into computer programming at business school and has never looked back. He considers himself very lucky to have always worked with and for fun and interesting people during his over two decades tracking elusive software bugs. One of his earliest work experiences was accompanying his first manager on long walks to collect blunt instruments to be used to “break in” new technical user documents. Len has worked for some of the better known pioneering technical companies such as DEC, BBN, GTE, Rational, IBM and now JBoss by Red Hat. Len is the software test team lead for the open source JBoss Service Oriented Architecture Platform (SOAP) which is built on Jboss ESB. This is Len's first book. He is a “Most Valuable Blogger” at Dzone where he is a frequent contributor. Len has also written over 50 articles for Dzone, Red Hat Magazine, Dr. Dobbs' Journal and other publications. Len writes a blog that is (mostly) dedicated to software testing subjects (http://swqetesting.blogspot.com/), is a proud member of the JBoss community (http://community.jboss.org/people/ldimaggio) and, when he is not testing software, is a frequent contributor to Fotopedia.

                      Kevin Conner

                      Kevin is the Platform Architect for the SOA platform within JBoss, a division of Red Hat. After graduating from Newcastle University Kevin worked as a kernel programmer with Integrated Micro Products, developing fault tolerant network drivers. IMP were later acquired by Sun Microsystems where he was to discover Java. He has over fifteen years experience of Java, predominately Enterprise technologies, which he has used to develop software for technical, financial and local government clients. Before joining JBoss he was a Senior Engineer with Arjuna Technologies, working on the transaction products.

                      Magesh Kumar B

                      Magesh Kumar B. is a Senior Software Engineer at JBoss a division of Red Hat. He has a Masters in Computer Applications from Coimbatore Institute of Technology. His passion is coding in Java and he has architected many enterprise applications prior to Red Hat. His project contributions include JBoss WS and JBoss Portal. His current projects are JBoss ESB and SwitchYard. He hails from Ooty and lives in Bangalore, India with his wife, three kids and his parents. You can reach him at mageshbk@gmail.com. This is his first book.

                      Tom Cunningham

                      Tom Cunningham is currently the project lead for JBossESB and has worked for Red Hat since 2007 on JBoss ESB and SwitchYard. Tom is an active committer on the Apache jUDDI and Apache Scout projects. Tom received a B.S. in Computer Science from Georgetown University and a M.S. in Computer Science from Arizona State University and has worked in software development for over 14 years. I'd like to thank my sons Ben and Nate, my wife Sonia, and my parents for their support in writing this book.
                      Sorry, we don't have any reviews for this title yet.

                      Code Downloads

                      Download the code and support files for this book.

                      Submit Errata

                      Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                      Sample chapters

                      You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                      Frequently bought together

                      JBoss ESB Beginner’s Guide +    Alfresco Enterprise Content Management Implementation =
                      50% Off
                      the second eBook
                      Price for both: $33.00

                      Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                      What you will learn from this book

                      • Install, configure, administer, start and stop the JBoss Application Server (AS) and then deploy JBoss ESB onto JBoss AS.
                      • Run the JBoss ESB example “quickstart” sample applications, so that you understand the applications’ output, and how to debug the JBoss ESB application failures
                      • Build custom JBoss ESB applications with JBoss ESB’s out-of-the-box actions or your own action code
                      • Use a service registry to provide access to your services and store and access your metadata
                      • Integrate your custom application with other applications through the protocols supported by JBoss ESB gateway listeners
                      • See how the behavior of services can alter through content-based routing and message transformation
                      • Use other JBoss open source projects such as the JBoss AS and JBDS with JBoss ESB to create, deploy, and administer services
                      • Integrate existing web services with your applications’ services over JBoss ESB


                      In Detail

                      You may often have wondered if there is a better way to integrate disparate applications than error-prone "glue code". JBoss ESB is just that solution as it can help solve common but difficult problems: writing new code that can be re-used and maintained, and integrating together new and old systems. JBoss ESB takes care of routing and processing service requests, leaving you to concentrate on your system's design and development.

                      The JBoss ESB Beginner’s Guide gets you up and running quickly with JBoss ESB to build your own service-based applications, with enhanced communication and organization. You will learn how to create new applications or to integrate combinations of new and legacy applications. Detailed examples get you creating your own services, and deploying and administering them with other JBoss Open Source tools.

                      Through hands-on examples, this book shows you how JBoss ESB enables you to design your system as services that are loosely coupled together by sending and receiving messages. Your services can execute your own custom code, or make use of JBoss ESB’s extensive set of out-of-the-box actions to perform specific tasks. The JBoss ESB Beginner’s Guide shows you the tools you can use to build re-usable and maintainable service-based applications with JBoss ESB, and teaches you by example how to use these tools.


                      Part of Packt’s Beginner’s Guide series, each chapter contains practical examples with step-by-step instructions and plenty of screenshots to guide you through the implementation of JBoss ESB.

                      Who this book is for

                      This book is intended for Java programmers although you don’t need previous experience with middleware such as application servers or ESBs.

                      Code Download and Errata
                      Packt Anytime, Anywhere
                      Register Books
                      Print Upgrades
                      eBook Downloads
                      Video Support
                      Contact Us
                      Awards Voting Nominations Previous Winners
                      Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                      Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software