Make your developments more scalable with BPM & BRM

Remember those days when programming meant programming majorly HTML? It’s amazing to see how much granularity is now brought into development methodology. MVC Pattern brought great level of classification of code and separated business logic, coding/functional logic & rendering logic. In short, it made life easier for developers. This not only segregated the code but also made debugging/troubleshooting easy.

WebDynpro for Java uses MVC Pattern but the design methodology is quiet confusing for beginners. With the launch of newer versions, newer technologies like BPM – Business Process Management & BRM – Business Rules Management brought into purview of WDJ.

scalable1 Make your developments more scalable with BPM & BRM

Business Process Management -

BPM as its name signify is a process management engine. If you have worked on SAP EP6 or Netweaver Portal 7.0, you know this as Guided Procedures. BPM replaces Guided Procedures entirely but sadly there is no API support available untill you upgrade to 7.3. You can use BPM functionality with ease but you cannot call an object of your process and manipulate it or its properties.

Need to manipulate BPM process object arises especially when you want to implement BPM Monitoring. BPM Monitoring enables you to track all processes and their corresponding context data. It records historical data which is configurable to some extent.

Imagine a situation where you have a process of Leave Management and there are 2 level of approvers. You have submitted leave request to 1st level of approver and awaiting your leaves getting approved. It’s been over a week and you have no clue of what is happening with your Leave approval. You wished to use BPM Monitoring to see if level 1 approver has approved your leave. If level 1 approver has approved the request, you can see the completion status in monitoring report against approver level 1. However, you do not know if he has rejected the request or sent it to 2nd level of approver. You want to see with whom your request is pending with. BPM falls short here. Though it shows the status of your process, it fails to show you with whom the task is pending.

There is a workaround for this situation. You can configure 2nd level approver’s ID into excluded owners list of task 1 of your process and simply display excluded owners in the monitoring. But there is a catch, this will work only when 2nd level approver is not 1st level approver in any case.

To resolve this issue, you need BPM APIs which are shipped into Netweaver Portal 7.3 as of now and are missing in CE 7.1 and 7.2 versions.

If you just forget the case where you need the support of APIs, BPM is a wonderful tool for process modeling. You can easily define any level of tasks and yet link seamlessly with one another. You can configure Exclusive Choice gateways to determine outcome of a business scenario at the run-time, manage notifications and integrate WDJ components.

BPM components are comprised of tasks. In short, task is crux of BPM. Tasks are the components that perform a business action. However, you would certainly need a UI for making input possible. UI associated with tasks can be generated from WDJ Components. All this can be done using a perspective in NWDS known as Process Development.

BPM can very well manage notification activities, wait activities, tracking process historical data, configuring automated tasks and much more.

Business Rules Management –

Also known as BRM is a next step of MVC pattern. It not only separates the code but also Business Rules. Let us understand this from a live example. You have an application that offers you number of options to input and based on what you enter, it changes to flow of the application. That means, flow of the application is never the same for two users. If you enter that you are an administrator, application should grant you read-write rights and if you say you are an end user, it should give you read-only access. Imagine doing this programmatically! Certainly this is possible but if you use BRM for this, you can save great amount of time. I’d say at least 65% of the time it will take to code this requirement.

BRM manages these conditions on Decision Tables which is a collection of conditions and actions. In our case condition is “Administrator” and its corresponding action is calling read-write component of your WDJ application. In second case, “End-user” is a condition and calling read-only component of WDJ application is its action. All this is tabulated into the table. Now all you have to do is, create a web service by simply right clicking Business Rule folder and select “Create WSDL artifact” option.

Now in your WDJ application, create a Webservice Adaptive model and set the webservice invoke parameters to “request” node. Upon execution, it will return action value, which can either be “read-write” or “Read-only”. Based on value returned you design the further navigation.

Though this example sounds pretty easy as we have considered only 2 conditions, but image a case where you have tens of different inputs and tens of different screens. BRM can be of great help in this case. It picks out business rules and enhances scalability of the code.

It’s just the beginning for BPM and BRM. I am sure more the number of people move to newer version of Netweaver portal, more the number of people interested in BPM and BRM will be.

pixel Make your developments more scalable with BPM & BRM

Comment with Facebook or go to end of page to comment regularly

Powered by Facebook Comments

Filed Under: Latest in SAP

Tags: BPM and BRM in NWDS, BPM in Netweaver portal 7.2, BRM in sap, Business process management SAP netweaver portal, Business rule management, featured

About the Author

SAP Netweaver consultant, writer, blogger, budding SEO analyst, learner & fun loving being.

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.


Notify me of followup comments via e-mail. You can also subscribe without commenting.

eXTReMe Tracker