Download presentation
Presentation is loading. Please wait.
1
Session # 2645 Reusable Development Components from the Java(TM) 2 Platform, Enterprise Edition (J2EE(TM)) and Open Source Projects Rob Weaver Architect Quovera
2
Session # 26452 Overall Presentation Goal or Primary Purpose Building reusable development components helps us decrease time to market and increase software quality.
3
Session # 26453 Learning Objectives As a result of this presentation, you will be able to: –Understand “real world” reusable component development –Know about some of the strengths and weaknesses of reusable code –Learn some best practices.
4
Session # 26454 Qualifications Quovera (formerly Millennia Vision Corporation) Founded in 1995 as “Millennia Vision Corporation (MVC)” Strong High-Tech Industry Background Profitable 5 Years Without Outside Funding Experience Consultants with 10+ years experience Over 200 clients for whom we have completed over 300 projects Differentiators Architecture Technology Office (ATO) Program Management Office (PMO)
5
Session # 26455 Qualifications Rob Weaver is a Web Architect for Quovera –Member of Quovera’s Architecture and Technology Office. –Proponent of the web since 1995 when he joined Excite to become a webmaster.
6
Session # 26456 Qualifications Will Andrews –Technical Director for Quovera –Member of Quovera’s Architecture and Technology Office. –Has been web enabling applications since 1997 at PricewaterhouseCoopers.
7
Session # 26457 Reuse: the Holy Grail of software development We can be freed from making the same mistakes over and over again, and happily pursue finding entirely new ones. Reuse is one of the benefits of an object oriented language because OO is built around it.
8
Session # 26458 Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A
9
Session # 26459 Reusable code – more design, less development Architecture and Technology Office Modeled Systems (ATOM) Reference Framework Architecture –Technologies –Reusable Components –Additional Services –Layers –Design Pattern Information Flow
10
Session # 264510 Reusable code – more design, less development Open Source projects –Open source components need to be well understood Design considerations –Keep framework lightweight –Components need to be flexible
11
Session # 264511 Open Source projects Apache (http://www.apache.org/) Tomcat (http://jakarta.apache.org/) Struts (http://jakarta.apache.org/) JDOM (http://www.jdom.org) Netbeans (http://www.netbeans.org/)
12
Session # 264512 Design considerations Keep framework lightweight Components need to be flexible Open source components need to be well understood
13
Session # 264513 Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A
14
Session # 264514 Eating our own dog food Quovera Time and Accounting Secure web-deployed time and expense (TimeX) reporting module –Mission-critical for a consulting company –Replace Excel solution Easy to use Leverages reusable components –Database design –Back-end PL/SQL utilities (email, user security, etc.) –Java classes Fast –Light-weight client –High availability
15
Session # 264515 Design Decisions JSP solution –Fulfills high-availability, fast, web-enabled requirements Base the system on Quovera ATOMS and Reference Framework –Architecture and Technology Office Modeled Systems Uses Model-View-Controller architecture
16
Session # 264516 Model-View-Controller (MVC) SmallTalk strategy recently promoted by Sun Model = data and values, validation, ranges View = display Controller = what happens when user interacts with the component M CV
17
Session # 264517 More on MVC The MVC separation allows you to plug in different front-end clients Provides a separation in development, too –Model is driven by data design –Controller is driven by process design –View is driven by screen design Different development skills for different styles of presentation (application vs JSP) Swing attempted this but ended up with a separable model architecture –View and Controller layer are merged M CV
18
Session # 264518 Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A
19
Session # 264519 Reference Framework Architecture Design Pattern Information Flow
20
Session # 264520 Reference Framework Architecture Technologies
21
Session # 264521 Reference Framework Architecture Reusable Components
22
Session # 264522 Reference Framework Architecture Additional Services
23
Session # 264523 Reference Framework Architecture Layers
24
Session # 264524 TimeX MVC Usage Single servlet for Controller function –Business logic is provided by support classes (Handlers) Handlers use data objects (classes) to interact with the database (Model) –Usually static methods to call a SQL statement or database procedure One handler per JSP –This supplies the View
25
Session # 264525 Process Summary
26
Session # 264526 Process Summary 1.Call servlet 2.Gather request parameters, store session info 3.Check privileges 4.Get the proper handler 5.Initialize the handler, validate if necessary 6.Check the request action sent ( LOAD, FORWARD,SAVE_FORWARD, SAVE_LOOP 7.Get next handler if action is FORWARD or SAVE_FORWARD 8.Dispatch request to the proper JSP
27
Session # 264527 Struts Components and Request Lifecycle
28
Session # 264528 TimeX User Interface Login Select a time period
29
Session # 264529 Enter Time One day at a time
30
Session # 264530 Submit Time Report Employee is done with report Status changes to submitted Approver must review and approve
31
Session # 264531 Expense Report Follows similar flow up to the entry form
32
Session # 264532 Quovera Time and Expense Reporting Requirements Secure web-deployed time and expense (TimeX) reporting module –Mission-critical for a consulting company –Replace Excel solution –Easy to use
33
Session # 264533 Quovera Time and Expense Reporting Requirements Leverages reusable components –Database design –Back-end PL/SQL utilities (email, user security, etc.) –Java classes Fast –Light-weight client –High availability
34
Session # 264534 Design Decisions JSP solution –Fulfills high-availability, fast, web-enabled requirements –Base the system on Quovera ATOMS and Reference Framework
35
Session # 264535 Design Decisions Utilize Open source components Uses Model-View-Controller architecture –Model-View-Controller (MVC) Model = data and values, validation, ranges View = display Controller = what happens when user interacts with the component
36
Session # 264536 TimeX MVC Usage Single servlet for Controller function –Business logic is provided by support classes (Handlers) Handlers use data objects (classes) to interact with the database (Model) –Usually static methods to call a SQL statement or database procedure One handler per JSP (View)
37
Session # 264537 Agenda Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A
38
Session # 264538 Challenges in utilizing the framework Client dictates technologies Components often have dependencies Some risk when compared to commercial products
39
Session # 264539 Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A
40
Session # 264540 Summary You are already using reusable development components when you code in Java ! Design patterns are more reusable than components Open source is useful and fun Blah, blah, blah … End
41
Session # 264541 Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A
42
Session # 2645
43
43 Thank You ! http://www.quovera.com/ Corporate Headquarters 275 Shoreline Drive, Suite 520 Redwood City, CA 94065 Phone: 650-232-6300 Fax: 650-232-6301
44
Session # 2645
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.