KS configuration application workshop Kuali Days :: Chicago May 13-14, 2008
Kuali Days :: Chicago May 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 2007 January-June 2008 June - November R0 desisign and impl: Dictionary Search Workflow Rules 2. R1 design: Learning unit mgmt
Kuali Days :: Chicago May 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 DictionarySearch Service engine CXF Servlet container Tomcat ESB ServiceMix JAXBJAX-WS Rules engine Drools Google Web Toolkit uPortal 3.0 UI layer ERP middleware Mapping frameworks Eclipse workbench Technology stack
Kuali Days :: Chicago May 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
Kuali Days :: Chicago May What is the Configuration Application?
Kuali Days :: Chicago May What needs to be configured? Configuring data (codes, internationalization, attributes) Configuring searches Defining rules Configuring processes Configuring security
Kuali Days :: Chicago May 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)
Kuali Days :: Chicago May 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”
Kuali Days :: Chicago May 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
Kuali Days :: Chicago May 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)
Kuali Days :: Chicago May 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?
Kuali Days :: Chicago May Dictionary: assumptions/questions Dictionary service Person Service Contact Service Learning Unit Service Person Service Dictionary Contact Service Dictionary Learning Unit Service Dictionary -OR-
Kuali Days :: Chicago May Dictionary: assumptions/questions Question: Should there be a separate UI dictionary for: Labels and text Error messages Internationalization
Kuali Days :: Chicago May Identity management: scope and boundaries Scope of Kuali Identity Management (KIM) Person identity information Authentication Authorization Permissions Roles
Kuali Days :: Chicago May 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
Kuali Days :: Chicago May What is the Business Rules Management System ? Data Warehouse Business Service Rules User Interface Drools Executable Rules Rule Execution Engine BRMS Rules Metadata Rules Business Service Get AgendaExecute Rules
Kuali Days :: Chicago May 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)
Kuali Days :: Chicago May Security: scope and boundaries Scope of Kuali Identity Management (KIM) Person identity information Authentication Authorization
Kuali Days :: Chicago May 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