This repository contains custom BAMOE Accelerators as well as custom Maven Archetypes, both useful for creating decision and process services based on IBM Business Automation Manager Open Editions.
This is a multi-module repository, with the following modules:
- BAMOE Accelerators is a set of custom accelerators used to generate BAMOE applications for both decisions and processes, while adhereing to standards and best practices. These accelerators can be leveraged by both BAMOE Developer Tools for VS Code as well as BAMOE Canvas, making them a useful asset regardless of how your organization provisions BAMOE projects.
- Maven Archetypes is a set of custom archetypes used to generate BAMOE applications for both decision and processes, including versions for both BAMOE v8 as well as BAMOE v9. These archetypes can be leveraged by BAMOE Developer Tools for VS Code or by a local developer, but would only work with BAMOE Canvas by importing a project alread generated by the archetype. In other words, archetypes are not available in BAMOE Canvas for project provisoning.
In order to build the archetypes, you must run the following command mvn clean install
, which will build all the archetypes and store themin the enterprise artifact repository as well as the local .m2 cache.
This repository is focused on business automation using IBM Business Automation Manager Open Editions products, specifically the IBM build of Kogito known as IBM Decision Manager Open Edition (DMOE) and IBM Process Automation Manager Open Edition (PAMOE), leveraging Quarkus or Spring Boot (currently for Decisions only) as the assoicated container runtime. The following online documentation is available in order to learn various aspects of these products and frameworks:
-
Apache Maven is a free and open source software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information. A getting started guide is available here.
-
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. There is a handbook available here, as well as various guides for learning and working with Git available here
-
Quarkus - Traditional Java stacks were engineered for monolithic applications with long startup times and large memory requirements in a world where the cloud, containers, and Kubernetes did not exist. Java frameworks needed to evolve to meet the needs of this new world. Quarkus was created to enable Java developers to create applications for a modern, cloud-native world. Quarkus is a Kubernetes-native Java framework tailored for GraalVM and HotSpot, crafted from best-of-breed Java libraries and standards. The goal is to make Java the leading platform in Kubernetes and serverless environments while offering developers a framework to address a wider range of distributed application architectures. You can find a useful introdution to this technology at Getting Started with Quarkus.
-
Spring Boot - Spring makes programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity has made it the world's most popular Java framework. Spring’s flexible libraries are trusted by developers all over the world. Spring delivers delightful experiences to millions of end-users every day. Spring’s flexible and comprehensive set of extensions and third-party libraries let developers build almost any application imaginable. Spring Boot transforms how you approach Java programming tasks, radically streamlining your experience. Spring Boot combines necessities such as an application context and an auto-configured, embedded web server to make microservice development a cinch. To go even faster, you can combine Spring Boot with Spring Cloud’s rich set of supporting libraries, servers, patterns, and templates, to safely deploy entire microservices-based architectures into the cloud, in record time. You can find a useful introdution to this technology at Getting Started with Spring Boot.