JBoss Application Server (or
JBoss AS) is a free software/open-source Java EE-based application server. An
important distinction for this class of software is that it not only implements
a server that runs on Java, but it actually implements the Java EE part of
Java. Because it is Java-based, the JBoss application server operates
cross-platform: usable on any operating system that supports Java. JBoss AS was
developed by JBoss, now a division of Red Hat.
Why Java based application server
?
A Java application server
standardizes the application development architecture. It does this by defining
several component models—standards that developers can use to develop
components. These components can be deployed into an application server
using a standard deployment model. When the components are running in the
server, the server provides a set of services that are made available to the
components. The application component models include standards such as
Enterprise Java-Beans (EJBs), Java Server Pages (JSP), and servlets. Some
examples of Java EE services that are available to these components include
remoting, security, transaction management, persistence, messaging, resource
pooling, concurrency control, naming and directory services, and deployment.
Application Server - What does it
mean ?
An application server is a place
to run your Java code. Without an application server, you’d write your
application code and start your application using a main method. Somewhere in
your application you’d need to start all the various services that you might
need to access for example, a database connection pool; a transaction manager;
clustering services; security services, etc... With an application server,
you write your application code using a standard component model, package it
into a standard archive format, and then deploy the archive into the
application server, which starts your application and all services that
your application needs to access. Because you’re working within a
standardized framework,the services are typically made available to your code
transparently. You only have to provide metadata—in the form of annotations or
Extensible Markup Language (XML)—to hook the services into your components; no
code is typically necessary. Programming with the Java EE standard and
using an application server can dastically reduce the amount of integration
code and configuration that you’d otherwise need. In addition, it often
prevents you from having to write application services from scratch.
JBoss AS is the core product in
Red Hat’s suite of Java middleware products that they collectively call the
JBoss Enterprise Middleware Suite (JEMS). All the other JEMS products
integrate with the JBoss AS, and many of them can also run outside of the
application server in Java SE applications.
Technologies in JEMS
JBoss Microcontainer: The
configuration framework used to wire together JBoss AS services.
The microcontainer can also be used as a general purpose dependency
injection framework.
Hibernate: An
Object-Relational Mapping (ORM) tool used to implement the persistence portion
of the EJB3 specification.
JBoss SX: A
role-based declarative security service used by many JBoss AS services.
JBoss Web Server: A
fast, native Web server that also enables usage of web technologies such as
servlet, JSP , and JavaServer
Faces (JSF).
EJB Server: An
implementation of the EJB3 specification.
JBoss Messaging: A
JSR-914–compliant Java Messaging Service (JMS) messaging server.
JBoss Portal: A
JSR-168–compliant portal server.
JBoss Clustering: A
self-forming clustering framework.
JBoss Cache: A
transactional, distributed, in-memory cache used by many JBoss AS services.
JBoss Transactions: A
distributed transaction technology supporting Java EE, Common
Object Request Broker Architecture (CORBA), and Web Services standards
(formerly Arjuna Transaction Service Suite). The JBoss Transactions
service is used by many JBoss AS services.
JBoss Rules: A
JSR-94–compliant rules engine (formerly Drools).
jBPM: A
full-featured business process management (workflow) engine.
Developer Studio: A set of
plug-ins that extends the Eclipse development platform to enable
web application development.
Seam: An
application integration framework that can reduce boilerplate code used to
write many web applications. This framework is the underpinning of the proposed
WebBeans Java specification (JSR 299).
JBoss AOP: An aspect-oriented-programming framework.

