One Minute Bottom Line
|This book review is on title, Dynamic SOA and BPM: Best Practices for Business Process Management and SOA Agility by Marc Fiammante,. This book is divided into 8 chapters. The book offers best practices for SOA Agility and Business Process Management. And explains how to simplify business processes, integrate SOA and BPM for maximum business flexibility. This book is excellent reference for Architects and IT leaders managing SOA. Overall, I give it five stars.
The book begins with an approach From Simplified Integration to Dynamic Processes. Describes common pitfalls limiting the value of SOA and BPM and why full values of these services are not realized. Explains streamlined enterprise architecture for BPM and SOA. Introduction to some recognized enterprise architecture frameworks/approaches like TOGAF, eTOM, APQC, PCF, IBM Component Business Map etc. Provides overview on mapping the enterprise applications and applying decomposition to end to end processes. Talks about Dynamic patterns for staged decomposition.
IT managers and architects thrive for streamlining their Enterprise Architecture for Dynamic BPM and SOA. This book covers how enterprise technical and business agility can drive dynamic BPM and SOA.
The author describes different approaches e.g. looking at identifying the specific requirements for agility and finding possible domain decomposition.
There is a dedicated chapter on dynamicity and variability of enterprise information and different techniques on how minimize impact by delimit the variability. It also talks in depth about identifying core entity and their mapping into specific business domain. It also discusses different implementation techniques for information variability. It also talks about how to address cross domain dependencies for information model flexibility like loose coupled keys, managing keys. It covers simple techniques like XSD, name/value pairs and triplet techniques and how XSD covers inheritance. There is a section on cross-referencing in complex environments. It also covers in depth metadata approaches for information variability.
Different SOA patterns are applied for loose coupling and implementing service variability. It outlines WSDL operation patterns like One-way, Response-request, solicit-response, Notification etc and limitation of XSD and SCA not supporting polymorphism. At high level it talks about SCA specifications, service components, composites, Service Component Description Language (SDLC) and integrating component with bindings. Covers at high level, controlling components and composite behaviors like authentication, security, integrity, annotation etc. it also talks about application of REST (Representational State Transfer) and JSON in SOA at high level.
There's emphasis on how to make your end to end process Agile and there are different techniques.
It explains about modularity through process decomposition. It discuss in detail about different modeling techniques for dynamicity and realizing private processes as application components. Business rule engines play important role in adding agility to business processes. It also covers at high level import role of rule engines and different types of rule sets like simple rule, decision tables, rule rete etc. Externalizing parameters and policy based selection for target service end points simplify business process. There is a separate section on extracting routing logic from business processes. At high level, it talks about how to minimize impact on process because of indirect changes in information structure. There is a brief discussion on event driven business processes.
There is a dedicated chapter on implementing the Enterprise Expansion Joint. Reading this chapter sounded like reading more on message routing, logic flow control, transformation, different SOA/ESB design patterns like aggregation, mediation, messaging, Model view control, split/join etc.
There is a separate section on Dynamic Adoption with Enterprise Service Bus which talks about mediation flows, message flows, rules flows, dynamic routing, and note based routing, policy driven assembly etc. It also talks state management. This chapter specifically talks about different techniques available in Websphere ESB and message broker but those techniques can be applied to other messaging middleware. WS-BPEL micro flows and long running flows are also specific to IBM Websphere. There is a small section on managing granularity from mainframe with CICS service flow modeler.
As this book emphasis more on Agility and flexibility, it mentions different Tools for Dynamic SOA and BPM Process explaining how life cycle tools can help you identify and capture flexibility and not on how to model and manage software development lifecycle. It talks about modeling techniques only at high level e.g. Rational Software Architect for Webshere. There is a separate section devoted on capturing enterprise architecture models such as maps and layers which provide basis for model driven architecture. It covers modeling business and service layers, infrastructure layers and information modeling, business process execution language and process choreography.
Managing and Monitoring different elements of business processes in Dynamic BPM and SOA Environment is really important. It covers in detail business processes and service life cycle management. There is a separate section on operation management for different layers like technology, application, service etc. There are sections which provide high level overview on Dynamic business process management and securing them.
In conclusion, this book is an excellent reference for managing dynamic business processes. It covers many aspects on how to simplify and streamline business processes to meet daily changes in dynamic competitive environment. The chapters are well organized with many diagrams. If you quickly scan through sections and diagrams, you get general idea on the topics. If you want to get into detail about any topic, there are End Notes at the end of the book listing all references.
If you are interested in learning specific technologies like BPEL, SOA etc, then this book is not for you. Most of the examples are specific to IBM Websphere and IBM Rational tools. Some of the topics like Rule Engine, work flow etc are touched only at high level hope author would have elaborated more.