Archive for the ‘Mobile’ Category

image

In this blog, I will present a sample implementation for a hybrid mobile app using Oracle JET (version 2.0.x) that will display data fetched from Oracle Sales Cloud via Oracle Mobile Cloud Service (version 16.3.x)

Building enterprise grade bespoke mobile apps pose a number of challenges. Implementing data retrieval in mobile application client code is incredibly complex because it needs to be shaped it in the required format within reasonable performance limits with all aspects of security handled appropriately. These requirements are addressed by mobile back-end implemented in Mobile Cloud Service (MCS), resulting into a superior user experience that implies increased user adoption.

In this sample, we will retrieve Opportunities for a specific Account from Sales Cloud and display on the mobile application.

Key Components

Below tables summarizes the key components involved in this solution:

Component

Details

Client Application (JET Hybrid app)

A JET Hybrid application that communicates with Oracle MCS

Oracle MCS

MCS (Mobile Cloud Service) delivers cloud-based, server-side mobile services to enable quick and easy app development.  It reduces complexity and redundancy when creating code blocks by providing ready-to-integrate features and templates.

Oracle  Sales Cloud

Oracle Sales Cloud delivers a wide range of functionality to improve sales effectiveness, better understand customers, and build a pipeline for success. It exposes multiple public REST APIs that can be used to access data stored in Sales Cloud and construct integrations to other systems

Life-Cycle Flow

Below diagram shows the life-cycle flow for data flow from Oracle Sales Cloud to Mobile device via MCS:

Below are the main steps involved:

  1. The mobile app initiates connection with the mobile back-end server (MCS) and authenticate the logged in user.
  2. The mobile app make a REST call to custom API
  3. The custom API internally uses connector API to interact with Oracle Sales Cloud
  4. The response received to custom API’s is sent back to display data in the app. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: PaaS,Cloud,Middleware Update,WebLogic,WebLogic Community,Oracle,OPN,Jürgen Kress

image

Oracle Mobile Cloud Service is a mobile backend as a service. MCS does its magic by providing a lot of features to make implementing mobile services easy such as (among many others) authentication, logging/analytics, lookups and calling other services. There are also features available to make integration with mobile clients easy such as providing an easy way to implement push notifications.

Personally I think one of the most powerful features of MCS is the ability to write custom JavaScript code and use that as an API implementation. This custom code can (among the regular JavaScript features) call MCS connectors and platform services. This provides a lot of flexibility in defining API behavior.

In this blog I will show how you can use this custom Node.js code to create an end to end example. I will use a RAML file to define my interface. Next I will define a connector in MCS to call the OpenWeatherMap API. This API returns (amongst other things) the temperature at a location in Kelvin. I want to define my own custom result message (with the temperature in Celsius) which better matches the requirements of my mobile client. I will use a custom JavaScript implementation to call the connector which calls the OpenWeatherMap API and create a custom response message from the result.

The described example is not suitable for a production implementation and is based on limited experience (and watching some really nice YouTube presentations). It is provided to give an idea on how to get started easily with a simple working example.

OpenWeatherMap API

From the ProgrammableWeb site I found OpenWeatherMap. This site provides current weather and forecasts via an easy to use API. You can get a free account which allows up to 600 calls per 10 minutes. This is enough for this demonstration. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: PaaS,Cloud,Middleware Update,WebLogic,WebLogic Community,Oracle,OPN,Jürgen Kress

image

Chatbots are the talk of the town with the announcement of Facebook to launch their Messenger platform with chatbots in April 2016. Here a short summary of why we need it, what shapes and forms a chatbot can take and where to start with it.

Why do we need chatbots? Simple answer is simplicity; When I want a simple question answered, I do not want search for my specific App and search within the App for the information I need, or browse through a set of pages on a website.

A couple of years ago I was working abroad, and with a phone with roaming costs you do not have internet always continuously at hand. I’m supporting my football team Ajax, and wanted to know the scores whenever they played. So I used a (Dutch) tool (NOS teletext), punched in 818 (games played today) and got me at a blink the game scores at bare minimum network.

Chatbots are about the same, just give my information or help me with an activity in the most basic configuration, what is my flight info, what are opening hours, I’d like to transfer money etc. This is all done from a command line type of interface, which could be Facebook messenger, Slack, Telegram, Text Messages, etc.

In summary a chatbot delivers a simple chat interface, and enables a conversation that can be guided by rules and potentially with artificial intelligence.  
Just like Apps and Websites, chatbots can take different shapes and behaviour. The three most common forms a chatbot can take are Reactive, Scheduled and Predictive:

Reactive chatbots deliver their info in a predictive mode, just like the Airport service bot shown below.  These reactive chatbots are guided by a fixed menu or a Rule engine, delivering answers based predefined questions. Upfront the chatbot designer tries to de define the questions that need to be answered by the chatbot. This works fine in the majority of customer questions, or simple transactions protocols. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: PaaS,Cloud,Middleware Update,WebLogic,WebLogic Community,Oracle,OPN,Jürgen Kress

image

Dubai Airports customer reference video: Dubai Airports, one of the largest airports in the world with over 60 million annual passengers and $1.7 billion in revenue, wanted to automate its employee lifecycle processes. It turned to Oracle and was able to use Oracle Mobile Cloud Service, Java Cloud Service, and SOA Cloud Service, to fill process gaps, integrate those processes with existing systems, and extend those processes onto mobile devices so that employees could access these anytime, anywhere. Watch the video here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: YouTube,PaaS,Cloud,Middleware Update,WebLogic,WebLogic Community,Oracle,OPN,Jürgen Kress

image

Oracle Mobile Cloud Service (MCS) provides the Sync Client SDK and its supporting Data Offline API for caching MCS custom and REST resources in an efficient, uniform and transparent way. The Sync Client SDK, along with the Storage SDK, also provides support for caching storage objects.

Description of the illustration data_offline_arch.png

As a mobile app developer, you can leverage the Sync Client SDK technologies to do the following:

· Enable the user to continue to use the mobile app to perform critical tasks even when offline.

· Minimize the unnecessary retrieval of static data when the device is online, thus increasing performance and customer satisfaction.

What is Data Offline and Sync?

When developing client apps, you, as a mobile app developer, might often take these goals into consideration:

· Enable updates to app data on mobile devices when connectivity is intermittent or non-existent.

· Improve performance by minimizing the amount of calls and data transported over the wire.

The iOS, Android, and Windows MCS SDKs include the Sync Client SDK. The Sync Client SDK, with its data caching, support for offline operations, and automated synchronization, enables you to achieve these goals when you access custom API resources through the Sync Client SDK and storage objects through the Storage SDK. In addition, through declarative policies, you can design caching and synchronization policies for your custom APIs that apply across your apps, and can be adjusted without having to modify code. Read the tutorial here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: WebLogic Community,Oracle,OPN,Jürgen Kress

image

When your Oracle Mobile Cloud Service APIs are being accessed by a remote server, it is important you manage cross-origin resource sharing (CORS) We ran into this issue when we were building the solution for the Oracle cloud day. The MCS APIs were accessed by a Web Application that was hosted on a different domain, not on our Oracle PaaS domain. When calling an API from the application, we received the error:
XMLHttpRequest cannot load: [request url]. Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin [origin domain] is therefore not allowed access. The response had HTTP status 401.
You can either disallow CORS altogether, or whitelist specific sites.  This is done by setting a property in policies.properties: Security_AllowOrigin.
An example of the property can be seen below: Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: WebLogic Community,Oracle,OPN,Jürgen Kress

image

Thanks to Oracle A-Team, I had a chance to work with Chatbots.
3 pure NodeJS applications, on couple of Oracle Cloud platforms and Facebook messenger, and my chatbot was running.
Let me explain, the architecture a bit. To start with, following is the simple representation of how it works.

Message Platform Server : Is a NodeJS application, deployed on Oracle Application Container cloud, acts as a channel between Facebook Messenger and the chatbot engine. It simply converts the incoming messages from Facebook and sends it to chatbot readable format. Also, when chatbot replies, it converts to Facebook readable formats and passes it to messenger.
Chatbot Engine : Is a NodeJS application, which communicate with some REST APIs based on a conversation flow document and moves the flow of the conversation from one state to another.
Flow JSON : Where we document, every state of a conversation and which APIs to call to generate a response. For example, at the beginning of the conversation, start from "menu" state, and call "/start" API. The flow metadata file is driving the behavior of the bot engine.  The bot engine uses a finite-state-machine (FSM) to drive the conversation. Every step in the conversation is modeled as a state, and all possible next steps to move the conversation to a next state are defined as state transitions.  Every time a state is entered, the response elements defined for this state in the flow metadata are processed and the response is constructed and returned to the messaging platform. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Technorati Tags: WebLogic Community,Oracle,OPN,Jürgen Kress