ks configuration application workshop kuali days :: chicago may 13-14, 2008
TRANSCRIPT
KS configuration applicationworkshop
Kuali Days :: Chicago May 13-14, 2008
2Kuali Days :: Chicago May 13-14
What part of Kuali student project are we talking about?
Technology selection phase
1. Technology stack selection document
2. Application architecture
3. Poof-of-Concept 1
Application architecture
UI framework, services devl, BRMS
Services design
Config: ERP middleware
R0, R1 design
1. UI framework selection
2. Service development infrastructure
3. Services design
4. BRMS
5. Proof-of-Concept 2
August-December
2007January-June
2008
June - November
2008
1. R0 desisign and impl:
Dictionary
Search
Workflow
Rules
2. R1 design:
Learning unit mgmt
3Kuali Days :: Chicago May 13-14
KNS
What part of Kuali student architecture are we talking about?
Database
Derby
Code mgmt
SVN
Build
Maven
Unit test
jUnit
Identity mgmt
KIM
Workflow
KEW
Business rules
BRMS
JPA
Hibernate
Dictionary Search
Service engine
CXF
Servlet container
TomcatESB
ServiceMix
JAXB JAX-WS
Rules engine
Drools
Web ToolkituPortal 3.0 UI layer
ERP
middleware
Mapping
frameworks
Eclipse
workbench
Technology
stack
4Kuali Days :: Chicago May 13-14
Session objectives
Session objectives
Overview of what configuration entails
The goal of the workshop is not to discuss specific implementation issues, but rather: Scope and boundaries of the configuration tools Business assumptions underlying the tools
Elicit feedback from the audience
Clarification on the Rice-Kuali Student relationship
5Kuali Days :: Chicago May 13-14
What is the Configuration Application?
6Kuali Days :: Chicago May 13-14
What needs to be configured?
What needs to be configured?
Configuring data (codes, internationalization, attributes)
Configuring searches
Defining rules
Configuring processes
Configuring security
7Kuali Days :: Chicago May 13-14
What are the tools to do the configuration
What are the application components that enable configuration? Solutions for Kuali Student: Search framework (tbd) Dictionary services (tbd) Workflow (KEW) Authorization (KIM) Rules management (BRMS under development)
8Kuali Days :: Chicago May 13-14
Searching: assumptions
Service layer assumptions
All objects will need to be searched for in some way
Each type of object will need it's own way of searching it (criteria specific to that object)
There will be a need to combine information (join) that is managed by different services
We can't assume the persistence mechanism for the objects (they won't all be in the same database)
UX layer assumptions
Having a common way to do a search is less confusing and easier to learn
Maybe there is a “simple search” and an “advanced search”
9Kuali Days :: Chicago May 13-14
Searching: scope and boundaries
The search framework is not a data warehouse. Where do we draw the line between searching operational data and reporting from a data warehouse?
Operational data example:Students in Applied Science who won the Planck award last semester
Reporting example:What is the distribution of the Planck award across faculties over the last five years
10Kuali Days :: Chicago May 13-14
Dictionary: scope and boundaries
A collection of information about data fields
Code tables (enumerations). Eg country/state codes
Data validation (length, types, regex)
Configurable attributes
Labels (screen names for data fields)
11Kuali Days :: Chicago May 13-14
Dictionary: assumptions/questions
Question:
Should there be one set of dictionary services for the entire service stack
-OR-
Should each service maintain its own dictionary?
12Kuali Days :: Chicago May 13-14
Dictionary: assumptions/questions
Dictionary
service
Person
Service
Contact
Service
Learning Unit
Service
Person
Service
Dictionary
Contact
Service
Dictionary
Learning Unit
Service
Dictionary
-OR-
13Kuali Days :: Chicago May 13-14
Dictionary: assumptions/questions
Question:
Should there be a separate UI dictionary for:
Labels and text
Error messages
Internationalization
14Kuali Days :: Chicago May 13-14
Identity management: scope and boundaries
Scope of Kuali Identity Management (KIM)
Person identity information
Authentication
Authorization Permissions Roles
15Kuali Days :: Chicago May 13-14
BRMS: scope and boundaries
Any business rule. Here is one set of definitions from Ross:
Rejector (or constraint) E.g. Pre-requisite, co-requisite rules Degree audit rules
Producer (calculation or computation) E.g. Fee calculation rules GPA calculation rules
Projector – stimulus/response rule. E.g. Triggering an admissions evaluation based on a rule about the
completeness of data
16Kuali Days :: Chicago May 13-14
What is the Business Rules Management System ?
Data Warehouse
Business Service
Business Service
Rules User
Interface
Drools
Executable Rules
Rule Execution Engine
BRMS
Rules Metadata
Rules
Business Service
Get AgendaExecute Rules
17Kuali Days :: Chicago May 13-14
Configuring processes: workflow
Workflow: managing processes that involve human interaction
Key components (of KEW): Action lists (what I need to do next) Routing (who needs to do what next) Documents (a container for any object that needs to be worked on)
18Kuali Days :: Chicago May 13-14
Security: scope and boundaries
Scope of Kuali Identity Management (KIM) Person identity information Authentication Authorization
19Kuali Days :: Chicago May 13-14
Discussion
Discussion Searching
Scope and boundaries Business assumptions
Dictionary Scope and boundaries Business assumptions
Rules Scope and boundaries Business assumptions
Workflow Scope and boundaries Business assumptions
Authorization Scope and boundaries Business assumptions