Last week I attended the Oracle Code event in London; a free event hosted by Oracle showcasing the latest technologies, practices and trends in development. As a developer who spends a lot of time working with the database, this event was slightly different to the ones I’m used to.
The event kicked off with Adam Bien giving a demonstration of how to create a small Java EE application on top of a stack of Docker images, allowing him to then only update the small Java application layer when deploying. This setup allows the developer to create “Microservices”.
The second keynote saw Deepak Patil letting us know it is a great time to be a software developer, and how current trends such as DevOps, CICD and Microservices (again) all relate to the Oracle Cloud. There was also an appearance by Mark Shuttleworth to back all this up.
The rest of the morning saw Pratik Patel talking about the modern Javascript stack and, believe it or not, Microservices. Then Davide Fiorentino with a practical guide to Docker and service deployments (or, how to deploy your Microservices).
Here’s a link to a 2015 Oracle article about Microservices and SOA. In summary, the Microservice architecture is a collection of standalone services to implement business capabilities. This architecture allows complex applications to be delivered via the deployment of small, individual pieces rather than as a single, whole application each time. OratoolWatch is a good site for getting a straight opinion regarding Oracle technology and SOA and Micorservices have been discussed recently.
After lunch oracle-base’s Tim Hall spoke about how we can use RESTful Web Services to make database code relevant to other technologies. This tied in to what I was thinking all morning – aren’t Microservices just the same thing as PL/SQL functions with web services on top of them? It turns out, technically they aren’t, but as Tim said to me – “There will no doubt be purists that turn their nose up at it, but as long as you are following the proper path, you will be producing web services that can be used by other developers and they will be happy.”
It was nice to see the APEX team’s Shakeeb Rahman speaking generally about UI later on in the afternoon and using APEX screenshots to demonstrate his points – the Universal Theme really does hold its own against other UIs!
The day was great overall, and it was good to see some different ideas and approaches to development. It looks to me like Docker could be really useful – I’ve seen other APEX developers singing its praises, and I used it myself to get Node.JS up and running. Hopefully Oracle will release more official Docker images in the future (a Docker XE image perhaps?).
Microservices look like they could be really cool, but in reality, I can’t see myself using them in their true form at the minute. However, the ideas that they represent are definitely worth keeping in mind. Separating code into packages isn’t something new for Oracle developers, but making functions and procedures available via web services might be to some. This is definitely something you should be looking at to keep your data accessible no matter which direction front end development goes in. Front end technology is constantly changing, and I am sure in a couple of years a future Oracle Code event will be completely different, but your data will still be there and there is no reason your existing business logic shouldn’t be either, as long as it is easily accessible.
Author: Craig Sykes
Job Title: Senior Oracle Development Consultant
Bio: Craig is a Senior Development Consultant at DSP-Explorer. Craig has an MSc in Computing Science and is an experienced software engineer, utilising development tools such as PL/SQL and APEX to provide bespoke ERP software to both UK and international businesses. Craig has experience developing solutions to connect Oracle systems to a wide range of existing external applications within business environments.