Archive for the ‘Rules for COBOL’ Category

What’s New in BRMS V7.0?

Thursday, April 30th, 2009

ILOG BRMS V7.0 is a major release, and that is probably a major understatement! Based on the foundations of the JRules 6.x architecture, BRMS V7.0 has two major overarching themes: business user empowerment and enabling platform agnostic decision services. Supporting these two themes are a panoply of technical advances across the whole product stack.

The BRMS team has worked incredibly hard over the past 18 months to deliver what is without a doubt the most ambitious release we have attempted since I joined ILOG (my first release was JRules 4.6). As an indication of the work involved, the first construction iteration for BRMS V7.0 started 19th November 2007! Here is a very quick round-up of the major new features. I hope to dive into the details of each of these over the coming days and weeks.

Platform Agnostic Decisions

Rule Team Server Managing Rules for .NET Projects RTS can now host rule projects that will be deployed to the .NET platform. This provides the enterprise with
a unified and platform agnostic rule management environment, that provides governance, reporting and permission management required for successful enterprise deployments.

rts-dotnet.png

Synchronization from Rule Studio for .NET to Rule Team Server To publish rules to Rule Team Server .NET customers can now synchronize their rule projects inside Visual Studio with the RTS rule repository.

rts-syncro-dotnet.png

JRules Linux z & Rule Team Server Linux z Deployment to COBOL applications running on System z is supported from both Rule Studio for Java (based on Eclipse) and the Rule Team Server web environment.

rules-for-cobol.png

Synchronize RuleDocs with Rule Team Server Rule Solutions for Office now supports both JRules and Rules for .NET products, and collections of RuleDocs can be synchronized with Rule Team Server, allowing teams to easily move back and forth between document-based rule management and a centralized rule repository. Rule Team Server can synchronize with RuleDocs hosted on a local file system or accessible via WebDAV.

ruledocs-syncro.png

Decision Validation Services

Rule Team Server and Decision Validation Services The features of the Rule Scenario Manager web console have been improved and merged into the Rule Team Server web interface. Testing and simulation artifacts benefit from the underlying capabilities of the RTS repository, including access control and version management. Line of business users can interactively author rules and run tests or simulations.

rts-test-simulation.png

Storing Scenarios in MS Excel Spreadsheets The persistence of Decision Validation Services scenarios in MS Excel spreadsheets has been greatly improved, resulting in spreadsheets that allow line of business users to more easily manage large numbers of test or simulation scenarios.

excel-scenario.png

Executing Scenarios inside Rule Team Server Line of business users can execute testing scenarios inside Rule Team Server and review the results within the same environment used for managing business rules. Sample input data and expected output data is loaded from MS Excel spreadsheets. Execution reports are stored by the RTS repository and may be accessed for audit or governance purposes.

rts-scenario-exec.png

Business Simulation inside Rule Team Server Business users can run simulations inside RTS to either simulate the effects of changing rules based on historical data or the effects of varying data (such as changes to demographics) on existing rules. Business simulations can use extension points to customize the calculation of Key Performance Indicators, data loaders to access historical data and result renders to provide compelling graphics to summarize the results of executing large data sets.

dvs-simulation.png

custom-kpi.png

Decision Validation Services Customization Technical users can use plugins inside Rule Studio for Java to customize DVS and to annotate the Business Object Model with metadata used for testing. DVS customization tasks have been added to the Rule Project Map inside Rule Studio.

dvs-rpm.png

dvs-format.png

Decision Validation Services Debugging Technical users can execute and debug scenarios inside Rule Studio for Java.

dvs-debug.png

Decision Warehouse JRules Rule Execution Server now has a Decision Warehouse, allowing the details of every rule-based decision to be automatically logged to a database, for example for SOX, HIPAA or Basel II compliance purposes. The decision warehouse can be queried through the RES console and includes all the information required to understand how and why a decision was made. The decision warehouse provides extension points to allow integration with existing analytics databases and 3rd-party business intelligence tools. The decision warehouse may be used as a source of historical data when running business simulations using Decision Validation Services. A reference to a fired rule in a decision trace automatically hyperlinks to the rule within Rule Team Server.

decision-warehouse.png

exec-trace.png

Rule Solutions for Office

Publish RuleDocs, Update Rule Team Server Synchronize Rule Team Server with one or more RuleDocs, stored on the file system or in a WebDAV accessible repository. Use RTS queries to select the rules to publish.
Edit Decision Tables using MS Excel 2007 Easy to use for line of business users thanks to decision table specific buttons in the ribbon bar and comprehensive error checking, preview and validation. Metadata for the decision table can be edited using the panel to the right of the screen.

edit-dt-excel.png

Edit Business Rules using MS Word 2007 Free text editing of business rules within MS Word, that feels like editing a normal text document, but benefits from error checking and a prediction menu to guide the business user and ensure that rules are syntactically correct. Use a vocabulary view to browse the business vocabulary and a properties panel to edit metadata. Documents can mix executable business rules and free text documentation and supporting graphics.

edit-rules-word.png

Business User Empowerment

Decision Table Templates Decision Table Templates can be used inside Rule Studio for Java and Rule Team Server to constrain the use of an instance of a Decision Table.

dt-templates.png

dt-template-rts.png

Rule Team Server Quick Edit Use the Quick Edit button in Rule Team Server to quickly edit the contents of an artifact inline, with a single click.

rts-quick-edit.png

Static Analysis Improvements We are introducing constrained semantic queries on method phrases. Previously queries were only on attributes,
now you can find all the rules which approves a credit greater than an amount, where the amount is set by a method. For example:
find all rules with a credit > given amount will find instances in which amount is implemented by a method call.

Analyze ruleflow runtime rule selection (dynamic select) in consistency checking: previously, dynamic select was not considered when evaluating ‘may apply when’ or ‘may become applicable when’.

Data space coverage analysis: detects gaps in rule coverage of a data space, and proposes rules to fill the gaps. It is available in Rule Studio, in a new dedicated Rule Analysis view.

Impact analysis queries: you can now create a query to find all rules that may trigger another rule or be triggered by another rule. This is available both in Rule Studio for Java and Rule Team Server (JRules projects only).

sa-impact-query.png

Rule Team Server HTML Reports HTML reports in Rule Team Server have been re-implemented to provide more business user friendly and useable reports, that include a table of contents, better hyperlinking and styling.

rts-html-reporting.png

Rule Team Server Excel Reports Rule Team Server now provides MS Excel format reports, useful to review the metadata for rule artifacts.

rts-excel-rules.png

rts-excel-ruleflow.png

Rule Studio for Java

BOM Update View A new view dedicated to reconciling differences between the Business Object Model and the Executable Object Model is provided. The view displays all differences and proposes actions that are applicable to resolve them. Classes that are imported from the XOM many been automatically verbalized.
Rule Analysis View The new Rule Analysis View is used to interactively perform static rule analysis within Rule Studio for Java.

Enhanced Ruleflow Editor The ruleflow editor has been rewritten to provide improved usability and to integrate with the Eclipse property sheet.

rs4j-ruleflow.png

Platform Support

Support for New Application Servers
  • IBM WebSphere Application Server V7.0
  • JBoss 5.0
  • Oracle 10g Release 3 (10.1.3.1)
Support for New Databases
  • IBM DB2 9.5
  • IBM DB2 5.4 for i/Series
  • Oracle 11g
  • Sybase 15
  • Apache Derby 10.4

Product Support

Thursday, February 19th, 2009

support.jpeg

Hats off to the business rules support team!

This morning the email below caught my eye, as it typifies the high-quality diagnostic work of the support team. Jun is helping troubleshoot an out of memory issue with Rule Team Server. A key component of the success of JRules is the ability to support customers and engineers in the field, and filing high-quality (actionable) bug reports for R&D when necessary.

In my previous email I gave some suggestions based on the information we received. What kind of diagnostic steps have been taken on the customer’s side? Do you have any additional findings?

The server logs alone are not sufficient for us to draw any conclusions.
In order to effectively diagnose the problem, we must first obtain as much background information as possible.
What we need to determine is whether the OOM is caused by a memory leak or a lack of resources given the current load.
We can start by addressing the following:

  1. What is the current heap size?
  2. Does increasing the heap size help avoiding the problem?
  3. What is the size of the rule project? e.g. number of rule artifacts, decision tables, variables, dependencies, etc.
  4. From the server logs, as I pointed out earlier, there are NullPointerException and ConcurrentModificationException preceding the OOM. Is it always the case that OOM follows these particular errors?
  5. What type of activity leads to the NPE, CME or OOM? Do you have steps to reproduce these errors? Can you provide sample projects along with the steps that would allow us to replicate the problem?
  6. Do you see any evidence indicating a possible memory leak? If so, do you have any profiling data that you can share with us? An indication of a memory leak would be increasing memory utilization over time that is not released and collected by the GC and inconsistent with the load requirements.
  7. Are there any customizations done on the RTS?
  8. Do you observe any memory fragmentation from the heap dump?
    The following link introduces a troubleshooting tool for OOM, provided by IBM. This could provide a good starting point for diagnostics on your customer’s side.

Besides the questions above, please share with us any additional findings/observations you have made. As soon as we have these information, we will be able to move forward with the investigation and provide possible lead.

Sincerely,

Jun Wang

ILOG, an IBM Company

Monday, January 12th, 2009

img_logo.gif

You may have seen the news: ILOG is now a fully owned subsidiary of IBM. Over the coming months, all the legal, HR and MIS work will take place that should ultimately culminate with my employer becoming simply, “IBM”.

It’s been a tricky few months for a company blogger, because a lot of exciting things have been happening, but I have not been able to blog about anything related to the acquisition for legal and regulatory reasons. Now that IBM owns all the ILOG stock some of those restrictions have been relaxed.

ibm-ilog.JPG

On Thursday all the Paris-based ILOG staff spent a day at the IBM site at La Défense, Paris. Despite some initial grumbling about changes to morning travel routine, and the crowding on the RER and metro lines, there was a real sense of excitement amongst the people I spoke to. The whole IBM team did a good job at explaining how the acquisition would unfold over the coming months and we were made to feel very welcome. I particularly appreciated the R&D break-out session that was led by Ed Lynch from IBM. Ed is a straight-talking Canadian and was the motor behind the adoption of Open Source at IBM, as well as the ILOG acquisition. Ed is also the integration executive for the AptSoft acquisition, now the WebSphere Business Events product. I think we are very fortunate to have such an outspoken champion.

While IBM’s initial interest in ILOG was driven by BRMS to complement SOA, they are clearly very impressed and interested in all the other technologies we bring to the table, for supply chain management, visualization and optimization. IBM is one of the few technology companies with a breadth of products and solutions that can benefit from the entire ILOG portfolio (and in fact they are already users of many of them!), so it is going to be very exciting to see how the integration strategy plays-out.

Today I am back at my desk in Paris, working on ensuring that Rule Studio for Java will meet IBM’s product requirements. We’ve had to make some minor packaging changes to align ourselves with standard practice at IBM, but I’m pleased to say that so far the process has been very smooth!

2009 is shaping up to be an exciting year — we’ve got some great new features to deliver in JRules 7, and with the leverage and visibility we gain from IBM I’m convinced we have a unique opportunity to deliver the value of BRMS to a potentially huge new audience.

Words, Words, Words

Tuesday, August 19th, 2008

I have spent an inordinate amount of time lately talking about the benefits of language—something you might appreciate since your are currently reading this blog AND understanding it. Language is a sort of human-level contract we have with each other and by using it we can find our way to understandings—flawed as that may be at times. In fact, some people have developed a discipline of double checking their language and stop to ask questions—feedback to make sure the intended receiver understood the implications of the message (and no, I am not going to talk about TCP/IP).

The requirements process depends upon language to discover critical business features and those that use it will eventually attempt to describe what they learned to developers. However, the understandings (requirements) themselves undergo a transformative process, probably not unlike a Kantian meat grinder in the mind of the business analyst—inputs transforming into logical outputs on the other side. However, even such a rigorous empiricist like Kant expected that new knowledge had to under go the test of common sense. This provided the critical feedback loop to make sure that a proposition was worth its value–so much for a priori knowledge. At this point, one has to ponder the following question: “If the empiricists cannot establish a rational basis for a solid requirement that can stand the test of time then who can?” This is the equivalent of asserting that at any give moment one may be 50% certain about the requirements but if any assumptions change all bets are off—and this includes any assumptions not imagined at the time the requirements were written.

All of this boils down to uncertainty that cannot be eluded in the requirements process because it is conducted by humans and assumptions change. Managing change and embracing it is fundamental to human experience and needs tooling.

Change and ambiguity are closely related.  While working in the financial services space I discovered that for a bank, there is no single balance to an account. The concept of “Account Balance” is understood at all levels of the organization, but this concept often translated into 30 or more concrete variants. All of these had to be understood to support the requirements process. In talking about the fields, the developers did not always share nomenclature. They also used odd-prefixes and suffixes in class names common to their language and they were prone to using synonyms introducing confusion along the way. To avoid this, the business analysts kept a glossary of terms to track the differences and help remove the ambiguities.

Using the vocabulary of a BRMS binds the language of business to the concrete and executable model of the code. This solves several problems:

1. Removes ambiguity by mapping terms to concrete equivalents.
2. Offers levels of validation that non-executable requirements cannot—completeness, regression, versioning, difference and many more.
3. Developers enjoy receiving something that they can use—saving time without waiting to till GUI is available for testing.
4. Concepts or content that don’t belong in a rule can remain affixed to the rule in the form of a description—why is this rule important to the business and what might happen if it did not exist.
5. Requirements expressed as rules can be kept current and eliminate the tendency for them to become stale.
6. Changes can be deployed without shutting down production systems.

It’s true that you can’t express everything as a rule—let’s not fall into myopia. Nor will a BRMS solve all requirements pitfalls; but it is tooling that helps organizations scale by helping us use our language better. In the end, it’s all about words and what they can do…not software.

CCB

BRMS Resource Center Makeover

Tuesday, July 8th, 2008

You may have noticed that the BRMS Resource has had a makeover recently, expanding it to cover JRules, Rules for .NET and Rules for COBOL. 6 month trial versions of both JRules and Rules for .NET are now available and the content available to help you evaluate Rules for .NET has been expanded.

Don’t hesitate to send your feedback to the BRMS product managers!

ILOG and Wipro Team for Legacy Modernization

Friday, June 20th, 2008

The ILOG and Wipro relationship has grown to provide our customers a combination of services and products for Legacy Modernization. The webinar held on June 19, 2008 was very well received and highlighted how the combination of ILOG JRules with Rules for COBOL and Wipro’s service with their Business Rule Extraction methodology can provide increased business value for our customer’s Legacy Modernization projects.

Wipro’s Legacy Modernization business rule extraction method is a four phased methodology (Extract, Catalogue, Realise and Manage). The design and implementation of those extracted business rules in JRules and Rules for COBOL provides the ongoing and future maintenance and management of those extracted business rules. Rules for COBOL provides native execution in COBOL by generating a COBOL subprogram from the rules that were authored in JRules.

The webinar attendees indicated through polling questions that COBOL still runs their organization’s business applications - 55% of the attendees stated that 75% of their applicaitons remained in COBOL with 35% of the attendees having 75% of their applications on the mainframe but not necessarily all in COBOL. For the polling question on business drivers for their legacy modernization project, there were 45% of the attendees stated that the key business driver was to improve IT time to deliver business changes and 23% of the attendees stated that the key business drivers was to lower IT integration costs.

The combination of business rule extraction with business rule management providing for a choice for deployment - Java or COBOL - is an excellent way your organization can begin to provide business value with your Legacy Modernization projects sooner rather than later.

ILOG Rules for COBOL

Thursday, June 12th, 2008

zSeries.png

I recently had the opportunity to take a look at the newest member of our BRMS family, ILOG Rules for COBOL. We’ve supported JRules running on zSeries (both zOS and zLinux) for a few years now, but there is still an enormous number of legacy COBOL applications and it is not always easy to convince the zSeries administrators to install and configure a Java VM for efficient execution. To compound matters the last time I looked, invoking Java from a COBOL batch application was not trivial either. Throw in a teaspoon of Java vs. COBOL internal company politics and season with Java pricing differences, zAAP hardware/pricing acceleration, and Rules for COBOL becomes a compelling solution for a significant number of the Global 2000.

The workflow is pretty straightforward:

  1. Import COBOL Copybook into Rule Studio for Java
  2. Generate a BOM and Vocabulary from the Copybook data structures
  3. Author rules as usual
  4. Rather than exporting a ruleset archive, generate COBOL sub-programs (source code) from the rules, either from Rule Studio or from Rule Team Server
  5. Include the generated sub-programs into the target master COBOL program and deploy the code to the mainframe

The advantage with this approach is that enterprises can divide-and-conquer their legacy modernization, incrementally externalizing their business rules from COBOL applications and moving them into the BRMS. They can continue to execute the rules as COBOL minimizing the disruption to their system infrastructure. They may also deploy the same rules to JRules, for re-use in other applications running outside the mainframe, and because the BRMS is the system of record for the business rules consistency is guaranteed.

If you are embarking on an SOA legacy modernization project I encourage you to look at the Transparent Decision Service support in JRules and Rules for COBOL. In my opinion the two are very complimentary as they allow you to “think big” while still “starting small” and avoid rip-and-replace, often associated with project failure in large scale legacy modernization projects.