The Problem with IT Project Management
One of the most challenging aspects of Enterprise Architecture (EA), and Service-Oriented Architecture (SOA) in particular, is that rather than address a discrete problem or set of problems in the enterprise, it attempts to address a range of interconnected and perplexing issues that have long troubled IT. Specifically, SOA approaches to EA address long-term issues of integration in environments of continued heterogeneity, application development in the face of continuous change, governance, management, and quality in environments of continuous complexity, increasing reuse and reducing redundancy across multiple IT initiatives, and organizational and methodology approaches that favor iteration over monolithic, waterfall-style approaches to development. While none of these challenges are new, and in fact, many architects have a number of tools, techniques, and approaches at their disposal to address those issues, EA attempts to address them in a holistic manner, providing a consistent approach to use in the face of continued…

Read More

WOA is Me – Another Acronym? WOA and SOA
The problem with IT: Attention Deficit Disorder (ADD). Just when one concept is finally understood and gaining traction, the pundits, marketers, and industry standards-bearers come up with a new and confusing phrase to confound us all. In this iteration of IT’s fascination with new TLAs (three-letter acronyms for the acronym-challenged), bloggers and hypesters galore are talking up the concept of Web Oriented Architecture (WOA). Given ZapThink’s distaste for old wine in new bottles, we have to ask: is there anything new in the WOA concept? And if there are new ideas, do they have any substance? More importantly, if there are indeed new ideas in the WOA concept, how do these compare and contrast to the SOA concept? What is WOA? At the time of writing this ZapFlash, there’s no Wikipedia entry page on Web Oriented Architecture, which is both a sign that there isn’t sufficient interest to create…

Read More

What does Service Performance Mean?
Over the past few years, ZapThink has participated in and observed quite a few Service-Oriented Architecture (SOA) deployments and roll-outs. While some of these deployments were more Web Services Integration than truly Service-oriented, and while some were more successful than others, the act of simply iterating the architecture and putting Services into production is forward progress for most companies. What these companies quickly realized is that creating Services and deploying infrastructure to run them is actually the easy part. Successfully getting users to consume those Services in a reliable manner, all the while supporting continuous change is the hard part. ZapThink has written numerous times about the challenges of putting Services into production with proper Governance, Quality, and Management, but in this ZapFlash, we’d like to focus on a more basic issue: that of Service performance. Just like the terms “security” and “quality”, performance…

Read More

Why Service Consumers and Service Providers Should Never Directly Communicate
Edward R. Murrow once said, “People say conversation is a lost art; how often I have wished it were.” How true it is in the vendor and media-spun world of IT and even more so in the case of SOA. Many people think they are doing or talking about Service-Oriented Architecture (SOA), but most of the time they’re really doing Web Services Integration (WSI), developing Just a Bunch of Web Services (JBOWS), or even just point-to-point XML (what many would like to call REST, but even in most cases is not even truly Representational State Transfer [REST], which is also an architectural form). Even after 8 years of evangelism, research, advisory, and deep consulting, we’re still finding a large percentage of so-called enterprise architects pursuing SOA projects as if they were point-to-point integration projects. We’ve discussed many times from an economic, technical, architectural, and philosophical…

Read More

Forget Maturity Models — It's Time for an Agility Model
Companies need to know where they stand. The desire to measure progress is especially the case with regards to IT — something that many business people regard as intangible, unpredictable, and unreliable. One way of reining in all this uncertainty is to apply industry-wide metrics and measures to enterprise IT projects. Using these measures, companies can ideally determine if they are ahead of their competition and generally moving in the right direction with regard to their IT projects. Many companies look to certain industry-wide maturity models to fill this need. However, this is exactly where most maturity models fall flat. Too often, companies flock to maturity models, such as the widely-famous (and too-often mimicked) Capability Maturity Model Integration (CMMI), without adequately understanding what they are meant to measure. Now, the point of this ZapFlash is not to explain CMMI or equate CMMI and SOA Maturity Models… they have nothing to…

Read More

MITREs Service Definition Framework (SDF) Service Contract Template
Artifact Title: Service Definition Framework (SDF) Service Contract Template Contributor: MITRE Artifact Type: Service Contract Artifact Description: This is the MITRE's Service Definition Framework (SDF) that we discuss in the LZA Boot Camp as serves as a good starting point for Service Contract metadata. We encourage you to download, discuss, and enhance! Included in this post is the MITRE SDF document specification as a PDF and a presentation that outlines its evolution and use.

Read More

The Seven Levels of Loose Coupling
When ZapThink talks about Service-Oriented Architecture (SOA), we generally try to avoid semantic arguments about what is and what isn’t SOA, but rather try to focus on specific characteristics that identify Service-oriented systems and the benefits they provide organizations that adopt the architectural approach. In particular, we like to focus on three core tenets: loose coupling of Service consumers and providers, composability at a variety of levels of granularity, and event-driven, asynchronous styles of interaction that allow for a wide range of usage scenarios. While these characteristics might seem distinct, they are in fact related to each other. The ability to compose arbitrary Services in environments of long-running transactions requires a certain measure of loose coupling. However, architects seem to grapple with the term “loose coupling”. Some erroneously think that systems are either loosely coupled or tightly coupled as if the determination of coupling is a binary evaluation. The…

Read More

SOA Implementation Best Practices
The role of SOA is to provide an architectural approach that supports an organization’s ability to support ongoing business change in the face of a heterogeneous environment. However, since SOA does not introduce a new programming language or runtime environment, organizations must implement code that underpins and exposes a Service interface somehow. Since implementation matters to computers as much as architecture matters to people, it makes sense to consider the runtime environment of the implementation to be a good place to coordinate Service interactions. When looking at the technology buying patterns in the world of SOA, there is one common thread. The influence of the larger SOA vendors is very much a force in the market today. Within this context, and given continued consolidation, confusion, and change in the SOA marketplace, organizations should make a careful evaluation of the various vendor offerings that support SOA implementations. The consolidation of…

Read More

What's NOT Killing SOA?
What’s with all the doom and gloom? In the past few months, we’ve seen a rash of ZapFlashes, articles, blog posts, and podcasts talking about the downsides of Service-Oriented Architecture (SOA), and for good reason. Any trend that demands such a significant portion of executives’ and practitioners’ time and budget demands to be critically examined so that the good of all parties are being met. After all, very few people benefit from trends that are all hype and no substance. A proper debate shows that there are not only substantive reasons in favor of some approach, but also show the causes and reasons in opposition. In the last ZapFlash, we talked about a host of reasons and the different players that are stifling SOA’s potential for success. On the flip side, over the past seven years of ZapThink’s existence, we provided numerous reasons that…

Read More