Title: ODTUG 2002 JavaJ2EE Application Development with Oracle Designer JHeadstart Designer Generator
1(No Transcript)
2Lucas Jellema Technical Manager Oracle Corporation
3Java/J2EE Application Development with Oracle
Designer - JHeadstart Designer Generator
4Agenda
- J2EE Application Development
- J2EE Architecture and MVC Design Pattern
- Oracle Frameworks BC4J, MVC Framework and UIX
- Forms to Java Migration
- Deciding between J2EE Stack and Oracle9i Forms
- Migration of existing Forms applications
- J2EE Application Generation from Oracle9i
Designer
5Java/J2EE Application Development
- Open standards adherence
- J2EE, MVC Design Pattern
- Productivity
- Quick and easy entrance for development staff
- Declarative, Structured, 4GL-like
- HTML User Interface
- (yet) feature rich, productive for end-user and
visually apealing
6MVC Architecture
- Model represents (persistent) enterprise data
and its business rules - View displays data contained in the model,
presents user controls - Controller the glue between View and Model. It
reacts to significant View events, which may
result in manipulation of the Model it also
queries the Model for data required by the View.
View
get data(query state)
selectview
update(change state)
Model
Controller
7J2EE and Model-View-Controller
Client Tier
User Interface
View
Controller
Web Tier
Handle User Events MaintainState Build Pages
Model
EJBTier
Business Objects and their Business Rules
Model
DataTier
Persisted Business Objects a.k.a tables
8Achieving Productivity
- Construct application based on frameworks
- eliminate tedious, non-business oriented, costly,
time-consuming, skill-intensive repetitive
development of generic application services - Strive towards reuse
- use a component oriented application architecture
- Use generators for code not yet available
- application specific code following generic
patterns - Focus on declarative, 4GL like programming
- for example XML based input for run-time engines
9Oracle J2EE Frameworks
- Model Business Components for Java (BC4J)
- View User Interface XML (UIX)
- Controller Oracle9iAS MVC Framework for J2EE
(MVC) - No dependencies at all between these
- frameworks!
- (but they work well together)
10Oracles implementation of MVC Components in J2EE
Browser
Presen-tation
View (UIX)
Controller (MVC Framework)
Model (BC4J)
RuleFrame
Server (9i)
Oracle RDBMS Tables/Views
11What is Oracle JHeadstart?
- A development toolkit for component-based J2EE
application development - Builds on Oracle J2EE Frameworks BC4J, UIX and
MVC Framework - Provides Designer-like declarative development
environment - Provides Designer/Forms like productivity!
- Fully integrated with JDeveloper IDE
12JHeadstart What do you get?
- JHeadstart Runtime the reusable components and
supporting classes - JHeadstart Application Generator
- Automates wiring of reusable components
- Generates UIX pages
- driven by declarative, Designer-like meta-data
definitions in XML format - Easy to use through Jdev add-in wizard and
property editor
13JHeadstart What do you get?
- JHeadstart Designer Generator
- generates Application Generator XML meta-data
from Oracle Designer - Easy to use through Jdev add-in wizard
- JHeadstart JSP Tag Library
- Makes it easy to use JSP instead of UIX as view
- Excellent User Guide!
14JHeadstart Application Development
Controller 9iAS MVC
View - UIX
Model - BC4J
15Agenda
- J2EE Application Development
- J2EE Architecture and MVC Design Pattern
- Oracle Frameworks BC4J, MVC Framework and UIX
- Forms to Java Migration
- Deciding between J2EE Stack and Oracle Forms
- Migration of existing Forms applications
- J2EE Application Generation from Oracle Designer
16Reasons for J2EE (Migration)
- Forms is Dead, Obsolete
- You must do Java or die
- Help, we are suffering from Vendor Lockin
- Our end-users are complainingabout our
application - Its the future!
- It seems like I must
17Potential real business benefits J2EE over Forms
- Internet applications (large numbers of
dispersed, anonymous users) - Easier, faster, cheaper application deployment
- Quicker roll-out of (simple) applications to
large number of end-users - Easier integration
- Portal for Application Integration at UI level
- BC4J/EJB/XML Application Integration at Component
level - Developer satisfaction
- Staff hiring
- Prevention of vendor lock-in
18Migration Business Costs Risks
- De-investment in tools, development skills,
existing applications and end-user training - Loss in productivity
- Application development
- End-User application usage
- Potential enormity of migration (time, costs,
risks) - Migration itself provides small business benefits
- During the migration, little functional
application enhancement will be possible - Migration includes developers, infrastructure,
processes procedures and end users
19Gradual or Evolutionary migration is possible
Users and Locations
Some users,some applications
All users,some applications
Some users,All applications
All users,All applications
Modules Applications
20Criteria for selecting locations, users and
modules to migrate to J2EE
- Geographically dispersed
- Large Number of users
- Anonymous users
- Limited trained users
- Infrequent, not-intense use of application
- Simple tasks (Self Service)
- Simple UI requirements
- These criteria also apply to choosing whether to
use Oracle Forms or J2EE Technology for new
development
21Example of hybrid mix Oracle E-Business Suite
- HTML
- Self Service Applications
- Field Staff applications
- Web Forms
- Professional modules for highly trained users
- Modules supporting complex tasks, data intense
and complex transaction oriented - Modules used for many hours per day on an end
22Other Migration Dimensions Development
- Re(de)fine Process (tasks, deliverables,
planning) - Develop UI guidelines and Coding standards
- Train Development Staff, Testers and Management
- Set up development environment (tools)
- Note Role separation and specialization allows
for gradual migration
23Other Migration Dimensions Deployment
- Define Roll Out and Administration process
(roles, tasks, deliverables) - Implement deployment infrastructure (Application
Server!) - Train Administrative staff
- Train Support Staff
- Introduce to/Train End-users
24Choosing Development Stack example 1 Retail
Chain
- Application to administer supermarkets
- Inventory and Ordering
- Sales
- Time Registration Staff
- Cash Control
- 700 local Databases Client/Server Forms
applications - Objectives
- single, central database and application
- fast set-up for new outlets
25Choosing Development Stack example 1 Retail
Chain
- Users
- internal, trained, known, 1000s, 100s locations
(nationally) - Usage
- frequent, hours/day, high productivity
- Functionality
- complex DML, no marketing
- History
- existing Forms (C/S) application
- Development
- existing Designer/Forms skills, J2EE strategic
direction, medium productivity requirements - Deployment
- limited network bandwidth
26Choosing Development Stack example 1 Retail
Chain
- Selected approach
- WebForms (and Citrix/MetaFrame)Generated from
Designer 6i - Considerations
- Costs of end-user re-training
- Expected productivity loss
- Migration Costs J2EE (vs. WebForms)
- Lack of business benefit of J2EEapplication over
Forms application
27Choosing Development Stack example 2
Electronics
- Application to register new inventions and to
coordinate track evolution to patent - Two main application components
- invention registration by inventors
- administrative processing by central office staff
- Objectives
- fast, light-weight, global access
- simple self-service style
28Choosing Development Stack example 2a
Inventions Registration
- Users
- internal, untrained, known, 1000s, 1000s
locations (globally) - Usage
- infrequent, /year, 30 minutes on end, low
productivity - Functionality
- simple DML, a little marketing
- History
- None (though shared datamodel with
2b-Administration) - Development
- existing Designer/Forms skills, no strategic
direction, high productivity requirements - Deployment
- limited network bandwidth, one time Jinitiator
unacceptable
29Choosing Development Stack example 2b
Inventions Management
- Users
- internal, trained, known, 5, one location
- Usage
- frequent, hours/day,high productivity
- Functionality
- complex DML, no marketing
- History
- None (though shared datamodel with
2a-Registration) - Development
- existing Designer/Forms skills, no strategic
direction, high productivity requirements - Deployment
- large network bandwidth
30Choosing Development Stack example 2
Electronics
- Selected approach
- 2a J2EE (JHeadstart) and 2b WebForms both
generated from Designer 6i, using RuleFrame - Considerations
- Requirements for simple, nice UI and light global
access for invention registration - Demand for powerful back-officeskilled
end-user application forinvention administration - 2a and 2b run against the samedatamodel
31D E M O N S T R A T I O N
ODTUG Conference Manager Application Existing
Forms Application
32JHeadstart Application Migration
33JHeadstart Application Migration
Oracle Forms
Design capture
Oracle Designer
Controller 9iAS MVC
View - UIX
Model - BC4J
34D E M O N S T R A T I O N
ODTUG Conference Manager Application J2EE
Migration
35ODTUG Conference Manager The HTML Application
36What is produced automatically?
- Existing applications running in the new
development and deployment paradigm - J2EE compliant MVC architecture
- Java/XML/HTML based, open and compliant with
standards - (largely) Same functionality as Forms application
- Consistent, Attractive, Professional HTML user
interface - Easy to further develop, maintain, deploy
37Manual Pre-/Post-Migration actions
- Identify and convert Client Side Business Logic
- Validation, Derivation/Calculation, Navigation
Logic in PL/SQL Libraries - Options ignore, move to RDBMS, Java or
JavaScript - Apply custom module tuning (layout, function
keys,...)
38D E M O N S T R A T I O N
ODTUG Conference Manager Application Post
Migration
39Agenda
- J2EE Application Development
- J2EE Architecture and MVC Design Pattern
- Oracle Frameworks BC4J, MVC Framework and UIX
- Forms to Java Migration
- Deciding between J2EE Stack and Oracle Forms
- Migration of existing Forms applications
- J2EE Application Generation from Oracle Designer
40JHeadstart Application Development from Oracle
Designer
41Hybrid Development Approach
Model
Controller
View
Analysis DesignBuild
ER Model
Function Model
Design Build
42D E M O N S T R A T I O N
ODTUG Conference Manager Application Generate
More J2EE Modules
43Related Presentations
- Implementing Business Rules in Business
Components for Java - Wed 19 jun, 4.45-6.15, Steven Davelaar
- CDM RuleFrame The framework for business rules
analysis, design and implementation for Forms and
J2EE - if a slot becomes available (Thursday?)
- Modeling J2EE Applications using Oracle 9i
Designer and Oracle 9i JDeveloper - Thu 20 jun, 2.00-3.00, Simon Day
44Summary
- Oracle offers J2EE Application Development tools
and frameworks - Oracle JHeadstart provides development guidelines
and generators to optimize application
development - JHeadstart provides generation/migration
capabilities from Oracle Designer to the J2EE
technoloy stack - Migration from Oracle Forms/Designer to J2EE is
multi-dimensional and non-trivial
45A
46(No Transcript)
47Additional Slides
- Not covered during the presentation
48J2EE Frameworks How to get
- Business Components for Java shipped with
JDeveloper 9i - UIX shipped with JDeveloper 9i
- Oracle 9iAS MVC Framework for J2EE part of
Oracle 9iAS v2 Developer Kit - Free download otn.oracle.com/products/ias/ias_uti
lities.htm
49JHeadstart How to get
- JHeadstart is sold through Oracle Consulting
- USD 1750 per developer
- Can be obtained without consulting days (not
recommended, but you like that!) - Support through Project Cleveland Discussion
Forum on OTN - More Information
- idevcoe_nl_at_oracle.com
- otn.oracle.com/consulting/iplatform/content.html
50JHeadstart Designer Generator Designer - BC4J
transformator
51JHeadstart Designer Generator Designer - BC4J
transformator
52JHeadstart - Features
- Layout Styles
- form, table, table-form, list of values, find
page, regions, breadcrumbs, - Master-detail Layouts
- separate pages, same page, any combination of
layout styles for master and detail - Support for UI Widgets
- text field, drop-down box, list box, radio group,
check box, date picker, text editor, list of
values - Static and Dynamic Domains
53JHeadstart - Features
- Client-Side Rule Checking (javascript)
- required fields, date, number checks
- Other Runtime Behaviors
- multi-row insert, update, multi-select delete
- insert-only, update-only, read-only items
- Sorting and scrolling of table data
- notification of outstanding changes
- range searches, case-insensitive searches
54JHeadstart - Features
- Role Based Security
- Log in screen, register new user screen
- dynamic rendering of tabs based on user role
- Integration with Oracle Portal Single Sign On
- Error Handling and Messaging
- rule violations collected and reported at once,
with hyperlinks to field causing error - declarative constraint errors trapped and
replaced with user-friendly messages - multi-lingual messaging
- JSP Tag Library for using JSP as View