Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Four Legs Good, Two Legs Bad?

Sticking to the basics is not a bad idea

The buzz in the industry these days is all about service-oriented architecture. One of the key benefits that this brings is loose coupling between systems, which in turn improves the agility of the overall architecture - if systems are unaware of each other's implementation details, then as things change over time the function of the IT infrastructure as a whole can be preserved without constantly having to revisit and tweak hundreds of touch points between systems, which has been a bugbear of composite systems in the past.

I have started to hear of people who, having heard the industry mantra, are starting to say (and worse, write reports saying) that for this reason, any distributed transaction is therefore necessarily a bad thing, since an atomic transaction is inherently a tightly coupled thing. After spitting some choice words in the general direction of these people, I thought of George Orwell's book Animal Farm - hence the title of the article - since that comparison made something closer to a printable article than the expletives, from which I'll spare you.

For those that haven't read Animal Farm, the plot is that the animals on a farm decide that they want self-rule and set about overthrowing the farmer and setting up a collective. Their rallying cry for this insurrection is "Four legs good, two legs bad" and duly united, the animals take over the running of the farm.

All very interesting, I hear the yawn go up, but what on earth is he rambling on about now? Well, like all mantras that get off the starting grid there is a lot of fundamental truth in the loosely coupled, coarse-grained school of design. In fact, it's not really anything new. Ever since mainframe systems were built with the screen-handling logic and the business logic in distinct modules, this has been the kind of thing considered "best practice." In fact, classical two-tier client/server systems have arguably failed to deliver the durability of the mainframe applications primarily because their construction, which usually simply involves taking database rows and plunking them onto a user interface canvas, actively discourages the coarse-grained, loosely coupled mode of design. Many, or even most, two-tier systems built in the '80s are now creaking badly at the seams, or have simply been decommissioned.

That's all well and good, but to take the leap from that to the position that absolutely anything that isn't loosely coupled is bad is foolish at best. You don't have to simply take my word for it; if this was the case, then why would the Web services pioneers (BEA among them) have taken the trouble to define the WS-Transaction specification, and moreover given it the power to propagate tightly coupled, two-phase commit transactions between multiple Web service endpoints? And even more compelling perhaps (depending on your background!), why is BEA's non-Java application server, Tuxedo - which arguably provides the original service-oriented architecture for open systems - often considered to be synonymous with xa, transactions, and two-phase commit?

The answer of course, as always, is that there are no absolutes when it comes to software design - there are many best practices that should be considered, and many design patterns to choose from. Many of these will conflict with each other. This does not mean that some are wrong and others right; it simply shows that there is no such thing as a perfect solution to a problem. But there is a set of solutions (imagine them plotted as points on some pair of axes) to the problem and some subset of these solutions will be in close proximity to the defined problem and constraints (also plotted in this same, very hard to define scale for axis).

It is this reality that yields the observation that building software is easy, but designing software well is hard. The skill is not in writing the lines of code that implement the solution (especially if the code is in a language like Java that does much to protect the innocent from a set of problems that commonly beset lower-level languages such as memory management) but in constructing an architecture from within which these lines of code can deliver against the business requirements, and allow flexibility in the face of these requirements changing over time (as they doubtless will). So, to the point: transactions are very much an architecture-level consideration (or they should be); they are a very useful tool in the architectural arsenal but a lethal weapon in the hands of someone charged with a detailed unit level implementation task.

All this (or something very similar) has led to the emergence of frameworks as the key element of reusability. In general, frameworks are bought and sold readily (application servers themselves are, after all, just runtime frameworks) but a market for business componentry is harder to detect. Frameworks encapsulate best practices in areas such as transactional behavior whilst not rigidly imposing them, in case (as is bound to happen from time to time) the default assumptions that a framework must necessarily make do not fit some corner use case.

In BEA terms, the new idea today is the BEA WebLogic Workshop runtime framework. This is the key piece of reusable value - it is positioned at a high-enough level that developers are insulated from the nitty-gritty of considerations such as transactions and empowered to write their unit-level Java code in comparative safety. The framework exhibits some sensible transactional behaviors for the common case - each Web service invocation executes in a single transaction, a process flow executes in a single transaction unless it has to wait for an external event, and so on. The really exciting potential is for the emergence of a market in business components - useful units of business functionality whose use can be orchestrated readily because all of them are relying on the same set of core assumptions in the framework, and yes... sometimes the interactions between the components will be transactional, and sometimes not.

So, back to Animal Farm. In the end the pigs assume responsibility for the farm over the mass of animals, eventually learning to walk on two legs and rewriting the slogan as "four legs good, two legs better." I'll leave you to draw your own conclusions about how that ironic twist applies to transactions, frameworks, and software design, while noting that if you slice the whole technology stack through from low-level things like a transaction manager itself embedded in the core of the application server, atop which sits the WebLogic Workshop framework, above which are layered the higher-level presentation capabilities of the portal, the process orchestration capabilities of the Integration suite, and the data aggregation capabilities of Liquid Data, you are free to choose the appropriate number of legs to suit any occasion. More next month as soon as I can undo these buckles behind my back...

More Stories By Peter Holditch

Peter Holditch is a senior presales engineer in the UK for Azul Systems. Prior to joining Azul he spent nine years at BEA systems, going from being one of their first Professional Services consultants in Europe and finishing up as a principal presales engineer. He has an R&D background (originally having worked on BEA's Tuxedo product) and his technical interests are in high-throughput transaction systems. "Of the pitch" Peter likes to brew beer, build furniture, and undertake other ludicrously ambitious projects - but (generally) not all at the same time!

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
In today's enterprise, digital transformation represents organizational change even more so than technology change, as customer preferences and behavior drive end-to-end transformation across lines of business as well as IT. To capitalize on the ubiquitous disruption driving this transformation, companies must be able to innovate at an increasingly rapid pace.
Predicting the future has never been more challenging - not because of the lack of data but because of the flood of ungoverned and risk laden information. Microsoft states that 2.5 exabytes of data are created every day. Expectations and reliance on data are being pushed to the limits, as demands around hybrid options continue to grow.
"MobiDev is a Ukraine-based software development company. We do mobile development, and we're specialists in that. But we do full stack software development for entrepreneurs, for emerging companies, and for enterprise ventures," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...