Chatbots, Cloud-Native, Low-Code and much more

I took part in the wonderful Oracle Paas Partner Community Forum in Split. This was a great event where I had the chance to discuss and learn especially about Oracle Cloud. The most underlined words were Chatbots, Cloud-Native, Low-Code, API first and the most important one: DEMO.

I saw a lot of demos during the event, showing all kinds of services in the Oracle Cloud, this was in my eyes the most valuable part of the event.

I’m more of a technical guy, so I will focus on the technical things that impressed me during the event.

The rise of Chatbots @Oracle

I know the title sounds very Hollywood, but in fact chatbots are just another way for users to interact with software. A chatbot is a service that understands the natural language written by a user and takes actions in accordance and context of the discussion. Also the chatting is enriched by some menu items where the user can select different directions for the chat. In this new type of application the developers don’t need to take too much care about the user interface, as this is provided by a messenger application, e.g. Facebook Messenger.

Frank Nimphius highlighted in his presentation that chatbots come in two flavours:

Intelligent

On rails

Developer activities are related to the following tasks:

Train the chatbot if it’s intelligent or construct the so called menu options if it’s on rails;

Provide support for all kinds of languages, at the moment the most supported is English;

Develop the response service based on the different paths a user can take;

It seems that chatbots are well suited in the support area, where it could quickly answer easy customer questions, without the user having to wait for the support line to be free and be horrified by the music selection of the support line.

Cloud-Native applications

Yet another buzz word, but it’s really simple, it’s all about what and how much can be done in the Oracle Cloud. If all activities from the Software Development Lifecycle (SDLC) can be done in the cloud then you are for sure going in the right direction for building a Cloud-Native application. Presently the Developer Cloud Service can take care of code repository, continuous development, continuous integration and agile project management in the cloud. The Developer Cloud Service integrates beautifully with Eclipse and JDeveloper and can generate automated builds and deployments directly in Oracle Cloud services like: Java Cloud or Application Container Cloud.

Java Cloud is basically an Oracle Weblogic instance where Oracle ADF applications can be deployed. In order to get Java Cloud you need to also provision a Database Cloud, because of the JRF. It takes 30-45 minutes to provision all those services and once everything is up and running you are ready to build your first Cloud-Native application. The benefit from my point of view is that you will leverage a lot of your on premise knowhow but without the hassle of installing Oracle Weblogic and an Oracle Database and without making all the needed configuration.

APIs first

You probably already know that Oracle acquired Apiary, a platform for designing APIs. You might ask yourself if you really need that. Yes, I believe so because with REST it’s very easy to generate a lot of endpoints and services, and very soon you will lose control over it. Then after 6 months you won’t know who is using what and you enter in a “cycle of pain”. So the smarter approach is to have a platform where you can easily design the API, document it, apply rules on it and publish it to developers to do what they do best: coding.

Try apiary for yourself, it’s free, probably one of the few free Oracle products.

For sure the story doesn’t end with Apiary, something is still missing from the puzzle:

How to manage the endpoints after they are created?

How to secure them?

How to do routing?

How to transform JSON payload from one REST service for the need of another application?

Somehow I feel the need to have a smaller version of Oracle Service Bus but just for REST.

WebLogic to the Cloud

Another free tool from Oracle is AppToCloud. With this tool you will be able to move vanilla Oracle WebLogic instances to the Oracle Cloud. Oracle released version 1 and has in plan to deliver version 2 soon.

Version 1 of AppToCloud comes with some really big limitations like not being able to export JMS, no exporting if JRF is enabled, no exporting if you have domain partitions, etc.

One positive aspect is that it can move an Oracle WebLogic instance starting from version 10.3.3 to the Oracle Cloud, but it will also do an upgrade to one of the accepted Oracle Cloud versions of Oracle WebLogic. So you have to make sure your vanilla J2EE applications can run in the targeted version.

ADF BC Rest services

Another wonderful and technical presentation was held by Frank Nimphius about ADF BC exposed as REST services. I learned that ADF BC REST comes in 3 versions, depending on the ADF version, but on the latest ADF 12.2.1.2 version you can configure which version to use, from adf-config.xml.

Another handy parameter for ADF BC REST services is the “onlyData”, this will remove almost all the additional data introduced by ADF from the JSON payload, children links, references, etc. This is very useful when you want to minimize network traffic. If you need only some specific fields from a View Object then use the “fields” parameter, this will consider in the JSON payload only the fields indicated by this parameter.

RowFinders are also very useful for making the REST URLs more understandable to humans. The row finder supports returning a collection or instance for the row finder-enabled resource using only the row finder key attribute. Thus, service clients may access REST resources without requiring knowledge of database primary key values to end users.

I also learned that the ADF BC Rest resources can be secured by ADF Security, in the same fashion as we secure Task Flows.

Low-Code

Oracle offers two services in this area: Application Builder Cloud Service (ABCS) and Mobile Cloud Service (MCS). Some of the functionality of those two services overlap because ABCS also have the possibility to create a mobile application. I must admit that I was skeptical about these two services but once I tested them a bit I see the added value they bring, especially for SaaS area where ADF Fusion Applications use ADF BC for the business services layer. I am still skeptical about business users creating complex Low-code applications.

Sites Cloud Service

Sites Cloud Service is another interesting cloud offering from Oracle, which provides for a way to contribute structured content to a website, in a fashion similar to WCC SiteStudio, but in a much nicer format and with a beautiful and slick interface. You can define your pages and regions based on the content structure that you prefer. The demo showed how easy is to build a presentation site for a coffee shop by using just the browser. SCS also offers predefined templates which can, of course, be customized.

Another positive aspect is that you can expose the data that you contribute in your website by means of a REST API. This allows you to build the application with whichever framework you want, but use data which is already existing in your SCS.

Conclusion

All in all it was a great event and I definitely recommend joining it in the future to Oracle Partners, community and customers. I felt that Oracle Cloud is more mature now and much more stable. The gaps that still exist in customer satisfaction are closing fast.