Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
J2EE Architecture Overview
Apache Struts Technology
פתרונות J2EE וטכנולוגיות Oracle Mr. Liran Zelkha, Chief Architect
An architecture for webb applications, J2EE
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology.
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Layers & Tiers Umair Javed Lec - 41.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Introduction to Servlet & JSP
Oracle Products Overview Internet Computing Indrek Peenmaa Sales Consultant Oracle Corporation
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Advanced Distributed Software Architectures and Technology group ADSaT 1 Application Architectures Ian Gorton, Paul Greenfield.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
1 CHAPTER 1 OVERVIEW of JDEVELOPER. 2 Overview of JDeveloper Oracle’s JDeveloper 10g (JDeveloper) is an integrated development environment for Java programming.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Introduction to J2EE Architecture Portions by Kunal Mehta.
第十四章 J2EE 入门 Introduction What is J2EE ?
® 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.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Application Development Framework (ADF) Introduction 5-Oct-2012.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
What is J2EE Platform The Java 2 Platform Enterprise Edition (J2EE) defines the standard for developing multitier enterprise applications.
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.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
® IBM Software Group © 2003 IBM Corporation IBM WebSphere Studio V5.1.2: Making Java Development Easier May 2004.
2 Copyright © 2004, Oracle. All rights reserved. ADF Development Process.
Apache Struts Technology A MVC Framework for Java Web Applications.
What is J2EE?  Java J2ee developers on top of this provide the various kinds of services that are essential to develop large scale, allocated, component.
2 Copyright © Oracle Corporation, All rights reserved. Basic Oracle Net Architecture.
Speaker Name Speaker Title Speaker Title Oracle Corporation Olivier Le Diouris Principal Product Manager Oracle Corporation Building Servlet and JSP Applications.
The Holmes Platform and Applications
J2EE Platform Overview (Application Architecture)
Introduction to Oracle Forms Developer and Oracle Forms Services
ORACLE ADF ONLINE TRAINING COURSE
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to J2EE Architecture
Unit 6-Chapter 2 Struts.
Design and Maintenance of Web Applications in J2EE
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
JavaServer Faces: The Fundamentals
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Presentation transcript:

Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation

Agenda  J2EE Overview & Challenges  Design Patterns & Frameworks  BC4J Overview  Demo  Summary

What is J2EE?  Java 2 Enterprise Edition  “The J2EE application model defines an architecture for implementing services as multi-tier applications delivering scalability, portability, and manageability.”

J2EE Architecture - 4 layers Business Logic Data Sources Presentation Logic Clients

J2EE Components

What do you need to know to develop J2EE applications? All tiers: Java Client tier: Swing Web tier: JSP, Servlets Business logic tier: EJB Connectivity: IIOP Database access: JDBC Plus: XML, JNDI, JMS, JTA The list continues to grow!!

More Challenges  Where do I start ?  Application design complexity – How do I represent business entities in the middle-tier? – How do I enforce business logic? – How do I bind and interface client code?  How do I keep efficiency

Agenda  J2EE Overview & Challenges  Design Patterns & Frameworks  BC4J Overview  Demo  Summary

Design Patterns  A design pattern describes a proven solution to a recurring design problem  Reasons to use Design Patterns:  They are proven  They are reusable Source:

Why Framework? Section , Page 253 “ Large scale development of object- oriented software requires frameworks. It is important to have a framework, so that every time the design requires two objects to interact, a developer does not have to come up with a whole new notion of how the interaction works out.”

Benefits of Framework  Better code  Simpler code  Better performing  Less complex

Business Component for Java (BC4J)  BC4J – A J2EE Framework that simplifies Development, Customization and Deployment of J2EE Applications  Implements SUN’s Design Patterns  Standard – Java and XML  Server Side Framework with Client Binding  Based on Oracle’s Developers experience

Major Benefits of BC4J  Simplifying Server Coding  Simplifying Client Binding  Simplifies O/R Mapping  Improve Network using Caching  Hides Complex Infrastructure

J2EE Framework – BC4J Simplifies and optimizes binding of GUI to logic Simplifies and optimizes O/R mapping Flexible Deployment

Agenda  J2EE Overview & Challenges  Design Patterns & Frameworks  BC4J Overview  Demo  Summary

Map Database Tables to Java Objects Customer ORDER CUSTOMER Order ITEM LineItem Entity Objects

Add Business Rules ORDER CUSTOMER ITEM Customer Order Status in ‘Platinum’, ‘Silver’, ‘Gold’ Status in ‘Platinum’, ‘Silver’, ‘Gold’ Valid tracking no. LineItem Buy 10 get 1 free Entity Objects

Bind Presentation Logic Order Valid tracking no. LineItem Buy 10 get 1 free CustView SELECT id, name, status FROM Customer SELECT id, name, status FROM Customer OrdView SELECT id,contact, trackno FROM Order SELECT id,contact, trackno FROM Order Entity ObjectsView Objects ItemView SELECT id, quantity,discount FROM Item SELECT id, quantity,discount FROM Item Customer Status in ‘Platinum’, ‘Silver’, ‘Gold’ Status in ‘Platinum’, ‘Silver’, ‘Gold’

Bind Presentation Logic (custom view) Customer Status in ‘Platinum’, ‘Silver’, ‘Gold’ Status in ‘Platinum’, ‘Silver’, ‘Gold’ Order Valid tracking no. PriorityOrder SELECT Order.id, Ord.contact, Ord.trackno, Cust.id, Cust.Status, FROM Order Ord, Customer Cust SELECT Order.id, Ord.contact, Ord.trackno, Cust.id, Cust.Status, FROM Order Ord, Customer Cust Entity ObjectsView Objects

Middle Tier Caching  Pulls data from database into middle tier and preserves relationships between data  Cache synchronizes data from different view objects that reference that same entity object.  Reduces round trips to database  Control synchronization and locking modes

Group Components in a Logical Container Customer Order LineItem OrdView CustView OrdView CustView Application Module Entity Objects View Objects Logical Data Model ItemView

SlowPaying Customers Late Payments Customer Bill Payment BC4J Database BC4J Clients RMI/IIOP HTTP XML

Building UI for BC4J  HTML UI – JSP – JSP Tag library for BC4J  Java UI – JClient – Swing components with BC4J connectivity  XML UI – JSP – XML messaging from/to BC4J – XSQL Servlet interface to BC4J

JDBC JSP page or servlet HTTP XML Browser client Servlet or JSP page on a Java-enabled Web server Flexible Deployment and Clients JDBCRMI/IIOP Java GUI client EJB on an application server EJB

Best Practice Steps Our Apps Teams Follow  Design Application Business Model – Using UML Class Diagrams  Implement Application Business Model – Using of BC4J Framework  Identify Application Task – Using UML Use Cases  Implement Application Data Model for the Task – Using BC4J Framework  Bind Interfaces to Application Data Model – Swing, JSP, or XML  Test Interface and Select Deployment Target – Decide to Target Web Tier or EJB Tier

D E M O N S T R A T I O N BC4J

Agenda  J2EE Overview & Challenges  Design Patterns & Frameworks  BC4J Overview  Demo  Summary

BC4J = Easier J2EE  J2EE Can be complex  BC4J Makes J2EE Simple  BC4J Is standard based Java+XML  BC4J is part of JDeveloper

Where to get more Information  Complete technical resource for developers  Software, samples,& code downloads  Discussion forums  Whitepapers, technical information, documentation Product news, Press Release, customer stories

A Q & Q U E S T I O N S A N S W E R S