When you have a hammer: everything looks like a nail


As you might have seen from my recent tweets this week I had a patent issue along with my collaborator Dr. Kelly Shaw in the realm of detecting if Web Services change while a composite application is consuming them.

Working as a Software Change and Configuration Management guru means that I tend to see everything in terms of the processes behind predicting, detecting, controlling, tracking and recovering changes. At the height of the Web Services hype in 2007 Shaw and I sat down to think about the problems surrounding the shifting sand that might underpin composite apps and the web services they consume. What we discovered is that there are two distinct problems that have to be solved and so our patents cover the solution to those problems.

Problem 1: What happens when a web service that is being consumed by a composite application (composite app) changes? How does the composite app know? What are the consequences? What should be done about it?

Problem 2: When a web service is being developed and maintained over its life how can it improve the collaboration with all the composite apps that consume it every time it changes? What kind of automation can be built into development tools that would make managing this problem easy?

They say that “when all you have is a hammer: everything looks like a nail” so when Shaw and I sat down to look at these two problems we were struck by how similar they are to just plain old configuration management issues in more static context.

So we developed two patents around solving these problems which I’d like to outline here.

Solution 1: Using a technique we call fingerprinting we convert the web service’s contract into a binary token (“the fingerprint”). The consuming application, the application that makes use of the service, then makes periodic checks to see if the fingerprint they are receiving now matches the stored fingerprint.

If it does – nothing happens.

If it does not the consuming application then determines if the change is a benign change or a potentially harmful one. It does this by analyzing the type of changes in the contract. The addition of a tag or of an enumerated value in an existing tag is most certainly benign. If a tag is deleted and it is not used by our consuming application it is also benign. If a tag or enumerated value is deleted and it is one the consuming application uses it is most likely very harmful. In all cases the change is reported to the developer in form of a task to investigate and resolve.

Solution 2:

If we think about how web services are developed there comes a point in the process where the compiler reads the code and generates an executable. In our solution the we add to this step the addition of extra code that provides information about the version of the service.

We propose adding a method that the consuming application can call that asks for the version of the service.

Each time the service is compiled the version number in the code is updated. Using various automatic and parameter driven indicators the version number V, the release R or the modification M (in an V.R.M model) is updated.

Serena is interested in talking to partners who would like to license the patents as part of their own solution.

About these ads

About Kevin

In the past year Kevin has spoken at 20 conferences and seminars on a range of leading IT topics, including methodologies, business analysis, quality assurance techniques, governance, open source issues, tool interoperability, from the mainframe to distributed platforms to the web and mobile and embedded systems. He is a much sought after speaker, recognized around the world for his provocative and entertaining style. Kevin is a 30 year industry veteran, holder of three technology patents and today is VP and Chief Evangelist at leading Application Development vendor Serena Software. He started his career as a software developer and rose to lead the engineering team as VP of R&D at Serena Software, a role he held for 8 years. In the past five years he has been crossing the globe and has met with over 4,000 people. At Serena he works closely with industry analysts, the press, customers, partners and employees to exchange ideas about industry direction and business issues. Today he is leading the Value Engineering initiative at Serena bringing measurable benefits to their customers. He was born and educated in the UK and lives on a boat on the San Francisco Bay and works in Redwood City California.
This entry was posted in Business and Technology and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s