Getting Closer to the Business
There’s been a lot of discussion this month about the need to understand the business. It was triggered by a ZDNet article:
As technology increasingly intertwins with business operations, IT professionals can no longer rely on deep technical knowledge to progress their careers, but will have to understand how to translate IT into dollars
As developers it can be difficult for us to find a concrete, practical way to better understand the business. It seems to be an area fraught with wooly thinking and trendy fads.
One approach is to get to know the domain of your business. If it’s finance, for example, then get to know you forex from you commodity by talking to your subject matter experts and asking them to recommend some good books to read.
Another approach is to look at the processes that define the company’s business operations. From this perspective you can think of the organisation as a great big computer incorporating living beings as part of its computational matrix. Organisational hackers are trying their best to reverse engineer these large, soggy machines and they are slowly getting better at defining the languages to program them with.
This month we’re going to look at some books that document the languages for describing and implementing business processes. Learning about them can help a developer to understand, in concrete terms, how their work contributes to support business operations.
We’ll start at the high level, close to the business processes and in the realm of business analysts and enterprise architects. I’m going to talk about SOA a lot because it has finally reached the level of maturity where we have a good selection of genuinely useful books. The hipsters may have grown bored and taken a rest but there are still valuable lessons to be shared. The SOAP envelopes and XML Schemas may be replaced by HTTP Methods and JSON Objects but the need to support business processes will never go away.
Business Process Model and Notation
If you work in a large organisation you may already have come across Business Process Model and Notations (BPMN). You may have seen some examples in documents and dismissed them as the sad fails of business analysts attempting UML.
BPMN is in fact a formal notation developed by the Object Management Group for describing business processes. It is often used in SOA to describe the processes that are to be orchestrated from the services.
If your already using PBM in an Oracle environment then you might want to read Mark Nelson and Tanya Williams’ book. It looks at the theory and practice behind advanced concepts such as inter-process communications, working with arrays and handling exceptions.
If you’re still new to business processes then you may want a gentler introduction, such as our next book.
This book, by Matjaz B. Juric and Kapil Pant, describes a pragmatic approach to business process modeling using BPMN. It focuses on achieving business process optimisation using the technological platform provided by SOA. Anybody who is working in an SOA environment as a developer who would like to progress as an architect should consider reading this book.
For the developer SOA usually means Web Services, and the book also shows how to automatically map BMPN to BPEL. Let’s take a closer look at BPEL.
Business Process Execution Language
As you can see from the screenshot above, BPEL is something we can do inside our IDE. It is something real, something we can actually get on and create with. There’s even a scripting language available, so the drawings are optional.
The Business Process Execution Language is a standard for defining business processes by composing services. Matjaz B. Juric, Benny K. Mathew and Poornachandra Sarang explain what that actually means and introduce the full web services technology stack. Better than that, they show how the technology can be used to model complex business processes using both Oracle and Microsoft products.
If you’d like a grounded explanation of how the theory and practice work together then this is the book to read. If it still contains too much theory for your liking then consider our next book.
The many authors dismantle the SOA hype to provide the best practices that they have discovered on real world projects. They have managed to achieve some of the promises of the hype, such as building reliable, reusable services and handing over the definition of business processes to analysts. They have enforced business policies using a rules engine. They have tackled the dull but crucial problems of managing those services in a production environment. In this book they explain how they did it and share what they have learnt.
If you want to learn more about business processes but don’t have any time for anything that isn’t of direct practical use then this is the book to read.
Service Oriented Architecture may be useful in a large organisation, but in a smaller setting you might want to focus on just one aspect: Business Rules.
If you want to get to the heart of what the business is all about then you want to look at the policies and rules and not the processes. The authors of the BPEL Cookbook sum it up succinctly in their preface:
Organisations have processes, and processes have rules. Processes need to be automated. Rules need to be defined intuitively. BPEL automates process and a rules engine automates policies. These rules essentially drive the processes. IT organisations have so far struggled to delineate business processes from rules, leading to operational inconsistency and duplication.
If you need to provide a business focus without the overhead of full blown SOA then you might want to focus on just the policies and using a rule engine to automate them. Drools is the leading open source business rules engine and Packt’s excellent selection provide the best documentation for the product.
Michal Bali, an active member of the Drools community, guides you through the various features of Drools. He covers rules, ruleflows, decision tables and complex event processing It will get you started with Drools through practical, real world examples.
If you already know Drools and what to find the best ways to use it to solve specific problems then this is the book for you. Drools committer Lucas Amador will share his knowledge and experience starting with tips to write business rules and ending with frameworks integration to create a full business rules solution. All of the modules are covered by these recipes.