Blog

APEX Development on a Raspberry Pi

Before you get excited, I’ll start off by saying that there’s no way you’re going to get an Oracle database running properly on a Raspberry Pi at the moment. However, the Raspberry Pi can be more useful than it initially looks for APEX development because of the tools available.

I’ve been using a Raspberry Pi recently to integrate with Oracle APEX in my upcoming Tech17 presentation: APEX and the Internet of Things. The Pi 3 has come a long way since the early versions that I’m familiar with, so I thought it might be interesting to see if I could do my job from it yet. This blog is a short account of how things went, detailing what works and what doesn’t.

Day 1

So, first thing’s first, I need to start writing this blog. I installed the latest version of Libre Office with no problems, which will give me the word processing functionality needed.

I wanted to save this file to my network drive so the next thing I did was install the smb client onto the Raspberry Pi. I can then easily navigate to my shared folders just like I would from my work PC as long as I am connected to our internal network.

So far, so good. I now have network access and can get to all the same files that I normally work with. I also have a word processing tool to allow me to write this blog, along with a screenshot tool to grab images.

The next step is to make sure I can develop. Luckily, APEX uses a browser based development environment and the Raspberry Pi operating system comes with the Chromium browser. Connecting to one of our internal environments was as easy as typing the address into the address bar and the speed was great when creating and logging in to a new workspace.

Day 2

So far, development has been pretty hassle free due to the fully browser based development environment available in APEX, though the speed of Chromium loading up some pages can be a little slow and it can become noticeable. Chromium isn’t a supported browser for APEX so I could run into issues at some point, but it seems to work in general. If you were going to do this properly then it would be worth installing a supported browser.

I needed to connect to the database to run some SQL today, and again the integrated SQL workshop in APEX allowed me to do this without attempting to install any extra software on the raspberry Pi.

Day 3

At one point today I had to flash my SD card to install the latest version of the operating system and had to move over to my laptop. This was because of work I was doing on the Pi at the time which had nothing to do with APEX development. If I was using the Pi solely for APEX, I wouldn’t have had this problem, but you can’t reliably work simultaneously on the Pi itself and also use it for your day to day tasks such as APEX development.

One thing you can do though is quickly switch between different SD cards, so you could create an environment with everything you need for your APEX development and keep this on a dedicated SD card for you to swap in when you need it.

Day 4

Core APEX development is still going well on the Raspberry Pi but there are a few pieces of windows software I’m missing. Today I needed to use some software we have installed on a Windows server on our network which led me to install some remote desktop software on the Pi. This allowed me to connect to any machine on the network and use the windows desktop and applications, although this suffered from a small amount of slowdown.

Conclusion

I wrote this blog on the side while I was working with a Raspberry Pi for my Tech17 presentation, and while I wouldn’t recommend anyone throw away their Mac Book just yet, it did highlight how great a browser based development environment can be. APEX comes with everything you need to develop great web applications and build the underlying database, and you can access the tools from absolutely anywhere using a browser. Whether you have on-premise databases or a Cloud based set up, the APEX builder is always available. I could have written a similar blog from a tablet or any web enabled device with a decent screen, which shows just how flexible the development environment is.

Craig is a Senior Development Consultant at 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.