Oracle APEX Cloud Architecture Overview — AWS

Ardi Hanitya
4 min readOct 17, 2018

--

Before we get start, this cloud architecture is behind the Amazon Web Services (AWS) infrastructure. So I will share with you guys, and the point is, this architecture not using container services or using native software as a service like Oracle cloud. If you are in enterprise environment, and integrated with Oracle services including Oracle APEX. You may now check this.

Prologue

Nowadays, enterprise environment may need agile development wizard that can make complex applications, data structure, simple setup, and fast-development application. Oracle APEX is web-based development wizard that going to make this happen. To be honest, if you are using Oracle product for your development, this wizard is going to be powerful tool.

Source: Oracle blog.

Oracle APEX — Technology behind the scene

The good news, we can get Oracle Express Edition come with Oracle APEX. And it’s free. When we download Oracle Express Edition, Oracle apex is actually in the bag. We can get the oracle-apex.zip and install it. Architecture behind the scene of Oracle APEX is look like this.

Oracle APEX architecture behind the scene.

Actually, it’s cool when we get into dev-process. There are some obstacle if we have Oracle Express Edition for production, and they are limitations.

Oracle Database 10g/11g XE is limited to:

  • only use one core of CPU on a system
  • use up to 1GB of RAM
  • store up to 4GB of data, 11GB of data on 11.2

Well, it clearly said that we have lack of application architecture, if we are using this architecture for production. And something may have to change.

Hybrid — Oracle Express Edition & Oracle Enterprise Edition

For Oracle database environment, we know something cool that called database link. There are dozens benefits of database that we get. Database link can connect object-to-object between database such as view, table, etc, and for data synchronize.

Another architecture that we can improve to handle larger data is hybrid Oracle Express Edition and Oracle Enterprise Edition.

Hybrid Oracle Express Edition & Oracle Enterprise Edition using database link.

Maybe this way is cool, this hybrid way can handle larger data. We don’t have to worry about data storage, since the actual data is handling by Oracle Enterprise Edition. Data just enter to Oracle APEX, through Oracle Express Edition, stream to Oracle Enterprise Edition. That’s it.

But, I have to say, this hybrid environment is for predictable user traffic, and for normal use. What actually normal use? So, when we going to upload data and read for file, it going to use memory. As we know that memory limitation in Oracle Express Edition is 1GB for RAM. It going to be a new problem. Then we have to see ORA-something error because of allocated memory.

Problem — User traffic

The new problem is user traffic. For every single enterprise environment dreams to be larger. Have a new administrator, branch, plant, and uniformed application. It means, more users get involved.

User traffic

Even if we have a dream about provision Oracle APEX with Oracle Express Edition behind load balancer, it’s not going to work. Oracle APEX session is saved into two, cookies and database record. Oracle APEX database records session is saved into Oracle Express Edition.

It’s not good to throw record to another VM. When one VM that contain Oracle APEX + Oracle Express Edition is full of traffic, it going to down. Furthermore, if we can scale VM with Oracle APEX + Oracle Express Edition, it may error, according to one database link have unique name and connection. Except, we have new architecture to improve the boldline problem that is “traffic and large data”.

Scale Architecture

I was thinking about current hybrid improvement. The idea is, separate Oracle Express Edition from Oracle APEX environment. Try to provision VM behind load balancer, and instance will scale automatically to handle larger traffic.

So, I was thinking that session is saved into web cookies and database record. How about build Oracle APEX as standalone application? Challenge accepted.

Then, lately I know that AWS RDS (Relational database service) for Oracle is support for APEX repo. This is awesome, I mean I don’t have to install APEX repo into database instance, just configure over RDS and automatically installed.

After short discussion with my friend who work as solution architect, and consider about possibility. We have a new architecture for Oracle APEX.

Oracle APEX cloud architecture.

That is new architecture for Oracle APEX. For me, and for now, this is the best architecture solution that I was thinking on.

Conclusion

For Oracle APEX architecture there is boldline problem that we may get. Those problem are, how to handle traffic from large users, and how to handle large data.

That was improvement that I can share with you guys.

Thanks for reading.

--

--