1、1WebSphere快速入门瞿裕忠 张剑锋 王丛刚 陈峥东南大学计算机科学与工程系摘要我们已经走进电子商务时代,本书将带您进入电子商务应用开发的世界。本书第一章介绍电子商务理念及有关技术基础,包括 Internet、Web 和 Java。第二章介绍 IBM 电子商务应用框架,包括 WebSphere。第三章给您带来 WebSphere Studio 应用开发技术。第四、五章分别介绍新一代 Web 应用的关键技术:Java Servlet 和 JSP。第六章介绍新一代 Web 应用服务器软件:WebSphere 应用服务器。第七章带给您新一代 Web 应用编程技术:WebSphere 应用编程技
2、术。本书附录中的实验指导带您一起走过使用WebSphere 技术开发电子商务应用的过程。本书特别适合于信息技术类的高年级大学生和研究生,以及从事电子商务应用开发的技术人员。通过学习本书,您将了解电子商务应用开发的先进技术,并快速掌握 WebSphere 电子商务应用开发的基本技术。第一章 电子商务基础知识Web 正改变着我们生活的方方面面,但任何领域都没有象商务运作方式那样经历着一场快速而巨大的变革。众多商家正在准备或已经走向转变到电子商务的道路,即使用 Internet 技术转变关键的商务过程。本章介绍电子商务理念及有关技术基础,包括 Internet、Web 和 Java。1.1 电子商务
3、理念从 20 世纪 70 年代以来,很多机构依靠电子数据交换(EDI、Electronic Data Interchange)实现业务处理的自动化。EDI 着重于商业伙伴之间的事务处理标准化,但是EDI 标准缺乏灵活性和可扩展性。进入 20 世纪 90 年代,随着 Web 技术的发展,尤其是在1995 年 Java 出现以后,许多机构开始采用 Web 应用系统来支持电子商务。电子商务(e-business)是指借助 Internet 及相关技术进行商务活动,而一个电子商务(an e-business)是这样的一个机构,它通过内部网、外部网和 Web 将关键业务系统直接连接到客户、员工、供应商和
4、业务伙伴。一个机构要转型为一个电子商务,就要使用 Internet 技术转变关键的业务过程,如客户关系管理、电子商贸、供应链管理、企业内部管理。这个转变过程也是一个综合使用 Internet 技术、信息技术、商务技术转变业务方式的过程。然而,电子商务不仅仅是技术更新。转变到电子商务必须对需要做什么有一个明确的蓝图,以及对实现这个蓝图有一个清晰的发展指南。电子商务周期模型正是为企业开展电子商务提供了一个模型。电子商务周期(参见图 1-1)由四个组成阶段,包括转变、构造、运行和利用。想要转变到电子商务的机构无论何时均可以从任何一个阶段开始。这也是一个重复的过程。2图 1-1:电子商务周期模型1)
5、转变阶段是关于转变核心的商务过程,也就是要将现有的商务模型扩展到网络世界以创造一个电子商务模型。应用 Internet 技术为商务创造最大限度的价值,电子商务改变着客户关系管理、供应链和电子商贸的传统准则。在转变商务过程时,每一个商务过程应该放在整体环境中加以考虑。否则,充其量只是离散的各个更好的商务过程,无法带来期望的改善客户服务和提高电子商务价值的效果。2) 构造阶段是关于构造新的应用系统。转变核心的商务过程需要新一代的应用系统。构造阶段也包括使用一个基于开放标准的途径将已有应用系统迁移到 Web 上。要求电子商务应用系统是基于标准的、以服务器为中心的、可伸缩的、可快速部署、易用和易管理的
6、。3) 运行阶段涉及一个可伸缩的、可用的、安全的运行环境。围绕着商务和应用系统通常有一个基础设施。基础设施提供的服务要求是可用的、可伸缩的、易管理的和安全的。4) 利用阶段是关于知识和信息的利用。这里的焦点是知识管理,也就是说利用我们知道的东西。与信息管理不同,知识管理包括对显式知识和隐式知识的管理。传统的 IT 系统处理的是显式知识,即能写下来并能编程处理的。而隐式知识是人们知道的但没有被写下来的东西,它基于直觉、经验和洞察力。从简单的开始,快速地增长。从现有的基础上构造电子商务应用系统,逐步将核心业务扩展到Internet 上,最终实现电子商务带来的巨大的投资回报。然而,电子商务的技术基础
7、主要包括Internet、Web 和 Java,本章以下各节介绍这些技术的基础知识。1.2 Internet基础知识Internet 已经成为企业、政府和研究机构共享信息的基础设施,同时也是开展电子商务的基础。Internet 的先驱是 ARPANET。美国国防高级研究计划局 (Defense Advanced Research Project Agency、简称 DARPA)于 20 世纪 60 年代后期资助开发了一种叫做 ARPANET 的实验性通讯系统。起初,它仅用于连接美国军事机构的计算机网络,但随后不久,这个网络很快扩展到与国防有关的公司和研究机构。从此,面向特定应用需求的不同网络协
8、议及网络技术相继出现,同时也带来了网络互连的问题。如果两个网络使用不同的协议,即使采用某种网络技术将它们在物理上互相连接起来,应用系统(如邮件系统)之间也无法相互沟通。为此,很多组织,如 CCITT(Consultative Committee on International Telephony and Telegraphy,现在成为 ITU-T,即 International Telecommunications Union - Telecommunication Standardization Sector)和 ISO(国际标准化组织),开始考虑定义一套分层协议族,使得应用系统之间能相互
9、通信,即使这些应用系统运行在不同的网络环境中(如不同的操作系统和不同3的网络技术) 。DARPA 从 1970 年左右开始研究一套称之为 TCP/IP 的分层协议族,于 1978 年左右基本定形。ARPANET 于 1980 年左右开始采用 TCP/IP 协议族,并于 1983 年全面实现。与此同时,TCP/IP 协议族在 UNIX 操作系统中也得到了实现(由加利福尼亚大学伯克利分校完成) ,并免费分发。从此,TCP/IP在大学和研究机构中迅速传播,并成为连接 UNIX 系统的标准协议。这些互相连接的网络广泛深入到大学和其它组织(一开始主要是非赢利组织) 。由于个人计算机的迅速普及,该网络扩展
10、到全球大部分地方,并且开始吸引成千上万的个人以及赢利组织加入,由此逐渐形成了所谓的 Internet(因特网) 。Internet 指的是全球性互连网络。它由下列网络群构成:1) 主干网:通常为大规模网络,这些网络主要用来与其它网络互连,如美国的NSFNET(NSF是指美国国家自然科学基金会) 、欧洲的EBONE、大型的商用主干网。2) 区域网:如连接大专院校的区域网。3) 商用网络:为客户提供连接骨干网的服务的网络,或只供公司内部使用且连接到Internet的网络。4) 局域网:如校园网。90年代,Internet 发展十分迅猛,这与 1991年HTML 的问世和Gopher的免费发放有关,
11、也与1993年Mosaic的问世有关,Internet的商用也加速了Internet 的扩张。到 20世纪末,Internet已经成为一种通过服务器将小型网络连接起来的错综复杂的网络结构。大部分情况下,服务器通过专门进行 Internet 通讯的线路来传送数据。个人计算机则通过直接线路,或者通过电话线和调制解调器连接到这些服务器上。直接线路一般是高速的电讯线路,专门用于在建筑物之间或组织之间传送数据。而标准的电话线路,现在主要是综合业务数字网络(ISDN)的线路,则通常用于连接个人计算机。1.3 Web基本知识Web(World Wide Web、万维网)技术是电子商务的核心技术。Web 的思
12、想可追溯到 Tim Berners-Lee 于 1989 年 3 月在 CERN (Centre European pour la Recherche Nucleaire,或称 European Laboratory for Particle Physics、欧洲粒子物理实验室)写的一个关于信息管理的项目建议书(Information Management: A Proposal) 。该建议书提出了分布式超文本系统的设想,旨在将 CERN 已有的几个信息服务器一体化,并提供一个简单的用户界面来存取各种形式的信息。1990 年 Web 浏览器和 Web 服务器使用面向对象技术相继在 CERN 实
13、现。Berners-Lee 和他的合作伙伴成功引入了构成 Web 体系结构的基本元素:Web 服务器、Web 浏览器、浏览器与服务器之间的通信协议 HTTP(Hypertext Transfer Protocol 、超文本传输协议)、写 Web 文档的语言 HTML( Hypertext Markup Language、超文本标记语言 )、以及用来标识 Web 上资源的URL(Universal Resource Locator 、统一资源定位器)。 1993 年,美国伊利诺斯大学国家超级计算应用中心 NCSA (National Center for Supercomputing Appli
14、cations)的 Marc Andreesen 及其合作者发布了称为Mosaic 的浏览器,这是第一个较健壮的易用的浏览器,它具有友善的图形用户界面。从此,Web 迅速成长为全球范围内的信息宝库。1994 年,W3 联盟在 Tim Berners-Lee 的领导下成立,该组织通过制定技术规范与提供参考软件来发展 Web 的技术标准并促进 Web 产品之间的互操作性。URL(Universal Resource Locator 、统一资源定位器) 用来唯一标识 Web 上的资源,包括 Web 页面、图象文件(如 gif 格式文件和 jpeg 格式文件) 、音频文件(如 au 格式)、视频文件
15、(如 mpeg 格式文件) 。URL的格式为:协议:/主机名/标识符(例如 http:/:80/index.html )。协议可以是HTTP、HTTPS(安全的超文本传输协议) 、FTP;主机名用来标识被请求的服务器;端口通常为不同协议保留,例如 FTP 和 HTTP 守护进程侦听不同的端口,FTP 缺省的端口号为 21,HTTP 缺省的端口号为80;标识符说明被请求的是什么,可以是文件名(含路径)或一个应用关键字 (如/cgi-bin/和/servlet/)加上一些信息(如一个脚本的名字和 servlet 的名字) 。例如,用户键入 URL 格式的地址(例如 http:/:80/index.
16、html );浏览器请求主机 在 80 端口提供的 HTTP 服务,并要求取得该服务器上的 index.html 文件;服务器接受请求,取得该文件;服务器把文件返回浏览器,并告诉浏览器这是一个 HTML 文件;浏览器在显示器上显示这个页面。在浏览器和 web 服务器之间使用的协议是 HTTP。HTTP(Hyper Text Transfer Protocol、超文本传输协议)是用来在互连网上传输文档的协议,它是4Web 上最常用也是最重要的协议,也是 Web 服务器和 Web 客户(如浏览器)之间传输 Web 页面的基础。HTTP 是建立在 TCP/IP 之上的应用协议,但并不是面向连接的,
17、而是一种请求/应答(Request/Response)式协议。浏览器通常通过 HTTP 向 Web 服务器发送一个 HTTP 请求,其中包括一个方法、可能的几个头、一个体。常用的方法类型包括:GET(请求一个网页) 、POST(传送一个表单中的信息) 、PUT(存入这个信息、类似于 FTP 中的 PUT)和 DELETE(删除这个信息) 。Web 服务器接受到 HTTP 请求之后,执行客户所请求的服务,生成一个 HTTP 应答返回给客户。HTTP 应答有一个状态行、可能的几个头、一个体。在头中可以定义返回文档的内容类型(MIME 类型) 、Cache 控制、失效时间。MIME 类型包括:“te
18、xt/html”(HTML 文本) 、 “image/jpeg”(JPEG 图) 、 “audio/ra”(RealAudio 文件) 。HTTP 本身也在不断完善和发展,目前,常用的是 HTTP1.1,它更好地利用 TCP 的特性,对 HTTP1.0 作了改进。HTML (Hypertext Markup Language、超文本标记语言)是 Web 诞生与发展的要素之一,它旨在使得Web 页面能显示在任何 HTML 使能的浏览器中,而与连网的机器平台无关。HTML 并不是一个程序设计语言,而是一个标记语言,它所提供的标记是由 SGML(Standard Generalized Markup
19、 Language,标准的通用标记语言)定义的。SGML 是 ISO(国际标准化组织)在 1986 年推出的一个用来创建标记语言的语言标准,它源自 IBM 早在 1969 年开发的 GML(Generalized Markup Language) ,该语言的名称也正好包含了三位创始人姓字的第一个字母,他们分别是 Charles F. Goldfarb, Edward Mosher,Raymond Lorie。 SGML 是一种元语言,即用来定义标记语言的语言,它提供了一种将数据内容与显示分离开来的数据表示方法,使得数据独立于机器平台和处理程序。这些特性促使 Tim Berners-Lee 采用
20、 SGML 来创建称之为 HTML 的标记语言。 1993 年形成 HTML 1.0,以后不断完善,HTML 4.0 发表于 1997 年。特别需要指出的是 HTML 提供的链接机制是 Web 的本质特性之一。但是,HTML 更多的关注 Web 浏览器如何在页面上安排文本、图象和按钮等,过多地考虑外观使其缺乏对结构化数据的表示能力。另外,HTML 中有限的标记不能满足很多 Web 应用的需要,如基于 Web 的大型出版系统和新一代的电子商务,而为各种应用需要不断地往 HTML 中增加标记显然不是最终的解决方法,究其原因是 HTML 缺乏可扩展性。解决方案应该是简化 SGML 使之能应用到 We
21、b 上。为此,从 1996 年开始,W3C(World Wide Web Consortium) 的一个工作组在 Jon Bosak 的领导下致力于设计一个超越 HTML 能力范围的新语言,这个语言后来被命名为 XML(Extensible Markup Language,可扩展标记语言) 。1998 年 2 月,W3C 发布了 XML 1.0 作为其推荐标准。现在, W3C 已经用 XML 设计出一个与 HTML4.01 功能等价的语言,称为XHTML1.0 ( Extensible HyperText Markup Language) 。Web 客户通常指的是 Web 浏览器,如 Nets
22、cape Navigator 和 Microsoft Internet Explorer。这种浏览器能理解多种协议,如 HTTP、HTTPS、FTP;也能理解多种文档格式,如 text、HTML 、JPEG(一种图象文件格式) 、XML(有的尚未支持 );也具备根据对象类型调用外部应用的功能。需要指出的是 HTML 文档中的链接在 Web 浏览器中通常以带下划线的方式显示,用户点击某个链接就能浏览到所链接的 Web 资源,这也是 Web 的魅力所在。Web 服务器(或称 HTTP 服务器)提供 HTTP 服务。本来 Web 服务器只提供“静态”内容,即返回在 URL 里指定的文件的内容,一般具
23、备将 URL 名映射到文件名的功能,并能实施某种安全策略。现在,可采用 CGI(通用网关接口)技术或 Java Servlet 技术从一个运行的程序里得出“动态”内容,可以采用应用关键字(如/cgi-bin/ 和/servlet/)来组织脚本文件和 Servlet 文件,而且现在的 Web 服务器通常还具备连接数据库的功能,这些形成了 Web 应用的出现。通常,一个 Web 服务器还提供其它服务,如 FTP 服务。有的还可作为代理服务器。一个代理服务器是一个可以从别的服务器上为它的客户取文件的服务器。代理服务器可以通过缓存应答(页面)使得响应时间更快,也可以降低网络流量,对外能隐藏内部网信息。
24、总之,URL、HTTP、HTML(以及 XML)、Web 服务器和 Web 浏览器是构成 Web 的五大要素。Web的本质内涵是一个建立在 Internet 基础上的网络化超文本信息传递系统,而 Web 的外延是不断扩展的信息空间。Web 的基本技术在于对 Web 资源的标识机制(如 URL) 、应用协议(如 HTTP 和 HTTPS) 、数据格式(如 HTML 和 XML) 。这些技术的发展日新月异,同时新的技术不断涌现,因此 Web 的发展前景不可限量。51.4 Java 简介现代技术的发展,尤其是网络技术,给现代企业带来了许多新的机遇和挑战,如改善客户服务、全球化和信息检索等,这些在技术
25、上反映为信息的获取、系统管理、系统集成、新技术的开发、Internet、Intranet 等等与商业的结合。而这些要求一个随处可用的开放的结构和在不同的平台之间低成本的信息传递方式,Java 正好满足这些要求。Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动感的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持
26、 Java applet。另一方面,Java 技术也不断更新。Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口(Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经从 1.1.x 版发展到
27、1.2 版。目前常用的 Java 平台基于Java1.2。Java 语言是一个支持网络计算的面向对象程序设计语言。Java 语言吸收了 Smalltalk 语言和 C+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1) Java 语言是简单的。Java 语言的语法与 C 语言和 C+语言很接近,使得大多数程序员很容易学习和使用 Java。另一方面,Java 丢弃了 C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
28、2) Java 语言是一个面向对象的。Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements) 。Java 语言全面支持动态绑定,而 C+ 语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对象程序设计语言。3) Java 语言是分布式的。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口() ,它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket 等。Java
29、的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。4) Java 语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。5) Java 语言是安全的。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了 Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader) ,如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 Securi
30、tyManager)让 Java 应用设置安全哨兵。 6) Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件), 然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7) Java 语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。8) Java 语言是解释型的。如前所
31、述,Java 程序在 Java 平台上被编译为字节码格式, 然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。69) Java 是高性能的。与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C+。 10) Java 语言是多线程的。在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Th
32、read(Runnable) 的构造子将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized) 。11) Java 语言是动态的。Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能动态地被载入到运行环
33、境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短应用系统的开发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是 Java 企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。1) JDBC(Java D
34、atabase Connectivity)提供连接各种关系数据库的统一接口。2) EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。3) Java RMI(Java Remote Method Invocation)用来开发分布式 Java 应用程序。一个 Java 对象的方法能被远程 Java 虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用 Java 写的。4) Java IDL(Java Interface Definition Language) 提供与 CORBA(
35、Common Object Request Broker Architecture)的无逢的互操作性。这使得 Java 能集成异构的商务信息资源。5) JNDI(Java Naming and Directory Interface)提供从 Java 平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。6) JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。7) JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的
36、各个方面。8) JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。在 Java 技术中,值得关注的还有 JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用 Java 语言。一个 JavaBean 是一个满足 JavaBeans 规范的 Java 类,通常定义了一个现实世界的事物或概念。一个 JavaBean 的主要特征包括属性、方法和事件。通常,在一个支持 JavaBeans 规范的开发环境(如 Sun Java Studio 和 IBM VisualAge for Jav
37、a)中,可以可视地操作 JavaBean,也可以使用 JavaBean构造出新的 JavaBean。JavaBean 的优势还在于 Java 带来的可移植性。现在, EJB (Enterprise JavaBeans) 将 JavaBean 概念扩展到 Java 服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有 DCOM 和 CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。7第二章 电子商务应用框架要转变传统的业务过程,就需要开发和部署电子商务应用系统的一个基础,电子商务应用框架正是这样的一个基础。许多企业希望电子商务应用系统具备
38、下列特征:1) 基于标准;2) 以服务器为中心;3) 可伸缩;4) 能利用已有的核心系统;5) 可快速部署和易用;6) 易管理。本章介绍的电子商务应用框架能满足企业开发电子商务应用系统的上述需求。所谓一个框架是指一个可复用的设计,表示为一组抽象的元素范例以及元素范例之间合作的接口。框架是有针对性的,如一个用户界面框架只为软件系统的用户界面提供了一个设计,而一个应用框架为整个应用系统提供了一个设计。一个应用框架中的元素范例也可称之为组件。本节介绍的电子商务应用框架基于业界标准;它为开发和部署电子商务应用系统提供了一组完整的服务;它提供的Web 应用编程模型定义了Web 应用拓扑结构以及使用框架提
39、供的服务来设计Web应用的一个模型。这个框架基于独立于平台和提供商的技术标准,包括关于客户端、应用服务器、网络、数据和基础设施的标准。这些标准使得客户能在任何时候在网络上的任何地方存取有关数据和服务,也使得开发的应用软件只需写一次就能到处运行,并能即插即用各种组件。下面介绍电子商务应用框架的基本系统模型、体系结构和Web 应用编程模型。2.1 基本系统模型电子商务应用框架为设计电子商务解决方案提供了一个模型。这个框架基于一个多层的分布式环境,在这个环境中,任何多的各层应用逻辑和商业服务分离为各种组件,这些组件通过网络相互通信。在它的最基本的形式中,可以被描述为一个“逻辑上”的 3 层计算模型,
40、即分层是在逻辑上的,并不要求是物理上的。这个基本的 3 层系统模型包括客户、Web 应用服务器、服务器(见图 2-1) 。在这 3 个逻辑层中的应用元素通过一组业界标准的协议、服务和软件连接器互相连接起来。8图 2-1:基本系统模型1. 客户。这个应用框架支持广泛的客户端设备,从个人数字助理(PDA) 、智能卡(smartcard) 、数字无绳电话等大众普遍使用的设备到网络计算机和个人计算机。将这些客户端设备连结到 Web 应用服务器的思路是使用一组被广泛支持的基于 Internet 的技术和协议。客户端的主要作用是将应用产生的结果信息显示给用户。正因为如此,这种客户通常被称为“瘦客户” ,也
41、就是说在客户端执行的应用逻辑很少或没有,这样,很小的软件(如 Web 浏览器)需要在客户端安装。2. Web 应用服务器。Web 应用服务器是这样的一个平台,它为应用的业务逻辑提供了一个运行环境。它包括 HTTP 服务器和企业 Java 服务,支持分布式网络环境下应用软件的快速开发和部署。应用软件在 Web 应用服务器及其内嵌的 JVM(Java Virtual Machine,Java 虚拟机)中运行。这些服务端的组件通过 HTTP 或 IIOP(Internet Inter-ORB Protocol)与客户和其它组件通信,并利用网络基础架构提供的目录和安全服务。这些组件还可以利用数据库、事
42、务处理、和群件等设施。3. 连到外部服务的连接器。外部服务通常是企业在信息技术上多年投资的结果,是人们日常工作所依赖的应用和数据。这些应用和数据是重要的商务资源,需要以一种安全且可控的方式连接到 Web 上,使得企业充分发挥它们的作用为顾客、业务伙伴和员工服务。连接器就是使得它成为现实的一种机制。连接器将中间层内新增的业务逻辑连结到企业已有的应用和数据,从而将 Internet 的力量无缝地连接到企业中来。这个电子商务基本系统模型集中体现了面向 Web 的网络计算风格,并结合了显示、业务逻辑、数据存贮这 3 层应用元素。这个基本系统模型的特性如下: 1. 基于 Web 浏览器/Java app
43、let 使能的广泛的客户连接。2. 易管理的客户,通过配置需要很少或无须本地的软件安装和数据备份。 3. 写一次、到处可运行的应用软件的快速开发及即时部署。4. 提倡软件复用,使得新添程序量最小化、生产效率最大化,并提高软件质量。5. 与外部服务的连接,在这些外部服务系统中驻留着已有业务应用和数据,充分发挥它们的作用为顾客、业务伙伴和员工服务。2.2 体系结构电子商务应用框架的体系结构为开发和部署电子商务应用系统提供了一组完整的服务。这个体系结构由下列关键元素构成(参见图 2-2):9图 2-2:应用框架的体系结构1) 客户基于 Web 浏览器/Java applet 模式,使得对应用系统的存
44、取变得很普遍,并且应用组件能即时发送。2) 网络基础设施提供了如 TCP/IP、目录和安全等服务,这些服务的能力可通过开放且标准的接口和协议来存取。3) 应用服务器软件为电子商务应用系统提供了一个平台,包括 HTTP 服务器、数据库和事务处理服务、邮件和群件服务、和消息服务。4) 应用集成使得异构应用系统间相互通信,使得 Web 能存取现有数据和应用系统。5) Web 应用编程环境为创建动态和健壮的电子商务应用系统提供了服务端 Java 编程环境。6) 电子商务应用服务为方便电子商务解决方案的创建提供了高层应用的特定功能。7) 系统管理用来满足网络计算的管理需求,系统中的元素包括用户、应用、服
45、务、基础构架、和硬件。8) 开发工具用来创建、组装、部署、和管理应用系统。1. 客户客户通常为“瘦客户” ,也就是说在客户端执行的应用逻辑很少或没有,这样,很小的软件(如 Web浏览器)需要在客户端安装。在这个模型中,应用被安排在服务器上并动态地即时(on-demand )下载到发出请求的客户。正因为如此,新一代应用的客户端部分应该用 HTML、DHTML 、XML、Java applets来实现。这种新一代应用支持广泛的客户端设备,从大众普遍使用的个人数字助理(PDA)和智能卡(smartcard)等设备到网络计算机和个人计算机。2. 网络基础设施它为整个体系结构提供了一个安全的可伸缩的分布
46、式网络平台,包括下列均基于开放标准的服务:1) TCP/IP 和网络服务。如 DHCP 和 WAP,DHCP 为进入网络的设备动态地分配 IP 地址,而WAP(Wireless Application Protocol、无绳应用协议)将信息和电话服务发送到移动电话和其它的无绳设备。2) 安全服务。基于公开密钥技术的安全服务支持用户辨认和鉴别、存取控制、保密、数据完整性和交易的无否认性。3) 目录服务。基于 LDAP(Lightweight Directory Access Protocol、轻型目录存取协议) 的目录服务定位网络中的用户、服务和资源。4) 文件和打印服务。可以通过 Web 浏览
47、器来存取和管理文件和打印服务3. 应用服务器软件应用服务器软件层为开发和支撑运行在 Web 应用服务器上的电子商务应用系统的商务逻辑提供了核心功能。包括下列服务:1) HTTP 服务器。它协调、收集并组合包含静态和动态内容的 Web 页面,并将它们发送给客户。2) 邮件和社团服务。它们提供 e-mail、工作日历、小组工作安排、聊天、新闻组讨论等服务。3) 群件服务。它提供一个丰富的共享的虚拟工作间,并支持业务工作流程的协调。4) 数据库服务。它将一个面向对象数据库的特性及功能与 Web 应用服务器集成起来。5) 事务处理服务。它通过提供一个高可用的、健壮的、可扩充的、安全的事务处理应用执行环
48、境来扩展 Web 应用服务器的功能。6) 消息发送服务。它提供健壮的异步通信和消息代理设施来支持通信的发表/订阅模型和消息转换。104. 应用集成应用集成部分使得异构应用系统间在企业内或跨越企业相互通信,这些异构应用系统可能是用不同的程序设计语言实现的,也可能建立在不同的体系结构之上。企业目前的大量关键数据和应用程序(特别是事务处理程序)驻留在已有的系统中。应用集成使得 Web 客户以及服务器能与企业已有系统中的数据和程序一起工作,将 Internet 的力量无缝地连接到企业中来。所支持的集成方法包括连接器、应用消息发送服务、商务过程集成与工作流服务、组件集成服务。5. Web 应用编程环境W
49、eb 应用编程环境基于 Java servlets、Java Server Pages (JSP)、Enterprise Java services 和 Enterprise JavaBean 组件模型 , 为创建在 Web 应用服务器上的动态和健壮的商务应用提供了编程环境。该环境提供了有关服务来鼓励业务逻辑与显示的分离,使得应用能按用户兴趣和客户端设备来动态剪裁内容。6. 电子商务应用服务电子商务应用服务部分便利电子商务解决方案的创建。该部分包括的是面向高层应用的组件。它们建立在应用服务器软件及网络基础设施的基础上,并面向特定应用类型的功能需求按照应用框架的编程模型来实现的。比如支付服务和定单管理服务。 7. 系统管理对于企业内部,系统管理服务为支持端到端的管理提供了核心功能,提供的有关工具和服务来支持应用系统整个生命周期的管理,从安装和配置到运作特性的监控。跨越企业,系统管理服务提供一个协作管理途径,包括策略管理和数据仓库等。 8. 开发工具开发工具用来创建、组装、部署、和管理应用系统。2.3 Web应用编程模型Web应用是这样的应用系统,它利用Web客户(如Web浏览器) 、Web服务器和标准的Internet协议。通常,Web