Linkedn: Is there more to modern application architecture than SOA? How do we include BPM, data management and Web 2.0?

<discussion ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=36604&discussionID=7512884&commentID=7157050&goback=.anh_36604#commentID_7157050" />

The business world understood a long time ago that services and processes are the backbones of most enterprise business systems.

A service is defined as "an explicitly-defined and operationally-independent unit of functionality". A process is defined as "an explicitly-defined coordination of services to create a particular result". So, at a process-centric enterprise we may have many elementary nano-services which are organised into a mega-service, i.e. the whole enterprise.

Services and processes are related in the following way:
- all our processes are services,
- some operations of a service can be implemented as a process, and
- a process includes services in its implementation.

Often, it may be useful to consider a service as a black box where no information about its implementation is available. Alternatively, it may be useful to consider a service as a white box where implementation details of all its operations are available.

Although the relationships between processes and services are unique and rather complex in each enterprise, the use of explicit definitions allows the formalisation of dependencies between them.

If we look at BPM then we can see three different concepts:

1. BPM discipline which allows you to model, automate, execute, control, measure and optimise the flow of business activities that span the enterprise’s systems, employees, customers and partners within and beyond the enterprise boundaries

2. BPM system -- enterprise portfolio of the business processes as well as the practices and tools for governing the design, execution and evolution of this portfolio

3. BPM suite -- coherent set of software tools for facilitating the implementation of a BPM system

At the same time, SOA -- architectural approach for constructing software-intensive systems from a set of universally interconnected and interdependent services

The relationships are between SOA and BPM are:
SOA provides recommendations for the implementation, execution and governance of services. The BPM discipline, by revealing the BPM artefacts and the relationships between them, provides the necessary context (e.g. granularity) for the definition of services. Ideally, a BPM system is built with the use of SOA and a BPM suite often acts as a tool to provide composite services.

Business processes are VERY important because they serve as an EXPLICIT implementation of some services thus allowing determine/calculate the performance of those services. So, the capabilities of those services are known, proven and controllable – what the business wants.

In addition, the proper design of business processes and architecting BPM system can add a lot of flexibility into a business system.


No comments: