In their book
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions EIP, Gregor Hohpe and Bobby Woolf elaborate on the subject of Enterprise Application Integration using messaging. They present, discuss, and illustrate over sixty EAI design patterns. These patterns, they believe, are key patterns most designers of EAI solutions will use when building enterprise integration solutions. Most examples in EIP use raw C# and raw Java to illustrate details of EAI patterns under discussion. Most of these patterns can be implemented succinctly, elegantly, and comprehensively using tools and technologies provided in the Sun Java Composite Application Platform Suite Java CAPS.
This book is about implementing selected enterprise integration patterns, discussed in EIP, using Java CAPS as the means to building practical enterprise integration solutions. It bridges the gap between the somewhat abstract pattern language and the practical implementation details. It is designed for integration architects, solution architects, and developers who wish to quickly implement enterprise solutions with Java CAPS. It discusses how enterprise integration patterns can be implemented quickly and efficiently by leveraging the Java CAPS tools and the authors' field experience.
While this book discusses Java CAPS implementation of EIP patterns, it does not discuss the patterns in depth. It is assumed that you are already familiar with the subject and need to apply the theoretical knowledge using Java CAPS. This book is also about basics of the essential Java CAPS Suite components, based on the premise that you cannot apply patterns if you cannot effectively use the tools with which to do it. Since the complete Java CAPS offering has so many components, including ones that are not essential to integration, this book elaborates only on the basic integration tools: eGate, eInsight, eWays, and Java Message Service (JMS).
This book also provides information you may need to effectively use Java CAPS. A considerable amount of Java CAPS-related material, provided in the text, is not published anywhere else.
The accompanying CD-ROM provides over 60 detailed examples that illustrate concepts and patterns under discussion. Some examples are high level, illustrating specific points. Other examples follow a step-by-step approach. Java CAPS projects discussed and developed as examples are available for import and perusal.
How This Book is Organized
This book is divided into three sections. Section I, "Preliminaries," contains chapters that discuss integration and background Java CAPS topics, including enterprise integration styles, Java CAPS architecture, and project structure and deployment.
Section II, "Patterns Review and Application," covers most EIP patterns with discussion of Java CAPS approaches to implementing them. This section includes chapters dealing with message exchange patterns, message correlation, messaging infrastructure, message routing, message construction, message transformation, messaging endpoints, and system management patterns and concepts. While discussing Java CAPS implementation of specific patterns, relevant Java CAPS concepts and methods are also discussed. When discussing implementations of the Message Sequence pattern, for example, Java CAPS concepts of JMS serial mode concurrency, Sun SeeBeyond JMS Message Server FIFO modes, and serializing eInsight Business Processes via JMS and XA are also discussed.
Section III, "Specialized Java CAPS Topics," discusses non-pattern matters of importance like solution partitioning, subprocess and Web Services implementation, management, reusability, scalability and resilience options, and others that are not covered elsewhere. This section also covers security features of Java CAPS.
The accompanying CD-ROM contains over 60 detailed examples implementing most of the patterns and concepts under discussion as well as two complete example solutions using many of the patterns discussed and illustrated in this book. The CD-ROM also contains a detailed practical walkthrough of generation and use of cryptographic objects such as X.509 Certificates, PKCS#12 and JKS Keystores, and related matters.
About the Examples
Conventions
Java CAPS Enterprise Designer (eDesigner) is a NetBeans-based Integrated Development Environment (IDE), which developers use to design and build Java CAPS integration solutions. The vast majority of tasks can be accomplished in eDesigner by means of manipulating components represented by graphical objects, connecting graphical objects with lines, filling information in dialog boxes and property sheets, and choosing components in drop-down menus. The intention was to make development of integration solutions easy for business analysts and similar persons whose coding skills might not be up to the task in nongraphical environments. Since development of Java CAPS solutions results in production of J2EE Enterprise Applications, this graphical orientation might come as a bit of a surprise to hardcore J2EE developers used to writing raw Java and the fine-grained control they exercise through deployment descriptors and other J2EE artifacts. Be that as it may, you will find most Java Collaboration examples shown using Java source code rather than its graphical equivalent. This is principally to make the samples concise, clearly showing essential parts of each solution, and to minimize wasting space on graphics that add no particular value to the discussion. Every one of the Java Collaborations could have been shown in "Standard mode," but that would have required numerous pictures, pretty much one for each Java statement, to illustrate what just a few lines of Java code can show in just a few lines.
In contrast, the same Java Collaboration in Source Code mode is much more illuminating, as it shows all there is to know about 30 or so lines of code all at once.
Since switching between Standard mode and Source Code mode is a buttonclick away, we chose to use Source Code mode for Java Collaboration examples. eInsight Business Processes are much easier to understand when presented in the graphical view. Object icons, taken from the Business Process Modeling Notation, are quite pleasant to look at, in this author's opinion.
In contrast, working directly with BPEL4WS XML source, which is possible, is in this author's opinion bordering on cruel and unusual punishment, just as working directly with any other XML-based procedural language would be.
So, Java Collaborations are mostly shown in the Source Code mode, and eInsight Business Processes are mostly shown with the Business Rules Designer.
How you work with the tool is still up to you.