480 likes | 627 Views
蔡 剑 , Ph.D. Java Web应用开发:J2EE和Tomcat. 课程内容. 互联网软件系统的理论 互联网软件系统和电子商务系统的开发方法和应用 目前世界前沿公司所采用的互联网软件系统开发技术 ( e.g. Java Enterprise Edition, Tomcat,Web Services, etc. ). 课程目标. 拓宽一个视野: 网络经济的技术层面 了解两个领域: 电子商务,和互联网系统 掌握三种能力 : 根据企业实际和市场情况分析网络信息系统需求 采用统一软件过程设计互联网电子商务软件架构
E N D
蔡 剑, Ph.D. Java Web应用开发:J2EE和Tomcat
课程内容 • 互联网软件系统的理论 • 互联网软件系统和电子商务系统的开发方法和应用 • 目前世界前沿公司所采用的互联网软件系统开发技术 (e.g. Java Enterprise Edition, Tomcat,Web Services, etc.).
课程目标 • 拓宽一个视野: • 网络经济的技术层面 • 了解两个领域: • 电子商务,和互联网系统 • 掌握三种能力: • 根据企业实际和市场情况分析网络信息系统需求 • 采用统一软件过程设计互联网电子商务软件架构 • 运用最新J2EE技术开发并实施互联网软件系统
教学计划 • 课程介绍, 互联网信息系统开发综述 • 互联网系统框架和技术, 信息系统建模 • 客户层技术 • 网络层技术 I, 网络系统概念,Java Servlet • 网络层技术 II, JSP, JSTL • 网络层技术 III, Struts • EJB 层技术 I • EJB 层技术 II • 网络系统设计模式,Web 服务,综合案例分析
教材以及主要参考书 • 教材:《Java Web应用开发: J2EE和Tomcat》(第二版) 蔡剑, 景楠, 清华大学出版社 • 参考书:《UML Guide》Grady Booch
本讲内容 • 基于J2EE的互联网系统的概念 • 客户层技术
Web Service Web Service SOAP/UDDI Application Application HTTP Presentation Presentation HTML, XML Session Session Transport Transport Java Socket TCP/UDP Network Network IP IOS Data Link Data Link LAN/ATM Physical Physical LAN/ATM Hardware Internet Functional Layers
2 Tier Architecture Application Network Data Base
3 Tier Architecture User Interface Network Middle Tier Network Data Base XML Documents Other Data Source
Review:Multi-tier Architecture User Interface End User System on Client Machine (HTML, Applet, Windows Forms, etc.) Presentation Logic Web Server-Side (JSP, ASP, CGI etc.) Producing: HTML, XML DHTML, WML, etc. Distributed Logic Client Interface Control (Windows Forms, Java AWT, Swing, Etc.) Proxy Tier Business Tier Business Objects and Rules Data Manipulation and Transformation Information Data Access Tier Database Connection Data I/O Interface Data Tier Storage (Database system, XML, etc.) Query & storage optimization and performance tuning
Web System Development Roles • Application Architect: 需求分析, 用例分析( Use-Case Analysis), 系统模块设计, 定义主要的对象和类等等. • Component Provider: 通常意义上的程序员,提供模块和构件 • Application Assembler: 了解程序构件的基本概念, 懂得构件直接的接口关系. • Application Deployer: 熟悉程序服务器软件的设置方法和安装步骤. • Web Designer: 创作美观, 适用的网页,使用网络程序构件进行数据连接. • System Administrator: 控制程序的基本配置,检测和改进服务器的日常正常运行.
J2EE Platform • Java2 Enterprise Edition • A set of related specifications • Single standard for implementing and deploying enterprise applications • Realizes multi-tier architecture • Not a “pure” language • 90% Enterprise applications use J2EE
RDMS JDBC Web Container JSPs (X)HTML XML Servlets HTTP JSTL JavaMail Mail Server J2EE Application Server JAX RPC Mgmt Java Application RMI JAXR JACC JNDI JDBC JMS JAF JTA Applet SAAJ JMX CORBA Server IIOP EJB Container Application Client Container Message Beans Session Beans Entity Beans Client Application Directory Service JNDI JAX RPC Mgmt JMS JAX RPC Mgmt Message Queue JAXR JACC JNDI JDBC JMS JAF JTA JAXR JMS SAAJ JMX SAAJ JMX J2EE Architecture
Server-Side Components: Enterprise JavaBeans Message Driven Beans
RDMS JDBC Web Container JSPs (X)HTML XML Servlets HTTP JSTL JavaMail Mail Server J2EE Application Server JAX RPC Mgmt Java Application RMI JAXR JACC JNDI JDBC JMS JAF JTA Applet SAAJ JMX CORBA Server IIOP EJB Container Application Client Container Message Beans Session Beans Entity Beans Client Application Directory Service JNDI JAX RPC Mgmt JMS JAX RPC Mgmt Message Queue JAXR JACC JNDI JDBC JMS JAF JTA JAXR JMS SAAJ JMX SAAJ JMX J2EE Object Model
J2EE Services • 命名技术 (JNDI) • 部署技术 (Deployment) • 数据连接技术 (JDBC) • 数据交易技术 (Data Transaction) • 安全技术 (Security) • 连接框架技术 (Connector Architecture) • 网络服务(Web Services)
J2EE Clients • Web Browser: IE / Netscape • Java Applet • Application • Wireless Client
URL J2EE Web Container click display request Web Browser response HTML HTML Generate HTML HTML J2EE Client and Server Relationships
HTML Form Control Browser Table request Web Container Get/Post Action Form response EJB Container Table Input Database
HTML Form http://localhost:8080/icwork/control/createproject?proj_ID=null&proj_name=Project1&group=Web+Software+Group&lead=Zhang+San&desc=This+project+developes+an+advanced+web-based+task+monitoring+application+for+Icconcept+Inc.&actiontype=CREATE_PROJECT&submit.x=63&submit.y=8
HTML Codes <FORM action="createproject" method="GET"> <CENTER> <TABLE border="0" cellspacing=1 bgcolor="#e0d0b0"> <TBODY bgcolor="white"> <INPUT type="HIDDEN" name="proj_ID" value = "null" > <TR> <TD width="100" nowrap>Name <FONT color="#ff0000">*</FONT></TD> <TD width="407"><INPUT size="20" type="text" maxlength="30" name="proj_name"></TD></TR> …… <TD width="96">Desc</TD> <TD width="407"><TEXTAREA rows="10" cols="58" name ="desc">Enter A Brief Description Here</TEXTAREA></TD> </TR> <INPUT type="HIDDEN" name="actiontype" value ="CREATE_PROJECT"> </TBODY> </TABLE> </CENTER> <INPUT type="image" src="../images/button-submit2.gif" name="submit"></CENTER>
Applet Clients <HTML> <BODY> <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ID = "Conceptapl" WIDTH = 700 HEIGHT = 450 codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0"> <PARAM NAME = CODE VALUE = org.impact.stars.appclient.concept.Conceptapl.class > <PARAM NAME="codebase" VALUE="/stars/clientlib/"> <PARAM NAME="archive" VALUE="starsclient.jar"> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3"> <PARAM NAME="scriptable" VALUE="false"> <PARAM NAME="cache_archive" VALUE="starsclient.jar"> <PARAM NAME="cache_option" VALUE="Browser"> </NOEMBED></EMBED> </OBJECT> </BODY> </HTML>