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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 TomcatApache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. ...
WildflyIt is a flexible, lightweight, managed application runtime that helps you build amazing applications. It supports the latest standards for web development. ...
GlassFishAn 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. ...
WebsphereIt 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 BootSpring 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. ...
JettyJetty 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. ...
DockerThe 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 ...
SpringA 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
- Easy79
- Java72
- Popular49
- Spring web1
- Blocking - each http request block a thread3
- Easy to set up2
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.
- Eclipse integration3
- Java3
related Wildfly posts
related GlassFish posts
related Websphere posts
Spring Boot
- Powerful and handy149
- Easy setup134
- Java128
- Spring90
- Fast85
- Extensible46
- Lots of "off the shelf" functionalities37
- Cloud Solid32
- Caches well26
- Productive24
- Many receipes around for obscure features24
- Modular23
- Integrations with most other Java frameworks23
- Spring ecosystem is great22
- Auto-configuration21
- Fast Performance With Microservices21
- Community18
- Easy setup, Community Support, Solid for ERP apps17
- One-stop shop15
- Easy to parallelize14
- Cross-platform14
- Easy setup, good for build erp systems, well documented13
- Powerful 3rd party libraries and frameworks13
- Easy setup, Git Integration12
- It's so easier to start a project on spring5
- Kotlin4
- Microservice and Reactive Programming1
- The ability to integrate with the open source ecosystem1
- Heavy weight23
- Annotation ceremony18
- Java13
- Many config files needed11
- Reactive5
- Excellent tools for cloud hosting, since 5.x4
- Java 😒😒1
- Still difficult1
related Spring Boot posts
I've been studying Java for approximately six months now, and I'm considering delving into Spring Boot. Recently, I've been contemplating learning a secondary language for leisure, allocating about 20% of my study time to it. I'm particularly keen on a technology that is widely used. Consequently, I opted for Python since I'm not overly interested in client-side aspects. The decision to concurrently learn another technology stems from the limited availability of Java resources, especially at the junior level where more diverse small projects could enhance my understanding of backend development. What are your thoughts on this approach to diversifying technologies? Does it seem sensible, or would it be more beneficial for me to allocate 100% of my time to Java?
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
Jetty
- Lightweight15
- Embeddable10
- Very fast10
- Very thin6
- Scalable6
- Student0
related Jetty posts
- Rapid integration and build up823
- Isolation692
- Open source521
- Testability and reproducibility505
- Lightweight460
- Standardization218
- Scalable185
- Upgrading / downgrading / application versions106
- Security88
- Private paas environments85
- Portability34
- Limit resource usage26
- Game changer17
- I love the way docker has changed virtualization16
- Fast14
- Concurrency12
- Docker's Compose tools8
- Easy setup6
- Fast and Portable6
- Because its fun5
- Makes shipping to production very simple4
- Highly useful3
- It's dope3
- Package the environment with the application2
- Super2
- Open source and highly configurable2
- Simplicity, isolation, resource effective2
- MacOS support FAKE2
- Its cool2
- Does a nice job hogging memory2
- Docker hub for the FTW2
- HIgh Throughput2
- Very easy to setup integrate and build2
- Asdfd0
- New versions == broken features8
- Unreliable networking6
- Documentation not always in sync6
- Moves quickly4
- Not Secure3
related Docker posts
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.
I have got a small radio service running on Node.js. Front end is written with React and packed with Webpack . I use Docker for my #DeploymentWorkflow along with Docker Swarm and GitLab CI on a single Google Compute Engine instance, which is also a runner itself. Pretty unscalable decision but it works great for tiny projects. The project is available on https://fridgefm.com
Spring
- Java230
- Open source157
- Great community136
- Very powerful123
- Enterprise114
- Lot of great subprojects64
- Easy setup60
- Convention , configuration, done44
- Standard40
- Love the logic31
- Good documentation13
- Dependency injection11
- Stability11
- MVC9
- Easy6
- Makes the hard stuff fun & the easy stuff automatic3
- Strong typing3
- Code maintenance2
- Best practices2
- Maven2
- Great Desgin2
- Easy Integration with Spring Security2
- Integrations with most other Java frameworks2
- Java has more support and more libraries1
- Supports vast databases1
- Large ecosystem with seamless integration1
- OracleDb integration1
- Live project1
- Draws you into its own ecosystem and bloat15
- Poor documentation4
- Verbose configuration3
- Java3
- Java is more verbose language in compare to python2
- Very difficult1
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.
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.



























