What we Learned Writing the Second Edition of the TP Book

After proofing the index last week, Phil and I are finally done with the second edition of the TP book!

A lot has changed since the first edition came out in 1997.

For one thing, the TP monitor is no longer the main product type used to construct TP  applications. Many components formerly only found within TP monitors — such as forms systems for GUIs, databases, system administration tools, and communication protocols — have evoloved to become independent products.

And although we can reasonably claim that the .NET Framework and Java EE compliant application servers are the preeminent development and production environments for TP applications, it seems as if the three-tier application architecture around which we were able to structure the first edition has evolved into a multitier architecture.

Another big change is represtented by the emergence of “scale out” designs that are replacing “scale up” designs for large Web sites. The scale out designs tend to rely on different mechanisms than the scale up designs for implementing transaction processing features and functions – the scale out designs tend to rely much more on stateless and asynchronous communications protocols, for example.

By mid-2007 I had started to think it would be interesting to center the second edition around these new scale out architectures, like those implemented by large scale Web sites such as Amazon.com, eBay, PayPal, SalesForce, BetFair, etc. Phil and I had a great opportunity to learn about what these companies were doing at HTPS in October of ’07 . Unfortunately, it was impossible to identify sufficiently common patterns to do so, since each of the large Web sites has created a different way to implement a “scale out” architecture.

(BTW this was a fascinating conference, since the room was full of people who basically created the application servers, TP monitors, and relational databases successfully used in most “scale up” style TP applications. But they had to sit there and hear, over and over again, that these products just didn’t meet the requirements of large Web sites.)

Nonetheless we managed to fit everything in the book – how caching is done, replication, how replicas synchronize, descriptions of compensating and nested transactions, locking, two-phase commit, synchronous and asynchronous communications, RESTful transactions, and so on.

As in the first edition we have kept the focus on what’s  really being used in production environments (with the help of our many generous reviewers). We completely rewrote the product information to focus on current Java and .NET products and TP standards.

And finally, we idenfity the future trends toward commodity data centers, cloud computing, solid state disk, and multi-core processors, among others, which are going to significantly impact and influence the industry during the next decade or so.

One of the most interesting things I learned about in doing the book was how to design a transaction as a RESTful resource (see RESTful Web Services for more details). But once again, many of the familiar principles and concepts still apply – such as “pseudo-conversations” that have been used in TP applications for a long time to avoid holding locks during interactions with users.

Fascinating to me are the different assumptions people make in the different worlds between the REST/HTTP “scale out” designs and the mainframe-derived “scale up” designs. This is likely to remain an area of continual evolution.

IASA NE gaining momentum – April meeting set for 23rd

After nearly a year, it is starting to look like IASA New England is starting to gain some momentum. For those of you in the area, please register here for the next meeting (April 23), at which we’ll be hearing about  Intuit’s Saas/cloud initiative from their QuickBase architect, Jim Salem.

Personally, I’m looking forward to hearing the details of their active-active load balancing…

I was sorry to have to miss the March meeting due to attending EclipseCon / OSGi DevCon, but I heard it went very well and that Hub did a great job.

At the meeting we also announced that Intuit and IBM were joining in and sponsoring the April and May meetings, respectively.  This is excellent news for the NE architect community since it means we’ll have more support and access to additional excellent speakers for the meetings.

We also announced a panel discussion on cloud computing for June, a social event for July, and a regional event for this fall.  Things are really starting to fall into place!

I’m happy about this since it will be great to have an active community of software architects in the NE area. I personally always learn something new at the meetings and have a great time discussing topics with the other members.  Hope to see you on the 23rd!

IBM/Sun Post: I Forgot About Solaris

When I wrote about IBM’s potential interest in acquiring Sun to gain control of Java, I forgot about the Solaris factor. But this was mentioned in yesterday’s Times article about the acquisition, and I have seen it mentioned other places as well.

What I forgot about was Red Hat and Linux. IBM sells a lot of Red Hat Linux. After Red Hat acquired JBoss in 2006 they began competing with IBM’s WebSphere division, which must have put strain on their partnership around Linux. IBM started hedging its bets with Novell’s SUSE Linux, but open sourcing Solaris would give IBM its own alternative to Red Hat Linux.

Add that to the potential for gaining control of Java and you have two pretty compelling reasons for IBM to acquire Sun.  Of course there are probably any number of other factors, but these strike me as the most strategic.

Starting up Modular IT Service

I wanted to get everything ready for EclipseCon / OSGi Dev Con next week, in case I could get some conversations started about OSGi adoption plans.

Of course I “prioritized” getting the Web site and email going (ok those of you who just shouted “you mean procrastinated” get 10 points 😉 and didn’t investigate what Register.com meant by including a basic Web site in the domain name registration charge.

It turns out they force you to use their Widget and designs, and limit you to a single page.  The widget is not bad, but there are some funny things.  I can’t figure out how to center the name under my photo, and when I tried to move the “blog” widget under the main text widget, the text disappeared.

One good thing though, I could include links to my blogs and to the public LinkedIn profile so I didn’t have to put too much on the page other than the purpose of the new service – which is to help organizations create strategic plans for improving product and application development, with a focus on adopting a more modular approach and using the OSGi Framework.

Hope to see you at the ‘con!

Maybe IBM wants control of Java

The hot topic of debate today is the breaking news story that IBM is in talks to acquire Sun. Dana Gardner doubts this, and a bunch of myFB and Twitter friends ask the obvious questions in their status updates: Why the heck would IBM want to do this?  

I haven’t seen anyone yet bring up the Java question.  As co-chair of the OSGi EEG and formerly 9-year employee of a Java vendor, I have seen the battles between Sun and IBM over the control of the Java langauge up close.  It has never been a pretty picture.

Recently I was asked about Jonathan Schwartz’s blog entries about Sun’s future direction and corporate strategy. The content of these entries has been subject to the usual praise and criticism, but I haven’t seen anyone talk about what’s so obviously and painfully missing – at least for someone active in the Java community and trying to push the ball forward (e.g. enterprise OSGi). Where is the talk about leading the Java community? Where is the talk about collaboration with IBM, Oracle, Progress, Tibco, and others? Where is the description of how helpful Sun is toward Apache’s Java projects (especially Harmony)?

IBM has ported many products onto the OSGi framework during the past several years, including flagship products such as WebSphere Application Server and Lotus Notes. Never mind the fragmentation in the Java community caused by the disagreement over SCA.  What about Sun’s recent announcement that they were going to reinvent Java modularity in the Open JDK project, all on their own, without input, without regard to what happens to OSGi?  What kind of potential change cost does that represent to IBM and all the other Java vendors who have ported products onto OSGi?

The potential acquisition of Sun has been debated so far mostly in terms of the business value Sun has – that is, in the context of where it is still making money, as if that were the main or only reason for an acquisition. But I say again, what about the unrealized potential for collaborative leadership in the Java community? Sun obviously isn’t paying attention to this, but  IBM might be.

IASA Meeting Postponed!

Apologies but the IASA NE meeting scheduled for tomorrow, Feb. 26 has been postponed. March 26 is the most likely new date. A formal notice of the rescheduled meeting will be available soon.

IASA NE Meeting next Thursday, Hub Vandervoort to speak

Continuing our monthly meetings for the IASA NE chapter next Thursday Feb 26 hosted by Progress Software, with Hub Vandervoort speaking on event-driven architectures. Hope to see you there.

Hub’s presentation has been well received at recent industry conferences. I’m looking forward to it. Also when I spoke with him yesterday about it we discussed the interactive format we’ve had at past IASA NE meetings, and he is definitely interested in doing Q&A/whiteboarding after the talk.

Registration, details, etc.

http://iasane.eventbrite.com/