Alternatives to JBoss logo

Alternatives to JBoss

Apache Tomcat, Wildfly, GlassFish, Websphere, and Spring Boot are the most popular alternatives and competitors to JBoss.
328
249
+ 1
0

What is JBoss and what are its top alternatives?

JBoss, now known as WildFly, is an open-source Java application server developed by Red Hat. It is widely used for building, deploying, and hosting Java applications and services. Key features of JBoss include support for Java EE technologies, clustering for high availability, and integration with other Red Hat products like Hibernate and Apache Camel. However, JBoss can be complex to set up and manage for beginners, and it may require additional resources in terms of memory and CPU compared to lightweight application servers.

  1. Apache Tomcat: Apache Tomcat is a popular open-source servlet container that is lightweight and easy to use. It is known for its simplicity and compatibility with JavaServer Pages (JSP) and Java Servlets. Tomcat is ideal for small to medium-sized projects where simplicity and speed are priorities. Pros: Lightweight, easy to use, good for simple web applications. Cons: Limited support for enterprise features compared to JBoss.
  2. Jetty: Jetty is a lightweight, open-source web server and servlet container developed by the Eclipse Foundation. It is known for its scalability, high performance, and low resource usage. Jetty is commonly used in embedded environments and for large-scale web applications. Pros: Lightweight, high performance, suitable for embedded use cases. Cons: Less enterprise features compared to JBoss.
  3. Payara Server: Payara Server is an open-source Java EE application server based on GlassFish. It offers features like clustering, load balancing, and enterprise support options. Payara Server is designed for mission-critical enterprise applications that require high availability and performance. Pros: Java EE compliant, enterprise features, good for large applications. Cons: Heavier than lightweight servers like Tomcat or Jetty.
  4. WildFly: WildFly, formerly known as JBoss, is an open-source Java EE application server developed by Red Hat. It offers the latest Java EE technologies, advanced clustering capabilities, and support for microservices architectures. WildFly is suitable for enterprise-level projects that require scalability and high availability. Pros: Java EE compliant, advanced clustering, support for microservices. Cons: Steeper learning curve compared to simpler servers.
  5. Resin: Resin is a fast and reliable Java application server developed by Caucho Technology. It is known for its high performance, low latency, and extensive feature set. Resin offers support for clustering, dynamic scaling, and cloud integration. Pros: High performance, low latency, extensive feature set. Cons: Less popular than other servers like Tomcat or Jetty.
  6. GlassFish: GlassFish is an open-source Java EE application server developed by Oracle. It is known for its ease of use, extensibility, and compatibility with the Java EE platform. GlassFish offers support for enterprise features like clustering, monitoring, and administration. Pros: Java EE compliant, ease of use, extensibility. Cons: Oracle's decision to focus on other products has raised concerns about the future of GlassFish.
  7. Undertow: Undertow is a lightweight web server and servlet container developed by Red Hat. It is designed for high performance, scalability, and flexibility. Undertow is suitable for microservices architectures, embedded use cases, and cloud deployments. Pros: Lightweight, high performance, suitable for microservices. Cons: Limited support for enterprise features compared to JBoss or Payara.
  8. WebLogic Server: WebLogic Server is an enterprise-level Java EE application server developed by Oracle. It offers features like clustering, security, and scalability for mission-critical applications. WebLogic Server is suitable for large organizations with complex IT environments. Pros: Enterprise features, scalability, security. Cons: Complex setup and configuration, resource-intensive compared to lightweight servers.
  9. IBM WebSphere Application Server: IBM WebSphere Application Server is a Java EE application server developed by IBM. It offers features like scalability, reliability, and integration with other IBM software products. WebSphere is suitable for enterprise-level projects that require high availability and performance. Pros: Enterprise features, integration with IBM products. Cons: High cost, complex licensing model.
  10. Tomee: Apache TomEE is a lightweight, Java EE certified application server based on Tomcat and other Apache software. It offers features like JPA, EJB, JMS, and CDI for building enterprise applications. TomEE is designed to be simple, lightweight, and easy to use, while still providing the necessary Java EE capabilities. Pros: Java EE certified, lightweight, easy to use. Cons: Limited support for advanced enterprise features compared to full-fledged application servers.

Top Alternatives to JBoss

  • Apache Tomcat
    Apache Tomcat

    Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. ...

  • Wildfly
    Wildfly

    It is a flexible, lightweight, managed application runtime that helps you build amazing applications. It supports the latest standards for web development. ...

  • GlassFish
    GlassFish

    An Application Server means, It can manage Java EE applications You should use GlassFish for Java EE enterprise applications. The need for a seperate Web server is mostly needed in a production environment. ...

  • Websphere
    Websphere

    It is a highly scalable, secure and reliable Java EE runtime environment designed to host applications and microservices for any size organization. It supports the Java EE, Jakarta EE and MicroProfile standards-based programming models. ...

  • Spring Boot
    Spring Boot

    Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. ...

  • Jetty
    Jetty

    Jetty is used in a wide variety of projects and products, both in development and production. Jetty can be easily embedded in devices, tools, frameworks, application servers, and clusters. See the Jetty Powered page for more uses of Jetty. ...

  • Docker
    Docker

    The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere ...

  • Spring
    Spring

    A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. ...

JBoss alternatives & related posts

Apache Tomcat logo

Apache Tomcat

16.3K
12.2K
201
An open source software implementation of the Java Servlet and JavaServer Pages technologies
16.3K
12.2K
+ 1
201
PROS OF APACHE TOMCAT
  • 79
    Easy
  • 72
    Java
  • 49
    Popular
  • 1
    Spring web
CONS OF APACHE TOMCAT
  • 2
    Blocking - each http request block a thread
  • 1
    Easy to set up

related Apache Tomcat posts

Остап Комплікевич

I need some advice to choose an engine for generation web pages from the Spring Boot app. Which technology is the best solution today? 1) JSP + JSTL 2) Apache FreeMarker 3) Thymeleaf Or you can suggest even other perspective tools. I am using Spring Boot, Spring Web, Spring Data, Spring Security, PostgreSQL, Apache Tomcat in my project. I have already tried to generate pages using jsp, jstl, and it went well. However, I had huge problems via carrying already created static pages, to jsp format, because of syntax. Thanks.

See more

Java Spring JUnit

Apache HTTP Server Apache Tomcat

MySQL

See more
Wildfly logo

Wildfly

184
224
6
A Java EE8 Application Server
184
224
+ 1
6
PROS OF WILDFLY
  • 3
    Eclipse integration
  • 3
    Java
CONS OF WILDFLY
    Be the first to leave a con

    related Wildfly posts

    GlassFish logo

    GlassFish

    302
    111
    0
    The Open Source Java EE Reference Implementation
    302
    111
    + 1
    0
    PROS OF GLASSFISH
      Be the first to leave a pro
      CONS OF GLASSFISH
        Be the first to leave a con

        related GlassFish posts

        Websphere logo

        Websphere

        98
        92
        0
        Application and integration middleware
        98
        92
        + 1
        0
        PROS OF WEBSPHERE
          Be the first to leave a pro
          CONS OF WEBSPHERE
            Be the first to leave a con

            related Websphere posts

            Spring Boot logo

            Spring Boot

            25.3K
            23K
            1K
            Create Spring-powered, production-grade applications and services with absolute minimum fuss
            25.3K
            23K
            + 1
            1K
            PROS OF SPRING BOOT
            • 149
              Powerful and handy
            • 134
              Easy setup
            • 128
              Java
            • 90
              Spring
            • 85
              Fast
            • 46
              Extensible
            • 37
              Lots of "off the shelf" functionalities
            • 32
              Cloud Solid
            • 26
              Caches well
            • 24
              Productive
            • 24
              Many receipes around for obscure features
            • 23
              Modular
            • 23
              Integrations with most other Java frameworks
            • 22
              Spring ecosystem is great
            • 21
              Auto-configuration
            • 21
              Fast Performance With Microservices
            • 18
              Community
            • 17
              Easy setup, Community Support, Solid for ERP apps
            • 15
              One-stop shop
            • 14
              Easy to parallelize
            • 14
              Cross-platform
            • 13
              Easy setup, good for build erp systems, well documented
            • 13
              Powerful 3rd party libraries and frameworks
            • 12
              Easy setup, Git Integration
            • 5
              It's so easier to start a project on spring
            • 4
              Kotlin
            • 1
              Microservice and Reactive Programming
            • 1
              The ability to integrate with the open source ecosystem
            CONS OF SPRING BOOT
            • 23
              Heavy weight
            • 18
              Annotation ceremony
            • 13
              Java
            • 11
              Many config files needed
            • 5
              Reactive
            • 4
              Excellent tools for cloud hosting, since 5.x
            • 1
              Java 😒😒

            related Spring Boot posts

            Praveen Mooli
            Engineering Manager at Taylor and Francis · | 18 upvotes · 3.8M views

            We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

            To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

            To build #Webapps we decided to use Angular 2 with RxJS

            #Devops - GitHub , Travis CI , Terraform , Docker , Serverless

            See more

            Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

            Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

            See more
            Jetty logo

            Jetty

            464
            308
            43
            An open-source project providing an HTTP server, HTTP client, and javax.servlet container
            464
            308
            + 1
            43
            PROS OF JETTY
            • 14
              Lightweight
            • 10
              Very fast
            • 9
              Embeddable
            • 5
              Scalable
            • 5
              Very thin
            CONS OF JETTY
            • 0
              Student

            related Jetty posts

            Docker logo

            Docker

            170K
            136.7K
            3.9K
            Enterprise Container Platform for High-Velocity Innovation.
            170K
            136.7K
            + 1
            3.9K
            PROS OF DOCKER
            • 823
              Rapid integration and build up
            • 691
              Isolation
            • 521
              Open source
            • 505
              Testa­bil­i­ty and re­pro­ducibil­i­ty
            • 460
              Lightweight
            • 218
              Standardization
            • 185
              Scalable
            • 106
              Upgrading / down­grad­ing / ap­pli­ca­tion versions
            • 88
              Security
            • 85
              Private paas environments
            • 34
              Portability
            • 26
              Limit resource usage
            • 17
              Game changer
            • 16
              I love the way docker has changed virtualization
            • 14
              Fast
            • 12
              Concurrency
            • 8
              Docker's Compose tools
            • 6
              Easy setup
            • 6
              Fast and Portable
            • 5
              Because its fun
            • 4
              Makes shipping to production very simple
            • 3
              Highly useful
            • 3
              It's dope
            • 2
              Very easy to setup integrate and build
            • 2
              HIgh Throughput
            • 2
              Package the environment with the application
            • 2
              Does a nice job hogging memory
            • 2
              Open source and highly configurable
            • 2
              Simplicity, isolation, resource effective
            • 2
              MacOS support FAKE
            • 2
              Its cool
            • 2
              Docker hub for the FTW
            • 2
              Super
            • 0
              Asdfd
            CONS OF DOCKER
            • 8
              New versions == broken features
            • 6
              Unreliable networking
            • 6
              Documentation not always in sync
            • 4
              Moves quickly
            • 3
              Not Secure

            related Docker posts

            Simon Reymann
            Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 9M views

            Our whole DevOps stack consists of the following tools:

            • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
            • Respectively Git as revision control system
            • SourceTree as Git GUI
            • Visual Studio Code as IDE
            • CircleCI for continuous integration (automatize development process)
            • Prettier / TSLint / ESLint as code linter
            • SonarQube as quality gate
            • Docker as container management (incl. Docker Compose for multi-container application management)
            • VirtualBox for operating system simulation tests
            • Kubernetes as cluster management for docker containers
            • Heroku for deploying in test environments
            • nginx as web server (preferably used as facade server in production environment)
            • SSLMate (using OpenSSL) for certificate management
            • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
            • PostgreSQL as preferred database system
            • Redis as preferred in-memory database/store (great for caching)

            The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

            • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
            • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
            • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
            • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
            • Scalability: All-in-one framework for distributed systems.
            • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
            See more
            Tymoteusz Paul
            Devops guy at X20X Development LTD · | 23 upvotes · 8M views

            Often enough I have to explain my way of going about setting up a CI/CD pipeline with multiple deployment platforms. Since I am a bit tired of yapping the same every single time, I've decided to write it up and share with the world this way, and send people to read it instead ;). I will explain it on "live-example" of how the Rome got built, basing that current methodology exists only of readme.md and wishes of good luck (as it usually is ;)).

            It always starts with an app, whatever it may be and reading the readmes available while Vagrant and VirtualBox is installing and updating. Following that is the first hurdle to go over - convert all the instruction/scripts into Ansible playbook(s), and only stopping when doing a clear vagrant up or vagrant reload we will have a fully working environment. As our Vagrant environment is now functional, it's time to break it! This is the moment to look for how things can be done better (too rigid/too lose versioning? Sloppy environment setup?) and replace them with the right way to do stuff, one that won't bite us in the backside. This is the point, and the best opportunity, to upcycle the existing way of doing dev environment to produce a proper, production-grade product.

            I should probably digress here for a moment and explain why. I firmly believe that the way you deploy production is the same way you should deploy develop, shy of few debugging-friendly setting. This way you avoid the discrepancy between how production work vs how development works, which almost always causes major pains in the back of the neck, and with use of proper tools should mean no more work for the developers. That's why we start with Vagrant as developer boxes should be as easy as vagrant up, but the meat of our product lies in Ansible which will do meat of the work and can be applied to almost anything: AWS, bare metal, docker, LXC, in open net, behind vpn - you name it.

            We must also give proper consideration to monitoring and logging hoovering at this point. My generic answer here is to grab Elasticsearch, Kibana, and Logstash. While for different use cases there may be better solutions, this one is well battle-tested, performs reasonably and is very easy to scale both vertically (within some limits) and horizontally. Logstash rules are easy to write and are well supported in maintenance through Ansible, which as I've mentioned earlier, are at the very core of things, and creating triggers/reports and alerts based on Elastic and Kibana is generally a breeze, including some quite complex aggregations.

            If we are happy with the state of the Ansible it's time to move on and put all those roles and playbooks to work. Namely, we need something to manage our CI/CD pipelines. For me, the choice is obvious: TeamCity. It's modern, robust and unlike most of the light-weight alternatives, it's transparent. What I mean by that is that it doesn't tell you how to do things, doesn't limit your ways to deploy, or test, or package for that matter. Instead, it provides a developer-friendly and rich playground for your pipelines. You can do most the same with Jenkins, but it has a quite dated look and feel to it, while also missing some key functionality that must be brought in via plugins (like quality REST API which comes built-in with TeamCity). It also comes with all the common-handy plugins like Slack or Apache Maven integration.

            The exact flow between CI and CD varies too greatly from one application to another to describe, so I will outline a few rules that guide me in it: 1. Make build steps as small as possible. This way when something breaks, we know exactly where, without needing to dig and root around. 2. All security credentials besides development environment must be sources from individual Vault instances. Keys to those containers should exist only on the CI/CD box and accessible by a few people (the less the better). This is pretty self-explanatory, as anything besides dev may contain sensitive data and, at times, be public-facing. Because of that appropriate security must be present. TeamCity shines in this department with excellent secrets-management. 3. Every part of the build chain shall consume and produce artifacts. If it creates nothing, it likely shouldn't be its own build. This way if any issue shows up with any environment or version, all developer has to do it is grab appropriate artifacts to reproduce the issue locally. 4. Deployment builds should be directly tied to specific Git branches/tags. This enables much easier tracking of what caused an issue, including automated identifying and tagging the author (nothing like automated regression testing!).

            Speaking of deployments, I generally try to keep it simple but also with a close eye on the wallet. Because of that, I am more than happy with AWS or another cloud provider, but also constantly peeking at the loads and do we get the value of what we are paying for. Often enough the pattern of use is not constantly erratic, but rather has a firm baseline which could be migrated away from the cloud and into bare metal boxes. That is another part where this approach strongly triumphs over the common Docker and CircleCI setup, where you are very much tied in to use cloud providers and getting out is expensive. Here to embrace bare-metal hosting all you need is a help of some container-based self-hosting software, my personal preference is with Proxmox and LXC. Following that all you must write are ansible scripts to manage hardware of Proxmox, similar way as you do for Amazon EC2 (ansible supports both greatly) and you are good to go. One does not exclude another, quite the opposite, as they can live in great synergy and cut your costs dramatically (the heavier your base load, the bigger the savings) while providing production-grade resiliency.

            See more
            Spring logo

            Spring

            3.9K
            4.7K
            1.1K
            Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
            3.9K
            4.7K
            + 1
            1.1K
            PROS OF SPRING
            • 230
              Java
            • 157
              Open source
            • 136
              Great community
            • 123
              Very powerful
            • 114
              Enterprise
            • 64
              Lot of great subprojects
            • 60
              Easy setup
            • 44
              Convention , configuration, done
            • 40
              Standard
            • 31
              Love the logic
            • 13
              Good documentation
            • 11
              Dependency injection
            • 11
              Stability
            • 9
              MVC
            • 6
              Easy
            • 3
              Makes the hard stuff fun & the easy stuff automatic
            • 3
              Strong typing
            • 2
              Code maintenance
            • 2
              Best practices
            • 2
              Maven
            • 2
              Great Desgin
            • 2
              Easy Integration with Spring Security
            • 2
              Integrations with most other Java frameworks
            • 1
              Java has more support and more libraries
            • 1
              Supports vast databases
            • 1
              Large ecosystem with seamless integration
            • 1
              OracleDb integration
            • 1
              Live project
            CONS OF SPRING
            • 15
              Draws you into its own ecosystem and bloat
            • 3
              Verbose configuration
            • 3
              Poor documentation
            • 3
              Java
            • 2
              Java is more verbose language in compare to python

            related Spring posts

            Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

            Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

            See more

            I am consulting for a company that wants to move its current CubeCart e-commerce site to another PHP based platform like PrestaShop or Magento. I was interested in alternatives that utilize Node.js as the primary platform. I currently don't know PHP, but I have done full stack dev with Java, Spring, Thymeleaf, etc.. I am just unsure that learning a set of technologies not commonly used makes sense. For example, in PrestaShop, I would need to work with JavaScript better and learn PHP, Twig, and Bootstrap. It seems more cumbersome than a Node JS system, where the language syntax stays the same for the full stack. I am looking for thoughts and advice on the relevance of PHP skillset into the future AND whether the Node based e-commerce open source options can compete with Magento or Prestashop.

            See more