This book will serve the needs of several types of readers. First, for the IT manager or system architect, it does a fine job of introducing Enterprise Application Integration (EAI) as a goal for the new millennium, and the strengths of Java and XML (and message systems) to get disparate systems to share data. Then, it delves into an industrial-strength tour of XML and related standards that's aimed at the more advanced reader (relying on the notation of Extended Backus-Naur Form to show off XML, which will be familiar to those with a background in computer science). How EAI architects can model databases and message-oriented middleware (MOM) in XML is discussed. The most innovative material here demonstrates how to map Java objects into XML and, in an advanced chapter, even Java code itself. (A simple Swing program written in XML is one extremely clever example that shows how powerful XML really is.)
An important strategy here is the notion of declarative programming, in which developers model and transform different data sets between systems in XML, instead of writing procedural code. If anything, the techniques and tools can get you thinking about new levels of flexibility when it comes to data and Java used with XML. The last 200 pages include the formal W3C definitions for XML 1.0 (plus the Document Object Model (DOM)). While these sections perhaps will interest the Java/XML guru most, other reference sections on the SAX API and Java-to-XML bindings will prove immediately practical on a daily basis.
Some texts make XML easy and approachable, but few showcase the real powers of XML for data flexibility as well as this one does. Experienced Java developers who really want to master XML certainly will want a look at this intriguing and challenging book, as will knowledgeable system architects who are interested in seeing what Java and XML can offer when it comes to integrating the enterprise. --Richard Dragan
Topics covered:
Chapter
1
Enterprise Application Integration (EAI) is rapidly emerging as one of the leading initiatives for the computing industry in the early half of the new century. With the Y2K scare behind us, 2000 looks to be a year of rebirth for new computing initiatives with a strong focus on the use of technology for establishing tighter relationships with an organization's consumers and suppliers.
These relationships will be forged in many ways; for example, providing customized information for customers tailored to their specific interests and buying patterns, or including supply-chain in the automation of the overall procurement cycle. To accomplish these missions, developers are going to need a broad experience with many tools, products, operating systems, and hardware platforms. Experienced EAI development teams will include members with skills in networking, administration, project management, and software development for multiple platforms, all focused with the single goal of providing seamless integration of business systems.
The goal of EAI is not new; we have been doing it since we started distributing data away from the mainframe and onto front-end processors. However, with so much data trapped in so many different systems and data formats, companies are finding it extremely difficult and very expensive to open up and share this data with their trading partners.
Fundamentally, EAI is about developing systems that provide seamless business functionality. A key requirement for integration of systems to provide this seamless functionality is an ability to share and exchange data. Furthermore, this sharing and exchange occurs between systems that have little to no knowledge about each other's storage locations or formats.
For example, an accounting system may not have knowledge of the schema used for a sales system, thereby making it difficult for the accounting system to update sales order information after an invoice has been paid. Or, perhaps, a company needs to update its shipping and inventory systems simultaneously based upon the receipt of a new order. The data needs to be input into each of the existing systems in a manner that they understand. Due to the fact that many of these systems were departmentally chosen or developed without forethought of integrating with other departments within or external to the company, this is a significantly difficult task.1.1 - About this Book
As we already mentioned, a key requirement of EAI is moving data from one system in one particular format, transforming it to be used by one or more other systems, and delivering the data to those other systems. It includes communications, data management, and business processing under the single, umbrella task of making disparate systems work as one.
The primary purpose of this book is to discuss the techniques and methodologies for integrating systems. Secondly, this book will illustrate how to build solutions based on these methodologies using Java and XML. Throughout this book, we will address and discuss the needs of EAI and discuss how XML can be used to solve some of the more complex issues surrounding EAI. Each of these solutions will be examined in technical depth by exercising the capabilities of the Java platform.
XML and Java are clearly the two most intriguing developments of the computer industry within the last ten years. Java is a programming language and a specification for a virtual machine that can execute binary modules by compiling the programming language. It also defines a consistent set of services that is available to all Java programs. This is a significant change from applications developed using traditional third-generation programming languages, which most often do not offer a consistent set of services, such as networking, file I/O, windowing, etc.
XML, on the other hand, is a specification that allows users to define their own markup languages. No fancy tricks or computer voodoo; XML is a simple definition that was forged by a group of industry leaders that recognized the importance of a truly open and well-defined, neutral data format.
Together these two bodies of work allow users to write applications that can process dynamically structured and unstructured data anywhere on a network where there is a Java virtual machine. In addition, for those places where a Java virtual machine is not available, such as when dealing with C++ or legacy applications, XML provides a method of moving data outside of the virtual machine in a way that is highly reusable by non-Java platforms. In effect, we end up with a ubiquitous programming environment and a ubiquitous data representation.
This book is the melding of these two technologies in a way that is not often examined. True, most of the early XML parsers and tools were written in Java, but this book goes beyond processing XML using the Java programming language.
This book is about integrating disparate systems using XML with advanced Java capabilities, such as:
Java Reflection
Java Serialization
The Java Naming & Directory Interface (JNDI)
The Java Messaging Service (JMS)
Java Database Connectivity (JDBC)
When you finish this book, you will have a better understanding of how to build powerful Java applications to automate business processes, conduct electronic commerce, and share information effortlessly.1.2 - XML Basics
The Extensible Markup Language (XML) has received a lot of attention since the W3C officially blessed it in early 1998. If you ask knowledgeable people involved with the XML community about its popularity, you will get a diverse set of opinions concerning XML's quick climb to success. For example, one response would be that XML isn't really a new technology, just a new name for a subset of a proven technology called "SGML" (Standard Generalized Markup Language). The XML subset is optimized for the unmanaged heterogeneous networked environment of the Web.
The answer we like best, however, is that it is simple! HTML (Hypertext Markup Language)another derivative of SGMLwas extremely successful as the presentation language for the World Wide Web because it was simple and because most people could learn to use it with ease. That does not necessarily mean that what people created was beautiful to look at, but it conveyed information that was important to its author and that is the most important part of the Web.
XML lives because those closest to the Web soon realized that forcing users to tie their presentation to their content was defeating. The Web is about presentation, but most times, the look changes without a corresponding change in the underlying messages being presented. XML provides a way to design content such that any presentation can be applied post-authoring and the messages are preserved in reusable documents.
For some, the last paragraph has significant importance, but when we attempted to use XML for this purpose, we soon found ourselves creating a vocabulary that very closely mimicked HTML. That is, we had to include too many visual hints in the markup language to get the effect we wanted in our presentation.
Still, XML had hit a nerve with usit represented a way to encapsulate variable-length, free-form text with highly structured data under a single context. The start of real electronic knowledge-capture was ours to be had with a set of initiatives for simple processing.
Since our introduction to XML, we have put a significant amount of time and effort into analyzing this phenomenon. We know that XML is more than just a fad that became popular because it had an Internet label. The real benefit that XML provides to the industry is data interoperability. After all, we have been working on the problem of process interoperability for over ten years, but only in recent years has real data interoperability become a concern for the reasons we mentioned earlier in the introduction. Between the industry's advancement in distributed computing and the addition of XML to the toolkit, we finally had the ability to build complete solutions for exchanging and sharing data without requiring months of design and development for a single point-to-point exchange.1.3 - XML in the Business World
Before jumping into the technical end of the pool, let's take a brief moment to explore the business requirements that are driving XML's popularity and success. In this section, we will explore how XML is being used to solve complex, real-world business problems today.
Computers have been mostly helpful to companies for automating data processing and providing near instantaneous access to information about the business. We use the qualifier "near" here because it is theoretically possible, but hindered due to poor system and application designs. There is a certain instant gratification that can be brought about by the use of computers. They provide a sense of immediate feedback for any stimuli we provide themincluding bad stimuli.
Companies are just starting to realize that they will never be finished building systems to run their businesses, because business is always changing. Therefore, the syste
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
32 of 36 people found the following review helpful:
3.0 out of 5 stars
A Java whitepaper expanded into a book?,
By Steven A Wicklund (Omaha, NE United States) - See all my reviews
This review is from: Enterprise Applications Integration with XML and Java (Paperback)
Mr. Morganthal does offer up some interesting architectural concepts. The book seems to be targeted at project managers in search of ideas for sharing data between various systems by using XML and Java. But then it also goes into meticulous detail on certain topics. For example, the book covers Parsing XML to the point of explaining EBNF grammars and detailing the source code behind an implementation of W3C document model. A lot of this stuff seemed like unnecessary filler, perhaps to justify the price of the book. A third of this book is appendices of published standards!I learned a good deal from this book, so I give it 3 stars, but in the end it was missing what I really wanted, a recommended framework for building XML documents. A lot of books cover parsing XML documents, which in fact has become a fairly straightforward task. Creating an XML document from a data or object model, on the other hand, is rife with problems due to standards that are still in the midst of development. I had hoped to find an answer to this in Chapter 5, "Transforming Java Objects into XML". The book offers up the use of reflection to produce a model that looks like: <FIELD name="aString" parent="com.whatever.anObject" type="java.lang.String"> this is the value </FIELD> <FIELD name="aLong" parent = "com.whatever.anotherObject" type="long"> 1234 </FIELD> Not really the sort of model I was hoping for which might be more like: <anObject> <aString> this is the value </aString> <anotherObject> <aLong> 1234 </aLong> </anotherObject> </anObject> (Sorry for the lack of indentation, amazon seems to allow only a very few HTML tags in this window) The book's only other suggestion is to code a special function on each object that knows how to read and write its own state, which is described as "a tedious and time-consuming process". Show me an example, please! In any case, my project is continuing ahead, attempting to store business objects' state in a Document Object so that it can be read and written by a parser and I continue to seek an example of this as it seems to make a great deal of sense. I have yet to find an argument for or against it. Neither an example nor an explanation is in this book.
12 of 12 people found the following review helpful:
2.0 out of 5 stars
Not about enterprise application integration,
By
This review is from: Enterprise Applications Integration with XML and Java (Paperback)
I bought this book to learn more about enterprise application integration (I do systems integration consulting). Parts of the book were somewhat relevant, but by and large, this is an outdated Java and XML book. This book includes a primer on basic XML, and some introductory SAX and DOM examples, but at least a third of this book is useless filler like the XML spec from w3.org. Buy O'Reilly's Java and XML by Brett Mclaughlin if you want to learn about XML and Java working together - he is the author of the JDOM API, and that book is much more up to date. I'm still looking for a good Enterprise Application Integration/Middleware/data process book that explains best practices.
8 of 8 people found the following review helpful:
3.0 out of 5 stars
Lacks granularity,
By
This review is from: Enterprise Applications Integration with XML and Java (Paperback)
This is a good starter book for someone who is already familiar with java and is interested in learning simple integration techniques using XML. However, I have to agree with Annette Olson<above> that this book is not for those who live and breathe integration and are looking for better, faster, more comprehensive integration solutions. In my opinion this book provided far too much information on the basics of java and XML and not enough useful information about real world enterprise integration. The book claims to provided detailed information regarding integration into legacy applications, but after reading this book cover-to-cover, very little could be found on this subject As for the "Top 500 Reviewer"(water_monkey) I would suggest that a more comprehensive educational regimen be implemented in order to bring yourself and your pupils up to snuff. Honestly, the java in this book was quite Ho-Hum. I skimmed over most of the first 7 chapters in search of the "heart" of the book. One would think that a professor would most certainly have a strong grasp on concepts relating to the relatively simple code provided by this book. I'm sorry to discover otherwise. -john
Share your thoughts with other customers: Create your own review
|
|
Tag this product(What's this?)Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items. |