Meet the Chatbot, the Robot’s Little Brother

People are talking a lot about Chatbots, and will soon be doing a chatting with one and the primary industry adopting this will be customer service. Chatbots will help people converse with computers in their native language via a computer interface. With the rise of messaging apps, the explosion of the app ecosystem, advancements in artificial intelligence (AI) and cognitive technologies, a fascination with conversational user interfaces and a wider reach of automation are driving the Chatbot trend. With the proper assessment of business rationale and implementation, there will be quick near-term results and longtime justification.

Chatbots will not masquerade as a human but will provide first and quick support – saving time and energy – for both the customer and service providers. These will heighten business outcomes and deliver superior experiences, and will continuously learn as they “chat” with humans, providing meaningful responses to any new queries and unique requirements over time.


An Understanding of Terminology Around Chatbot’s


Every person starts a chat with an intention. This could be anything like Check Order Status, Cancel Order, Return Item, Refund Status, etc. Based on an entry made by the user in the Chatbot, the engine will map that to a specific and discrete use case or unit of work. Above all are “use cases” that a Chatbot should support and from the free text entry that the customer types in, a chatbot will work out exactly which unit of work should be triggered in the background. Oracle Chatbots will break text entered by users into words and ranked against intents to respond with most accurate details.



Having defined an intent (a unit of work) it will always be derived based on common phrases that will be entered by the customer.  You can think of this as a kind of sample data form which the AI/ML element of the Chatbot “learns” from. So, for each intent, you would define a pool of utterances which are used to help the intents engine work out which user input maps to which intent. The nature of the language with subtle differences means we can’t do a simple string match.  Instead what happens is all these utterances are used to “teach” the intent engine.  That way, subtle differences in the input such as “What is my refund?” vs “What’s my refund?” or “Tell me my refund amount.” will be mapped to the same intent.



In some cases, you might want to think of an intent as having a variable element – like a parameter.  For example, “cancel order” will result in more than one action like cancellation, return, refund. Using entities, we can define that certain elements of the input should be identified as these variable values. Oracle Chatbot gives more flexibility and power with these entities as it will help us build multiple modules.


Machine Learning/NLP

For a Chatbot to be more successful and useful to both business and the customer it must be data-driven rather than task oriented. The data could be coming from both a customer as well as the backend ERP systems. Oracle Chatbots are language independent and accept free format text and is backed by the powerful AI engine developed by Oracle.


Dialog Flow

Like any conversation a user will start their conversation with the Chatbot saying hi/hello or even with a question “What’s the status of my order?” The Bot will take the words from this utterance and try to match and rank with the intents defined. Based on the intent match the Bot will return some responses and as the customer continues the dialog flow commences. The dialog flow can take various directions based on user’s intent and their utterance.


Oracle Chatbot Implementation Architecture

The following diagram provides a high-level idea of various layers of  Oracle’s Chatbot solution. The UI/user interface will be one or many chat channels, these can be any existing popular channels or bespoke channels or web applications. A user can initiate their dialog with a Chatbot from various channels wherever we configured it. Channels are configured through webhooks. In the backend, we have the message platform and underneath that, we have the Oracle homegrown AI bot engine. To back them, you have Oracle MCS backend where all your custom components can be built. You can reuse all existing MCS backend services which you have already built or build new ones.

As you can see, an integration layer is optional but it is strongly recommended so that you can separate your integration’s or microservices. Again, you can use all the services which have already been built and keep building the ones you don’t have. Using this integration layer, you can integrate the Oracle Chatbot to any SaaS, PaaS, On-Premise applications to execute your business services. This can start from basic order inquiry to processing cancellation/refund. You can keep all the complex business rules, validations, executions in your integration’s/microservices and let the Chatbot do the interaction with the end customer. We can make a seamless and pleasant experience for the customer.

In the current market, we have two types of Bot solutions Task-Oriented and Data-Driven & Predictive. This shows a high-level differentiation between the two. Oracle Chatbot falls under later one.

With a Chatbot, businesses can quickly develop and host simple to complex bots in very less time. Oracle chatbots are language independent and it allows you to host your bot in various languages keeping the core dialog flow and integration’s the same. Having a Bot will help companies to provide faster and better service to their customers. Customers will have the option of chatting with a bot and getting the info or service immediately rather than calling customer service desk and then kept on hold for minutes before they get to an executive.

Sofbang Receives 2017 ODTUG Innovation Award Honorable Mention

Sofbang and Oracle joined forces to help Rogers Group (RGI) pave the way to more profitable highway construction by combining AuraPlayer and Oracle Mobile Cloud Service into a platform for mobile app development and also solving a longstanding EBS issue.  Our innovative, exceptional and ahead-of-the-curve application for Oracle development tools that “stood out as an example of the next big thing in Oracle technology” earned RGI an Honorable Mention from the ODTUG at this years Innovation Awards.

The ODTUG Innovation Award honors excellence in creative, effective, innovative use of Oracle development tools within ODTUG’s supported communities (ADF, APEX, BI, Database, and EPM). The goal of the award is to honor developers – individuals or teams – whose passion and creativity shines through in their application of Oracle technology to address real-world problems.

Read the full story here…


How the Cordova Plugin Simplifies Development in Oracle MAF

Simplify Development in Oracle MAF hero image

Java is one of the most commonly used programming languages. It has a lot of components that are specifically used by Cordova DatePicker, one such component allows you to select date and time in the mobile application.

Recently, I had the opportunity to work on Oracle MAF technology where I met a time-consuming task of having to select each date individually in the application. With the use of the Cordova DatePicker plugin, the task was completed in very little time.


What is Cordova?

Cordova is a platform which allows developers to add different native functionality to their applications such as camera, maps, email using HTML5, CSS, and JavaScript.

Apache Cordova allows wrapping up of CSS, HTML, and JavaScript code and extends the application across multiple platforms, avoiding each mobile platform native development language.

Cordova offers plugins to access the device functionalities such as email, calendar, camera etc.


The Use of Cordova Plugins in Oracle Mobile Application Framework

Oracle Mobile Application Framework (MAF) is a framework that allows developers to develop a single application which can run on different platforms such as Google Android, Apple iOS, and Microsoft Windows.

MAF enables the application to interact with the device on which you deploy the application. It offers default plugins knows as Core plugins and allow you to register other plugins to meet the requirements.

MAF includes the following versions of Apache Cordova for applications that use plugins:

  • Apache Cordova 3.6.3 for MAF applications on the Android platform
  • Apache Cordova 3.7.0 for MAF applications on the iOS platform


Implementing Cordova DatePicker Plugin:

You can also use the following to select time only by replacing the word mode to ‘time’.

To implement this, we need to install Cordova plugin from the following link:

  • Local development workflow using Cordova CLI
    Cordova plugin add Cordova-plugin-DatePicker
  • Local development workflow using Phone Gap CLI
    Phone gap local plugin add Cordova-plugin datepicker

The example of the Cordova DatePicker makes it more convenient in addressing the process of selecting the date and time within the application.

Including DatePicker, there are many other Cordova plugins that make application development easier such as:

  • Barcode Scanner allows extracting data from a QR code or barcode from a device.
    Cordova plugin add Cordova-plugin-barcode scanner
  • Beacon allows the app to displays the nearest ranged beacon and a list of region enter/exit events
    Cordova plugin add Cordova-plugin-beacon
  • Geolocation gives device location
    Cordova plugin add Cordova-plugin-geolocation
  • FingerPrint helps scan the fingerprint of your user with the TouchID sensor
    Cordova plugin add Cordova-plugin-android-fingerprint-auth


In my next post, I will discuss how these plugins make application development easier.


Sofbang Achieves Oracle PartnerNetwork Specialization for Oracle Mobile Cloud Service

Sofbang is excited to announce that we are one of the first companies globally to achieve OPN Specialized Status for Oracle Mobile Cloud Service!

Oracle Cloud is the industry’s broadest and most integrated public cloud, offering a complete range of services across SaaS, PaaS, and IaaS. It supports new cloud environments, existing ones, and hybrid, and all workloads, developers, and data.  The Oracle Cloud delivers nearly 1,000 SaaS applications and 50 enterprise-class PaaS and IaaS services to customers in more than 195 countries around the world and supports 55 billion transactions each day.

Sofbang continues to make significant investments in the Oracle Cloud Platform ensuring that its comprehensive end-to-end solutions extend and integrate on-premise and SaaS applications.  In addition, Sofbang has its own Oracle Cloud Solutions Center of Excellence, which streamlines its ability to streamline operations, run customer proofs of concept and develop relevant industry solution accelerators built on the Oracle Cloud Platform. Sofbang’s solutions accelerators include Licensing and Permitting, Mobile Contracts Management, Mobile Workforce Management and Proximity Based Marketing, built and designed with a scalable architecture that grows and evolves as business needs change. Sofbang’s solutions accelerators are available for download on the Oracle Cloud Marketplace, Apple Store and Google Play, and leverage best practices and open standards.

“As a system integration partner with an Oracle Cloud designation and distinguished recipient of the Oracle Mobile Partner of the Year award in 2015, Sofbang continues to demonstrate an industry-leading commitment to helping our joint customers leverage Oracle’s Integrated Cloud,” says Valerie Singer, Vice President, North America Cloud Strategy and Sales at Oracle.  “We congratulate Sofbang on its achievement in attaining OPN Specialized status for Oracle Mobile Cloud Service.”

Read more