1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld 2003 - Session 36321.

Slides:



Advertisements
Similar presentations
January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Advertisements

1 Copyright © 2005, Oracle. All rights reserved. Introduction.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
Web Development with Karsten Schulz Terp-Nielsen Master Principal Sales Consultant Oracle Denmark.
Apache Struts Technology
An architecture for webb applications, J2EE
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Apache Struts Technology A MVC Framework for Java Web Applications.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Enterprise Object Framework. What is EOF? Enterprise Objects Framework is a set of tools and resources that help you create applications that work with.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
JDBC Session 5 Tonight: Data Access Patterns 1.J2EE Architecture & Design Patterns 2.The Data Access Tier 3.Data Access Patterns –DataAccessObject (DAO)
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
Oracle9 i JDeveloper for Database Developers and DBAs Brian Fry Principal Product Manager Oracle JDeveloper Oracle Corporation.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Database Application Security Models Database Application Security Models 1.
Tom Castiglia Hershey Technologies
8/15/2003System Specialists Corporation How to implement BC4J with the Struts Framework Eugene Sicat Technical Architect/Project Manager System Specialists.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
JDeveloper 10g and Oracle ADF Business Components Getting the Most Out of Your Data Avrom Roy-Faderman Senior Programmer November, 2005.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
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.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
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.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
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.
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.
Introduction – ORM, Helloworld Application
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
2 Copyright © 2004, Oracle. All rights reserved. ADF Development Process.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Apache Struts Technology A MVC Framework for Java Web Applications.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
Preface IIntroduction Course Objectives I-2 Course Content I-3 1Introduction to Oracle Reports Developer Objectives 1-2 Business Intelligence 1-3 Enterprise.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
2 DOAG November 2001 Modeling J2EE Applications using Oracle9i Designer and Oracle9i JDeveloper Simon W Day
Building Enterprise Applications Using Visual Studio®
Working in the Forms Developer Environment
Chapter 2 Database System Concepts and Architecture
Introduction to J2EE Architecture
Distributed System Using Java 2 Enterprise Edition (J2EE)
Using JDeveloper.
JavaServer Faces: The Fundamentals
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Presentation transcript:

1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session 36321

2 Why Should I Care? Efficiency Productivity Maintainability

3 Topics What is BC4J? Why use BC4J? BC4J Architecture and Components Demo - BC4J in action

4 What is BC4J? Database BC4J Java Application It is a bridge from the Relational world (database) to the Object world (Java)

5 What is BC4J? “Business Components for Java is JDeveloper’s programming framework for building multi-tier database applications from reusable business components.”

6 What is JDeveloper? Oracle’s Java and XML development suite Language-sensitive editors Java Compiler UML modeling tool Tools, frameworks, and utilities to help write your code Built-in web server and OC4J server to help test your code Debuggers and profilers to help perfect your code Wizards and utilities to help bundle and deploy your code

7 What is a Business Component? Code that implements functionality associated with an application object –Java and XML –May interact with a database –May implement business rules Encapsulates your business logic Therefore, your presentation layer is much “cleaner” Reusable Flexible deployment –Deploy to client (e.g., application, applet) –Deploy to middle tier or database (e.g., servlet, JSP, Web Service, EJB, CORBA)

8 BC4J is Part of JDeveloper “Programming Framework” Wizards and tools for defining, customizing and testing components Class library and custom JSP tags for developing your applications Use any front end you wish –JSP, Struts, etc –Swing –XML Deploy on any J2EE server

9 Why Use BC4J? I could just as well do it all myself! –JDBC to connect to the database –java.sql.* or SQLJ to interact with the database Besides, Java itself promotes encapsulation, reusability, etc. True, but why re-invent the wheel?

10 Why use BC4J? (cont.) Wizards let you declaratively define your business components –Specify the data you want (table, column) –BC4J generates the “plumbing” to interact with that table –You can focus on implementing your application-specifics

11 Why use BC4J? (cont.) Tools help you use the components –oracle.jbo: library of classes to directly interact with them –Custom tag library to use in your JSPs Tags tied to Java classes Include the tag in your JSP, class methods are automatically invoked –BC4J can also generate a JSP app for you This is NOT magic, though! Quite simplistic However, it could be a great starting point

12 Why use BC4J? (cont.) Gives you the option to better divide development responsibility –Java-savvy developers can focus on components –Web-savvy developers can focus on presentation layer Easier to learn the custom tags than to learn Java BC4J handles all the database connection details for you Built-in connection pooling

13 Why use BC4J? (cont.) The downside: setting up these components takes time - planning and building –Depending on the application, and how it evolves, this could be time well spent –Isolation of business logic improves maintainability Of the business logic Of the presentation layer Of the back-end database The bottom line: Is BC4J right for EVERY application? –No –But, it’s a great tool to have in your toolbox!

14 BC4J Architecture Database BC4J AM Application

15 BC4J Architecture (cont.) Types of Components: –Application Module (AM) Container for organizing and deploying other components Provides run-time context for defining and executing transactions Takes care of database connections Takes care of Master-Detail coordination Takes care of row locking

16 BC4J Architecture (cont.) Database BC4J AM Application EO VO

17 BC4J Architecture (cont.) –Entity Object (EO) Provides a wrapper for database structures Create an EO for each table, view, or stored procedure EOs contain Attributes, corresponding to columns or procedure parameters –View Object (VO) Your application’s interface to the BC4J layer Hide the complexity of the database from the application Uses SQL query to specify filtered subsets of data from one or more EO VO Attributes correspond to EO Attributes Provide cached, navigable, modifiable result sets Provide runtime dynamic linking, sorting, and filtering

18 BC4J Architecture (cont.) –Association Relationships between EOs Automatically created based on Foreign Keys Manually created based on common Attributes –View Link Relationships between VOs Enforce Master-Detail filtering –Domain User-defined data types for EO and VO Attributes Define in a central location: –Validation rules –Default values –Error messages

19 DEMO Our JSP application: –Uses the “scott” schema –Displays employee/department data –We want to build a page to list “worker bees” Those employees who are not managers First, we’ll try a JDBC approach Then we’ll try two BC4J approaches –Create the components, manually write a JSP –Have JDeveloper generate a JSP application for us For instructions for this demo, and code snippets, download paper - Session 36321

20 To Learn More JDeveloper on-line help is a great place to start JDeveloper samples –c:\jdev\BC4J\samples OTN - sample code – code/products/jdev/content.html