|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
WSJ Management Business Rules: The Perfect Complement to Web Services
Business Rules: The Perfect Complement to Web Services
By: Ken Molay
Oct. 21, 2002 12:00 AM
WSJ readers are already familiar with the concept and promise of Web services. For some time, media and industry analysts have been touting the revolution about to occur in the programming world as a result of universally accessible, reusable code that can be assembled to accomplish any business task. Some of the claims are rightly looked on as hype, but there's an underlying solidity to the Web services model that makes it a compelling approach to software development. This article examines the interplay between Web services and a similar programming paradigm: business-rules management. There are many overlaps between business-rules management and Web services, but the former has been successfully implemented in far more real-world business applications. A look at the one may give enterprise developers a better idea of how to best work with the other. Web Services Of course, Web services offer a number of advantages over traditional callable code blocks. They are location independent - the code need not be physically owned, stored, or maintained by the using entity; they have a standardized access protocol; and they can be updated and repaired without affecting other parts of the application. In their ideal realization, Web services provide a way of exposing business assets that empowers business users to specify complex business functionality in a clear, building-block fashion that can be quickly implemented and just as quickly modified. Business Rules From an enterprise usability standpoint, business rules are best viewed not in their individual, atomic format, but as groupings intended to solve a particular decision task. Although the creation of rule services involves defining unique rules one at a time, a look at a single rule is fairly uninteresting from a business functionality outlook. One rule might validate a particular data value. Another might modify a discount rate based on a piece of customer demographic data. And a third might determine whether a product is appropriate for display in a selection list. Although each of these is an important low-level decision, none gives a sense of the overall business goal. One might refer to the rules as the "how" rather than the "what" of a business function. The "what" of a business decision process is a much more general description... "determine whether to underwrite a loan for this customer" or "respond appropriately to this employee's service request." Business-rules management systems typically offer ways to group rules into functional blocks that accomplish a subtask. The subtasks can be combined in a procedural decision flow to conditionally use the proper subtasks in sequence to achieve the desired business decision. The overall decision flow can be viewed as a holistic rule service that is self-contained and can be accessed from any calling application when needed.
![]() Business Rules and Web Services Individual rules are structured as a pairing of an explicit condition set (or rule premise) and a desired action. The most common way of thinking of this structure is the traditional IF-THEN programming construct: If a given condition is encountered, then perform the corresponding action. Naturally, rules may need to access data sources in the course of the execution. It would be inefficient and extremely difficult to pass every possible data point as an argument to the rule service on the off chance that a rule might need to examine it. So rules need on-the-fly access to external data sources as determined at run time. For instance, we might write the following rule: If Customer's Age is between 13 and 17 then set Customer's AgeGroup to TEENAGER. The age of the customer could be looked up in a customer profile database, it could be read from an XML document, or it might be in memory as part of a Java object based on a recent transaction. Similarly, the AgeGroup value might be updated in a database or other data object as a result of executing the rule. A more interesting situation is the case in which a rule's premise or action doesn't rely on a single property, but involves a complex function: If <Calculate Customer's Credit Rating> is greater than 1500 then <Issue Gold Card>. The two phrases in angle brackets represent entire self-contained processes that the rule needs to initiate. These are natural candidates for Web services, since their tasks may not be carried out by the company determining that they're needed. They could be written and hosted by another party and accessed for a fee or through a licensing arrangement. A good rules-management solution plans for this type of access and allows direct access to Web services from within individual rules. The previous two examples showed how Web services and business rules naturally work together to add value and power to component-oriented business processing. There is a third way that rules can support existing Web services, through authentication and authorization. Security The mechanics to enable authorization and authentication are a major part of the solution. But even with these underlying building blocks in place, companies are still burdened with the task of clearly and consistently defining their rules for granting, refusing, and restricting use of systems and services. These rules are subject to change as user classifications are modified, new services are made available, and corporate policies change. A business-rules component that works with the security interfaces offers the capabilities needed in this area and allows companies to assert control over their Web services use. UDDI What Lies Ahead As companies progress to more aggressive use of public Web services shared between organizations, business rules will assist in defining and maintaining security of the shared services while offering a standardized means of searching and discovering applicable Web services based on proprietary criteria. Companies interested in Web services can benefit from examining business-rules management as a technology to help them organize their new development work in a proven manner, while offering ways to control and manage expanded services in the future. Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||