Blogs

Carsten Ziegler

Business Rules Framework plus - NetWeaver 7.0 EHP2 Teaser
Carsten Ziegler SAP Employee
Business Card
Company: SAP AG
Posted on Oct. 09, 2009 02:56 AM in ABAP, SAP Business Workflow, Public Sector, Governance, Risk and Compliance, Business Suite 7, Business Rules Management, Business Process Modeling, Business Process Management, Business Process Expert, SAP TechEd

Subscribe.Subscribe
Print. Print
Permalink Permalink

In NetWeaver 7.0 Enhancement Package 2 (EHP2) BRFplus comes with a bunch of improvements. In this blog I want to show and explain some of them. The screenshots are taken from our development system. Most likely there will be further changes until shipment so that the final screens will look different.

Overview

  • Workbench and Catalog
  • Configuration
  • Version Comparison
  • Deep Types Expression Type Formula
  • Expression Type Static Method
  • Expression Type Table Operations
  • Expression Type Loop
  • Web Service Generation

Workbench and Catalog

The screenshot shows the BRFplus workbench. On the left side you can see the four navigation options: Repository, Recently Used, Favorites and Catalog. Catalog is selected. In the navigation pane below you can see a catalog for a customer scoring example. A catalog allows creation of any structure to organize the artifacts of the use case, such as Functions, Expressions, Rulesets or Context Data Objects. With NW 7.0 EHP2 Catalogs are integrated into the workbench.

On the right side, ruleset "Ruleset Score" is displayed. It contains several rules and additional variables. It will be evaluated when function "Propensity to Pay" is executed. Rule 4 is currently in change mode. You can see that the rules have a description and that their validity can be limited to a time period. Note that the nested objects (such as the context data object "Delta Score" in the action part of rule 4) are not shown with their technical names but with their more descriptive text. This display behavior is configurable as of NW 7.0 EHP2.

A rule in NW 7.0 EHP2 can change the context by assigning a value or taking a value from another context data object or an expression that returns a calculated value. Additionally rules can trigger actions.

BRFplus Workbench and Catalog

Configuration

The screenshot shows the new configuration popup. In the configuration you can customize the look and feel of the BRFplus workbench as well as features that are offered to the end user. Note that you can also set the configuration when calling the workbench from your ABAP code. By doing so you can limit the options of a user very easily.

BRFplus Configuration

Version Comparison

The screenshot shows function "Versioning Test" that has two versions. The versions are listed with their activation timestamp. Also, there is a small protocol that summarizes the changes. However, you can also visually compare versions (see next screenshot), display a specific version, compare an object with another one, delete inactive versions or create a new version based on an existing one.

BRFplus Version Comparison

The screenshot shows two versions of Function "Versioning Test". As you can see, the signature was changed between the two versions. The display of historic versions also enables navigation to nested objects such as the data objects used in the signature.

BRFplus Version Comparison 

Deep Types 

The screenshot contains many new features in NW 7.0 EHP2. On the left side you can see the repository navigation. It is possible to expand an object to see the referenced objects or usages of the object. The repository is well organized with grouping for the artifacts (Catalog Data Objects, Expressions) including sub types such as the Expression Types of the expressions.

On the right side you can see a Data Object of type Structure. This structure shows how BRFplus allows definition of "deep", i.e. complex types with a hierarchical structure. The structure has components like tables, structures and element.

 

BRFplus Deep Type

Expression Type Formula

There are several changes in the Formula Expression Type. On the left side you can see the context data objects including a structure that is expanded. Now it is easily possible to directly use components of a structure in expressions. Above the list of context data objects you can see the help provided for formula functions. Now you can immediatelly see the formula function syntax and a documentation link is provided as well. The list of formula functions can now be filtered by different categories, and there is also a free text filter. It is possible to define new categories for custom functions.

BRFplus Formula

Expression Type Static Method

The screenshot shows an improved Expression Type "Static Method". Most likely the name will be changed because of the new capabilities. Now it is possible to call a function module or a static method without the need to use an encapsulating class implementing a special interface. It is possible now to bind the function module/method signature against nested expressions or context data objects.

BRFplus ABAP Call

Expression Type Table Operations

The new Expression Type "Table Operations" supports the following table-oriented functions:

  • Has at least <number> entries in <table> with <condition>
  • Has exactly <number> entries in <table> with <condition>
  • Has not more than <number> entries in <table> with <condition>
  • Number of lines in <table> with <condition>
  • Minimum over <column> with <condition>
  • Maximum over <column> with <condition>
  • Total over <column> with <condition>
  • Average over <column> with <condition>
  • First line in <table> with <condition>
  • Last line in <table> with <condition>
  • All lines in <table> with <condition>
  • Sort <table> by <column> <column> <column> ...
  • Delete first line in <table> with <condition>
  • Delete last line in <table> with <condition>
  • Delete all lines in <table> with <condition>

BRFplus Table Operations

Expression Type Loop

If the Expression Type "Table Operation" does not solve your problem, you also may consider using the new Expression Type "Loop".

It features the following modes:

  • Loop mode "Repeat <number> times"
  • Loop mode "Repeat until <condition>"
  • Loop mode "While <condition> repeat"
  • Loop mode "For each line in <table> with <condition>"

Inside of the loop rules can be used to perform any kind of operation including changing context values, calling expressions or triggering actions. 

BRFplus Loop

Web Service Generation

Last but not least, let's have a look at a screenshot for the web service generation. Functions define the signature to the rules and rulesets. Once defined, it is very easy to generate a web service. The only inputs needed are shown in the screenshot.

BRFplus WebService

Of course this is just a small set of screenshots. There are many more changes and we are still not done with everything you will get with NW 7.0 EHP2. Now since we are int he final stage of development we focus mostly on usability improvements. I hope this creates some excitement for using BRFplus. :-)

 

Carsten Ziegler is the project manager and architect of BRFplus.


Add to: del.icio.us | Digg | Reddit


Comment on this article
Comment on this weblog
Showing messages 1 through 10 of 10.

Titles Only Main Topics Oldest First

  • Nice looking product
    2009-10-17 21:11:36 James Taylor Business Card [Reply]

    BRFplus is a nice looking product - I was impressed when I saw Carsten demonstrate it (see blog post https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/16289) and I look forward to writing about it in the coming months.
    JT
  • Compared to YASU?
    2009-10-14 18:47:32 Mel Odeus Business Card [Reply]

    How does this compare to the YASU BRMS? Same?
    • Compared to YASU?
      2009-10-15 10:41:57 Carsten Ziegler SAP Employee Business Card [Reply]

      Yasu QuickRules was acquired in 2007 by SAP. It's product was converted into NW BRM. NW BRM is a java rules engine that resides in CE and is tightly connected with NW BPM.


      BRFplus is an ABAP rules engine, optimized for the ABAP stack (e.g. for suite applications).


      We are currently working out how to bring BRFplus and BRM more closely together. E.g. we want to be able to model rules in the one and deploy and execute in the other. Or we think about central search and management capabilities.

      • Compared to YASU?
        2009-10-17 23:26:53 Krishnakumar Ramamoorthy Business Card [Reply]

        Carsten
        First of all, thanks for the great session at TechED Phoenix. I agree, the session should have been slotted for two hours.
        Now, coming to the product, I am not sure if it is a good strategic decision to have two different tools, one running on Java and other on ABAP. If the motivation is to have an unified set of Business rules across a customer landscape which will have both SAP and non-SAP systems, then hosting a rules engine on a common platform like Java will be more beneficial for customers. I do agree with you that BPM and BRM are two different topics but in an enterprise, they tend to coexist and SAP's BPM engine being on Java, I think it make sense to have BRM on Java too. As an ardent ABAP fan, I would definitely love to have BRM in ABAP but I am also concerned that it will be seen as a product that only suites SAP systems and customers would start looking at competition.
        Just my few cents, let me know your thoughts.


        Thanks
        KK

        • Compared to YASU?
          2009-10-18 07:36:24 Carsten Ziegler SAP Employee Business Card [Reply]

          I fully agree to your statement. Therefore we are working to make an exchange happen between BRM and BRFplus so that rules can be created centrally in BRM and executed in BRFplus. You need the execution in ABAP to handle the data volumes.


          Also a rules engine has to support the applications as best as possible. This includes the ability to call code, to optimize with application exits etc. This is different in Java and ABAP. The applications that come with the rules packages (no need for replication into the other stack) should not be limited in terms of flexibility.

  • Awesome
    2009-10-09 09:26:13 Lee Chisholm Business Card [Reply]

    Looks great Carsten, I can't wait to try it out (whenever that time may be!).


    I think important information for people reading this should also be WHEN this will be available for us to use.


    Q2 2010 (Around June) is when Netweaver EHP 702 will be available to us correct? I keep hearing contrary dates (Q1 2010 from some people).


    Thanks,
    Lee

    • Awesome
      2009-10-09 09:45:57 Carsten Ziegler SAP Employee Business Card [Reply]

      I think there is a ramp up of NW 7.0 EHP2 in Q1/2010 and a ramp up of NW 7.0 EHP2 combined with ECC in Q2/2010.
      • Awesome
        2009-10-09 09:59:40 Lee Chisholm Business Card [Reply]

        So are these wonderful new features included in the Q1 ramp-up or the Q2 ramp-up?
        L
        • Awesome
          2009-10-09 10:02:02 Carsten Ziegler SAP Employee Business Card [Reply]

          The NW release is the same: 7.0 EHP2.
          So the features areavailable in both.

Showing messages 1 through 10 of 10.