What is Oracle APEX? Rapid application development is becoming more and more important, and the low-code platform created by the Oracle corporation offers many possibilities for people who make their first steps in the IT world. Let’s look at them more closely – from the perspective of a seasoned Oracle APEX developer.
I started working with Oracle Database more than a decade ago, and I have been an APEX Developer since 2015. Despite my years of experience with the Oracle Application Express (APEX) low-code development platform and other things related to low-code development, I sometimes ask myself: who is an APEX Developer? Is it a person who only knows the front-end side of it? Should APEX developers know how to take care of Oracle Database? Do they need to understand how to manage the data? In this article, I would like to answer these questions.
Over time, HTML DB was rebranded to Oracle Application Express – Oracle APEX – and in 2006 it was bundled with Oracle Database. Two people who created this tool – Mike Hichwa and Joel Kallman – started hiring more devs to create a much more powerful tool. This is the APEX we know today. Over the years, they have built a platform that allows programmers to create advanced solutions, even enterprise apps – a successor, of a sort, to popular Oracle Forms, which is why companies often migrate from Oracle Forms to APEX. However, as time went by, APEX became so efficient and easy to learn, that even non-technical users could start using it to develop web applications.
Our team at Pretius Low-code has used Oracle APEX for years to build powerful applications for companies of varying shades and sizes. We know it in and out, and we share this knowledge with others at conferences and universities, showing people how to use APEX in different scenarios. As you may be aware, it’s not only about coding skills – we also have a lot to say about various business use cases.
In Pretius Low-code, we work with a group of people who can use Oracle APEX to develop any application from scratch. We convert business requirements into technical analysis, and then use it to design and develop a custom software solution. In the beginning, it’s usually small, but often, after just a few days, it becomes an application that already fullfil the initial requirements.
APEX fits the agile methodology well, and good results can be delivered quickly. In fact, the platform is so powerful, that it can allow 1 person to deliver something that previously would require a 4-person team.
You don’t believe me? I can understand that, so let me go into a bit more detail. Let’s look at a hypothetical project from the example above. Normally, it requires four project positions:
- Business Analyst – it’s someone who acquires and writes down the business requirements and can also describe them in the form of a technical analysis
- Project Lead or Project Architect – they have knowledge about many different technologies and can propose a solution and architectonic design concept
- Back-end developer – it’s a person who takes care of the application logic and can write down the data structures
- Front-end developer – they can design the user interface and can create a user-friendly tool with all the graphics and interface elements
And that’s not all, because there may also be other people, such as Project Managers, UX specialists, and ML engineers. We won’t concentrate on them in this simple example, but it’s important to remember that more advanced projects would require an even bigger team of specialists.
You can work effectively and make your product fits requirements because APEX takes a big part of the burden off your shoulders. As an APEX Developer, you can focus on the requirements, keeping the communication with the customer open, and dealing with the product architecture. You create your application using the available back-end and front-end components. APEX helps you take control over the things you need to do.
As you can see, even a small project can be quite complex in order to organize the project layers. To make the customer happy, you need to have a well-organized team. It can be much more cost-effective with just one person who can lead everything. In Pretius Low-code we can handle it and call this kind of APEX Developer an Oracle APEX Consultant.
Now, let’s talk about the role of the Oracle APEX Developer and the reasons why it’s a position worth pursuing.
In my opinion, Oracle APEX Developer is a person who knows what Oracle APEX can offer “from the box” and can use the technology to build powerful applications. They understand native APEX tools, as well as advanced components like Automations, Oracle REST data services, and embedded API – and they can use them all successfully.
If you want to make a change in your professional life, or simply expand your skillset, APEX development is a good choice. This technology offers a wide range of things to learn. Firstly, if you are a beginner, you might want to start with a native no-code solution – and yes, APEX can be used as a no-code solution. It means you can start building applications without any programming skills at all.
You do this by using some of the tools that you can find in the SQL Workshop, such as Quick SQL, Data Workshop, Data Generator, Query Builder, Object Browser, and so on. What’s more, you can also find there some applications that are already done and ready to be used as templates. You simply have to take your data (like a spreadhseet that you already use), make yourself some good coffee, and with a few clicks and a little bit of time, you can create your first application.
APEX also comes with a native API (application programming interace) – it is a collection of PL/SQL packages that you can use in your database solution. It kinda means that you can use APEX… without using the APEX. Does it sound strange? Well, take a look at the API and think about what package you can use to enhance your database code. For instance, check out APEX_MAIL or APEX_STRING – these are easy to use and you can make your code much simpler, not to mention making coding more interesting.
If that sounds interesting, and you are considering becoming an APEX developer, you can read about the most popular Oracle APEX interview questions we ask in Pretius Low-Code.
Now, let’s look at some possible career paths for Oracle APEX developers. There are several technical areas you can specialize in.
If you know a lot about SQL and PL/SQL, you can use that knowledge as an Oracle APEX Developer. By extending your skillset, you can start with ETL (Extract, Transform, Load – a process of extracting, transforming, and moving data). There are plenty of tools you can use to shift your data from one place to another like Informatica PowerCenter, Pentaho, Talend, or even Oracle Data Integrator and PL/SQL. If you are interested in this kind of work, you can focus on these solutions and use Oracle APEX as a user-friendly tool to visualize and enrich your data.
Furthermore, you can also use APEX by itself – thanks to the Data Load Definitions feature – but you’ll need to accept some performance issues and technical limitations, especially when it comes to transmitting and loading large data files. However, in general, if you would like to focus on managing data for your applications then you’ll probably need to learn some 3rd party solutions.
A typical scenario you may have to deal with if you’re on this career path: a big company has a global data warehouse and stores data from many places like SAP or 3rd party companies. On the other side, there is your APEX application. You are a data recipient and here the ETL is required to fill the application with proper data.
The cloud can make the life of an APEX Developer a lot easier. If you use the cloud, you usually don’t need to deal with server management – your cloud service provider will take care of that. What’s more, each cloud platform offers you a multitude of tools and services that you can link to your applications or use to extend their functionality. Data storage, analytical data warehouses, data pipeline generators, IoT, machine learning services – the list goes on. With cloud computing, you can enhance your skills to a higher level – you’ll be able to make really powerful applications.
What do you need APEX for, in this case? Well, it’s all about automation. I’ll use a specific example to illustrate my point – you can use AWS (Amazon Web Services) to create a Relational Database (RDS) based on Oracle Database. Within it, you can select APEX as an option and after a few clicks, you’ll have a database that’ll be managed by the cloud service. It’s that simple. You can also use Oracle Cloud Infrastructure (OCI) – an APEX-native cloud provider that offers a well-designed cloud computing environment, along with access to an autonomous database, and a huge number of Oracle solutions and tools.
Long story short – if you specialize in cloud computing, you’ll have access to many interesting possibilities for high-level application development.
APEX is a part of the Oracle Database enviroment and database objects can be very hard to maintain. It’s no secret that controlling versions of database objects – like tables, constraints, and indexes – can give a developer a serious headache. It’s much better to do all of this by re-creating objects like packages, triggers, and views. But even then, the database is mostly the data, and that data can be a tough nut to crack.
This doesn’t get easier with APEX – there is no obvious source code like in the case of Java or Python. You have to deal with the SQL files which are hard to track because each of them is enriched by metadata. There is a lot of work, but – as a consequence – it can also be a great opportunity!
For years, people have been striving to make life easier for themselves. The role of an APEX DevOps specialist is all about finding solutions for these difficult problems. Thankfully, some of them have already been solved for you. You can manage database objects like tables with Liquibase or FlyWay. It’s much simpler this way because you have control over the database changes. For more information about Liquibase, you can visit our great Liquibase tutorial.
Oracle APEX Administrator
If you are familiar with the DevOps methodology, you probably know that the way from programming to administration can be quite short. If you feel that programming is not all you can do, then remember that APEX is hosted in the Oracle database – this means that all the issues related to the database are common in the APEX applications too.
You can expand your skillset in this area to become a database administrator (DBA). You’ll have to become an expert in things like system console (bash or PowerShell) and low-level tools (like RMAN) that Oracle provides in their distribution. Specialists of this kind are in demand. We need people that know how databases work in the background. They’re required for hybrid and on-premise architectures, but also for systems relying on cloud computing.
If you decide on this career path, you’ll be a database expert and you’ll work closely with the developers and DevOps specialists. However, while you make sure your database works perfectly, you’ll probably spend quite a bit of time somewhere in the stereotypical “basement”, away from people. Regarding APEX, you’ll have to learn how it works in the background and how to scale it in production environments. Also, you need to know how to configure the webservers in terms of the distribution of the applications over the Internet.
Oracle APEX Expert
Do you want to be a true master of Oracle APEX? If so, you can become an expert. In this role, you’ll have to know the core components and all the advantages of using the tool in terms of the application requirements. You’ll have to keep up to date with every new version of Oracle APEX new features and know what’s going to be added in the future. You can also create your own plugins and share them with the community to enrich the platform with new possibilities and functionalities. As an expert, you have to like sharing knowledge, because speaking at conferences, taking part in meetings, and writing blogs will be an important part of your job.
At the beginning of this article, I mentioned that APEX was created as a solution for back-end developers that were fine with PL/SQL but lacked front-end experience. Nowadays, it is a big environment with many components from which you can create your application – even without any coding whatsoever.
If you just started familiarizing yourself with it, you have a long and interesting road ahead of you. You will learn many skills that will make you a really good and appreciated developer. Someday, you will be ready to design and create an application just by yourself – either for personal use or for your customers. When you get to this point, you can start thinking about being a freelancer or a consultant for companies all over the world.
Want to extend your skillset beyond APEX? There are many possibilities. You do not need to spend days creating applications from scratch, you can consider other paths and look at this from different angles. Oracle APEX may also be a great entry point for other low-code solutions. If your heart beats faster at the thought, consider learning Mendix, OutSystems, or PowerApps.