/awesome-jboss

Awesome JBoss Resources

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome JBoss

A list curating resources and information related to JBoss Middleware. The broad range of products, upstream projects and people involved makes it difficult to structurize this information - stay tuned and be patient, later (or later [or later {or later}]) you'll get a nicely structured information pool on JBoss resources here :)

Official Sites

Community

Red Hat

image

Subprojects

Red Hat <-> Community (aka Upstream)

Red Hat's general categories from above (Accelerate-Integrate-Automate) is here mapped to the various upstream projects and the main projects have mentioned the commercial offering from Red Hat.

Example: Upstream project is WildFly, commercial project is Accelerate/Red Hat JBoss EAP.

Be aware that many projects appear in all categories (e.g. general-purpose libraries). The approach is avoiding redundancies. So widely used projects are mentioned once in one category. It might be mentioned where they appear else.

Foundation (aka Accelerate)

WildFly - Formerly called JBoss Application Server (JBoss AS), but JBoss got reserved as brand of the offerings supported by Red Hat and the product's name is now Red Hat JBoss Enterprise Application Platform (aka EAP). Very lightweight Java EE (and JavaScript!) environment, scalable, extensible. Unzip - run. It's that easy. And it's so lightweight it can just be embedded into the administration command line interface (CLI) for allowing offline configuration.

Apache Tomcat - The versatile Servlet Engine is available with support by Red Hat as JBoss Enterprise Web Server. (JBoss EWS). B.t.w. - Red Hat JBoss EWS + Hibernate Support == EWS Pro (discontinued).

FeedHenry - A mobile backend-as-a-service solution. Implemented in Node.js, fully-fledged with API management, web based screen development, monitoring, security, push notifications. It's definitely worth a try and unfortunately a bit overseen especially in the iOS community. Furthermore comes with a very powerful workforce management framework, FeedHenry Raincatcher which can be used to e.g. track and instruct outdoor workforce.

WildFly Swarm - Allows putting services into a single deployable, but still Java EE conformant jar. Perfect for microservices. No supported offering from Red Hat at the moment.

WildFly Swarm Generator - Like Spring boot - allows specifying the Java (EE) components you need for an application and creates a self-running "fat jar" out of it.

Arquillian - Server side testing done right.

RestEasy - Helps creating REST services on WildFly (being container agnostic, though).

Weld - Java CDI implementation, already integrated in WildFly, but check out the documentation if you want to use it elsewhere.

Undertow - is "is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO". Also the standard webserver in Wildfly.

Immutant - Clojure libraries to make JBoss work in the clojure world. Includes Infinispan, Undertow and other integrations.

Integrate

JBoss Fuse - The integration component of the broader JBoss middleware stack. Built on Apache Camel, Apache ActiveMQ, Apache CXF and Apache Karaf (as well as integrating fabric8, see all below), Fuse enables you doing integration projects programatically.

Syndesis - iPaas solution, running on Kubernetes or OpenShift. Think of Eclipse Che but for integration: wizard based project creation, adatper selection and configuration as well as data mapping - all from within your browser. For the low coders/citizen developers of us.

Enmasse - A messaging subsystem for Kubernetes and OpenShift. Sporting latest and greatest MQTT and AMQP (amongst other protocols).

Apache ActiveMQ - A popular JMS implementation (JMS 1.1 in the beginning).

Apache Camel - A routing and mediation engine for implementing most of the enterprise integration patterns. DSLs for many languages as well as XML configuration for routing rules are available.

Apache CXF - A service creation framework, supporting JAX-WS and JAX-RS. Multi-protocol (e.g. SOAP, XML/HTTP, RESTful HTTP, or CORBA) and multi-transport (e.g. HTTP, JMS or JBI).

Apache ServiceMix - Post-ESB-era ESB ;) Integrates ActiveMQ, Camel, CXF, Karaf etc.

HornetQ - (NB - it's outdated!). Fast and reliable messaging subsystem - got integrated with Apache MQ Artemis - which is considered becoming Apache ActiveMQ' successor version 6.x.

Teiid - Data virtualization framework. Common layer across DBMS, file systems, services and enterprise legacy systems.

ModeShape - Distributed, hierarchical, transactional, and consistent data store. Doesn't get the audience it deserves IMHO.

Debezium - Database event streaming. Allows creating reactive/event sourced applications. Extremely useful for monolith decoupling.

nginx - (pronounced: "engine x") - is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server. Core of the 3Scale API management solution.

Drools Fusion - Is the component for complex event processing in BRMS.

Automate

KIE Group - The umbrella project for things related to BPM, BAM, BRM and alike tools. Powerful enterprise stuff.

Drools (BRMS) - Business Rules engine and framework.

jBPM - A BPM engine and framework.

Opta Planner - Constraint satisfaction solver. I.e. a planning engine for the enterprise.

Core Services

Core services are enterprise components offered by Red Hat to any middleware product subscriber for free - except of Red Hat JBoss Enterprise Web Server which does not come with Core Services support.

Keycloak - SSO solution (including social auth). Out-of-the box screens, zero-coding setups, session administration etc. Like OpenSSO on steroids. Deployable to an app server, as black box appliance or to OpenShift as a container. Includes the former PicketLink project. (Enterprise product: Red Hat SSO, part of core services, see above). Support enabled product name is Red Hat SSO.

RHQ - Is an extensible component for all kind of monitoring, operations, alerting in the JBoss space, includes Apache HTTPD and Tomcat operations, too. Subscribed product is "Red Hat JBoss Operations Network" (JON).

JBoss Tools - Eclipse plugins for JBoss technology. Red Hat support under the name JBoss Developer Studio.

=== (not yet mapped)

Hawtio - A pluggable management console for Java stuff which supports any kind of JVM, any kind of container (Tomcat, Jetty, Karaf, JBoss, Fuse Fabric, etc), and any kind of Java technology and middleware. Basis for Hawkular, JON et al.

Narayana - Transaction manager, even spans across C++ and Java.

LiveOak - Looks like a BaaS to me like BaasBox or Apache UserGrid. Not sure why/in which way it serves as a JBoss upstream project.

AeroGear - Libraries/server-side components helping you build a platform agnostic infrastructure for mobile applications. Currently supported: Android, iOS, JavaScript, Cordova, Windows. Modules: Push, Security, Sync.

Hawkular - Feature full monitoring and management platform.

Jaeger - Uber's OpenTracing compatible tracing/monitoring system. Hawkular supposed to be abanoned in favor of Jaeger.

ManageIQ - Single platform to manage containers, virtual machines, networks amd other stuff. Subscription offering is called CloudForms.

fabric8 - Feature complete open source DevOps Platform, supports Docker, Kubernetes, OpenShift. This multi-multi-multi-module stack offers everything from base continuous delivery (incl. Chaos Monkey!) over management (incl. taiga.io! Gerrit! has metrics and is searchable) to communication (Slack!). NB - fabric8 is also a component in the even bigger JBoss Fuse stack.

apiman - Allows applying runtime policy governance to APIs. Uses cases e.g.: service throttling, centralized security, billing and metrics. Discontinued due to the 3Scale acquisition.

Jolokia - HTTP/JSON bridge for remote JMX access. Built into Fuse and WildFly.

Iron Jacamar - SCA 1.7 implementation. Used in WildFly.

Project Raincatcher - Mobile workforce management for FeedHenry/Red Hat Mobile Platform (see below). Also an useful approach for getting started with implementing workflows based on Node.js.

JBoss Forge - Scaffolding framework - Allows you creating an entire Java EE app by just providing entity and comfigrational imformation, either at the command line or in JBoss Developer Studio. Reminds me of the discontinued (?) Spring Roo.

GateIn Portal - The Opensource Website Framework, gives you more than a web framework by letting you use your preferred one.

Patternfly - Is a collection of guides, UI templates and UX patterns for creating UIs for the enterprise. More and more used in JBoss projects.

Errai Based on GWT, Errai allows type safe web applications (HTML5) based on Java EE. Shared code between platform and server.

Uberfire - UberFire is a web framework for building extensible workbenches and console type applications. Foundation of the Drools (JBoss BRMS) and jBPM (BPMS) workbench. Built on top of Errai.

radanalytics.io - Data driven application development on OpenShift. Set up a containerized Spark cluster in a few minutes (or less).

Red Hat

JBoss Enterprise Application Platform (EAP) - Basically the licensed and supported WildFly offering from Red Hat.

Red Hat JBoss Web Server - Apache Tomcat supported by Red Hat. Includes clustering (which is not included in Red Hat Enterprise Linux though Apache Tomcat support is there) support as well as Apache HTTPD support. JBoss Web Server Pro extends the commercial offering with Hibernate support.

JBoss A-MQ - The supported messaging subsystem offering from Red Hat.

JBoss Fuse - Bundles different upstream projects addressing integration (e.g. Apache Camel) to a complete integration suite.

JBoss Business Process Management Suite - Is a comprehensive suite for running business processes in an enterprise environment (including simulation, analysis, human tasks and alike). Includes JBoss BRMS, JBoss Resource Planner (upstream project: OptaPlanner) and

JBoss Business Rules Management System -

3Scale - Real API management system

JBoss Data Virtualization - Red Hat's complete offering around projects like Teiid.

JBoss Mobile Application Platform - A backend-as-a-service (BaaS) solution, based on Node.js. Offline sync, authentication, web based app development, API and workforce management - all covered. Formerly known as Feedhenry.

OpenShift - Is a PaaS solution based on Docker, Kubernetes and other community projects that allows deploying JBoss applications (and others) to it by just committing code changes to a Git repository. Each supported Red Hat middleware product is available as a docker container and can be deployed onto OpenShift.

openshift.io - An online offering based on OpenShift that includes special developer support regarding tooling (e.g. Spring Boot, WildFly Swarm and other microservice ready launchpads) and collaboration (e.g. Scrum/Kanban boards).

JBoss (Related) Blogs

Athico - Drools & jBPM - Latest and greatest from the Drools (JBoss BRMS upstream) and jBPM (JBoss BPMS upstream) projects.

Geerd Schuring's Blog: Open Source Java Middleware

Markus Eisele's Blog: "Java EE and general Java platforms. You'll read about Conferences, Java User Groups, Java EE, Integration, AS7, WildFly, EAP and other technologies."

Dominik Wotruba's Twitter Account - Lots of interesting articles related to JBoss and Java middleware

Christina Lin's Blog - "Open Source Middleware , Integration Software" Found an excellent intro to Fuse there and many other great articles on Fuse and JBoss middleware.

JBoss Asylum - Podcast! - A podcast for the JBoss community.

Eric D. Schabell's Blog - Eric is a JBoss Technology Evangelist with Red Hat an author of several books. This blog not only lists numerous JBoss related events all over the world, but has useful content in form of overviews, best practices and links to other resources.

In Relation To - Blog on everything Hibernate.

Christian Posta's Blog - "A blog about all things software, cloud, integration, messaging, and programming" - by a Red Hat Principal Middleware Architect who's also committer to Apache MQ and Apache Camel as well as fabric8 and furthermore a frequent speaker on Red Hat events (and others).

Kris Verlaenen on Processes, Rules and Events - Kris is a Senior Software Engineer at Red Hat and the jBPM (open source project) project lead as well a Drools committer. His blog is about all process and rules related stuff.

Maciej Swiderski on jBPM: "Accelerate your business" - Maciej is a core jBPM developer and gives insights on his blog - tips and tricks and new/upcoming jBPM features explained.

Kamesh Sampath "Workspace7 Blogs" - Kamesh is a Senior Consultant at Red Hat and mixes technologies like Spring Boot with Red Hat SSO, a few, but detailed and practical tutorials. Also check out his contributions at (https://developers.redhat.com/blog/author/kameshsampath/).

Informational Resources (Like DZone)

People

Red Hat sponsored program - selected members of JBoss Developers that made huge contributions to the products/the community. NB: Only very few are associates of Red Hat, many of them rather propagate Java EE in general, some Glassfish in special.

John Ament

Paris Apostolopoulos

Adam Bien - Rather the Java EE hero. (Twitter)

Antonio Goncalves

Geert Schuring

Other JBoss Stars That Rock

Bob Mc Whirter - Founder of procejct:odd, Twitter: Armadillo Bob

Jason T. Greene - WildFly lead.

Eric D. Schabell - JBoss Technology Evangelist.

Marc Proctor - Drools/BRMS lead. Mark Proctor on Twitter

Geoffrey de Smet - OptaPlanner lead. Known to solve the most complex multidimensional problems arising the in the real world ;)

Kris Verlaenen - jBPM project lead, Red Hat Senior Software Engineer, Drools comitter.

Maciej Swiderski - Maciej is a core jBPM developer, see his blog above.

Tutorials/Learning Resources

Master the Boss (? not clear if it should be a one-word-name) - Lots of smaller, easy-to-follow tutorials covering nearly every component of the entire stack.

Master the Integration - Same as "Master the Boss", but for Fuse/Camel related topics.

JBoss Ticket Monster Tutorial (Red Hat) - A medium complex application deployed on JBoss EAP. Leads you through the entire stack incl. HTML5 and mobile frontends (Apache Cordova) and deployment to OpenShift. With videos!

JBoss EAP Quickstarts (GitHub) - Many deployable and inspectable projects allow you to learn from code.

Fuse by Example (GitHub) - Different ready-to-inspect example projects covering a different Fuse aspects.

JBoss BPMS Getting Started - Video tutorials and many examples from JBoss Demo Central (see below) to get started with the BPM Suite (or jBPM as the upstream project).

JBoss Demo Central - GitHub repository containing lots of examples for BPMS (jBPM) and BRMS (Drools).

Books

TBD - at least all JBoss related from Manning, Packt, Apress, O'Reilly

OpenShift for Developers (Grant Shipley and Graham Dumpleton, O'Reilly, free eBook) - Gets you started with technology agnostic (well, at least Java, Java EE, Ruby, PHP, Python, Node.js, Shell Scripts and .NET) PaaS development. Hands-on-approach, absolutely recommended for every person capable of coding a tiny bit.

Supporting/Related Software