Welcome!

Agile Computing Authors: Pat Romanski, Liz McMillan, Yeshim Deniz, Elizabeth White, Andy Thurai

Related Topics: Java IoT, Weblogic, Machine Learning , Recurring Revenue

Java IoT: Article

REA Is Where RIA Becomes the Norm

JDeveloper 11g is a complete end-to-end development platform

ADF Overview - Oracle Practicing What It Preaches
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.

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.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
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

IoT & Smart Cities Stories
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...