Browse Month by August 2015

Oracle Fusion Middleware Summer Camps 2015: Mobile Cloud Service

Last week I had the opportunity to attend to Oracle Fusion Middleware Summer Camps in Lisbon that Oracle organizes for EMEA partners. This year was the fifth edition and there were many new Oracle PaaS products to choose: Integration Cloud Service, Process Cloud Service, Java Cloud Service and the one I attended, Mobile Cloud Service. 

I have to say that it was the very first in class MCS training.

Oracle Mobile Cloud Service course was delivered by Frank NimphiusGrant Ronald (Oracle Product Management Team) and Jürgen Menge (Oracle Sales Consultant).

From the first minute we could start playing with MCS and also try the functionallity with a MAF application.

If you want to know MCS functionality you can check my previous post: Oracle Mobile Cloud Service overview.


Having such great trainers, we learnt some advices, good practices and tricks when using MCS. We saw a lot of interesting things, here comes some of them:

  • Notifications

MCS offers an API that allow us to abstract of the providers and fully manages notifications.
We can also send notifications to users in a specific role or platform, schedule notifications and monitor to see if notifications have been sent.

  • Cache and offline 

Thanks to the API we have a cache in the client that allow us to manage the synchronization with policies and also working in offline mode. We can get better performance, better usability, decrease network usage and increase battery life.

  • REST API y SDKs

With REST API and the SDKs we can call MCS Platform API and the custom API that we will create to integrate our applications with external systems. In future releases a JavaScript API will be available.

  • Analytics

Besides having metrics of all the API calls that our application make, we can also create our own events and funnels. We can use these, for example, in our mobile shopping application to know the step where users leave, evaluate the process and improve it.

 I would like to thanks Jürgen Kress for the great organization of the event and all the trainers for the outstanding tranning. See you next summer camp!!

Oracle Mobile Cloud Service overview

Thanks to Oracle Weblogic Oracle Weblogic Community I had the opportunity to use a Oracle Mobile Cloud Service GSE instance a couple of weeks ago. In this post I am going to show you the different parts of this PaaS product that is part of Oracle Mobile Platform.

In my opinion it is a powerful easy to use tool that help us to simplify and unify all business integration with web services, notifications and storage as well as providing metrics to measure the health and performance of the APIs that our mobile applications consume.

There are 3 main options in Mobile Cloud Service:

  • Developer portal
  • Administration: We can see the 3 environments that MCS provides, the logs, etc.
  • Analytics: We can see default metrics and also track our custom events.

 Let’s focus on the developer portal where we find the following options:

  • Mobile Backend

A Mobile Backend (MBE) is the gateway to Mobile Cloud Service. If we want to access any available resource from MCS, for example an API, we have to do it though an MBE. It is a group of all the resources that we can create in MCS. In the main page we can create or edit a MBE and we can also see some metrics about the health, the number of requests and the average response time.


If we select a MBE we can see the diferent actions like diagnostics, general settings of the MBE, create or select an API or configure notifications.

  • APIs

An API is just a REST web service that we will expose through an MBE. In MCS you use REST to consume as it provides better performance for mobile applications.

We can import a RAML file or design our API with the tool. While defining the design of the API we can create the endpoints, add security, etc.

We can also create our API implementation using node.js and test our API with mock data.
It is possible to export out API design to a RAML file and our implementation as a zip file.

  • Connectors
At the moment connectors allow us to integrate an existing REST or SOAP web service in MCS.

  • Storage

We can add the documents such us pictures, pdf documents or videos to MCS in shared o isolated mode that our applications will use.

 

  • User Management
Last but not least we have user and roles management.

Thanks to the REST API and 2 SDK, for  Android and iOS that Mobile Cloud Service also includes we can easily integrate our hybrid or native applications. In the future MCS will include also a JavaScript API.

Although in the application there are some tutorials to learn how to use the tool, Oracle product Management Team has available some  youtube videos so everyone can learn in depth what is Oracle Mobile Cloud Service and how to use it.

In the next posts about Oracle Mobile Cloud Service I will show you a simple integration with a external REST web service and a review of the Oracle Fusion Middleware Summer Camps (17-21 August 2015)

ADF Skining: Defining the style of the components inside af:query

Lately, there have been a couple of questions in Oracle JDeveloper & ADF Forums about changing the style of some components. Post 1, Post 2. In both post they had the need to change the style only of one of the buttons of af:query component. As you can see in Ashish’s post, using skinning it’s possible to change the look and feel of all the buttons, but using only the default selectors it is not possible to define the look and feel only of save button.
You can download this example from my Github repository.

You can also apply this solution to other components like af:panelCollection


In CSS3 there are some selectors that allow us to conditionally define the look and feel of the components.

  • The attribute of the element contains the value: [attribute*=value]
  • The attribute of the element starts with the value : [attribute^=value]
  • The attribute of the element ends with the value: [attribute$=value]

We can apply these selectors to ADF Skinning selectors to define the styles to components that we cannot normally edit.

Having this query panel in our page, we can find the components out that we have to use to define the style to save button by inspecting the code generated using your favorite browser.

If we search the save button we can see that this button is generated as a div with the id qryId1:_search. This id is generated with the id of the af:query component and the name fo the button’s action.

 

As we have now the attribute and the value to use we are going to use one of the CSS3 selectors I mentioned before.
The selector that fits better in our requirement is “end with” selector using the value ‘_search’.

If we run the application again we can see that save button now has red text.