1 Kuali Nervous System (KNS) Part 2 Presented by: Jerry Neal – KFS Development Manager Geoff McGregor – KC Lead Developer Brian McGough – KRice Project Manager
1
Kuali Nervous System (KNS)Part 2
Presented by:
Jerry Neal – KFS Development Manager
Geoff McGregor – KC Lead Developer
Brian McGough – KRice Project Manager
2
KNS Functionality (Transactional Documents)
• Transactional documents perform a business process or action within the system
• Each transaction document configured in KEW for unique routing process
• Documents that perform similar business actions form groupings:– General Ledger Posting– Accounting– Research
3
• Document Hierarchy
KNS Functionality (Transactional Documents)
4
• Document object is a special business object containing hooks for the document lifecycle
• Actions on documents handled by extending and customizing Rice base classes:– Document base– Action Base– Rule Base
• User Interface constructed on case by case basis by reusing common tags and creating document specific tags
KNS Functionality (Transactional Documents)
5
KNS Functionality (Transactional Documents)
• KFS Transactional Document– KFS uses transactional documents to implement core
financial processing, as well as Purchasing, CAMS, AR and Labor.
– Transactional Document Examples• KC Transactional Document
– KC uses transactional documents to build the web forms that support end-user functions
– Transactional Document Examples
6
KNS Functionality (Custom Tag Library)
• Reusable web content with JSP 2.0 Tags• Provides standard look and feel components
– Page headers/footers– Tabs
• Provides common document components– Document Header/Overview– Notes– Route Log– Controls
7
KNS Functionality (Custom Tag Library)
• Integrated with Data Dictionary:– htmlControlAttribute renders a field using control type
and size declared in dd– htmlAttributeLabel renders a field label using label
defined in dd
8
KNS Functionality (Custom Tag Library)
• KFS Reusable Custom Tag Example– KFS uses custom tags to reuse content such as
accounting line infrastructure– Custom Tag Examples
• KC Reusable Custom Tag Example– KC uses custom tags to build the UI for our
transactional documents– Custom Tag Examples
9
KNS Functionality (System Parameters)
• Special system tables for configuring the system during runtime
• Allow for turning certain features of the system On or Off• Configuration of values used as defaults in the system or
by a process such as validation• Other settings include batch configuration, URLs, & help
10
KNS Functionality (System Parameters)
• Flexible configuration with use of Allow/Deny indicator and List values (including constraining values)
• Each system parameter record is updated by a maintenance document– Access controlled by the parameter workgroup– Can optionally be routed for any necessary approvals
11
KNS Functionality (System Parameters)
• KFS System Parameter Example(s)– KFS uses system parameters to configure institutional
financial values and enable system features– System Parameter Examples
• KC System Parameter Example(s)– KC uses system parameters to configure the UI,
maintain runtime-configurable constants used for business rule logic and decision logic, and to store URIs – and much more
– System Parameter Examples
12
KNS Functionality (Business Validation Framework)
• Basic size & shape validation with Data Dictionary• Fine grained validations written in Java code
– Highly customizable with system parameters and data dictionary overrides
– Extensive code reuse through inheritance and services
• Common infrastructure for adding and reporting errors with error text in resource files
13
KNS Functionality (Business Validation Framework)
• Isolated within the system for easier maintenance and customization
• Built using an event model for scaling as the system evolves– processSaveDocument(…)– processRouteDocument(…)
14
KNS Functionality (Business Validation Framework)
Document RuleEvent W Interface
Request
Call rule interface method
Generate event
KualiRuleService
Busines Rule ImplImplemnts rule interface?
Get business rule impl
Return errors
Document.xml
15
KNS Functionality (Business Validation Framework)
• KFS Business Validation Framework example– KFS extends the business validation framework for
reusable accounting document validation– Business Validation Examples
• KC Business Validation Framework example– KC the business rules framework for processing and
publishing page and audit errors– Logical errors, not form-field size and shape errors– Business Validation Examples
16
KNS Functionality (Extensible Batch Framework)
• Interfaces and base implementations for implementing batch processes:– Step : stage in batch process– Job : one or more steps that run sequentially
• Spring configuration of batch implementations• Built in scheduling of batch jobs with Quartz
– Flexible scheduling configuration– Hard and Soft dependency settings
17
KNS Functionality (Extensible Batch Framework)
• Jobs runnable as standard Java main applications• Optional integration with external scheduler by
overridding SchedulerService
18
KNS Functionality (Extensible Batch Framework)
• KFS Batch Framework example– KFS uses the batch framework to implement core
general ledger processing, budget construction, and labor batch
– Batch Framework Examples• KC Batch Framework example
– None at this time
19
Kuali Nervous System Part 2 Wrap up
• Components that we saw– Transactional Documents
For business process based transactions
– Reusable Custom Tag Library Makes building UI’s for Transactional Documents easier
– System Parameters Allow for runtime configuration changes
– Business Validations Framework Allows for a plug point for writing business validation code possibly
leveraging runtime configurable system parameters
– Extensible Batch Framework Allow for scheduling and management of background work that must
be performed by the system
20
• Questions on what you have seen in Part 2?