Business rules engine

A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal reason"), company policy ("All customers that spend more than $100 at one time will receive a 10% discount"), or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code.

Rule engines typically support rules, facts, priority (score), mutual exclusion, preconditions, and other functions.

Rule engine software is commonly provided as a component of a business rule management system which, among other functions, provides the ability to: register, define, classify, and manage all the rules, verify consistency of rules definitions (”Gold-level customers are eligible for free shipping when order quantity > 10” and “maximum order quantity for Silver-level customers = 15” ), define the relationships between different rules, and relate some of these rules to IT applications that are affected or need to enforce one or more of the rules.

IT use case

In any IT application, business rules can change more frequently than other parts of the application code. Rules engines or inference engines serve as pluggable software components which execute business rules that a business rules approach has externalized or separated from application code. This externalization or separation allows business users to modify the rules without the need for IT intervention. The system as a whole becomes more easily adaptable with such external business rules, but this does not preclude the usual requirements of QA and other testing.

History

An article in Computerworld traces rules engines to the early 1990s and to products from the likes of Pegasystems, Fair Isaac Corp, ILOG[1] and eMerge[2] from Sapiens.

Design strategies

Many organizations' rules efforts combine aspects of what is generally considered workflow design with traditional rule design. This failure to separate the two approaches can lead to problems with the ability to re-use and control both business rules and workflows. Design approaches that avoid this quandary separate the role of business rules and workflows as follows:[3]

  • Business rules produce knowledge;
  • Workflows perform business work.

Concretely, that means that a business rule may do things like detect that a business situation has occurred and raise a business event (typically carried via a messaging infrastructure) or create higher level business knowledge (e.g., evaluating the series of organizational, product, and regulatory-based rules concerning whether or not a loan meets underwriting criteria). On the other hand, a workflow would respond to an event that indicated something such as the overloading of a routing point by initiating a series of activities.

This separation is important because the same business judgment (mortgage meets underwriting criteria) or business event (router is overloaded) can be reacted to by many different workflows. Embedding the work done in response to rule-driven knowledge creation into the rule itself greatly reduces the ability of business rules to be reused across an organization because it makes them work-flow specific.

To create an architecture that employs a business rules engine it is essential to establish the integration between a BPM (Business Process Management) and a BRM (Business Rules Management) platform that is based upon processes responding to events or examining business judgments that are defined by business rules. There are some products in the marketplace that provide this integration natively. In other situations this type of abstraction and integration will have to be developed within a particular project or organization.

Most Java-based rules engines provide a technical call-level interface, based on the JSR-94 application programming interface (API) standard, in order to allow for integration with different applications, and many rule engines allow for service-oriented integrations through Web-based standards such as WSDL and SOAP.

Most rule engines provide the ability to develop a data abstraction that represents the business entities and relationships that rules should be written against. This business entity model can typically be populated from a variety of sources including XML, POJOs, flat files, etc. There is no standard language for writing the rules themselves. Many engines use a Java-like syntax, while some allow the definition of custom business-friendly languages.

Most rules engines function as a callable library. However, it is becoming more popular for them to run as a generic process akin to the way that RDBMSs behave. Most engines treat rules as a configuration to be loaded into their process instance, although some are actually code generators for the whole rule execution instance and others allow the user to choose.

Types of rule engines

There are a number of different types of rule engines. These types (generally) differ in how Rules are scheduled for execution.

Most rules engines used by businesses are forward chaining, which can be further divided into two classes:

  • The first class processes so-called production/inference rules. These types of rules are used to represent behaviors of the type IF condition THEN action. For example, such a rule could answer the question: "Should this customer be allowed a mortgage?" by executing rules of the form "IF some-condition THEN allow-customer-a-mortgage".
  • The other type of rule engine processes so-called reaction/Event condition action rules. The reactive rule engines detect and react to incoming events and process event patterns. For example, a reactive rule engine could be used to alert a manager when certain items are out of stock.

The biggest difference between these types is that production rule engines execute when a user or application invokes them, usually in a stateless manner. A reactive rule engine reacts automatically when events occur, usually in a stateful manner. Many (and indeed most) popular commercial rule engines have both production and reaction rule capabilities, although they might emphasize one class over another. For example, most business rules engines are primarily production rules engines, whereas complex event processing rules engines emphasize reaction rules.

In addition, some rules engines support backward chaining. In this case a rules engine seeks to resolve the facts to fit a particular goal. It is often referred to as being goal driven because it tries to determine if something exists based on existing information.

Another kind of rule engine automatically switches between back- and forward-chaining several times during a reasoning run, e.g. the Internet Business Logic system, which can be found by searching the web.

A fourth class of rules engine might be called a deterministic engine. These rules engines may forgo both forward chaining and backward chaining, and instead utilize domain-specific language approaches to better describe policy. This approach is often easier to implement and maintain, and provides performance advantages over forward or backward chaining systems.

There are some circumstance where Fuzzy Logic based inference may be more appropriate, where heuristics are used in rule processing, rather than Boolean rules. Examples might include customer classification, missing data inference, customer value calculations, etc. The DARL language[4] and the associated inference engine and editors is an example of this approach.

Rules engines for access control / authorization

One common use case for rules engines is standardized access control to applications. OASIS defines a rules engine architecture and standard dedicated to access control called XACML (eXtensible Access Control Markup Language). One key difference between a XACML rule engine and a business rule engine is the fact that a XACML rule engine is stateless and cannot change the state of any data. The XACML rule engine, called a Policy Decision Point (PDP), expects a binary Yes/No question e.g. "Can Alice view document D?" and returns a decision e.g. Permit / deny.

See also

References

  1. ^ "Do you know where all of your company's business rules are?". Computerworld. 39 (21). IDG Enterprise (published 2005-05-23): 25. 23 May 2005. ISSN 0010-4841. Retrieved 2014-02-02. Rules engines have been around since the early 1990s when companies such as Pegasystems Inc. in Cambridge, Mass., Fair Isaac Corp. in Minneapolis and ILOG in Mountain View, Calif., sold them. They were typically used in rules-heavy industries such as finance and insurance. Over the past few years, however, many vendors have entered the market, and more companies are looking at rules engines as a way to gain greater flexibility in business operations.
  2. ^ "eMerge Rule-based software development platform".
  3. ^ Is Your Rules Engine Event-Driven? Retrieved from http://www.sapiens-tech.com/iDuneDownload.dll?GetFile?AppId=225&FileID=216581&Anchor=&ext=.pdf Archived 2018-09-30 at the Wayback Machine.
  4. ^ "The DARL language". Archived from the original on 2018-09-01. Retrieved 2018-09-01.

Bibliography

Read other articles:

I CrySingel oleh Flo Ridadari album Wild OnesDirilis28 Juni 2012Direkam2012Durasi3:42Label Poe Boy Atlantic Pencipta Alex Schwartz Joe Khajadourian Brenda Russell Jeff Hull Maarten Hoogstraten Paul Bäumer Pierre-Antoine Melki Raphaël Judrin Scott Cutler Tramar Dillard Produser soFLY & Nius The Futuristics Kronologi singel Flo Rida Goin' In (2012) I Cry (2012) Troublemaker (2012) Video musikI Cry di YouTube I Cry adalah lagu oleh rapper asal Amerika Serikat Flo Rida. Lagu ini pertama kal...

 

 

Bandar Udara Internasional Salgado FilhoAeroporto Internacional de Salgado FilhoIATA: POAICAO: SBPAInformasiJenisPublikPengelolaInfraeroLokasiPorto AlegreZona waktuUTC-3Koordinat{{{coordinates}}} Pesawat TAM Airlines dan Gol Transportes Aéreos di Salgado Filho Bandar Udara Internasional Salgado Filho (IATA: POA, ICAO: SBPA) adalah bandar udara yang melayani kota Porto Alegre, Brasil. Bandara ini diberi anam sesuai dengan Senator dan Menteri Angkatan Udara Brazil pertama Joaquim Pedro Sa...

 

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires (juin 2018). Pour améliorer la vérifiabilité de l'article ainsi que son intérêt encyclopédique, il est nécessaire, quand des sources primaires sont citées, de les associer à des analyses faites par des sources secondaires. Un récital est un concert donné en public ou de façon privée, par un musicien. On parle égalem...

LānaʻiThe Pineapple IsleGambar satelit Landsat Lānaʻi.Lokasi dalam negara bagian Hawaiʻi.GeografiLokasi20°50′N 156°56′W / 20.833°N 156.933°W / 20.833; -156.933Wilayah1.405 sq mi (3.640 km2)PeringkatKepulauan Hawaii terbesar ke-6Titik tertinggiLānaʻihalePeninggian maksimum3.366 ft (1.026 m)[1]DemografiJumlah penduduk3.102 (pada 2010)Kepadatan23/sq. mi. (9/km²)Official InsigniaBungaKaunaʻoa (Cuscut...

 

 

ألكسندر تزونيس (باليونانية: Αλέξανδρος Τζώνης)‏  معلومات شخصية الميلاد 8 نوفمبر 1937 (العمر 86 سنة)أثينا مواطنة اليونان  الحياة العملية المدرسة الأم الجامعة التقنية الوطنية في أثينا  [لغات أخرى]‏كلية الهندسة المعمارية في جامعة ييل  [لغات أخرى]‏  المهنة ...

 

 

Public university in Lusaka, Zambia The University of ZambiaMottoService and ExcellenceTypePublicEstablished12 July 1966; 57 years ago (12 July 1966)Endowment$35.81 million (2015)[1]ChancellorNgwira LacksonVice-ChancellorProf. Mundia MuyaAcademic staff879Administrative staff1,621Students30,000Undergraduates28,000Postgraduates2,000LocationLusaka, Zambia15°23′41″S 28°19′56″E / 15.39472°S 28.33222°E / -15.39472; 28.33222Campus2 urban campu...

American baseball player and manager (born 1969) Baseball player Brad AusmusAusmus with the Los Angeles Angels in 2019New York Yankees – No. 68Catcher / Manager / CoachBorn: (1969-04-14) April 14, 1969 (age 54)New Haven, Connecticut, U.S.Batted: RightThrew: RightMLB debutJuly 28, 1993, for the San Diego PadresLast MLB appearanceOctober 3, 2010, for the Los Angeles DodgersMLB statisticsBatting average.251Home runs80Runs batted in607Managerial record386–42...

 

 

بلدية في ألمانيامعلومات عامةصنف فرعي من LAU 2 (en) التقسيم الإداري في ألمانيابلدية البلد ألمانيا منصب رأس الحكومة عمدة تعديل - تعديل مصدري - تعديل ويكي بيانات هرم التقسيم الإداري في ألمانيا البلدة في ألمانيا (بالألمانية: Gemeinde) هي أصغر تقسيم إداري حسب النظام السياسي في ألمانيا ي...

 

 

Municipality in Zambales, Philippines Not to be confused with Cabagan. Municipality in Central Luzon, PhilippinesCabanganMunicipalityMunicipality of CabanganBahay Pamahalaan (Municipal Hall) FlagSealMap of Zambales with Cabangan highlightedOpenStreetMapCabanganLocation within the PhilippinesCoordinates: 15°08′N 120°09′E / 15.13°N 120.15°E / 15.13; 120.15CountryPhilippinesRegionCentral LuzonProvinceZambalesDistrict 2nd districtFounded1908Barangays22 (see Baranga...

Provinsi Tamanghasset adalah sebuah provinsi Aljazair. Ibu kotanya adalah Tamanghasset. Pembagian wilayah administrasi Provinsi Tamanghasset dibagi menjadi 7 distrik,[1] yaitu: Abalessa In Ghar In Guezzam In Salah Tamanrasset Tazrouk Tin Zaouatine Referensi ^ The official journal of People's Democratic Republic of Algeria (PDF). SGG Algeria. Diakses tanggal 2007-11-06.  Koordinat: 22°47′6″N 5°31′22″E / 22.78500°N 5.52278°E / 22.78500; 5.52278 l...

 

 

UFC mixed martial arts event in 2018 UFC 220: Miocic vs. NgannouThe poster for UFC 220: Miocic vs. NgannouInformationPromotionUltimate Fighting ChampionshipDateJanuary 20, 2018 (2018-01-20)VenueTD GardenCityBoston, MassachusettsAttendance16,015 [1]Total gate$2,450,000[1]Buyrate350,000[2]Event chronology UFC Fight Night: Stephens vs. Choi UFC 220: Miocic vs. Ngannou UFC on Fox: Jacaré vs. Brunson 2 UFC 220: Miocic vs. Ngannou was a mixed martial arts eve...

 

 

Land strip connecting the Canadian provinces of New Brunswick and Nova Scotia class=notpageimage| Isthmus of Chignecto The Isthmus of Chignecto is an isthmus bordering the Maritime provinces of New Brunswick and Nova Scotia that connects the Nova Scotia peninsula with North America. The isthmus separates the waters of Chignecto Bay, a sub-basin of the Bay of Fundy, from those of Baie Verte, a sub-basin of the Northumberland Strait that is an arm of the Gulf of St. Lawrence. The isthmus stretc...

Swedish opera singer This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Marie Louise Marcadet – news · newspapers · books · scholar · JSTOR (July 2018) (Learn how and when to remove this message) Marie Louise MarcadetMarie Louise MarcadetBornMarie Louise Baptiste3 December 1758Stockholm, SwedenDied28 February 1...

 

 

ХристианствоБиблия Ветхий Завет Новый Завет Евангелие Десять заповедей Нагорная проповедь Апокрифы Бог, Троица Бог Отец Иисус Христос Святой Дух История христианства Апостолы Хронология христианства Раннее христианство Гностическое христианство Вселенские соборы Н...

 

 

Pour les articles homonymes, voir Coppola et Ford (homonymie). Ne doit pas être confondu avec Francis Ford. Pour les autres membres de la famille, voir Famille Coppola. Francis Ford Coppola Francis Ford Coppola en 2011. Données clés Naissance 7 avril 1939 (85 ans)Détroit, Michigan, États-Unis Nationalité Américaine Profession RéalisateurProducteur de cinémaScénariste Films notables Le Parrain (trilogie) Conversation secrète Apocalypse Now Outsiders Dracula modifier Francis Fo...

How humans perceive color Color constancy: The colors of a hot air balloon are recognized as being the same in sun and shade. Example of the Land effect. Color constancy makes the above image appear to have red, green and blue hues, especially if it is the only light source in a dark room, even though it is composed of only light and dark shades of red and white. (Click to view the full-size image for the most pronounced effect.) Constancy makes square A appear darker than square B, when in f...

 

 

Former political party in Fiji This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: National Alliance Party of Fiji – news · newspapers · books · scholar · JSTOR (June 2015) (Learn how and when to remove this message) Politics of Fiji Constitution History Executive President (list) Wiliame Katonivere Prime Minist...

 

 

الدوري التايلاندي الممتاز 2017 تفاصيل الموسم الدوري التايلاندي الممتاز  النسخة 21  البلد تايلاند  المنظم اتحاد تايلاند لكرة القدم  البطل نادي بوريرام يونايتد  مباريات ملعوبة 306   عدد المشاركين 18   الدوري التايلاندي الممتاز 2016  الدوري التايلاندي الممتاز 20...

11th season of top-tier Italian football Football league seasonCampionato Italiano di Prima CategoriaSeason1907–08ChampionsPro Vercelli1st titleTop goalscorerMario Cagliani (4)← 1907 1909 → The 1908 Italian Football Championship season was won by Pro Vercelli. In this season, two championships of Prima Categoria were played: Italian Championship, the main tournament where only Italian players were allowed to play; the winners were proclaimed Campioni d'Italia (Italian Champions) Federal...

 

 

For other uses, see Burj. Place in Ramle, Mandatory PalestineAl-Burj البرجEtymology: The tower[1] 1870s map 1940s map modern map 1940s with modern overlay map A series of historical maps of the area around Al-Burj, Ramle (click the buttons)Al-BurjLocation within Mandatory PalestineCoordinates: 31°54′07″N 35°01′14″E / 31.90194°N 35.02056°E / 31.90194; 35.02056Palestine grid152/145Geopolitical entityMandatory PalestineSubdistrictRamleDate of...