Object-Oriented Enterprise Application Development J2EE Blueprints.

Slides:



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

Uncoupling Java Applications O’Reilly Conference on Java Brett McLaughlin.
Lecture plan Information retrieval (from week 11)
J2EE Design patterns Sharath Sahadevan August 8, 2002 St Louis Java SIG.
Technical Architectures
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.
Layers & Tiers Umair Javed Lec - 41.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Faculty of Information Technology © Copyright UTS Faculty of Information Technology 2004Design-1 Advanced Java Programming Design issues Chris Wong
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
CMPT 370: Information Systems Design Instructor: Curtis Cartmill, Simon Fraser University – Summer 2003 Lecture Topic: Layered Architecture Class Exercise:
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
UNIT-V The MVC architecture and Struts Framework.
JDBC Session 5 Tonight: Data Access Patterns 1.J2EE Architecture & Design Patterns 2.The Data Access Tier 3.Data Access Patterns –DataAccessObject (DAO)
J2EE DESIGN PATTERNS Terms important in learning Design Patterns: Pattern : Each pattern is a three part rule, which expresses a relation between a certain.
The Design Discipline.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
J2EE Architecture, System Qualities and Design Patterns
DBS201: DBA/DBMS Lecture 13.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 1 DATABASE SYSTEMS (Cont’d) Instructor Ms. Arwa Binsaleh.
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
JBoss at Work JAW Motors Application Chapter 1-3 Jeff Schmitt October 9, 2006.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Design Patterns Part two. Structural Patterns Concerned with how classes and objects are composed to form larger structures Concerned with how classes.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Methodology: Conceptual Databases Design
MIS 673: Database Analysis and Design u Objectives: u Know how to analyze an environment and draw its semantic data model u Understand data analysis and.
Facade Introduction. Intent Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the.
Core Indigo Patterns Ted Neward
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
آرمان حسين‌زاده آذر  Access to data varies depending on the source of the data.  Access to persistent storage, such as to a database, varies greatly.
Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2008 Course.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 8 1COMP9321, 15s2, Week.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 7 1COMP9321, 15s2, Week.
PROG Developing Robust Modular Software.. Objectives What do we want? Programmatic Elements in a Business System. Logic Layer. Persistence (Data)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Chapter 3 JSP Overview. The Problem with Servlets processing the request and generating the response are both handled by a single servlet class Java programming.
Object storage and object interoperability
Advanced Object-oriented Design Patterns Creational Design Patterns.
The Facade Pattern (Structural) ©SoftMoore ConsultingSlide 1.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
1 SERVICE ORIENTED ARCHITECTURE ANTHONY GACHANGO D61/70547/2008 DIS 601.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 1 Database Systems.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
COMP9321 Web Application Engineering Semester 2, 2016 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 8 1COMP9321, 16s2, Week.
COMP9321 Web Application Engineering Semester 1, 2017
CS 355 – Software Engineering 1
Design and Maintenance of Web Applications in J2EE
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Extending Interface Based Design
Presentation transcript:

Object-Oriented Enterprise Application Development J2EE Blueprints

Topics During this class we will examine: J2EE Blueprints and patterns featuring servlets and JavaServer Pages.

J2EE Blueprints & Patterns

Patterns The J2EE patterns have two (2) primary goals: Reduce coupling and dependencies between components. Minimize network traffic. These patterns are a work in progress and continue to evolve.

Patterns & Tiers The patterns have been separated by tier: Presentation Business Integration We'll focus on the presentation and integration tiers.

Patterns We'll look at the following integration tier patterns: Data Access Object We'll look at the following presentation tier patterns: FrontController ViewHelper CompositeView

Data Access Object

Problem Applications require persistence. Access mechanisms and APIs vary across different persistence technology. Components should be independent of the actual persistence mechanism.

One Solution Use the DAO pattern to isolate persistence semantics from business semantics. Business components use the DAO to access the persistence layer. This pattern could be merged with the Strategy, Builder, and Abstract Factory patterns to allow for the dynamic selection of persistence mechanisms.

Participants Business Object: Requires access to the Data Store. Data Access Object: Translates requests from the Business Object into requests against the Data Store. Data Store: Performs actual storage of the data.

Sequence

Results Data access is transparent since the client code doesn't need to know the implementation details. Centralizes all data access into its own layer thus providing better application partitioning reduced client complexity.

Front Controller

Problem There are common processes required by all requests made to an application. Security Content retrieval There is no centralized handler for these requests. This makes each component perform these tasks in its own way which can lead to redundant code.

One Solution Use the Front Controller pattern to provide a single point of contact for all client requests. The Front Controller integrates with all other application services such as security, persistence, etc. This allows common code to be moved into the Front Controller.

Participants Front Controller: The initial point of contact for all client requests.

Sequence

Results Provides centralized control since all requests funnel through the Front Controller. As common services are moved into the Front Controller, we gain improved manageability. Common services can be performed in a consistent way.

View Helper

Problem To effectively create dynamic content, we often need to mix business and presentation logic. Such a combination can result in an application that is difficult to maintain. Such a combination doesn't promote the separation of roles within a project.

One Solution Requests are forwarded to a logical view. Business logic is removed from the view and factored into helper classes such as JavaBeans.

Participants View: The logical view that is ultimately responsible for generating the content presented to the client. ViewHelper: An object that encapsulates various business logic that is called on by the view to construct the dynamic content.

Sequence

Results Improved role separation and application partitioning by factoring business logic from presentation logic. Since the business logic is encapsulated into a helper object that can be used elsewhere in an application, we can achieve improved reuse.

Composite View

Problem Certain elements of a web-based application may be common to multiple views. If these elements are coded directly into each view, we may have maintenance and consistency issues in the future.

One Solution Use a Composite View to assemble various atomic components into the final view. Each atomic element can be re-used in other views.

Participants Composite View: The view ultimately responsible for presenting content to the client. View Manager: An object that knows how to assemble the final elements into the view.

Sequence

Results Separate maintenance of common elements from the view in which they're used. May improve manageability because of the dynamic nature of the view inclusion mechanism.

Review During this class we have discussed: J2EE Blueprints and patterns featuring servlets and JavaServer Pages.

Resources JDBC Database Access with Java Graham Hamilton, Rick Cattell, Maydene Fisher, Addison-Wesley, ISBN:

Coming Attractions Next week we'll have the presentations.