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:
Cloud Native Architecture
Multiple services working together to build the cloud native architecture
Services for the Cloud Native Architecture
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:
Dashboard for the Mobile Application
and the final detailed architecture of the application:
Detailed Architecture
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.
Modern DevOps
The case study was about the development of the Developers Cloud Service itself, neat!
Developers Cloud Service Outline
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)
Code Review
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
Day in the Life of a Devloper
and the day of a manager
to summarize these points
Summary
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 12.2.1.1, 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 12.2.1.1):
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.
Sample JET Composite Components
Key features of JET Composite Components and there basic structure is shown below
-
-
-
Key Features and Architecture
(Coming soon!) The composite components end up together in a Tenant Component Catalog where the components can be filtered by their characteristics
-
-
Tenant Component Catalog
-
-
Tenant Component Catalog
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
Project Visual Code
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
-
-
-
Summary
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.
- JET allows faster exchange of libraries. JavaScript developers tend to rewrite their UI faster then ADF developers (see yesterdays summary where Geertjan Wielenga made the same point).
- 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.
- Cloud IDE (writing code in the cloud) will have JavaScript capabilities
- 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.