Java Web 应用开发: J2EE 和 Tomcat 蔡 剑, Ph.D.
课程内容 互联网软件系统的理论 互联网软件系统和电子商务系统的开发方 法和应用 目前世界前沿公司所采用的互联网软件系 统开发技术 (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 的互联网系统的概念 客户层技术
Network
Internet Topology
Internet Functional Layers Physical Data Link LAN/ATM Network Transport Network Transport TCP/UDP IP LAN/ATM Session Presentation Application Web Service SOAP/UDDI HTTP Hardware IOS HTML, XML Java Socket
Client-Server
Review: HTTP Basic Flow
Web Server Function
2 Tier Architecture Application Data Base Network
3 Tier Architecture User Interface Data Base Middle Tier XML Documents Other Data Source Network
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 Proxy Tier Client Interface Control (Windows Forms, Java AWT, Swing, Etc.) 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
Review: OO Development Methodologies
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
J2EE Architecture (X)HTML XML Applet Client Application JAFJMSJDBC JTA JNDI JSTL Servlets JSPs Web Container Session Beans Entity Beans EJB Container J2EE Application Server RDMS Mail Server Java Application CORBA Server Directory Service Message Queue JDBC JavaMail RMI IIOP JNDI JMS HTTP Message Beans Application Client Container JAX RPC SAAJ JAXRJACC Mgmt JMX JAFJMSJDBC JTA JNDI JAX RPC SAAJ JAXRJACC Mgmt JMX JAX RPC SAAJ JAXR JMS Mgmt JMX
Benefits of J2EE
J2EE Technologies
J2EE Components
Client-Side Java Components
Server-Side Components: Servlets and JSPs
Server-Side Components: Enterprise JavaBeans Message Driven Beans
Business and Enterprise Information Systems (EIS) Tiers
J2EE Containers
J2EE Object Model (X)HTML XML Applet Client Application JAFJMSJDBC JTA JNDI JSTL Servlets JSPs Web Container Session Beans Entity Beans EJB Container J2EE Application Server RDMS Mail Server Java Application CORBA Server Directory Service Message Queue JDBC JavaMail RMI IIOP JNDI JMS HTTP Message Beans Application Client Container JAX RPC SAAJ JAXRJACC Mgmt JMX JAFJMSJDBC JTA JNDI JAX RPC SAAJ JAXRJACC Mgmt JMX JAX RPC SAAJ JAXR JMS Mgmt JMX
J2EE Services 命名技术 (JNDI) 部署技术 (Deployment) 数据连接技术 (JDBC) 数据交易技术 (Data Transaction) 安全技术 (Security) 连接框架技术 (Connector Architecture) 网络服务 (Web Services)
J2EE Services: JNDI
J2EE Services: JDBC
J2EE Services: Security
J2EE Services: Transactions
J2EE Services:Web Services
Web Services Model
J2EE Communication Technologies
J2EE Communication: RMI
J2EE Communication: Message
J2EE Communication: JavaMail and JAF
Summary
J2EE Clients Web Browser: IE / Netscape Java Applet Application Wireless Client
J2EE Client and Server Relationships J2EE Web Container Web Browser request response HTML URL clickdisplay Generate HTML HTML
J2EE Client : Web Browser
HTML Form Control Web Container EJB Container Database Browser Table Form Table Input Action Get/Post request response
HTML Form ateproject?proj_ID=null&proj_name=Projec t1&group=Web+Software+Group&lead=Zhang+S an&desc=This+project+developes+an+advanc ed+web- based+task+monitoring+application+for+Ic concept+Inc.&actiontype=CREATE_PROJECT&s ubmit.x=63&submit.y=8
HTML Codes Name * …… Desc <TEXTAREA rows="10" cols="58" name ="desc">Enter A Brief Description Here
HTML Controls
Applet Clients <OBJECT classid="clsid:8AD9C E-11D1-B3E F499D93" ID = "Conceptapl" WIDTH = 700 HEIGHT = 450 codebase=" win32.cab#Version=1,3,0,0">