Download BC4J - DOAG

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
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
Clients
Presentation
Logic
Business
Logic
Data
Sources
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: http://java.sun.com/j2ee/blueprints/design_patterns/index.html
Why Framework?
“Large scale
development of objectoriented 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.”
Section 10.2.2.2, Page 253
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
O/R mapping
Simplifies and
optimizes
binding of
GUI to logic
Flexible Deployment
Agenda





J2EE Overview & Challenges
Design Patterns & Frameworks
BC4J Overview
Demo
Summary
Map Database Tables to Java
Objects
Customer
CUSTOMER
Order
ORDER
ITEM
LineItem
Entity Objects
Add Business Rules
Customer
Status in ‘Platinum’,
‘Silver’, ‘Gold’
CUSTOMER
ORDER
Order
ITEM
Valid tracking no.
LineItem
Buy 10 get 1 free
Entity Objects
Bind Presentation Logic
CustView
SELECT id, name,
status
FROM Customer
OrdView
SELECT id,contact,
trackno
FROM Order
ItemView
SELECT id,
quantity,discount
FROM Item
View Objects
Customer
Status in ‘Platinum’,
‘Silver’, ‘Gold’
Order
Valid tracking no.
LineItem
Buy 10 get 1 free
Entity Objects
Bind Presentation Logic (custom
view)
PriorityOrder
SELECT Order.id,
Ord.contact,
Ord.trackno,
Cust.id,
Cust.Status,
FROM
Order Ord,
Customer Cust
Customer
Status in ‘Platinum’,
‘Silver’, ‘Gold’
Order
Valid tracking no.
View Objects
Entity 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
CustView
CustView
Customer
OrdView
OrdView
OrdView
ItemView
Logical
Data Model
Order
ItemView
LineItem
View Objects
Application Module
Entity
Objects
BC4J Clients
BC4J
RMI/IIOP
SlowPaying
Customers
Customer
HTTP
Bill
Late
Payments
XML
Payment
Database
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
Flexible Deployment and
Clients
HTTP
XML
Browser client
JDBC
JSP page
or servlet
Servlet or JSP page on a
Java-enabled Web server
EJB
RMI/IIOP
JDBC
Java GUI client
EJB on an application server
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
http://otn.oracle.com http://technet.oracle.com




Complete technical resource for developers
Software, samples,& code downloads
Discussion forums
Whitepapers, technical information,
documentation
http://www.oracle.com
Product news, Press Release, customer stories