About the Author
Michael has written a number of technical whitepapers on various topics for ICAN and Java CAPS, addressing, among others, Java CAPS security configuration, WS-Security implementation in Java CAPS, and application of EAI patterns to Java CAPS solutions. He is a Java CAPS Apostle, an active contributor to Java CAPS communities and forums, and a presenter at various industry conferences.
Sebastian Krueger started working on EAI software with SeeBeyond ICAN 5.0.5 in late 2005 and has since worked on all Sun Java CAPS eGate, eInsight, and eXchange product components, as well as on JMS Grid.
Initially providing Java CAPS consulting services to the New Zealand market, he now works for the Inland Revenue Department of New Zealand, where he is a senior analyst programmer.
Sebastian is a Sun-Certified Java Programmer and an LPI-Certified Linux Professional.
Brendan Marry has over 10 years of experience in IT and is currently an integration solutions architect for Sun Microsystems in Auckland, New Zealand, responsible for the design and delivery of enterprise integration architectures using Java CAPS.
He has over 4 years of experience at Sun, specifically around the Sun Java CAPS. Brendan worked in the Java Mobile space and Java Enterprise space in Europe before immigrating to New Zealand and joining Sun. He enjoys providing project management and solution architectural advice, vision, and guidance to his clients using the Java CAPS products.
Saurabh Sahai has over 13 years of experience in IT, developing enterprise-class middleware software and commercial solutions for major software vendors. Over the past 4 years, he has worked as an integration architect within the Sun SOA/EAI professional service practice, where he is responsible for the architecture and delivery of advanced Sun Java CAPS–based solutions to major commercial and government clients within Australia and New Zealand. Prior to Sun Microsystems, he worked for about 9 years as a J2EE/middleware architect for Fujitsu Australia Software Technologies, developing Java/J2EE/ C++–based middleware software for Fujitsu’s INTERSTAGE enterprise product set. He has extensive experience developing commercial J2EE applications using major application servers and open-source frameworks.
Saurabh is based in Sydney, Australia, and loves listening to jazz in his spare time.
Peter Vaneris has 19 years of experience in the IT industry, the last 2 in the field of Java CAPS support. Prior to working with Java CAPS, Peter specialized in system administration, monitoring, automation, and enterprise management.
Andrew Walker has 18 years of experience in IT and originally joined SeeBeyond in January 1999, where he started working with one of the early EAI software products, then known as DataGate. Subsequently, he has worked with all the EAI software products released by SeeBeyond and now Sun Microsystems. Andrew has broad experience in architecting and implementing EAI and SOA solutions for customers in the Asia–Pacific region. He is currently based in Singapore and provides Java CAPS consulting services throughout the Asia–Pacific region as part of his job role in Sun Microsystems Professional Services.
Excerpt. © Reprinted by permission. All rights reserved.
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
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.