User Tools

Site Tools


at-m42:lecture15

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
at-m42:lecture15 [2009/04/25 10:51] eechrisat-m42:lecture15 [2011/01/14 12:45] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ~~SLIDESHOW~~ ~~SLIDESHOW~~
-====== Business-tier Services ======+====== Enterprise Integration Tier Services ======
    
 In principle, the business logic of an enterprise application could be performed by //domain objects// which implement a model of the business concept as Plain-Old Java Objects (POJOs). In principle, the business logic of an enterprise application could be performed by //domain objects// which implement a model of the business concept as Plain-Old Java Objects (POJOs).
Line 15: Line 15:
   * [[#The key business tier services]]   * [[#The key business tier services]]
   * [[#The Java solution: Enterprise Java Beans]]   * [[#The Java solution: Enterprise Java Beans]]
-  * [[#Reimplementing PerfectTime as a session bean]]+  * [[#Reimplementing TimeHere as a session bean]]
   * [[#Is the Java solution a good solution?]]   * [[#Is the Java solution a good solution?]]
  
Line 107: Line 107:
   * **[[#The key business tier services]]**   * **[[#The key business tier services]]**
   * [[#The Java solution: Enterprise Java Beans]]   * [[#The Java solution: Enterprise Java Beans]]
-  * [[#Reimplementing PerfectTime as a session bean]]+  * [[#Reimplementing TimeHere as a session bean]]
   * [[#Is the Java solution a good solution?]]   * [[#Is the Java solution a good solution?]]
  
Line 136: Line 136:
     * Or simply to be stored in non-volatile memory.     * Or simply to be stored in non-volatile memory.
   * Your business objects want this to //just happen//!   * Your business objects want this to //just happen//!
-    * **Transparent persistence**, as discussed in the [[lecture14|last lecture]], is obviously important,+    * **Transparent persistence**, as discussed in the [[lecture15|last lecture]], is obviously important,
     * but persistence should also be a key part of transaction management and is a cornerstone of data integrity.     * but persistence should also be a key part of transaction management and is a cornerstone of data integrity.
  
Line 172: Line 172:
   * [[#The key business tier services]]   * [[#The key business tier services]]
   * **[[#The Java solution: Enterprise Java Beans]]**   * **[[#The Java solution: Enterprise Java Beans]]**
-  * [[#Reimplementing PerfectTime as a session bean]]+  * [[#Reimplementing TimeHere as a session bean]]
   * [[#Is the Java solution a good solution?]]   * [[#Is the Java solution a good solution?]]
  
Line 273: Line 273:
   * [[#The key business tier services]]   * [[#The key business tier services]]
   * [[#The Java solution: Enterprise Java Beans]]   * [[#The Java solution: Enterprise Java Beans]]
-  * **[[#Reimplementing PerfectTime as a session bean]]**+  * **[[#Reimplementing TimeHere as a session bean]]**
   * [[#Is the Java solution a good solution?]]   * [[#Is the Java solution a good solution?]]
  
Line 291: Line 291:
 package uk.ac.swan.atm42.ejb; package uk.ac.swan.atm42.ejb;
  
-public interface PerfectTime extends EJBObject { +public interface TimeHere extends EJBObject { 
-  public String getPerfectTime() throws RemoteException;+  public String getTimeHere() throws RemoteException;
 } }
 </code> </code>
Line 300: Line 300:
 In EJB 3, the details can be left to the container: interface is a plain-old-Java interface //annotated//  with ''javax.ejb.Remote''. In EJB 3, the details can be left to the container: interface is a plain-old-Java interface //annotated//  with ''javax.ejb.Remote''.
      
-<code java 1|Example 2: Remote interface for the DateHereBean (at-m42/Examples/lecture14/TimeHere.java)> +<code java 1|Example 2: Remote interface for the DateHereBean (at-m42/Examples/lecture15/TimeHere.java)> 
-extern> http://cpjobling.org.uk/~eechris/at-m42/Examples/lecture14/TimeHere.java+extern> http://cpjobling.org.uk/~eechris/at-m42/Examples/lecture15/TimeHere.java
 </code> </code>
  
Line 322: Line 322:
  
 ===== Home interface for the TimeHere (EJB 2) ===== ===== Home interface for the TimeHere (EJB 2) =====
-<code java 1|Example 3: Remote interface for the DateHereBean (at-m42/Examples/lecture14/TimeHereHome.java)> +<code java 1|Example 3: Remote interface for the DateHereBean (at-m42/Examples/lecture15/TimeHereHome.java)> 
-extern> http://cpjobling.org.uk/~eechris/at-m42/Examples/lecture14/TimeHereHome.java+extern> http://cpjobling.org.uk/~eechris/at-m42/Examples/lecture15/TimeHereHome.java
 </code> </code>
  
Line 334: Line 334:
   - The return value and arguments of all methods must be valid RMI-IIOP data types.   - The return value and arguments of all methods must be valid RMI-IIOP data types.
  
-===== PerfectTimeBean (Session Bean) EJB 2 Version =====+===== TimeHereBean (Session Bean) EJB 2 Version =====
  
 <code java 1| Example 4: SessionBean implemented using EJB 2 conventions> <code java 1| Example 4: SessionBean implemented using EJB 2 conventions>
Line 368: Line 368:
   * EJB is now a "Plain Old Java Object" (POJO)) annotated with ''javax.ejb.Stateless''   * EJB is now a "Plain Old Java Object" (POJO)) annotated with ''javax.ejb.Stateless''
  
-===== PerfectTimeBean (Session Bean) EJB 3 Version ===== +===== TimeHereBean (Session Bean) EJB 3 Version ===== 
-<code java 1| Example 5: SessionBean implemented using EJB 3 conventions (at-m42/Examples/lecture14/TimeHereBean.java)> +<code java 1| Example 5: SessionBean implemented using EJB 3 conventions (at-m42/Examples/lecture15/TimeHereBean.java)> 
-extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture14/TimeHereBean.java+extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture15/TimeHereBean.java
 </code> </code>
  
Line 376: Line 376:
  
 An XML file that describes the EJB component. Should be stored in a file called ''ejb-jar.xml''. An XML file that describes the EJB component. Should be stored in a file called ''ejb-jar.xml''.
-<code xml 1|Example 6: Deployment Descriptor for the TimeHereBean (not required in EJB 3 containers) (at-m42/Examples/lecture14/ejb-jar.xml)> +<code xml 1|Example 6: Deployment Descriptor for the TimeHereBean (not required in EJB 3 containers) (at-m42/Examples/lecture15/ejb-jar.xml)> 
-extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture14/ejb-jar.xml+extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture15/ejb-jar.xml
 </code> </code>
 ===== Deploying the EJB ===== ===== Deploying the EJB =====
Line 391: Line 391:
   * Here a simple Java program but could just as easily be a servlet, a JSP or even a CORBA or RMI distributed object.   * Here a simple Java program but could just as easily be a servlet, a JSP or even a CORBA or RMI distributed object.
  
-<code java 1|Example 7: Client program for PerfectTimeBean (at-m42/Examples/lecture14/TimeHereClient.java)> +<code java 1|Example 7: Client program for TimeHereBean (at-m42/Examples/lecture15/TimeHereClient.java)> 
-extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture14/TimeHereClient.java+extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture15/TimeHereClient.java
 </code> </code>
-<code java 1| Example 7: Client program for PerfectTimeBean (at-m42/Examples/lecture14/TimeHereClient.java)>  +<code java 1| Example 7: Client program for TimeHereBean (at-m42/Examples/lecture15/TimeHereClient.java)>  
-extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture14/TimeHereClient.java+extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture15/TimeHereClient.java
 </code> </code>
  
Line 403: Line 403:
   * [[#The key business tier services]]   * [[#The key business tier services]]
   * [[#The Java solution: Enterprise Java Beans]]   * [[#The Java solution: Enterprise Java Beans]]
-  * [[#Reimplementing PerfectTime as a session bean]]+  * [[#Reimplementing TimeHere as a session bean]]
   * **[[#Is the Java solution a good solution?]]**   * **[[#Is the Java solution a good solution?]]**
  
Line 418: Line 418:
   * [[#The key business tier services]]   * [[#The key business tier services]]
   * [[#The Java solution: Enterprise Java Beans]]   * [[#The Java solution: Enterprise Java Beans]]
-  * [[#Reimplementing PerfectTime as a session bean]]+  * [[#Reimplementing TimeHere as a session bean]]
   * [[#Is the Java solution a good solution?]]   * [[#Is the Java solution a good solution?]]
  
Line 425: Line 425:
 ---- ----
  
-[[Home]] | [[lecture14|Previous Lecture]] | [[Lectures]] | [[lecture16|Next Lecture]] +[[Home]] | [[lecture15|Previous Lecture]] | [[Lectures]] | [[lecture16|Next Lecture]] 
  
  
at-m42/lecture15.1240656660.txt.gz · Last modified: 2011/01/14 12:24 (external edit)