Professional Documents
Culture Documents
February 11, 2008 Editors Rick Burnette, Florida State University Gordon Uyeda, University of British Columbia Tim Heidinger, University of California, Berkeley Joan Shao, University of California, Berkeley Dan Symonds, University of Maryland Contributors
Florida State University Bembry, John Bucior, Andy Develle, Greta Keels, Tom Martin, Tim San Joaquin Delta College Green, Melissa Jennings, Charles MacDannald, Chris Mooney, Catherine Olstad, Ralph Sea, Karen Tyson, Claire Welch, Lynn University of British Columbia Johnson, Heather Kraigher, Patti Lindsay, Audrey Nahm, Cindy Watson, Shannon Yen, Doris MIT Bradley, Betty Thorne, Scott Winerman, Seth Wright, Norm University of California, Berkeley Dew, Cathy Dudek, James Hays, Jon Kuo, Yu-Tin Lazzereschi, LaVern Metzgar, Johanna O'Brien, Thomas Schleifer, Ruth Sturm, Joyce Wilson, Alicia University of Maryland Bauder, Sarah Chowdhury, Shihan Gill, Barbara Granger, Mary Ann Kirksey, Glenn Landi, Michael Passarella George, Michael Phillips, Meridith Ryan, Angela Wu, Teddy Carnegie Mellon University Hill, Brian LaBarbera, Darlene IBM Heuchert, Robert
1 Executive Summary
The Kuali Student Functional Team is responsible for defining the functionality and design of the "next generation" student information system. The foundation of the design is a Service-Oriented Architecture (SOA) that acts as a blueprint, defining specific software services that will deliver the business processes and associated capabilities of the system. This approach underpins the development of a comprehensive services-based system where modules are loosely coupled for maximum flexibility to meet the broadest possible range of business practices and legislative environments. The purpose of the Application Architecture phase was to identify and analyze the services that cut across business domains. The phase resulted in four significant outcomes: 1. Documentation of High-level Business Requirements The high level functionality of the eight business domain areas originally defined in the Program Charter were explored and articulated. This process led to the re-definition of some domains to reflect the discovery of new functional requirements. The resulting business domains are Learning Management Unit (LUM), Scheduling (SCH), Enrollment (ENR), Program Audit and Evaluation (PA&E), Admissions (ADMS), Financial Aid (FA), Student Financials (SFS), and Person Identity (PI). An important element of this effort was to identify design elements needed to develop the Concierge, an application within Kuali Student that anticipates the needs of users and assists them in making timely decisions within the policy framework of an institution. 2. Identification of Service Candidates The business requirements defined for each business domain were broken down into descriptions of service capabilities. Common capabilities were grouped into an initial set of 33 service candidates. The service candidates will be continually tested and refined in future phases against increasingly detailed functional requirements. 3. Domain Partitioning The service candidates were analyzed and refined to clarify which services cut across business domains. A matrix was created to map dependencies between domains and services and among services. The service candidates were separated into logical groupings that will allow them to be worked on incrementally. This will help to scope future releases of Kuali Student. 4. Scoping of Services for Release 1 The results of the domain partitioning were used to identify the common service infrastructure services and Learning Management services to be examined further in the next phase of the project, Service Modeling and Contract Design for Release 1. The Application Architecture phase was completed over a seven month period following the agile development techniques and the Services-Oriented Analysis and Design (SOAD) methodology defined in the Planning Phase of the Kuali Student Project. Along the way, the team validated much of their initial thinking about the design elements, created some new design concepts, and learned a great deal about the process of collaboration. All of these are valuable project outcomes and will be fed into future design work. Specifically, Phase 1 validated that SOA is an appropriate approach for building student systems, as the group identified numerous common services that will be used in more than one domain. As well, the work confirmed that diverse
Application Architecture Recommendations
2 Introduction
The Kuali Student Functional Team was formed in July 2007 to achieve the following three major goals of the Application Architecture phase: Documentation of High-level Business Requirements Explore and articulate the high level functionality of the eight business domain areas defined in the Program Charter (Admissions, Financial Aid, Curriculum Development, Enrollment, Scheduling, Student Financials, Degree Audit, Person Identity). Service Candidate Identification Analyze business requirements to create an initial list of possible service candidates with representative capabilities. Domain Partitioning Analyze and refine service candidates to discover cross cutting services. Map the service dependencies between domains and services and among services to meet business requirements. Separate service candidates into logical groupings that can be worked on incrementally. This will help to scope future releases of Kuali Student. Scoping of Services for Release 1 Identify service candidates that are required to support the base functionality for Release 1.
The Functional Team modified versions of existing Service Oriented Analysis and Design (SOAD) methodologies to meet the goals for this phase of the project. The resulting three-phase methodology was required to address the unique demands of a community development project involving multiple institutions. The team developed this new methodology with the support of external SOA experts over the course of seven months, four workshops and numerous virtual meetings. This methodology will continue to evolve and be evaluated at future phase milestones. The first phase of the new Kuali SOAD methodology focused on gathering business requirements. Teams comprised of 7-10 business analysts (BA) and Subject Matter Experts (SME) representing every institution gathered specific domain requirements from their home institutions prior to a 4-5 day workshop. During the workshop the domain teams brainstormed new possibilities in domain functionality and captured requirements using functional statements, conceptual data models and swim lane diagrams. The teams continued to meet virtually and refine the artifacts after the workshop. Institutional reviews and gap analyses were performed at the end of the phase. The second phase focused on the identification of service candidates and service capabilities. The business requirements from Phase 1 were decomposed into descriptions of the capabilities that would need to be accommodated by the service candidates. The capabilities were examined to find commonalities and then recomposed into an initial list of service candidates. The service candidates were then mapped to one or more of the business domains to identify which services need to be packaged into the upcoming releases. In the process of mapping candidates to domains, the service candidate list was further modified because of re-conceptualization of both services and domains. The next phase in the Kuali Student SOAD methodology reviews and refines the services and capabilities and creates the Service Contracts. The details for the Service Modeling and Service
3 Business Domains
The following section articulates the main functional concepts that were discovered as a result of using the SOAD approach. The workshops were organized around traditional domains. Once the teams divorced themselves from the traditional domain-centric thinking and focused on commonality and flexibility, many new concepts emerged. For example, the traditional concept of an admissions application was extrapolated into sub-processes that were very similar among different domains and eventually lead to the concept of evidence management. Domain labels themselves changed throughout the course of the process: Degree Audit became more accurately known as Program Audit and Evaluation. Overall, the benefits of increased flexibility were highlighted in the Learning Unit and the Learning Plan areas and were used to create the service candidates found in the next section. This section provides a summary of discoveries from each of the business domains during the Application Architecture phase. It also identifies concepts that would support the Charters vision for the Concierge. Domain capabilities and high-level use cases can be found in Appendices A and C. Information about accessing conceptual data models of user requirements and swim lane diagrams for representing the relationship between business processes and the actors affecting those processes can be found in Appendix I.
3.1.6 Templates
LU templates can be thought of as an iterative cascade of structure and rules as each level (LUT > CLU > LUI) is created. The LU Type provides a template for the CLU and the CLU in turn provides a more complete "template" for the LUI. At each level there are a series of rules to direct the creation of the LU.
3.1.7 Versioning
LUM supports the versioning of CLU and LUI. Versioning allows for learning units to be closed off from being offered but retained in the catalog for historical reference, and to allow for managing changes to aspects of learning units that may occur over time (e.g. prerequisite rules, description).
3.1.10
Learners and potential learners will be able to explore learning objectives and options for acquiring these objectives. Learners will be able to query the institution's catalog using flexible searching utilities. Learners can examine specific learning experiences using the experiences they have completed or those they plan to complete (e.g. How would these courses that I'm interested in satisfy the requirements for an undergraduate minor?). Learners could also use the same information to run queries against all learning experiences offered by an institution to find the experiences that best fit their learning objectives.
11
12
13
14
15
In addition to various displays of the record, the information available in the Enrollment module also facilitates aggregated reporting such as institutional enrollment management and retention reports (e.g. average time to completion, failure rates by program, demographic profile analysis etc.).
16
17
18
19
By analyzing a learner's academic history and objectives, PA&E will make learners aware of other learning experiences that align with their goals and provide suggestions based on how other learners with similar goals and backgrounds may have achieved them.
20
The Financial Aid module design is based on the assumption that Financial Aid maintains a repository of financial data but is not responsible for "real money" transactions. The assumption is that Student Financials handles disbursements, deposits, and audits of learner accounts, even though a separate Institutional Financials or Foundation or Development Office (not parts of Kuali Student) may own and manage the pools of money from which aid is awarded.
22
23
24
3.7.5 Accounting
The SFS will generate Journal Voucher (JV) transactions for revenue, payments, and for Accounts Payable. The JV transactions will be forward to the institution's Financial System for the posting to the General Ledger. The SFS will support the distribution of revenue across multiple accounts.
3.7.6 Reporting
While all modules will need some common service to do routine and ad hoc data mining, it is important to note that "reporting" for the purposes of SFS has an additional fundamental difference. The SFS will report, for auditing and compliance purposes, to official offices, such as the federal government. This may include basic data statistics or information on processes. This would be hooked into a "compile and send" service.
25
26
3rd Party Sponsorship Service* - This service manages the "contract" between a Customer and a Third Party who agrees to pay for some or all of the Customer's Charges. Accounting Service* - This service is responsible for creating Journal Voucher (JV) transactions to support Accounts Payable and Accounts Receivable transactions for the Student Financials services. Admissions Service* - This service manages the admissions process. This service may exist only as a convenience layer to functionality within other services (Person to LU, Workflow, Evidence, etc.). Aid Award Service - This service manages the connection of recipients to awards and the standard Financial Aid package concept. Application Service* - This service manages the catalog of applications at the university. This service may not exist in a general form. Authentication Service [R1] - This service establishes identity only. It may also provide a mapping from the identity "Principal" to the original entity (typically a person or machine process).
Application Architecture Recommendations
27
28
29
30
Kuali Student Service System Application Architecture Recommendations 4.3 Candidate Module Matrix
The Candidate Module Cross Reference Matrix identifies the Service Candidates that are associated with each of the Program Charters Business Domains. The primary purpose of the Candidate Module Matrix is to provide a list of possible services and their relationships to the business domains at a particular point in time. In this phase, the dependencies were based on a very high level analysis that started with domain capabilities which were then aggregated into service candidates. The matrix serves as a vehicle for analysis and discussion. Subsequent analysis may dramatically alter the definition and/or scope of the service candidates and capabilities, which in turn may alter their relationships to the business domains. There are two types of relationships that are considered Direct Dependencies (flagged with X). Dependencies of the first type are those that are called directly by the domain that is the producer of the service (e.g. Pricing and Payment services owned by Student Financials). The second type supports relationships that are created where two domains intersect (e.g. Learning Unit Management is provider of the Product Service which is consumed by Student Financials). Candidate Module Cross Reference Matrix (Services in bold with [R1] are included in the Release One application)
Service Candidate Aid Award Authentication [R1] Authorization [R1] Award Resources Communication [R1] Contact [R1] Dictionary [R1] Enrollment Service Evidence [R1] Financial Account Group [R1] Hierarchy Id Learning Objective Learning Results Learning Unit Service [R1] Logging [R1] Milestone Organization [R1] Payment Person [R1] Pricing Product ENR X X X X X O X X O ? O O O O X X X X ? ? X X X LUM O X X O X ? X ? O X O X O X X X X O X X X X X SCH O X X O X ? X X O O O O O O O X X X X O X ? ? PAE ? X X O X O O X O O O O O O X X ? O ? O X O O PI O X X O X X X O X O X X O O O O X ? X O X O O FA X X X X X X X ? X X O O O O X ? X X ? X X O O SFS ? X X ? X X X ? O X O ? O O O ? X X X X X X X ADMS X X X X X X X X X ? O O O O X X X X ? ? X X X
31
Key
Value Description X O ? Directly dependent upon the service. Not directly dependent upon the service. Functionality within service may be used in the module, though it is at least one step away in each case (through another service). There are still questions as to if the dependencies present are direct or indirect.
32
33
34
35