JNDI. JNDI (Java Naming and Directory Interface) is used as a naming and directory service in J2EE/J2SE components.

Size: px
Start display at page:

Download "JNDI. JNDI (Java Naming and Directory Interface) is used as a naming and directory service in J2EE/J2SE components."

Transcription

1 JNDI JNDI (Java Naming and Directory Interface) is used as a naming and directory service in J2EE/J2SE components. A Naming service is a service that provides a mechanism for giving names to objects so that you can reference and retrieve those objects without knowing the location of the object. Examples are DNS, NIS. A Directory service is a naming service but also provides additional information by associating attributes with the objects. Examples are Active Directory and LDAP. JNDI 22 February

2 JNDI itself is just an API so it relies on an underlying service provider. Java program JNDI API JNDI Service Provider Interface (SPI) LDAP/DNS/NIS/CORBA/RMI/NDS/... The SPI is the place where vendors can plugin service providers. JNDI 22 February

3 You only need to learn a single API Insulates the application from protocols and implementation details You can read/write whole Java objects from the directories You can link different services together You can access resource factories such as JDBC drives or JMS drivers Looking up beans JNDI 22 February

4 A naming system is an hierarchical connected set of contexts, such as an LDAP tree or a catalogue hierachy. However there is no universal syntax for different services. JNDI 22 February

5 A J2EE or Servlet container contains a JDNI server but there are others, e. g. rmiregistry that is a standanlone RMI nameserver. Some information that you might need to know to use a JNDI server: JNDI service classname Servers host name port number The exact info depends on the server JNDI is used in JDBC, EJB, RMI-IIOP JNDI 22 February

6 There are several ways of defining JNDI service properties for a program, but you need only one of them. Add the properties to the Java runtime home directory provide an application resource file for the program Specify command line arguments Hardcode in your program, e. g. a Hashmap of name/value pairs. A property is just a name/value pair (in the simplest case). A property file is a file named jndi.properties that holds these pairs. JNDI 22 February

7 Some important properties are java.naming.provider.url, defines the server that runs your jndi service java.naming.factory.initial, defines the classname of the SPI java.naming.factory.url.pkgs, defines prefix for other classes used. JNDI 22 February

8 JNDI is defined in the javax.naming package. The environment where you can lookup or add names is a Context. The default context can be obtained with Context ctx = new InitialContext(); Once you have a context you can add (bind) JNDI objects to it ctx.bind( java:comp/env, xxxx); and lookup JNDI objects xxxtype xxx = ctx.lookup( java:/comp/env ); or looking up an EJB Object lookup = ctk.lookup( java:comp/env/ejb/agency ); AgencyHome home = (AgencyHome) PortableRemoteObject.narrow(lookup, AgencyHome.class); The latter is known as narrowing, the remote object is not an Object but can be narrowed into one. JNDI 22 February

9 Contexts are hierarchical eg Context initcontext = new InitialContext(); Context envcontext = (Context) initcontext.lookup( java:/comp/env ); JNDI 22 February

10 JNDI 22 February

11 JNDI 22 February

12 The 2.1 Specfication EJB s Ordinary Java Beans do have a number of limitations: They are not integrated in the container. No lifecycle control, no resourcepooling, no sharing, not possible to secure the beans. They cannot easily be distributed. There is no model for how persistency should be handled. JNDI 22 February

13 EJB s (Enterprise Java Beans) is a J2EE component that is supposed to overcome some of these shortcomings. What is an EJB? It is a serverside Java component that encapsulates the business logic of an application. In other word it is a piece of Java under the control of the web container and adheres to a number of protocols. When to use EJB s? The application must be scalable. You can distibute components across multiple machines, the location of the EJB s will be transparent. Transactions are required to ensure data integrity When there are a variety of clients JNDI 22 February

14 Types of Enterprise Beans: Session Beans, perform a task for a user, i. e. implements a service somehow Entity Beans, implements a business entity object that exists in persistent storage. Message-Driven Beans, Acts as a listener for the Java Message Service (JMS) API, process messages asynchronously JNDI 22 February

15 What is a Session Bean? A session bean represents a single client inside the J2EE server. To access a session bean, the beans methods are invoked. It performs work for its client, shielding the client from the complexity inside the server. It is not shared nor persistent. When its session terminates, the association is broken and the bean is terminated or reused. JNDI 22 February

16 State Management Modes: We do have stateful session beans and stateless session beans. A stateful sessionbean do have instancevariables. The state of the bean is their values. It is also called conversational state. The state is retained by the container for the duration of the session. A stateless session bean does not maintain a state. It can have instancevariables but their state is only maintained during an invokation. They are therefore all identical and can be pooled and reused by other application at soon as they are free. There is no need to save them anywhere. JNDI 22 February

17 When to use a session bean? At any time, only one client has access to the bean instance The state is not persistent The bean implements a web service JNDI 22 February

18 Stateful beans are appropriate if any of this is true: The state represents interaction between the bean and the client The bean need to hold information about the client across invokations The beans mediates between the client and other components The bean manages the work flow for several beans Stateless beans are appropriate if any of this is true: The beans state has no clientspecific data In a single method, the bean performs a generic task for all clients, like sending a mail The beans fetches from a database a set of readonly data that is often used by clients. JNDI 22 February

19 What is an Entity Bean? An entity bean represents a business object in a persinstent storage mechanism. Examples of business objects are customers, orders and products. The persistent storage in J2EE is a RDBMS. Typically an entity bean represents one row in table in the database. JNDI 22 February

20 What makes Entity Beans different from Session Beans? Persistence: Because the state of an entity bean is saved, it is persistent. This means that the state exists beyond the lifetime of the client and the server. There are two types of persistence: BMP and CMP. With Bean Managed Persistence, the code that you write contains the database accesses. With Container Managed Persistence, the container issues all database access calls automatically. The exact statements to use are part of the deployment data, i. e. configured in the container. JNDI 22 February

21 Shared access: Entity beans are shared by multiple clients. Therefore you have to use transactions to maintain a proper state. Primary key: Each entity bean has a unique object identifier. A customer might for example be identified with a customer number. The unique identifier, the primary key, is used to locate a particular entity bean. Relationships: Entity beans may be related to other entity beans. You need to take care of relations when you use BMP. JNDI 22 February

22 Container-managed Persistance: When using CMP, there are no SQL-statements in your bean. Instead there are an associated abstract schema that defines that layout and the actions. This means that you are not dependent on a particular database Abstract Schema: This defines the fields in the bean and their relationships. The schema is referenced by queries written in EJB-QL. There should be one query for each finder method. JNDI 22 February

23 When to use Entity Beans? The bean represents a business entity, not a procedure. For example a CreditCard, but not Credit- CardValidator. The state must be persistent. If the server or the bean terminates, the data is still stored in the database. JNDI 22 February

24 What is a Message Driven Bean? It is a kind of bean that acts as a listener for messages that are asynchronously processed. The message may be sent by any other J2EE component, or a JMS application outside J2EE. They are a kind of session beans but they are accessed in a different way. JNDI 22 February

25 Defining Client Access with Interfaces. You never access an EJB directly. For each bean you define an interface that specifies the methods you need. The interfaces simplifies the bean development because it is separated from the actual implementation. It means the beans can change internally as long as it doesn t affect the interface. The interfaces are never implemented though. Instead they are used to map your calls into beanmethods in the server. Thus the server will act as kind of proxy for you. This is because the location of the bean isn t known to the client, but the server knows. JNDI 22 February

26 There are two sets of interfaces that are used: the remote and home interfaces. These are used for the general case where a bean might be running in another JVM somewhere. the local and localhome interfaces. These are used if we want to restrict our bean to our local JVM. Firstly you need to decide whether your client should be remote to the bean or not. You can always use remote/home interfaces but there is a performance cost in doing that. All access is done using RMI-calls. There are some criterias about how to decide this but we will leave those to self study. JNDI 22 February

27 A remote model: Remote interface Remote client business methods Home interface EJB lifecycle control Note that you call the interfaces but they are only stubs that works as proxies, and that the container will forward your call into the bean itself. JNDI 22 February

28 The content of an Enterprise Bean Deployment descriptor, i. e. an XML file that specifies information about the type and other attributes of the bean The bean class, i. e. the implementation of the bean itself The interfaces Helper classes, other classes that the bean class might need JNDI 22 February

29 You pack this into an EJB-jar. Then you package the complete application in an EAR-file. This means that you will probably need some kind of tools to produce the proper files and to deploy the bean. In addition you need an EJB-container. You can use jboss. or Sun s reference implementation of the J2EE spec java.sun.com/j2ee/index.jsp JNDI 22 February

30 Naming conventions (assuming <name> is our bean): Enterprise bean name: EJB JAR: Bean class: Home Interface: Remote Interface: Local home interface: Local interface: Abstract schema: <name>ejb <name>jar <name>bean <name>home <name> <name>localhome <name>local <name> JNDI 22 February

31 An example, a converter, a stateless session bean. The remote interface: package converter; import javax.ejb.ejbobject; import java.rmi.remoteexception; import java.math.*; public interface Converter extends EJBObject { public BigDecimal dollartoyen( BigDecimal dollars) throws RemoteException; public BigDecimal yentoeuro( BigDecimal yen) throws RemoteException; JNDI 22 February

32 And the home interface: package converter; import java.io.serializable; import java.rmi.remoteexception; import javax.ejb.createexception; import javax.ejb.ejbhome; public interface ConverterHome extends EJBHome { Converter create() throws RemoteException, CreateException; JNDI 22 February

33 And the Bean itself: package converter; import java.rmi.remoteexception; import javax.ejb.sessionbean; import javax.ejb.sessioncontext; import java.math.*; public class ConverterBean implements SessionBean { BigDecimal yenrate = new BigDecimal( ); BigDecimal eurorate = new BigDecimal( ); public BigDecimal dollartoyen( BigDecimal dollars) { BigDecimal result = dollars.multiply(yenrate); return result.setscale(2, BigDecimal.ROUND_UP); public BigDecimal yentoeuro( BigDecimal yen) { BigDecimal result = yen.multiply(eurorate); return result.setscale(2, BigDecimal.ROUND_UP); JNDI 22 February

34 public ConverterBean() { public void ejbcreate() { public void ejbremove() { public void ejbactivate() { public void ejbpassivate() { public void setsessioncontext( SessionContext sc) { // ConverterBean JNDI 22 February

35 And a client: import converter.converter; import converter.converterhome; import javax.naming.context; import javax.naming.initialcontext; import javax.rmi.portableremoteobject; import java.math.bigdecimal; public class ConverterClient { public static void main(string[] args) { try { Context initial = new InitialContext(); Context myenv = Context) initial.lookup( java:comp/env ); Object objref = myenv.lookup( ejb/simpleconverter ); ConverterHome home = (ConverterHome) PortableRemoteObject.narrow( objref, ConverterHome.class); Converter currencyconverter = home.create(); BigDecimal param = new BigDecimal( ); BigDecimal amount = currencyconverter.dollartoyen(param); System.out.println(amount); amount = currencyconverter.yentoeuro(param); JNDI 22 February

36 System.out.println(amount); System.exit(0); catch (Exception ex) { System.err.println( Caught an unexpected exception! ); ex.printstacktrace(); JNDI 22 February

37 A JSP Client page import= converter.converter, converter.converterhome, javax.ejb.*, java.math.*, javax.naming.*, javax.rmi.portableremoteobject, java.rmi.remoteexception %> <%! private Converter converter = null; public void jspinit() { try { InitialContext ic = new InitialContext(); Object objref = ic.lookup( java:comp/env/ejb/theconverter ); ConverterHome home = (ConverterHome)PortableRemoteObject.narrow( objref, ConverterHome.class); converter = home.create(); catch (RemoteException ex) { System.out.println( Couldn t create converter bean. + ex.getmessage()); catch (CreateException ex) { System.out.println( Couldn t create converter bean. + ex.getmessage()); catch (NamingException ex) { System.out.println( Unable to lookup home: + TheConverter + ex.getmessage()); public void jspdestroy() { converter = null; %> <html> <head> <title>converter</title> </head> JNDI 22 February

38 <body bgcolor= white > <h1><b><center>converter</center></b></h1> <hr> <p>enter an amount to convert:</p> <form method= get > <input type= text name= amount size= 25 > <br> <p> <input type= submit value= Submit > <input type= reset value= Reset > </form> <% String amount = request.getparameter( amount ); if ( amount!= null && amount.length() > 0 ) { BigDecimal d = new BigDecimal (amount); %> <p> <%= amount %> dollars are <%= converter.dollartoyen(d) %> Yen. <p> <%= amount %> Yen are <%= converter.yentoeuro(d) %> Euro. <% %> </body> </html> JNDI 22 February

39 web.xml will be <?xml version= 1.0 encoding= UTF-8?> <web-app xmlns= j2ee version= 2.4 xmlns:xsi= xsi:schemalocation= j2ee web-app_2_4.xsd > <display-name xml:lang= sv > ConverterWAR </display-name> <servlet> <display-name xml:lang= sv > index </display-name> <servlet-name> index </servlet-name> <jsp-file> /index.jsp </jsp-file> </servlet> <ejb-ref> <ejb-ref-name> ejb/theconverter </ejb-ref-name> <ejb-ref-type> Session JNDI 22 February

40 </ejb-ref-type> <home> converter.converterhome </home> <remote> converter.converter </remote> </ejb-ref> </web-app> JNDI 22 February

41 And the additional sun-web.xml <?xml version= 1.0 encoding= UTF-8?> <!DOCTYPE sun-web-app PUBLIC -//Sun Microsystems, Inc.//DTD Application Server 8.0 Servlet 2.4//EN software/appserver/dtds/ sun-web-app_2_4-0.dtd > <sun-web-app> <context-root>/converter</context-root> <ejb-ref> <ejb-ref-name> ejb/theconverter </ejb-ref-name> <jndi-name> ConverterEJB </jndi-name> </ejb-ref> </sun-web-app> JNDI 22 February

42 A BMP entity bean is a bit more complex, but an example is: The remote interface: import javax.ejb.ejbobject; import java.rmi.remoteexception; import java.math.bigdecimal; public interface SavingsAccount extends EJBObject { public void debit(bigdecimal amount) throws InsufficientBalanceException, RemoteException; public void credit(bigdecimal amount) throws RemoteException; public String getfirstname() throws RemoteException; public String getlastname() throws RemoteException; public BigDecimal getbalance() throws RemoteException; JNDI 22 February

43 The home interface: import java.util.collection; import java.math.bigdecimal; import java.rmi.remoteexception; import javax.ejb.*; public interface SavingsAccountHome extends EJBHome { public SavingsAccount create(string id, String firstname, String lastname, BigDecimal balance) throws RemoteException, CreateException; public SavingsAccount findbyprimarykey( String id) throws FinderException, RemoteException; public Collection findbylastname( String lastname) throws FinderException, RemoteException; public Collection findinrange( BigDecimal low, BigDecimal high) throws FinderException, RemoteException; JNDI 22 February

44 public void chargeforlowbalance( BigDecimal minimumbalance, BigDecimal charge) throws InsufficientBalanceException, RemoteException; JNDI 22 February

45 And the bean itself: import java.sql.*; import javax.sql.*; import java.util.*; import java.math.*; import javax.ejb.*; import javax.naming.*; public class SavingsAccountBean implements EntityBean { private String id; private String firstname; private String lastname; private BigDecimal balance; private EntityContext context; private Connection con; private final static String dbname = java:comp/env/jdbc/savingsaccountdb ; public void debit(bigdecimal amount) throws InsufficientBalanceException { if (balance.compareto(amount) == -1) { throw new InsufficientBalanceException(); balance = balance.subtract(amount); public void credit(bigdecimal amount) { balance = balance.add(amount); public String getfirstname() { return firstname; public String getlastname() { return lastname; JNDI 22 February

46 public BigDecimal getbalance() { return balance; public void ejbhomechargeforlowbalance( BigDecimal minimumbalance, BigDecimal charge) throws InsufficientBalanceException { try { SavingsAccountHome home = (SavingsAccountHome) context.getejbhome(); Collection c = home.findinrange(new BigDecimal( 0.00 ), minimumbalance.subtract(new BigDecimal( 0.01 ))); Iterator i = c.iterator(); while (i.hasnext()) { SavingsAccount account = (SavingsAccount) i.next(); if (account.getbalance().compareto(charge) == 1) { account.debit(charge); catch (Exception ex) { throw new EJBException( ejbhomechargeforlowbalance: + ex.getmessage()); public String ejbcreate(string id, String firstname, String lastname, BigDecimal balance) throws CreateException { if (balance.signum() == -1) { throw new CreateException ( A negative initial balance is not allowed. ); try { insertrow(id, firstname, lastname, balance); catch (Exception ex) { JNDI 22 February

47 throw new EJBException( ejbcreate: + ex.getmessage()); this.id = id; this.firstname = firstname; this.lastname = lastname; this.balance = balance; return id; public String ejbfindbyprimarykey(string primarykey) throws FinderException { boolean result; try { result = selectbyprimarykey(primarykey); catch (Exception ex) { throw new EJBException( ejbfindbyprimarykey: + ex.getmessage()); if (result) { return primarykey; else { throw new ObjectNotFoundException ( Row for id + primarykey + not found. ); public Collection ejbfindbylastname(string lastname) throws FinderException { Collection result; try { result = selectbylastname(lastname); catch (Exception ex) { throw new EJBException( ejbfindbylastname + ex.getmessage()); return result; JNDI 22 February

48 public Collection ejbfindinrange(bigdecimal low, BigDecimal high) throws FinderException { Collection result; try { result = selectinrange(low, high); catch (Exception ex) { throw new EJBException( ejbfindinrange: + ex.getmessage()); return result; public void ejbremove() { try { deleterow(id); catch (Exception ex) { throw new EJBException( ejbremove: + ex.getmessage()); public void setentitycontext(entitycontext context) { this.context = context; public void unsetentitycontext() { public void ejbactivate() { id = (String) context.getprimarykey(); public void ejbpassivate() { id = null; public void ejbload() { JNDI 22 February

49 try { loadrow(); catch (Exception ex) { throw new EJBException( ejbload: + ex.getmessage()); public void ejbstore() { try { storerow(); catch (Exception ex) { throw new EJBException( ejbstore: + ex.getmessage()); public void ejbpostcreate(string id, String firstname, String lastname, BigDecimal balance) { /*********************** Database Routines *************************/ private void makeconnection() { try { InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(dbname); con = ds.getconnection(); catch (Exception ex) { throw new EJBException( Unable to connect to database. + ex.getmessage()); private void releaseconnection() { try { con.close(); catch (SQLException ex) { throw new EJBException( releaseconnection: + ex.getmessage()); JNDI 22 February

50 private void insertrow(string id, String firstname, String lastname, BigDecimal balance) throws SQLException { makeconnection(); String insertstatement = insert into savingsaccount values (?,?,?,? ) ; PreparedStatement prepstmt = con.preparestatement(insertstatement); prepstmt.setstring(1, id); prepstmt.setstring(2, firstname); prepstmt.setstring(3, lastname); prepstmt.setbigdecimal(4, balance); prepstmt.executeupdate(); prepstmt.close(); releaseconnection(); private void deleterow(string id) throws SQLException { makeconnection(); String deletestatement = delete from savingsaccount where id =? ; PreparedStatement prepstmt = con.preparestatement(deletestatement); prepstmt.setstring(1, id); prepstmt.executeupdate(); prepstmt.close(); releaseconnection(); private boolean selectbyprimarykey(string primarykey) throws SQLException { makeconnection(); String selectstatement = select id + from savingsaccount where id =? ; PreparedStatement prepstmt = con.preparestatement(selectstatement); prepstmt.setstring(1, primarykey); JNDI 22 February

51 ResultSet rs = prepstmt.executequery(); boolean result = rs.next(); prepstmt.close(); releaseconnection(); return result; private Collection selectbylastname(string lastname) throws SQLException { makeconnection(); String selectstatement = select id + from savingsaccount where lastname =? ; PreparedStatement prepstmt = con.preparestatement(selectstatement); prepstmt.setstring(1, lastname); ResultSet rs = prepstmt.executequery(); ArrayList a = new ArrayList(); while (rs.next()) { String id = rs.getstring(1); a.add(id); prepstmt.close(); releaseconnection(); return a; private Collection selectinrange(bigdecimal low, BigDecimal high) throws SQLException { makeconnection(); String selectstatement = select id from savingsaccount + where balance between? and? ; PreparedStatement prepstmt = con.preparestatement(selectstatement); prepstmt.setbigdecimal(1, low); prepstmt.setbigdecimal(2, high); JNDI 22 February

52 ResultSet rs = prepstmt.executequery(); ArrayList a = new ArrayList(); while (rs.next()) { String id = rs.getstring(1); a.add(id); prepstmt.close(); releaseconnection(); return a; private void loadrow() throws SQLException { makeconnection(); String selectstatement = select firstname, lastname, balance + from savingsaccount where id =? ; PreparedStatement prepstmt = con.preparestatement(selectstatement); prepstmt.setstring(1, this.id); ResultSet rs = prepstmt.executequery(); if (rs.next()) { this.firstname = rs.getstring(1); this.lastname = rs.getstring(2); this.balance = rs.getbigdecimal(3); prepstmt.close(); else { prepstmt.close(); throw new NoSuchEntityException( Row for id + id + not found in database. ); releaseconnection(); private void storerow() throws SQLException { makeconnection(); String updatestatement = update savingsaccount set firstname =?, + lastname =?, balance =? + where id =? ; JNDI 22 February

53 PreparedStatement prepstmt = con.preparestatement(updatestatement); prepstmt.setstring(1, firstname); prepstmt.setstring(2, lastname); prepstmt.setbigdecimal(3, balance); prepstmt.setstring(4, id); int rowcount = prepstmt.executeupdate(); prepstmt.close(); if (rowcount == 0) { throw new EJBException( Storing row for id + id + failed. ); releaseconnection(); // SavingsAccountBean JNDI 22 February

54 And a client: import java.util.*; import java.math.*; import javax.naming.context; import javax.naming.initialcontext; import javax.rmi.portableremoteobject; public class SavingsAccountClient { public static void main(string[] args) { try { Context initial = new InitialContext(); Object objref = initial.lookup( java:comp/env/ejb/simplesavingsaccount ); SavingsAccountHome home = (SavingsAccountHome) PortableRemoteObject.narrow( objref.savingsaccounthome.class); BigDecimal zeroamount = new BigDecimal( 0.00 ); SavingsAccount duke = home.create( 123, Duke, Earl, zeroamount); duke.credit(new BigDecimal( )); duke.debit(new BigDecimal( )); BigDecimal balance = duke.getbalance(); System.out.println( balance = + balance); duke.remove(); SavingsAccount joe = home.create( 836, Joe, Jones, zeroamount); joe.credit(new BigDecimal( )); SavingsAccount jones = home.findbyprimarykey( 836 ); jones.debit(new BigDecimal( 2.00 )); balance = jones.getbalance(); System.out.println( balance = + balance); SavingsAccount pat = home.create( 456, Pat, Smith, zeroamount); JNDI 22 February

55 pat.credit(new BigDecimal( )); SavingsAccount john = home.create( 730, John, Smith, zeroamount); john.credit(new BigDecimal( )); SavingsAccount mary = home.create( 268, Mary, Smith, zeroamount); mary.credit(new BigDecimal( )); Collection c = home.findbylastname( Smith ); Iterator i = c.iterator(); while (i.hasnext()) { SavingsAccount account = (SavingsAccount) i.next(); String id = (String) account.getprimarykey(); BigDecimal amount = account.getbalance(); System.out.println(id + : + amount); c = home.findinrange(new BigDecimal( ), new BigDecimal( )); i = c.iterator(); while (i.hasnext()) { SavingsAccount account = (SavingsAccount) i.next(); String id = (String) account.getprimarykey();j BigDecimal amount = account.getbalance(); System.out.println(id + : + amount); SavingsAccount pete = home.create( 904, Pete, Carlson, new BigDecimal( 5.00 )); SavingsAccount sally = home.create( 905, Sally, Fortney, new BigDecimal( 8.00 )); home.chargeforlowbalance(new BigDecimal( ), new BigDecimal( 1.00 )); BigDecimal reducedamount = pete.getbalance(); JNDI 22 February

56 System.out.println(reducedAmount); reducedamount = sally.getbalance(); System.out.println(reducedAmount); System.exit(0); catch (InsufficientBalanceException ex) { System.err.println( Caught an InsufficientBalanceException: + ex.getmessage()); catch (Exception ex) { System.err.println( Caught an exception. ); ex.printstacktrace(); JNDI 22 February

57 create.sql: drop table savingsaccount; create table savingsaccount ( id varchar(3) constraint pk_savings_account primary key, firstname varchar(24), lastname varchar(24), balance numeric(10,2)); JNDI 22 February

58 And web.xml <?xml version= 1.0 encoding= UTF-8?><ejb-jar version= 2.1 xmlns= xmlns:xsi= xsi:schemalocation= java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd > <display-name>savingsaccountjar</display-name> <enterprise-beans> <entity> <ejb-name>savingsaccountejb</ejb-name> <home>savingsaccounthome</home> <remote>savingsaccount</remote> <ejb-class>savingsaccountbean</ejb-class> <persistence-type>bean</persistence-type> <prim-key-class>java.lang.object</prim-key-class> <reentrant>false</reentrant> <resource-ref> <res-ref-name>jdbc/savingsaccountdb</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> <res-sharing-scope>shareable</res-sharing-scope> </resource-ref> <security-identity> <use-caller-identity/> </security-identity> </entity> </enterprise-beans> </ejb-jar> JNDI 22 February

59 <?xml version= 1.0 encoding= UTF-8?> <!DOCTYPE sun-ejb-jar PUBLIC -//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 EJB 2.1//EN /dtds/sun-ejb-jar_2_1-0.dtd > <sun-ejb-jar> <enterprise-beans> <name>savingsaccountjar</name> <unique-id> </unique-id> <ejb> <ejb-name>savingsaccountejb</ejb-name> <jndi-name>savingsaccountejb</jndi-name> <resource-ref> <res-ref-name>jdbc/savingsaccountdb</res-ref-name> <jndi-name>jdbc/ejbtutorialdb</jndi-name> </resource-ref> </ejb> </enterprise-beans> </sun-ejb-jar> JNDI 22 February

Life Cycle of an Entity Bean

Life Cycle of an Entity Bean Entity Bean An entity bean represents a business object by a persistent database table instead of representing a client. Students, teachers, and courses are some examples of entity beans. Each entity bean

More information

Lab2: CMP Entity Bean working with Session Bean

Lab2: CMP Entity Bean working with Session Bean Session Bean The session bean in the Lab1 uses JDBC connection to retrieve conference information from the backend database directly. The Lab2 extends the application in Lab1 and adds an new entity bean

More information

Lab1: Stateless Session Bean for Registration Fee Calculation

Lab1: Stateless Session Bean for Registration Fee Calculation Registration Fee Calculation The Lab1 is a Web application of conference registration fee discount calculation. There may be sub-conferences for attendee to select. The registration fee varies for different

More information

<<Interface>> EntityBean (from ejb) EJBHome. <<Interface>> CountHome. (from entity) create() findbyprimarykey() <<Interface>> EJBObject.

<<Interface>> EntityBean (from ejb) EJBHome. <<Interface>> CountHome. (from entity) create() findbyprimarykey() <<Interface>> EJBObject. Count BMP Entity EJB Count BMP Entity EJB EJBHome (from ejb) EntityBean (from ejb) CountClient main() CountHome create() findbyprimarykey() EJBObject (from ejb) Count getcurrentsum() setcurrentsum() increment()

More information

Understanding and Designing with EJB

Understanding and Designing with EJB Understanding and Designing with EJB B.Ramamurthy Based on j2eetutorial documentation. http://java.sun.com/j2ee/tutorial/1_3-fcs/index.html 3/31/2003 1 Review Request/Response Model Distributed Objects:

More information

UNIT-III EJB APPLICATIONS

UNIT-III EJB APPLICATIONS UNIT-III EJB APPLICATIONS CONTENTS EJB Session Beans EJB entity beans EJB clients EJB Deployment Building an application with EJB. EJB Types Types of Enterprise Beans Session beans: Also called business

More information

Stateless Session Bean

Stateless Session Bean Session Beans As its name implies, a session bean is an interactive bean and its lifetime is during the session with a specific client. It is non-persistent. When a client terminates the session, the bean

More information

Enterprise JavaBeans. Layer:08. Persistence

Enterprise JavaBeans. Layer:08. Persistence Enterprise JavaBeans Layer:08 Persistence Agenda Discuss "finder" methods. Describe DataSource resources. Describe bean-managed persistence. Describe container-managed persistence. Last Revised: 11/1/2001

More information

jar command Java Archive inherits from tar : Tape Archive commands: jar cvf filename jar tvf filename jar xvf filename java jar filename.

jar command Java Archive inherits from tar : Tape Archive commands: jar cvf filename jar tvf filename jar xvf filename java jar filename. jar & jar files jar command Java Archive inherits from tar : Tape Archive commands: jar cvf filename jar tvf filename jar xvf filename java jar filename.jar jar file A JAR file can contain Java class files,

More information

Lab3: A J2EE Application with Stateful Session Bean and CMP Entity Beans

Lab3: A J2EE Application with Stateful Session Bean and CMP Entity Beans Session Bean and CMP Entity Beans Based on the lab2, the lab3 implements an on line symposium registration application RegisterApp which consists of a front session bean and two CMP supported by database

More information

Introduction to Session beans EJB 3.0

Introduction to Session beans EJB 3.0 Introduction to Session beans EJB 3.0 Remote Interface EJB 2.1 ===================================================== public interface Hello extends javax.ejb.ejbobject { /** * The one method - hello -

More information

Conception of Information Systems Lecture 8: J2EE and EJBs

Conception of Information Systems Lecture 8: J2EE and EJBs Conception of Information Systems Lecture 8: J2EE and EJBs 3 May 2005 http://lsirwww.epfl.ch/courses/cis/2005ss/ 2004-2005, Karl Aberer & J.P. Martin-Flatin 1 1 Outline Components J2EE and Enterprise Java

More information

Enterprise JavaBeans. Layer:07. Entity

Enterprise JavaBeans. Layer:07. Entity Enterprise JavaBeans Layer:07 Entity Agenda Build entity beans. Describe the bean's lifecycle. Describe the server's free pool. Copyright (C) 2001 2 Entity Beans Purpose Entity beans represent business

More information

Enterprise JavaBeans: BMP and CMP Entity Beans

Enterprise JavaBeans: BMP and CMP Entity Beans CIS 386 Course Advanced Enterprise Java Programming Enterprise JavaBeans: BMP and CMP Entity Beans René Doursat Guest Lecturer Golden Gate University, San Francisco February 2003 EJB Trail Session Beans

More information

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong Enterprise JavaBeans (I) K.P. Chow University of Hong Kong JavaBeans Components are self contained, reusable software units that can be visually composed into composite components using visual builder

More information

Objectives. Software Development using MacroMedia s JRun. What are EJBs? Topics for Discussion. Examples of Session beans calling entity beans

Objectives. Software Development using MacroMedia s JRun. What are EJBs? Topics for Discussion. Examples of Session beans calling entity beans Software Development using MacroMedia s JRun B.Ramamurthy Objectives To study the components and working of an enterprise java bean (EJB). Understand the features offered by Jrun4 environment. To be able

More information

Enterprise JavaBeans. Session EJBs

Enterprise JavaBeans. Session EJBs Enterprise JavaBeans Dan Harkey Client/Server Computing Program Director San Jose State University dharkey@email.sjsu.edu www.corbajava.engr.sjsu.edu Session EJBs Implement business logic that runs on

More information

Chapter 6 Enterprise Java Beans

Chapter 6 Enterprise Java Beans Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

Copyright UTS Faculty of Information Technology 2002 EJB2 EJB-3. Use Design Patterns 1 to re-use well known programming techniques.

Copyright UTS Faculty of Information Technology 2002 EJB2 EJB-3. Use Design Patterns 1 to re-use well known programming techniques. Advanced Java Programming (J2EE) Enterprise Java Beans (EJB) Part 2 Entity & Message Beans Chris Wong chw@it.uts.edu.au (based on prior class notes & Sun J2EE tutorial) Enterprise Java Beans Last lesson

More information

these methods, remote clients can access the inventory services provided by the application.

these methods, remote clients can access the inventory services provided by the application. 666 ENTERPRISE BEANS 18 Enterprise Beans problems. The EJB container not the bean developer is responsible for system-level services such as transaction management and security authorization. Second, because

More information

ENTERPRISE beans are the J2EE components that implement Enterprise Java-

ENTERPRISE beans are the J2EE components that implement Enterprise Java- 18 Enterprise Beans ENTERPRISE beans are the J2EE components that implement Enterprise Java- Beans (EJB) technology. Enterprise beans run in the EJB container, a runtime environment within the J2EE server

More information

The Details of Writing Enterprise Java Beans

The Details of Writing Enterprise Java Beans The Details of Writing Enterprise Java Beans Your Guide to the Fundamentals of Writing EJB Components P. O. Box 80049 Austin, TX 78708 Fax: +1 (801) 383-6152 information@middleware-company.com +1 (877)

More information

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution

More information

8. Component Software

8. Component Software 8. Component Software Overview 8.1 Component Frameworks: An Introduction 8.2 OSGi Component Framework 8.2.1 Component Model and Bundles 8.2.2 OSGi Container and Framework 8.2.3 Further Features of the

More information

Enterprise JavaBeans. Layer:03. Session

Enterprise JavaBeans. Layer:03. Session Enterprise JavaBeans Layer:03 Session Agenda Build stateless & stateful session beans. Describe the bean's lifecycle. Describe the server's swapping mechanism. Last Revised: 10/2/2001 Copyright (C) 2001

More information

JBuilder. Getting Started Guide part II. Preface. Creating your Second Enterprise JavaBean. Container Managed Persistent Bean.

JBuilder. Getting Started Guide part II. Preface. Creating your Second Enterprise JavaBean. Container Managed Persistent Bean. Getting Started Guide part II Creating your Second Enterprise JavaBean Container Managed Persistent Bean by Gerard van der Pol and Michael Faisst, Borland Preface Introduction This document provides an

More information

Enterprise JavaBeans TM

Enterprise JavaBeans TM Enterprise JavaBeans TM Linda DeMichiel Sun Microsystems, Inc. Agenda Quick introduction to EJB TM Major new features Support for web services Container-managed persistence Query language Support for messaging

More information

8. Component Software

8. Component Software 8. Component Software Overview 8.1 Component Frameworks: An Introduction 8.2 OSGi Component Framework 8.2.1 Component Model and Bundles 8.2.2 OSGi Container and Framework 8.2.3 Further Features of the

More information

Q: I just remembered that I read somewhere that enterprise beans don t support inheritance! What s that about?

Q: I just remembered that I read somewhere that enterprise beans don t support inheritance! What s that about? session beans there are no Dumb Questions Q: If it s so common to leave the methods empty, why don t they have adapter classes like they have for event handlers that implement all the methods from the

More information

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Objectives Three Tiered Architecture Why EJB? What all we should know? EJB Fundamentals 2 Three Tiered Architecture Introduction Distributed three-tier design is needed for Increased

More information

Accessing EJB in Web applications

Accessing EJB in Web applications Accessing EJB in Web applications 1. 2. 3. 4. Developing Web applications Accessing JDBC in Web applications To run this tutorial, as a minimum you will be required to have installed the following prerequisite

More information

Distributed Applications (RMI/JDBC) Copyright UTS Faculty of Information Technology 2002 EJB EJB-3

Distributed Applications (RMI/JDBC) Copyright UTS Faculty of Information Technology 2002 EJB EJB-3 Advanced Java programming (J2EE) Enterprise Java Beans (EJB) Part 1 Architecture & Session Beans Chris Wong chw@it.uts.edu.au [based on prior course notes & the Sun J2EE tutorial] Enterprise Java Beans

More information

Sharpen your pencil. Container services. EJB Object. the bean

Sharpen your pencil. Container services. EJB Object. the bean EJB architecture 1 Label the three parts in the diagram. Client B Container services server Client object biz interface A EJB Object C the bean DB 2 Describe (briefly) what each of the three things are

More information

Entity Beans 02/24/2004

Entity Beans 02/24/2004 Entity Beans 1 This session is about Entity beans. Understanding entity beans is very important. Yet, entity bean is a lot more complex beast than a session bean since it involves backend database. So

More information

SCBCD EXAM STUDY KIT. Paul Sanghera CX JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB MANNING. Covers all you need to pass

SCBCD EXAM STUDY KIT. Paul Sanghera CX JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB MANNING. Covers all you need to pass CX-310-090 SCBCD EXAM STUDY KIT JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB Covers all you need to pass Includes free download of a simulated exam You will use it even after passing the exam

More information

J2EE Web Development 13/1/ Application Servers. Application Servers. Agenda. In the beginning, there was darkness and cold.

J2EE Web Development 13/1/ Application Servers. Application Servers. Agenda. In the beginning, there was darkness and cold. 1. Application Servers J2EE Web Development In the beginning, there was darkness and cold. Then, mainframe terminals terminals Centralized, non-distributed Agenda Application servers What is J2EE? Main

More information

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 10.0 Document Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

The Developer s Guide to Understanding Enterprise JavaBeans. Nova Laboratories

The Developer s Guide to Understanding Enterprise JavaBeans. Nova Laboratories The Developer s Guide to Understanding Enterprise JavaBeans Nova Laboratories www.nova-labs.com For more information about Nova Laboratories or the Developer Kitchen Series, or to add your name to our

More information

Developing Portable Applications for the Java 2 Platform, Enterprise Edition (J2EE )

Developing Portable Applications for the Java 2 Platform, Enterprise Edition (J2EE ) Developing Portable Applications for the Java 2 Platform, Enterprise Edition (J2EE ) Kevin Osborn, Philippe Hanrigou, Lance Andersen Sun Microsystems, Inc. Goal Learn how to develop portable applications

More information

Web Applications and Database Connectivity using JDBC (Part II)

Web Applications and Database Connectivity using JDBC (Part II) Web Applications and Database Connectivity using JDBC (Part II) Advanced Topics in Java Khalid Azim Mughal khalid@ii.uib.no http://www.ii.uib.no/~khalid/atij/ Version date: 2007-02-08 ATIJ Web Applications

More information

Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics:

Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics: Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics: EJB 3 entities Java persistence API Mapping an entity to a database table

More information

Oracle 10g: Build J2EE Applications

Oracle 10g: Build J2EE Applications Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments

More information

J2EE Application Server. EJB Overview. Java versus.net for the Enterprise. Component-Based Software Engineering. ECE493-Topic 5 Winter 2007

J2EE Application Server. EJB Overview. Java versus.net for the Enterprise. Component-Based Software Engineering. ECE493-Topic 5 Winter 2007 Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 24 Java Enterprise (Part B) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo J2EE Application

More information

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER Higher Quality Better Service! Exam Actual QUESTION & ANSWER Accurate study guides, High passing rate! Exam Actual provides update free of charge in one year! http://www.examactual.com Exam : 310-090 Title

More information

Oracle9iAS Containers for J2EE

Oracle9iAS Containers for J2EE Oracle9iAS Containers for J2EE Enterprise JavaBeans Developer s Guide Release 2 (9.0.4) Part No. B10324-01 April 2003 Beta Draft. Oracle9iAS Containers for J2EE Enterprise JavaBeans Developer s Guide,

More information

ITdumpsFree. Get free valid exam dumps and pass your exam test with confidence

ITdumpsFree.  Get free valid exam dumps and pass your exam test with confidence ITdumpsFree http://www.itdumpsfree.com Get free valid exam dumps and pass your exam test with confidence Exam : 310-090 Title : Sun Certified Business Component Developer for J2EE 1.3 Vendors : SUN Version

More information

Enterprise JavaBeans 2.1

Enterprise JavaBeans 2.1 Enterprise JavaBeans 2.1 STEFAN DENNINGER and INGO PETERS with ROB CASTANEDA translated by David Kramer ApressTM Enterprise JavaBeans 2.1 Copyright c 2003 by Stefan Denninger and Ingo Peters with Rob Castaneda

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

Container Managed Persistent in EJB 2.0

Container Managed Persistent in EJB 2.0 Container Managed Persistent in EJB 2.0 A comprehensive explanation of the new CMP in EJB 2.0 (PFD 2) using the RI of SUN By Raphael Parree 2001 IT-DreamTeam Table of Contents INTRODUCTION 3 CMP IMPLEMENTATION

More information

Deccansoft Software Services. J2EE Syllabus

Deccansoft Software Services. J2EE Syllabus Overview: Java is a language and J2EE is a platform which implements java language. J2EE standard for Java 2 Enterprise Edition. Core Java and advanced java are the standard editions of java whereas J2EE

More information

J2EE. Enterprise Architecture Styles: Two-Tier Architectures:

J2EE. Enterprise Architecture Styles: Two-Tier Architectures: J2EE J2EE is a unified standard for distributed applications through a component-based application model. It is a specification, not a product. There is a reference implementation available from Sun. We

More information

JAVA. Aspects (AOP) AspectJ

JAVA. Aspects (AOP) AspectJ JAVA Aspects (AOP) AspectJ AOP Aspect-oriented programming separation of concerns concern ~ a part of program code related to a particular functionality typically understood as an extension of OOP solves

More information

IBM WebSphere Application Server. J2EE Programming Model Best Practices

IBM WebSphere Application Server. J2EE Programming Model Best Practices IBM WebSphere Application Server J2EE Programming Model Best Practices Requirements Matrix There are four elements of the system requirements: business process and application flow dynamic and static aspects

More information

Enterprise JavaBeans (EJB) security

Enterprise JavaBeans (EJB) security Enterprise JavaBeans (EJB) security Nasser M. Abbasi sometime in 2000 page compiled on August 29, 2015 at 8:27pm Contents 1 Introduction 1 2 Overview of security testing 1 3 Web project dataflow 2 4 Test

More information

Java/J2EE Interview Questions(255 Questions)

Java/J2EE Interview Questions(255 Questions) Java/J2EE Interview Questions(255 Questions) We are providing the complete set of Java Interview Questions to the Java/J2EE Developers, which occurs frequently in the interview. Java:- 1)What is static

More information

Developing a JAX-WS EJB Stateless Session Bean Web Service

Developing a JAX-WS EJB Stateless Session Bean Web Service Developing a JAX-WS EJB Stateless Session Bean Web Service {scrollbar} This tutorial will take you through the steps required in developing, deploying and testing a EJB Stateless Session Bean Web Service

More information

JavaEE Interview Prep

JavaEE Interview Prep Java Database Connectivity 1. What is a JDBC driver? A JDBC driver is a Java program / Java API which allows the Java application to establish connection with the database and perform the database related

More information

Enterprise Java Beans for the Oracle Internet Platform

Enterprise Java Beans for the Oracle Internet Platform Enterprise Java Beans for the Oracle Internet Platform Matthieu Devin, Rakesh Dhoopar, and Wendy Liau, Oracle Corporation Abstract Enterprise Java Beans is a server component model for Java that will dramatically

More information

Enterprise JavaBeans

Enterprise JavaBeans 3.0 Claude Duvallet University of Le Havre Faculty of Sciences and Technology 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX, FRANCE Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/index-en.php

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES Corporate Solutions Pvt. Ltd. How much new information can fit in your brain? Courses Core Java+Advanced Java+J2EE+ EJP+Struts+Hibernate+Spring Certifications SCJP, SCWD, SCBCD, J2ME Corporate Trainer

More information

J2EE Access of Relational Data

J2EE Access of Relational Data J2EE Access of Relational Data Direct JDBC Direct SQL calls, uses rows and result sets directly Object view Accessed as objects or components, transparent that the data is stored in relational database

More information

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~ 1 Component: Szyperski s definition of a component: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can

More information

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:

More information

presentation DAD Distributed Applications Development Cristian Toma

presentation DAD Distributed Applications Development Cristian Toma Lecture 12 S4 - Core Distributed Middleware Programming in JEE Distributed Development of Business Logic Layer presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department

More information

Enterprise JavaBeans. Layer 05: Deployment

Enterprise JavaBeans. Layer 05: Deployment Enterprise JavaBeans Layer 05: Deployment Agenda Discuss the deployment descriptor including its structure and capabilities. Discuss JNDI as it pertains to EJB. Last Revised: 10/2/2001 Copyright (C) 2001

More information

Web Design and Applications

Web Design and Applications Web Design and Applications JEE - Session Beans Gheorghe Aurel Pacurar JEE - Session Beans What is a session bean? A session bean is the enterprise bean that directly interact with the user and contains

More information

Session Bean. Disclaimer & Acknowledgments. Revision History. Sang Shin Jeff Cutler

Session Bean.  Disclaimer & Acknowledgments. Revision History. Sang Shin Jeff Cutler J2EE Programming with Passion! Session Bean Sang Shin sang.shin@sun.com Jeff Cutler jpcutler@yahoo.com 1 www.javapassion.com/j2ee 2 Disclaimer & Acknowledgments? Even though Sang Shin is a full-time employee

More information

Developing CMP 2.0 Entity Beans

Developing CMP 2.0 Entity Beans 863-5ch11.fm Page 292 Tuesday, March 12, 2002 2:59 PM Developing CMP 2.0 Entity Beans Topics in This Chapter Characteristics of CMP 2.0 Entity Beans Advantages of CMP Entity Beans over BMP Entity Beans

More information

Server and WebLogic Express

Server and WebLogic Express BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 9.0 Document Revised: July 22, 2005 Copyright Copyright 2005 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This

More information

Simple Entity EJB - xdoclet, MyEclipse, Jboss and PostgreSql, MySql

Simple Entity EJB - xdoclet, MyEclipse, Jboss and PostgreSql, MySql Simple Entity EJB - xdoclet, MyEclipse, Jboss and PostgreSql, MySql Creation and testing of a first Entity Bean using MyEcplise, Jboss and xdoclet. General Author: Sebastian Hennebrüder http://www.laliluna.de/tutorial.html

More information

WHAT IS EJB. Security. life cycle management.

WHAT IS EJB. Security. life cycle management. EJB WHAT IS EJB EJB is an acronym for enterprise java bean. It is a specification provided by Sun Microsystems to develop secured, robust and scalable distributed applications. To run EJB application,

More information

Virus Scan with SAP Process Integration Using Custom EJB Adapter Module

Virus Scan with SAP Process Integration Using Custom EJB Adapter Module Virus Scan with SAP Process Integration Using Custom EJB Adapter Module Applies to: SAP Process Integration 7.0 and Above Versions. Custom Adapter Module, Virus Scan Adapter Module, Virus Scan in SAP PI.

More information

5. Enterprise JavaBeans 5.4 Session Beans. Session beans

5. Enterprise JavaBeans 5.4 Session Beans. Session beans 5.4 Session Beans Session beans Exécutent des traitements métiers (calculs, accès BD, ) Peuvent accéder à des données dans la BD mais ne représentent pas directement ces données. Sont non persistants (short-lived)

More information

CMP relations between Enterprise Java Beans (EJB) eclipse, xdoclet, jboss

CMP relations between Enterprise Java Beans (EJB) eclipse, xdoclet, jboss CMP relations between Enterprise Java Beans (EJB) eclipse, xdoclet, jboss A step by step example showing how to develop CMP relations between EJBs using eclipse, xdoclet and MyEclipse. We use an example

More information

Oracle8i. Enterprise JavaBeans Developer s Guide and Reference. Release 3 (8.1.7) July 2000 Part No. A

Oracle8i. Enterprise JavaBeans Developer s Guide and Reference. Release 3 (8.1.7) July 2000 Part No. A Oracle8i Enterprise JavaBeans Developer s Guide and Reference Release 3 (8.1.7) July 2000 Part No. A83725-01 Enterprise JavaBeans Developer s Guide and Reference, Release 3 (8.1.7) Part No. A83725-01 Release

More information

BEAWebLogic Server. Monitoring and Managing with the Java EE Management APIs

BEAWebLogic Server. Monitoring and Managing with the Java EE Management APIs BEAWebLogic Server Monitoring and Managing with the Java EE Management APIs Version 10.0 Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

Code generation with XDoclet. It s so beautifully arranged on the plate you know someone s fingers have been all over it.

Code generation with XDoclet. It s so beautifully arranged on the plate you know someone s fingers have been all over it. Code generation with XDoclet It s so beautifully arranged on the plate you know someone s fingers have been all over it. Julia Child 33 34 CHAPTER 2 Code generation with XDoclet Developing EJBs today entails

More information

BEA WebLogic. Server. Programming WebLogic Enterprise JavaBeans

BEA WebLogic. Server. Programming WebLogic Enterprise JavaBeans BEA WebLogic Server Programming WebLogic Enterprise JavaBeans Release 7.0 Document Revised: February 18, 2005 Copyright Copyright 2005 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This

More information

JNDI. Java Naming and Directory Interface. See also:

JNDI. Java Naming and Directory Interface. See also: JNDI Java Naming and Directory Interface See also: http://java.sun.com/products/jndi/tutorial/trailmap.html Naming service A naming service is an entity that associates names with objects.we call this

More information

Course Content for Java J2EE

Course Content for Java J2EE CORE JAVA Course Content for Java J2EE After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? PART-1 Basics & Core Components Features and History

More information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

More information

Java Technologies Resources and JNDI

Java Technologies Resources and JNDI Java Technologies Resources and JNDI The Context How to access all these resources in a similar manner? A resource is a program object that provides connections to other systems such as: database servers,

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

Transaction Commit Options

Transaction Commit Options Transaction Commit Options Entity beans in the EJB container of Borland Enterprise Server by Jonathan Weedon, Architect: Borland VisiBroker and Borland AppServer, and Krishnan Subramanian, Enterprise Consultant

More information

BEA WebLogic Server. Enterprise JavaBeans

BEA WebLogic Server. Enterprise JavaBeans BEA WebLogic Server Enterprise JavaBeans Document 1.0 April 2000 Copyright Copyright 2000 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software and documentation is subject to

More information

Using JNDI from J2EE components

Using JNDI from J2EE components Using JNDI from J2EE components Stand-alone Java program have to specify the location of the naming server when using JNDI private static InitialContext createinitialcontext() throws NamingException {

More information

BEA WebLogic Server. Programming WebLogic Enterprise JavaBeans

BEA WebLogic Server. Programming WebLogic Enterprise JavaBeans BEA WebLogic Server Programming WebLogic Enterprise JavaBeans BEA WebLogic Server 6.1 Document Date: February 26, 2003 Copyright Copyright 2002 BEA Systems, Inc. All Rights Reserved. Restricted Rights

More information

JBoss to Geronimo - EJB-Session Beans Migration

JBoss to Geronimo - EJB-Session Beans Migration JBoss to Geronimo - EJB-Session Beans Migration A typical J2EE application may contain Enterprise JavaBeans or EJBs. These beans contain the application's business logic and live business data. Although

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution: Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications

More information

J2EE Packaging and Deployment

J2EE Packaging and Deployment Summary of Contents Introduction 1 Chapter 1: The J2EE Platform 9 Chapter 2: Directory Services and JNDI 39 Chapter 3: Distributed Computing Using RMI 83 Chapter 4 Database Programming with JDBC 157 Chapter

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.

More information

Teamcenter Global Services Customization Guide. Publication Number PLM00091 J

Teamcenter Global Services Customization Guide. Publication Number PLM00091 J Teamcenter 10.1 Global Services Customization Guide Publication Number PLM00091 J Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle

More information

Developing JAX-RPC Web services

Developing JAX-RPC Web services Developing JAX-RPC Web services {scrollbar} This tutorial will take you through the steps required in developing, deploying and testing a Web Service in Apache Geronimo. After completing this tutorial

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.

More information