About the book...

(Re-post from my old blog...)

I' ve had a few emails recently asking about the book and wanting to find out some more information before laying down the money to purchase it.   Given the 'one liner' we have on Amazon about it, I think this is a fair comment, so thought I would dedicate some time here about it...

One of the reasons I wrote the book was to show the reality of interoperability today between .NET and J2EE.  Sure, the direction of Web services and XML is promoting a glowing future of transparent interoperability between the two, but the reality of plugging together the two platforms today can be somewhat different.  In addition I also wanted to cover and expose some interoperability techniques where Web services don't have a natural fit today - such as communication using .NET Remoting, a shared database, using message queues and other approaches.

So, the book itself is divided into four parts:

Part 1 looks at some of the fundamentals of interoperability - this includes many of the customer requirements for interoperability today, outlines some of the challenges and concentrates on the principles of sharing data between the two.  At the end of Part 1 I look at XML's role in achieving interoperability and cover the pros and cons of parsing vs. serialization between the .NET Framework and J2SE.

Part 2 covers what I call  point to point interoperability - that is where you have a component in .NET (for example an ASP.NET page) that needs to call a component in J2EE (e.g. an EJB) in a synchronous, request-response type call.  Typically, these types of scenarios are used where you are integrating new presentation or business tier logic into an existing application.  Part 2 looks at two approaches that can be taken to connect the two using both .NET Remoting and Web Services.  The chapters weigh the advantages and disadvantages of each, as well as covering  production worthy approaches as opposed to just showing a ' hello world' sample.

Part 3 covers the area of asynchronous interoperability - this part shows some of the approaches and techniques that can be used to perform asynchronous interoperability between the two platforms.  This includes setting up a shared database (and more importantly some of the DAO patterns and recommendations for doing this), using MSMQ to bridge the two, using IBM' s WebSphere MQ (formerly MQ Series) to connect the two together, using BizTalk Server 2004 and Microsoft' s Host Integration Server 2000.  I personally feel that the WebSphere MQ chapter was important to include - and hopefully promotes the neutral approach that I tried to take despite this being a book from Microsoft Press.  The entire chapter covers setting up WebSphere MQ on a J2EE application server (I selected JBoss 3.0.7 for the book to avoid an affliation with any particular J2EE application server vendor and so that reader can try the samples without laying out any $), creating some MDBs (Message Driven Beans) that in turn are responsible for invoking .NET components upon incoming messages to the queue.  It was an interesting chapter to write, and an approach that I know a number of organizations are using today.

Part 4 concludes the book with advanced interoperability - which starts with a chapter on presentation tier interoperability.  This one demonstrates the advantages of sharing both session state and authentication information in a dual JSP and ASP.NET environment.  The driver behind this was to appeal to readers who have a large investment in JSP and want to integrate ASP.NET pages - but do this a few pages at a time (as rewriting a complete web site can be pretty expensive).  Obviously, one of the issues here is that although you can present ASP.NET pages and controls within a JSP environment, the sharing of session data and authentication becomes a little more complicated.  Also in Chapter 4 I cover some of the emerging standards in the new Web services space - namely WS-Security, WS-Routing and WS-Attachments.  For each of these we have a chapter that not only covers the specification, but also shows real samples of these working today.

The book also ships with a CD that contains samples for *each* technical chapter in the book.  I know that many people (just as I do) learn most from trying out sample code instead of reading through tomes of documentation, so I felt this was especially important to include.  The CD also contains versions of the GLUE Web services toolkit from The Mind Electric (now webMethods) and Ja.NET from Intrinsyc - both to make sure that you can get the samples up and running with the minimum of effort.

So, that' s the run-down and I hope this has answered some of the questions that I' ve been receiving.  I' m more than happy to take individual questions about the book (either before of after you' ve purchased it :).