java web 应用开发: j2ee 和 tomcat 蔡 剑, ph.d.. 课程内容 互联网软件系统的理论...

48
Java Web 应应应应J2EE 应 Tomcat 应 应 , Ph.D.

Upload: victor-cain

Post on 28-Dec-2015

425 views

Category:

Documents


0 download

TRANSCRIPT

Java Web 应用开发:J2EE 和 Tomcat

蔡 剑 , Ph.D.

课程内容 互联网软件系统的理论 互联网软件系统和电子商务系统的开发方

法和应用 目前世界前沿公司所采用的互联网软件系

统开发技术 (e.g. Java Enterprise Edition, Tomcat,Web Services, etc.).

课程目标

拓宽一个视野: 网络经济的技术层面

了解两个领域: 电子商务,和互联网系统

掌握三种能力: 根据企业实际和市场情况分析网络信息系统需求 采用统一软件过程设计互联网电子商务软件架构 运用最新 J2EE 技术开发并实施互联网软件系统

教学计划

课程介绍 , 互联网信息系统开发综述互联网系统框架和技术 , 信息系统建模客户层技术网络层技术 I, 网络系统概念, Java Servlet 网络层技术 II, JSP , JSTL网络层技术 III, StrutsEJB 层技术 I EJB 层技术 II 网络系统设计模式 ,Web 服务,综合案例分析

教材以及主要参考书 教材:《 Java Web 应用开发 : J2EE 和 Tomcat 》

(第二版) 蔡剑 , 景楠 , 清华大学出版社 参考书:《 UML Guide 》 Grady Booch

本讲内容 基于 J2EE 的互联网系统的概念 客户层技术

Network

Internet Topology

Internet Functional Layers

Physical Physical

Data Link Data LinkLAN/ATM

Network

Transport

Network

TransportTCP/UDP

IP

LAN/ATM

Session Session

Presentation Presentation

Application Application

Web Service Web ServiceSOAP/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

XMLDocuments

OtherData Source

Network

Network

Review:Multi-tier Architecture

User InterfaceEnd User System on Client Machine

(HTML, Applet, Windows Forms, etc.)

PresentationLogic

Web Server-Side(JSP, ASP, CGI etc.)Producing: HTML,

XMLDHTML, WML, etc.

Distributed Logic

Proxy Tier

Client Interface Control

(Windows Forms,Java AWT, Swing,

Etc.)

Business TierBusiness Objects and Rules

Data Manipulation and Transformation Information

Data Access TierDatabase Connection

Data I/O Interface

Data TierStorage (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)HTMLXML

Applet

ClientApplication

JAF

JMS

JDB

C

JTA

JND

I

JSTL

Servlets JSPs

Web Container

SessionBeans

EntityBeans

EJB Container

J2EEApplicationServer

RDMS

Mail Server

JavaApplication

CORBAServer

DirectoryService

Message Queue

JDBC

JavaMail

RMI

IIOP

JNDI

JMS

HTTP

MessageBeans

Application Client Container

JAXRPC

SAAJ

JAX

RJA

CC

Mgmt

JMX

JAF

JMS

JDB

C

JTA

JND

I

JAXRPC

SAAJ

JAX

RJA

CC

Mgmt

JMX

JAXRPC

SAAJ

JAX

RJM

S

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)HTMLXML

Applet

ClientApplication

JAF

JMS

JDB

C

JTA

JND

I

JSTL

Servlets JSPs

Web Container

SessionBeans

EntityBeans

EJB Container

J2EEApplicationServer

RDMS

Mail Server

JavaApplication

CORBAServer

DirectoryService

Message Queue

JDBC

JavaMail

RMI

IIOP

JNDI

JMS

HTTP

MessageBeans

Application Client Container

JAXRPC

SAAJ

JAX

RJA

CC

Mgmt

JMX

JAF

JMS

JDB

C

JTA

JND

I

JAXRPC

SAAJ

JAX

RJA

CC

Mgmt

JMX

JAXRPC

SAAJ

JAX

RJM

S

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 ContainerWeb Browser

request

response

HTML

URLclick display

Generate HTMLHTMLHTML

J2EE Client : Web Browser

HTML Form Control

Web Container

EJB Container

Database

Browser

Table

Form

Table

Input

Action Get/Post

request

response

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>

HTML Controls

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>