1 / 35

Building Complex Java Applications with Oracle 9 i JDeveloper

Learn how to use Oracle 9i JDeveloper to build complex Java applications with ease. Discover its strengths, weaknesses, and long-term vision.

mahle
Download Presentation

Building Complex Java Applications with Oracle 9 i JDeveloper

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Building Complex Java Applications with Oracle 9i JDeveloper Dr. Paul Dorsey Dulcian, Inc. www.dulcian.com

  2. Survey • Who is using Oracle JDeveloper for anything? • in test • in production • Who is doing web development? • JDev • JSP • UIX • Web services • .net • Other

  3. 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 JDeveloper History

  4. 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

  5. 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

  6. Extremely important! 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

  7. 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

  8. 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

  9. Required Tools Forms TOAD Required Languages SQL PL/SQL Using Form Builder(the good old days) Forms Client/Server

  10. Required Tools JDeveloper TOAD Required Languages Java XML JDBC SQLJ SQL, PL/SQL Java Applications • Client-server • Java program runs on PCs JVM

  11. Required Tools JDeveloper TOAD Apache or IAS Required Languages Java XML JDBC SQLJ SQL,PL/SQL Java Applets Java applications running over a browser • Other problems - Security • Firewalls • Secure Sockets

  12. Required Tools JDeveloper TOAD Apache or IAS DreamWeaver or FrontPage Required Languages Java XML – a little JDBC SQLJ SQL, PL/SQL HTML JavaScript • Other problems - Security • Firewalls • Secure Sockets Web Module (JSPs) • Sell over the Internet • Java back end, HTML front end

  13. 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)

  14. 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.

  15. 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

  16. 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.

  17. 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

  18. 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

  19. Entities & Associations Data Model Dept Emp 1 Emp 2 Views & view links DBMS Tables * Emp Dept 1 * FK Emp Dept Emp Dept 1 filtered view Default Generator

  20. 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

  21. Now 100% Java • Slightly faster IDE • Some compilation is faster. • All in all – a little faster. • Much nicer user interface

  22. JDeveloper Class Diagram

  23. 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™

  24. JDeveloper Activity Modeler • Swim lanes and activities • Vaguely familiar if you know Designer • Workflow • BRIM™ generates more code.

  25. View Output page JClient Swing J2EE HTML Servlet JSP XML Controller Business Rules Navigation Controls content Always JAVA (mostly) Model-View-Controller (MVC)

  26. 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 Model

  27. JClient Very complex Client/Server Can do anything J2EE JSP Framework Struts UIX JDeveloper is 2 products(actually more)

  28. JClient • Swing components • Java • BC4J • Lots of coding • Needed for very complex applications • Less to learn than J2EE

  29. J2EE (You’re not in Kansas anymore) • The world is getting simpler, but less flexible • Unless you work hard • Fully open architecture

  30. J2EE – The path to enlightenment • Build basic JSP • Using the JDeveloper Wizards • By hand • Build basic UIX application • Using the JDeveloper Wizards • By hand

  31. 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) References

  32. JSP/Java Extensions • Look for third party resources. • Type “Java chart” into any web search engine • Don’t reinvent the wheel.

  33. More Information about JDev 9i • otn.oracle.com • Products area • The discussion forums are quite active. • ODTUG lists • Oracle support

  34. 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 select@ioug.org.

  35. Contact Information Dr. Paul Dorsey – paul_dorsey@dulcian.com Dulcian website - www.dulcian.com Design Using UML Object Modeling Designer Handbook Developer Advanced Forms & Reports

More Related