I was in search of some real-world examples of one-to-one and one-to-many table mappings as I worked on some recent Hibernate and JPA tutorials. The typical, introductory HelloWorld and FooBar examples only go so far when it comes to andragogy. I wanted some examples with a little more meat on them.
That got me thinking about WordPress. I wondered how the world’s largest blogging software set up their persistence layer. Surely there will be some interesting table joins in that database schema, right?
The Bitnami WordPress stack
A developer will need to bring several different software components together to use WordPress. It requires a relational database (MySQL), an HTTP-based web server (Apache), a PHP interpreter and a variety of port and credential settings that are easily misconfigured. As a result, I turned to Bitnami.
The stacks come in a variety of flavors, including container packaged, virtual machine hosted and a simple installer that loads all the required files on a local operating system. I chose the local option, with a recently reimagined Lenovo T430 laptop at my disposal.
The installation lasted about 10 minutes. When it finished, I had a working Bitnami WordPress stack on my laptop with all the underlying MySQL and Apache Web Server components at the ready for my perusal. It’s always interesting to open a popular software stack and examine how a team of professional software developers and architects have pieced it together.
I plan to focus on some other WordPress-related coming up, such as a bottom-up mapping of the WordPress database to create a dozen JPA entities based on the underlying tables. I’ll also demonstrate how those JPA entities can be used to create a Java WordPress API that allows CRUD operations on blog entries. I’m not sure if a Java and PHP combination is a great idea, but it’s a fun mental gymnastics exercise for an addle mind.
The following video will walk you through the steps to download and install a Bitnami WordPress stack.