16
MSE Portfolio Presentation 1 Doug Smith November 13, 2008 http://people.cis.ksu.edu/~dougs/Site/ Welcome.html

MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

Embed Size (px)

Citation preview

Page 1: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

MSE Portfolio Presentation 1

Doug Smith

November 13, 2008

http://people.cis.ksu.edu/~dougs/Site/Welcome.html

Page 2: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

2

Overview

► High Level Goals

● Satisfy the software engineering portfolio requirements of the MSE program.

● Solve a technical problem at work while doing so.

► Technical Problem

● Scalable replicated metadata caching for an enterprise scale workflow system.

► Approach

● Distill the target system to a smaller representation of the essential transactions

● Use the MSE Portfolio software development life-cycle to design and build the pared-down system, using the same architectural patterns and technology stack as the target system.

● Produce a scalable replicated caching solution as part of the MSE project that can be applied to the target system.

Page 3: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

3

What is workflow metadata, and why cache it?

►Workflow metadata describes process execution

● Process steps, data, presentation, routing rules, etc.

►Good candidate for caching

● Metadata is rarely updated in production environment

● Metadata is constantly read

Data validation, rule evaluation, etc.

►Much easier and cheaper to scale in the application tier

● Cheaper compute cycles in the application tier, scalable via adding boxes to load balanced server pool

● Persistence tier scalability is expensive and complex

Page 4: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

4

What is enterprise scale?

► High volumes

● 1050 different processes

● 600,000 process instances active at any given time

● 20% annual growth in the number of active process in a year

● 17% annual growth in the number of process instances in a year (and associated transactions)

► Business critical

● Service level agreements specify less than one hour unscheduled outage per year

Page 5: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

5

Project Technology Stack

Application Layer

Infrastructure Layer

Environment Layer

Process Definition Web Services

Process Execution Web Services

Spring Framework Hibernate ORM

Log4J

JBoss Cache

JGroupsWebSphere Application

Server

WebSphere Web Services Runtime

Oracle

J2EE

Page 6: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

6

Project Physical Architecture

Web Service Clients

Oracle

JVM

JVM

JVM

JVM

Multipurpose LAN

Dedicated Cluster Multicast Network

Page 7: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

7

Project Functional Scope

►Design and build a process execution engine

● Engine can execute simple processes based on a subset of BPMN

►Engine provides two types of services

● Process definition services for creating the metadata the engine uses at process execution

● Process execution services that use the metadata to control the execution of process instances

Page 8: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

8

Project Quality Attributes

► QA1 - The solution may not degrade average response time or throughput for transactions involving cached data.

► QA2 - Functional correctness must be maintained when caching is enabled.

► QA3 - Application availability must not be compromised by the caching solution. The solution must provide the ability to survive failure of cluster members without compromising application availability or system correctness.

► QA4 - The solution shall provide a role-based security model to constrain access to the functions and data associated with the system based on roles.

► QA5 – the solution shall provide basic authentication and identity management, where users are required to authenticate prior to accessing the system, and user identities associated with one or more roles.

► QA6 – the solution must be scalable to 16 JVMs evenly distributed among 4 physically distinct servers, and reduces database requests for workflow metadata by at least 50%.

► QA7 - data access must be consistent across all JVMs serving application requests. It is unacceptable for results produced by the application to differ based on the server or JVM servicing the application request. In other words the view of the data across all cluster members must be consistent.

► QA8 - the solution must provide the ability to add and remove cluster members as needed without causing errors.

Page 9: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

9

Use Cases – Process Definition

Page 10: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

10

Use Cases – Process Execution

Page 11: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

11

Project Plan – Work Breakdown Structuremse_project [0][dur = 195 days]

Elaboration [2][dur = 63 days]

Architecture Design [2.4]

[dur = 10 days]

Executable Architecture

Prototype [2.7][dur = 20 days]

Formal Requirements

Specification [2.3][dur = 10 days]

Phase II Stakeholder Review [2.10][dur = 5 days]

Prepare Presentation II [2.9]

[dur = 4 days]

Presentation I Action Items [2.1]

[dur = 2 days]

Presentation II [2.11]

[dur = 0 days]

Project Plan II [2.8]

[dur = 3 days]

Technical Inspection [2.5]

[dur = 1 day]

Test Plan [2.6][dur = 5 days]

Vision Document Updates [2.2][dur = 3 days]

Inception [1][dur = 65 days]

Executable Prototype [1.2][dur = 38 days]

Phase I Stakeholder Review

[1.7][dur = 5 days]

Prepare Presentation I [1.6]

[dur = 2 days]

Presentation I [1.8][dur = 0 days]

Project Plan I [1.3]

[dur = 3 days]

Project WebSite [1.5]

[dur = 4 days]

SQA Plan [1.4][dur = 3 days]

Vision Document [1.1]

[dur = 10 days]

Production [3][dur = 67 days]

Assessment Evaluation [3.5][dur = 3 days]

Component Design [3.2]

[dur = 15 days]

Formal Technical Inspection Letters

[3.9][dur = 0 days]

Prepare Presentation III [3.10]

[dur = 2 days]

Presentation II Action Items [3.1]

[dur = 2 days]

Presentation III Stakeholder Review

[3.11][dur = 5 days]

Presentation III [3.12]

[dur = 0 days]

Project Evaluation [3.7]

[dur = 5 days]

References [3.8][dur = 2 days]

Source Code [3.3][dur = 15 days]

System Assessment [3.4][dur = 15 days]

User Manual [3.6][dur = 3 days]

Page 12: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

12

Project Plan – Elaboration Phase

Page 13: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

13

Cost Estimate

► COCOMO II Selected

● Allows refinement as project proceeds

● Effort calculated at 1292 hours; project plan effort works out to 555 hours assuming 15 hours/week.

● Conclusion: variance explain by position in the ‘Cone of Uncertainty’ (or the student is doomed).

Figure from Software Estimation: Demystifying the Black Art, Steve McConnell, Microsoft Press, 2006.

Page 14: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

14

SQA Plan Highlights

► Project quality must satisfy the project committee.

► Documentation set defined by MSE portfolio requirements.

► Standards

● Documentation standards – MSE Portfolio

● IEEE Standard for Software Test Documentation (IEEE Std 829-1998)

● IEEE Standard for Software Quality Assurance Plans (IEEE Std 730-1998)

► Metrics

● Source lines of code produced by the project

● Time spent during the project

► Reviews and Audits

● MSE Portfolio Presentations

● Student Technical Inspections

► Testing

● Unit tests using JUnit framework, Integration tests using SoapUI, Scale tests using SoapUI or JMeter (TBD)

● Tests results will be captured and published on the project web site

Page 15: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

15

Demonstration

►Goal

● Demonstrate the project is technically feasible

● Demonstrate the student is capable of doing the work

►Technical success factors

● Implement web services using Hibernate with JBoss Cache integrated as a second level cache provider

● Show caching and replication of data between multiple JVMs

Page 16: MSE Portfolio Presentation 1 Doug Smith November 13, 2008 dougs/Site/Welcome.html

16

Action Item - Summarize