|
Part 1: SOA
developer skills announcement
Part 2 (this part):
Business process modeling
Many organizations start their SOA
initiative with business process analysis. Focusing on business first allows IT
architecture to be derived from the business and, allows better alignment
between IT and business. Analyzing business process provides an opportunity to
optimize the business process and evaluate the impact of a business change on
IT.
Like you model software as a software
designer, you model business processes as a process modeler. In addition to
simply modeling business processes, you may also be called upon to simulate
business processes and create reports of simulation results. You may be asked
to derive IT architecture from the business model. For example, as an architect,
you may decide that certain parts of the business process will continue to run
in mainframe, others will be implemented using J2EE platform and yet others
will be implemented by calling a third party service. You may also have to
survey the existing IT systems and find out which parts of business process are
already implemented within the organization. You may have to analyze the
process for inefficiencies and suggest optimizations to achieve specific
business goals (e.g. reduce cost).
To analyze a business processes, you have
to model them. Business process modeling has been standardized using Business Process Modeling Notations
(BPMN) specification available here.
The BPMN notation is to business process what UML is to software. And like UML,
BPMN is owned by Object Management Group (OMG)
group. Like UML (but fewer), tools are available to model business processes,
some use BPMN notation and some don't. Tools that use BPMN are eclipse plugin as part of SOA Tools Project (STP), Intalio Designer, and Microsoft Visio BPMN
stencil. Commercial tools such as BEA AquaLogic® BPM
Designer
also support BPMN.
Tools that don't use BPMN notation but
still provide modeling capabilities are IBM WebSphere
Business Modeler (WBM). Oracle does not use BPMN in its BPM designer but
makes a Visio
stencil with Oracle support available through its partner. Netbeans does not
seem to use BPMN notation in its designer.
A UML model is typically turned into
executable code (e.g. Java). Similarly, a business process model is turned into
executable code called BPEL and deployed in an execution environment. The
executable version of the process must follow WS-BPEL
specification. In other words, like Java and UML are different specifications
but Java is typically generated from UML, WS-BPEL and BPMN are different
specifications and it is often expected that WS-BPEL will be generated from the
business process model. As of this writing, Visio stencil (obviously) and
eclipse plugin don't support export functionality but the rest of the tools do.
Even the tools that don't use BPMN notation export their business process model
as WS-BPEL.
Remember, business process modeling is as
much an art as it is science. You need to know why
you are modeling a business process, you need to ask the right questions to
the subject matter experts to extract information needed to correctly model the
process, you need to know which modeling notation to use to model a particular
business scenario and you need to decide how granular the process model should
be.
Business process modeling tutorials are
available here, here,
here, here.
|