Using .NET to make applications play together
- By Mike Gunderloy
- December 8, 2004
Enterprise Application Integration Using .NET
by Butch Clark
Addison-Wesley, 2005
482 pages, $49.99
Code in C#
You probably know the problem: there are six different systems involved in
handling a simple business process, and no easy way to make them all talk to
each other. This book offers one application integrator's perspective on how to
come up with a .NET-based solution. You might not find yourself agreeing with
Clark's approach when you get to the end of the book, but you'll probably pick
out a few nuggets that make it worth reading.
Though the content is in C#, you won't find much code in the first four
chapters. These chapters may be the strongest point of the entire book: they
give an overview of the EAI process from the standpoint of someone who's gotten
through a few projects. If you're being pushed into such a project and feel like
you're over your head, it's worth going through this part of the book for tips.
Clark hits the human side of the equation as well as the technology side,
recognizing that both are important to any successful project.
After that, he gets into the meat of the application. The architecture is
fairly simple: a Web service takes requests from any desired front end and feeds
them into a database-backed EAI framework. The framework engine looks at the XML
from the front end systems and routes it as appropriate to back end systems.
While this is an easy to understand way to put things together, it does mean
that there's pretty tight coupling between the front end and back end; I would
have liked to see the back end systems abstracted with some component that could
be used to cover the inevitable changes. But it's a reasonable compromise for a
book's worth of code.
And there certainly is a book's worth of code here. Clark works through each
component of his framework and shows large chunks of code, discussing it as he
goes along. By the time he finishes, he's built a sort of lightweight analog of
BizTalk and shown you how to extend it to handle new requests or to run new
agents; indeed, some of the most valuable content here discusses extending the
system.
Curiously, chapters on the database structure, UML, SOAP, and XML come at the
end, even though those concepts are needed in earlier chapters. You may find
yourself flipping back and forth quite a bit if you're not familiar with the
underlying technologies. I do give him major points for setting up an online repository of the book's code,
even though it doesn't appear that there's a lot going on over there yet. As an
author myself, I know how tough it is to go back to a book's subject after
finally getting the darned thing off your desk.
Overall, I think this is worth reading if you're looking to integrate legacy
systems within a .NET-based framework. The author is the first to admit that the
code he's giving away isn't a fullblown production system, but if it inspires
you to design a robust implementation for your own needs, then its purpose has
been met.
About the Author
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.