Abstract
In this article, is descussed the Java platform for developing Web applications and briefly compared with alternative technologies. An overview on software architectures for Web applications is given. How to use Java technologies for developing components for the architecture are detailed. To conclude, problems resulting from platform incompatibilities and issues around the software development process and security are descussed. Comprehensive code examples for the technologies discussed in this article are available.
Bibliography
- About.com, “Focus on JavaScript,” 2000. Available at: http:/javascript.about.com/compute/javascript/mbody.htm
- Apache, “Xerces Java Parser,” 2000a. Available at: http:/xml.apache.org/xerces-j/index.html
- Apache, “Xalan-Java version 2.0.D07,” Available at: http:/xml.apache.org/xalan-j/index.html, 2000b.
- S. Asbury and R. Weiner, Developing Java Enterprise Applications, Wiley, New York, 1999.
- K. Beck, eXtreme Programming Explained: Embrace Change, Addison-Wesley, Reading, MA, 1999.
- T. Berners-Lee, WWW: Past, Present, and Future, Computer 29(10), 69–77 (1996).
- T. Berners-Lee, R. Fielding, and L. Masinter, Uniform Resource Identifiers (URI): Generic Syntax, Internet RFC 2396, 1998. Available at: http://www.ietf.org/rfc/rfc2396.txt
- B. Bos, “Cascading Style Sheets,” 2000. Available at: http://www.w3.org/Style/CSS/
- Boston Consulting Group Canada, “Fast Forward: Accelerating Canada's Leadership in the Internet Economy,” 2000. Available at: http://www.bcg.com/practice/Roundtable.pdf
- V. Bush, As We May Think, The Atlantic Monthly, July 1945. Available at: http://www.isg.sfu.ca/∼duchier/misc/vbush/vbush-all.shtml
- CGI, “The CGI Specification,” Available at: http://hoohoo.ncsa.uiuc.edu/cgi/interface.html
- CGI Resources, “The CGI Resources Index,” 2000. Available at: http://www.cgi-resources.com/
- N. W. Cluts, “An ASP You Can Grasp: The ABCs of Active Server Pages,” 1997 Available at: http://msdn.microsoft.com/workshop/server/asp/ASPover.asp
- K. A. L. Coar and Robinson, “The WWW Common Gateway Interface Version 1.1,” Available at: http://web.golux.com/coar/cgi/draft-coar-cgi-v11-03-clean.html
- J. Conallen, Building Web Applications with UML, Addison-Wesley, Reading, MA, 1999.
- D. Connolly, “WWW Project History,” 1992. Available at: http://www.w3.org/History/19921103-hypertext/hypertext/WWW/History.html
- D. Connolly, “Naming and Addressing: URIs, URLs,…,” 2000. Available at: http://www.w3.org/Addressing/
- D. Connolly, “Extensible Markup Language (XML),” 2000. Available at: http://www.w3.org/XML/
- J. D. Davidson and D. Coward, “Java(TM) Servlet Specification, v2.2 Final Release,” 1999. Available at: ftp://ftp.java.sun.com/pub/servlet/22final-182874/servlet2_2-spec.pdf
- D. deLisi, “A Developer's Guide to Transaction Processing Systems,” 1997. Available at: http://msdn.microsoft.com/library/techart/msdn_sql_mts.htm
- L. G. DeMichiel, L. Ü. Yalçinalp, and S. Krishnan, “Enterprise JavaBeans TM Specification, Version 2.0,” 2000. Available at: http://java.sun.com/products/ejb/2.0.html
- A. Diaz, “W3C's Math Home Page,” 2000. Available at: http://www.w3.org/Math/
- R. T. Fielding and R. N. Taylor, Principled Design of the Modern Web Architecture, in C. Ghezzi, M. Jazayeri, and A. Wolf, eds., Proceeding of the 22nd International Confernce on Software Engineering, ACM Press, New York, 2000, pp. 407–416.
- R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee, Hypertext Transfer Protocol -HTTP/1.1, Internet RFC 2616, 1997. Available at: ftp://ftp.isi.edu/in-notes/rfc2616.txt
- C. Ghezzi, M. Jazayeri, and A. Wolf eds. Proceedings of the 22nd International Conference on Software Engineering, ACM Press, New York, 2000.
- S. L. Halter and S. J. Munroe, Enterprise Java Performance, Prentice-Hall, Upper Saddle River, NJ, 2001.
- IBM “RMI-IIOP Programmer's Guide,” 1999. Available at: http://www.ibm.com/java/jdk/rmi-iiop/docsaix130/rmi_iiop_pg.html
- Internet.com, “The JavaScript Source Site Contents,” 2000. Available at: http://javascript.internet.com/toc.html
- R. Jennings, Database Workshop: Microsoft Transaction Server 2.0, Stephen Gray/Sams Publishing, 1997.
- JUnit, Testing Resources for eXtreme Programming, 2000. Available at: http://www.junit.org/
- D. M. Kristol and L. Montulli, HTTP State Management Mechanism, RFC 2965, Oct. 2000. Available at: http://www.ietf.org/rfc/rfc2965.txt?number=2965
- Y. Lafon, HTTP—Hypertext Transfer Protocol, 2000. Available at: http://www.w3.org/Protocols/
- P. LeHégaret and L. Wood, Document Object Model (DOM), 2001. Available at: http://www.w3.org/DOM/
- S. Liang, The Java Native Interface: Programmer's Guide and Specification, Addison-Wesley, Reading, MA, 1999.
- C. Lilley and V. Quint, Extensible Stylesheet Language (XSL), 2000. Available at: http://www.w3.org/Style/XSL/
- V. Matena and M. Hapner, “Enterprise JavaBeans(TM) Specification, v1.1,” 1999. Available at: ftp://ftp.java.sun.com/pub/ejb/11final-129822/ejb1_1-spec.pdf
- F. Maurer, J2EE Example Code, 2001. Available at: http://ebe.cpsc.ucalgary.ca/∼maurer/J2EE
- G. McGraw and E. W. Felten, Securing Java: Getting Down to Business with Mobile Code, Wiley, New York, 1999.
- T. Michel, Synchronized Multimedia, 2000. Available at: http://www.w3.org/AudioVideo/
- Microsoft, ActiveX Controls, 2000a. Available at: http://www.microsoft.com/com/tech/activex.asp
- Microsoft, Browser Support, 2000b. Available at: http://msdn.microsoft.com/xml/general/overview.asp
- Microsoft, Vbscript Overview, 2000c. Available at: http://msdn.microsoft.com/scripting/default.htm?/scripting/vbscript/default.htm
- T. H. Nelson, Dream Machines: New Freedoms Through Computer Screens—A Minority Report, issued with Computer Lib., The Distributors, South Bend, IN, 1978.
- Netscap, Persistent Client State—HTTP Cookies, 1999. Available at: http://home.netscape.com/newsref/std/cookie_spec.html
- Netscap, Netscape 6 Data Sheet, 2000. Available at: http://home.netscape.com/browsers/6/datasheet/index.html?cp=n6d
- OMG The Common Object Request Broker: Architecture and Specification, 1999a. Available at: http://cgi.omg.org/cgi-bin/doc?formal/99-10-07.pdf
- OMG CORBA 2.3—IDL Syntax and Semantics, 1999b. Available at: ftp://ftp.omg.org/pub/docs/formal/99-07-07.pdf
- E. Pelegrí-Llopart and L. Cable JavaServer Pages(TM) Specification Version 1.1, 1999. Availabe at: ftp://ftp.java.sun.com/pub/jsp/11final-87721/jsp1_1-spec.pdf
- W. E. Perry, Effective Methods for Software Testing, 2nd ed. Wiley, New York, 2000.
- D. Raggett, A. Le Hors, and I. Jacobs eds., HTML 4.01 Specification, 1999a. Availabe at: http://www.w3.org/TR/html401/
- D. Raggett, A. Le Hors, and I. Jacobs eds., Forms, 1999b. Available at: http://www.w3.org/TR/html401/interact/forms.html
- D. Raggett, I. Jacobs, M. Ishikawa, and T. Asada, HyperText Markup Language Home Page, 2000. Available at: http://www.w3.org/MarkUp/
- E. Raymond, The cathedral and the bazaar, 1997. Available at: http://www.tuxedo.org/-esr/writings/cathedral-bazaar/
- G. Reese, Database Programming with JDBC and Java, O'Reilly, Cambridge, MA, 2000.
- L. Rising and N. S. Janoff The Scrum Software Development Process for Small Teams IEEE Software 17(4) (2000).
- E. Roman, Mastering Enterprise JavaBeans, Wiley, New York, 1999.
- M. Salimi, Visual Basic Bookmark—Source Code Archive, 1999. Available at: http://www.vb-bookmark.com/vbSourceCode.html
- M. Schaaf and F. Maurer, Integrating Java and CORBA: A Programmer's Perspective, IEEE Internet Computing 5(1) (2001).
- D. Siegel, Creating Killer Web Sites, 2nd ed., Hayden Books, Indianapolis, IN, 1997.
- SUN, Remote Method Invocation Specification, 1997. Available at: http://java.sun.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.html
- SUN, Java(TM) Remote Method Invocation (RMI), 1999a. Available at: http://java.sun.com/j2se/1.3/docs/guide/rmi/index.html
- SUN, Java(TM) Remote Method Invocation (RMI), 1999b. Available at: http://java.sun.com/products/jdk/1.2/docs/guide/rmi/index.html
- SUN, The Java(TM) Platform: Five Years in Review, 2000a. Available at: http://www.javasoft.com/features/2000/06/time-line.html
- SUN, Applets, 2000b. Availabe at: http://java.sun.com/applets/
- SUN, Enterprise Java Beans Technology, 2000c. Available at: http://java.sun.com/products/ejb/
- SUN, Java(TM) 2 Platform, Enterprise Edition Overview, 2000d. Available at: http://java.sun.com/j2ee/overview.html
- SUN, INDUSTRY MOMENTUM Enterprise JavaBeansTM Supporters, 2000e. Available at: http://java.sun.com/products/ejb/tools1.html
- SUN, CORBA Technology and the Java Platform, 2000f. Available at: http://www.javasoft.com/j2ee/corba/
- SUN, Java(TM) Plug-in product, 2000g. Available at: http://java.sun.com/products/plugin/index.html
- SUN, JDBC Data Access API, 2000h. Available at: http://java.sun.com/products/jdbc/index.html
- SUN, HOW HTTPS WORKS IN JAVA PLUG-IN, 2000i. Available at: http://java.sun.com/products/plugin/1.2/docs/https.html
- SUN, JAVA NAMING AND DIRECTORY INTERFACE (JNDI), 2000j. Available at: http://java.sun.com/products/jndi/index.html
- SUN, Java 2 Platform, Enterprise Edition Client Access Services (J2EE CAS) COM Bridge 1.0 Early Access, 2001a. Available at: http://developer.java.sun.com/developer/earlyAccess/j2eecas/download-com-bridge.html
- SUN, JAVAMAIL API, 2001b. Available at: http:///java.sun.com/products/javamail/index.html
- R. Swick, E. Miller, B. Schloss, E. Miller, D. Singer, and D. Brickley Resource Description Framework (RDF), 2000. Available at: http://www.w3.org/RDF/
- A. Vogel and M. Rangarao, Programming with Enterprise Java Beans, JTS and OTS, Wiley, New York, 1999.
- WAP Forum, Wireless Application Protocol Architecture Specification, 1998. Available at: http://www1.wapforum.org/tech/documents/WAP-100-WAPArch-19980430-a.pdf
- WAP Forum, Wireless Application Protocol Wireless Markup Language Specification Version 1.3, 2000. Available at: http://www1.wapforum.org/tech/documents/WAP-191-WML-20000219-a.pdf
- L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries, Strengthening the Case for Pair Programming, IEEE Software 17(4), (2000).