|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
Features REA Is Where RIA Becomes the Norm
JDeveloper 11g is a complete end-to-end development platform
By: Chris Muir
Jun. 2, 2009 10:00 PM
ADF Overview - Oracle Practicing What It Preaches 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 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 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. Reader Feedback: Page 1 of 1
Your Feedback
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||