Web Services

April 21, 2011

Web Services

When I first saw the phrase “web services” I said to myself, “this topic should be fairly simple.” Then I started researching and realized just how fast this could spiral into something much bigger than I expected. With all of the related topics and acronyms I found my next thought was “can someone explain this in plain English?” To add to the confusion, I also needed to know how web services relate to business process modeling.

Let’s start with the definition of web services. “Web services are self-contained, modular business process applications that are based on the industry standard technologies of WSDL (to describe), UDDI (to advertise and syndicate), and SOAP (to communicate). They enable users to connect different components even across organizational boundaries in a platform- and language-independent manner.” (Leymann) Right away we know what industry standards are used and for what reasons. We also get an idea of how they help organizations communicate. That’s a lot of information but the simplest definition is as follows: “A web service is a method of communication between two electronic devices over a network”. (Wikipedia) So, how does that relate to business processes modeling?

In order to relate the two you must introduce Extensible Markup Language (XML) execution languages that are focused on web services such as BPEL4WS. “The key element of such languages is that they are optimized for the operation and interpretation of [Business Process Modeling] Systems.” (Minoli) The drawback of BPEL4WS is that it still doesn’t sound like plain English to the business people that need it most. This is where the Business Process Modeling Notation (BPMN) enters the scene. “This specification provides a graphical notation for expressing business processes in a Business Process Diagram (BPD).” (Minoli) In other words, BPMN is used to paint a picture for business people (and others that aren’t technically savvy) so they can understand and use web services as computer systems do.

So we know what web services are. We also know what is needed for business people to better understand them. Now the question is how do web services work? Like most architectures, web services are “built from layers of technology and standards on which services can be implemented and deployed”. (O’Riordan) David O’Riordan offers a straight forward, high level description of these layers:

· Packaging/Transport – This enables information to be packaged into messages and transported reliably and securely between participants. It is sometimes just called the messaging layer.

· Service – This layer describes the operational interfaces of a Web Service.

· Quality of Service – This layer describes non-operational aspects of services, including reliability and security characteristics.

· Orchestration – This layer describes how services interact with each other in business processes using workflow descriptions. This layer is also sometimes referred to as the choreography layer.

· Agreements – This layer describes how specific trading partners will collaborate to perform some shared business process.

Not only was I in favor of these descriptions for their comprehensible information but also the fact that they are easily related to business processes.

All of that information is great but still isn’t worth anything if you don’t know when to use web services. So my final question is when are web services useful? Because they are so popular, web services can seem like the “magic pill” that will solve any communication issue within a business. There are, however, some optimal times in which web services are recommended. First and foremost, “web services support heterogeneous integration”. (Manes) In other words, applications in environments that normally can’t communicate with each other can do so through web services. That’s great if you know what you’re getting into and even better when “you have little knowledge of or control over the client applications that will be used”. (Manes) Other web services applications discussed by Anne Thomas Manes are point-to-point integration, consolidated views, managing legacy assets, and reducing duplicative applications. All of which lead to more productive and efficient business.

With this overview of web services, I hope some of the potential confusion is cleared up a bit. True, there are a number of definitions, acronyms, and applications but at the end of the day web services are powerful tools that improve the communication of business processes and clarify business process models internally and externally. Web services essentially act as an interpreter for business processes and I hope that I have been somewhat of an interpreter of web services for you.