4-Tier Model Client Tier Web Tier Business Tier EIS Tier

Download 4-Tier Model Client Tier Web Tier Business Tier EIS Tier

Post on 27-Dec-2015




7 download

Embed Size (px)


  • Slide 1
  • 4-Tier Model Client Tier Web Tier Business Tier EIS Tier
  • Slide 2
  • Run 4-Tier KWIC Project on J2EE Platform Preparation Packaging Creating the J2EE Application (.ear) Creating the Enterprise Bean (.jar) Creating the Web Client (.war) Deploying Running
  • Slide 3
  • Preparation Set Environment Variables JAVA_HOME = root directory of J2SE SDK installation J2EE_HOME = root directory of J2EE SDK installation PATH = %PATH%;%JAVA_HOME%\bin;%J2EE_HOME%\bin CLASSPATH = %CLASSPATH%;%J2EE_HOME%\lib\j2ee.jar
  • Slide 4
  • Preparation Start Cloudscape database server. C:\> cloudscape start Start J2EE server C:\> j2ee verbose Start deploytool C:\> deploytool Build the database table C:\> cloudscape isql WebAddressAccount urlName (PK) urlDescription
  • Slide 5
  • Packaging Create an Enterprise Archive (EAR) file ProjectApp.ear Add Java Archive (JAR) files and Web Archive (WAR) files to the EAR WebAddressAccountJAR: contains the enterprise bean files and related files ProjectWAR: contains the Web Component files and related files
  • Slide 6
  • An enterprise bean is a server-side component that contains the business logic of an application Writes and compiles the source code Packages the beans classes into EJB JAR file Remote Interface Home Interface Enterprise Bean Class Creating Enterprise Bean Remote Client Remote Interface Home Interface EJB
  • Slide 7
  • Remote Interface WebAddressAccount.java defines the business methods that a client may call. The business methods are implemented in the enterprise bean code public interface WebAddressAccount extends EJBObject { public String getUrlName(); public String getUrlDescript(); }
  • Slide 8
  • Home Interface WebAddressAccountHome.java defines the methods that allow a client to create, find, or remove an enterprise bean public interface WebAddressAccountHome extends EJBHome { public WebAddressAccount create(String urlName, String urlDescript); public WebAddressAccount findByPrimaryKey(String urlName) ; }
  • Slide 9
  • Enterprise Bean Class WebAddressAccountBean.java implements the business methods public class WebAddressAccountBean implements EntityBean { public String getUrlName() { return urlName;} public String getUrlDescript() { return urlDescript; } public String ejbCreate( String urlName, String urlDescript) { insertRow( urlName, urlDescript); } public String ejbFindByPrimaryKey(String primaryKey) { result = selectByPrimaryKey(primaryKey); }
  • Slide 10
  • /*********************** Database Routines *************************/ private void makeConnection() { InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(java:comp/env/jdbc/WebAddressAccountDB); con = ds.getConnection(); } private void insertRow ( String urlName, String urlDescript) { PreparedStatement prepStmt = con.prepareStatement("insert into webAddressaccount values ( ?, ? )"); prepStmt.setString(1, urlName); prepStmt.setString(2, urlDescript); prepStmt.executeUpdate(); prepStmt.close(); }
  • Slide 11
  • Creating Web Component When web client such as browser communicates with J2EE application, it dose so through server- side objects called Web components Writes and compiles the source code Bundles the.class,.jsp,.html files into WAR file
  • Slide 12
  • Source Codes URLListener.java URLEventObject.javaFindHandler.jsp Find.jsp KeyWordSearch.javaAlphabetizer.jsp Alphabetizer.javaCShiftLines.jspMenuFrame.html CShiftLines.javaSaveHandler.jspWelcome.html DetailURL.javaSave.jspindex.html JavaBeanJSPHTML SearchHistory.java
  • Slide 13
  • Web Client save.jsp CShiftLines.jsp saveHandle.jsp Alphabetizer.jsp find.jsp findHandle.jsp WebAddress AccountBean webaddressaccount DetailURL CShiftLine Alphabetizer KeyWordSearch SaveHistory Web Container EJB Container
  • Slide 14
  • JSP Syntax Include Declaration Scriptlet Expression
  • Slide 15
  • Locating the home interface Object objRef = ic.lookup("java:comp/env/ejb/TheWebAddressAccount"); WebAddressAccountHome home = PortableRemoteObject.narrow(objRef, WebAddressAccountHome.class); Creating an Enterprise Bean Instance WebAddressAccount joe = home.create( url_name, url_descript); Invoking business methods WebAddressAccount findone = home.findByPrimaryKey(oneURLName); findone.getUrlDescript();
  • Slide 16
  • JNDI Names and Resource References JNDI: Java Naming and Directory Interface J2EE components locate objects by invoking the JNDI lookup method The JNDI name of a resource and the name of the resource reference are not the same This approach to naming requires that you map the two names before deployment
  • Slide 17
  • Specifying a Resource Reference The WebAddressAccountBean code refers to the database as follows: private String dbName = "java:comp/env/jdbc/WebAddressAccountDB";
  • Slide 18
  • Mapping Resource Reference to JNDI Name
  • Slide 19
  • Specifying a Resource Reference In lookup methods, the Web client refers to the home of an enterprise bean: Object objRef = ic.lookup("java:comp/env/ejb/TheWebAddressAccount ");
  • Slide 20
  • Mapping Resource Reference to JNDI Name
  • Slide 21
  • Deploying Select Tools -> Deploy In the JNDI Names dialog box, verify the names In the WAR Context Root dialog box, enter kwicProject in the Context Root field, which will be part of the URL
  • Slide 22
  • Running http://localhost:8000/kwicProject Change the default port number (8000) by editing the Config/web.properties file
  • Slide 23
  • Modifying the J2EE Application Change the source code Recompile it Redeploy the application Select Tools -> Update Files Select Tools -> Deploy Or Select Tools -> Update And Redeploy


View more >