Why it's important:
The technology powering Omny is a big part of what makes it different from the other CMSs out there. Our service oriented architecture (SOA) is something that other open source CMSs do not provide and comes with a number of benefits to it. Additionally our strong separation of backend and frontend makes the system better and more flexible.
Why a Service Oriented Architecture (SOA) matters:
SOA means using service APIs, and we use services are used where other CMSs use modules. This allows us to realize the following benefits:
- Developers aren't constrained by our choice of language or tools when adding functionality via services.
- Services can be built to work with both our SaaS and self-hosted versions simultaneously.
- Some of our services can be used independently of the rest of the Omny stack.
- The architecture makes it easier to prevent the code from becoming too intertwined and interdependent.
Why separation of backend and frontend is important:
Separation of the frontend from the backend gives a number of benefits:
- The frontend code can be static assets making it easy to host and accelerate with a CDN.
- The separation helps to ensure that there is a rich set of APIs for developers to use.
- Alternative UIs can be created to replace some or all of the functionality of the main UI without needing to do any backend development.
If I have seen further it is by standing on the shoulders of giants. - Isaac Newton
Making use of great open source tools gives our CMS a strong foundation. Some of the many great tools that form the basis of our system are
- Java (Jetty, Weld/CDI, Gson)