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

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

Apache Struts Technology
 Copyright Wipro Technologies JSP Ver 1.0 Page 1 Talent Transformation Java Server Pages.
ARCH-13 Developing WebSpeed  Applications Chris Skeldon Principal Consultant.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)
Model-View-Controller ("MVC") This is a architectural design pattern for interactive applications. This design pattern organizes an interactive application.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Apache Struts Technology A MVC Framework for Java Web Applications.
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
UNIT-V The MVC architecture and Struts Framework.
The Easiest Way to Write Web Applications Jordi Sastre IT Architect, PSC May 2012.
PHASE 3: SYSTEMS DESIGN Chapter 8 System Architecture.
NMS1.0(c) Copyright Final Year Project Demonstration Dublin City University 29 th May 2003 Team Members : David ReadeTimothy Kelly
Group 11: LongNH – HongLM – MinhNQ – HuyLD Supervisor: Mr. TaiNT
MVC pattern and implementation in java
Java Beans.
MobeSys Technologies MobeSys – helping you overcome mobile technology challenges.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
ASP.NET and Model View Control Jesper Tørresø ITNET2 F08.
Microsoft Dynamics Snap Michael McClary ISV Developer Evangelist Microsoft Corporation.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
Data On Call: Strategic Plan Deanna Lynch. Introduction  Background  Long Term Objectives  Vision, Mission, and Values  Internal and External Analyses.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Part II - Microsoft ® Project 2000 Enterprise Deployment Templates.
Project 2003 Presentation Ben Howard 15 th July 2003.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
DEV-16: Leveraging the Power of Advanced GUI Power is nothing without control Erwin in ‘t VeldCCS Tony VertentenIntris Eric DebeijProgress Roland de PijperProgress.
Ashley Montebello – CprE Katie Githens – SE Wayne Rowcliffe – SE Advisor/Client: Akhilesh Tyagi.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
Model View Controller Architecture of Java Web Applications Dr. M V S Peri Sastry, Ph.D.[BITS-Pilani]
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Implementation of SCENS Yan Zhao. Current Status Current implementation is web-based –
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
CS223: Software Engineering Lecture 14: Architectural Patterns.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Apache Struts Technology A MVC Framework for Java Web Applications.
Using SAS Enterprise Guide Add-In to Enable Guided Statistics Bas van Bakel OCS Consulting, the Netherlands © OCS Consulting.
Analyze This: Translating Business Needs into Technical Solutions
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
1 College Automation Software Arifa Tehseen Ara(509) Farzana Begum(512) Syeda Fatima(513) Firdous Sameena(514) Tahmina Jabeen(556)
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Social Enablement of Xpages - Linoy K George & Mervin Thomas.
J2EE Platform Overview (Application Architecture)
Technology Strategy Update
Part 3 Design What does design mean in different fields?
The Client/Server Database Environment
PHP / MySQL Introduction
Design and Maintenance of Web Applications in J2EE
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
JavaServer Faces: The Fundamentals
Presentation transcript:

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

Session # Overall Presentation Goal or Primary Purpose Building reusable development components helps us decrease time to market and increase software quality.

Session # 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.

Session # 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)

Session # 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.

Session # Qualifications Will Andrews –Technical Director for Quovera –Member of Quovera’s Architecture and Technology Office. –Has been web enabling applications since 1997 at PricewaterhouseCoopers.

Session # 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.

Session # Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A

Session # 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

Session # 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

Session # Open Source projects Apache ( Tomcat ( Struts ( JDOM ( Netbeans (

Session # Design considerations Keep framework lightweight Components need to be flexible Open source components need to be well understood

Session # Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A

Session # 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 ( , user security, etc.) –Java classes Fast –Light-weight client –High availability

Session # 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

Session # 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

Session # 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

Session # Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A

Session # Reference Framework Architecture Design Pattern Information Flow

Session # Reference Framework Architecture Technologies

Session # Reference Framework Architecture Reusable Components

Session # Reference Framework Architecture Additional Services

Session # Reference Framework Architecture Layers

Session # 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

Session # Process Summary

Session # 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

Session # Struts Components and Request Lifecycle

Session # TimeX User Interface Login Select a time period

Session # Enter Time One day at a time

Session # Submit Time Report Employee is done with report Status changes to submitted Approver must review and approve

Session # Expense Report Follows similar flow up to the entry form

Session # 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

Session # Quovera Time and Expense Reporting Requirements Leverages reusable components –Database design –Back-end PL/SQL utilities ( , user security, etc.) –Java classes Fast –Light-weight client –High availability

Session # Design Decisions JSP solution –Fulfills high-availability, fast, web-enabled requirements –Base the system on Quovera ATOMS and Reference Framework

Session # 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

Session # 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)

Session # Agenda Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A

Session # Challenges in utilizing the framework Client dictates technologies Components often have dependencies Some risk when compared to commercial products

Session # Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A

Session # 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

Session # Agenda Introduction Example of using reusable components Design decisions and patterns Reference Framework Challenges Summary Q & A

Session # 2645

43 Thank You ! Corporate Headquarters 275 Shoreline Drive, Suite 520 Redwood City, CA Phone: Fax:

Session # 2645