+ All Categories
Home > Documents > 01 Class Structures and Hierarchy Design

01 Class Structures and Hierarchy Design

Date post: 04-Apr-2018
Category:
Upload: ravikumar-pallepaga
View: 215 times
Download: 0 times
Share this document with a friend

of 38

Transcript
  • 7/29/2019 01 Class Structures and Hierarchy Design

    1/38

    CLASS STRUCTURES AND

    HIERARCHY DESIGN

    20 % of EXAM

    MATERIAL FOR PRPC CERTIFICATION

  • 7/29/2019 01 Class Structures and Hierarchy Design

    2/38

    System Architecture Understand the difference between a Business Rules Engine (BRE)and a Business Process Management System(BPMS)

    Business Rules Engine (BRE) is a software system that manages business rules, it

    separates the business rules from the application code.

    Engine Types

    Inference

    Derives a conclusion based on a knowledge base

    Answers questions when a user or application submits them

    Example: Should this customer be allowed a mortgage?

    Reactive

    Detects and reacts to patterns of events occurring Performs an action automatically when a certain rule is violated

    Example: Alert a manager when certain items are out of stock

    No User Interface

    External systems communicate through open interfaces with the Rules Engine

  • 7/29/2019 01 Class Structures and Hierarchy Design

    3/38

    Business Process Management System (BPMS) is a software system which allows for the direct

    execution of business processes. Removes the costly and time intensive development of process specific software

    Allows the full business process to be defined Can invoke external services to perform business operations

    Can send messages to human workers requesting they perform certain tasks

    Can call a Business Rules Engine to make automated decisions

    Provides a process driven User Interface

    Pega Rules Business Rules Engine Separates business logic from your mission-critical applications and enables your enterprise

    to capture, manage and execute your business policies and practices

    Pega Rules Provides An inference engine to perform dynamic business decision making

    A reactive engine using declarative rules that are used only when underlying data changes This combination of rule types and processing approaches provides

    Rapid time to production Increased ROI

  • 7/29/2019 01 Class Structures and Hierarchy Design

    4/38

    Identify the elements that comprise Process CommandersJava EE architecture

    PRPC Architecture Overview

    Secure, scalable, upgradeable application framework based on a declarative objectmode

    Shared UI components, business logic, and data model

    Standard data model

    Integrated tool set for extending the data model, business logic, and user interface Pre-built services designed specifically for BPM

    Designed to integrate with an organizations existing IT infrastructure

    Architecture Key Concepts

    Application Server

    Java

    Java Enterprise Edition

    Multi Tired Architecture

    Enterprise Java Beans

    Servlets

    Java Server Pages

    Java Data Base Connectivity

  • 7/29/2019 01 Class Structures and Hierarchy Design

    5/38

    Describe the function of each component of the process

    commander architecture Application Serveris a software dedicated to the serving (running) of other

    applications

    Facilitates

    Programming productivity

    Provides dedicated standard APIs

    Response to demand

    Provides scalability, load-balancing, (re)configuration, deployment Integration with existing systems

    Provides standard services

    SOAP

    Message Queue

    DB Access

    Security

    Java is an object-oriented programming language developed by Sun Microsystems

    Syntax is similar to C

    Is compiled to byte code which is run by a Java Virtual Machine

    Java Virtual Machines (JVM) are available for many different platforms

    Java code can be run on any platform that provides a suitable JVM

  • 7/29/2019 01 Class Structures and Hierarchy Design

    6/38

    Java vs. JavaScript

    Originally developed by Netscape

    Is typically interpreted by a Web Browser

    Does not use a JVM

    Only similarity to Java is the C like syntax

    Java Enterprise Edition is a platform for developing and running distributed multi-tier

    architecture Java applications

    Formerly known as Java 2 Platform, Enterprise Edition (J2EE)

    The Java EE platform is defined by a specification

    Platform vendors must agree to certain conformance requirements in order to

    declare their products asJava EE compliant

    Multi Tired Architecture is a client-server architecture in which an application is

    executed by more than one distinct software agent

    The Java EE standard facilitates a multi-tiered architecture

    Often referred to as n-tier architecture

    Client Tier

    Web Tier

    Data Tier

    Web Browser

    Java EE Platform

    Database Server

    Example

  • 7/29/2019 01 Class Structures and Hierarchy Design

    7/38

    Enterprise java Bean is a server-side component that encapsulates the business logic of an

    application EJBs are deployed in an EJB container within the application server

    Client Tier

    Web Tier

    Data Tier

    Business TierEJB

    Java Servlets are Java programming language classes that dynamically process

    requests and construct responses

    Servlets are deployed in a web container within the application server

    Typically generate HTML

    Client Tier

    Web Tier

    Business Tier

    Data Tier

    EJB

    ServletsHTML

  • 7/29/2019 01 Class Structures and Hierarchy Design

    8/38

    Java Server Pages are Text based documents

    May contain HTML tags

    Contain Java specific tags

    May contain Java code pieces

    A JSP compiler is used to generate a Servlet from the JSP page

    Typically produces HTML

    Web Tier

    JSP JSP Compiler Servlet HTML

    Java Data Base Connectivity is an application programming interface (API)

    specification for database connectivity

    -Encodes database request statements in structured query language

    (SQL)

    Client Tier

    Web Tier

    Business Tier

    Data Tier

    JDBCSQL

    SQL

  • 7/29/2019 01 Class Structures and Hierarchy Design

    9/38

    Describe how work objects and rules are stored in thedatabase

    Users create work instances that are saved to the database while running an application

    Work is stored as XML documents which are written to the database

    Stored as Binary Large Objects (BLOB)

    System Architects can select Work data to be stored in standard columns allowing

    for improved reporting and querying

    XML

    Users

    Work

    Work Database

    XML

    System Architects modify and create object instances that are saved to the database

    Known as Rules

    Rules are stored as XML documents which are written to the rule repository databaseAt runtime the XML documents are parsed and converted to Java code for execution

    XML

    System Architects

    XMLRulesJava

    Rules Repository

  • 7/29/2019 01 Class Structures and Hierarchy Design

    10/38

    Reusability and Hierarchy Design Define reusability and its impact on application design

    Reusability Of assets across an organization is integral to the success of a project

    By gathering the right requirements, and applying the principles of reusability and class

    hierarchy design heuristics, you will always create systems that deliver on the value

    promised . Ultimately, the reusability requirements drive the selection of your class

    hierarchy design pattern .

    Describe the difference between applicationreusability and organization reusabilityApplication Assets are specific to an application and common to more than one business unit

    For example, all divisions across BIG have some type of Policy Administration

    Organization Assets common across multiple divisions or applications

    For example, LDAP integration

    Understand the difference between one Offapplication and a reusable applicationGeneralized

    Define a common interface for its sub-application Defers some of or all of its implementation to application assets defined in its

    sub-applications

    The assets that an generalized application declares but does not implement are

    called generalized assets.A solution framework is an generalized application

  • 7/29/2019 01 Class Structures and Hierarchy Design

    11/38

    Specialized

    Applications that are not generalized are called specialized applications

    One Off application is a specialized one.

    Identify the scope of reusable components within acompanys organizational diagram

    We can create reusable components for an organization, divisions and units and also for a

    group of users. We can design these components where ever the similar kind of functionalityis seen across divisions, units and organizations.

    Design and create an organizational structure comprised ofan organization, divisions, and business units

    In PRPC the following rules are used for creating organization, Divisions, and Business Units.

    Data-Admin-Organization

    Data-Admin-OrgDivisionData-Admin-OrgUnit

  • 7/29/2019 01 Class Structures and Hierarchy Design

    12/38

    Understand the concept and benefits of building on acommon application layerIf we want to develop a frame work which can be used by different independent vendors to

    implement solutions upon that we need to build a common application layer. This layer can

    be reused and customized according to the requirements. The basic functionality will be

    residing in this common application layer.

    For example if we develop a application layer for a banking domain, the same can be used by

    independent software vendors to develop/customize the application.

    Design and implement reusable class structure withappropriate top, divisional, and class group levels and workclasses.

    Always while designing the class structure, the best practice is we should apply class level

    sense according to the business hierarchical structure of the organization.

    Organization --- Division --- Unit levels can be transformed to

    Top level class --- Divisional level --- Class group level with respect to PRPC. Each class group

    level will be a unit / application where in different process can be initiated. By Default PRPC

    is shipped with and Organization called Pega.com.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    13/38

    Classes and Class Groups/ Work Pools Create Classes and Class GroupsA Class group is an instance of the Data-Admin-DB-ClassGroup. A class group instance causes

    the system to store the instances corresponding to two or more concrete classes that have a

    common key format in a single database table. Class groups are commonly used to cause the

    system to store instances of similar or related Work- concrete classes together in one

    relational database table.

    While Creating the class group we need to specify the key for the group. Generally it ispyID.

    Understand the purpose of a class group and its relation tothe applications database and a users work poolDifferent work types (classes derived from the Work- base class) are grouped in to one class

    group and when this class group is added to a user in his access group, user can work on

    through each work type of each class groups. Class groups so added are called as Work pools.Instances ofData-Admin-DB-Table are used for mapping the classes and class groups with DB

    tables. At any point of time, if a class is not mapped to any DB table, its instances are

    stored in its super classs mapped table. The principle is recursive.

    All the classes belonging to the class group will have the same keys of the class group.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    14/38

    Describe the difference between the abstract and concreteclassesAbstract Classes can contain any rule type

    Cannot contain instances

    Great for reuse

    The name of a abstract class must end with a dash (-).

    Concrete classes hold persistent objects, known as instancesNames must not end with a dash (-)

    Names should define the type of work being performed.

    Understand the concept of top-level and base classesTop level classes are always abstract and inherit from the @baseclass.

    Top level class is an abstract class that has the ultimate base class @baseclass as parent but

    is not one of the standard base classes.

    @baseclass is called as the ultimate base class. And its immediate child classes like Data-,

    Work-, Assign- etc are called as base classes.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    15/38

    Understand the difference between pattern and directedinheritancePattern inheritance Causes a class to inherit rules from classes that match the prefix of the

    class name. Uses prefix segments that are followed by a hyphen.

    Directed inheritance is Is explicitly specified by the developer. It allows a class to inherit

    from a class not related to its name. A base level class always has directed inheritance from

    @baseclass .

    A class can use both types of inheritance at the same time. It can have only one patternparent and one directed parent. Must always have a directed parent.

    PRPC uses an algorithm to determine inheritance Known as the Rule Resolution algorithm.

    For Determining Inheritance Pattern inheritance is used first, If the algorithm fails to

    find any rules using pattern inheritance, it starts again using directed inheritance

    While Creating the class, mentioning the direct inheritance is inevitable. Pattern inheritance

    is optional. If pattern inheritance is mentioned by checking in the check box, Pattern

    inheritance takes the precedence.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    16/38

    Rule Sets and Rule Resolution Design and create a Rule set hierarchy and its prerequisitesA Rule Set is a container that stores a related group of business rules and provides:

    Security

    Version control

    Ability to deploy your application in a different Process Commander environment

    Rule Set Hierarchy Design

  • 7/29/2019 01 Class Structures and Hierarchy Design

    17/38

    Rule Set Hierarchy at runtime

    Searches RuleSets in the order in which they appear in users Profile list

    User Profile list is assembled from:

    Requestor

    Organization

    Division

    Access group

  • 7/29/2019 01 Class Structures and Hierarchy Design

    18/38

    Best Practice for Ordering RuleSets

    Personal RuleSets first (happen automatically)

    Production RuleSets RuleSets that are unlocked to allow changes

    RuleSets in an Application rule RuleSets that are locked

    Pega-ProCom, Pega-IntSvcs, Pega-WB

    Pega-RULES (always last and happens automatically)

    Rule Set Hierarchy at runtime

    When editing a rule Not possible to guarantee what the profile of the user is

    Therefore, RuleSet list of requestor is not used

    A RuleSet list is generated from the rule being edited and its prerequisites

  • 7/29/2019 01 Class Structures and Hierarchy Design

    19/38

    Tips for Rule Set Hierarchy design

    Limit the number of RuleSets to the minimum amount necessary

    Create a RuleSet only if it has a reasonable chance of holding rules

    Use the Initial Setup Wizard to create the organizational RuleSet

    Use the Application Accelerator to create the first RuleSet needed for eachapplication

    A RuleSet can inherit features from other, prerequisite RuleSets and also fromlower-numbered versions of itself

    As a best practice, update the RuleSet Version rules created by the ApplicationAccelerator to identify Pega-ProCom:04-02 as a prerequisite to each of yourapplication RuleSets

    Understand the Connection between Classes and RulesetsWhile creating a new class you need to Identify the RuleSet version number that

    applies to the class. The Archive tools depend on this version. The Export Archive tool

    includes this class instance if you export this RuleSet version or a higher-numbered

    version.

    However, version information in class rules is not used for rule resolution. You cannot

    define multiple class rules with the same class name but different versions.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    20/38

    Understand Ruleset versioning and why it is important toapplication development and configuration development

  • 7/29/2019 01 Class Structures and Hierarchy Design

    21/38

    Versioning at configuration management controls the exact application behavior, atdevelopment time it controls the access to the developers.

    Understand how to provide users with access to RulesetsWe can add rulesets at either at Organization or at Division or at access group, but not at

    the unit. It is not mandatory to add the rulesets either at Organization, division and the

    access group. We can add at all these places, at the same time we can refrain by not adding

    at any of these places.

    Significance of adding rulesets at Organization: We can add one or more rulesets to

    organization for providing access to all the users belonging to that organization to the

    specified Ruleset. Assume an application like leave application which needs to be

    accessed by all the employees of organization, and then perhaps we may like to add leave

    applications rulesets at Organization level.

    Significance of adding rulesets at Division: We can add one or more rulesets to division for

    providing access to all the users belonging to that division. Assume an application like Loan

    application of a bank which needs to be accessed only by the employees of Loans division,

    then perhaps we may like to add Loan applications rulesets at Loan division level, so that

    other divisions in the same organization can not have access the Ruleset

  • 7/29/2019 01 Class Structures and Hierarchy Design

    22/38

    Significance of adding rulesets at Access Group: We can add one or more rulesets to accessgroup when we think that security needs to be controlled basing on the specific job function.Assume that an application like Heart allocation request application is being developed forall the Project Managers in Virtusa for making resource requests for their projects. Then wecan think of adding this application Ruleset in an access group called PM, so that all PMsacross all the divisions in Virtusa can access this application.

    Understand the reasons of locking rule setsYou can use the Security tab to lock the Ruleset by requiring developers to enter apassword when they update the Ruleset, or add or update version instances for the Ruleset.

    We can avoid tampering/misuse of rules (assets) by locking the rule set when the applicationis shipped for production.

    Describe rule resolution, how it works, and how it impactsrule set hierarchy design

    Picking up right rule at right time is called as rule resolution. Process by which Process

    Commander decides which rule (of a series of possible rules) will be used to execute anaction.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    23/38

    Dynamic selection of rule involves the following steps Business process

    Product

    Organization

    Ruleset and version

    Date

    Time Circumstance

    Security

    We have to design the rule set hierarchy considering the process of rule resolution. At run

    time it checks for the order we have configured rule sets in the access group. We have to

    check for where exactly a particular rule fits in the organization and accordingly we need to

    create multiple rule sets to modularize the application into different rule set constituents.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    24/38

    Availability of the rules: Availability is an important aspect of any rule for it to beconsidered by Rule resolution algorithm. pyRuleAvailable property represents whether agiven rule is available or not ? At any point of time, this property can be set with either ofthe following four values

    YES : Indicates that this rule is available. Rules with a Yes value are visible torule resolution processing and executed.

    NO : Indicates that is rule is not available and become invisible to the ruleresolution algorithm for all users (including yourself). The No setting is useful inexperimentation and troubleshooting to assess the effect of two rule versions.

    Ex : If you are setting No status for a rule of version 01-01-03, still 01-01-01, 01-01-02, 01-01-04 of same rule are visible to rule resolution algorithm

    BLOCKED : This is a stronger form of No because it affects all lower-numberedversions of the rule and it makes all lowered numbered including this version notto be visible to rule resolution algorithm. Note : A blocked rule does not preventrule resolution from finding (and running) higher-numbered versions

    Ex: If you are setting BLOCKED status for a rule of version 01-01-03, onlyupper versions like 01-01-04.. of same rule are available to ruleresolution algorithm. Lower version like 01-01-01 and 01-01-02 are notavailable for rule resolution algorithm

    FINAL : We need to set availability to Final if we want this rule to be available(equivalent to Yes), but want to prevent others from overriding this rule in anyother RuleSet. A final rule can be superceded by a higher-numbered version (inthe same RuleSet), but not by any version in any different RuleSet.

    A rule is said to be available only when its availability is either Yes or Final

  • 7/29/2019 01 Class Structures and Hierarchy Design

    25/38

    Application Deployment

    Create a Rule-Admin-Product instance to create a zip file ofan application and its data instances

    Rule-Admin-Product instance allows you to specify in great detail which rules to save

    RuleSets (and versions)

    Data instances

    When rules specify criteria for data instances

    Creates a zip file containing rule and data instances to upload into a separate system

  • 7/29/2019 01 Class Structures and Hierarchy Design

    26/38

    Understand the impact of RuleSet versioning on the deploymentand migration of rules

    You can use these tools to copy a product or RuleSet from one Process Commander system to another. (Also calledmigrating or moving, this procedure doesn't alter or delete the source rules.)

    For example, you can move a product from a smaller development or test Process Commander system into aproduction Process Commander system. The source and destination systems may have different servers, operatingsystems, database vendors, Web server software vendors and so on. Information inside the ZIP file consistsentirely of XML documents in Unicode characters.

    Confirm that you have a working Operator ID with a PegaRULES:SysAdm4 access role on both the source systemand destination system.

    Confirm that the Process Commander version number of the destination system is not less than the version numberof the source system. Don't attempt to move a RuleSet created in version 05-01-06 into a system based on version04-02-01.

    Review the RuleSets version rules to be included. Note the prerequisite RuleSets and versions they reference. Ifmoving more than one RuleSet, note whether and how they are interdependent.

    On the destination system, access the Rules by Type Explorer. Confirm that the destination system includes all theprerequisite RuleSets and versions needed.

    On the source system, create a Product rule or Product Patch rule if you need to include data instances or aninstallation activity in the ZIP archive.

    On the source system, examine the All Checkouts report to make sure none of the rules to be migrated is checkedout. Choose the View > Rules > All Checkouts menu item to produce this report. On the source system, use Rules per RuleSet, Version, Class report (in the Rule Reports area of the MonitorActivity slice to estimate a count of rules to be included in the ZIP archive. (The reports show only up to 10,000rules. The ZIP archive may contain more than 10,000 rules.)

    Export the ZIP archive. Copy the ZIP archive to the destination system. Import the ZIP archive. Adjust your access group as necessary to provide access to the uploaded RuleSets and versions. Log off, then log in with the updated access group, and review the uploaded results. If they are satisfactory, this

    may be a good moment to lock the imported RuleSets and versions.

    Consider whether a new class group and work type structure is appropriate for deployment of the application.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    27/38

    Able to port an application and install it to run in parallel withan existing applicationFollowing are the common steps to port an application

    1. Save all the rules

    2. Make a Rule-Admin-Product

    3.Use the import archive tool to import the zip file

    Understand and apply the concepts of portability andparallelism

  • 7/29/2019 01 Class Structures and Hierarchy Design

    28/38

    Application Rule Explain the purpose of application rule

    Rule-Application is the place where we specify the RuleSet lists so that this list can be shared acrossmultiple user configurations. This ensures the following benefits:

    Reduce the namespace problems

    Smaller and efficient caching

    A user can have multiple applications.

    Allows users to have different privileges across different applications.

    Previously though multiple applications are allowed, its only through the mixed ruleset lists i.e., the

    Rulesets required are combined as a single long list. So multiple applications coexist in the single

    ruleset list.

    The PegaRules 5.1 is so developed to adopt the application focused user configuration. Rule-

    Application alone remains as the center where we mention the rulesets list, which the user has access

    to. If the user works with a particular application, then that particular ruleset list becomes the

    pxThreads active ruleset list.

    Understand the connection between application rules, Rule Sets andrule resolutionIn the rule resolution process the engine checks for the application rules which are configured in the

    access group and also the order in which the rule sets are configured in Rule-Application also important.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    29/38

    Units of Work Define and understand the differences between the basic

    units of work and their associated work classes:Work-Object-

    A work object is the primary unit of work completion in an application, and theprimary collection of data that a flow operates on.

    As an application is used, work objects are created, updated, and eventuallyclosed (resolved).

    Every work object has a unique ID (property pyID), an urgency value, and a status(property pyStatusWork).

    Work-Cover- A cover is a work object that is also a parent to one or a few other related work

    objects. Typically one work party such as the customer party is present inthe cover work object and also present in all of the covered work objectsassociated with it. The covered work objects are the children in a parent-childrelationship.

    Internally, a cover is a work object in a concrete class derived from the Work-Cover- abstract class.

    A cover work object provides a means to coordinate processing of the relatedwork objects. Normally, the system resolves a cover work object once all its"member" covered work objects are resolved. The standard ticket rule Work-Cover-.AllCoveredResolved alerts a cover flow that all the member work objectshave been resolved.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    30/38

    Locking a covered work object normally also locks the cover work object. This is

    desirable as the cover work object may contain totals, balances, counts or otherderived information that require single-threaded access. Normally, the cover

    work object is added to the clipboard using a page named pyCoverPage; the

    covered work object is on a page named pyWorkPage.

    The covered work objects may be of various work types. However, the work type

    of the cover and the work type of the covered objects must all belong to the

    same work pool.

    Work-Folder- A folder is a work object in a concrete class that inherits from the Work-Folder-

    class. A folder object holds a collection of one or more other work objects (which

    themselves may be basic work objects, other folders, or covers) providing access

    for analysis and reporting.

    By convention, the work object ID of folders has the format F-99999.

    In contrast to covers:

    One work object may be associated with multiple folders, but only with one

    cover.

    Members of a folder can belong to various work types, which need not be all in a

    single work pool.

    The relationships between folder work objects and their contents may be many-

    to-many.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    31/38

    Understand the inheritance structure of workclasses@baseClass

    Work-

    Cover-

    Folder-

    Object-

    Understand when to inherit from work-object-versus work-cover-

    Generally we use Work-Object- inheritance for individual work objects, if we want toprocess multiple dependent work objects which are tightly coupled, covers (work-cover-)

    can be used. If the work objects are not tightly coupled then we can use Folders for

    resolution of multiple tasks.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    32/38

    Explain how a work object ID is defined

    A work object ID is the permanent, external identifier of a workobject, the value of property Work-.pyID.

    Prefixes and suffixes

    For every work object, either the prefix or suffix must be present.Normally the system assigns a permanent work object ID automaticallyas a work object is created. The standard utility activity named Work-.GenerateID uses the standard properties pyWorkIDPrefix andpyWorkIDSuffix in its computation.

    For example, the prefix of work object Q-1432 is Q. The prefix of thework object MORT-763-K4 is MORT. The suffix of work object 15378-DRis DR.

    If you don't specify a prefix, the Work-.GenerateID activity uses W as

    the prefix and no suffix. The Work-Cover-.GenerateID activity uses Cas the default prefix. Conventionally, the F prefix identifies folderwork objects.

    The internal class Data-UniqueID supports work object numbering, andensures that work object IDs are unique system-wide, not just withinan application or organization.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    33/38

    Describe how flow execution moves between awork object and its cover during processingWhen the flow belongs to class which inherits form Work-Cover- Cover related data can be

    seen in pyWorkPage.

    When the flow belongs to Covered class, Cover related information can be seen in

    pyWOrkCover and CoveredWork can be seen in pyWorkPage

    Locate Work objects and covers on the clipboard

  • 7/29/2019 01 Class Structures and Hierarchy Design

    34/38

    Wizards and Accelerators Understand the purpose and output of external setup wizard

    An optional step during installation or upgrade of a Process Commander system,the External Setup wizard creates a starter kit of rules and data instances based

    on a single input text value.

    Ordinarily, the External Setup wizard is not started from within the Process

    Commander portal.

    For example, if the installer enters Alpha, the External Setup wizard creates

    these instances:

    A RuleSet named Alpha and a Version 01-01-01

    An organization Alpha.com, a division AlphaDiv in the organization, and a unit

    AlphaUnit within the division

    A top-level abstract class Alpha- referenced in the Organization data instance

    An application rule AlphaApp

    A workbasket named [email protected]

    A work group named [email protected]

    An Operator ID named [email protected], linked to the Developer portal

    and the application rule.

  • 7/29/2019 01 Class Structures and Hierarchy Design

    35/38

    Understand what needs to be created prior to andafter running the Application Accelerator inadvanced mode

    Pre Application Accelerator set up

    Create Rule Sets

    Add new Rule Sets to application ruleReset your Ruleset Access

    Create new classes

    Post-Accelerator manual Entry

    Complete Set up of your application

    Create RuleSet and RuleSet versions

    Create classes

    Add new class group to work classes

  • 7/29/2019 01 Class Structures and Hierarchy Design

    36/38

    Understand the purpose and output of theApplication Accelerator when run in advancedmode

    Streamlines the process of setting up the foundation for your application

    Guides you through the initial development steps when you construct a newapplication

    Allows you to build the elements of your application from the Class Group downApplication Accelerator Creates

    A RuleSet and version for the application which is added to your access group

    A simple class structure, including covers and work-related classes

    A class group (work pool) and supporting database table

    Work object and cover prefixes

    Properties and models

    Work parties

    Work object forms (harness and section rules) with your application propertiesadded

    One or more basic flows

    Workbaskets, worklists, and work groups

  • 7/29/2019 01 Class Structures and Hierarchy Design

    37/38

    Application Guardrails Identify the guard rails and describe their intent Adopt an Iterative Approach

    Establish a Robust Foundation

    Do Nothing That Is Hard

    Limit Custom Java

    Build For Change

    Design Intent-Driven Processes

    Create Easy-To-Read Flows

    Monitor Performance Regularly

    Calculate and Edit Declaratively, Not Procedurally

    Keep Security Object-Oriented Too

  • 7/29/2019 01 Class Structures and Hierarchy Design

    38/38

    Know how to validate guardrail compliancewhen building an application The Application Preflight tool performs a number of checks on the rules in

    the currently selected application. These checks are designed to encourage good

    design and implementation practice, such as codified in the SmartBuild

    guardrails and elsewhere.

    A rule in your application may work correctly and save without errors, but stillbe marked with a warning (). The Application Preflight tool summarizes these

    warnings.

    For example, a decision table rule may contain two rows that conflict give a

    different result for the same inputs. You can save the rule and execute it within

    your application, because the uppermost row of the table is used at runtime,

    and other conflicting rules are ignored. However, the conflict may indicate that

    the rule was not entered correctly.

    You may perform the preflight check at any time during development. As a best

    practice, use the preflight tool before locking a version of a RuleSet, and

    research each warning message.


Recommended