More Confusing SOA Terms


In the last article I covered the term Service to death. In this one I want to go through a number of other SOA Three Letter Acronyms and terms that you may come across and for which you would like to be able to nod knowingly.

Application Server
All services eventually have to run on some sort of platform, the software container of which is called an application server. In the SOA world this is usually either a Java run time environment or a .NET run time, depending on whether you have gone the Sun/IBM Java route or the Microsoft .NET route for developing services. Note that in a mixed Java/.NET situation you will separate (and completely different) application servers.

Business Process
A defined set of business activities that represent the steps required to achieve a business objective. It includes the flow and use of information and resources. These should be high enough level to be understood by the users and managers of the process. No application logic, business rules or explicit data manipulation should be represented.

Business Process Execution Language (BPEL)
Short for Web Services Business Process Execution Language (WS-BPEL). BPEL is an OASIS standard executable language for specifying interactions with Web Services. This seems to now be the de factor standard for running business processes and providing some interoperability between Process Engines and BPM Suites. Can be hand-crafted, but more often generated from a Business Process Modelling tool.

Business Process Management (BPM)
I'm sure you have come across this in your everyday working. A generic term for mapping, modelling and running business processes, typically using BPEL. However, note that some BPM software products do not expose their runtime (i.e. no BPEL), effectively running as a 'black box'. Note than BPM is an approach (like SOA) not a product.

Business Process Modelling Notation (BPMN)
Many (but not all) process modelling tools have adopted a common descriptive language - BPMN. It describes the graphical representation of a Business Process including some the of associated meta-data, making it more powerful than a Visio or PowerPoint diagram.

Business Rules
A specific type of business service that deals exclusively with encapsulating complex decision trees with up to thousands of criteria. Typically delivered by a software product called a rules engine.

Process choreography is the ability to automate and manage business processes so that the workflow and logic decisions are made correctly. Service Orchestration allows run-time selection of the services required to fulfil the needs of the business processes or composite services requiring specific data or transformation. To be honest, these terms can be, and are, used fairly interchangeably, much to annoyance of SOA purists. However, the purists can't agree on a clear demarcation of meaning so I'd advise you to steer clear of these terms. If anyone does use one or the other, get them to clarify what they mean.

Encapsulation has specific and slightly different meanings for a number of related disciplines, such as networking, Object Orientation, and SOA. The SOA meaning is for when you reuse an existing piece of software that wasn't designed as a service, for example an old 3270 green screen. By hiding the existing interface under a 'facade' - a piece of code that looks like a service to your SOA environment, but handles the interface with the old software un such a way that it behaves as it used to - the existing software has been encapsulated by a new service that can be used as any other service.

Enterprise Service Bus (ESB)
The ESB allows run-time selection of the services required to fulfil the needs of the business processes or composite services requiring specific data or transformation. The idea is that the ESB coordinates the messaging between different Web services, based on different events and business conditions. This can help to prevent an SOA from becoming too complex and incoherent. Conversely, you may not need an ESB until you have hundreds of services. In large SOA environments, you may need several 'Federated' ESBs to co-ordinate all the services.

The portal is a fairly wide term for the presentation layer of the applications you are developing. In true SOA the portal contains no application or data logic - it purely exists to display and enter information with users. The advantage of abstracting the presentation logic to a portal is that you can add other media (cellphone, WAP, kiosk, etc.) without changing any of the underlying data and logic services. Unfortunately, many vendors have produced rich portal development environments that provide full application development facilities. For small systems this may be appropriate, but as it is not a pure presentation layer it does not fit into a pure SOA environment.

Process Engine
The Process Engine is the container in which the business process runs. It is process equivalent of the Application Server for services. Typically parsing BPEL as the executing language, it should be considered a black box, providing isolation from the physical infrastructure on which it runs, so that the processes are independent of the platform.

Representational State Transfer (REST)
REST is a web-specific network architecture that allows easier development and deployment of distributed applications, mainly using Web Services. A bit hardcore in concept, but you may come across web developers who insist on 'RESTful' development. Best to humour them, and DON'T ask them what is wrong with SOAP...

Unified Modeling Language (UML)
UML is an open method used to specify, visualise, construct and document the artifacts of an object-oriented software-intensive system under development. It is typically used in large development teams as a bridge between process models and software development. Good process modelling tools can output the information required to develop the services required to UML, so that the development team can import the information directly into their software development tools. Some developers insist of hand crafting the UML and ignoring process inputs. However, despite their claims, it cannot replace process modelling to define business processes effectively.

Web Oriented Architecture (WOA)
WOA is a style of software architecture that extends SOA to web based applications, and is sometimes considered to be a light-weight version of SOA. WOA is also aimed at maximizing the browser and server interactions by use of technologies such as REST and POX(! - don't ask...).

Web Services Description Language (WSDL)
WSDL is an XML-based language that provides a model for describing Web services. More services are now being described in WSDL so it has increasing importance in SOA developments. Again mainly the preserve of developers so you shouldn't be exposed to it. Pronounced wiz-dull.

I'll test you on these terms next time. In the meantime do bone up on them to amaze your IT friends. Well colleagues, anyway.

Author: John Moe is Head of Business Consulting at Alphacourt, and writes and presents widely on SOA and BPM. With over 25 years experience delivering application development and business transformation programmes, John has made most of the mistakes you will ever make and is keen to pass on this knowledge to help you avoid them yourself. In return he just expects undying gratitude and free drinks wherever he goes.

Like this article:
  15 members liked this article


Only registered users may post comments.

Latest Articles

What’s Hot in the World of Projects
Feb 11, 2018
Since 2009 we have enjoyed reflecting on what’s happened the previous year on projects and making predictions for the upcoming year. Here are so...

Featured Digital Library Resources 
Copyright 2006-2015 by Modern Analyst Media LLC