Simplicity, Standards, Modularity & Integration

by Jeff Tash

What are you trying to accomplish? Do you want to lower your costs? Increase agility? Improve performance? Reduce risk? My advice for any of these is fourfold: (1) simplicity; (2) standards; (3) modularity; and (4) integration.

SIMPLICITY because everything has become far too complex. Standardization, especially when compared against the alternative -- customization -- because STANDARDS truly do decrease costs. MODULARITY because modules represent the very essence of reusability. INTEGRATION because assembling components into solutions is what IT does. Integration now exceeds 40% of the IT budget (according to IBM).

Use simplicity, standards, modularity, and integration as a guide for how to survive today’s recession -- the worst in the history of the computer industry. The pressure to reduce IT spending has never been greater. Remember, though, in the end it’s all about “survival of the fittest.” According to Charles Darwin, “It’s not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.”

A key to survival is having an “adaptive technology portfolio.” Start with infrastructure which consists of clientware, serverware, middleware, manageware and platforms. On top of infrastructure are layered applications. Applications can either be developed or purchased. Regardless, applications generate data that can be mined and analyzed for business intelligence. Applications also participate in business processes. Processes may even extend beyond the boundaries of the enterprise with links to suppliers, distributors, channels, partners, and customers.

What else do you need? Part of being adaptive and agile means being able to interoperate across multiple heterogeneous computing platforms. The best way to accomplish that is SOA -- “service oriented architecture.”

SOA is actually quite simple. All functionality is delivered through an application programming interface (API). API’s enable systems to interoperate. They do so by specifying common standard message formats and communication protocols.

With SOA, every interaction consists of a service requester and a service provider. Requests can either be synchronous or asynchronous. The former is usually referred to as a remote procedure call, or RPC. The latter is known as document-based, or messaging.

When an RPC request is sent, the requester is said to be ”blocked” as it awaits a response from the provider. It actually suspends its own execution and only resumes running upon receipt of the service provider’s reply message. With RPC, the service provider always returns a reply message back to the service requester. As a result, each RPC interaction consists of two separate one-way messages between a requester and a provider -- each traveling in opposite directions. RPC is based on what is called the “request-reply” paradigm. It’s also referred to as “client/server” and “tightly-coupled.” The problem with tightly-coupled request-reply systems is that developers often find it difficult to make changes to one side of the client/server interaction without impacting the other.

Asynchronous messaging contrasts markedly with RPC. For example, with asynchronous messaging, the service requester immediately resumes processing after firing off a document message to a service provider. Each interaction between a requester and a provider consists of a single one-way message. Asynchrounous messaging can be used for both message queuing and publish/subscribe. A message queue is based on two APIs: (1) get and (2) put. Publish/subscribe is based on producers that publish events and consumers that subscribe to events.

Asynchronous “loosely-coupled” systems require very different designs than RPC systems. But loosely-coupled systems deliver more flexibility and more scalability. They’re also perfect for occasionally-connected mobile computing.

In an SOA world, services are ubiquitous. Services get organically integrated. The results are solutions that work the way businesses work. But, to operate on a global scale requires trusted relationships and open, interoperable standards. Look to “Web services” as it matures into the premier instance of an SOA.

The increasing business competition for leadership in SOA is leading to waves of innovation. From a cost perspective, SOA is expected to lower both operational costs as well as acquisition costs. From a performance perspective, SOA is expected to deliver higher levels of availability and shortened response times. From a risk perspective, SOA promises improved support for security and continuity of business operations. From an agility perspective, SOA is expected to enable IT environments to more quickly and easily adapt to changing business requirements.

Technology portfolios and SOA will help you achieve simplicity, standards, modularity, and integration. As SOA and Web services emerge, your technology portfolio becomes increasingly important.


Jeff Tash is CEO of Flashmap Systems, Inc. (www.FlashmapSystems.com) and creator of two free interactive sites: ITscout (www.ITscout.org), provides a formal way of organizing, classifying and categorizing the multitude of products within the computer industry in a way that both technical and non-technical people can easily understand; and the Architecture Resource Repository Site (www.ITscout.org/architecture) that provides information specific to IT architecture, including descriptions of products, consultants, concept definitions, glossary terms and more.  Jeff is a Microsoft MVP Architect and an IASA Fellow.