Previous     Contents     Index     Next     
iPlanet Application Server Developer's Guide



Appendix C       Sample Deployment Files


This appendix contains sample iPlanet Application Server Deployment Descriptor (DD) files used for application and component deployment.

This appendix contains the following sample DD XML files:



Application DD XML Files

The application DD gives a top level view of all application contents. There are two types of application DDs; one is the J2EE application DD and the other is the iPlanet Application Server application DD. These descriptors are XML files specified by the DTDs.

The J2EE application DD is described by the J2EE specification, v2.1 Section 8.4 "J2EE:application XML DTD." The iPlanet Application Server application DD is described by the iPlanet Application Server web application DTD described in Chapter 11 "Packaging for Deployment."


Sample Application DD XML File

This section provides an example of a J2EE application 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>



Web Application DD XML Files



The web application DD conveys the elements and configuration information of a web application between Developers, Assemblers, and Deployers. These descriptors are XML files specified by DTDs.

The Web application ARchive (.war) file contains a J2EE web application DD and an iPlanet Application Server web application DD. The J2EE web application DD is described by the Java Servlet Specification, v2.2 Chapter 13 "Deployment Descriptors." The iPlanet Application Server application DD is described by the iPlanet Application Server web application DTD described in Chapter 11 "Packaging for Deployment."


Sample Web Application DD XML File

This section provides a J2EE web application DD XML file example. 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>


Sample iPlanet Application Server Web-App DD XML File

This section provides an example of an iPlanet Application Server web application DD XML file. The iPlanet Application Server web application DD that follows, has a file name of ias-web.xml.

<?xml version="1.0"?>
<!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 DD in the format defined by the Enterprise JavaBeans Specification, v1.1 and an iPlanet Application Server EJB DD in the format defined by Chapter 11 "Packaging for Deployment."


Sample J2EE EJB-JAR DD XML File

This section provides an example of a J2EE EJB 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.e
         <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 iPlanet Application Server EJB-JAR DD XML File

This section provides an example of an iPlanet Application Server EJB-JAR DD XML file. The following EJB-JAR DD 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>300</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>300</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>300</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>300</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>300</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>
            <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>
            <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>



iPlanet Application Server Client DD XML Files



The following is a sample iPlanet Application Server DD XML file.

<?xml version="1.0" encoding="UTF-8"?>
<ias-application-client>
   <ejb-ref>
      <ejb-ref-name>External</ejb-ref-name>
      <jndi-name>ejb/com.sun.cts.tests.appclient.deploy.ejb.ejbref.
            Test</jndi-name>
   </ejb-ref>
   <ejb-ref>
      <ejb-ref-name>External1</ejb-ref-name>
      <jndi-name>ejb/com.sun.cts.tests.appclient.deploy.ejb.ejbref.
            Test1</jndi-name>
   </ejb-ref>
</ias-application-client>



RMI/IIOP Client DD XML Files



The following is a sample RMI/IIOP client DD XML file.

<?xml version="1.0" encoding="UTF-8"?>

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

<application-client>
   <display-name>appclient_ejb_depC_ejbref_client</display-name>
   <description>CTS appclient ejbref test</description>
   <ejb-ref>
      <ejb-ref-name>External</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <home>com.sun.cts.tests.appclient.deploy.ejb.ejbref.
            TestHome</home>
      <remote>com.sun.cts.tests.appclient.deploy.ejb.ejbref.
            Test</remote>
      <ejb-link>Test</ejb-link>
   </ejb-ref>
   <ejb-ref>
      <ejb-ref-name>External1</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <home>com.sun.cts.tests.appclient.deploy.ejb.ejbref.
            Test1Home</home>
      <remote>com.sun.cts.tests.appclient.deploy.ejb.ejbref.
            Test1</remote>
   </ejb-ref>
</application-client>



Resource DD XML Files



The following is a sample resource DD XML 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     Next     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

Last Updated March 06, 2002