Previous     Contents     Index     DocHome     Next     
iPlanet Application Server Programmer's Guide (Java)



Appendix C       Sample Deployment Files


This appendix contains sample iAS Deployment Descriptor (DD) files, used for application and component deployment. The following sample DD XML files are included in this appendix:



Application DD XML Files

The application deployment descriptor (DD) gives a top level view of all the application's contents. There are two types of application DDs; one is the J2EE application DD, and the other is the iAS application DD. These descriptors are XML files specified by Document Type Definitions (DTDs).

The J2EE application DD is described by the J2EE specification, v2.1 Section 8.4 "J2EE:application XML DTD". The iAS application DD is described by the iAS web application DTD described in this document's Chapter 10 "Packaging for Deployment".


Sample Application DD XML File

This section provides an example of a J2EE application deployment descriptor (DD) XML file. The J2EE application DD that follows, has a file name of application.xml.

<?xml version="1.0"?>

<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN' 'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>

<application>

<description>Application description</description>

<display-name>estore</display-name>

<module>

<ejb>estoreEjb.jar</ejb>

</module>

<module>

<web>

<web-uri>estore.war</web-uri>

<context-root>estore</context-root>

</web>

</module>

<security-role>

<description>the customer role</description>

<role-name>customer</role-name>

</security-role>

</application>


Sample iAS Application DD XML File

To be supplied.



Web Application DD XML Files



The web application deployment descriptor (DD) conveys the elements and configuration information of a web application between Developers, Assemblers, and Deployers. These descriptors are XML files specified by Document Type Definitions (DTDs).

The Web application ARchive (WAR) file contains a J2EE web application deployment descriptor (DD) and an iAS web application deployment descriptor. The J2EE web application DD is described by the Java Servlet Specification, v2.2 Chapter 13 Deployment Descriptors. The iAS application DD is described by the iAS web application DTD described in this document's "Chapter 10 "Packaging for Deployment".


Sample Web Application DD XML File

This section provides an example of a J2EE web application deployment descriptor (DD) XML file. The web application DD that follows, has a file name of web.xml.

<?xml version="1.0"?>

<!DOCTYPE web-app>

<web-app>

<description>no description</description>

<display-name>DukesPetStoreWebTier</display-name>

<servlet>

<description>no description</description>

<display-name>centralJsp</display-name>

<servlet-name>webTierEntryPoint</servlet-name>

<jsp-file>Main.jsp</jsp-file>

<load-on-startup>-1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>webTierEntryPoint</servlet-name>

<url-pattern>/control/*</url-pattern>

</servlet-mapping>

<session-config>

<session-timeout>54</session-timeout>

</session-config>

<welcome-file-list>

<welcome-file>/index.html</welcome-file>

</welcome-file-list>

<error-page>

<exception-type>java.lang.Exception</exception-type>

<location>/errorpage.jsp</location>

</error-page>

<security-constraint>

<web-resource-collection>

<web-resource-name>MySecureBit0</web-resource-name>

<description>no description</description>

<url-pattern>/control/placeorder</url-pattern>

<http-method>POST</http-method>

<http-method>GET</http-method>

</web-resource-collection>

<auth-constraint>

<description>no description</description>

<role-name>customer</role-name>

</auth-constraint>

<user-data-constraint>

<description>no description</description>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

</security-constraint>

<security-constraint>

<web-resource-collection>

<web-resource-name>MySecureBit1</web-resource-name>

<description>no description</description>

<url-pattern>/Main.jsp/signin</url-pattern>

<http-method>POST</http-method>

<http-method>GET</http-method>

</web-resource-collection>

<auth-constraint>

<description>no description</description>

<role-name>customer</role-name>

</auth-constraint>

<user-data-constraint>

<description>no description</description>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

</security-constraint>

<security-constraint>

<web-resource-collection>

<web-resource-name>MySecureBit1</web-resource-name>

<description>no description</description>

<url-pattern>/control/signin</url-pattern>

<http-method>POST</http-method>

<http-method>GET</http-method>

</web-resource-collection>

<auth-constraint>

<description>no description</description>

<role-name>customer</role-name>

</auth-constraint>

<user-data-constraint>

<description>no description</description>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

</security-constraint>

<security-constraint>

<web-resource-collection>

<web-resource-name>MySecureBit0</web-resource-name>

<description>no description</description>

<url-pattern>/Main.jsp/placeorder</url-pattern>

<http-method>POST</http-method>

<http-method>GET</http-method>

</web-resource-collection>

<auth-constraint>

<description>no description</description>

<role-name>customer</role-name>

</auth-constraint>

<user-data-constraint>

<description>no description</description>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

</security-constraint>

<login-config>

<auth-method>FORM</auth-method>

<realm-name>default</realm-name>

<form-login-config>

<form-login-page>/estore/login.jsp</form-login-page>

<form-error-page>/estore/error.html</form-error-page>

</form-login-config>

</login-config>

<security-role>

<description>the customer role</description>

<role-name>customer</role-name>

</security-role>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>account</ejb-ref-name>

<ejb-ref-type>Entity</ejb-ref-type>

<home>com.sun.estore.account.ejb.AccountHome</home>

<remote>com.sun.estore.account.ejb.Account</remote>

</ejb-ref>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>order</ejb-ref-name>

<ejb-ref-type>Entity</ejb-ref-type>

<home>com.sun.estore.order.ejb.OrderHome</home>

<remote>com.sun.estore.order.ejb.Order</remote>

</ejb-ref>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>mailer</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.mail.ejb.MailerHome</home>

<remote>com.sun.estore.mail.ejb.Mailer</remote>

</ejb-ref>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>estorekeeper</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.control.ejb.EStorekeeperHome</home>

<remote>com.sun.estore.control.ejb.EStorekeeper</remote>

</ejb-ref>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>catalog</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.catalog.ejb.CatalogHome</home>

<remote>com.sun.estore.catalog.ejb.Catalog</remote>

</ejb-ref>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>cart</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.cart.ejb.ShoppingCartHome</home>

<remote>com.sun.estore.cart.ejb.ShoppingCart</remote>

</ejb-ref>

<ejb-ref>

<description>no description</description>

<ejb-ref-name>inventory</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.inventory.ejb.InventoryHome</home>

<remote>com.sun.estore.inventory.ejb.Inventory</remote>

</ejb-ref>

</web-app>

<?xml version="1.0"?>


Sample iAS Web-app DD XML File

This section provides an example of an iAS web application deployment descriptor (DD) XML file. The iAS web application DD that follows, has a file name of ias-web.xml.

<!DOCTYPE web-app>

<ias-web-app>

<servlet>

<servlet-name>webTierEntryPoint</servlet-name>

<guid>{Deadbeef-AB3F-11D2-98C5-000000000000}</guid>

</servlet>

<ejb-ref>

<ejb-ref-name>account</ejb-ref-name>

<jndi-name>ejb/estoreWar/account</jndi-name>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>order</ejb-ref-name>

<jndi-name>ejb/estoreWar/order</jndi-name>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>mailer</ejb-ref-name>

<jndi-name>ejb/estoreWar/mailer</jndi-name>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>estorekeeper</ejb-ref-name>

<jndi-name>ejb/estoreWar/estorekeeper</jndi-name>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>catalog</ejb-ref-name>

<jndi-name>ejb/estoreWar/catalog</jndi-name>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>cart</ejb-ref-name>

<jndi-name>ejb/estoreWar/cart</jndi-name>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>inventory</ejb-ref-name>

<jndi-name>ejb/estoreWar/inventory</jndi-name>

</ejb-ref>

</ias-web-app>



EJB-jar DD XML Files



The ejb-jar file contains a deployment descriptor (DD) in the format defined by the Enterprise JavaBeans Specification, v1.1 and an iAS ejb DD in the format defined by Chapter 10 "Packaging for Deployment" of this document.


Sample EJB-jar DD XML File

This section provides an example of a J2EE ejb deployment descriptor (DD) XML file. The ejb-jar DD that follows, has a file name of ejb-jar.xml.

<?xml version="1.0"?>

<ejb-jar>

<description>no description</description>

<display-name>Ejb1</display-name>

<enterprise-beans>

<session>

<description>no description</description>

<display-name>TheMailer</display-name>

<ejb-name>TheMailer</ejb-name>

<home>com.sun.estore.mail.ejb.MailerHome</home>

<remote>com.sun.estore.mail.ejb.Mailer</remote>

<ejb-class>com.sun.estore.mail.ejb.MailerEJB</ejb-class>

<session-type>Stateless</session-type>

<transaction-type>Container</transaction-type>

<ejb-ref>

<ejb-ref-name>account</ejb-ref-name>

<ejb-ref-type>Entity</ejb-ref-type>

<home>com.sun.estore.account.ejb.AccountHome</home>

<remote>com.sun.estore.account.ejb.Account</remote>

<ejb-link>TheAccount</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>order</ejb-ref-name>

<ejb-ref-type>Entity</ejb-ref-type>

<home>com.sun.estore.order.ejb.OrderHome</home>

<remote>com.sun.estore.order.ejb.Order</remote>

<ejb-link>TheOrder</ejb-link>

</ejb-ref>

<resource-ref>

<description>description</description>

<res-ref-name>MailSession</res-ref-name>

<res-type>javax.mail.Session</res-type>

<res-auth>Application</res-auth>

</resource-ref>

</session>

<session>

<description>no description</description>

<display-name>TheEstorekeeper</display-name>

<ejb-name>TheEstorekeeper</ejb-name>

<home>com.sun.estore.control.ejb.EStorekeeperHome</home>

<remote>com.sun.estore.control.ejb.EStorekeeper</remote>

<ejb-class>com.sun.estore.control.ejb.EStorekeeperEJB

               </ejb-class>

<session-type>Stateful</session-type>

<transaction-type>Container</transaction-type>

<env-entry>

<env-entry-name>sendConfirmationMail</env-entry-name>

<env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>false</env-entry-value>

</env-entry>

<ejb-ref>

<ejb-ref-name>account</ejb-ref-name>

<ejb-ref-type>Entity</ejb-ref-type>

<home>com.sun.estore.account.ejb.AccountHome</home>

<remote>com.sun.estore.account.ejb.Account</remote>

<ejb-link>TheAccount</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>order</ejb-ref-name>

<ejb-ref-type>Entity</ejb-ref-type>

<home>com.sun.estore.order.ejb.OrderHome</home>

<remote>com.sun.estore.order.ejb.Order</remote>

<ejb-link>TheOrder</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>mailer</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.mail.ejb.MailerHome</home>

<remote>com.sun.estore.mail.ejb.Mailer</remote>

<ejb-link>TheMailer</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>catalog</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.catalog.ejb.CatalogHome</home>

<remote>com.sun.estore.catalog.ejb.Catalog</remote>

<ejb-link>TheCatalog</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>cart</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.cart.ejb.ShoppingCartHome</home>

<remote>com.sun.estore.cart.ejb.ShoppingCart</remote>

<ejb-link>TheCart</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>inventory</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.sun.estore.inventory.ejb.InventoryHome</home>

<remote>com.sun.estore.inventory.ejb.Inventory</remote>

<ejb-link>TheInventory</ejb-link>

</ejb-ref>

</session>

<entity>

<description>no description</description>

<display-name>TheOrder</display-name>

<ejb-name>TheOrder</ejb-name>

<home>com.sun.estore.order.ejb.OrderHome</home>

<remote>com.sun.estore.order.ejb.Order</remote>

<ejb-class>com.sun.estore.order.ejb.OrderEJB</ejb-class>

<persistence-type>Bean</persistence-type>

<prim-key-class>java.lang.Integer</prim-key-class>

<reentrant>False</reentrant>

<resource-ref>

<description>description</description>

<res-ref-name>EstoreDataSource</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Application</res-auth>

</resource-ref>

</entity>

<entity>

<description>no description</description>

<display-name>TheAccount</display-name>

<ejb-name>TheAccount</ejb-name>

<home>com.sun.estore.account.ejb.AccountHome</home>

<remote>com.sun.estore.account.ejb.Account</remote>

<ejb-class>com.sun.estore.account.ejb.AccountEJB</ejb-class>

<persistence-type>Bean</persistence-type>

<prim-key-class>java.lang.String</prim-key-class>

<reentrant>False</reentrant>

<resource-ref>

<description>description</description>

<res-ref-name>EstoreDataSource</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Application</res-auth>

</resource-ref>

</entity>

<session>

<description>no description</description>

<display-name>TheCart</display-name>

<ejb-name>TheCart</ejb-name>

<home>com.sun.estore.cart.ejb.ShoppingCartHome</home>

<remote>com.sun.estore.cart.ejb.ShoppingCart</remote>

<ejb-class>com.sun.estore.cart.ejb.ShoppingCartEJB</ejb-class>

<session-type>Stateful</session-type>

<transaction-type>Container</transaction-type>

</session>

<session>

<description>no description</description>

<display-name>TheInventory</display-name>

<ejb-name>TheInventory</ejb-name>

<home>com.sun.estore.inventory.ejb.InventoryHome</home>

<remote>com.sun.estore.inventory.ejb.Inventory</remote>

<ejb-class>com.sun.estore.inventory.ejb.InventoryEJB

          </ejb-class>

<session-type>Stateless</session-type>

<transaction-type>Container</transaction-type>

<resource-ref>

<description>description</description>

<res-ref-name>InventoryDataSource</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Application</res-auth>

</resource-ref>

</session>

<session>

<description>no description</description>

<display-name>TheCatalog</display-name>

<ejb-name>TheCatalog</ejb-name>

<home>com.sun.estore.catalog.ejb.CatalogHome</home>

<remote>com.sun.estore.catalog.ejb.Catalog</remote>

<ejb-class>com.sun.estore.catalog.ejb.CatalogEJB</ejb-class>

<session-type>Stateless</session-type>

<transaction-type>Container</transaction-type>

<resource-ref>

<description>description</description>

<res-ref-name>InventoryDataSource</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Application</res-auth>

</resource-ref>

</session>

</enterprise-beans>

<assembly-descriptor>

<container-transaction>

<method>

<ejb-name>TheMailer</ejb-name>

<method-intf>Remote</method-intf>

<method-name>sendOrderConfirmationMail</method-name>

<method-param>int</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheMailer</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheMailer</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheMailer</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheMailer</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>handleEvent</method-name>

<method-param>com.sun.estore.control.event.EStoreEvent

               </method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getShoppingCart</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getAccount</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getOrder</method-name>

<method-param>int</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getOrders</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheEstorekeeper</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getCatalog</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheOrder</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheOrder</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getOrderDetails</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheOrder</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheOrder</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheOrder</ejb-name>

<method-intf>Remote</method-intf>

<method-name>remove</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheOrder</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>changeContactInformation</method-name>

<method-param>com.sun.estore.util.ContactInformation

            </method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>remove</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getAccountDetails</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheAccount</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>updateItemQty</method-name>

<method-param>java.lang.String</method-param>

<method-param>int</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>deleteItem</method-name>

<method-param>java.lang.String</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>empty</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>addItem</method-name>

<method-param>java.lang.String</method-param>

<method-param>int</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getItems</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>addItem</method-name>

<method-param>java.lang.String</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCart</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>updateInventory</method-name>

<method-param>com.sun.estore.inventory.ejb.InventoryDetails

               </method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>updateQuantity</method-name>

<method-param>java.lang.String</method-param>

<method-param>int</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getInventory</method-name>

<method-param>java.lang.String</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheInventory</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getQuantity</method-name>

<method-param>java.lang.String</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getPrimaryKey</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getEJBHome</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getHandle</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>searchProducts</method-name>

<method-param>java.util.Vector</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>findProducts</method-name>

<method-param>com.sun.estore.catalog.ejb.Category

               </method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>isIdentical</method-name>

<method-param>javax.ejb.EJBObject</method-param>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction>

<method>

<ejb-name>TheCatalog</ejb-name>

<method-intf>Remote</method-intf>

<method-name>getAllCategories</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

</assembly-descriptor>

</ejb-jar>


Sample iAS EJB-jar DD XML File

This section provides an example of an iAS ejb-jar deployment descriptor (DD) XML file. The ejb-jar DD that follows, has a file name of ias-ejb-jar.xml.

<ias-ejb-jar>

      <enterprise-beans>

         <session>

            <ejb-name>TheMailer</ejb-name>

               <guid>{Deadbabe-AB3F-11D2-98C5-0060B0EF0618}</guid>

               <pass-timeout>100</pass-timeout>

               <session-timeout>180000</session-timeout>

               <is-thread-safe>false</is-thread-safe>

               <pass-by-value>false</pass-by-value>

               <ejb-ref>

                  <ejb-ref-name>account</ejb-ref-name>

                  <jndi-name>ejb/estoreEjb/TheAccount</jndi-name>

               </ejb-ref>

               <ejb-ref>

                  <ejb-ref-name>order</ejb-ref-name>

                  <jndi-name>ejb/estoreEjb/TheOrder</jndi-name>

               </ejb-ref>

          </session>

          <session>

             <ejb-name>TheEstorekeeper</ejb-name>

             <guid>{Deadbabe-AB3F-11D2-98C5-000011112222}</guid>

             <pass-timeout>100</pass-timeout>

             <session-timeout>180000</session-timeout>

             <is-thread-safe>false</is-thread-safe>

             <pass-by-value>false</pass-by-value>

             <ejb-ref>

                 <ejb-ref-name>account</ejb-ref-name>

                 <jndi-name>ejb/estoreEjb/TheAccount</jndi-name>

             </ejb-ref>

             <ejb-ref>

                 <ejb-ref-name>order</ejb-ref-name>

                 <jndi-name>ejb/estoreEjb/TheOrder</jndi-name>

             </ejb-ref>

             <ejb-ref>

                 <ejb-ref-name>mailer</ejb-ref-name>

                 <jndi-name>ejb/estoreEjb/TheMailer</jndi-name>

             </ejb-ref>

             <ejb-ref>

                 <ejb-ref-name>catalog</ejb-ref-name>

                 <jndi-name>ejb/estoreEjb/TheCatalog</jndi-name>

             </ejb-ref>

             <ejb-ref>

                 <ejb-ref-name>cart</ejb-ref-name>

                 <jndi-name>ejb/estoreEjb/TheCart</jndi-name>

             </ejb-ref>

             <ejb-ref>

                 <ejb-ref-name>inventory</ejb-ref-name>

                 <jndi-name>ejb/estoreEjb/TheInventory</jndi-name>

             </ejb-ref>

        </session>

<session>

<ejb-name>TheInventory</ejb-name>

<guid>{deadbabe-ab3f-11d2-98c5-999999990002}</guid>

<pass-timeout>100</pass-timeout>

<is-thread-safe>false</is-thread-safe>

<pass-by-value>false</pass-by-value>

<session-timeout>180000</session-timeout>

</session>

<session>

<ejb-name>TheCatalog</ejb-name>

<guid>{deadbabe-ab3f-11d2-98c5-999999990003}</guid>

<pass-timeout>100</pass-timeout>

<is-thread-safe>false</is-thread-safe>

<pass-by-value>false</pass-by-value>

<session-timeout>180000</session-timeout>

</session>

<session>

<ejb-name>TheCart</ejb-name>

<guid>{deadbabe-ab3f-11d2-98c5-999999990001}</guid>

<pass-timeout>100</pass-timeout>

<is-thread-safe>false</is-thread-safe>

<pass-by-value>false</pass-by-value>

<session-timeout>180000</session-timeout>

</session>

<entity>

<ejb-name>TheAccount</ejb-name>

<guid>{deadbabe-ab3f-11d2-98c5-999999990000}</guid>

<pass-timeout>100</pass-timeout>

<is-thread-safe>false</is-thread-safe>

<pass-by-value>false</pass-by-value>

<pool-manager>

<factory-class-name></factory-class-name>

<commit-option>NO_CACHE_READY_INSTANCE</commit-option>

<Ready-pool-timeout>0</Ready-pool-timeout>

<Ready-pool-maxsize>0</Ready-pool-maxsize>

</pool-manager>

</entity>

<entity>

<ejb-name>TheOrder</ejb-name>

<guid>{deadbabe-ab3f-11d2-98c5-333344445555}</guid>

<pass-timeout>100</pass-timeout>

<is-thread-safe>false</is-thread-safe>

<pass-by-value>false</pass-by-value>

<persistence-manager>

                <persistence-manager-factory-class-name>

                 com.netscape.server.ejb.PersistenceManagerFactory

                 </persistence-manager-factory-class-name>

                 <properties-file-location>

                    EmployeeRecord_pm1.xml

                 </properties-file-location>

                 <external-xml-location>

                 </external-xml-location>

</persistence-manager>

<pool-manager>

<factory-class-name></factory-class-name>

<commit-option>NO_CACHE_READY_INSTANCE</commit-option>

<Ready-pool-timeout>0</Ready-pool-timeout>

<Ready-pool-maxsize>0</Ready-pool-maxsize>

</pool-manager>

</entity>

</enterprise-beans>

</ias-ejb-jar>



Rich Client DD XML Files



To be supplied.



Resource DD XML Files



The following is a sample resource XML descriptor file.

<ias-resource>

<resource>

<jndi-name>jdbc/SampleSybaseDS1</jndi-name>

<jdbc>

<database>nasqadev</database>

<datasource>SYBFRED</datasource>

<username>aparna</username>

<password>aparnak</password>

<driver-type>SYBASE_CTLIB</driver-type>

</jdbc>

</resource>

</ias-resource>


Previous     Contents     Index     DocHome     Next     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated June 25, 2000