Dockerising a Vue.js based SPA, ship and run on Oracle Container Cloud Service

In this post, I am going to show how to build and containerize a Vue.js application and let it run on Container Cloud Service (OCCS) using the following steps:

  • Build a Vue.js Web App
  • Build Docker image based on the above Vue.js SPA
  • Push it on Docker-Hub
  • Create a Service in Oracle Container Cloud Service (OCCS)
  • Deploy Service (the vue.js app)

Continue reading “Dockerising a Vue.js based SPA, ship and run on Oracle Container Cloud Service”

JWTs? JWKs? ‘kid’s? ‘x5t’s? Oh my!

There are no shortage of acronyms in the security space, and shifting towards centralised-security, rather than perimeter-based-security, has added even more. As I have been playing with solutions around centralised identity services, such as Oracle’s Identity Cloud Service, I have found myself spending more and more time in IETF RFCs in order to understand these concepts. While there is a lot of value in the standards documents, they assume a lot of knowledge and I often found myself wishing for a slightly more approachable, high level description of the elements I was dealing with. While there is something tempting about being part of the secret ‘We read the security RFCs’ club, I resisted this, and took it upon myself to provide this higher level overview of these important concepts.

Continue reading “JWTs? JWKs? ‘kid’s? ‘x5t’s? Oh my!”

Multi Factor Authentication is Critical for Everyone

In today’s environment where systems run in the cloud and so much business and personal activity occurs online, passwords are not strong enough by themselves to protect applications. Scandals about password breaches seem to happen on a regular basis. It’s easy to find many case studies where passwords have been compromised as a result of malware, email scams and other techniques. The key point is that no matter how strong our passwords, no matter how much we educate our users, there will be situations where people are caught off guard and click on the wrong link, look at the wrong email or open the wrong document. Once this happens, our passwords can be compromised.

Continue reading “Multi Factor Authentication is Critical for Everyone”

Building a Docker Image for WebLogic 12.2.1.2 MedRec app

This blog walks you through the steps I used to get WebLogic Server and the MedRec sample application installed into a Docker image. There are many well documented GitHub projects for the Oracle Docker Images. This blog is meant to simply narrow down exactly what I did to get this going in my environment. I was using Ubuntu 16.04, and already had Docker installed.

Continue reading “Building a Docker Image for WebLogic 12.2.1.2 MedRec app”

ACCS Zero Downtime Updates and Re-Deployments

The May 2017 update for ACCS (17.2.3) brought a cool new feature to ACCS, zero-downtime updates. While previously, there was support for performing a rolling restart of an application instance, where each instance would be brought down and updated in turn, this only enabled zero-downtime updates if you had an application running two or more instances, and your application could satisfy performance requirements with one fewer node. While any production system should be able to satisfy these requirements, many of the utility systems I ran were on a single node, and I had to send out an email blast to avoid being disruptive when I wanted to push a quick code fix.

Continue reading “ACCS Zero Downtime Updates and Re-Deployments”

Teaching how to integrate Twitter with Integration Cloud Service

This blog shows you how to use the Twitter ICS Connector that comes out of the box in Oracle Integration Cloud Service.

Obtain your Twitter Connector in ICS

In order to create a Twitter Connector you need to first go to Twitter developers portal and create an access token. For this:

  • Login to the Twitter Developer portal at https://dev.twitter.com/
  • ON the top right, click on My apps and follow the link to log in (sign up if you don’t have an account yet).

Continue reading “Teaching how to integrate Twitter with Integration Cloud Service”

Automate ERP Cloud Batch Uploads using Oracle MFT and Integration Cloud Service

In this blog, we will use Oracle Managed File Transfer (MFT) and Integration Cloud Service (ICS) to automate batch uploads into Oracle ERP Cloud. We will perform this upload with invoices, a typical use-case for organisations that work with numerous vendors and would like their vendors to bulk invoice them through say an SFTP file drop.

Steps are as follows:

  1. Drop the file into an SFTP folder that is managed by MFT
  2. MFT picks it up and uploads it into ERP Cloud’s WebCenter Content file repository
  3. MFT calls ICS to trigger a multi-step orchestration to load ERP Cloud
  4. Using the ICS ERP Cloud adapter, the ICS orchestration first loads the file into staging tables and import the invoice into final tables

Folks who have read my previous blog, Using MFT Cloud Service to Automate HCM Batch Uploads – Part 1 will notice how similar this is to HCM Data Loading, except that we use ICS to orchestrate a few post-load steps.

That is because HCM and ERP Cloud (also SCM and SalesCloud) are all Oracle Fusion Applications, modules built on the same platform. Some of you may even be on “Global Shared Instances”, essentially running both your HCM and ERP SaaSes in the same instance.

Continue reading “Automate ERP Cloud Batch Uploads using Oracle MFT and Integration Cloud Service”

Oracle Developer Days, Partner Technical Forum – Melbourne

Join us at this 2 day Partner Technical Forum (PTF) being held on Tuesday 9th & Wednesday 10th May 2017 in our Melbourne office at Level 5, 417 St Kilda Road.

On the 1st day, hear about the latest updates on Oracle Cloud IAAS and PAAS Strategy & Portfolio.

Oracle Cloud Platform Practitioners sharing latest Cloud Announcements & Roadmaps for areas such as:

  •     Application Container, Oracle Container & Developer Cloud Services
  •     Integration Capabilities, PAAS for SAAS
  •     App Builder, Process & Mobile Cloud Services
  •     APIs, Devops & Microservices
  •     Identity Management

If you choose to attend the 2nd day, join the “Hands-On” experience with a number of the above Cloud Services.

For those attending Day 1 and/or Day 2, you are also invited to the PTF Dinner following Day 1, on Tuesday 9th May at the Royce Hotel.

For further details visit the registration page:   http://bit.ly/PTF-melb

Learning How to Write Cloud Native Apps

Throughout my development experience, I feel that I have had several major bursts-of-learning, due to problems which have made me re-evaluate how I approach architecting and developing a solution. I feel these ultimately make me better as a programmer, or at the very least, more versatile. I am sure some of these bouts of learning and understanding are near universal, experienced by most developers, such as understanding parallelisation, but others are somewhat more specialised, such as when I first started writing games, where having to take 60+ snapshots of a continuously evolving environment every second completely changed how I thought about performance and accuracy. Developing Cloud-Native applications (and indeed micro-service based applications, which share very similar principles) feels as though it is one of these moments in my development experience, and I feel it might be interesting to reflect upon that learning process.

I see the problem statement for Cloud-Native applications as something akin to: ‘you have no idea how many instances of your application will be running, you have no idea where they will be in relation to one another and you have no idea which one will be hit for any particular call’. That is a lot of unknowns to account for in your code, and forces you to think very carefully about how you architect and develop your applications.

Continue reading “Learning How to Write Cloud Native Apps”

Teaching How to Use Alexa to Take Off your Drone using NodeJS

Recently I was in Auckland, New Zealand running an Integration in Action workshop and I used Alexa to trigger some of my APIs, including some NodeJS APIs that I built to take off a drone. Some people found this interesting and asked me to write this blog to explain in detail how it works… So, here it is, I hope you find it useful.

There are multiple ways in which you can make Alexa to call your own APIs. Perhaps the most versatile way is by adding a new skill (see: blog 1, 2). However I found an even easier way to do so, and in order to achieve the MVP approach I have been attempting to practice in my day-to-day life, I took this simpler option, which is simulating a Phillips Hue HA bridge. By doing  so, Alexa detects a new Home Automation (HA) device in “her” network range and accepts voice commands to easily “turn it on” or “turn it off” which you can then leverage to call your own APIs.

Continue reading “Teaching How to Use Alexa to Take Off your Drone using NodeJS”