|
EJB Tutorial
| ||
Tutorial Index Page
Creating an Entity BeanEJB's require an "EJB Container", commonly provided as part of an "application server". In this tutorial, we will be using the Blazix application server as the EJB container. Before beginning, download and install the server from the link above if you don't already have it. (Even if you are using another server, for the first few lessons you will need Blazix. It includes an EJB wizard that we will use for generating EJBs. This way, we don't need to deal with all the details initially and we can concentrate on the important concepts. Once you understand the concepts, it should be relatively easy to transfer the concepts to other servers as well.) Also make sure to modify your PATH to include the Blazix installation directory, and to modify your CLASSPATH to include the blazix.jar file. (For any questions relating to the Blazix server, visit the Blazix Group at Yahoo.)
Important: The advantages of getting an actual server and trying everything hands-on cannot be overstated. Blazix is only a 1.5 MB download so it can easily be downloaded even over a modem in a few minutes. It will run on any Java platform including Windows 98. Running the tutorial examples and doing the exercises is very important, because this tutorial has been written with the hands-on student in mind. So if you haven't yet, it is strongly recommended that you go get the server now, before you proceed with this tutorial anymore! As briefly mentioned in the overview, entity beans require a certain framework:
For this example, we will create an entity bean that is a permanent, shareable version of a Property list. It will allow any of its clients to add a string at a given "key", and to retrieve the string stored at a given key. This is a very simple usage of an entity bean, but is still useful and displays the advantages of entity beans. We must decide upon a database representation first. For this entity bean, a table with one column called "key" and one column called "value" is sufficient. Step 1: Create a database table called "PropsTable" with two columns, one called "key" and one called "value". They should be "varchar" (or the corresponding type in your database) with some reasonable space limit, such as 255. IMPORTANT: Do not use the "char" datatype, otherwise all your calls will need padding the string to the correct length with spaces. If you do not have access to a database, and if you are on a Windows machine, download the Props.mdb file which is an MS-Access database and should work on all Windows machines. Step 2: Configure the database table created in step 1 into the EJB configuration file. A convenient way to do this is to create an ODBC data source. Suppose you created an ODBC data source called "PropsOdbc". Then add the following lines to the EJB configuration file ejb.ini: Step 3: Run the Blazix EJB wizard Blizzard, and select "Create an Entity bean". Give the wizard the datasource you created in step 2, and the name of the table you created in step 1 above. The wizard will go through the table columns. For column "key", select "primary key". For both columns, select the datatype "String". For column "value", select "generate Setters". The following link show the various pages the wizard displays.dataSource.name: propsDataSource dataSource.propsDatasource.odbc: PropsOdbc Entity Bean Wizard StepsNote: In the next steps of the tutorial, it is assumed that in the last page of the wizard, the bean name has been changed to "Props". Now examine the files created by the wizard. We will be covering the ejb-jar.xml file later, but for now, look in the remote interface, the home interface and the bean class. Notice that the remote interface consists of methods to access the bean fields, the home interface consists of methods to create or find the beans, and the bean class provides a simple implementation of the remote interface. Step 4: Build the bean. The wizard creates a .cmd file containing the list of commands you must type to build the bean. This involves compiling the source files, running "jar" to create a Jar file containing all the classes and the ejb-jar.xml file (we will be examining this file in more detail in a later step) created by the wizard, and then running blxejbc, the Blazix EJB compiler. The EJB compiler will generate another Jar file, which is ready to deploy. Note that you will need Blazix installation directory to be in your path in order to be able to use the blxejbc command. Exercise: Build another entity bean called "Employees". The primary key for this will be social security numbers (use strings) of the employees. Create a database table with fields for the social security number, first name, last name, salary, position, employment year, and date of birth. Create and build an entity bean from this database table.
| ||
|