Recently Oracle has announced Application Development Platform 17.1.3 with useful new updates, enhancements and relevant announcements to a vast range of services in the Application Development portfolio, including Java Cloud, Application Container Cloud, Developer Cloud, Application Builder Cloud, Database Cloud, Exadata Express Cloud, and more.
Application Builder Cloud Service 17.1.3 comes with very interesting features including but not limited to:
- On-device mobile app development with Oracle MAX (those of you who’re familiar with Mobile Cloud Service should remember that Mobile Application Accelerator used to sit on top of Mobile Cloud Service. Now a customer who has an ABCS account leverages a visual drag&drop development tool to create both rich Web and Mobile applications).
- Connect to external REST services with pluggable Business Object Providers
- Business Logic for custom data objects – triggers validations and more
- In control availability Security at the row level Action on fields in the UI
This post covers what is available to create custom business object providers to connect to external web services and expose them as business objects. ABCS 17.1.3 has a built-in template that provides an example of how to use Application Builder APIs with no connection to real REST API. The extension I have used is a great starting point to showcase how to connect to a real REST Service for demo purposes only.
Continue reading “Application Builder Cloud Service 17.1.3: Creating Custom Connectors for REST Services”
In this blog, I am going to show how simple it is to use ICS (Integration Cloud Service) to integrate to Oracle Sales Cloud easily and quickly. The steps that I am going to show are tailored for Sales Cloud, but in reality, they are almost the same steps to integrate virtually any Application whether it is on premise or in the cloud.
Using ICS Sales Cloud connector, allows you to fully introspect into all Business objects, custom objects and Services while building an Integration, so you can literally choose depending on your needs the object to interact with, either to Create, Read, Update or Remove; specific queries, services, etc. In this case I am mainly going to work with the “Contact” Business object that belongs to a particular “Account”.
This is the use case that I am going to develop:
- REST API to create (POST) new a new “Contact” for an existing “Account” in Sales Cloud
- REST API to retrieve (GET) all “Contacts” from an existing “Account” in Sales Cloud
- REST API to retrieve (GET) a specific “Contact” from an existing “Account”, given a unique identifier in Sales Cloud
Continue reading “Teaching how to integrate Sales Cloud with Integration Cloud Service”
Try though we might to shift everything to a glorious set of stateless services, there are still plenty of scenarios in which an application might need to store some state, commonly to track some information about a user and that user’s session. In these cases, an in-memory cache is a powerful addition to an application, and is nearly indispensable to an elastic cloud architected app which is expected to be able to scale horizontally on-demand, to allow information to be shared between application instances, avoiding the need for load balancer complexity to implement sticky-sessions. Application Container Cloud Service added the ability for applications to add a Caching Service binding in the 17.1.1 drop, and in this blog post we will explore how to leverage this capability in a Node.js application.
Continue reading “Developing with ACCS Caching Services”
I’ve been using the API Platform and Integration Cloud Service (ICS) for some time now. Independently, they are powerful products but together they are even better.
Initially, most ICS use cases were SaaS to SaaS or an extension to an existing SaaS. But more and more I’m seeing people use ICS in place of a standard service bus to do basic validation, enrichment, transformation and routing.
But how do you expose these ICS services using standard API methods? Well, it isn’t too difficult to go into API Platform and define an API to point to the ICS service, but this could be quite tedious.
Luckily, all the Oracle products have an “API first” strategy, so it wasn’t too difficult to setup an ICS flow to automatically publish new services into the API Platform.
Continue reading “ICS to API Platform”
I have been Integrating applications for the last 15+ years and normally every integration is a new challenge. It really doesn’t matter what technology or standards you use or have used in the past, the reality is that integrations come a new set of challenges. In the past few years the pre-built adapters have simplified in a way these challenges, but with hybrid architectures a new set of challenges comes to the picture, for example; connectivity, security, simplicity, message reliability, etc.
I was very excited when I learned the way Oracle Cloud is using to solve this problem. It is with something called Oracle ICS (Integration Cloud Service) Connectivity Agents, that basically get installed close to the Application being integrated, for example on-premise or in IaaS. Then using ICS in a browser, you can introspect into the backend application as if it was close to ICS, in fact with this solution ICS is completely oblivious of the location of the actual backend application. The Connectivity Agent will in this case connect internally with the back-end applications and communicate to ICS by pushing out messages via Messaging Cloud Service.
Continue reading “Teaching how to use the Integration Cloud Service Connectivity Agent”
Reading Alessia’s recent post about her experiments with beacons reminded me of a post that I have been meaning to write for a while, regarding my previous dabbling with building location-aware applications. Beacons are a powerful tool by which to provide fine-grained location services to applications, but need to be used carefully, and really need to be part of a larger mix of technologies in order to provide the richest experiences. In this post, I will look at the weaknesses I have previously encountered using beacons, and outline some of the strategies I have used to mitigate those weaknesses.
Continue reading “Reflections on making Mobile-Applications Location Aware”
In a previous blog on OCCS, I covered the steps required to provision the service. As an input to the OCCS Service provisioning I was prompted to specify the number of worker nodes I required, which for my example I set to be two. Having provisioned the service, I can now start to build and run my Docker images on these worker nodes. As part of the provisioned service, I have a node dedicated to the Container Console which provides a nice web User Interface that allows me to Build, Deploy, Run and Manage Docker Containers on the worker node hosts that I provisioned as part of my service. The two worker nodes are the hosts that I will ultimately deploy and running the image of interest such as WordPress, MySQL, Oracle Database, Tomcat, Nginx, WebLogic Server or whatever you want pretty much. The Container Console makes it very easy to build, run and deploy images via a web administration console.
Continue reading “First experience Using the Oracle Container Cloud Service”