Jboss


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.