Accessing a Pivotal MySQL service instance within Pivotal Cloud Foundry

Recently at a hackathon we used the Pivotal MySQL service rather then a ClearDB MySQL service. As a result we could not connect to our instance from a third party tool as the service instance is locked down. There are various way to access the MySQL service to me the best two options are as follows.

1. Cloud Foundry CLI MySQL Plugin

cf-mysql-plugin makes it easy to connect the mysql command line client to any (more...)

Cross-origin resource sharing (CORS) from Spring Boot Rest Controllers

Was involved in a hackathon recently and after creating a few Spring boot API's for the UI team to consume and they run into errors around (Cross-origin resource sharing ). For security reasons, browsers prohibit AJAX calls to resources residing outside the current origin.

I have seen this before and Spring Boot has support to ensure you can control which resources can be accessed outside of the current origin. It's as simple as an annotation (more...)

ADF BC Groovy Expression Security Policy Configuration

Today I'm going to explain how to configure Groovy expression security policy. This could be helpful, if you dont want to change trustMode property to trusted everywhere across the app, but looking for single configuration point.

My sample app - GroovyPermissionApp.zip, contains bind variable with expression reference pointing towards custom method located in AM implementation class:


JDEV 12.2.1.2 returns compilation error for Groovy expression, can't resolve applicationModule property:


Such kind (more...)

Oracle RENO

Oracle RENO

R = REST
E = Express
N = Node.js
O = (Node)OracleDB

I've read am article about an REST Api with Node.js and Node-OracleDB at the website of Amis and at the website of Sivakumar Balagopalan.

This inspired me to write a application on the employee table inside the HR schema. The url http://machine:3000/employees fetches all rows in the employees table.

 The url http://machine:3000/employees/200 fetches the employee with employee_id 200 from (more...)

Setting up a development environment


I'm setting up a new development environment so I can do some development with JavaScript, ApEx and REST.

Gitlab on Raspberry Pi
I've a Raspberry Pi 3 and followed the installation instruction on https://about.gitlab.com/2015/04/21/gitlab-on-raspberry-pi-2/. After the installation I have a working gitlab on the Raspberry and I created new projects inside gitlab. 

Pre-installed appliance
I've downloaded the "Network Applications VM" from Oracle Technet. The appliance contains the following: 
  • Oracle Linux 7 
  • Oracle Java JDK (more...)
  • Spring Boot Application for Pivotal Cloud Cache Service

    I previously blogged about the Pivotal Cloud Cache service in Pivotal Cloud Foundry as follows

    http://theblasfrompas.blogspot.com.au/2017/04/getting-started-with-pivotal-cloud.html

    During that post I promised it will follow with a Spring Boot application which would use the PCC service to show what the code would look like. That demo exists at the GitHub URL below.

    https://github.com/papicella/SpringBootPCCDemo

    The GitHub URL above shows how you can clone , package and then push this application to PCF (more...)

    Production Mobile App with Oracle JET Hybrid in 2 Hours

    Do you want to know a secret, how to build mobile application just in 2 hours? Use Oracle JET Hybrid. Beauty of Oracle JET Hybrid - you can reuse the same source code (HTML and JS) from regular JET application. JET UI is responsive out of the box and this allows to render JET screens from the Web on mobile device without changes.

    We were using our JET 3.0.0 production app - Red (more...)

    Oracle JET 2.2.0 Application Migration to JET 3.0.0 Experience

    I was migrating our production JET app from 2.2.0 to 3.0.0. End-to-end migration process took probably around 1-2 hours - with testing. I think this is quick. JET migration is not hard if you follow developer guide instructions - B Oracle JET v2.x.x to v3.0.0 Tooling Migration.

    Migration from 2.2.0 must be done in two steps:

    1. Migration to 2.3.0 from 2.2. (more...)

    Apache Spark for Oracle Developers

    In the last few years, business problems that have been traditionally solved using databases are now being solved using other technologies. Apache Spark is one of the emerging technologies which is used for large scale data processing.

    Attend the free webinar by Ivan Lokic and learn how you can use Apache Spark in Big Data applications.  


    About the Webinar:
    Apache Spark is a general computing engine designed for large-scale data processing. Many well-known companies (more...)

    Getting Started with Pivotal Cloud Cache on Pivotal Cloud Foundry

    Recently we announced the new cache service Pivotal Cloud Cache (PCC) for Pivotal Cloud Foundry (PCC). In short Pivotal Cloud Cache (PCC) is a opinionated, distributed, highly available, high speed key/value caching service. PCC can be easily horizontally scaled for capacity and performance.

    In this post we will show how you would provision a service, login to the Pulse UI dashboard, connect using GFSH etc. I won't create a spring boot application to use the service (more...)

    ADF Multi Task Flow Binding and Tab Order

    I had a post while ago about ADF multi task flow binding and loading dynamic regions - Building Custom UI Shell with ADF 11g R2. In that sample, new region was opened in the first tab position. Meaning tab order was from right to left. It is more natural to have left to right tab opening order. This can be done too, check updated sample app - we need to control disclosed property and add (more...)

    Workaround for ADF BC View Object Attribute Order Problem in JDeveloper 12c

    I'm sure probably every ADF developer sooner or later faced this issue. When you create VO based on EO, JDEV gives you alphabetically ordered list of attributes. As a result - order of attributes in EO and VO becomes different. While this doesn't influence runtime functionality, it becomes quite annoying for application maintenance. Hard to match attributes between VO and EO, developer need to search through the list to locate attribute he is looking for. (more...)

    Pivotal Cloud Foundry Cloud Service Brokers for AWS, Azure and GCP

    Pivotal Cloud Foundry (PCF) has various cloud service brokers for all the public clouds we support which include AWS, Azure and GCP. You can download and install those service brokers on premise or off premise giving you the capability to use Cloud services where it makes sense for your on premise or off premise cloud native applications.

    https://network.pivotal.io/

    The three cloud service brokers are as follows:





    In the example below we have a (more...)

    Manually running a BOSH errand for Pivotal Cloud Foundry on GCP

    Pivotal Ops Manager has various errands in runs for different deployments within a PCF instance. These Errands can be switched off manually when installing new Tiles or upgrading the platform, in fact in PCF 1.10 the errands themselves will only run if they need to run making it a lot faster.

    Below I am going to show you how you would manually run an Errand if you needed to on a PCF instance running (more...)

    Slides from Oracle PaaS Forum 2017 – Oracle JET and ADF BC REST Production Experience with Oracle Java Cloud

    My colleague Florin Marcus (twitter: @FlorinMarcus) was attending and presenting at Oracle PaaS 2017 forum in Split, Crotia last week. He was explaining our production experience with Oracle Java Cloud Service and running Oracle JET/ADF BC REST system on Cloud instance.

    Slides are uploaded on slide share, you can go through and read about real production app built with JET and ADF BC REST running on Oracle Java Cloud. If you are interested in more (more...)

    Oracle JET Slider in Foreach Loop

    While working in the project last week, I had a question from development team - how to render multiple Oracle JET Slider components in foreach loop. I thought this could be useful tip for other developers too.

    You can get JET sample app from GitHub - JETSliderSample.

    Take a look into dashboard.js, I have defined array with two elements, containing variables (value property variable must be observable, otherwise it will not receive changed data) (more...)

    Oracle BPM: Time for Time Out (2)

    In a previous blog posting I discussed a solution to re-initiate a scope in BPMN that is supposed to time out after some time. In this posting I discuss how that solution inspires a couple of other use cases where a time out has to be re-initiated by calling an operation on the process.

    In the following process model there are three flow, for three different use cases to re-initiate the time-out of:

    1. A process (more...)

    Oracle JET Tooling Migration from 2.2.0 to 3.0.0

    Oracle JET 3.0.0 was released this week and I decided to migrate my local JET tooling from 2.2.0 to 3.0.0. Oracle JET developer guide provides well documented instructions for migration - B Oracle JET v2.x.x to v3.0.0 Tooling Migration. I was following outlined steps and tooling migration was smooth.

    Migration from 2.2.0 to 2.3.0

    Clean cache for bower and npm:


    Install (more...)

    Oracle Weblogic: Tackling Class Loading Issues for SOA Infra

    This blog article discusses how to address class loading issues with the Oracle SOA Infra. It's prime "raison d'etre" being a memory dump of something I don't do often, but may spend significant time in finding out how to do it again.

    Some time ago I lost valuable time because some library being deployed twice, once in the wrong place ([SOA_HOME]/lib folder) and once in the right place ([SOA_HOME]/soa/modules/oracle.soa.ext_11.1.1). In this (more...)

    Oracle BPM: Time for Time Out

    In this posting I describe how to time out a specific BPM scope with the option to re-initiate the timer.

    In case you need to model a time out for a specific scope within a process where you want to be able to modify the time out run-time, then you can model it similar to this:

    A parallel flow is used where the top flow covers the main process, and the bottom flow handles the (more...)