By Chris Muir | Article Rating: |
|
June 2, 2009 10:00 PM EDT | Reads: |
41,564 |
As a Java veteran you know Java EE is littered with the bodies of dead frameworks leaving a best-of-breed group and a selection of new but less well-tested siblings. As a sign of strength Oracle ADF has survived the test of time. Oracle ADF through its end-to-end development support provides a complete MVC Java EE framework that includes ORM solutions for working with the database, UI technologies for creating Web and desktop interfaces, and controller technologies for providing sophisticated interactions with the user, all based around Java EE industry standards. If you've used JDeveloper before you'll recognize one of ADF's earlier incarnations, BC4J. However you'd be wrong in equating the two since ADF is a complete end-to-end framework while the earlier BC4J only dealt with the database.
Thanks to the fact Oracle has adopted ADF for its own applications development, its innovations and extensions have accelerated beyond what we, Oracle's customers, requested. Normally it's we developers who drive demand for innovation in vendor products, yet since Oracle is eating its own dog food, we enjoy a range of new features raised by Oracle's huge internal development teams. This is quite evident in the provisioning of the ADF Faces Rich Client JSF UI components, data visualisation objects, task flow facilities, and greatly improved ADF Business Components, giving us a free ride in adopting JDeveloper 11g and ADF.
ADF Binding Layer - Your Hands Aren't Tied to Just One ORM
What's your preference in picking the ORM technology in a Java EE MVC solution? A POJO solution such as JPA/EJB3 that lets you focus on putting business rules in the mid-tier, or a heavyweight SQL-optimised set of components that use the optimized database to manipulate data and call stored procedures? Whatever your answer, half the world begs to differ, such is the normal infighting between Java EE framework users.
Oracle has carefully hedged its bets. Oracle ADF, by including the ADF binding layer API, supports more than one ORM in the same project. If your project team is comprised of Java purists, ADF will happily work with EJB/JPA or EclipseLink. If your team has a data-centric development background, Oracle has created ADF Business Components, especially useful to Oracle Forms programmers. Have it your way as they say.
The ADF binding layer adds a massive advantage to ADF projects because for Web programmers it abstracts away having to be concerned about how to call each and every ORM technology, and instead creates a standardized API that the ORM plugs into, and a standardized API that the Web technologies make use of. Gone is the challenge of having to understand multiple technical solutions and how to explicitly use and call them. And the ADF binding layer takes this further by letting you draw data not only from ORMs, but POJOs, files, even Web Services.
ADF Business Components - Declare Your Love for Groovy Programming
ADF Business Components (ADF BC) has come a long way since its inception in 1999 as Business Components for Java (BC4J). From the beginning ADF BC as a sophisticated ORM has modelled database transactions through Application Modules, queries through View Objects, and DML statements through Entity Objects. Ultimately ADF BC is a carefully orchestrated RDBMS-centric approach. JDeveloper 11g has built on the success of ADF BC to deliver further benefits to you as the developer.
Oracle has recognized writing code can make you your own worst enemy. Every line of code you write is a potential bug, and over the life of several projects you'll code the same thing again and again. Code reuse reduces this problem, but why not remove the code altogether? ADF BC in JDeveloper 11g uses declarative programming, providing you hundreds of well-tested properties to use and set that in turn provide a huge array of features that database-centric Java EE systems need.
For example, take data validation. A project team could code hundreds of individual data validation rules into a Java mid-tier such as mandatory field requirements, values between ranges, selections in a list of values, and so on. Then include an exception framework, some sort of error-message bundles; the code requirements go on and on fraught with programmer mistakes. Yet in ADF BC a declarative validator encompasses all of these. Select your validation rule type, the field you want to validate, an optional condition when to fire the rule, and finally the error message. Beyond that the tool does the rest - without a single line of Java. And if you're really hooked on Java, JDeveloper lets you use Java validation methods if you want, a Java by exception framework.
Maybe you want more? Modern scripting languages provide a terse language capability without the hang-ups of Java. Is there a happy medium between writing relatively verbose Java and using a lightweight declarative programming model? There is now. JDeveloper 11g introduces support for Goovy expressions, the ability to define many of the properties around the simpler-than-Java Groovy syntax. Default values, query bind variables, error-message parameters and validators all make use of the new expression support.
Published June 2, 2009 Reads 41,564
Copyright © 2009 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Chris Muir
Chris Muir, an Oracle ACE Director, senior developer and trainer, and frequent blogger at http://one-size-doesnt-fit-all.blogspot.com, has been hacking away as an Oracle consultant with Australia's SAGE Computing Services for too many years. Taking a pragmatic approach to all things Oracle, Chris has more recently earned battle scars with JDeveloper, Apex, OID and web services, and has some very old war-wounds from a dark and dim past with Forms, Reports and even Designer 100% generation. He is a frequent presenter and contributor to the local Australian Oracle User Group scene, as well as a contributor to international user group magazines such as the IOUG and UKOUG.
![]() |
chriscmuir 05/10/09 09:53:00 AM EDT | |||
Hi Steve In answer to your query on "taken the Oracle world by storm", it's based on the statistic that SQL Developer was the most downloaded software from OTN in March this year (Source: Twitter @krisrice). Other empirical evidence includes that the OOW08 SQL Developer sessions were standing room only (closely followed by the Exadata sessions I hear ;-). Subjectively I can say *all* of my clients in the last year have SQL Developer installs/users in one form or another, and in some cases have active programs to assess SQL Developer as a replacement for similar IDEs. If I read it correctly the big enticement for them seems to be "free" though for myself other reasons apply. Regards your comment "....[SQL Developer users] most of them don't rely on it exclusively for their development work." I can't comment on PL/SQL coders as a collective as I neither have the evidence to back any opinion up and to be truthful rarely meet just "PL/SQL developers" these days - most developers I meet are multi skilled beyond just the database. This could be a difference between your customers and my customers down here in Australia, many sites are *very* small so developers need to be jack-of-all-trades. However from my own point of view if we just consider development work I do with the database I agree with your comment. For PL/SQL I use a combination of SQL Developer, SQL*Plus, text editors (UltraEdit or Notepad++ mostly), occasionally Quest's Toad, occasionally other tools like OEM or Apex. It'd be my pleasure to catch up with you in August, I'd be happy to take you on a tour of some of the sites if you have time. Thanks & regards, CM. |
![]() |
stevenfeuerstein 05/06/09 06:48:00 PM EDT | |||
Chris, very interesting post. One thing that caught my eye was this statement: "SQL Developer has taken the Oracle world by storm as a free and comprehensive Oracle development IDE with support for browsing database objects, running SQL statements and SQL scripts, and editing and debugging PL/SQL statements." Can you tell me what data you have seen to support the "taken the Oracle world by storm" comment? I do lots of trainings and presentations to PL/SQL developers and I still find that a very small number of them seem to be using SQL Developer, and most of them don't rely on it exclusively for their development work. My audiences may, however and understandably, be skewed towards Toad users (I work for Quest Software), but still.... Warm regards AND....I will be in Perth in August doing presentations for Quest. Perhaps we can meet up! SF |
Apr. 22, 2018 12:15 PM EDT Reads: 1,742 |
By Pat Romanski ![]() Apr. 22, 2018 12:00 PM EDT Reads: 5,409 |
By Elizabeth White ![]() Apr. 22, 2018 12:00 PM EDT Reads: 3,877 |
By Elizabeth White ![]() Apr. 22, 2018 10:45 AM EDT Reads: 6,789 |
By Yeshim Deniz Apr. 22, 2018 10:00 AM EDT Reads: 948 |
By Pat Romanski ![]() Apr. 22, 2018 09:45 AM EDT Reads: 8,625 |
By Pat Romanski Apr. 22, 2018 09:15 AM EDT Reads: 2,267 |
By Liz McMillan Apr. 22, 2018 09:00 AM EDT Reads: 2,603 |
By Elizabeth White ![]() Apr. 22, 2018 09:00 AM EDT Reads: 6,404 |
By Yeshim Deniz Apr. 22, 2018 09:00 AM EDT Reads: 2,701 |
By Yeshim Deniz Apr. 22, 2018 08:45 AM EDT Reads: 3,123 |
By Pat Romanski ![]() Apr. 22, 2018 08:30 AM EDT Reads: 8,801 |
By Pat Romanski ![]() Apr. 22, 2018 05:15 AM EDT Reads: 3,780 |
By Elizabeth White ![]() Apr. 22, 2018 04:00 AM EDT Reads: 17,295 |
By Liz McMillan ![]() Apr. 22, 2018 03:00 AM EDT Reads: 3,843 |
By Yeshim Deniz ![]() Apr. 22, 2018 02:15 AM EDT Reads: 1,949 |
By Liz McMillan ![]() Apr. 22, 2018 01:00 AM EDT Reads: 3,776 |
By Liz McMillan Apr. 22, 2018 12:15 AM EDT Reads: 2,599 |
By Pat Romanski Apr. 21, 2018 11:45 PM EDT Reads: 2,696 |
By Liz McMillan ![]() Apr. 21, 2018 11:15 PM EDT Reads: 17,209 |