This article introduces the concepts of building micro-services, problems associated with building such applications and some solutions. We also discuss the an example of a complete end-end web applications using Java & Jakarta as a backend, Angular as frontend with NoSql or SQL as data store (aka JAQ Stack). Also the concept of how to build web applications using tech stacks instead of frameworks.
Coming from a Java developer’s perspective, bringing in a application, for example built with Angular into a Java based web application and deploying it together is a very time consuming process and there are no standard procedures or technology that enables them to do it. A quick example of this is applications built on java based CMSes (like Adobe Experience Manager), the web application need to be deployed as single jar package with the UI embedded into the jar.
JAQ Stack fills in this gap and simplifies the process for developers to build a complete web application using angular as frontend, Java as backend and with capability to connect to any database. All of this without the need to learn any new technology or a framework. Applications with JAQ Stack cane built as (A) Monoliths – where the application stack comes with pre-built maven profiles and examples projects that enable developers to bring in an Angular application into a Java EE based web application to build a single deployable War/Jar file. This helps DevOps to manage the entire application as one deployment, as in most standard monoliths; and (B) MicroServices – where the application can be built as micro-services with the frontend and backend deployed as separate entities and communicating with each other using standard RESTful architectures.