home contact us September 02nd, 2010
about us [templated item]what we do[templated item]clients[templated item]Downloads[templated item]Careers[templated item]news[templated item]Blog
 
   
Categories
SSG Happenings
Industry Updates
Business Process Management
Business Intelligence
Service Oriented Architecture

3/19/2010 12:00:00 AM
SSG's Blog Has a New Address


SSG's Blog has moved to www.blog.ssglimited.com and we have new bloggers.  Come on over.
 

Melissa Womack


6/2/2009 12:00:00 AM

BPM Summary



Over the last 8 blog postings, I have discussed how implementing a Process Oriented Architecture (POA) for Business Process Management (BPM) initiatives provides organizations with the agility needed to incrementally build out business processes. Companies can make improvements over time as the business is able to digest change. Yet the organization can leverage every process automation investment because the architectural structure binds them together to work as a whole. In this last entry in the series, I will summarize how BPM – using POA – can yield excellent savings for companies in any industry. Implementing BPM without POA strategy can save companies money by improving operational efficiencies within the organization. Using POA, companies attain further savings by the way BPM is implemented.  
 
POA allows businesses to realize immediate gains from BPM while putting the company in a position to evolve and expand these processes consistently and continuously within and across an organization. Businesses look to IT to increase productivity through automated systems and also expect IT to find ways to reduce the cost to implement these systems. Implementing a POA for BPM saves companies money by reusing common process designs for different departments.
 
POA can be an enabler for many BPM implementations. The basic process is the same, but can be customized to the specific needs of departments and individuals while providing the means to scale BPM across the organization inexpensively. Without the right architecture, an organization would have BPM in silos; separate, vertical divisions with no connection, in which case BPM may prove to be cost-prohibitive.
 
BPM often starts within a department – such as Procurement or Legal where human error can cause critical delays. As organizations dive into any single process to automate it, they find that it spans across departments or communities. Automated tasks such as order entry and document approval cut across most industries. However, these applications only improve productivity for “local” or single-department business problems. The productivity for the given task was greatly improved, but it didn't solve company-wide business problems such as: Did the order make it to fulfillment? Did the offer letter get processed properly by HR? Did the final report get assembled and submitted on time with proper management oversight and control? 
 
Gaining real productivity improvements and cost savings comes from having local processes working efficiently, and having a connection between each of the local processes. BPM and POA connect all of the vertical departments together, giving C-level executives the ability to review the entire organization to see where the bottlenecks are, where inefficiencies exist and what the cost drivers might be.
 
A key to saving money is how the BPM system itself is planned and architected. Decoupling the views and back-end systems from the business process itself utilizes reusability. In BPM system architecture, reusability means that the basic process can be customized for different communities or departments in an organization. 
 
POA organizes the process, views and the calls to the back-end systems by tightly or loosely coupling these objects as it make sense for the business. Once these components are organized in this way, current and future needs of top-level management, individual contributors and communities of users can be accounted for. The design or implementation of this POA will yield the most optimally efficient system possible because it anticipates business change. By finding commonality where it makes sense and structuring the design logically, POA can achieve what has been done for business applications (using SOA) in the realm of BPM.
 

Mark J. Peterson


5/27/2009 12:00:00 AM

Business Process Integration



 

In our example from last week, POA implements the requirements for a call center handling new orders and product issues. The process itself may be common for both work item type or it may inherit characteristics from a parent business process. In order to take advantage of this architecture, the business process needs to interact with back-end systems in a more abstract fashion. For example, let's say the process needs to perform some back-end system hand-off operation or synchronization after the call center is finished with the work item. Regardless of whether the work item is an issue or new order, the common process can utilize an abstract way of dealing with work items to perform the hand-off. The back-end systems may simply be a database or it can involve SOA concepts such as web services, service bus or JMS or all 3 at once. Interfacing with the back-end using an abstract interface would help the common process deal with the handoff or back-end synchronization for the different types of work items.
 
Not all back-end interfaces should be abstracted for commonality. When it makes sense from a system design standpoint, the underlying functionality can be tightly coupled in order to be handled in the same way by the common process. Conversely, the back-end systems may be loosely coupled by performing the operation in the child process where specific order or issue tasks can be performed. The tightly coupled designs would put them behind common back-end integration points. The loosely coupled design would leave them separate. Choosing the best approach can only be done by understanding how the business process and back-end systems need to work.
 
Tightly coupled designs provide a better way to extend and reuse functionality across an organization, which is preferred. Implementing use cases such as training, management oversight or breaking apart functionality for communities of process users are more easily implemented when processes and back-end systems are tightly coupled. POA will leveraged tightly couple back-end interfaces to implement requirements and aspects such as training and management oversight different users and communities effectively and with efficiency.
 
Let's consider three common aspects of back-end systems; Databases, EJBs and SOA using web services. We will consider how message-driven beans, JMS and service bus technologies play as well. We will start with simple examples and then show how more complex use cases can be handled.
 
Modifying Altering, Changing or Deleting (MACD) work item objects are handled best by the common process. Since we have designed the work item object such that things pertaining to the common business process are located in the root work item, MACD for orders or product issues is as easy as just handling the root object. If there are specific changes to the underlying work item, these changes should have been made by the view controllers, so we may not have to worry about them in the process. But if that is not the case, we can always abstract these operations behind a common back-end operation (or Data Aspect Object) or using helper methods within the process. Another approach would be to subclass the process and handle the differences there.
 
Figure 1 shows a data model using EJB concepts. The roles of Clerk and Biller are different and separate. The Clerk is working on a particular order, and the Biller is processing an invoice. The order and invoice work items share information, but the information is "sliced" (or partitioned and segmented as building blocks that are reconstructed as a new object, such as an invoice or order) differently as required to satisfy the two roles. Work item objects are pulled up using Data Access Objects (DAOs), which contain logic as to how to put the work item objects together. The DAO may use simple information like object identifier and object type, but they may also use role information, which is especially important if the objects being collected require policies involving Access Control List (ACLs).
 

POA DATA MODEL CONSIDERATIONS (click here to see a larger view of this diagram)

 
 
Depending on the work item type, work item ID and role, the DAOs build the work item by pulling information from the database, repositories and/or services. In Figure 1, database objects are retrieved using container managed EJBs. Information stored in repositories can be obtained by the DAO through a web service or Bean Managed Persistence. In our example Bean Managed Persistence objects handle MACD of Documentum repository information.
 
 
In an enterprise, obtaining real-time information is important. Since the underlying technology leverages EJBs, POA can build on these technologies to create a fully integrated solution. Processes for particular communities and process across the organization or enterprise can share common information. POA properly quantifies and slices this information into the particular views seamlessly. The clerk updating an order, the agent billing a customer, and the manager overseeing the operation all share and look at the same information, but it is processed and viewed to best suit each role.
 
The underlying work item is an abstraction, which is the goal for our back-end implementation as desired for a POA. The back-end design didn't depart from best practices, either. Instead, POA ensured the back-end is constructed with basic building blocks that can be extended and reused not only by our business processes, but by other systems in the enterprise. POA simply leverages the back-end by requesting a work item for a particular role with the work item identifier, or primary key. The work item is construction by the DAO while persistence and object life-cycle is managed by EJBs.
 
DAOs and EJBs are not the only way to implement back-end services. We could have just as easily used web services, JMS, Message Driven Beans and/or a service bus in the same way. The important thing here is to decouple back-end systems from the process by abstracting and reusing them in various parts of the enterprise. Depending upon the technologies used by the organization before the BPM initiative began, POA can leverage these technologies in the best way.
 
Figure 2 contains another example of how back-end objects can be abstracted and reused by POA. Instead of DAOs, we're using a Service Bus to interface and coordinate back-end systems. If building a new order requires persistence to a database, calling a web services and using EJBs, the Service Bus can be used to manage this function. BPM can now coordinate human workflow with back-end service orchestration using other enterprise strategies.
 
 
 
POA organizes the process, views and the calls to the back-end systems by tightly or loosely coupling these objects as it make sense for the business. Once these components are organized in this way, current and future needs of top-level management, individual contributors and communities of users can be accounted for. The design or implementation of this POA will yield the most optimally efficient system possible because it anticipates business change. By finding commonality where it makes sense and structuring the design to make use of concepts such as OOD and Aspect Oriented Programming, POA can achieve what has been done for business applications (using SOA) in the realm of BPM.
 
 
The next blog entry will be the final of this series: a summary of BPM. Be on the lookout for my white paper entitled "How Process Oriented Architecture (POA) Reduces the Cost of Oracle BPM Implementation" coming in June.
 
 

Mark J. Peterson


 
   
All entries
 

What Our Clients Say



"We were very pleased with the professionalism, high standards and experience of SSG. Their knowledge of our industry coupled with their in depth knowledge of Portal helped us make cost effective decisions. I felt that SSG was looking out for our best interests by suggesting options that were not costly and at the same time effective for our needs. I would recommend SSG to any company who is either implementing Portal or needs experienced professionals to help them solve their company's issues."
Pam Berger
VP Finance
Agillion
 
"SSG came up with several creative solutions to some existing problems and ended up creating a new Java framework for our web reporting system. I would highly recommend them to any company considering using outside consulting services in order to meet tight deadlines and deliver effective systems."
Lynn Lopez
Project Lead
OnBoard Software
 


©2008 SSG, Limited. All rights reserved. Website Design by The MOD Studio