Technical Property Decision Integration Services Process SysAdmin Notes for rules A These rules have an Applies To key part. They are resolved using directed and pattern inheritance. D Form is designed to allow non-developers to update individual rules that are delegated to them. H HTML, CSS and JSP skills are useful. J Java programming skills are useful. P Individual rules can be restricted to use by holders of a privilege. A dozen or more standard rules are included to use or copy. One hundred or more standard rules are included to use or copy. Most relevant step in the SmartBuild approach. Important relationshipsamongruletypesandadministrativedataclasses Route Router Class derives from class Class Rule-Obj-Class Defines object classes and the inheritance relationships among them Notify Utility Decision Integrator Ticket Fork Spin-Off Broadcast Data-Broadcast Messageof thedayfor organizationunit. Operator ID Data-Admin-Operator-ID Definesidentifiers, passwords, skills, availability, and organizationfor humanusersandbackground requestors Operator belongs to a unit RuleSet Rule-RuleSet-Name Primaryidentifier for acollectionof relatedrules. Product Patch Rule-Admin-Product-Patch Supportsapplicationpackagingandmigration Skill Rule-Admin-Skill Identifiesskill requirementsof theapplication. FlowAction Rule-Obj-FlowAction Definesuser interfaceandprocessingfor assignments. When Rule-Obj-When PerformsaBooleantest of comparisons involvingpropertyvalues. DecisionTable Rule-Declare-DecisionTable Looksupapropertyvaluebasedonvaluesof other properties. MapValue Rule-Obj-MapValue Computesthevalueof aresult propertybased onamatrixof ranges. BinaryFile Rule-File-Binary Wrapsanimagefileor other non-character dataintoarule. Privilege Rule-Access-Privilege Namesaprivilege. AccessDenyObj Rule-Access-Deny-Obj Blocksacapabilityfor auser roleandaclass AccessWhen Rule-Access-When RefinesaccessbasedonBoolean comparisonsof propertyvalues Call/Branch, Split, and Spin-Off shapes reference another flow Edit Input Rule-Edit-Input DefinesaJavamethodtotransform user input. Expression Rule-Declare-Expressions Computesthevalueof apropertyat all times usingchaining. Trigger Rule-Declare-Trigger Automaticcomputationsat thetimeof databaseupdates. Expression rules compute property values automatically Operator has a default workbasket Product Rule-Admin-Product Supportsapplicationpackagingandmigration Email Account Data-EmailAccount Letsthesystemsendandreceivee-mail. Validate Rule-Obj-Validate Teststhevaluesthat userssubmit onaform. Flow action may check input using validate rule Flow action requests user input with form OnChange Rule-Declare-OnChange Automaticcomputationswhenever aproperty valuechanges OnChange rules execute upon change of property values Model can add superclass model Property Rule-Obj-Property Definesadatadictionaryfor thestructure, names, and characteristicsof values Qualifier extends behavior of property Field values identify values for property How user input of value is validated User input for is transformed by Edit Input rule HTML Property defines input and display format of property Library Rule-Utility-Library Groupsfunctionrulesthat arecompiled together. Authentication Service Data-Admin-AuthService Supportssinglesign-onaccess. Assignment shapes present users with work object forms they are to update. Ticket shapes identify a position on the flow for exception processing. Connector lines link two shapes. Connectors leaving an assignment shape reference a flow action. Notify shapes identify a Notify activity, which creates and sends correspondence to a work party. Router shapes identify a Router activity that determines which worklist or workbasket receives a new assignment. Fork shapes identify branching points. At runtime, the flow execution advances along one connector based on true-false tests. Decision shapes identify a decision rule that determines the path of the work object through the flow. Utility shapes identify an activity that performs computations that do not require user interaction. Activities can reference and process all rule types, built-in Process Commander methods, and Java methods. By separating business rules from other computations, Process Commander allows business rules to be delegated and maintained separately from activities. RuleSets group related rules in an application for access and migration. Versions group interrelated application rules into layers for testing, packaging, and production rollout. Portal rules define the layout and appearance of user and developer workspaces. Portal rules indirectly reference list view, summary view, and other rules. Which rule type do I use when? Properties define and structure values, including lists and arrays. Rules of many types reference properties. Privileges are awarded to users through access roles. Developers may restrict individual instances of eight rule types to privilege holders. Declarative rules operate automatically. The inference engine supports both forward and backward chaining. Several rule types may reference when condition rules. AccessRoleObj Rule-Access-Role-Obj Relatesrolenamestooperationsonclasses. Agent Queue Rule-Agent-Queue Definesrepetitivebackgroundprocessing Agent Schedule Data-Agent-Queue Controlsbackgroundprocessingononenode Text File Rule-File-Text PackagesCSS, JavaScript, andother text filesasrules. Calendar Data-Admin-Calendar Definesbusinessdays, holidays, andhoursof operation CaseMatch Rule-Declare-CaseMatch Searchesandscoresitemsinacollection. Database Data-Admin-DB-Name Identifiesthename, locationandaccount of a relational database. Workbasket Data-Admin-WorkBasket Queuefor assignmentsnot routedtoindividual user worklists. DecisionTree Rule-Declare-DecisionTree CapturesIf-Then-Elsestructuresanattractive format. Correspondence Rule-Obj-Corr DefinesWord/HTMLtemplatesfor outgoing correspondence. OrganizationUnit Data-Admin-OrgUnit Third-level organizational object. Division Data-Admin-OrgDivision Mid-level organizational object WorkGroup Data-Admin-WorkGroup Groupsmanagerswiththeir teammembers, for reportingandoperations AccessGroup Data-Admin-Operator-AccessGroup Determinesversions, roles, portal layout, and applicationsavailabletorequestors Constraints Rule-Declare-Constraints Restrictsthevalueof apropertyat all times usingforwardchaining. Rules of many types apply to only objects in one class and its subclasses Edit Validate Rule-Edit-Validate DefinesaJavamethodtotest user input values List Rule-Obj-List Identifiessubset of propertiestoberetrieved together. Message Rule-Message Definestext of error messages. Model Rule-Obj-Model Providesliteral constant or computedvaluesto initializeproperties. Portal Rule-Portal Controlsappearanceandcontentsof desktopportal Ticket Rule-Obj-Ticket Marksflowprocessingthat occursafter exceptional events WorkParties Rule-Obj-WorkParties Typesof participantswhichmayparticipatein aworkobject Harness Rule-HTML-Harness Determinesappearanceandbehavior of work object forms ServiceLevel Rule-Obj-ServiceLevel Definestarget timeintervalsfor performing assignments ClassGroup Data-Admin-DB-ClassGroup Causesinstances(typicallyworkobjects) of multipleclassestobestoredinonetable Flow Rule-Obj-Flow DefinesaworkflowusingMicrosoft Visio, linkinga businessprocesstoactivities, flowactions, computations, andother rules Correspondence may include fragment Sections within sections Harness rule references section rules Unit belongs to a division Division belongs to an organization Access group identifies one or more portal rules Class group consolidates instances of classes Constraints rules restrict values of a property HTMLProperty Rule-HTML-Property HTMLcodetopresent apropertyasinput or display. FieldValue Rule-Obj-FieldValue Enumeratesaset of allowedvaluesfor a SingleValueproperty. - DatabaseTable Data-Admin-DB-Table Associatesaclasswiththedatabasetablethat containsobjectsof that class. Database table belongs to a database Correspondence Type Rule-CorrType Method of correspondencedelivery. Maps instances of classes to database tables Workbasket belongs to a unit Method Rule-Method Basicstepinactivity List View Rule-Obj-ListView Supportstabular reporting. SummaryView Rule-Obj-SummaryView Supportschartsandtwo-level tabular reporting. FormFile Rule-File-Form DefinesHTML/XMLformsfor ruletypes Organization Data-Admin-Organization Top-level organizational object Product patch amends a product Business days are defined in calendar for organization Work group has a manager Unit has a manager Portal may identify a skin for CSS styles Application rules have prerequisite application rules Application Rule-Application ListsRuleSet Versionsfor anapplication. Function Rule-Utility-Function CapturesaJavamethodasarule. Excel Template Rule-Template-Excel Supportssimpletabular dataentry. Correspondence to be sent out by Respond one of three decision rule types Skin Rule-PortalSkin LinkstoCSSstylesfor portal, workobject forms, andreports. SpellChecker Properties Data-Spellchecker-Properties Linksalocaleor languagetodictionaries. FunctionAlias Rule-Alias-Function Simplifiesfunctioncallsindecisionrule. Alternate form Function belongs to library PropertyQualifier Rule-Obj-Property-Qualifier Definesadditional characteristicsfor properties. System Data-Admin-System Identifiesthesystemname. Requestor Type Data-Admin-Requestor Identifiestypesof requestors. SystemNode Data-Admin-Nodes Holdsnodedescriptions. Node belongs to system Requestor Type defines access to system WordTemplate Rule-Template-Word Supportsspecial attachments. Agent runs on node Agent per node Version may have prerequisite versions RuleSet Version Rule-RuleSet-Version Layer of ruleversionsthat overrideslower-numbered versions. Operator works by a calendar Resolve XML Rule-Obj-XML AssemblesXMLdocumentsusingstream processing. Legend Colors Rule types Administrative data classes Activity can call or branch to another Activity Rule-Obj-Activity Automatesprocessingthroughasequenceof steps. Mayreferencemost other ruletypes Research A comprehensive suite of rules and data classes supporting integration with other systems. Arrows Blue lines indicate references to rules, resolved by a dynamic lookup algorithm. Orange lines indicate references to data instances, indicating static foreign-key relationships. Many references provide only partial keys. At runtime, context determines the remaining key parts. Black lines group similar objects or indicate indirect relationships Operator ID Work Group Operators belong to a work group Types Description of this type Form name Type Special characteristics of this rule or data class Correspondence Rul e- Obj - Cor r DefinesHTMLfor outgoingcorrespondence Each step of an activity uses a method Connectors Rule-Connect-*** Initiateaccesstoexternal systems, with ProcessCommander asclient. Services Rule-Service-*** Respondstorequestsinitiatedbyexternal systems, withProcessCommander asserver. Parse Rule-Parse-*** Parses XML and text documents. Division identifies a list of application rules Organization identifies application rules Operators may hold skill ratings Operator belongs to a work group Operator has one or more access groups AccessRole Rule-Access-Role-Name Definesuser rolenamesfor accesscontrol. Access Role is first key part of Access Role Obj Work pools for operators using this access group Grants privilege to holders of access role May reference Access When May reference Access When Access Role is first key part of Access Role Obj Agent name = RuleSet name Section Rule-HTML-Section Determinesappearanceandbehavior of a portionof aworkobject form Fragments may include fragments HTMLFragment Rule-HTML-Fragment DefinessourceHTMLfor inclusioninanother HTMLrule. HTML rules can include other HTML rules HTML Rule-Obj-HTML DefinessourceHTMLincludingJSPtagsfor streamprocessing. Access group identifies one or more Access roles Reserved rule types Blue Orange White Routing may consider operator skills Router algorithm may send an assignment to a workbasket or worklist Access group identifies application rules Section rule may include HTML rule Any stream rule can include fragments Fragments within fragments Correspondence Fragment Rule-Corr-Fragment DefinesanHTMLtext segment. HTML and CSS for work object forms HTML and CSS for portal layout and gadgets Portal spaces and gadgets link to reports Patch lists one or more versions Application rule lists RuleSet versions Connector Call or Branch Split- forEach Assignment ApplicationID Data-Admin-AppID Supportsoneapproachtosinglesign-on. Work group has default workbasket Workbasket has a calendar Objects in memory use XML structures. When saved to the PegaRULES database, objects are converted to relational database rows based on property, class, class group, index, database, and database table information. Index creates fast alternate access to embedded properties in objects Database configuration About this chart PegaRULES Process Commander combines rules and data to deliver business results. Developers choose from more than 80 types of rules and 30 administrative data classes to meet application requirements. This chart groups rule types and data classes into nine categories, as used in the Application Explorer and Rules by Type explorer. Boxes represent rule types and administrative data classes. Data Data-Admin-*** Dataobjectsfor integration provide passwords, port numbers, andother specifics. Includes SOAP, SQL, EJB, MQ, JMS, JCA, and .Net Includes SOAP, EJB, MQ, JMS, COM, Corba, File, JSR-94, Email and .Net Wizard and accelerator tools speed development of external system interfaces, accepting metadata as input and creating deployment files as well as rules. Orange and blue arrows show selected relationships among the rule types and data classes, similar to a class diagram or Entity-Relation diagram. Rules in the Process and Portal-and-HTML categories support features used most heavily in Business Process Management applications. Rules in the Technical, Property, and Decision categories support the core rules engine. Integrator shapes identify a Connect activity that processes a connector rule to access an external system. 4 5 5 6 6 6 7 7 9 9 9 10 11 12 12 13 14 3 3 12 Product lists one or more versions DeclareIndex Rule-Declare-Index Automaticallymaintainsindexesfor performanceandreporting An administrator maintains the organization and operators. Process Commander can access an LDAP repository for user authentication. Through CSS styles, developers may customize the appearance of the application. Alternatively, users may access the application from an external portal using JSR-94, JSP or ASP. Flow rules present a business process using easy-to-learn shapes and notation. Flows are created and updated with Microsoft Visio. Shape properties associate rules with each step in a process. A A Report A A H P A A D A A D H P A A H H A A A H H A H P A H P A D A D A D A D A D A D J A A A D J J A H J J A J P A A A D H J P Other resources Copyright January 2006 Pegasystems Inc. Cambridge MA 02142 News www.pegarules.com Education Services www.pega.com/ProductsServices/Education/Education.asp Developer Network pdn.pega.com Document feedback mailto: docteam@pega.com Process Commander, with the PegaRULES engine at its core, drives the principles of work lifecycle management, known as the Six Rs: Receive, Route, Report, Research, Respond, and Resolve. Together, these deliver Simply Smart BPMin a single, integrated application. Blue circles indicate rule types that may reference other rules of the same type. Workbasket belongs to a work group Flow Action Validate Flow action rules reference validate rules Security rules and data instances determine which rules a user can execute and what operations they can perform on each class of objects. Since 1983, Pegasystems has been a pioneer in rules-based Business Process Management (BPM) technology, and is now a leader in the industry. Pegasystems' patented rules technology allows companies to aggregate their diverse business practices and lets business managers rapidly implement change - across the enterprise and over the Web. Business rules are the practices, processes and procedures that define how your company does business. They are an important asset that differentiates enterprises in the marketplace. A D P 7 14 Declarative rule types Receive Version qualifies a RuleSet Model initializes multiple properties List identifies properties retrieved together JavaServer Page tags within source HTML code are converted at runtime to present property values.