,电子商务系统结构,
施敏华 ( smh@cs.zju.edu.cn)
浙江杭州玉泉,浙江大学计算机学院,310027
Tel,0571- 87951256
EB系统分析与设计工具
? Web流量的工作负载特性,Zipf分布,P=k/r
? Http日志 --〉 CBMG
? 电子商务站点基准测试程序 TPC-W
? 系统建模工具 UML
? 通用可视化建模语言
? 可用于对系统的理解、设计、浏览、配置、维护和信息
控制
? 适用于各种软件开发方法、软件生命周期的各个阶段、
各种应用领域以及各种开发工具
? 包括概念的语义,表示法和说明,提供静态、动态、系
统环境和组织结构的模型
UML视图
? 结构分类
? 描述系统中结构成员及其相互关系
? 包括静态、用例、实现三种视图
? 动态行为
? 描述系统随时间变化的行为
? 由静态视图的瞬间值变化构成
? 包括状态机视图、活动视图和交互视图
? 模型管理
? 说明模型的分层组织结构
? 包是模型的基本组织单元




1
*
owner
purchase
d
0..1 0..1
3..6 1
* 1 限定符
1
1..*
show
performen
ces
Show
name:String
Coustomer
name:String
phone:String
add(name,phone)
Reservation
date:Date
Subscription Series
series:Integer
Individual
Reservation
Ticket
available:Boolean
sell(c:Customer)
exchange()
Performence
date:Date
time:TimeOfDay
seat:String

关联 角色名
属性
类的操作
泛化
约束
{xor}
多重性




系统
Box Office
buy tickets
buy
subscription
make charges
survey
sales
<<include>>
<<include>>
关系
用例
参与者
售票员
信用卡服务商上
监督员
公用电话亭









主动对象
request(count,performence)
show availability(seat-list)
select (seats)
demand payment(cost)
insert card (card number)
charge(card number,cost)
authorized
Print tickets(performance,seats)
eject card
kiosk box office credit card service
消息
生命线 ( 活动的 )









暂时链
<<local>>db
dbs
多对象
被动对象
消息
7,unlock(seat-list)
kiosk
ticketSeller
performanceGuide
Dd:PerformanceDB
:PerformanceDB
1:request(count,performance)
4:offer(seat-list)
5:buy(seats)
8:confirm(seats,cost)
3,seat-list:=lock(count)
6,claim(seats)
2,db:=findDB(performance)
主动对象






timed out
lock
unlock
buy
状态
转换
exchange
Available
Locked
Sold
初始状态
assign to subscription
触发器事件




分叉
pick show
schedule show
publicize show
sell tickets
buy scripts
and music build sets
design
lighting
make
costumes
perform
dress rehearsal
rehearse
hire artists
活动
完成转换
结合










构件
提供者
客户
subscriptionsales
CreditCardCharges <<database>> TicketDB
ManagerInterface
ClerkInterface KioskInterface
TicketSeller
参与者 信用卡代理
接口 charge status
purchase
参与者
individualsales
groupsales
参与者
监督员
售票员 顾客










* SalesTerminal
通信关联 依赖 * 节点多重性 1 * 1
Kiosk *
TicketServer 1
构件 CreditCardCharges
<<database>>
TicketDB
ManagerInterface
ClerkInterface KioskInterface
TicketSeller
参与者 信用卡代理 监督员
售票员 顾客
节点






依赖
Purchasing Accounting Payroll
<<subsystem>>
Operation
Coustomer
Records
Ticket Sales Ticket Records
<<subsystem>>
Box Office
子系统
Scheduling
<<subsystem>>
Planning

Publicity
Web站点开发集成解决方案
? EB系统基础设施的三个考虑因素
? 安全可靠性、可扩展性、灵活性
? 合适的应用框架基础
? IBM E-Business On Demand Integration解决方案
? Integrated:企业内外的数据、信息、应用、流程有机
整合
? Open:遵循业界公认的最新的技术标准和规范
? Virtualized:在分布式计算环境下共享所有的 IT资源
? Autonomic:使系统做到 self-protecting,self-optimizing,
self-healing和 self-configuring
IBM的 WebSphere软件平台
? Build to Integration:WebSphere Application
Server
? User Integration:WebSphere Portal Server
? Information Connectivity,MQ,MQ
Everyplace
? Application Integration,MQ Integration,
CrossWorlds,WBI Adater
? Process Integration, MQ Workflow,
CrossWorlds
Product
Solution Focus
MQ base
MQ
Information Connectivity( 信息互连 )
Yes
MQ
Integrator
Enterprise Application Integration(企业应用整合 )
Yes
MQ
Workflow
Process Integration( 业务流程整合 )
Yes
CrossWorld
s
Application Integration & Process Integration(应用整合
及流程整合 )
No
Holosofx
BPM design,management,analyze( 流程建模, 管理和分
析 )
No
On Demand Portal
? 使门户的建设符合电子商务的成长需要, 并
具有灵活性
? 提高个人工作效率, 提供更好的用户体验
? 多语言服务支持
? 安全管理
? 移动式门户网站服务支持移动处理业务
? 统一客户端方便了应用的开发和部署
? 工具和资源简化了应用开发
On Demand Portal –WEA功能
? 通用服务:包括用户和组管理功能、用户客户化、产品管
理、授权和验证服务、目录服务和 Portlet服务
? 智能通知服务
? 位置感知服务
? 移动即时信息传递
? 设备管理
? 同步服务
? Portlets
? 离线内容服务
ASP:ActiveX Server Page
ASP更精确的说是一个中间件,这个中间件将 Web上的请求转入到一
个解释器中,在这个解释器中将所有的 ASP的 Script进行分析,再进行
执行,而这时可以在这个中间件中去创建一个新的 COM对象,对这个对
象中的属性和方法进行操作和调用,同时再通过这些 COM组件再完成更
多的工作。所以说,ASP强大的不在于它的 VBScript,而在于它后台的
COM组件,这些组件来无限的扩充了 ASP的能力。
ASP的强势
1、简单易学。 Basic有谁不会?这个开发基础是最广的。而且 MS有一向做的非
常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大
大方便开发人员的学习和对技术的深入研究。
2、安装使用方便。装好一个 Windows 2000,只要你安装了 IIS哪么 ASP就可以使
用了,从没有什么需要你花心思去配臵的。,ASP的调优也不难做,而要做到最
细时也不是一般人能做的了的。
3、开发工具强大而多样。同时它们的功能也很强,这一点已经被许多程序员所
津津乐道。易用、简单、人性化,这本就是微软的强项。
4、效率高。在低的访问量下,ASP能体现出一定的效率,这时它对机器的要求
并不高。
ASP的弱势
1,Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳
定性、跨平台性 (Win2K已经不再支持 Alpha了 )都会因为与 NT的捆绑而显现出来。
2,ASP由于使用了 COM组件所以它会变的十分强大,但是这样的强大由于
Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件
或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪
或者数据丢失。
3、由于 ASP还是一种 Script语言所没除了大量使用组件外,没有办法提高其工
作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是
一个什么样的状况。
4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发
挥 ASP最佳的能力。可是我却认为正是 Windows限制了 ASP,ASP的概念本就是为
一个能让系统运行于一个大的多样化环境而设计的。
ASP总结
适用人群:熟悉 MS架构的人员。想用最短的时间学习,同时想用最简单的方式
完成自己的应用。
适用平台,Windows系列平台适用应用:企业内部管理信息系统、中小 Internet
应用、快速数据库开发的应用。
学习方式,IIS 4/5 Online Help(中文 )MSDN Lib相关知识市场上众多的 ASP书

推荐开发工具,Visual InterDev/Home Site/Front Page
推荐开发环境,Windows 2000 Server/MS SQL
推荐应用环境 (最少 ),Windows 2000 Server/MS SQL 7/PIII 500/256M
RAM/18G HD
PHP:Personal HomePage
怎么说 php呢?如果说 ASP是一个 COM,哪么 php说的更精确了可以说 php是一
个纯粹的 Script翻译器。这也是 php由 3升级为 4的一个重大原因,在 4这个版本
里它重写了语法分析器,从而加快了 php整体的效能。而且从中你也就会明白为
什么 php需要支持这种或是那种扩充功能时它一定要与相应系统的 lib库进行再
编绎的原因。正因为它是正宗的, 翻译器,,所以它是将 script翻译成为需要
执行的函数,再去执行它们,外部扩充不能由一些, 动态加载, 的方式进行,
所以只能静态的编绎进 php中 (这只能在 windows中除外 )。
PHP的优势
1、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。 ASP比不上
它的就是这种跨平台能力了,而正是它的这种能力让 Unix/Linux有了一种与 ASP
媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书,同时
Internet上也有大量的代码可以共享,对于一个初学者想学些, 高深的 Unix”下
的开发来说是一个决好的入手点。
2、与 Apache及其它扩展库结合紧密。 php与 Apache可以以静态编绎的方式结合
起来,而与其它的扩展库也可以用这样的方式结合 (除外的就是 Windows平台了 )。
这样的方式的最大的好处就是最大化的利用了 cpu时和内存,同时极为有效的利
用了 apache的高性能的吞吐能力。同时外部的扩展也是静态连编,从而达到了
最快的运行速度。由于与数据库的接口也使用了这样的方式,所以使用的是本
地化的调用,这也让数据库发挥了最佳效能。
3、良好的安全性。由于 php本身的代码开放所以它的代码在许多工程师手中进
行了检测,同时它与 apache编绎在一起的方式也可以让它具有灵活的安全设定。
所以到现在为止,php具有了公认的安全性能。
PHP的弱势
1、数据库支持的极大变化。由于 php的所有的扩展接口都是独立团队开发完成的,同时在
开发时为了形成相应数据的个性化操作,所以 php虽然支持许多数据库,可是针对每种数
据库的开发语言都完全不同。这样形成针对一种数据库的工发工作,在数据库进行升级后
需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库,就需要
开发人员将同样的数据库操作使用不同的代码写出 n种代码库出来,让程序员的工作量大
大增大。
2、安装复杂。由于 php的每一种扩充模块并不是完全由 php本身来完成,需要许多外部的
应用库,如图形需要 gd库,LDAP需要 LDAP库,…… 这样在安装完成相应的应用后,再联编
进 php中来。这也就是以前在代码联盟新闻组中对网友所说的一定要在 reeBSD/Linux/Unix
下运行 php的原因。只有在这些环境下才能方便的编绎对应的扩展库。这些都是一般开发
人员在使用 php前所先要面对的问题,正是这样的问题让许多开发人员转而使用其它的开
发语言,必竟 Unix没有那么多的用户。
3、缺少企业级的支持。没有组件的支持,哪么所有的扩充就只能依靠 php开发组所给出的
接口,事实上这样的接口还不够多。同时难以将集群、应用服务器这样的特性加入到系统
中去。而一个大型的站点或是一个企业级的应用一定需要这样的支持的。注:在 php的 4.0
版本以后加入了对 servlet/javabean的支持,也许这样的支持会在以后的版本中更加增强,
也许这样的支持会是 php以后的企业级支持的起点。
4、缺少正规的商业支持。这也是自由软件一向的缺点,我想在国内 php的开发人员正在快
速增加,相信在不久的将来,这样的支持能多起来。
5、无法实现商品化应用的开发。由于 php没有任何编绎性的开发工作,所有的开发都是基
于脚本技术来完成的。所以所有的源代码都无法编译,所以做完成的应用只能是自己或是
内部使用,无法实现商品化。
PHP总结
适用人群:熟悉 Unix环境,需要在最少的投入下完成快速的应用开发。
适用平台,FreeBSD/Linux/Unix操作系统,Apache服务器适用应用,Internet
高访问量、快速数据库开发的应用。
学习方式,Internet上国内丰富的资源 Internet上丰富的源代码资源,完全可
以参考这样的例程来完成自己的应用。市场上最近出版的好几本 php手册。
推荐开发工具,Home Site/PHPEd
推荐开发环境,FreeBSD 4.9/RedHat 8.1操作系统 /Apache 1.3.28/MySQL
4.1.0/P3 500/128M RAM/9G HD
推荐应用环境 (最少 ),FreeBSD 4.9/MySQL 4.1.0/Apache 1.3.28/P3 500/128M
RAM/9G HD
推荐应用环境 (最佳 ),FreeBSD 4.9/Sybase 11/Apache 1.3.28/P4 2.0G/512M
RAM/18G HD
JSP:Java Server Page
Jsp到底是一个什么样的语言呢?实际上 JSP就是 Java,只是它是一个特别
的 Java语言,加入了一个特殊的引擎,这个引擎将 HTTPServlet这个类的一些对
象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个
引擎又引入了 <jsp:*,<%@等一系列的特别语法,使用这些语法来进行一些特定
的操作,如引用文件,URL转向,JavaBean引用等这样的操作,这些都是由引擎
自动帮你完成初始化的工作。我们可以将这个引擎看作一个 Jsp到 Java Servlet
的生成器或是翻译器,让用户不用再面对复杂的 Servlet中的还没开始工作就要
写的几十行代码。这就是 JSP--一个 Java Servlet生成器。 JSP->Java Servlet
Code(.java文件 )->Java Runtime Bin Code(.class文件 ),这就是为什么我们
第一次运行 JSP时 CPU运行能达到很高的原因,它实际上是调用了 jsp引擎来生成
java文件,再用 javac来编译它到 class文件,这才能去执行它。同时也说明了
在第一次运行以后,速度为什么哪么快的原因,只要这个 jsp文件不改变哪么这
个操作就不再会进行了 (除非你删除了 class文件 )。所以说,java有什么 jsp就
有什么样的功能,与 asp一样,jsp的真正力量是我们永远看不到头的!
应用程序服务器
Servlet/JSP 引擎
EJB Server
客户端
Browse
数据库服务器
HTTP
JDBC
DB2
Model
Controller View
基于 EJB 的三层系统架构
JSP的优势
1、一处编写随处运行。这是一个程序员的梦想,也是从前的程序员的恶梦,为
了在不同的平台间运行,使许多程序员一行行的重写代码。在这一点上 java已
经给了最完美的答案它做的要比 php更出色,除了系统之外,你的代码不用做一
点更改的。
2、系统的多台平支持。已经在差不多所有平台上见到了一致的 java
servlet/jsp的 Web Server/Application Server…… 系统它可以让你在任意环
境做开发,在任意环境进行系统部署,在任意环境扩展。相比 asp/php的局限性
是显面易见的。
3、强大的的可伸缩性。从只有一个小的 jar文件就可以运行 servlet/jsp到由多
台服务器进行集群和负载均横,到多台 Application进行事务处理、消息处
理,.....一台服务器到无数以服务器,Java显示了一个巨人的生命力。
4、多样化和功能强大的开发工具支持。这一点与 asp很像,java已经有了许多
非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利
的运行于多种平台之下。如果你细心的使用它们会发现比自己第一面看到它们
时的功能要强大的多。
JSP的弱势
1、与 ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台
的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。它在扩展时
需要的分成多少块,哪么 java系统中就有多少种产品。所以你要以看到 jre、
jdk,jsdk,jswdk……,实际上它们只要有效的搭配在一起,就可以产生强大
的效能,密不可分,但是对于一位初学者来说:, 有没有搞错!难道让我运行
一个 jsp就要这么多乱七八糟的东西!,
2、从出现的第一天起就被对手痛骂的:, 慢如老牛, 。第一次编绎、运行对于
使用者来说也许真是一场恶梦,现在已经有了很大的变化。
3、技巧还是技巧。一个短处就一定要付出代价的。 Java的运行速度是用将
class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说
却实是, 最低性能价格比, 了。另一方面来说,它还需要硬盘空间来存储一系
列的,java文件和,class文件以及对应的版本文件。
4、缺少系统性的资料。
JSP的总结
适用人群:具有较强学习能力和耐心的开发人员。投入低但是希望拥有较大的
伸缩能力的应用。
适用平台,…… (太多而只不再一一列说 )适用应用,Internet/Intranet高可靠
性应用,Internet/Intranet与 Client/Server结合的应用系统
学习方式,Java的 Doc文档和 java站点中的一系文档 Internet的源代码资源 (对
不起大家,真的不能提出更好的建议了,再有的就是大家的能力和运气,以及
Inetnet上网友的帮助了 )
推荐开发工具,IBM VisualAge for java/Sun Forte for Java
推荐开发环境,Windows NT/Windows 2000开发系统 Visual Age for java,
Tomcat 5 JDK 1.4(可以不安装 )DB2 7.2/P3 500/128M RAM/9G HD
推荐应用环境 (最少 ),RedHat Linux 8.1/MySQL 4.1.0/Apache 1.3.28/Tomcat
5/JDK 1.4/P4 1G/512M RAM/9G HD
推荐应用环境 (最佳 ),IBM WebSpher Application Servefr
/Linux/Db2/VisualAge for java/ P4 2.0G/1G RAM/20G HD
.NET 和 J2EE技术实现架构
.NET 技术架构
Windows
公共语言运行时
,NET Framework


组件
组件
组件
组件
Biz
tal
k



Biz
tal
k













.Net 应用体系结构
Non-Web Clients
Data Tier Web Tier
IIS-01
SQL Server
Middle Tier
Web
Browser
Web Service
.Net Components
Transaction
Message Queue
ADO.Net
Scalability
Monitoring
Security
Web Clients
WinForm ASP.Net
Transaction
Message Queue
ADO.Net
Scalability
Monitoring
Security
Application Server
To
ols
Ma
na
ge
me
nt
+
An
aly
sis
Integration
Content Mgmt
Wireless/Mobile
Data
Commerce
Cache / Proxy / Fwall
Collaboration
Operating System
Microsoft.Net 平台
CS2000
BizTalk / HIS
Exchange / SPS
Content Mgmt Server
Mobile Info Server
SQL Server
Windows Server
ISA Server
Visual
Studio
Visio
3rd
party
Add-ons
App
Center
MOM
Biz
Analytics
Vis
ua
l Stu
dio
Windows Server,Enterprise Servers
Passport,Alerts,.NET My Services
Windows XP,Windows CE,Pocket PC,Office
Microsoft.Net 软件平台
.NET Framework 架构
Windows COM+ Services
通用语言运行环境 (CLR)
基类库( Base Class Library)
ADO.NET and XML
ASP.NET Windows Forms
公共语言规范 ( Common Language Specification)
VB C++ C# JScript …
Vi
su
al
St
ud
io
.N
ET
通用语言运行环境 ( Common Language Runtime)
?,Net应用的运行环境
? 管理运行代码
? 确认类型的安全性
? 提供垃圾收集,错误处理
? 对半信任代码的访问安全控制
? 提供公共类型系统
? 可以访问系统资源
? 本地 API,COM interop
? 软件构造的突破 --基于特性的编程
统一的开发模式
?,Net Framework
? Windows 应用
? System.Windows.Forms
? Web 应用
? System.Web
? 移动设备应用
? MMIT
?,Net Compact Framework
多语言开发
? 统一的对象系统
? 只要选择喜欢的语言使用即可
? 不需要学习更多的规则或 API
? 先进的多语言互用功能
? 跨语言继承,异常处理
? 目前支持 20多种语言
? VB,C++,C#,Java,JScript,Perl,COBOL
? 功能强大的工具
? 调试器等可以跨语言工作
.Net技术概览
? 展示层 – ASP.Net,Windows Forms
? 中间层 -,Net组件
? 中间层可使用的企业服务
? System.EnterprisesServices
? 事务服务 MTS
? 消息服务 MSMQ
? 目录服务 ADSI,UDDI
? 对象池 Object Pooling
? 异步组件 Queued Component
? 数据层 – ADO.Net
? 远层调用 -,Net Remoting/ Web Service
? 利用现有资源 -,Net Interop / Web Service /BizTalk
对 XML的普遍内在支持
Data Documents
& Msgs
Objects
XML
SOAP,Serialization,
Remoting
XML DOM,
XmlReader
XmlWriter
SQL 2000,
ADO.NET
J2EE体系架构
什么是 J2EE?
Java 2 Platform,Enterprise Edition (J2EE)
? 运用 Java技术开发企业应用的标准
? 包括了
? 多层应用开发模型
? 开发平台 - APIs 和服务
? 测试软件包
? 参考实现
? 将所有 Sun的企业技术集合在一个体系结构下的平台
? 特定版本下的 EJB,Servlet,JSP
? Java Web Server
? JNDI,JDBC,JTA,JMS,JavaMail,CORBA…
应用程序服务器
Servlet/JSP 引擎
EJB Server
客户端
Browse
数据库服务器
HTTP
JDBC
DB2
Model
Controller View
基于 EJB 的三层系统架构
J2EE 技术架构
任何平台
Java虚拟机
J2EE Framework


组件
组件
组件
组件
JC
A
eb
XM
L
JTA
JM
S …
Browser
Servlet
or
JSP
Containers
EJB Server
B
C
HTTP
Entity
Bean
HOME
REMOTE
Session
Bean
HOME
REMOTE
Data
J2EE 应用体系结构
A
Data
JDBC
AppServer
IBM 平台
Application Server
To
ols
Ma
na
ge
me
nt
+
An
aly
sis
Integration
Content Mgmt
Wireless/Mobile
Data
Commerce
Cache / Proxy / Fwall
Collaboration
Operating System
WebSphere Integration
Lotus / WebSphere Portal
Everyplace Servers
WebSphere Edge Server
Visual
Age
for
Java
WebSphere
Studio
Tivoli
WebSphere
Site
Analyzer
Multiple Operating Systems
DB2 UDB
WebSphere App Server
Content Mgmt Server
WebSphere Commerce Srvr
CI
CS
R/
3
Pe
op
leS
oft
Tu
xe
do
Cu
sto
m
统一集成框架
EJB EJB Servlet
Repository
JMS
MOMs
JDBC
RDBMS
WebSphere Application Server
WebSphere集成框架
Java 运行环境
? JVM - Java应用的运行环境
? 编译运行 Java语言
? 管理运行代码
? 类型安全
? 内存管理
? 异常处理
? 跨越平台
? Windows/UNIX/Linux
EJB
? J2EE的中间件技术
? Session Bean
? 传统的对象
? 无隐含的数据映射
? 编写你自己的数据访问代码
? Entity Bean
? 对象等价于数据库记录
? 提供数据映射方法
? Create,Load,Store and Remove
? BMP/CMP
Entity Bean
? Transacted Entity Bean
? Property true 意味着在每个事务的开始和结束都要读数据和写
数据 (即使数据没有变化 )
? Propery false 指仅在生成时读一次数据,以后再也不读 (即使数
据已陈旧 )
? Read-only Bean (BEA 特有的功能 )
? BEA 特有的功能以防止在状态无变化时不调 Store 方法
? BEA 亦有刷新的设置可允许数据按时间间隔刷新
? 只读的,事务的 entity bean 行为类似于,NET 中运用
DataReader 的类 (每次读,重不写 )
? CMP Opt Tool 是 WebSphere 的优化
? 读取 bean 的源代码,判断数据访问模式,删除不必要的 Store
调用
? Option A,B and C caching 亦可规定 bean 的数据库访问是否
是排他的
? Option C意味着排他的数据访问,所以 Store method 可以懒方
式调用
J2EE应用开发
? 企业级 Web应用的开发
? J2SE - Rich Client
? J2ME – 移动设备应用开发
? 均基于 Java 2/JDK
J2EE技术概览
? 展示层 – ServLet/JSP
? 中间层 – EJB
? 中间层可用的企业服务
? 事务服务 JTA
? 目录服务 JNDI
? 消息服务 JMS
? 异步组件 Message-Driven EJB
? 数据层 - JDBC
? 远程调用 – RMI/IIOP
? 使用现有资源 - JCA
对 XML的支持
? J2EE标准未包括对 XML Web服务的支持
? 各个厂商提供自己的方案
? 支持 UDDI/WSDL/SOAP
? WSI组织保证互操作性
? SUN的方案
? JAXP/JAXB/JAXM/JAXR/JWSDL
? JAX/RPC
? JAX* – Java API for XML *
.Net与 J2EE 的比较
技术架构整合
WS-I
Windows
CLR
,NET

















Linux
JVM
J2EE
Se
cu
rit
y
JC
A
eb
XM
L
JTA
JM
S …

表示层
业务逻辑层
数据层
J2EE
CLR
.NET Assembly
ADO.NET
(可使用 COM+ 服
务 ; 比如事务 )
Web 表单
Server 控件
Code-Behind
ASP.NET
IIS
JavaBeans
EJBs
JSP
Servlets
可运行于大多
数主要应用及
Web服务器
支持大多数
数据库 (通
过 Type 4
驱动程序 )
J2SE/EE
JDBC (事务使
用 JTA)
.NET
SQL Server
Oracle
DB/2,etc,
SQL Server
Oracle
DB/2,etc,
Web 架构, J2EE vs,NET
状态, ASP.NET Session,
.NET 数据缓存
状态, 封装于 EJB 中,
也可在 Web Sessions 中
? JDBC
? JTA
? JNDI
? JMS
? JavaMail
? RMI/IIOP
? JAF
.Net/J2EE主要技术比较
,Net
ADO.NET
,Net Transaction
Active Directory
.Net Messaging
SmtpMail
Web Services/Remoting
J2EE
.Net JIT (Just In-Time
Activation)
.NET与 J2EE平台的详细对比
技术
.NET
J2EE
支持技术 发布协议
DCOM,SOAP
RMI/IIOP
防火墙 ISA* 没有定义 HTML页面缓存
ISA*,ASP.NET
没有定义
表示层技术 基础结构
IIS
JWS
程序设计模型 ASP.NET Servlets,JSP 高可用性
NLBS*,ACS*,其他
没有定义
负载平衡 NLBS*,ACS*,其他 没有定义 中间层技术
基础结构 COM+ EJB 程序设计工具
Visual Studio.NET
没有定义
高可用性 ACS* 没有定义 负载平衡
ACS*
没有定义
安全性 API COM+ Security Call Context JAAS
消息队列 API
MSMQ
JMS 1.0
异步组件 Queued (COM+) Message driven beans (EJB 2.0)
命名与目录服务
ADSI
JNDI
数据层技术 分布式事务处理
MS-DTC
JTS
关系型数据库 API ADO.NET JDBC 2.0 层次型数据库 API
ADO.NET
-
数据库存储 SQLServer** - 大型机数据库连接性
HIS*
Java连接器
架构技术 电子商务架构
Commerce Server*
-
B2B BizTalk Server* -
技术的成熟性
Microsoft
J2EE
1996 1997 1998 1999 2000 2001
MSXML
JAXP
ASP
JSP
MTS/COM+
EJB
ODBC
JDBC
Mar 1992
ADSI
JNDI
QC
MDB
LCE MMC
WinDNA
J2EE
MSMQ
JMS
VS.Net
.Net
EJB 与,NET 组件比较
Session Beans
无状态
有状态
,NET 类 无状态
传统的对象
无隐含的数据映射
编写你自己的数据访问代码
Entity Beans
永远有状态
.NET中
无等价类
.NET J2EE
对象等价于数据库记录
数据映射通过以下 4个方法,
Create,Load,Store and Remove
BMP = 这 4个方法由你自己编写
CMP = container 提供这些方法
除了这 4个方法再没有其它的数据访问
J2EE的移植性与互操作性
? 理论上 J2EE应用可以采用多个厂商的产品
? 只要符合 J2EE的标准
? 实际情况
? J2EE标准不完整,如 Web Service
? J2EE的技术需改进,如 EJB
? 各厂商发展各自的技术
? 不同产品很难协同和移植
? J2EE可选择同一厂商支持的不同操作系统
.Net的移植性与互操作性
? 理论上,Net应用可移植到任何平台
? CLS提交给标准化组织
? 只要支持 CLR
? 实际情况
? 只有 Windows/Free BSD
?,Net支持 Web Service
? 可以使用任何平台运行的 Web Service
? 任何平台可使用,Net Web Service
技术比较结论
?,Net和 J2EE应用有着相似的架构
?,Net和 J2EE有相应的主要技术
?,Net所有技术来自 Microsoft
? J2EE的技术有多个厂商的实现
?,Net和 J2EE都可以满足大多数应用的需求
? 主要的差别不在技术的可行性上
? 开发效率
? 性能
? 成本
? 稳定性
在 Internet应用集成中的问题
? 不同组件模型的
组件无法进行相
互的无缝调用
? 相同组件模型在
Internet上也很难
甚至无法相互调

EJB
CORBA
COM
CORBA
为什么需要互操作性?
满足客户的需求
? 异构已成为事实
? 完全的中央控制不切实际
? 大多数大企业拥有混合的系统
? 企业合作,收购,兼并
? 企业要求互操作性
? CIO已经把集成列入 IT方面第一关注的事项
? 误区
? 套牢 (Lock-in)还是开放 (Open)
? 跨平台还是互操作性
互操作的目标
? 保护现有的投资
? 与新模块无缝结合
? 访问到任何平台上的业务逻辑
? 通过标准接口访问到数据层
? 充分发挥平台的优势
j2ee
.net
应用程序流程
JSPs
Servlets
Servlets
EJBs DB2
ASP.NET Serviced Components SQL Server
客户端 Web 层 业务逻辑层 数据库层
浏览器
互操作 – 业务层
? 集成 EJB
? 集成应用程序服务器
? 考虑,
? 事务处理
? 错误处理
? 可伸缩性,安全性,性能
Web 层 业务逻辑 数据层
Web 层 业务逻辑 数据层
互操作 - 业务层
方案一
? RMI -,NET Remoting 桥接
? 优点
? 接线层级的性能
? 缺点
? 紧耦合
? 特定的厂商和版本
Web 层 业务逻辑 数据层
Web 层 业务逻辑 数据层
j2ee
.net
互操作 - 业务层
方案二
JSPs Servlets Servlets EJBs DB2
ASP.NET Serviced Components SQL Server
客户端 Web 层 业务逻辑层 数据库层
浏览器 方案二, 消息队列
互操作 - 业务层
方案二
? 消息队列 (MQ Series)
? 优点
? 松耦合
? 支持 N到 N的场景
? 支持事务,安全性,可靠的消息传递
? 缺点
? 不能同步操作
? 可能出现端口或防火墙问题
? 消息队列跨越互联网?
Presentation
Application
Session
Transport
Network
Data link
Physical
Network
Interface
IP,ARP,ICMP
TCP
Application
UDP
TCP/IP OSI
OSI vs,TCP
和消息队列
消息队列
松耦合系统
? 独立系统相联结
? 独立的基础架构
? 独立地开发,部署,管理
? 彼此之间没有信任关系
? 目标
? 少数的,定义明确的连接点
? 各系统实现没有依赖性
? 任何一端的修改都可以适度容忍
j2ee
.net
互操作 - 业务层
方案三
JSPs Servlets Servlets EJBs DB2
ASP.NET Serviced Components SQL Server
客户端 Web 层 业务逻辑层 数据库层
浏览器 方案三, Web 服务
互操作 - 业务层
方案三
? Web 服务
? 优点
? 松耦合
? 同步 (或异步 )操作
? 跨防火墙
? 产业界推动
? 可扩展
? 缺点
? Web服务标准在事务处理,可靠消息传
递方面缺少支持
安全性如何?
? Web 服务
? 基本的标准 (XML,XSD,SOAP,WSDL,
UDDI) 没有涉及安全性
? 现在可以使用点到点基于传输层的安全措施 (
比如,HTTPS)
? 将来的版本将包含 WS-Security
? 对于其它互操作机制
? 自己完成加密,数字签名等
互操作建议
? 可能的情况下使用 XML Web 服务
? 转移到一个面向服务的体系结构
? 使用 XML Schema
? XML Web 服务包含了 XML Schema
? 也适用于消息传递,文档交换,及其它情形
? 只有在绝对必要时才可以不遵循这些约定
RFID技术及其应用
RFID简介
? RFID( Radio Frequency Identification,射频识别)最
早出现在 20世纪 80年代,当初被用于无法使用条形码跟踪
技术的特殊工业场合,许多行业和公司利用它来定位、确
认及跟踪库存产品或其他目标。 RFID系统主要由三部分组
成:数据仓库应用软件,管理收集而来的数据;扫描器
(即阅读器),扫描及获取标签数据;感应器(如标签),
里面含有数据 ;
? 无线即时读取方式、大容量和高速数据处理能力以及高度
的自动化
RFID目前主要应用
? 供应链与物流管理
? 生产制造与装配
? 行李、邮件和包裹处理
? 身份识别、防伪、门禁和防盗系统
? 文档追踪 /图书馆管理
? 交通管理与城市规划
? 服务体验与 CRM
? 更多在于各行各业的人们如何发挥想象力
RFID困难
? 成本(系统软硬件、人员、准确可靠性等)
? 安全
? 协同机制
? 私密性
? 完全应用
统一消息平台技术
统一消息研究的意义
? 传统通讯方式的局限性
? 形式单一
? 费用高
? 时空上存在很大的局限性
? 统一消息服务的可能性和必要性
? IP网络和移动通讯网建设的巨大成就
? 互联网使用者增长迅速
? 企业跨国化、跨地区化要求业务整合
? 企业和家庭通讯费用的节省
? 统一消息平台的目标,打破终端和媒介的壁垒,
使用户可以在任何时间、任何地点使用不同的技
术、媒介和终端与任何人进行通信。
统一消息平台的研究和应用现状
? 统一消息系统的基本结构和关键技术
? 接入服务
? 应用服务
? 后台服务
? UMS产品的开发现状
? 统一的用户目录
? 统一的信息存储
? 统一的系统管理
? 统一消息系统的应用情况
系统总体框架
? 系统体系结构
? 客户端 /服务端两层结构
? 客户端 /中间服务器 /服务端多层结构
? 系统方案的基本策略
? 基于事件触发的业务集成
? 基于目录的安全控制
? 多媒体消息管理
? 基于中间语言的业务描述
? 系统开发的基本原则 ——开发为主,开发与集成
相结合,充分利用现有的成熟技术。
系统框架图
各功能模块和消息实体的集成
? 活动目录安全控制
? 基于通知服务的系统业
务流程集成
? 基于 Microsoft
Exchange Server 的多
媒体消息管理
? 基于 XML的统一数据交

目录
2002-1-1 13:00
2002-1-1 13:01
2002-1-1 13:03

Event1
Event2
Event3

Event
消息存储
企业级即时消息平台研究的意义
? 当前即时消息系统的局限性
? 免费即时消息程序之间的互通性很差
? 存在严重的安全隐患
? 各种信息服务之间缺乏整合和互通
? 研究的目的和意义
? 基于 XML的即时消息协议
? 可扩展的体系结构
? CA认证中心提供安全保障
? 通过通知服务整合各种信息服务
相关技术介绍
? 通知服务的传递方式
? 密码系统与微软公钥基础结构
? XML语言
? Web服务
企业级即时消息平台的设计
? 企业级即时消息平台模型
? 即时消息系统的模型
? 通知服务的模型
? 认证服务的模型
通知服务的传递方式
? 什么是通知服务
? 使用通知服务的意义
? 通知服务的工作方式
? 订阅者通过应用程序进行相关的订阅
? 应用程序收集并且通过 Web服务提交事

? 通知服务根据规则引擎来匹配订阅与事件
? 如果事件与订阅匹配,通知服务则生成通

? 通知服务格式化通知并将其发送到传递服

企业级即时消息平台模型
即 时 消 息 通 知 服 务
事 件 收 集 器
传 递 通 道
W e b S e r v i c e
事 件
X M P P
通 知
其 它 处 理 模

I M 客 户 端
C A 中 心
证 书 申 请
安 全 认 证
其 它 I M 处 理
模 块
明 文 消 息 或 者 经 过 加
密 签 名 的 消 息
G S M L / S M T P
S M S 短 消 息 服 务
E M A I L 服 务
W e b S e r v i c e
事 件
S M S 短 消 息 服 务
通 知
UMIM即时消息系统设计
? 分布式的网络结构
? 模块化的可扩展的体系结构
? 服务器端
? 客户端
? transport组件
? 路由器组件
? 基于 XML格式的可扩展消息和在线信息协议
(XMPP协议 )









会 话 管 理
X M L 数 据 A P I
R o u t e r
U M I M W e b C l i e n t
其 它 I M S e r v i c e
A u t h
R o s t e r
P r e s e n c e
A g e n t s
O f f l i n e
L o g
V C a r d
A d m i n
F a s t F i l e L D A P
数 据 源
其 它
U M I M
服 务 器
T r a n s p o r t s
U M I M 客 户 端
客 户 端 连 接 管 理 服 务 器 连 接 管 理
X M P P
S 2 S
X M P P
其 它 即 时
消 息 协 议