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

Related Topics: Weblogic

Weblogic: Article

How Loose is Your Coupling?

How Loose is Your Coupling?

Whatever your innermost feelings about the < and > symbols, and however fondly you remember debugging network infrastructures with nothing more than a LAN sniffer and an uncanny ability to interpret 4k blocks of hex, it is fairly safe to say that Web services are here to stay. With the industry-wide support for the concept, and corresponding legions of emerging and released standards, they aren't going anywhere soon.

One raft of Web service standards that is currently a little closer to the dock than many is that discussing the concept of cohesions, or business transactions. On this raft float such passengers as OASIS' BTP, WS-Transaction, WS-Coordination, and a few others, all of which are trying to address the notion that multiple operations can be conceptually related, even if all the operations affect different back-end systems. Or to put it another way; transactions.

Many people start to feel more than a little queasy when they think of two-phase commits flowing in glorious XML over an HTTP wire, and perhaps this isn't unreasonable - none of these elements is exactly synonymous with lightning speed and efficiency in the millisecond order of magnitude - but to have that thought and decide transactional behavior and Web services don't mix is to put the cart before the horse. The point here isn't the fancy plumbing (let's face it, from a business perspective the point is seldom fancy plumbing) but the value attached to the ability to coordinate multiple independent applications in such a way that their whole is greater than the sum of their parts. After all, if a set of linked applications is no more functional than all the same applications standing alone, the whole notion of Web services is starting to hemorrhage credibility faster than a steam-powered rocket booster in the space shuttle.

It is only a short leap from saying we need to link applications together - which Web services does, implicitly - to saying that from a business perspective we need to know how much of some composite transaction has completed (and in the limit, that we can not only say "do it!" but "undo it!" to our composite system, with some expectation that the "it" that we do and undo is a meaningful business operation with some level of assurance about all-or-nothing results, and all that other good stuff that transactions have given us for so long).

How to Design for the Web Service World
So, given that you're about to design a new application (a rare luxury in this day and age, I confess) what should you do to make sure it will play nicely in the world of Web services (and thus guarantee that it has the respectable shelf life of a useful system rather than being just another here today, gone tomorrow mirage). Much has been written about putting Web service interfaces onto systems that are coarse-grained, loosely coupled, and asynchronous. Some systems have even been engineered in ways that conform to the spirit of these commandments, rather than just some skewed version of the letter, but not much mention has been made of transactional semantics. No doubt this is in large part due to the relative immaturity of industry standards in this area. But just because an implementation of a standard isn't out there doesn't mean that there aren't a set of "right things" to do when thinking about possible future participation in a transactional context for your application. After all, loose coupling and the other mantras aren't exactly standards themselves, just best practice aspirations.

To try and arrive at another mantra, let us think about an architecture use case where some notion of transactions might be useful. Let's take an imaginary banking system. Someone hits the bank Web site, registers, and requests that an account be set up. Now, cards need to be produced, dispatched, received, and acknowledged; welcome packs need to be sent; security credentials need to be gathered; local branches need to be notified; and so on and so on. It is simple to imagine that all the systems responsible for these piece parts of the single business transaction "create new account" are independent. It is also clear that there is a complex web of relationships between them - when is the account considered to be created? When the card is acknowledged, when it's dispatched, when a credit check succeeds? The answer depends on the business rules. And let's think about the process of closing an account. The action we will need to take in this event will depend on what we have done to set it up - maybe we just failed a credit check and nothing else happened. Maybe we issued the cards, so we need to stop them, maybe... I could go on, but I might get a cramp in my typing fingers. All of this detail underlies the simple business transaction "close account."

What we are beginning to see is that each component of an aggregate system has some set of states in its life cycle - at its simplest, nonexistent, pending, active - and the composite system has a set of states that is some matrix multiplication of all the components' possible states. This complexity starts to explain why it's so easy to design and implement a "new account" process flow with a tool like BEA WebLogic Integration, but so complex to build all the correct exception-handling logic.

In essence, all the emerging choreography standards aim to do for this complexity what the transaction manager did for the complexity of applications that need to access multiple resources, each of which might fail. And like the transaction manager, implementations of the standards - as they become available - will need a set of hooks into the applications they are coordinating to allow them to move the composite application between business-meaningful states.

Yes, No, and Maybe
At a minimum, I would propose that a best practice would be to design all systems to have their operations come in threes - doItTentatively, doIt, and undoIt. And associate an externally supplied identifier of some sort with the tentative actions. That way, the composite system can put its toe into your application's water by creating a pending account (or whatever) and then allow it to be activated at some later time when the rest of the world (that loose coupling states you should not know or care about) decides that all is well (or deleted, if everything turned to dust for reasons outside your control). This clearly implies that you need to think through the semantics of pending operations from a business perspective too, which can only aid robustness.

Let's face it, with service-oriented architecture we're building communities of components, not monolithic applications. Systems architects these days are nearly as likely as computers themselves to think in binary. Try to imagine a human society where everything had an instant yes or no answer; how would negotiations happen? How many times a day do you use maybes to soften the yeses and nos that you know, ultimately, you will need to settle on when dealing with groups of people? We are building components that will interoperate like a society - they will increasingly need this kind of interface subtlety.

I claim that if you build in this kind of pattern you have a flying chance of integrating your services with others, whatever the eventual choreography standard that emerges says. In the meantime, writing compensating transactions using a process engine becomes much easier, so the pragmatists and the crystal ball gazers will all be happy.

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.

@ThingsExpo Stories
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
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.
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
As IoT continues to increase momentum, so does the associated risk. Secure Device Lifecycle Management (DLM) is ranked as one of the most important technology areas of IoT. Driving this trend is the realization that secure support for IoT devices provides companies the ability to deliver high-quality, reliable, secure offerings faster, create new revenue streams, and reduce support costs, all while building a competitive advantage in their markets. In this session, we will use customer use cases...
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.
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of bus...
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...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER give you detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPO also offers s...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
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.
The IoT Will Grow: In what might be the most obvious prediction of the decade, the IoT will continue to expand next year, with more and more devices coming online every single day. What isn’t so obvious about this prediction: where that growth will occur. The retail, healthcare, and industrial/supply chain industries will likely see the greatest growth. Forrester Research has predicted the IoT will become “the backbone” of customer value as it continues to grow. It is no surprise that retail is ...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
DXWorldEXPO LLC announced today that "Miami Blockchain Event by FinTechEXPO" has announced that its Call for Papers is now open. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Financial enterprises in New York City, London, Singapore, and other world financial capitals are embracing a new generation of smart, automated FinTech that eliminates many cumbersome, slow, and expe...
Cloud Expo | DXWorld Expo have announced the conference tracks for Cloud Expo 2018. Cloud Expo will be held June 5-7, 2018, at the Javits Center in New York City, and November 6-8, 2018, at the Santa Clara Convention Center, Santa Clara, CA. Digital Transformation (DX) is a major focus with the introduction of DX Expo within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive ov...