Presentation is loading. Please wait.

Presentation is loading. Please wait.

Session # 2645 Reusable Development Components from the Java(TM) 2 Platform, Enterprise Edition (J2EE(TM)) and Open Source Projects Rob Weaver Architect.

Similar presentations


Presentation on theme: "Session # 2645 Reusable Development Components from the Java(TM) 2 Platform, Enterprise Edition (J2EE(TM)) and Open Source Projects Rob Weaver Architect."— Presentation transcript:

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


Download ppt "Session # 2645 Reusable Development Components from the Java(TM) 2 Platform, Enterprise Edition (J2EE(TM)) and Open Source Projects Rob Weaver Architect."

Similar presentations


Ads by Google