Welcome!

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
SYS-CON Events announced today that Taica will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Taica manufacturers Alpha-GEL brand silicone components and materials, which maintain outstanding performance over a wide temperature range -40C to +200C. For more information, visit http://www.taica.co.jp/english/.
SYS-CON Events announced today that SourceForge has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. SourceForge is the largest, most trusted destination for Open Source Software development, collaboration, discovery and download on the web serving over 32 million viewers, 150 million downloads and over 460,000 active development projects each and every month.
SYS-CON Events announced today that Nihon Micron will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Nihon Micron Co., Ltd. strives for technological innovation to establish high-density, high-precision processing technology for providing printed circuit board and metal mount RFID tags used for communication devices. For more inf...
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. As a result, many firms employ new business models that place enormous impor...
SYS-CON Events announced today that MIRAI Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MIRAI Inc. are IT consultants from the public sector whose mission is to solve social issues by technology and innovation and to create a meaningful future for people.
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
SYS-CON Events announced today that Dasher Technologies will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Dasher Technologies, Inc. ® is a premier IT solution provider that delivers expert technical resources along with trusted account executives to architect and deliver complete IT solutions and services to help our clients execute their goals, plans and objectives. Since 1999, we'v...
SYS-CON Events announced today that TidalScale, a leading provider of systems and services, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. TidalScale has been involved in shaping the computing landscape. They've designed, developed and deployed some of the most important and successful systems and services in the history of the computing industry - internet, Ethernet, operating s...
SYS-CON Events announced today that Massive Networks, that helps your business operate seamlessly with fast, reliable, and secure internet and network solutions, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. As a premier telecommunications provider, Massive Networks is headquartered out of Louisville, Colorado. With years of experience under their belt, their team of...
SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
Infoblox delivers Actionable Network Intelligence to enterprise, government, and service provider customers around the world. They are the industry leader in DNS, DHCP, and IP address management, the category known as DDI. We empower thousands of organizations to control and secure their networks from the core-enabling them to increase efficiency and visibility, improve customer service, and meet compliance requirements.
SYS-CON Events announced today that TidalScale will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. TidalScale is the leading provider of Software-Defined Servers that bring flexibility to modern data centers by right-sizing servers on the fly to fit any data set or workload. TidalScale’s award-winning inverse hypervisor technology combines multiple commodity servers (including their ass...
As hybrid cloud becomes the de-facto standard mode of operation for most enterprises, new challenges arise on how to efficiently and economically share data across environments. In his session at 21st Cloud Expo, Dr. Allon Cohen, VP of Product at Elastifile, will explore new techniques and best practices that help enterprise IT benefit from the advantages of hybrid cloud environments by enabling data availability for both legacy enterprise and cloud-native mission critical applications. By rev...
Join IBM November 1 at 21st Cloud Expo at the Santa Clara Convention Center in Santa Clara, CA, and learn how IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Cognitive analysis impacts today’s systems with unparalleled ability that were previously available only to manned, back-end operations. Thanks to cloud processing, IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Imagine a robot vacuum that becomes your personal assistant tha...
As popularity of the smart home is growing and continues to go mainstream, technological factors play a greater role. The IoT protocol houses the interoperability battery consumption, security, and configuration of a smart home device, and it can be difficult for companies to choose the right kind for their product. For both DIY and professionally installed smart homes, developers need to consider each of these elements for their product to be successful in the market and current smart homes.
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, will lead you through the exciting evolution of the cloud. He'll look at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering ...
SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
In a recent survey, Sumo Logic surveyed 1,500 customers who employ cloud services such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). According to the survey, a quarter of the respondents have already deployed Docker containers and nearly as many (23 percent) are employing the AWS Lambda serverless computing framework. It’s clear: serverless is here to stay. The adoption does come with some needed changes, within both application development and operations. Tha...
SYS-CON Events announced today that Avere Systems, a leading provider of enterprise storage for the hybrid cloud, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Avere delivers a more modern architectural approach to storage that doesn't require the overprovisioning of storage capacity to achieve performance, overspending on expensive storage media for inactive data or the overbui...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.