The EJB deployment descriptor
editor is used to modify EJB JAR files and associated Java™ files.
The EJB deployment descriptor editor is organized with pages and
sections that represent the various properties and settings in the
EJB deployment descriptor. Additionally, the editor includes sections
and pages related specifically to WebSphere® Application
Server bindings and extensions to the EJB specification. To open the
editor, right click the deployment descriptor for your EJB project
and select .
The core function is typically located at the top of an editor
page. To see core pages and sections, set focus on the editor and
press alt-shift-c. The core pages, sections, headers, and tabs are
highlighted in blue and remain in this state until you press alt-shift-c
again. The extensions and bindings are typically nested sections and
found at the bottom of the editor pages. Collapsing a section hides
the content, but leaves the heading information. This is useful in
filtering through the data and properties on each page. The editor
remembers the sections that you collapse when you close and reopen
the editor. Also, you can resize sections by dragging a hidden border
at the end or beginning of each section.
Another important feature of the editor is the enhanced wizard
support. You can open wizards from the editor that walk you through
creation and modification of the various elements. The wizards help
you determine problems while stepping through the creation process.
If an error occurs, or if you enter invalid data, the wizard displays
a warning or error message at the top of the wizard page. Wizards
offer the ability to create or edit many objects at one time, and
you can work on multiple beans at the same time.
The EJB editor modifies the following resources:
- ejb-jar.xml
- ibm-ejb-jar-bnd.xmi
- ibm-ejb-jar-ext.xmi
- ibm-ejb-access-bean.xml
- ws-handler.xmi
- webservicesclient.xml
- ibm-webservicesclient-bnd.xmi
- ibm-webservicesclient-ext.xmi
Although the EJB deployment descriptor editor pages can change
depending on the capabilities that you have enabled () the EJB deployment descriptor editor typically displays
the following main tabbed pages:
Overview page
Use
the Overview page to view, create, and modify
the basic properties of the EJB module. This should be the first place
that you look for editor content. The body of this page is a user
interface representation of the ejb-jar.xml file. The core XML tags
of the ejb-jar.xml are broken down into the following sections:
- General Information
- Use this section to add a display and description name. These
names are used for identification on the Web server and Java EE view.
- Usage
- Use this section to view a list of links to editors that are associated
with the EJB JAR. For example, if the EJB JAR was defined in an EAR,
the EAR name would appear as a link. Clicking the link launches the
EAR deployment descriptor editor.
- Enterprise JavaBeans
- Use this section to view a list of links corresponding to the
beans in the EJB. Clicking a link takes you to the Beans page
and highlights the enterprise bean.
- Assembly Descriptor
- This section has a Details button that
links to the Assembly page. The Assembly page
has sections and wizards for security roles, method permissions, container
transactions, and the excludes list.
- References
- This section has a Details button that
links to the References page.
- EJB Client JAR
- This section displays the name of the EJB client JAR file that
is created for the EJB module. If no EJB client JAR file has been
created, you can click the Create button to
open the EJB Client JAR Creation wizard and create the JAR file.
- Relationships 2.0
- This section is available for EJB 2.0 modules only. The relationship
section contains a list of existing relationships. All creation and
modification of a relationship can be done here.
- Icons
- Use this section to assign an icon for the EJB JAR. This is primarily
used for identification at run time.
- Visualization
- Use the Class Diagram section to create a class diagram in your
project. This provides a visual representation of beans and other
objects that you create in your projects.
- WebSphere Extensions
- Displays only if the project is targeted to a WebSphere Application Server. This section
contains Relationships 1.x, Inheritance,
and EJB CMP Sequence Groups composites. Each
area has an Edit button that launches a wizard
to update the deployment descriptor properties for the selected bean.
- WebSphere Bindings
- Displays only if the project is targeted to a WebSphere Application Server.
For EJB
1.1 modules:
- JNDI Default DataSource Binding: Use this
section to specify the DataSource JNDI name, the JNDI user ID, and
DataSource password.
For EJB 2.0 modules:
- Backend ID: Use this section to determine
the persister classes that get loaded at deployment.
- JNDI CMP Factory Connection Binding: Use
this section to specify the JNDI name container authorization type.
You can choose either container-managed authentication or component-managed
authentication.
Bean page
Use
the Bean page to create, modify, and remove
function and resources from enterprise beans. The left side of the
Bean page shows a list of beans in the EJB project. On the right side,
two scrollable sections contain the details for the selected bean.
For example, if you select an EJB 1.x CMP entity bean, only the sections
that are relevant to that type of bean are displayed.
The beans
page includes the following sections:
- General section
- All enterprise beans have a general section that gives you quick
access to common information. For EJB 1.1 CMP entity beans, the section
contains the display name, reentrant type, description, and CMP fields.
EJB 2.x CMP entity beans also have a field for abstract schema name.
The display name and description field are used for identification
within the Java EE view and
on the Web server. You can use the reentrant field when you do not
want a bean to be accessed until it has finished with its current
execution. Abstract schema name is set and used when you are creating
EJBQL statements. The Attribute section allows you to create and remove
attributes. Attributes are mapped fields that access the database
to persist and retrieve data.
Double-click a bean to open the Java source code in the Java editor.
- Class and Interface Files
- For EJB 1.1 and EJB 2.x beans. Use this section to modify Java resources associated with the
bean. For example, if you want to open the bean Java class and add business logic, you could
double-click the bean class or select the bean class in the table
and click Open. The Open button launches
a Java editor that supports
editing enterprise beans. The class interface section also gives you
the ability to change Java resources
to other existing resources. Clicking the Browse button
can access this reuse function. You are prompted with a resource browse
dialog. You can also use the remove function that launches a wizard
that helps you delete resources.
- Environment Variables
- For EJB 1.1 and EJB 2.x beans. Use this section to add, remove,
and modify environment variables. Double-clicking a variable in the
editor highlights the appropriate element in the Source view.
Environment
variables are constant variables that you define in Web and EJB components.
For example, if you define a Circle bean, you could
create an environment variable called PI and set
the value to 3.1415926. If you had another enterprise
bean or servlet called Cone, it could access the PI variable
by doing a JNDI lookup.
- Icons
- For EJB 1.1 and EJB 2.x beans. The icon section is like the EJB
JAR section. Use this section to assign an icon on the bean level.
This is primarily used for identification at runtime.
- Message-Driven Destination
- For EJB 2.x message-driven beans. Use this section to specify
the destination type and subscription durability for the message-driven
bean.
- Relationships
- For EJB 2.x CMP entity beans. Use this section to create and work
with relationships for EJB 2.0 CMP entity beans.
- Queries
- For EJB 2.x CMP entity beans. Use this section to create finder
methods and assign finder statements to those methods. You can also
remove finder descriptors. A finder method resides on the home interface.
Finder Descriptors are assigned to these methods. The finder descriptor
is used to query the database to return specific bean instances. Click Add to
open the finder wizard that gives you the option to create or use
an existing finder method. After the method is created, the wizard
helps you to add descriptor information.
- WebSphere Bindings
- Displays only if the project is targeted to a WebSphere Application Server. For EJB 1.1
and EJB 2.x beans. Use this section to specify binding properties
for the WebSphere Application
Server. The data source is used to look up the designated database
at runtime. You must create the data source in the server configuration.
If you are using WebSphere Application
Server, you can do this using the server tools. The user name and
password are used for verification upon access of the database.
- WebSphere Extensions
- Displays only if the project is targeted to a WebSphere Application Server. For EJB 1.1
and EJB 2.x beans. Use this section to specify additional extensions
for use with the WebSphere Application
Server. The following sections or fields are available, depending
on the type and level of the selected bean:
- Session timeout
- For session beans, use this section to specify a timeout value
and activity session type.
- Relationships
- For EJB 1.1 CMP entity beans. Use this section to define relationships.
- Finders
- For EJB 1.1 CMP entity beans. Use this section to create finder
methods and assign finder statements to those methods. You can also
remove finder descriptors. A finder method resides on the home interface.
Finder Descriptors are assigned to these methods. The finder descriptor
is used to query the database to return specific bean instances. Click Add to
open the finder wizard that gives you the option to create or use
an existing finder method. After the method is created, the wizard
helps you to add descriptor information.
- Access Beans
- For EJB 1.1 and EJB 2.x session and entity beans. Not available
for message-driven beans. Use this section to create and edit access
beans. Access beans are convenient ways to gain access to your enterprise
beans.
- Bean Cache
- Use this section to define the bean cache settings.
- Compensation
- Use this section to enable the bean to use WebSphere Application Server support for
the Web Services Business Activity standard.
Select the Run
EJB methods under a business activity scope check box
to specify that the application component must execute under a business
activity scope that is associated with its unit of work. The business
activity scope is a demarcation boundary for any compensation handlers
registered by the component or any other components running under
the same scope. Business activity scopes are distributed between remote
runtimes using the mechanisms described in the Web Services Business
Activity (WS-BusinessActivity) specification.
If you choose
to run EJB methods under a business activity scope, you can optionally
specify a compensation handler to perform corrective actions if the
business activity fails. The compensation handler class name is the
name of an application class that implements the com.ibm.websphere.wsba.CompensationHandler interface
and is deployed as part of the application. Compensation handlers
are called when the business activity scope ends, and are passed any
compensation data that was supplied by the application during forward
execution of the scope.
- Global Transaction
- Global transaction settings are WebSphere Application Server extensions
to the Enterprise JavaBeans specification.
If an application uses two or more resources, then an external transaction
manager is needed to coordinate the updates to both resource managers
in a global transaction.
- Local Transaction
- Use this section to define the local transaction settings.
- Locale Invocation
- Using these settings can maximize the performance of the EJB running
on WebSphere Application
Server.
- Data Cache
- For EJB 2.x CMP entity beans. Use this section to specify lifetime
in cache and lifetime in cache usage.
- Concurrency Control
- For 1.1 CMP entity beans. By default, optimistic locking is not
enabled, which means that if an entity bean is accessing a row in
the database, another bean is not able to edit that row until the
original bean has released it. If an edit is attempted while the row
is locked an exception is thrown.
References page
Use
the References page to define references for the enterprise beans
in the project. WebSphere Bindings
for the references, such as the JNDI name for the reference, are also
set on this page. Select a bean and click Add to
open the Add Reference wizard. See Defining references for Java EE
modules for more information.
The Reference
page is set up like the bean page, where the selection in the left
main section dynamically changes the right side detail sections.
WS Handler page
Use
the Handlers page to define Web service handlers for each Web service
reference that is defined for the enterprise beans in the EJB module.
See Defining Web service
handlers for more information.
Assembly page
Use
this page to define security roles, method permissions, and method
transactions. It also allows you to exclude methods from security
constraints. The Assembly page has the following sections:
- Security Roles
- Use this section to define security roles. Security roles are
needed in order to build the method permissions. This section lists
the security roles that are defined and displays details for the selected
security role.
- Method Permissions
- Use this section to add permissions to beans on the method level.
This section contains a tree that has a list of existing method permissions.
When you create a method permission, you can see it in the tree. If
you expand the tree, the bean and methods that are defined in the
method permission are displayed.
- Container Transactions
- Click Add to launch the Container Transaction
wizard. Clicking the Remove button while any
tree object is selected removes the Transaction.
- Excludes List
- For EJB 2.x modules, use this section to mark method elements
as uncallable by the deployment descriptor.
Access page
Use
the Access page to define access intent, isolation level, and security
identity properties variables for CMP entity beans. Depending on the
EJB version level of the EJB project, the access page displays different
sections, including WebSphere extensions.
Available sections include the following sections:
- Security Identity (Bean level)
- Use this section to add security identities.
- Default Access Intent for Entities 2.x (Bean Level)
- Use this section to define default access intent for bean-level
security identity.
- Access Intent for Entities 2.x (Method Level)
- Use this section to define access intent for method-level security
identity.
- Access Intent for Entities 1.x
- A WebSphere Application
Server extension. Use this section to define default access intent
for bean-level security identity.
- Isolation level
- A WebSphere Application
Server extension. Use this section to define default access intent
for bean-level security identity.
- Security Identity (Method level)
- A WebSphere Application
Server extension. Use this section to add security identities.
WS Extension page
Use
this page to define Web service client security extensions for WebSphere Application Server.
WS Binding page
Use
this page to define Web service client bindings for WebSphere Application Server.
Mediation Handlers page
Use
this page to edit the deployment descriptor file for your mediation
handler enterprise bean, and save it as an EAR file ready to export
to WebSphere Application
Server.
A mediation handler is a Java program
that acts as the unit of deployment and administration in mediations.
It has mediation parameters that control its behavior. Mediation
handlers are the components of mediation handler lists. Each mediation
handler executes some specific message processing at run-time, for
example:
- Transforming a message from one format into another.
- Routing messages to one or more target destinations that were
not specified by the sending application.
- Augmenting messages by adding data from a data source.
Internationalization page
Use
this page to configure internationalization policy types and attributes
for your beans.
ActivitySession page
Use
this page to add, edit, or remove an ActivitySession for a bean.
Extended Access page
Use
this page to configure container and application-managed tasks and
other access properties for your enterprise beans.
Source page
Use
the Source page to view and modify the XML source code associated
with deployment descriptor (ejb-jar.xml) for the EJB module. The Source
page is an XML editor. The XML changes dynamically when the EJB deployment
descriptor editor is edited. When you change to the XML source, the
other pages of the EJB deployment descriptor editor reflect these
changes.
Changes in the EJB deployment descriptor editor are
not committed until the editor is saved. If the editor is closed without
saving, then the changes are not committed. This also includes the
changes that are made to the Java files
and the bindings and extension files, which can be edited by the EJB
deployment descriptor editor. If an existing Java editor is currently open and a change is
made in the EJB deployment descriptor editor that causes code to be
generated into the open Java file,
the changes are generated into the open editor. If the EJB deployment
descriptor editor is saved, the Java changes
are also saved. If the EJB deployment descriptor editor is closed
without saving, all changes are discarded except the change that is
currently in the open Java editor.
Those changes remain because there was another reference to the file
that was currently opened. You are prompted to save the EJB deployment
descriptor editor only if there are no other references to it or its
resources. If there are two EJB deployment descriptor editors opened
in two different perspectives, or you have an EJB deployment descriptor
editor and EJB deployment descriptor editor open in one or more perspectives,
the changes appear in both and you are prompted to save only when
the last is closed.