Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.
-
Upload
annabelle-merryl-ryan -
Category
Documents
-
view
218 -
download
1
Transcript of Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.
![Page 1: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/1.jpg)
Dr. Paul DorseyDulcian, Inc.
www.dulcian.com
Building Complex Java Applications with Oracle 9i JDeveloper
![Page 2: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/2.jpg)
Survey
Who is using Oracle JDeveloper for anything? in test in production
Who is doing web development? JDev
JSP UIX Web services
.net Other
![Page 3: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/3.jpg)
JDeveloper History Oracle bought some
code for Borland’s J-Builder in 1997.
JDeveloper 1.0 (1998) More or less useless
JDeveloper 2.0 (1999) Still useless
JDeveloper 3.0 (2000) BC4J & DAC Finally the right idea!
JDeveloper 3.2 (2001) Bug fixes First useful version
JDeveloper 9i (2002) First good version Big rewrite Change in direction
![Page 4: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/4.jpg)
Where Does JDeveloper Fit?
A Java development tool JDeveloper has lots of market competition
Visual Café - Symantec JBuilder Forte
A Java development tool that works with Oracle No real competition
![Page 5: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/5.jpg)
Where JDeveloper fits today
Good tool for building Java applications Best tool for building Oracle-based Java applications Most of the solution for building JSPs or UIXs
![Page 6: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/6.jpg)
JDeveloper in the Development World
Weaknesses Inefficient for application development Evolving support for JSP development
Strengths Good IDE Extensible - wizards, property inspectors
(customizers), toolbars, code generators Excellent Oracle database connectivity Supports all Java development Good user interface
Rated high by reviewers, much better than 3.2 release
Extremely important!
![Page 7: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/7.jpg)
JDeveloper’s Short-Term Vision
Close the gap with Form Builder on development efficiency for Web Development - JSP/UIX 6-12 months
Support full enterprise-level data modeling 1-2 years
Java client support is “mature.” Add other UML pieces
Use cases
![Page 8: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/8.jpg)
Is Java all you need to deploy on the Web?
NO!!!!Java Deployment
JSP - Web Applet – Web internal Applications – Client/Server
Each alternative requires different tools and languages
![Page 9: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/9.jpg)
Using Form Builder(the good old days)
Required Tools Forms TOAD
Required Languages SQL PL/SQL
Forms Client/Server
![Page 10: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/10.jpg)
Java Applications
Required Tools JDeveloper TOAD
Required Languages Java XML JDBC SQLJ SQL, PL/SQL
Client-server
Java program runs on PCs JVM
![Page 11: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/11.jpg)
Java Applets
Required Tools JDeveloper TOAD Apache or IAS
Required Languages Java XML JDBC SQLJ SQL,PL/SQL
Java applications running over a browser
Other problems - Security
Firewalls
Secure Sockets
![Page 12: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/12.jpg)
Web Module (JSPs)
Required Tools JDeveloper TOAD Apache or IAS DreamWeaver or FrontPage
Required Languages Java XML – a little JDBC SQLJ SQL, PL/SQL HTML JavaScript
Sell over the InternetJava back end, HTML front end
Other problems - Security
Firewalls
Secure Sockets
![Page 13: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/13.jpg)
Using Java
For PL/SQL programmers wanting to move to Java, there are some important conceptual differences to understand.
Learning Java is more than just learning a new syntax.
You need to take an object-oriented approach.Get Martin Fowler’s book: Refactoring:
Improving the Design of Existing Code(Addison-Wesley Pub Co, 1999)
![Page 14: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/14.jpg)
JDeveloper’s Long-Term Vision
A fully integrated design and development environment Centralized repository
Full UML integration The vision of what
Designer and Developer never fully achieved
Probably never integrate into Designer….maybe
JSP is the main development direction.
![Page 15: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/15.jpg)
Is JDeveloper ready for production use?
Client/Server style application development Yes (but it will take time)
Web development Probably (but it will take a LONG time)
UIX support Faster JSPs 9.05 end of year
![Page 16: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/16.jpg)
BC4J - Overview
Main advantage over other development tools Primary way of handling database DML operations Overcomes hurdle of complex database interface to
handle web-based applications BC4J features:
Builds a set of Java classes that wrap the DML commands and reference an XML document that stores the data structure
Classes make JDBC calls to the database to take over insert, update, delete and lock functions.
![Page 17: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/17.jpg)
BC4J - Advantages
BC4J classes can implement complex validation. Need to think carefully about whether this is the appropriate
place for this function
Reduced development time Can cache data to be shared among multiple users
Allows for tuning capabilities
![Page 18: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/18.jpg)
Three areas of BC4J
1. Entities and Associations Cached copy of a portion of the database An entity is linked to, at most, 1 table Not needed for query-only objects
2. View objects and view link objects View objects that sit on top of entities (or nothing)
3. Data model Collection of views What the UI applications interact with
![Page 19: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/19.jpg)
Default Generator
Data ModelDept Emp 1Emp 2
Views & view links
Emp Dept*1
filtered view
Entities & Associations Emp Dept*
1
DBMS Tables
Emp DeptFK
![Page 20: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/20.jpg)
BC4J Files
XML – redundantly stores data structure of relational database
Java classes – contain complex logic and application calls used by other parts of application
Java library – provided by Oracle to handle JDBC generation
![Page 21: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/21.jpg)
Now 100% Java
Slightly faster IDE Some compilation is faster. All in all – a little faster. Much nicer user interface
![Page 22: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/22.jpg)
JDeveloper Class Diagram
![Page 23: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/23.jpg)
UML Modeling
Java classes Quite good Useful?
BC4J Only entity objects (not view objects)
EJBs, Web Services Not sure I care
Data Modeling Use Dulcian’s BRIM™
![Page 24: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/24.jpg)
JDeveloper Activity Modeler
Swim lanes and activities Vaguely familiar if you know Designer Workflow BRIM™ generates more code.
![Page 25: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/25.jpg)
Model-View-Controller (MVC)
ViewOutput pageJClient
SwingJ2EE
HTML Servlet JSP XML
ControllerBusiness RulesNavigationControls contentAlways JAVA
(mostly)
![Page 26: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/26.jpg)
Model
Model Connect UI to the
database BC4J EJB
But it gets messy… Controller functions can
be anywhere View
JClient Java in the application
J2EE JavaScript
Model BC4J explicitly supports
business rules EJBs are Java so they
support anything
Database Triggers
![Page 27: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/27.jpg)
JDeveloper is 2 products(actually more)
JClient Very complex Client/Server Can do anything
J2EE JSP Framework
Struts UIX
![Page 28: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/28.jpg)
JClient
Swing components Java BC4J Lots of coding Needed for very complex
applications Less to learn than J2EE
![Page 29: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/29.jpg)
J2EE (You’re not in Kansas anymore)
The world is getting simpler, but less flexible Unless you work hard
Fully open architecture
![Page 30: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/30.jpg)
J2EE – The path to enlightenment
Build basic JSP Using the JDeveloper Wizards By hand
Build basic UIX application Using the JDeveloper Wizards By hand
![Page 31: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/31.jpg)
References Oracle 9i JDeveloper Handbook,
Koletzke, Dorsey & Faderman, (Oracle Press, 2002) ISBN: 0072223847
Oracle 9iAS: Building J2EE Applications, Morrisseau-Leroy (Oracle Press, 2002) ISBN: 0072226145
Oracle 9i Application Server Portal Handbook, Vandivier & Cox (Oracle Press, 2001) ISBN: 0072222492
Oracle 9i JDBC Programming, Jason Price, (Oracle Press, 2002) ISBN: 0072222549 (not needed if you use BC4J)
Java2: The Complete Reference (5th Edition), Herbert Schildt, (McGraw-Hill, 2002) ISBN: 0072224207
Struts Kick Start, Turner & Bedell, (SAMS, 2002) ISBN: 0672324725
Oracle9i XML Handbook, Chang, Scardina & Kiritzov, (Oracle Press, 2001) ISBN: 007213495X
Refactoring: Improving the Design of Existing Code, Martin Fowler (Addison-Wesley, 1999) ISBN: 0201485672
Oracle 9i Web Development, Bradley D. Brown (Oracle Press, 2001) ISBN: 0072193883
The Java Class Libraries – Volumes 1, 2, 3, Chan & Lee, (Addison-Wesley)
The Java Tutorial (series), Campione, et. al (Addison-Wesley)
![Page 32: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/32.jpg)
JSP/Java Extensions
Look for third party resources. Type “Java chart” into any web search engine
Don’t reinvent the wheel.
![Page 33: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/33.jpg)
More Information about JDev 9i
otn.oracle.com Products area The discussion forums
are quite active.
ODTUG lists
Oracle support
![Page 34: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/34.jpg)
Share your Knowledge:Call for Articles for the
SELECT Journal Help contribute your knowledge to the larger Oracle
community: Make the SELECT Journal an even more valuable resource. Articles wanted on topics of interest to the Oracle community. Sign up to be a reviewer of articles.
Submit articles, questions, … to [email protected].
![Page 35: Dr. Paul Dorsey Dulcian, Inc. Building Complex Java Applications with Oracle 9i JDeveloper.](https://reader035.fdocuments.in/reader035/viewer/2022062422/56649f2a5503460f94c4463c/html5/thumbnails/35.jpg)
Contact Information
Dr. Paul Dorsey – [email protected] website - www.dulcian.com
Developer AdvancedForms & ReportsDeveloper AdvancedForms & Reports Designer
HandbookDesignerHandbook
Design Using UMLObject ModelingDesign Using UMLObject Modeling