By Shay Shmeltzer-Oracle on Nov 16, 2015
Why a new framework?
Should I be using JET or ADF for development?
You can answer this question in two ways.
The other distinction is architecturally based, ADF is a Java EE framework running on the server and covering the full set of layers of your application. JET is a client side framework that takes care of UI and binding to REST services. Each of these architectures has its benefits and places were it will shine, so choose the right architecture for the implementation you are aiming to do.
Are those the only differences between the two?
While the two distinctions above are the main thing to consider, there are other aspects that you would want to look into.
For example, how do you feel about protection from technology shifts?
ADF does a great job of abstracting you from the underlying technology by using meta-data driven implementation. So as an ADF developer you were mostly oblivious to changes such as transition from JSF1 to JSF2, or from using Flash in rendering charts to using HTML5, or from exposing ADF BC as SOAP to exposing it as REST. These type of changes didn't require you to re-write your app, and you were able to get your app upgraded to use the new technologies in a seamless way.
Here is a slide we used in OOW sessions that lists some other differences between the two framework.
Which one is the strategic framework for Oracle?
Both are. We don't see either one of them as a replacement for the other, we believe the market has a place for both frameworks. We didn't create JET to replace something - we created JET to add a solution to our tools-belt for capabilities and languages that we didn't have a solution for before.
Inside Oracle you can actually see both of them being used. All our SaaS applications are built and continue to be enhanced with Oracle ADF, and so are various other cloud products.
Other cloud products use JET for their UI layer - examples include Mobile Cloud Service, BI Cloud Service Visual Analyzer, Developer Cloud Service.
Each one chose the technology based on the developers skills and functionality they needed.
Are there integration points between the frameworks?
From our perspective as the development organization behind both frameworks, we share resources and knowledge among the frameworks, for example the same team builds data visualization components for both JET and ADF (and MAF) - and you can see the same components available in those frameworks.
In terms of using them together, JET UIs can access any REST service at the backend - for example JET can access REST services exposed from ADF Business Components. (In fact, JET knows how to leverage the detailed description provided by the ADF BC REST service to simplify binding UI to the data).
What's the bottom-line?