Started with the (early) morning keynote ‘Oracle OpenWorld Tuesday Morning Keynote‘ hosted by Bhanu Murthy B. M., Safra Catz, Hon. Chief Minister Shri. Devendra Fadnavis and Thomas Kurian.
As the keynote and it’s content is covered all over the media already I won’t add to this. Oh, one thing I like to say is that the ‘live’ demos did not really look live to me. Would you risk that your ‘live’ demo is going to hell because of some technical problem with Thomas Kurian on stage?
Next on my list for today was ‘Agile Development and DevOps Done Even Faster with Oracle IaaS and PaaS‘ by Michael Lehmann, Suhas Uliyar and Siddhartha Agarwal. This session talked about agile development in the cloud using IaaS, PaaS and Microservices together with DevOps tools like Docker.
First a Cloud Navtive Architecture was introduced:
The practical part was a sample which showed how to build, deploy, or manage mobile-fronted, API-first autoscaling application, a microservice build on Node.js here, live on stage. New here is htat you can use the Management Cloud Service to introspect the microservice to see how it runs on your environment. The just build service then is consumned by anohter app (mobile using MAX) to visualize the data.
The final dashboard build for the mobile app, it took only about 20 minutes to build and deploy:
and the final detailed architecture of the application:
Next on my Cloud program was ‘Development Operations in the Cloud: A Use Case and Best Practices‘ by Greg Stachnick and Jeff Stephenson. They talked about best practices using the Cloud Services to develop applications from the modern DevOps point of view.
The case study was about the development of the Developers Cloud Service itself, neat!
This is a big project which is running completely in the cloud. Here is an image that shows a code review screen (sorry for the poor quality)
After accepting the changes the changes are pushed back to the mail line, triggering the next integration cycle in the continuous integration system. The typical cloud developers life is
and the day of a manager
to summarize these points
This summary hit the nail on the head. I’ve bin a contractor in many projects, always asking for more machines or more power. I would be happy if I could spin up another machine to do some testing instead of waiting for some other things to finish using the machine I wait for.
Before my day is over there are two sessions about ADF and JDeveloper to attend. First was Shay Schmeltzer with ‘Oracle Application Development Framework and Oracle JDeveloper: What’s New‘ which reveals what’s coming up in the world of ADF and JDeveloper. Shay started with the short history of ADF and JDev
which is even longer if you count JBO to it too, which started 1999. Impressive. The session was more about features which are new in JDev 12.2.1 and JDev 220.127.116.11, both versions are out quite some time. So, nothing new for seasoned ADF developers at the beginning.
Not so well known are ADF Business Components Triggers which are more known by Forms developers. They allow to do things right before or after some DB events fires.
ADF BC REST Services and REST DataControl are better known if you work in the cloud or with mobile applications:
Remote Regions where introduced with JDev 12.2.1 but needed a patch to make them run (fixed in 18.104.22.168):
Remote Task Flows:
UI stuff like responsive support through templates (Tablet First), Massonry Layout and matchmediaqueries:
Lots of new and changed data visualization components:
and finally to sum things up, other enhancements behind the scenes:
For the future we can expect more and easier support for REST services and writing Groovy code. The biggest change will be the integration of JET Composite Components into ADF pages. JET Composite Components are an equivalent to ADF Declarative Components. You can build components from using other components, add properties to them to influence their behavior. Composite Components fire events which you can use to interact. Not sure how this will work, other that in the end you have HTML. Bad thing is that there is not even a time frame for this. More details in hte next section.
Anyway, ADF is not dead! There will be future development and enhancements in JDeveloper and ADF.
Final session for this long day ‘Oracle Development Tools and Frameworks: Which One Is Right for You?‘ by Shay Shmeltzer (again) and Denis Tyrell. As some of the features are not available at the moment the ‘Safe Harbor’ statement comes to play. So if you see something which you don’t find in the available version, you have to patiantly wait for it. No time frame given 😦
Shay summarized the different frameworks ADF, MAF, JET and ABCS and pointed out their key features. As the frameworks are well known I spare most details. As promised I give more detail about the Oracle JET Composite Components.
Key features of JET Composite Components and there basic structure is shown below
(Coming soon!) The composite components end up together in a Tenant Component Catalog where the components can be filtered by their characteristics
Which late will be extended so that components are available from different channels
In the end there will be Project Visual Code provides a low code environment
After this deep dive into JET Composite Components I present the summary of the session which shows which development framework is used for which development
At the end of the session Shay and Denis answered some question which are noteworthy. I Cant remember all question but tried to summarize the key points from the answers:
- Oracle focuses on JET as the future development environment Future focus on jet. Why? ADF is already feature rich and the developer don’t ask for much more.
- Developers want more client side development. Demand on server generated UI is going to decline.
- JET will get offline capabilities! This can’t be done easily with ADF.
- Public Component Catalog is only public to a point. You have to submit components which then will be vetted by someone before other users can use them.
- ABCS (Application Builder Cloud Service) is not available on premise right now
- For declarative JET development look at ABCS. ABCS allows to get the underlying JET code (save as) so you can look at the code and change it, e.g. to use it elsewhere.