| |
 |
JANUARY 2019
|
|
|
| |
| |
Your Monthly Developer Updates |
|
| |
|
| |
Oracle Developer Partner Community Newsletter
January 2019
|
|
|
| |
Dear Developer Partner Community,
Registration for the PaaS Partner Community Forum 2019 is open. This year’s conference takes place from April 8th to 10th in Mallorca Spain. It’s a one week conference for cutting-edge software consultants, engineers and enterprise-level professionals. The #PaaSForum brings together partners who innovate SaaS and the world’s leading Oracle PaaS experts in the fields of integration, API management, process management, microservices & serverless, machine learning, digital assistant, content management and blockchain. As we want to give experts the opportunity to get the latest cloud and on-premises updates our goal is to open registration 100 days in advance – register here!
In case you can’t attend the Community Forum, we offer free hands-on Chatbot trainings in Paris, Cairo, Johannesburg, Madrid, London and Prague. Or one of the upcoming Meetups in Cologne, London, Lisbon and Madrid. You want to promote your service offerings and solutions with the Oracle customer base? Feel free to submit your free listing for the Oracle Cloud Marketplace.
Cloud Native Service is one of the latest Oracle cloud services. Attend our community webcast on January 25th to get an introduction and request your trial here. Thanks to the community for all the excellent cloud native development and WebLogic articles: Announcing Oracle Cloud Native Framework at KubeCon North America 2018 & Announcing Oracle Functions & Container Native Application Development Get Hands On with Oracle Public Cloud & Serverless, Java and FN project first steps & Setting up fn on Kubernetes in the Oracle Cloud (OKE) & Conversational UI with Oracle Digital Assistant and Fn Project & Function(al) Webhooks with Fn & Dive into Serverless Functions & A 30MB native image with Helidon to run REST based microservices & Starting your Java EE micro-service journey with Oracle Helidon SE & Deploy containers on Oracle Container Engine for Kubernetes using Developer Cloud & WebLogic Kubernetes Operator 2.0 Release Candidate now available & Weblogic 12c – Monitoring JVM Performance Metrics Using OEM and Java Mission Control.
Thanks to the community for all the excellent mobile & development tool articles Adding Remote Data Access to Bot Conversations How to build custom components for use in Oracle Intelligent Bots & Combine Google Assistant with Oracle Digital Assistant & TechExchange: How-to Best Handle List or Button Actions That Were Issued from UI Components Displayed in the Messenger Conversation History & New instance with Oracle Digital Assistant v18.4 & Adding Calculated Fields to Your Visual Builder UI & Off Canvas Menu in Oracle VBCS/JET Cloud & Oracle JET 6.0.0 Web Application free on-demand Learning Paths & Knockout.js - Updating Single Array Element (Oracle JET) & Advanced Internationalization in Oracle JET & Consume ADF BC based REST Web Service using ADF REST Data Control & ADF Performance Monitor – New Whitepaper Published & Understanding Attributes Enum in ADF BC Row Class by & JDeveloper: Creating a FULL OUTER JOIN View Object
Podcast: REST or GraphQL? An Objective Comparison & Oracle VM VirtualBox 6.0 now available! & DevOps for Oracle Forms Using Developer Cloud Service.
For a short summery of our key monthly information watch the Fusion Middleware & PaaS Partner Updates on YouTube. The January edition highlights the PaaS Partner Community Forum and Oracle OpenWorld in London and Dubai. This month’s community webcast will be an introduction of FN Project, please join our monthly PaaS Partner Community Webcast – January 25th 2019.
Want to publish your best practice article & news in the next community newsletter? Please feel free to send it via Twitter @wlsCommunity #DeveloperCommunity!
|
|
 |
|
| |
| |
 |
Table of Contents |
|
Community Section |
| > |
PaaS Partner Community Forum 2019 April 8th-10th 2019 Spain |
| > |
Oracle Functions and Cloud Native - PaaS Partner Community Webcast January 25th 2019 |
| > |
PaaS Partner YouTube Update January 2019 |
| > |
Cloud Marketplace: promote your service offerings and solutions free of charge with Oracle customers |
| > |
Oracle Developer Meetups in Utrecht, Istanbul, Lille, Brussels, London, Lisbon, Madrid, Cologne and Oslo |
| > |
Digital Assistant (Chatbot) free hands-on trainings in Paris, Cairo, Johannesburg, Madrid, London and Prague |
| > |
PaaS free trial accounts ICS, SOA CS, API CS, PCS, IoT and PaaS for SaaS |
|
Application Development Section |
| > |
Announcing Oracle Cloud Native Framework at KubeCon North America 2018 |
| > |
Announcing Oracle Functions |
| > |
Request Access to Cloud Native Services in Limited Availability |
| > |
Container Native Application Development Get Hands On with Oracle Public Cloud |
| > |
Serverless, Java and FN project first steps |
| > |
Setting up fn on Kubernetes in the Oracle Cloud (OKE) |
| > |
Conversational UI with Oracle Digital Assistant and Fn Project |
| > |
Function(al) Webhooks with Fn |
| > |
Dive into Serverless Functions |
| > |
A 30MB native image with Helidon to run REST based microservices |
| > |
Starting your Java EE micro-service journey with Oracle Helidon SE |
| > |
Deploy containers on Oracle Container Engine for Kubernetes using Developer Cloud |
| > |
WebLogic Kubernetes Operator 2.0 Release Candidate now available |
| > |
Weblogic 12c – Monitoring JVM Performance Metrics Using OEM and Java Mission Control |
|
Developer Tool Section |
| > |
Adding Remote Data Access to Bot Conversations How to build custom components for use in Oracle Intelligent Bots |
| > |
Combine Google Assistant with Oracle Digital Assistant |
| > |
TechExchange: How-to Best Handle List or Button Actions That Were Issued from UI Components Displayed in the Messenger Conversation History |
| > |
New instance with Oracle Digital Assistant v18.4 |
| > |
Adding Calculated Fields to Your Visual Builder UI |
| > |
Off Canvas Menu in Oracle VBCS/JET Cloud |
| > |
Oracle JET 6.0.0 Web Application free on-demand Learning Paths |
| > |
Knockout.js - Updating Single Array Element (Oracle JET) |
| > |
Advanced Internationalization in Oracle JET |
| > |
Consume ADF BC based REST Web Service using ADF REST Data Control |
| > |
ADF Performance Monitor – New Whitepaper Published |
| > |
Understanding Attributes Enum in ADF BC Row Class by |
| > |
JDeveloper: Creating a FULL OUTER JOIN View Object |
| > |
Podcast: REST or GraphQL? An Objective Comparison |
| > |
Oracle VM VirtualBox 6.0 now available! |
| > |
DevOps for Oracle Forms Using Developer Cloud Service |
|
Additional new material WebLogic & Developer Community |
| > |
Top tweets WebLogic & Developer Partner Community – January 2019 |
| > |
Training Calendar Developer Partner Community |
| > |
My private Corner – friends let’s meet |
|
|
|
| |
| |
Announcements & Community Section |
|
|
|
 |
| |
The conference for Oracle PaaS & SaaS Partners
The Oracle Partner Community Forum is a one week conference for cutting-edge software consultants, engineers and enterprise-level professionals. The #PaaSForum brings together partners who innovate SaaS and the world’s leading Oracle PaaS experts in the fields of integration, API management, process management, microservices & serverless, machine learning, digital assistant, content management and Blockchain.
Conference tracks:

Location & Schedule:
Meliá Calviá Beach
Carrer Violeta, 1, 07181 Andratx, Illes Balears, Spain
April 8th to April 12th 2019
For details please visit the registration page here.
Back to top |
|
|

|
| |
| |
Attend our January edition of the PaaS Partner Community Webcast live on January 25th 2019.
Oracle Functions and Cloud Native Limited Availability
We announced Oracle Functions + Cloud Native Limited Availability Program at KubeCon North America 2018 on Dec 11, 2018. Join this session, presented by Oracle Functions Product Management, to get the latest information about the program and Oracle Functions service. Visit https://www.oracle.com/cloud/cloud-native to learn more and to sign up today!
Missed our PaaS Partner Community Webcast? – watch the on-demand versions:
For the latest information please visit Community Updates Wiki page (Community membership required).
Back to top |
|
|

|
| |
| |
|

|
| |
| |
Step 1 – Register for an Oracle Cloud Marketplace Publisher Account:
Go to cloud.oracle.com/marketplace and select Publishers > Become a Publisher and select the option to “Publish Services and Applications on the Oracle Cloud Marketplace”.
Step 2 – Complete the Oracle Cloud Interoperability Addendum to OPN
Go to Memberships > Other in partnerstore.oracle.com and submit the “Cloud Interoperability Addendum” – enter the names of your apps or services that will be integrated with the Oracle Cloud in the Partner Cloud Services field (do not list the Oracle Product names).
Step 3 - Create an Application Listing and Submit for Review:
Login to cloud.oracle.com/partner to create a new application listing. Complete the listing content, and attach the technical review documentation in the Additional Information > Supporting Documents section (use the Get Templates to download the review documentation templates), and Submit for review.
Step 4 - Publish the Listing
After the application review has successfully completed, login to cloud.oracle.com/partner to Publish the approved listing.
Back to top |
|
|

|
| |
| |
Want to learn more about developing Enterprise-grade Cloud Native applications on the Oracle Cloud Platform, covering topics like Microservices Architecture, developing in Node, Python and PHP, using Low Code development tools to build Mobile apps, and much more? Join the Oracle Developer Meetup groups if you want to follow Oracle’s solutions in this area, or participate in the events and hands-on labs we organize:
Please let us know in case you want to run an event at one of this location or you want to start your local meetup. We are looking forward to support you and sponsor the event with pizza and beer!
Back to top |
|
|

|
| |
| |
Chatbots are the fastest growing market in mobile application development and extends mobile opportunities to the conversational channel. Oracle Digital Assistant provides the platform and tools to easily build AI-powered assistants that connect to your backend applications. A digital assistant uses artificial intelligence for natural language processing and understanding, to automate engagements with conversational interfaces that respond instantly, improve user satisfaction, and increase business efficiencies.
For more information please see the Chatbot partner resource kit here.
Back to top |
|
|

|
| |
| |
Application Development Section |
|
|
|

|
| |
At KubeCon + CloudNativeCon North America 2018, Oracle has announced the Oracle Cloud Native Framework - an inclusive, sustainable, and open cloud native development solution with deployment models for public cloud, on premises, and hybrid cloud. The Oracle Cloud Native Framework is composed of the recently-announced Oracle Linux Cloud Native Environment and a rich set of new Oracle Cloud Infrastructure cloud native services including Oracle Functions, an industry-first, open serverless solution available as a managed cloud service based on the open source Fn Project.
With this announcement, Oracle is the only major cloud provider to deliver and support a unified cloud native solution across managed cloud services and on-premises software, for public cloud (Oracle Cloud Infrastructure), hybrid cloud and on-premises users, supporting seamless, bi-directional portability of cloud native applications built anywhere on the framework. Since the framework is based on open, CNCF certified, conformant standards it will not lock you in - applications built on the Oracle Cloud Native Framework are portable to any Kubernetes conformant environment – on any cloud or infrastructure
Oracle Cloud Native Framework – What is It?
The Oracle Cloud Native Framework provides a supported solution of Oracle Cloud Infrastructure cloud services and Oracle Linux on-premises software based on open, community-driven CNCF projects. These are built on an open, Kubernetes foundation – among the first K8s products released and certified last year. Six new Oracle Cloud Infrastructure cloud native services are being announced as part of this solution and build on the existing Oracle Container Engine for Kubernetes (OKE), Oracle Cloud Infrastructure Registry, and Oracle Container Pipelines services. Read the complete article here .
Back to top |
|
|

|
| |
| |
At KubeCon 2018 in Seattle, Oracle announced Oracle Functions, a new cloud service that enables enterprises to build and run serverless applications in the cloud.
Oracle Functions is a serverless platform that makes it easy for developers to write and deploy code without having to worry about provisioning or managing compute and network infrastructure. Oracle Functions manages all the underlying infrastructure automatically and scales it elastically to service incoming requests. With Oracle Functions, developers can focus on writing code that delivers business value.
Pay-per-Use
Serverless functions change the economic model of cloud computing. Customers are charged only for the resources used while a function is running. There’s no charge for idle time! This approach is different from the traditional one of deploying code to a user provisioned and managed virtual machine or container that is typically running 24x7 and which must be paid for even when it’s idle. Pay-per-use makes Oracle Functions an ideal platform for intermittent workloads or workloads with spiky usage patterns.
Open Source
Open source has changed the way that businesses, including Oracle, build software. Rather than building yet another proprietary cloud functions platform, Oracle chose to invest in the Apache 2.0 licensed open source Fn Project and build Oracle Functions on Fn. With this approach, code written for Oracle Functions will run on any Fn server. Functions can be deployed to Oracle Functions or to a customer managed Fn cluster on-premises or even on another cloud platform.
That said, the advantage of Oracle Functions is that it’s a serverless offering, which eliminates the need for customers to manually manage an Fn cluster or the underlying compute infrastructure. But thanks to open source Fn, customers always have the choice to deploy their functions to whatever platform offers the best price and performance. We’re confident that platform will be Oracle Functions.
Container Native
Unlike most other functions platforms, Oracle Functions is container native with functions packaged as Docker container images. This approach supports a highly productive developer experience for new users while enabling power users to fully customize their function runtime environment, including installing any required native libraries. The broad Docker ecosystem, and the flexibility that it offers, lets developers focus on solving business problems and not on figuring out how to hack around restrictions frequently encountered on proprietary cloud function platforms. Read the complete article here.
Back to top |
|
|

|
| |
| |
Please complete this form to request access to Oracle Cloud Native Services in Limited Availability. We will follow up if you are approved for access. Thank you for your interest.
Back to top |
|
|

|
| |
| |
Access Step by Step Guides to:
- Learn How to Containerize Microservices Using Wercker
- Create and Deploy Containers to a Managed Kubernetes Cluster
- Automate Complex Continuous Integration/Continuous Delivery Pipelines
- Implement Blue/Green Deployments using Kubernetes
-Leverage Fn for Serverless Development
Access the free training here.
Back to top |
|
|

|
| |
| |
Serverless isn’t a new thing, but it is fair to say there is still a lot of hype about it and how it will change everything, and how in the future everything will be serverless. Beside serverless/functions provided by cloud providers there are more and more serverless projects coming our way which goal is to break us from vendor lock-in and allow us to run serverless even on premise. Let us look at one such project FN Project.
WHAT IS FN PROJECT
If we go to the official website of FN project http://fnproject.io/ we can read something like this:
“The Fn project is an open-source container-native serverless platform that you can run anywhere — any cloud or on-premise. It’s easy to use, supports every programming language, and is extensible and performant.”
FN Project is an open source project backed by Oracle, which base functions on containers. So, in theory, anything that can become container and can read and write from/to stdin/stdout, can become a function in FN project. This is a very nice feature, since it means, that in theory, it can support any programing language, unlike serverless/functions provided by cloud providers, where if your language of choice wasn’t supported you couldn’t use it with serverless. Read the complete article here.
Back to top |
|
|

|
| |
| |
In this post I will briefly describe how you can install fnon Kubernetes in the Oracle Cloud (OKE).
Prerequisites
- You need to have access to Oracle Cloud Infrastructure (OCI) with a unique account. If you have a federated account, you should create another one to be able to create a kubernetes cluster. This account must have either Administrator privileges or belong to a group to which a policy grants the appropriate Container Engine for Kubernetes permissions. Since my example is for R&D purposes, I will be using an account with Administrator privileges.
- Install and configure the OCI CLI, generate an API signing key pair and add that public key to your username.
- Create a separate compartment for the cluster and make sure your compartment has the necessary resources and your root compartments needs the policy Allow service OKE to manage all-resources in tenancy
- Install and setup kubectl on Windowns (tip: use Chocolatey)
- Install helm
Create the Kubernetes cluster
- Navigate to your console
- Under Developer Services, select "clusters"
- Read the complete article here.
|
Back to top |
|
|
|
|
| |
|

|
| |
| |
Here and there we see numerous predictions that pretty soon chatbots will play a key role in the communication between the users and their systems. I don't have a crystal ball and I don't want to wait for this "pretty soon", so I decided to make these prophecies come true now and see what it looks like.
A flagman product of the company I am working for is FlexDeploy which is a fully automated DevOps solutions. One of the most popular activities in FlexDeploy is creating a release snapshot that actually builds all deployable artifacts and deploys them across environments with a pipeline.
So, I decided to have some fun over the weekend and implemented a conversational UI for this operation where I am able to talk to FlexDeploy. Literally. At the end of my work my family saw me talking to my laptop and they could hear something like that: Read the complete article here.
|
Back to top |
|
|
|
|
| |
|

|
| |
| |
This post demonstrates how to develop an Fn function that is triggered by a GitHub webhook and posts new release details to Twitter. It covers the general concept, code as well as configuration and deployment of your function.
Once configured and deployed, the serverless function will be invoked in response to a new release in a GitHub repository (thanks to the webhook) and post its details (name, version and URL) to Twitter.
If everything works out well, you should have a tweet similar to this one. Read the complete article here.
Overview
Webhooks in general are
“… user-defined HTTP callbacks… usually triggered by some event…the source site makes an HTTP request to the URL configured for the webhook … ”
As mentioned above, the goal is to send out a tweet in response to a new release in a GitHub repository. GitHub provides webhooks for such use cases using which you can tap into it’s events in (near) real-time — these eventsinclude actions like pull requests submitted or edited, a new release published to a repository etc.
Back to top |
|
|

|
| |
Fn is a cloud agnostic, container native, serverless platform and as such, Fn leverages Docker extensively. In a nutshell, Fn will expose any piece of code as a Serverless function by turning it into a Docker image. All the heavy lifting of making the Docker image, invoking it properly with the right input, etc. is handled by Fn. As an Fn user/function developer, you don’t need to understand Docker and all its underpinning as Fn abstracts Docker away. Leveraging Docker also means that Fn can benefit from Docker’s rich ecosystem and tools.
Dive is a simple tool that allows you to easily explore the different layers of a Docker image. It is a tool that can be very handy for some Fn users, e.g. users who are doing their own init-image, users who want to understand a function’s dependencies, etc. Read the complete article here.
Back to top |
|
|

|
| |
You must have heard about the new kid on the block––Helidon from Oracle. It is an open source Java framework that enables one to write, among other things, lightweight microservices using functional and reactive programming paradigms. One can use Helidon’s simple yet powerful core reactive web server to quickly build cloud native microservices. And if you like writing applications using the 12 factor methodology, Helidon has you covered. Helidon’s config component provides multiple options to load and configure your app — from loading properties or YAML files to loading from external sources like Git. Out of the box metrics and tracing you ask…you got it!
In this article, I will take Helidon for a spin and build a sample CRUD microservice that will be exposed as a JSON REST API. We will then use jlinkto create a custom native image that can run our microservice. Native image obviates the need for a full blown JRE. Trimming the size of the runtime and reducing the attack surface are important factors in cloud deployments. Of course, there are some cons to this approach but let’s table that for another day. Read the complete article here.
Back to top |
|
|

|
| |
Yeah, I’ve said it. You can write lean (not as lean as Go, but still!) microservices in Java EE.
If you’re still scrolling down, let me tell you something — Java is an awesome language. It has had a rough patches giving new developers a warm welcome, unlike Python or JavaScript; it’s awesome nevertheless.
Unless you’ve been living under a rock for the past 5 years, you might have heard one or more of the below buzzwords.
- Reactive Computing
- Microservices
- Containerisation
- Serverless
I’m now going forward and coining a term —
Teen-lang is a programming language which has been newly adopted into mainstream technology teams within the past 15 years.
Almost all of the teen-langs have gotten onto the buzzword wagon and built frameworks around them — the ReactiveX project, the serverless framework, gRPC etc. now make it very straightforward to develop your micro-service in Go, JavaScript, Python etc.
Let’s take a step back and look at Java — our uncle who lives in the farm and hates cellphones. Java has been a bit resistent to hop onto the wagon due to the large user-base of full-stack frameworks such as Spring/Springboot, Java EE implementations from various providers etc. Then Helidon SE happened.
WTF is Helidon SE?
Helidon SE is a microframework — a framework nonetheless. According to Oracle. Read the complete article here. Back to top |
|
|

|
| |
In my previous blog , I described how to use Oracle Developer Cloud to build and push the Node.js microservice Docker image on DockerHub. This blog will help you understand, how to use Oracle Developer Cloud to deploy the Docker image pushed to DockerHub on Container Engine for Kubernetes.
Container Engine for Kubernetes
Container Engine for Kubernetes is a developer-friendly, container-native, enterprise-ready managed Kubernetes service for running highly available clusters with the control, security, and predictable performance of Oracle Cloud Infrastructure. Visit the following link to learn about Oracle’s Container Engine for Kubernetes:
https://cloud.oracle.com/containers/kubernetes-engine
Prerequisites for Kubernetes Deployment
- Access to an Oracle Cloud Infrastructure (OCI) account
- A Kubernetes cluster set up on OCI
This tutorial explains how to set up a Kubernetes cluster on OCI.
Set Up the Environment:
Create and Configure Build VM Templates and Build VMs
You’ll need to create and configure the Build VM template and Build VM with the required software, which will be used to execute the build job. Read the complete article here.
Back to top |
|
|

|
| |
We have just made our 2.0 Release Candidate 1 of the Oracle WebLogic Server Kubernetes Operator available for early adopters.
The 2.0 release adds some significant new features including:
- Support for burning your WebLogic domain into the Docker image, in addition to supporting the domain being on persistent storage,
- The operator is now installed using Helm charts, replacing the earlier scripts,
- You can override domain configuration using configuration override templates,
- Load balancers and Ingress can now be independently configured,
- WebLogic logs can be directed to a persistent volume or the WebLogic server console output (stdout) can be directed to the pod log,
- Added lifecycle support for servers and significantly more configurability for generated pods.
Most of these features are the result of direct feedback and requests from our users. We have a list of additional requests, and starting with this release we are moving to a much shorter release cycle, where we will release small incremental features and updates frequently, rather than having large releases that are months apart.
The final v2.0 release will be initial release from where the operator team intends to provide backward compatability as part of all future releases. Read the complete article here.
Back to top |
|
|

|
| |
For Weblogic administrators and application devolopers, it may be desirable to view the JVM metrics from a managed server in OEM (CloudControl) and Java Mission Control. It is also possible to use the flight recorder with stored measurement data so that it can be analyzed at a later time.
Issue:
With a standard installation of Weblogic, the jvm metrics can not be retrieved or limited within Oem. Java mission control can not always connect using JMX.
The following error message shown in Oracle Enterprise Manager:
BEA-141277
managedserver-1.out:<May 30, 2018 9:07:44 AM CEST> <Warning> <Management> <BEA-141277> <The JMX MBean PlatformMBeanServerUsed attribute is true, but the Platform MBeanServer was created without the hooks for the WebLogic Server security infrastructure. The Platform MBeanServer will not be used and Platform MBeans will not be available using the WebLogic Server Runtime or Domain Runtime MBeanServers. This can occur if Platform MBeanServer system properties or JVM options (-Dcom.sun.management.jmxremote or JRockit -XManagement) were defined. Read the complete article here.
Back to top |
|
|

|
|

|
My personal definition for chatbots is that they are front-end intelligent systems that use artificial intelligence and machine learning to understand what a user wants and to gather all information required to complete a task. For this, the bot needs to engage in a dialog with the user, for which Oracle Intelligent Bots uses built-in components to render bot responses and to request user input.
Where there is a front-end intelligent system, there must also be a back-end system that the bot calls to complete a task after the user intent is understood and all information is gathered or to query data for display. In Oracle Intelligent Bots, this remote data access is implemented through custom components you build with JavaScript and Node.js and that you declaratively add to a state in the bot dialog flow.
In this article, you will learn everything you need to know about custom components in Oracle Intelligent Bots. In the hands-on instructions, you are going to extend the pizza bot I explained how to build in the course of my three most recent Oracle Magazine articles, with a dynamic menu that reads its contents from a custom component.
Understanding how to build custom components is a must-have skill for Oracle Intelligent Bots bot designers implementing custom business and data logic. So let’s get started.
About Bot Custom Components
As Figure 1 illustrates, a custom component service in Oracle Intelligent Bots is a Node.js-based REST service that hosts one or many custom components and that exposes two HTTP methods: GET and POST. Read the complete article here.
Back to top |
|
|

|
The webhook channels of Oracle Digital Assistant allows integrations with multiple environments, i recently blogged about how you could use your chatbot with telegram messenger. This also inspired me to research the possibilities to have my chatbot available with Google Assistant so it would be possible to talk to my chatbot using my google home mini.
Working with Actions on Google
Above shows my setup for combining my chatbot with the google assistant. it uses a webhooks messaging node.js server, which is configured as a webhook channel in Oracle Digital Assistant and uses actions on google to extend the google assistant.
To integrate Google Assistant with your own application, start with defining an action on console.actions.google.com. Here you can create a new project as a container for your chatbot. Read the complete article here.
Back to top |
|
|

|
It happens in a chatbot interaction that a user scrolls the conversation history displayed in the messenger client and selects a list or button action that is no longer in scope for the current conversation. For example, in a travel booking chatbot, a user may have selected a destination and provided the name to be printed on the tickets When asked to select a free gift voucher, she then scrolls the message history and selects a different destination.
Changing a travel destination should not be a problem, you may think, and for most of the time you are right. But changing the travel destination may have an impact to other parts of a conversation. For example, a selected destination may not qualify for a voucher, or in the process of booking the travel, the user selected a local agency for an airport pick-up.
Chatbots don't control the messenger and therefore cannot prevent users from selecting out-of-scope actions. So the best thing it can do is to find a solution that doesn't upset the user and also does not mess with the business task at hand.
In Oracle Digital Assistant, out-of-scope actions are referred to as an out-of-order messages. While there is a default implementation for how a skill bot handles out-of-order messages, there also is an option for bot designers to customize the behavior, either for the bot as a whole or just for the current state in a conversation. Read the complete article here. Back to top |
|
|

|
Finally got a new cloud instance for the Oracle Digital Assistant Cloud Service, coming with the new version 18.4 and, by the looks of it, much has changed...
From bots to skills and digital assistants
In the landing page it is immediately visible the term 'bots' is no longer used. This is also in line with the idea of digital assistants, being multi purpose instead of a single use-case chatbot. The term bot from the previous version is renamed to 'skill' and new development options are available for combining multiple skills in a digital assistant, configure channels for your assistant to interact with users and a 'Store' feature, for specific functionality. Not clear what this store feature will hold and if it will be possible for us, bot developers, to publish reusable skills in the store, like a marketplace.
Skills are the basics for a digital assistant
Functionality which in the previous version was all available for a bot, is now present under 'skill'. Here you can define the Intents, Entities, a Dialog Flow and Functions etc which will help your assistant to perform a specific use-case aka skill , like the new example Wine Skill for ordering Wine.
These skills can be combined in a multi purpose Digital Assistant together with some additional intents for this assistant, like greeting, help, exit etc. This is a good way to structure and reuse specific skills and dialog flows.
However a digital assistant does not have it's own dialog flow. in stead these can be customized in the 'settings > configurations' panel where you can set parameters and labels (conversation parameters). The last i don't think will work very well for a multilingual assistant, since the lack of resource bundles for this configuration.
Also what i noticed is they incorporated a form of version control for skills, allowing for multiple version development and a main version to be published and used in the assistants. Read the complete article here.
Back to top |
|
|

|
This is a quick blog to show two techniques for adding calculated fields to an Oracle Visual Builder application.
Both techniques do the calculation on the client side (in the browser). Keep in mind that you might want to consider doing the calculation on the back-end of your application and get the calculated value delivered directly to your client - in some cases this results in better performance. But sometimes you don't have access to modify the backend, or you can't do calculations there, so here we go:
1. For simple calculation you can just use the value property of a field to do the calculation for you.
For example if you need to know the yearly salary you can take the value in a field and just add *12 to it.
You can also use this to calculate values from multiple fields for example [[$current.data.firstName + " " +$current.data.lastName]] - will get you a field with the full name.
2. For more complex calculation you might need to write some logic to arrive at your calculated value, for example if you have multiple if/then conditions. To do that you can create a client side JavaScript function in your page's JS section. Then you refer to the function from your UI component's value attribute using something like – Read the complete article here.
Back to top |
|
|

|
These days I'm actively working with VBCS/JET Cloud product from Oracle. The more I work with VBCS the more I like it. VBCS follows similar declarative development concepts as Oracle ADF, this makes it easy to get up to speed with VBCS development. VBCS with declarative JavaScript development approach brings unique solution for JavaScript systems implementation for enterprise.
I will share sample with off canvas menu implementation for VBCS app. Sample is based on step by step guide shared by Shay Shmeltzer. I don't describe steps how to build off canvas in VBCS from scratch, you should watch Shay's video for the instructions. You should check how to build multiple flows in VBCS app in my previous post - Flow Navigation Menu Control in Oracle VBCS. I have defined three flows in my sample, this means there will be three menu items: Read the complete article here.
Back to top |
|
|

|
|

|
If you implement tables and using Knockout.js to push data updates from JS to HTML - probably you experience a situation when it doesn't work to push an update for one of the columns. I mean you could replace the whole observable array element - this would cause full row refresh. But visually this doesn't look nice and why to refresh the whole row, if only one (or few) element (-s) from the row must be refreshed.
If you need to refresh a specific array element (or row column in other words) - you must define the value of that column to be observable. Refresh will be happening much more smooth, instead of refreshing whole row. See how fast Risk column value is changed after clicking on Process button: Table is implemented with Oracle JET table component. JET table allows to define template slots, this helps to create a better structure for table columns implementation: Read the complete article here.
Back to top |
|
|

|
How to easily manage translations in Oracle JET applications seems to be a topic often asked by the community. This guide provides a simple yet powerful methodology to accomplish this.
Oracle JET components (based on Alta UI) fully support translations ‘out of the box’. What you need to do in essence is change the lang attribute on your <html> tag. This obviously does not mean that your own texts/components will be translated automatically, that’s what we aim to fix with this guide.
In order to setup support for our own translations we need to set few things:
1. Add a flag pack on your project
eg, css/images/flags
In order to avoid performance issues prefer vector formats, minify and compress SVG assets, etc. In here we simply use png’s. Read the complete article here.
Back to top |
|
|

|
Creating and consuming web service is an important part of the development cycle in any technology. Here in this post, I am going to show that how can we consume ADF BC based REST web service in an ADF application. In ADF 12.2.1 release Oracle provides support for declaratively consuming REST Web Service, Before that it was only possible using java and that was a tedious task for fusion developers.
Suppose I have an ADF BC (Business Components) based REST web service that returns a list of Departments. Now to consume that web service we’ll use ADF REST Data control. Here I am going to illustrate this step by step.
I am using JDeveloper 12.2.1.3, Let’s start with Creating a Fusion Web Application with model and view controller project. Read the complete article here.
Back to top |
|
|

|
We are happy to announce that we have a new whitepaper on the ADF Performance Monitor. This blog publishes a new whitepaper that gives more information about the architecture, features and implementation of the ADF Performance Monitor. It is updated with the many features of our new major version 7.
About the ADF Performance Monitor
The ADF Performance Monitor is an application performance management tool (APM) tool that really understands Oracle ADF applications. It enables enterprises to maximize the value of ADF applications. Applications often contain frustrating blind spots and mysterious, recurring problems that are often difficult to identify, diagnose, and fix. With business-critical applications, it’s very important to have a simple and fast way to monitor, diagnose, and resolve application problems before they affect revenue. The ADF Performance Monitor is specifically designed for measuring, analyzing, tuning, and controlling the performance of Oracle ADF applications. It helps enterprises by delivering insight into real end-user experiences. It helps development; QA teams and administrators detect, analyze and resolve common and less common issues in response times and resource usage of ADF applications. Read the complete article here.
Back to top |
|
|

|
Did you ever wonder why Attributes Enum is generated by JDeveloper in Entity or View Row class? Attributes Enum holds a collection of attribute names and there is a set of static variables with attribute indexes. These indexes are used to locate attribute in getter/setter. Attributes Enum is a structure which is required for JDeveloper on design time to generate Java code. On runtime Attributes Enum is needed only as long as you are using a static variable index in the getter/setter. Attributes Enum and list of static indexes in View Row class: Read the complete article here.
Back to top |
|
|

|
On my todo list, I found a topic which I wanted to blog about for a long time. The problem is how to create a ViewObject, based on EntityObjects, which builds a full outer join between two tables.
For those of you who don’t know about full outer joins in SQL here is a short description from https://www.w3schools.com/sql/sql_join_full.asp:
The FULL OUTER JOIN keyword return all records when there is a match in either left (table1) or right (table2) table records.
Note: FULL OUTER JOIN can potentially return very large result-sets!
FULL OUTER JOIN Syntax: SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name; There are not too many use cases where you need to use a full outer join, but they exist (e.g. https://searchoracle.techtarget.com/answer/Another-good-FULL-OUTER-JOIN-example or to compare two or more tables).
Problem: How can a full outer join be created in ADFbc?
I show how to create a VO based on Employees and Department EO using a full outer join on the department_id. This VO will return all departments with all their employees, departments which don’t have any employee and all employees who don’t have a department. Read the complete article here.
Back to top |
|
|

|
Are you a RESTafarian? Or are you a GraphQL aficionado? Either way you'll want to listen to the latest Oracle Groundbreaker Podcast, as a panel of experts weighs the pros and cons of each technology.
Representational State Transfer, known to its friends as REST, has been around for nearly two decades and has a substantial following. GraphQL, on the other hand, became publicly available in 2015, and only a few weeks ago moved under the control of the GraphQL Foundation, a project of the Linux Foundation. But despite its relative newcomer status, GraphQL has gained a substantial following of its own.
So which technology is best suited for your projects? That's your call. But this discussion will help you make that decision, as the panel explores essential questions, including:
- What circumstances or conditions favor one over the other?
- How do the two technologies complement each other?
- How difficult is it for long-time REST users to make the switch to GraphQL?
- Listen to the podcast here.
Back to top |
|
|

|
Oracle is pleased to announce the general availability of Oracle VM VirtualBox 6.0, the latest release of the world’s most popular free and open source, cross-platform virtualization software. This release provides tight integration with Oracle Cloud Infrastructure, enabling organizations and developers to more easily and flexibly create applications on premises and deploy to the cloud with a few clicks.
A key tool for developers and users creating cloud and local applications without the overhead of using a full server environment, Oracle VM VirtualBox runs on standard x86 desktop and laptop computers. It allows users to set up multi-platform virtual machine environments for software development, testing, and general purpose operating system (OS) virtualization, with optional runtime encryption. Software engineers can develop for cloud native environments from within Oracle VM VirtualBox VMs directly on their Windows, Mac OS, Linux, and Oracle Solaris machines, making it easier to create multi-tier applications with just a standard laptop.
Oracle VM VirtualBox also enables users to create and update virtual machines locally, including the OS and applications, and then package them into an industry standard file format for easy distribution and cloud deployment in conjunction with Oracle VM Server, or other server virtualization solutions.
Oracle VM VirtualBox allows users to run nearly any standard x86 OS to run applications that are not available natively on their systems.
What's New with Oracle VM VirtualBox 6.0?
The 6.0 release supports the latest guest or host operating systems including: Apple Mac OS X, Microsoft Windows, Oracle Linux, Oracle Solaris, other Linux operating systems, and legacy operating systems. New capabilities in Oracle VM VirtualBox 6.0: Read the complete article here.
Back to top |
|
|

|
Oracle Forms is an application development technology that dates back to the 1980’s. Since that time, the product has evolved from a tool to create character mode applications to one which creates applications now being deployed in web architecture. Over time, applications developed with this technology have grown significantly in size and complexity. Today, these complex enterprise applications are deployed on servers around the world and to hundreds of thousands of end-users. With applications of such complexity and importance, the need for easier, faster, and low risk maintenance practices has become crucial to ensuring that these applications are stable, up to date, and secure. This is where modern DevOps practices can help. With trends in application development aggressively moving toward a more “agile” model of development and deployment, the ability to manage Forms applications in this way will require modern tooling. Developer Cloud Service offers such a solution. This paper aims to illustrate how Oracle Developer Cloud Service and Oracle Cloud Infrastructure can help to simplify version control and automate application deployment. Such automation can help to reduce the level of effort and risk involved in maintaining Forms applications. Read the complete article here.
Back to top |
|
|

|
Additional new material Developer Community |
- Parlez-Vous Français? Your Bot Does. In case you were hoping, artificial intelligence alone does not build you a multilanguage bot. Multilanguage support needs to be implemented by design with tools and best practices. Need help? Here are hands-on instructions for using the Oracle Intelligent Bots feature of Oracle Mobile Cloud Enterprise to build an internationalized pizza bot.
- How Turkey’s Leading Car Maker Went Mobile To provide better customer experience, executives at Turkey’s Renault-MAIS decided to develop mobile applications, beginning with roadside service. According to CIO Oguzhan Yildiz, moving to the cloud provides “the capabilities we need in order to integrate our various back-end services and databases to enable the kinds of mobile applications we want to build,” including apps to modernize order management and human resources. What did his IT team learn?
- JDK 12 Early Access New JEPs have been added to the JDK 12 Early Access build. Download it, try it out, and give us your feedback.
- Early Access Builds You can download and test OpenJFX, project Panama, project Valhalla, & JDK Mission Control 7
- Your Guide to Getting Started With Java Certification The blog explains how to get certified in Java from the training required and the exam practice to getting your certification
- Share Your Feedback on any Oracle Product! Leave constructive peer-to-peer feedback as an Oracle product user. Oracle values its customers and would love to hear what you have to say
- Develop & Deploy Next Generation Technology with Oracle Java Training . Gain an early advantage with our recently released Java SE: Programming I course
- Testing Java Microservices
- The Future of JavaFX
- Overview of the MicroProfile Rest Client
- Why Practice Test-Driven Development?
- How to Iterate the Keys and Values of a Map via the Java Stream API
- Next-Gen Chatbots Will Change Business In the future, many customer service tasks will be handled by bots, but new roles for humans—such as “bot boss”—will be invented and critical to corporate success, says Oracle CEO Mark Hurd, who predicts that some 60% of IT jobs in 2025 haven’t even been invented yet. Two more specific ways Oracle Digital Assistant, which was launched last month to help companies build and use these next-generation interfaces, will change your work life.
- Deploy Containers on Oracle Container Engine for Kubernetes Using Developer Cloud
- Building Custom Component Services for Oracle Digital Assistant in Under 5 Minutes with Oracle Bots Node.js SDK
- Oracle JET UI on Top of Oracle ADF With Visual Builder
Back to top |
|
|

|
|

|
|

|
With almost on thousand attendee days the PaaS Forum is the largest event for Oracle partners in Europe Middle East and Africa. It’s the opportunity for partners to learn about the latest and upcoming Oracle cloud services and to innovate, extend and integrate SaaS. Attendees not only rate the event every year excellent they also benefit from networking opportunities with the Oracle team and partners. Since the first conference 2007 in Copenhagen we not only meet regular and share experience we also became personal friends. Last year we meet in the beautiful city of Budapest, this year it’s again time for the beach. Looking forward to meet the community in Mallorca! #jkwc
Back to top |
|
|

|
|