Title: The Creation of Mobile Resource Version Copper
1The Creation of Mobile ResourceVersion Copper
Brian Crowell, Lead DeveloperKLOTRON, INC.
Project Supervised by Dr. Brian Nutter, EE
Dept Dr. Susan Mengel, CS Dept
John Bowling, CTO of KLOTRON, INC. Tracy Sealy,
Supervisor
Final Presentation
2Goals
- Copper
- Improved Reliability, Security, Usability,
Performance - Keystone
- Customer views Let outside users view specific
information, build your own extranet - Reports Get the big picture
- Integration Use Mobile Resource with your own
tools - Scheduling Lay out full projects and track them
automatically - Line Items Track one-time and recurring expenses
- Plus others
3Refactoring
Users
Sites
Mail Notification
Permissions
Kitchen Sink
Transaction Records
BihsBusinessService
Contact Info
Custom Forms
Effective Permissions
Ticket-User Relations
Tickets
Ticket Schedules
Ticket Classes
Work Classes
4Refactoring
Users
Sites
Mail Notification
Permissions
Transaction Records
Custom Forms
BihsBusinessService
Contact Info
Effective Permissions
Ticket-User Relations
Tickets
Ticket Schedules
Ticket Classes
Work Classes
5IBihsInternalTransactionLogService
IBihsSiteService
ISiteService
SiteTable
IBihsUtilityService
IBihsUserService
IBihsAuthenticationService
IUserService
UserTable
IBihsService
IBihsPermissionService
IEffectivePermissionService
IPermissionService
PermissionSetTable
MailService
ITicketEventService
IBihsTicketService
TicketTable
6Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
7Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
8Data Layer Design
Code Generation
Base Types
Base Tables
Schema (Table Layout)
Code Generator
Memory Tables
9Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
10Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
11Interoperability
Copper Server Core
Copper Client Library
BIHS 2.6 Client Library
BIHS 2.6 Client Library
12Interoperability
Emulates previous version
Hides version differences
Copper Server Core
Copper Client Library
BIHS 2.6 Client Library
BIHS 2.6 Client Library
13Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
14Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
Efficient
Yes
No
15Performance
SelectLastClosedUpdatesByUser( userID,
TicketUpdateSortOrder.Time, false )
16Performance
- Fill Ratio
- How many rows used versus rows pulled from table
17Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
Efficient
Yes
No
18Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
Efficient
Yes
No
Testable
No
Yes
19Documentation
20Unit Testing
Normal use
IBihsSiteService
class Site
Client
ISiteService
SiteTable
Test setup
Fake IBihsSiteService
class Site
Test Client
Fake ISiteService
21Unit Testing
22Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
Efficient
Yes
No
Testable
No
Yes
23Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
Efficient
Yes
No
Testable
No
Yes
Reliable
Yes
181/189
24Reliability
25Reliability
- Successful test cases 181/189
- Memory tables 118/120
- IBihsSiteService 39/40
- IBihsUserService 0/1
- IBihsUtilityService 7/7
- ISiteService 9/10
- IUserService 8/11
26Scorecard
BIHS 2.6 Delivered
Copper Delivered
Promised
Database Agnostic
No
Yes
Version Agnostic
No
Yes
Efficient
Yes
No
Testable
No
Yes
Reliable
Yes
181/189
Scalable
No
Yes
27Client Improvements
- Designs and initial implementations for
- Service-based Client Object Model
- Instant Updates
- Caching
- New Day Chart View
- Reusability in User Interface
28Client Object Model
Read-Only Client Objects
Create
Open Ticket
Retrieve
GetTicket, GetTickets
Update
Log Hours, Assign, Close
Delete
Delete
29Instant Updates
Server
Site
Direct Calls Fast
Site
Site
Site
Site
Site
Array
Site
Direct Method Call
Site
Site
Site
Change Event
Site
Site
30Caching
- Cache has strong links to each site
- Garbage collector cannot destroy data
- Using weak links, garbage collector can delete
sites no longer referenced
Site
WeakLink
Site
WeakLink
Site
WeakLink
Site
WeakLink
Site
WeakLink
Site
WeakLink
Array
Site
WeakLink
Site
WeakLink
Site
WeakLink
Site
WeakLink
Site
WeakLink
Site
WeakLink
31New Schedule View
- Day schedule showing how a single users time is
allocated - Shown on user contact page
- Has links to tickets
32Day Chart View
33Reusability in UI
Ticket Class UI Controller
34Budget
35Resources
- Coulouris, George, Jean Dollimore, and Tim
Kindberg. Distributed Systems Concepts and
Design, Third Edition. Harlow Pearson Education
Ltd., 2001. - McConnell, Steve. Code Complete, 2nd ed. Redmond
Microsoft Press, 2004. - McConnell, Steve. Rapid Development Taming Wild
Software Schedules. Redmond Microsoft Press,
1996. - Microsoft. The Windows User Experience Official
Guidelines for User Interface Developers and
Designers. Redmond 2003.Book available via the
MSDN Library or online at http//msdn.microsoft.co
m/library/en-us/dnwue/html/welcome.asp. - Nielsen, Jakob. Designing Web Usability.
Indianapolis New Riders Publishing, 1994. - Pfleeger, Shari Lawrence. Software Engineering
Theory and Practice, 2nd ed. Upper Saddle River
Prentice Hall, 2001.
36Comments/Suggestions