For whatever reason, the jBoss FAQ hasn't been updated in a long time.  I have been 
trying to add to it, so I figure I will post it here in case anyone wants to make 
corrections or improvements.  I know that some things definitely need examples...

- jeremiah

--- faq.htm (converted to text) ---

  {o}*Frequently Asked Questions for jBoss*{o}*FAQ Content, Project Lead: Kunle 
Odutola*

jBoss is an Open Source, standards-compliant, Enterprise JavaBeans Application Server 
implemented in 100% Pure Java. The jBoss community is working to deliver jBoss as 
_the_ premier Enterprise Java application server for the Java 2 Enterprise Edition 
platform. jBoss will be delivered under the GPL licence.

After an initial section of this document itself, the rest of the information in this 
FAQ has been logically divided into three sections. Each section is to a particular 
functional roles - Bean Developer, Server Administrator and Container Developer - in 
relation to jBoss. A fourth section is a catchall for general information.

  
    *   FAQ Info and Credits
        *   Who is responsible for this FAQ ?
        *   How do I get the latest version of this FAQ ?
    *   General Questions
        *   What is Java 2 Enterprise Edition (J2EE) ?
        *   What are Enterprise JavaBeans (EJB) ?
        *   Are JavaBeans different from Enterprise JavaBeans ?
        *   What is a Java Application Server ?
        *   What does Deployment mean ?
        *   What is Transaction Management ?
        *   What is Bean / Container Managed Persistence ?
    *   jBoss Questions
        *   What is jBoss ?
        *   What is Project Game Over (PGOV) ?
        *   What is Project Go! (PGO) ?
        *   What are the benefits of jBoss ?
        *   Is jBoss in compliance with the current EJB spec ?
        *   What is the jBoss community ?
        *   How can I get a copy of jBoss ?
        *   How do I install jBoss ?
        *   Can I sell jBoss ?
        *   Can I include jBoss in my distribution ?
        *   Does jBoss support RMI/IIOP ?
        *   Does jBoss support SOAP ?
        *   How do I make the RMH samples work ?
        *   Are there any functional differences between jdk1.2 and jdk1.3 ?
        *   Any benchmark or performance metrics available?
        *   How do I get my client working from a remote machine ?
        *   EJX won't start, what's wrong ?
    *   Bean Developer Questions
        *   How can I run my EJB jar in jBoss ?
        *   Is a programmer guide available for jBoss ?
        *   When do I need to prefix a lookup with "java:comp/env" ?
        *   How do I access beans in a different jar ?
    *   Server Administrator Questions
        *   How is jBoss started ?
        *   How do I cleanly shutdown jBoss ?
        *   How can I set up jBoss as a service in Windows NT ?
        *   How do I configure jBoss to start when the server boots ?
        *   How do I configure security with jBoss ?
        *   What tasks must be completed to deploy an EJB using jBoss ?
        *   How do I undeploy an application ?
        *   Can I cluster multiple jBoss servers ?
        *   How do I configure [Database Type] with jBoss ?
        *   Is a DTD available for jaws.xml ?
        *   Is a DTD available for jboss.xml ?
    *   Container Developer Questions
        *   Where can I find technical specs for the jBoss server ?
        *   How can I contribute to jBoss ?
        *   What help exists to help me learn about the jBoss source ?
    *   FAQ Revision History  {o}{o}*FAQ Info and Credits*

Who is responsible for this FAQ ?

The first version of the jBoss FAQ was created by Kunle Odutola in March 2000. The 
current version of the FAQ is a rewrite by Jeremiah Johnson in August 2000. The style 
and presentation of this FAQ borrows from many numerous FAQs that the author has been 
exposed to. The FAQ is currently maintained on behalf of the jBoss community by Kunle 
Odutola. Most of the wisdom contained in the answers presented here however comes from 
the collective insights and diligence of the many others who inhabit the jBoss mailing 
list(s) and the EJB world-at-large. Particular mention goes to the following people 
from the jBoss mailing list:

  
    *   Rickard Oberg
    *   Marc Fleury
    *   Dan O'Connor
    *   Clint Dalton
    *   Stephan Schmidt
    *   Micheal Jordan
    *   Kunle Odutola

If you see your genius represented anywhere in this FAQ without due attribution to you 
and you would like it fixed, drop me a line and I'll put it in.

Back to FAQ Contents

 

Where can I get the latest version of this FAQ ?

  
    *   From the jBoss project's homepage. There is a link to a release version of 
this FAQ that in sync with the latest release of jBoss.
    *   From the jBoss binary distribution archives. These are downloadable from a 
link on www.jBoss.org and, they contain a copy of this FAQ that is appropriate to the 
version of jBoss in the archive.
    *   From the jBoss CVS repository. The version in CVS is often under development 
and is more appropriate for developers and seasoned jBoss pros. The other versions are 
derived from the CVS FAQ.

Back to FAQ Contents

 

                  {o}{o}*General Questions*

What is Java 2 Enterprise Edition (J2EE) ?

The Java 2 Platform Enterprise Edition (J2EE) is the platform for developing, 
deploying and managing n-tiered information systems using Java technologies. The 
platform encourages the development of enterprise systems with the ability to run 
_anywhere_ across a wide range of operating systems. J2EE extends the Java 2 Platform 
to cater for the server-side processing needs of the enterprise with key technologies 
including the following:

  
    *   Enterprise JavaBeans (EJB)
    *   Java Naming and Directory Interface (JNDI)
    *   JDBC data access API
    *   Java Servlets
    *   JavaServer Pages (JSP)
    *   Java Transaction API (JTA)
    *   Java Transaction Service (JTS)
    *   Java Messaging Service (JMS)
    *   Remote Method Invocation (RMI)
    *   CORBA

Further information about Java 2 Platform Enterprise Edition (J2EE) is available on 
the J2EE home page.

Back to FAQ Contents

 

What are Enterprise JavaBeans (EJB) ?

Enterprise JavaBeans (EJB) is a specification and architecture for the development and 
deployment of component-based, distributed business applications on the Java platform. 
It is a significant part of Java 2 Enterprise Edition (J2EE) - a unified architecture 
and platform for delivering the benefits of the Java platform to the server-based 
computing environment.

A business component that is developed for the Enterprise JavaBean architecture is 
also confusingly called an Enterprise JavaBean. These components may be written once, 
and then deployed on any server platform that supports the Enterprise JavaBeans 
specification. A key goal of the EJB architecture is to make the job of developing EJB 
components and the client applications that access them very simple indeed. Much of 
this is achieved by defining an architectural entity called a _container_ - an EJB 
container - that acts as a buffer between EJB components and their client as well as 
between EJB components and the very complex reality of developing scalable, 
distributed systems. An EJB container is itself contained within an _EJB server_.

Further information about Enterprise JavaBeans is available on the Enterprise 
JavaBeans home page.

Back to FAQ Contents

 

Are JavaBeans different from Enterprise JavaBeans ?

In short, yes, JavaBeans are different from Enterprise JavaBeans.  JavaBeans are 
design-time components providing features to IDEs for customization; whereas, EJBs are 
run-time components for deployment in an application server.  JavaBeans are basically 
just classes executed in the JVM, but EJBs are managed objects that are deployed 
within and application server.  JavaBeans may be driven by events, but EJBs are 
currently just driven by remote method calls.

Back to FAQ Contents

 

What is a Java Application Server ?

Unknown

Back to FAQ Contents

 

What does Deployment mean ?

Deployment is the act of preparing and sending the bean(s) to the application server 
to become available as application components.  In preparation for deployment, any 
resources that the bean provider has used in the code must be associated with real 
resources, transactional attirbutes may be specified, security attributes may be set, 
and any other container-specific settings will all be specified in deployment 
descriptors.  The compiled code and the deployment descriptors will all be jarred 
together into an application jar and then the jar will be placed in the necessary 
location for the application server to use.  The final act of deployment is the 
application server parsing the deployment descriptors, preparing the container 
environment, and then binding the bean names to the naming service to make them 
available for calls.

Back to FAQ Contents

 

What is Transaction Management ?

Read chapter 11 of the EJB 1.1 spec if you are interested in knowing more about 
Transaction Management.

Back to FAQ Contents

 

What is Bean / Container Managed Persistence ?

"The entity bean component protocol allows the entity Bean Provider either to 
implement the entity bean's persistence directly in the entity bean class or in one or 
more helper classes provided with the entity bean class (bean-managed persistence), or 
to delegate the entity bean's persistence to the Container Provider tools used at 
deployment time (container-managed persistence)."
 
- EJB 1.1 Spec page 100

Back to FAQ Contents

 

                  {o}{o}*jBoss Questions*

What is jBoss ?

Basically, jBoss is an application server written in Java that can host business 
components developed in Java. The interface and architecture of the jBoss application 
server, the Java business components that can be hosted inside jBoss and various 
protocols by which a client application (or other business componts) can interact with 
the business components is defined by the Enterprise JavaBeans specification.

jBoss v1.0 is an implementation of an EJB v1.1 server. The jBoss server is developed 
as an Open Source server using 100% Pure Java. We are working very hard to ensure that 
jBoss becomes _the_ premier EJB server for the Java 2 Enterprise Edition.

Back to FAQ Contents

 

What is Project Game Over (PGOV) ?

PGOV covers EJB1.1 and basic integration and will essentially provide the "essential 
J2EE" in open source.

Back to FAQ Contents

 

What is Project Go! (PGO) ?

PGo will cover EJB2.0 and some advanced features (some have started) but it will take 
longer, probably around christmas.

Back to FAQ Contents

 

What are the benefits of jBoss ?

Lots, here is an initial list:

  
    *   dynamic "hot" deploy
    *   proxy based EJBs
    *   configurable container
    *   small footprint
    *   JMX based architecture
    *   "full" J2EE implementation / integration
    *   large, active developer and user community
    *   free speech _and_ free beer

Back to FAQ Contents

 

Is jBoss in compliance with the current EJB spec ?

Yes.  Current spec is EJB 1.1

Back to FAQ Contents

 

What is the jBoss community ?

The jBoss community is a pool of contributors working on *joint J2EE projects* much 
like the "Apache group" of Apache Server fame.  jBoss people come from all over the 
world... 'Silicon Valley' California, France, Sweden, Siberia, Hong Kong, Singapore, 
Australia and there's even a few from the 'Tropical Antarctic' (otherwise known as New 
Zealand).

Back to FAQ Contents

 

How can I get a copy of jBoss ?

  
    *   Binary: From the jBoss project's homepage, there is a link to jBoss binary 
distributions for JDK 1.2.2 and JDK 1.3 JVMs..
    *   Source: From the jBoss CVS repository. The jBoss source code is in CVS and 
this route is more appropriate for developers and seasoned jBoss pros. Please note 
that you will need to build this version before it can be used.


      Settings
      --------

       For linux users and winCVS users
       CVSROOT = :pserver:[EMAIL PROTECTED]:/products/cvs/ejboss
       password : anon
       modules : jboss, zola, spyderMQ

       For jCVS users
       jCVS has to do things a little differently and breaks the pserver string in the 
following
       components on the checkout page

       cvs modules : jboss, zola, spyderMQ
       cvs server : cvs.working-dogs.com
       cvs repository : /products/cvs/ejboss

       user : anon
       password: anon

  

Back to FAQ Contents

 

How do I install jBoss ?

If you download the binary, you can use these instructions.

The Getting Started guide has information for installing jBoss for Linux and 
installing jBoss for Windows.

Back to FAQ Contents

 

Can I sell jBoss ?

Yes, and many will. Many will bundle it with J2EE applications for example.

If you want to sell *only* jBoss, then you need to ask "what is the value add"? Just 
putting it on a CD and selling may not get you many customers if they can download it 
from the net just as easy.

Back to FAQ Contents

 

Can I include jBoss in my distribution ?

There is quite a long post discussing this question.  In short, if you use a third 
party plug-in, then you must adhere to the license of that third party plug-in. For 
jBoss stuff, any of your classes that *import* jBoss classes must be GPL.

Back to FAQ Contents

 

Does jBoss support RMI/IIOP ?

Not yet.

Back to FAQ Contents

 

Does jBoss support SOAP ?

Yes, look at the ZOAP module.

Back to FAQ Contents

 

How do I make the RMH samples work ?

Ken Jenks has gotten the examples to work, so take a look at his work.

Back to FAQ Contents

 

Are there any functional differences between jdk1.2 and jdk1.3 ?

None have been identified.

Back to FAQ Contents

 

Any benchmark or performance metrics available ?

Not yet.

Back to FAQ Contents

 

How do I get my client working from a remote machine ?

This is a very common question and there are a couple options.  The key is to provide 
the correct server into the environment so that InitialContext performs its lookup on 
the correct machine.  One option is to set a couple system properties with the correct 
information, another is to hard-code the properties, and a third option is to use a 
standard jndi.properties file.  Forget the hard-code option, here are the others:

  
    *   System Properties Specify java.naming.factory.initial and 
java.naming.provider.url when you start your client.

    java -cp $CLASSPATH 
-Djava.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
-Djava.naming.provider.url=remote.host.name 
org.opengroupware.logic.test.AuthenticateTest
    
  
    *   jndi.properties Create a file called jndi.properties with the following two 
lines:

    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.provider.url=remote.host.name
    
 Put the jndi.properties file into the classpath of the client. 

For both of the options above, the instantiation of the InitialContext with use the 
default constructor:

    Object reference = new InitialContext().lookup( "encryption.NoCrypt" );

 Obviously, you need to narrow that object reference - this is just an example of 
getting a reference from JNDI.

Back to FAQ Contents

 

EJX won't start, what's wrong ?

The most common problem here is not running EJX from the bin directory.

Back to FAQ Contents

 

                  {o}{o}*Bean Developer Questions*

How can I run my EJB jar in jBoss ?

Once you have deployed your bean(s), they are ready to be called by clients or other 
beans.

Back to FAQ Contents

 

Is a programmer guide available for jBoss ?

Yes, take a look at the jBoss 2.0 EJB development guide.

Back to FAQ Contents

 

When do I need to prefix a lookup with "java:comp/env" ?

java:comp/env is used to prefix a resource that the bean is looking up in the JNDI 
naming context.  Looking up other bean or resources are examples where you would 
prefix the JNDI name that the resource is bound to with java:comp/env

Back to FAQ Contents

 

How do I access beans in a different jar ?

Basically, accessing or referencing beans in a different jar should be the same as if 
the beans were in the same jar.  Configure EJB references as described in section 14.3 
of EJB 1.1 Spec and use JNDI to find the bean as any other resource.

Back to FAQ Contents

 

                  {o}{o}*Server Administrator Questions*

How is jBoss started ?

Run the appropriate run script in the bin directory.  If your environment is setup 
correctly, you can start jBoss with the command 'java -jar run.jar'.

Back to FAQ Contents

 

How do I cleanly shutdown jBoss ?

^C and kill <pid> both cause a clean shutdown.

Back to FAQ Contents

 

How can I set up jBoss as a service in Windows NT ?

Answer

Back to FAQ Contents

 

How do I configure jBoss to start when the server boots ?

Answer

Back to FAQ Contents

 

How do I configure security with jBoss ?

N / A

Back to FAQ Contents

 

What tasks must be completed to deploy an EJB using jBoss ?

Compile the bean classes and interfaces.  Create an ejb-jar.xml file by hand or using 
EJX.  If using Entity Beans with CMP, then use EJX to create a jaws.xml file.  If 
using resources, custom containers, or any other jBoss specific configurations, then 
use EJX to create a jboss.xml file.  Finally, jar the .xml files (note that they must 
be in META-INF parent directory) and the .class files for the bean into a jar in the 
deploy directory.  Classes that the bean imports may be included in the deployed jar, 
or they can be put into the lib/ext directory (via a jar).

Back to FAQ Contents

 

How do I undeploy an application ?

Removing the .jar file from the deploy directory will cause the file to be undeployed.

Back to FAQ Contents

 

Can I cluster multiple jBoss servers ?

Not yet.

Back to FAQ Contents

 

How do I configure [Database Type] with jBoss ?

The documentation for datasource configuration is still being worked on; however, 
there is a substantial collection of information in Bugzilla #133

Back to FAQ Contents

 

Is a DTD available for jaws.xml ?

No.

Back to FAQ Contents

 

Is a DTD available for jboss.xml ?

A DTD was posted to the mailing list by Sebastien Alborini, but I haven't seen it in 
CVS anywhere, so you have to get the message from the archive for the DTD.

Back to FAQ Contents

 

                  {o}{o}*Container Developer Questions*

Where can I find technical specs for the jBoss server ?

There are two good pages about the jBoss server.  This one describes the directory 
structure of jBoss, JMX, the classpaths, and configuration files, and this one is has 
information about the deployment, the persistence managers, invokation layers, and how 
to write plugins for the server.

Back to FAQ Contents

 

How can I contribute to jBoss ?

Unless you have your own idea, browse through the project TODO list to find something 
that interests you and then send mail to the board indicating your interests.  It may 
help to get involved in the mailing-list to identify areas of need.

Back to FAQ Contents

 

What help exists to help me learn about the jBoss source ?

The technical information listed above is a great place to start.  Don't overlook the 
mailing list archives for the various components.  As you get into the code, the 
jboss-dev mailing list is the best place to direct your questions.  The javadocs come 
with the binary distribution (in the docs directory), or you can create the javadocs 
from the source with 'build javadocs'.

Back to FAQ Contents

______________________________________________
FREE Personalized Email at Mail.com
Sign up at http://www.mail.com/?sr=signup



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to