JBoss Introduction
From Initq
Java programming environment is broken down in three categories.
- J2ME
- stands for Java 2 micro edition for applications which run on resource constrained devices (small scale devices) like cell phones, for example games.
- J2SE
- stands for Java 2 standard edition and is normally for developing desktop applications, forms the core/base API.
An application programming interface (API) is a set of routines, data structures, object classes and/or protocols provided by libraries and/or operating system services in order to support the building of applications.
J2SE programmers have mastered daunting but robust GUI frameworks such as AWT (Abstract Window Toolkit), Swing, SWT (Standard Window Toolkit) for rich desktop applications development.
- J2EE
- stands for Java 2 enterprise edition for applications which run on servers, for example web sites.
An application server written in Java that can host business components developed in Java. Essentially, JBoss is an open source implementation of J2EE that relies on the Enterprise JavaBeans specification for functionality.
J2EE experts specialize in web-related technologies -- JSP (Java Server Page), Servlets (Java code that runs on the server application), and the diverse landscape of web frameworks such as Jakarta Struts or Sun's Java Server Faces.
Other programmers are back-end specialists that focus more on the transactional integrity and reliability of business processing that uses technologies such as EJBs, JMS and relational databases.
EJBs Enterprise JavaBeans. An EJB is essentially a managed component that is created, controlled, and destroyed by the J2EE container in which it lives. This control allows the container to control the number of EJBs currently in existence and the resources they are using, such as memory and database connections. Each container will maintain a pool of EJB instances that are ready to be assigned to a client. When a client no longer needs an EJB, the EJB instance will be returned to the pool and all of its resources will be released. At times of heavy load, even EJB instances that are still in use by clients will be returned to the pool so they can service other clients. When the original client makes another request of its EJB, the container will reconstitute the original EJB instance to service the request. This pooling and recycling of EJB instances means that a few EJB instances, and the resources they use, can be shared between many clients. This maximizes the scalability of the EJB-based application.
JMS. The Java Message Service (JMS) API is an API for accessing enterprise messaging systems. It is part of the Java 2 Platform, Enterprise Edition (J2EE).
The Java Message Service makes it easy to write business applications that asynchronously send and receive critical business data and events.
The Java Message Service defines a common enterprise messaging API that is designed to be easily and efficiently supported by a wide range of enterprise messaging products.
JBoss is an application server program for use with Java 2 Platform, Enterprise Edition ( J2EE ) and Enterprise Java Beans ( EJB ). JBoss is similar to proprietary programs such as BEA WebLogic and IBM WebSphere .
JBoss is freely available under the GNU Lesser General Public License ( LGPL ). A corporation known as the JBoss Group, based in Atlanta, Georgia, provides support for JBoss. The JBoss Group fixes bugs in the JBoss program free of charge, but bills for custom features and consulting services.
J2EE allows the use of standardized modular components and enables the Java platform to handle many aspects of programming automatically. EJB is built on the JavaBeans technology and facilitates changes at the server, eliminating the need to update each computer when a new program component is changed or added.
JBoss is an open source project, sponsored by Red Hat, aimed at building a Java-based middleware application server. An application server is a software engine that delivers applications to client computers or devices. The main benefit of an application server is the ease of application development, since applications need not be built from scratch, but are assembled from building blocks provided by the application server. Middleware is a piece of software that connects two or more software applications so that they can exchange data.
As you well know, compiled Java code cannot run on its own--it must be run inside of a JVM. J2EE classes require an additional step: they must be run inside of a J2EE container (which in turn runs inside of a JVM). The container provides an infrastructure and a framework in which your code runs. It handles the mundane low-level "plumbing" aspects of the application, freeing you to focus on the higher-level business development. An application server is nothing more than a loosely coupled collection of containers (or "services") that correspond to the various parts of the J2EE API.
The beauty of the J2EE is that it is a specification, not an implementation. In other words, Sun provides the technical guidelines for how each service should behave, but leaves it open for anyone to write a server that can host a J2EE application. This gives you, the developer, a wide variety of choices when it comes to selecting an application server. While the details of how to deploy a J2EE application may vary from server to server, you can rest assured that your compiled code will behave the same way regardless of the application server it is running in.
JBoss is an open source J2EE application server. It is J2EE 1.4 spec-compliant, which means that it offers the same level of functionality as its more expensive commercial counterparts. What this means to you is that the lessons learned here will be largely useful, regardless of the application server you are currently using. The most important thing to keep in mind is that cost does not equal value or reliability. The open source Apache web server runs more than two-thirds of all web sites today. JBoss isn't quite at that level of pervasiveness, but it shouldn't be ignored when considering enterprise-quality application servers just because it is free.
J2EE Short for Java 2 Platform Enterprise Edition. J2EE is a platform-independent, Java-centric environment from Sun for developing, building and deploying Web-based enterprise applications online. The J2EE platform consists of a set of services, APIs, and protocols that provide the functionality for developing multitiered, Web-based applications.
Some of the key features and services of J2EE:
- At the client tier, J2EE supports pure HTML, as well as Java applets or applications. It relies on Java Server Pages and servlet code to create HTML or other formatted data for the client.
- Enterprise JavaBeans (EJBs) provide another layer where the platform's logic is stored. An EJB server provides functions such as threading, concurrency, security and memory management. These services are transparent to the author.
- Java Database Connectivity (JDBC), which is the Java equivalent to ODBC, is the standard interface for Java databases.
- The Java servlet API enhances consistency for developers without requiring a graphical user interface.
EJB Enterprise JavaBeans (EJB) is a Java API developed by Sun Microsystems that defines a component architecture for multi-tier client/server systems.
EJB systems allow developers to focus on the actual business architecture of the model, rather than worry about endless amounts of programming and coding needed to connect all the working parts. This task is left to EJB server vendors. Developers just design (or purchase) the needed EJB components and arrange them on the server.
Because EJB systems are written in Java, they are platform independent. Being object oriented, they can be implemented into existed systems with little or no recompiling and configuring.
JDBC.Short for Java Database Connectivity, a Java API that enables Java programs to execute SQL statements. This allows Java programs to interact with any SQL-compliant database. Since nearly all relational database management systems (DBMSs) support SQL, and because Java itself runs on most platforms, JDBC makes it possible to write a single database application that can run on different platforms and interact with different DBMSs.
JDBC is similar to ODBC, but is designed specifically for Java programs, whereas ODBC is language-independent.
JDBC was developed by JavaSoft, a subsidiary of Sun Microsystems.
Hibernate. Hibernate is a free, open source Java package that makes it easy to work with relational databases. Hibernate makes it seem as if your database contains plain Java objects like you use every day, without having to worry about how to get them out of (or back into) mysterious database tables. It liberates you to focus on the objects and features of your application, without having to worry about how to store them or find them later.
