JBoss
Encyclopedia
JBoss Application Server (or JBoss AS) is an 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
.
asked the project to stop using the EJB trademark within its name. EJB-OSS was then renamed to JBOSS, then JBoss later.
5.5 servlet container. It supports any Java Virtual Machine
(JVM) between versions 1.4 and 1.6. JBoss can run on numerous operating system
s including many POSIX
platforms (like GNU/Linux, FreeBSD
and Mac OS X
), Microsoft Windows
and others, as long as a suitable JVM is present. JBoss AS 4.2 also functions as a Java EE 1.4 application server, but deploys Enterprise JavaBean
s 3.0 by default. It requires the Java Development Kit
version 5. Tomcat 5.5 comes bundled with it.
JBoss AS 5.1, released in 2009, operates as a Java EE 5 application server. It is a minor update of the major release JBoss AS 5.0, which was in development for at least three years and was built on top of a new JBoss microcontainen in startup time. JBoss AS 5.1 contains a preview of some elements from the Java EE 6 specification.
JBoss AS 6.0, an unofficial implementation of Java EE 6, was released on December 28, 2010. Although JBoss AS 6 supports almost all the technologies required by the full Java EE 6 spec, it chose not to pursue certification from Oracle. It is, however, officially certified to support the Java EE 6 Web Profile.
JBoss AS 7, the current stable version, was released on July 12, 2011, only six months after the last major release, JBoss AS 6. Unlike previous increments of the major versioning number, JBoss AS 7 supports the same Java EE specification as the last major release, namely Java EE 6. The Java EE profile is only partially implemented in JBoss AS 7, e.g. it includes MDBs, but listening to JMS destinations (which is mandated by the full spec) is not supported. It is, however, certified for the Web Profile. The software code has been completely rewritten for JBoss AS 7. Major changes visible to the user are the inability to define resources like JMS destinations and datasources inside archives (war/ear), the way datasources are defined, a much smaller size (less than half of JBoss AS 6) and a 10-fold reduction in startup time.
Other Java EE application servers:
stscript =
}}
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...
Java EE
Java Platform, Enterprise Edition
Java Platform, Enterprise Edition or Java EE is widely used platform for server programming in the Java programming language. The Java platform differs from the Java Standard Edition Platform in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier...
-based application server
Application server
An application server is a software framework that provides an environment in which applications can run, no matter what the applications are or what they do...
. 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
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
-based, the JBoss application server operates cross-platform: usable on any operating system that supports Java. JBoss AS was developed by JBoss
JBoss (company)
JBoss is a division of Red Hat, Inc.. It specializes in open-source middleware software.The company profits from a service-based business model. JBoss employ a Professional Open Source business model where the core developers of projects make a living and offer their services...
, now a division of Red Hat
Red Hat
Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
.
Origin
In 1999, Marc Fleury started a free software project named EJB-OSS (stands for Entreprise Java Bean Open Source Software) implementing the EJB API from J2EE (Java 2 Enterprise Edition). Sun MicrosystemsSun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
asked the project to stop using the EJB trademark within its name. EJB-OSS was then renamed to JBOSS, then JBoss later.
Versions
JBoss AS 4.0, a Java EE 1.4 application server, features an embedded Apache TomcatApache Tomcat
Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...
5.5 servlet container. It supports any Java Virtual Machine
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
(JVM) between versions 1.4 and 1.6. JBoss can run on numerous operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s including many POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
platforms (like GNU/Linux, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
), Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and others, as long as a suitable JVM is present. JBoss AS 4.2 also functions as a Java EE 1.4 application server, but deploys Enterprise JavaBean
Enterprise JavaBean
Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...
s 3.0 by default. It requires the Java Development Kit
Java Development Kit
The Java Development Kit is an Oracle Corporation product aimed at Java developers. Since the introduction of Java, it has been by far the most widely used Java SDK. On 17 November 2006, Sun announced that it would be released under the GNU General Public License , thus making it free software...
version 5. Tomcat 5.5 comes bundled with it.
JBoss AS 5.1, released in 2009, operates as a Java EE 5 application server. It is a minor update of the major release JBoss AS 5.0, which was in development for at least three years and was built on top of a new JBoss microcontainen in startup time. JBoss AS 5.1 contains a preview of some elements from the Java EE 6 specification.
JBoss AS 6.0, an unofficial implementation of Java EE 6, was released on December 28, 2010. Although JBoss AS 6 supports almost all the technologies required by the full Java EE 6 spec, it chose not to pursue certification from Oracle. It is, however, officially certified to support the Java EE 6 Web Profile.
JBoss AS 7, the current stable version, was released on July 12, 2011, only six months after the last major release, JBoss AS 6. Unlike previous increments of the major versioning number, JBoss AS 7 supports the same Java EE specification as the last major release, namely Java EE 6. The Java EE profile is only partially implemented in JBoss AS 7, e.g. it includes MDBs, but listening to JMS destinations (which is mandated by the full spec) is not supported. It is, however, certified for the Web Profile. The software code has been completely rewritten for JBoss AS 7. Major changes visible to the user are the inability to define resources like JMS destinations and datasources inside archives (war/ear), the way datasources are defined, a much smaller size (less than half of JBoss AS 6) and a 10-fold reduction in startup time.
Product features
- Aspect-oriented programmingAspect-oriented programmingIn computing, aspect-oriented programming is a programming paradigm which aims to increase modularity by allowing the separation of cross-cutting concerns...
(AOP) support - Clustering
- Deployment API
- Distributed cachingCacheIn computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...
(using JBoss Cache, a standalone product) - DistributedDistributed computingDistributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
deployment (farming) - Enterprise JavaBeans versions 3 and 2.1
- FailoverFailoverIn computing, failover is automatic switching to a redundant or standby computer server, system, or network upon the failure or abnormal termination of the previously active application, server, system, or network...
(including sessions) - HibernateHibernate (Java)Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...
integration (for persistence programming; Java Persistence APIJava Persistence APIThe Java Persistence API, sometimes referred to as JPA, is a Java programming language framework managing relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition....
or JPA) - Java Authentication and Authorization ServiceJava Authentication and Authorization ServiceJava Authentication and Authorization Service, or JAAS, pronounced "Jazz", is a Java security framework for user-centric security to augment the Java code-based security...
(JAAS) - Java EE Connector ArchitectureJava EE Connector ArchitectureJava EE Connector Architecture is a Java-based technology solution for connecting application servers and enterprise information systems as part of enterprise application integration solutions. While JDBC is specifically used to connect Java EE applications to databases, JCA is a more generic...
(JCA) integration - Java Management ExtensionsJava Management ExtensionsJava Management Extensions is a Java technology that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks. Those resources are represented by objects called MBeans...
- Java Server Pages (JSP) / Java ServletJava ServletA servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...
2.1/2.5 (TomcatApache TomcatApache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...
) - JBossWS (JBoss Web Services) for Java EE web services like JAX-WS
- JDBC
- Load balancingLoad balancing (computing)Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid...
- Management API
- OSGiOSGiThe Open Services Gateway initiative framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments...
framework - RMI-IIOPRMI-IIOPRMI-IIOP denotes the Java Remote Method Invocation interface over the Internet Inter-Orb Protocol , which delivers Common Object Request Broker Architecture distributed computing capabilities to the Java 2 platform...
(JacORBJacOrbJacORB is an open-source Java implementation of the Object Management Group's CORBA standard. The name JacORB is a contraction of the words Java and CORBA....
, contraction of Java and CORBA) - SOAP with Attachments API for Java (SAAJ)
- Teiid data virtualization system
Licensing and pricing
JBoss itself is open source, but Red Hat charges to provide a support service.- JMS integration
- Java Naming and Directory InterfaceJava Naming and Directory InterfaceThe Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation...
(JNDI) - Java Transaction APIJava Transaction APIThe Java Transaction API is one of the Java Enterprise Edition APIs allowing distributed transactions to be done across multiple XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907...
(JTA) - Java Authorization Contract for ContainersJava EE version historyThe Java Platform, Enterprise Edition or Java EE has undergone several changes since 1.0 as well as numerous additions of new specifications.- J2EE 1.2 :The specification ....
(JACC) integration - JavaMailJavamailJavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....
- JavaServer FacesJavaServer FacesJavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces....
1.2 (Mojarra) - Jport subscription for JBoss Enterprise Middleware. Before November 2010 JBoss was licensed as annual subscription in bundles of 4 and 32 CPU sockets. As of November 2010 the licensing changed and all cores on the system are now counted. The core bundles licensing is available for 16 and 64 cores.
See also
- Comparison of application serversComparison of application serversProprietary application servers provide system services in a well-defined but proprietary manner. The application developers develop programs according to the specification of the application server...
, a list of software frameworks used to support the development and implementation of applications - JBoss Enterprise Application PlatformJBoss Enterprise Application PlatformThe JBoss Enterprise Application Platform is a subscription-based/open-source Java EE-based application server runtime platform used for building, deploying, and hosting highly-transactional Java applications and services. The JBoss Enterprise Application Platform is part of the JBoss Enterprise...
(EAP) - List of JBoss software, other JBoss software
Other Java EE application servers:
- Apache Geronimo
- Comparison of application servers for Java EE
- IBM WebSphere Application Server
- JOnAS application serverJOnASJOnAS is an open-source implementation of the Java EE application server specification, developed and hosted by the ObjectWeb consortium ....
- Oracle WebLogic ServerOracle Weblogic ServerOwned by Oracle Corporation, Oracle WebLogic consists of a Java EE platform product-family that includes:* a Java EE application server, WebLogic Application Server* an enterprise portal, WebLogic Portal* an Enterprise Application Integration platform...
External links
- JBoss application server website
- JBoss Community Projects
- Java Application Server Guide (Mac OS X Developer Library)
- JBoss Introduction by Javid Jamae
- JBoss Technical Articles
- JBoss Wiki
- Securing JBoss
stscript =
}}