WebSphere从入门到学通

 

WebSphere快速入门

我们已经走进电子商务时代,本书将带您进入电子商务应用开发的世界。本书第一章介绍电子商务理念及有关技术基础,包括Internet、Web和Java。第二章介绍IBM电子商务应用框架,包括WebSphere。第三章给您带来WebSphere Studio应用开发技术。第四、五章分别介绍新一代Web应用的关键技术:Java Servlet和JSP。第六章介绍新一代Web应用服务器软件:WebSphere应用服务器。第七章带给您新一代Web应用编程技术:WebSphere应用编程技术。本书附录中的实验指导带您一起走过使用WebSphere技术开发电子商务应用的过程。
本书特别适合于信息技术类的高年级大学生和研究生,以及从事电子商务应用开发的技术人员。通过学习本书,您将了解电子商务应用开发的先进技术,并快速掌握WebSphere电子商务应用开发的基本技术。
第一章 电子商务基础知识
Web正改变着我们生活的方方面面,但任何领域都没有象商务运作方式那样经历着一场快速而巨大的变革。众多商家正在准备或已经走向转变到电子商务的道路,即使用Internet技术转变关键的商务过程。本章介绍电子商务理念及有关技术基础,包括Internet、Web和Java。
1.1 电子商务理念
从20世纪70年代以来,很多机构依靠电子数据交换(EDI、Electronic Data Interchange)实现业务处理的自动化。EDI着重于商业伙伴之间的事务处理标准化,但是EDI标准缺乏灵活性和可扩展性。进入20世纪90年代,随着Web技术的发展,尤其是在1995年Java出现以后,许多机构开始采用Web应用系统来支持电子商务。电子商务(e-business)是指借助Internet及相关技术进行商务活动,而一个电子商务(an e-business)是这样的一个机构,它通过内部网、外部网和Web将关键业务系统直接连接到客户、员工、供应商和业务伙伴。一个机构要转型为一个电子商务,就要使用Internet技术转变关键的业务过程,如客户关系管理、电子商贸、供应链管理、企业内部管理。这个转变过程也是一个综合使用Internet技术、信息技术、商务技术转变业务方式的过程。
然而,电子商务不仅仅是技术更新。转变到电子商务必须对需要做什么有一个明确的蓝图,以及对实现这个蓝图有一个清晰的发展指南。电子商务周期模型正是为企业开展电子商务提供了一个模型。电子商务周期(参见图1-1)由四个组成阶段,包括转变、构造、运行和利用。想要转变到电子商务的机构无论何时均可以从任何一个阶段开始。这也是一个重复的过程。

图1-1:电子商务周期模型

1) 转变阶段是关于转变核心的商务过程,也就是要将现有的商务模型扩展到网络世界以创造一个电子商务模型。应用Internet技术为商务创造最大限度的价值,电子商务改变着客户关系管理、供应链和电子商贸的传统准则。在转变商务过程时,每一个商务过程应该放在整体环境中加以考虑。否则,充其量只是离散的各个更好的商务过程,无法带来期望的改善客户服务和提高电子商务价值的效果。
2) 构造阶段是关于构造新的应用系统。转变核心的商务过程需要新一代的应用系统。构造阶段也包括使用一个基于开放标准的途径将已有应用系统迁移到Web上。要求电子商务应用系统是基于标准的、以服务器为中心的、可伸缩的、可快速部署、易用和易管理的。
3) 运行阶段涉及一个可伸缩的、可用的、安全的运行环境。围绕着商务和应用系统通常有一个基础设施。基础设施提供的服务要求是可用的、可伸缩的、易管理的和安全的。
4) 利用阶段是关于知识和信息的利用。这里的焦点是知识管理,也就是说利用我们知道的东西。与信息管理不同,知识管理包括对显式知识和隐式知识的管理。传统的 IT系统处理的是显式知识,即能写下来并能编程处理的。而隐式知识是人们知道的但没有被写下来的东西,它基于直觉、经验和洞察力。
从简单的开始,快速地增长。从现有的基础上构造电子商务应用系统,逐步将核心业务扩展到Internet上,最终实现电子商务带来的巨大的投资回报。然而,电子商务的技术基础主要包括Internet、Web和Java,本章以下各节介绍这些技术的基础知识。
1.2 Internet基础知识
Internet已经成为企业、政府和研究机构共享信息的基础设施,同时也是开展电子商务的基础。Internet 的先驱是ARPANET。**国防高级研究计划局 (Defense Advanced Research Project Agency、简称DARPA)于20 世纪 60 年代后期资助开发了一种叫做 ARPANET的实验性通讯系统。起初,它仅用于连接**军事机构的计算机网络,但随后不久,这个网络很快扩展到与国防有关的公司和研究机构。从此,面向特定应用需求的不同网络协议及网络技术相继出现,同时也带来了网络互连的问题。如果两个网络使用不同的协议,即使采用某种网络技术将它们在物理上互相连接起来,应用系统(如邮件系统)之间也无法相互沟通。为此,很多组织,如CCITT(Consultative Committee on International Telephony and Telegraphy,现在成为 ITU-T,即International Telecommunications Union - Telecommunication Standardization Sector)和ISO(国际标准化组织),开始考虑定义一套分层协议族,使得应用系统之间能相互通信,即使这些应用系统运行在不同的网络环境中(如不同的操作系统和不同的网络技术)。DARPA从1970年左右开始研究一套称之为TCP/IP的分层协议族,于1978年左右基本定形。ARPANET于 1980年左右开始采用TCP/IP协议族,并于1983年全面实现。与此同时,TCP/IP协议族在 UNIX操作系统中也得到了实现(由加利福尼亚大学伯克利分校完成),并免费分发。从此,TCP/IP在大学和研究机构中迅速传播,并成为连接UNIX系统的标准协议。这些互相连接的网络广泛深入到大学和其它组织(一开始主要是非赢利组织)。由于个人计算机的迅速普及,该网络扩展到全球大部分地方,并且开始吸引成千上万的个人以及赢利组织加入,由此逐渐形成了所谓的 Internet(因特网)。Internet指的是全球性互连网络。它由下列网络群构成:
1) 主干网:通常为大规模网络,这些网络主要用来与其它网络互连,如**的NSFNET(NSF是指**国家自然科学基金会)、欧洲的EBONE、大型的商用主干网。
2) 区域网:如连接大专院校的区域网。
3) 商用网络:为客户提供连接骨干网的服务的网络,或只供公司内部使用且连接到Internet的网络。
4) 局域网:如校园网。
90年代,Internet发展十分迅猛,这与1991年HTML的问世和Gopher的免费发放有关,也与1993年Mosaic的问世有关,Internet的商用也加速了Internet的扩张。到20世纪末,Internet已经成为一种通过服务器将小型网络连接起来的错综复杂的网络结构。大部分情况下,服务器通过专门进行 Internet 通讯的线路来传送数据。个人计算机则通过直接线路,或者通过电话线和调制解调器连接到这些服务器上。直接线路一般是高速的电讯线路,专门用于在建筑物之间或组织之间传送数据。而标准的电话线路,现在主要是综合业务数字网络(ISDN)的线路,则通常用于连接个人计算机。

WebSphere快速入门 (2)

1.3 Web基本知识
Web(World Wide Web、万维网)技术是电子商务的核心技术。Web的思想可追溯到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实现。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 Applications)的Marc Andreesen及其合作者发布了称为Mosaic的浏览器,这是第一个较健壮的易用的浏览器,它具有友善的图形用户界面。从此,Web迅速成长为全球范围内的信息宝库。1994 年,W3 联盟在Tim Berners-Lee的领导下成立,该组织通过制定技术规范与提供参考软件来发展Web的技术标准并促进Web产品之间的互操作性。
URL(Universal Resource Locator 、统一资源定位器)用来唯一标识Web上的资源,包括Web 页面、图象文件(如gif 格式文件和jpeg格式文件)、音频文件(如au格式)、视频文件 (如mpeg格式文件)。URL的格式为:协议://主机名<:端口号>/标识符(例如 http://www.seu.edu.cn:80/index.html )。协议可以是HTTP、HTTPS(安全的超文本传输协议)、FTP;主机名用来标识被请求的服务器;端口通常为不同协议保留,例如FTP和HTTP守护进程侦听不同的端口,FTP缺省的端口号为21,HTTP缺省的端口号为80;标识符说明被请求的是什么,可以是文件名(含路径)或一个应用关键字 (如/cgi-bin/和/servlet/)加上一些信息(如一个脚本的名字和servlet的名字)。例如,用户键入URL格式的地址(例如 http://www.seu.edu.cn:80/index.html );浏览器请求主机www.seu.edu.cn 在80端口提供的HTTP服务,并要求取得该服务器上的index.html文件;服务器接受请求,取得该文件;服务器把文件返回浏览器,并告诉浏览器这是一个HTML文件;浏览器在显示器上显示这个页面。在浏览器和web服务器之间使用的协议是HTTP。
HTTP(Hyper Text Transfer Protocol、超文本传输协议)是用来在互连网上传输文档的协议,它是Web上最常用也是最重要的协议,也是Web服务器和Web客户(如浏览器)之间传输Web页面的基础。HTTP是建立在TCP/IP之上的应用协议,但并不是面向连接的,而是一种请求/应答(Request /Response)式协议。浏览器通常通过HTTP向Web服务器发送一个HTTP请求,其中包括一个方法、可能的几个头、一个体。常用的方法类型包括:GET(请求一个网页)、POST(传送一个表单中的信息)、PUT(存入这个信息、类似于FTP中的PUT)和DELETE(删除这个信息)。Web服务器接受到HTTP请求之后,执行客户所请求的服务,生成一个HTTP应答返回给客户。HTTP应答有一个状态行、可能的几个头、一个体。在头中可以定义返回文档的内容类型(MIME类型)、Cache控制、失效时间。MIME类型包括:“text/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 Language,标准的通用标记语言)定义的。SGML是ISO(国际标准化组织)在1986年推出的一个用来创建标记语言的语言标准,它源自IBM早在1969年开发的 GML(Generalized Markup Language),该语言的名称也正好包含了三位创始人姓字的第一个字母,他们分别是Charles F. Goldfarb, Edward Mosher,Raymond Lorie。SGML是一种元语言,即用来定义标记语言的语言,它提供了一种将数据内容与显示分离开来的数据表示方法,使得数据独立于机器平台和处理程序。这些特性促使Tim Berners-Lee 采用SGML来创建称之为HTML的标记语言。1993年形成HTML 1.0,以后不断完善,HTML 4.0发表于1997年。特别需要指出的是HTML提供的链接机制是Web的本质特性之一。但是,HTML更多的关注Web浏览器如何在页面上安排文本、图象和按钮等,过多地考虑外观使其缺乏对结构化数据的表示能力。另外,HTML中有限的标记不能满足很多Web应用的需要,如基于Web的大型出版系统和新一代的电子商务,而为各种应用需要不断地往HTML中增加标记显然不是最终的解决方法,究其原因是HTML缺乏可扩展性。解决方案应该是简化SGML使之能应用到Web上。为此,从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浏览器,如Netscape Navigator和Microsoft Internet Explorer。这种浏览器能理解多种协议,如HTTP、HTTPS、FTP;也能理解多种文档格式,如text、HTML、JPEG(一种图象文件格式)、XML(有的尚未支持);也具备根据对象类型调用外部应用的功能。需要指出的是HTML文档中的链接在Web浏览器中通常以带下划线的方式显示,用户点击某个链接就能浏览到所链接的Web资源,这也是Web的魅力所在。
Web服务器(或称HTTP服务器)提供HTTP服务。本来Web服务器只提供“静态”内容,即返回在URL里指定的文件的内容,一般具备将URL名映射到文件名的功能,并能实施某种安全策略。现在,可采用CGI(通用网关接口)技术或Java Servlet技术从一个运行的程序里得出“动态”内容,可以采用应用关键字(如/cgi-bin/和/servlet/)来组织脚本文件和Servlet文件,而且现在的Web服务器通常还具备连接数据库的功能,这些形成了Web应用的出现。通常,一个Web服务器还提供其它服务,如FTP服务。有的还可作为代理服务器。一个代理服务器是一个可以从别的服务器上为它的客户取文件的服务器。代理服务器可以通过缓存应答(页面)使得响应时间更快,也可以降低网络流量,对外能隐藏内部网信息。
总之,URL、HTTP、HTML(以及XML)、Web服务器和Web浏览器是构成Web的五大要素。Web的本质内涵是一个建立在Internet基础上的网络化超文本信息传递系统,而Web的外延是不断扩展的信息空间。Web的基本技术在于对Web资源的标识机制(如URL)、应用协议(如HTTP和HTTPS)、数据格式(如HTML和XML)。这些技术的发展日新月异,同时新的技术不断涌现,因此Web的发展前景不可限量。
1.4 Java 简介
现代技术的发展,尤其是网络技术,给现代企业带来了许多新的机遇和挑战,如改善客户服务、全球化和信息检索等,这些在技术上反映为信息的获取、系统管理、系统集成、新技术的开发、Internet、Intranet等等与商业的结合。而这些要求一个随处可用的开放的结构和在不同的平台之间低成本的信息传递方式,Java正好满足这些要求。
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的 HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java 应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1.x版发展到1.2版。目前常用的Java平台基于Java1.2。
Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:
1) Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2) Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3) Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4) Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5) Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6) Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
7) Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
8) Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9) Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10) Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11) Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的 API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
1) JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。
2) EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3) Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
4) Java IDL(Java Interface Definition Language) 提供与CORBA(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)技术的各个方面。
8) JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。

在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM 和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
第二章 电子商务应用框架
要转变传统的业务过程,就需要开发和部署电子商务应用系统的一个基础,电子商务应用框架正是这样的一个基础。许多企业希望电子商务应用系统具备下列特征:
1) 基于标准;
2) 以服务器为中心;
3) 可伸缩;
4) 能利用已有的核心系统;
5) 可快速部署和易用;
6) 易管理。
本章介绍的电子商务应用框架能满足企业开发电子商务应用系统的上述需求。所谓一个框架是指一个可复用的设计,表示为一组抽象的元素范例以及元素范例之间合作的接口。框架是有针对性的,如一个用户界面框架只为软件系统的用户界面提供了一个设计,而一个应用框架为整个应用系统提供了一个设计。一个应用框架中的元素范例也可称之为组件。本节介绍的电子商务应用框架基于业界标准;它为开发和部署电子商务应用系统提供了一组完整的服务;它提供的Web应用编程模型定义了Web应用拓扑结构以及使用框架提供的服务来设计Web应用的一个模型。这个框架基于独立于平台和提供商的技术标准,包括关于客户端、应用服务器、网络、数据和基础设施的标准。这些标准使得客户能在任何时候在网络上的任何地方存取有关数据和服务,也使得开发的应用软件只需写一次就能到处运行,并能即插即用各种组件。下面介绍电子商务应用框架的基本系统模型、体系结构和Web应用编程模型。

WebSphere快速入门(3)

2.1 基本系统模型
电子商务应用框架为设计电子商务解决方案提供了一个模型。这个框架基于一个多层的分布式环境,在这个环境中,任何多的各层应用逻辑和商业服务分离为各种组件,这些组件通过网络相互通信。在它的最基本的形式中,可以被描述为一个“逻辑上”的3层计算模型,即分层是在逻辑上的,并不要求是物理上的。这个基本的3层系统模型包括客户、Web 应用服务器、服务器(见图2-1)。在这3个逻辑层中的应用元素通过一组业界标准的协议、服务和软件连接器互相连接起来。
图2-1:基本系统模型

1. 客户。这个应用框架支持广泛的客户端设备,从个人数字助理(PDA)、智能卡(smartcard)、数字无绳电话等大众普遍使用的设备到网络计算机和个人计算机。将这些客户端设备连结到 Web应用服务器的思路是使用一组被广泛支持的基于Internet的技术和协议。客户端的主要作用是将应用产生的结果信息显示给用户。正因为如此,这种客户通常被称为“瘦客户”,也就是说在客户端执行的应用逻辑很少或没有,这样,很小的软件(如Web浏览器)需要在客户端安装。
2. Web应用服务器。Web应用服务器是这样的一个平台,它为应用的业务逻辑提供了一个运行环境。它包括HTTP服务器和企业Java服务,支持分布式网络环境下应用软件的快速开发和部署。应用软件在Web应用服务器及其内嵌的JVM(Java Virtual Machine,Java虚拟机)中运行。这些服务端的组件通过HTTP或IIOP(Internet Inter-ORB Protocol)与客户和其它组件通信,并利用网络基础架构提供的目录和安全服务。这些组件还可以利用数据库、事务处理、和群件等设施。
3. 连到外部服务的连接器。外部服务通常是企业在信息技术上多年投资的结果,是人们日常工作所依赖的应用和数据。这些应用和数据是重要的商务资源,需要以一种安全且可控的方式连接到Web上,使得企业充分发挥它们的作用为顾客、业务伙伴和员工服务。连接器就是使得它成为现实的一种机制。连接器将中间层内新增的业务逻辑连结到企业已有的应用和数据,从而将Internet的力量无缝地连接到企业中来。

这个电子商务基本系统模型集中体现了面向Web的网络计算风格,并结合了显示、业务逻辑、数据存贮这3层应用元素。这个基本系统模型的特性如下:
1. 基于Web浏览器/Java applet使能的广泛的客户连接。
2. 易管理的客户,通过配置需要很少或无须本地的软件安装和数据备份。
3. 写一次、到处可运行的应用软件的快速开发及即时部署。
4. 提倡软件复用,使得新添程序量最小化、生产效率最大化,并提高软件质量。
5. 与外部服务的连接,在这些外部服务系统中驻留着已有业务应用和数据,充分发挥它们的作用为顾客、业务伙伴和员工服务。
2.2 体系结构
电子商务应用框架的体系结构为开发和部署电子商务应用系统提供了一组完整的服务。这个体系结构由下列关键元素构成(参见图2-2):

图2-2:应用框架的体系结构

1) 客户基于Web浏览器/Java applet模式,使得对应用系统的存取变得很普遍,并且应用组件能即时发送。
2) 网络基础设施提供了如TCP/IP、目录和安全等服务,这些服务的能力可通过开放且标准的接口和协议来存取。
3) 应用服务器软件为电子商务应用系统提供了一个平台,包括HTTP服务器、数据库和事务处理服务、邮件和群件服务、和消息服务。
4) 应用集成使得异构应用系统间相互通信,使得Web能存取现有数据和应用系统。
5) Web应用编程环境为创建动态和健壮的电子商务应用系统提供了服务端Java编程环境。
6) 电子商务应用服务为方便电子商务解决方案的创建提供了高层应用的特定功能。
7) 系统管理用来满足网络计算的管理需求,系统中的元素包括用户、应用、服务、基础构架、和硬件。
8) 开发工具用来创建、组装、部署、和管理应用系统。

1. 客户
客户通常为“瘦客户”,也就是说在客户端执行的应用逻辑很少或没有,这样,很小的软件(如Web浏览器)需要在客户端安装。在这个模型中,应用被安排在服务器上并动态地即时(on-demand )下载到发出请求的客户。正因为如此,新一代应用的客户端部分应该用HTML、DHTML、XML、Java applets来实现。这种新一代应用支持广泛的客户端设备,从大众普遍使用的个人数字助理(PDA)和智能卡(smartcard)等设备到网络计算机和个人计算机。

2. 网络基础设施
它为整个体系结构提供了一个安全的可伸缩的分布式网络平台,包括下列均基于开放标准的服务:
1) TCP/IP和网络服务。如DHCP和WAP,DHCP为进入网络的设备动态地分配IP地址,而WAP(Wireless Application Protocol、无绳应用协议)将信息和电话服务发送到移动电话和其它的无绳设备。
2) 安全服务。基于公开密钥技术的安全服务支持用户辨认和鉴别、存取控制、保密、数据完整性和交易的无否认性。
3) 目录服务。基于LDAP(Lightweight Directory Access Protocol、轻型目录存取协议)的目录服务定位网络中的用户、服务和资源。
4) 文件和打印服务。可以通过Web浏览器来存取和管理文件和打印服务

3. 应用服务器软件
应用服务器软件层为开发和支撑运行在Web应用服务器上的电子商务应用系统的商务逻辑提供了核心功能。包括下列服务:
1) HTTP服务器。它协调、收集并组合包含静态和动态内容的Web页面,并将它们发送给客户。
2) 邮件和社团服务。它们提供e-mail、工作日历、小组工作安排、聊天、新闻组讨论等服务。
3) 群件服务。它提供一个丰富的共享的虚拟工作间,并支持业务工作流程的协调。
4) 数据库服务。它将一个面向对象数据库的特性及功能与Web应用服务器集成起来。
5) 事务处理服务。它通过提供一个高可用的、健壮的、可扩充的、安全的事务处理应用执行环境来扩展Web应用服务器的功能。
6) 消息发送服务。它提供健壮的异步通信和消息代理设施来支持通信的发表/订阅模型和消息转换。

4. 应用集成
应用集成部分使得异构应用系统间在企业内或跨越企业相互通信,这些异构应用系统可能是用不同的程序设计语言实现的,也可能建立在不同的体系结构之上。企业目前的大量关键数据和应用程序(特别是事务处理程序)驻留在已有的系统中。应用集成使得Web客户以及服务器能与企业已有系统中的数据和程序一起工作,将 Internet的力量无缝地连接到企业中来。所支持的集成方法包括连接器、应用消息发送服务、商务过程集成与工作流服务、组件集成服务。

5. Web应用编程环境
Web应用编程环境基于Java servlets、Java Server Pages (JSP)、Enterprise Java services 和 Enterprise JavaBean 组件模型, 为创建在Web应用服务器上的动态和健壮的商务应用提供了编程环境。该环境提供了有关服务来鼓励业务逻辑与显示的分离,使得应用能按用户兴趣和客户端设备来动态剪裁内容。

6. 电子商务应用服务
电子商务应用服务部分便利电子商务解决方案的创建。该部分包括的是面向高层应用的组件。它们建立在应用服务器软件及网络基础设施的基础上,并面向特定应用类型的功能需求按照应用框架的编程模型来实现的。比如支付服务和定单管理服务。
7. 系统管理
对于企业内部,系统管理服务为支持端到端的管理提供了核心功能,提供的有关工具和服务来支持应用系统整个生命周期的管理,从安装和配置到运作特性的监控。跨越企业,系统管理服务提供一个协作管理途径,包括策略管理和数据仓库等。
8. 开发工具
开发工具用来创建、组装、部署、和管理应用系统。

WebSphere快速入门(4)

2.3 Web应用编程模型
Web应用是这样的应用系统,它利用Web客户(如Web浏览器)、Web服务器和标准的Internet协议。通常,Web应用也能利用来自外部非Web服务的应用系统和数据。Web应用编程模型定义了Web应用拓扑结构以及使用框架提供的服务来设计Web应用的模型。

图2-3:Web应用的拓扑结构

图2-3显示了Web应用的拓扑结构(包括主要的元素)。值得注意的是,Web应用服务器和外部服务是不同逻辑层,它们可能运行在同一台机器上。另外,Web应用服务器的功能可能分散在多台机器上。通常,一个Web应用中的前端和业务逻辑部分运行在不同的机器上。Web应用的拓扑结构包含的元素有客户、Web应用服务器、基础设施服务和外部服务。
1. 客户
客户使用Internet技术标准(如TCP/IP、HTTP、HTML和XML)与Web应用服务器通信来存取业务逻辑和数据。客户端的基本功能是接受并验证用户输入,显示从Web应用服务器到用户的返回结果。客户可以是Internet 、Intranet(内部网)和Extranet(外部网)中的客户。Web应用编程模型的重要准则之一是Web应用的商务逻辑总是运行在服务端而不是在客户端。其优点如下:
1) 支持更广泛的客户端设备
2) Web应用服务器能集成对资源(如数据库)的存取,从而简化应用的设计,增强可伸缩性,并提供对资源的更好保护。
3) 运行在服务端的商务逻辑容易得到保护、更新和维护。
4) 运行在服务端的商务逻辑使得用户的应用环境得到集中管理并能在不同的客户机上重建。

2. Web应用服务器
Web应用服务器是 Web应用拓扑结构的核心,它为Web应用提供了广泛的程序设计、数据存取和应用集成等服务。我们可以把一个Web应用看作一个客户与Web站点之间一系列的交互作用。整个交互过程从显示在Web浏览器中一个页面开始。用户单击该页面上的一个按钮或链接就产生一个请求,该请求被送到Web应用服务器。Web应用服务器对这个请求进行处理,产生新的页面,并送回到客户端。在Web浏览器中显示的新页面就是这一次请求的结果,可能也是下一次请求的开始。所以说,Web应用包含了一组交互或处理步骤,每一步必须产生一个页面形式的响应,这个页面作为后继交互作用的入口。

图2-4:Web应用的交互模型

深究单个交互的细节,不难发现这里有三个共用的处理要求,包括业务逻辑层、用户界面层和交互控制器层(参见图2-4)。具体来讲:
1) 业务逻辑层。记录并处理用户输入的部分。比如:对应于在购物篮中添加一项商品的数据库更新操作,或从一个银行帐户到另一个的资金转帐操作。
2) 用户界面层。构造HTML页面的部分。构造出来的页面将被送回给用户,它决定了交互结果的显示形式和风格。
3) 交互控制器层。控制其它元素的部分。处理HTTP请求,从业务逻辑层选择要运行的组件,根据业务逻辑的运行结果从用户界面层选择相应的组件,以构造响应页面。
这三层正好对应到经典的M/V/C(Model/View/Controller,模型/视图/控制器)范例。这一点很重要,因为不同层通常需要不同的开发技术和工具。应用框架为各层提供使用各种组件的支持,这些组件之间有一个良定的接口。

3. 基础设施服务
除了上述程序设计机制, 应用开发者还需要运行时刻的服务来支撑Web应用。方便地定位应用组件、保证它们的可用性以及对它们安全的存取和执行等等都是在Internet、 Intranet和Extranet环境中实施Web应用的关键要素。基础设施服务为支持Web应用提供下列设施:
1) 目录服务,本框架支持使用JNDI来存取基于LDAP协议的安全目录服务。
2) 认证授权,这个设施能产生用来鉴别用户和服务器的证书。公开密钥技术已经成为电子商务首选的可信赖的机制,而认证授权是公开密钥技术中的一个关键部分,它提供了数据保密、数据完整性、签名验证和用户鉴别等特性。
3) 防火墙,它作为可信赖的内部网络和不可信赖的外部网络之间的一个接口。通常,防火墙使用报文过滤器根据报文的源地址、宿地址、和服务类别(即端口号)来过滤报文流。使用防火墙来控制外部网络中的那些(IP级)能允许存取内部网络、能使用那种类别的应用服务;同样的模式能控制内部网络对外部网络的存取。
4) 代理服务器,它起到为多个浏览器检索Internet上数据的作用。作为客户和Web应用服务器之间的一个管道,代理服务器将客户的请求递交给有关的服务器并把服务器的响应返回给客户。这种工作方式还可以提供附加功能,如地址安全性和缓冲功能。

4. 外部服务
在这些外部服务系统中驻留着企业已有的应用和数据、以及商业伙伴的服务系统,如支付服务和外部信息服务。通常,这些应用和服务系统控制着关键的商务过程,需要与Web服务器集成起来为顾客、业务伙伴和员工服务。

使用电子商务应用框架开发和部署电子商务应用系统带来下列优势:
1) 极大地方便电子商务应用系统的快速开发和部署。
2) 适应任何客户端设备。
3) 确保应用系统能移植到各种不同的服务器环境中。
4) 利用并扩展已有的信息技术资源。
这也是形成这个电子商务应用框架的重要原则

WebSphere快速入门(5)

2.4 WebSphere
电子商务的灵魂是软件,而电子商务应用系统通常采用以Web服务器为中心的计算模式(参见基本系统模型),因此,Web应用服务器软件是电子商务市场的焦点。IBM WebSphere Application Server(WebSphere应用服务器)是众多Web应用服务器软件中的杰出代表。
事实上,IBM WebSphere产品系列是一套典型的电子商务应用开发工具及运行环境。该产品系列包括:
1) NetObject Fusion提供许多构建和组织站点的工具,可用来建立和管理整个Web站点;
2) NetObject BeanBuilder是一个构建applets的可视化写作工具;
3) NetObjects ScriptBuilder提供了Smart HTML、JavaScript、JSP等的编辑器;
4) Lotus Domino Go Webserver是一个Servlet使能的Web服务器;
5) IBM WebSphere Studio提供了项目工作台和有关向导,这些向导可用来存取数据库、创建JavaBean和servlet等等;
6) IBM WebSphere Application Server (WebSphere应用服务器)是一个Web应用服务器(内含IBM Http Server),它本质上是适合于servlet的Web服务器插件,提供了增强的Servlet API和Servlets管理工具,并集成了JSP技术和数据库连接技术。
第三章 WebSphere Studio应用开发
本章结合IBM WebSphere Studio产品的使用,介绍电子商务应用开发技术。
3.1 Lotus Domino Go Webserver
Lotus Domino Go Webserver是一个Web服务器软件。它具有下列特性:
= 支持CGI、Servlet和一些其它的应用编程接口。这些应用编程接口用来创建动态页面。
= 具备代理服务器(Proxy Server)的功能。一个代理服务器是一个请求代理(Broker)。浏览器把请求发到代理服务器,代理服务器从网上或从缓存里取这个页。
= 支持SSL 3.0。SSL用来确保在web服务器和web浏览器之间安全通信。
= 支持PICS(Platform for Internet Content Selection)。PICS使得用户可以过滤他们遇到的材料,按照材料的分级(由Web管理员设置)接受或者拒绝材料。
= 集成了搜索引擎。集成的搜索引擎是NetQuestion.
= 易维护性。如很容易地维护用户和访问控制列表
下面就Domino Go Webserver的特性及有关使用技术加以详述,包括Web服务器的配置、启动Web服务器、URL与目录映射规则、服务器日志、访问控制、代理服务器。
1.Web服务器的配置
配置Lotus Domino Go Webserver有两种方式,一种是使用Web浏览器来配置和管理,另一种是直接编辑配置文件。第一种方法更简单。安装Lotus Domino Go Webserver 之后,启动Web服务器,使用web浏览器打开http://127.0.0.1/frntpage.html,输入用户名和口令后,浏览器就显示配置和管理Web服务器的表单。.这些表单是CGI程序和HTML表格的结合,为配置Web服务器或查看Web服务器的当前配置提供一个简单的方法。浏览器可以和服务器在同一台机器上或在访问Web服务器的远程的客户机上。在远程的客户机上进行配置和管理时需要访问http://your.server.name/,当然要求输入正确的用户名和口令。另一种方法是直接编辑配置文件。缺省地,配置文件名为httpd.cnf,在系统目录下,通常是C:"WINNT。配置文件是由指示语句(directive)构成的。通过更新这些directives来设置Web服务器的配置项,如主机名(Hostname)和URL传递规则(Passing Rules)。
2.启动Widows NT上的Web服务器
有两种方式来启动Widows NT上的Web服务器。第一种是从服务面板启动(NT Service Panel->StartUp Panel),有3个可选的启动类型(Auto、Manual、Disable),并提供了从系统帐号启动的方式,当选择从系统帐号启动Web服务器时,还可以选择在桌面上启动图形用户界面来显示日志或跟踪信息。另一种是用命令行启动,命令的语法为:whttpg [-p port] [-r config_file]。其中,端口号(port)指定Web服务器侦听的端口,而配置文件名(config_file)指定Web服务器的配置文件,通常不是缺省的配置文件(在WINNT目录下的httpd.cnf文件)。
需要指出的是在一个Widows NT上可以运行多个Web服务器,但是有两个注意事项。第一,同时运行的Web服务器必须使用不同的端口。第二,最多有一个Web服务器可以从服务面板启动,也就是说,附加的Web服务器需要用命令行启动,并使用不同的端口,但可以使用同一个配置文件(建议使用不同的配置文件为妥)。另外,一个Web服务器可以有多个IP地址,每个IP地址有不同的主机名,这称为多IP服务器。一个Web服务器也可以只有一个IP地址,但是有多个主机名,这称为虚拟主机。多IP和虚拟主机可以为不同的虚拟主机提供不同的信息,尽管不同的虚拟主机是由同一个Web服务器服务的。
3.URL与目录映射规则
URL(Uniform Resource Locator、统一资源定位器)是指定Web上资源项的地址的约定规则。它包括协议、后面跟着完整的主机名、和请求。一个URL的语法时:
协议://主机名[:端口][/[目录名[/...][/文件名[?变量名= 值[&...]]]]]。
协议指的是提供http、https、ftp等服务的有关协议,Go WebServer服务器提供自己的http和https服务,并代理ftp、gopher、wais等服务。通常,Web服务器把URL的主机名和端口后面的部分映射到一个路径和文件名,即所谓的目录映射。Go WebServer的Web文档根目录缺省为c:"WWW"HTML,在安装该Web服务器软件时可以指定Web文档根目录。当服务器收到的URL请求没有规定文件名字时,Web服务器会在相应的目录里搜索某个文件名列表,该文件名列表称为欢迎页面(Welcome Pages)列表。欢迎页面列表通常包括Welcome.html和index.htm等。关于目录映射,Go WebServer使用URL传递规则来实现所需的目录映射。传递模板及示例如下:
传递模板 动作 请求模板 替代的文件路径
示例 Pass /test/* c:"myhome"test"*
其中,请求模板代表被请求的URL,可以包含(*)通配符。当一个URL匹配请求模板时,Web服务器按照替代的文件路径访问系统资源。这些规则可以用来维护物理文件系统的独立性。而动作类型及其含义如下:
(1) Map:Web服务器按照替代的文件路径改变URL,继续比较。
(2) Pass:Web服务器接受请求。
(3) Fail:Web服务器拒绝请求。
(4) Exec:Web服务器接受请求,并按照替代的文件路径运行一个CGI程序。
(5) Redirect:Web服务器使用一个由替代的文件路径确定的URL来响应。
(6) NameTrans:Web服务器接受请求,在处理请求的名字转换步骤中,运行一个由替代的文件路径
确定的API应用。
(7) Service:Web服务器接受请求,在处理请求的服务步骤中,运行一个由替代的文件路径确定的API
应用。
如果设置了下列传递规则:
= Map /beta/* /text/*
= Exec /cgi-bin/* c:"www"cgi-bin"*
= Pass /* c:"www"html"*
= Pass /abc.html c:"abc.html
URL请求与实际的系统资源之间的对应举例如下:
表3-1:URL到系统资源之间的对应举例
URL请求 对应的系统资源 应用的规则
/cgi-bin/search.exe c:"www"cgi-bin"serch.exe 规则1)、2)
/index.html c:"www"html"index.html 规则3)
/beta/download.html c:"www"html"test"download.html 规则1)、3)
/abc.html c:"www"html"abc.html 规则3)
在匹配了Map规则以后,服务器会继续比较余下的规则。服务器会在Exec和Pass规则后停止比较。第4个规则永远不会被使用,因为任何可以匹配第4个规则的都会匹配第3个规则。因此,Pass /* 规则通常应该放在最后。

WebSphere快速入门(6)

4.服务器日志
缺省地web服务器会在c:"www"logs目录下记录所有东西,Web服务器每天在午夜启动一个新的日志文件(如果那时它在运行的话)。否则,Web服务器会在某天首次启动时开始一个新的日志文件。日志文件通常包括下列类型:
(1) httpd-log:记录Web被访问的统计情况。
(2) agent-log:记录客户使用的Web浏览器的情况。
(3) referer-log:记录引用到请求页面的页面的情况。
(4) httpd-error:记录Web服务器内部错误的情况
(5) cgi-error:记录CGI错误的情况。
日志的删除可以选择在若个天后删除,或在若个MB存储空间被用完后删除,或运行“User Exit” 删除。也可以通过配置:对某些请求不作记录。
5.访问控制
Web服务器中的资源通常需要各种不同程度的保护。可以在Web服务器的配置文件里进行保护设置,也可以在每一个目录里设置ACL(Access Control List),ACL是一个包含保护规则列表的文件,用来保护同一个目录的文件。保护的类型有用户名保护和地址保护等方式,用户名保护决定谁可以访问这个资源(可以要求口令验证),地址保护使用地址模板来决定哪些客户机(IP地址)可以访问这个资源。
6.代理服务器
代理服务器是一个可以为它的客户从别的服务器那里取得文件的服务器。一个代理可以降低网络流量,对Internet隐藏内部网信息。可以代理http、ftp、gopher、wais和SSL隧道(如https和snews),通常通过设置URL传递规则来实现。为启用SSL代理,还必须启用connect方法。要使用Web服务器提供的代理功能,浏览器必须设置该Web服务器为代理服务器并指定这个Web服务器的端口。
启用的代理缓存功能可以提高运行效率。代理缓存是在代理服务器端保存http、 https或ftp等缓存文件以减少不必要的重复的请求处理。有几个设置参数需要注意:缓存文件的一个给定的存储空间称为缓存容量,存放缓存文件的目录称为缓存文件的根目录,对某些URL进行缓存(其它的不需要)称为缓存过滤。另外,未被使用的缓存文件的时间限制用来规定服务器保存未被使用的缓存文件的最长时间,而存储空间回收用来移走过期的缓存文件

WebSphere快速入门(7)

3.2 IBM WebSphere Studio
Web
站点的内容是由静态和动态内容组成的。静态内容以HTML、图片等形式出现。除了在客户端的动态效果以外,在一个Web服务器上动态内容通常以服务器端程序的形式存在,它们在被请求时产生动态内容。许多站点已经使用applet来达到在web上的动态效果。虽然这个方法能做到这一点,但是java和网络性能的问题阻碍了这种方法的大规模应用。服务器端生成动态内容在大多数情况下是更好的方法。因为:
= 更容易支持瘦客户。
= 提供更大的灵活性和安全性。
= 在大多数情况下动态内容来自数据库。
= 服务器端程序可以执行数据库操作,然后向浏览器报告结果。
服务器端生成动态内容符合瘦客户或超瘦客户设计模式,它使得软件开发者在一个web应用的客户端放尽量少的商务或数据访问逻辑。而胖客户是指在一个应用的客户端放置了太多商务逻辑和访问。这会影响网页的下载时间,可能引起其它问题。服务器端数据库访问是一个好的解决方案,可以更好地利用服务器,从客户减轻客户端的负担。通过Java访问数据库是利用JDBC(Java Database Connectivity)应用编程接口进行的。总之,在为一个网站提供动态内容时,会涉及到服务器端应用程序。CGI和/或Servlets将是典型的部署载体。Servlet是生成动态内容的焦点。然而,大多数动态内容会涉及到数据库。
WebSphere Studio提供了项目工作台和有关向导。项目工作台用来把各种生成的组件集成进一个项目,而各种向导可用来存取数据库、创建JavaBean和servlet等等。
1.项目工作台
项目工作台是一个在资源控制管理下的Web站点对象管理工具,其站点管理能力与NetObject Fusion大致雷同。项目工作台具有下列特性:
(1) 同任何网站开发工具互操作。通过将站点对象的文件类型注册到相关的应用,项目工作台可用来启动应用(工具)来操作(打开,显示)站点对象。从而能有效的管理那些与站点有关的对象资源,与资源控制环境的交互使得Web站点的小组开发得以有效地进行。因此它是能集成很多网站开发工具的理想的工具集成环境。
(2) 提供灵活的站点发布能力。项目工作台为两类对象资源提供各自独立的发布路径,一类是Servlets和JavaBeans,另一类是所有其它的东西。项目工作台提供了网站的本地发布或远程发布两种方式。
WebSphere Studio 有一个双框图形用户界面,还有许多与桌面应用程序相似的功能特性。以下分别介绍框架、分解视图、具栏和按钮、过滤器。
(1) 框架
左边的框架显示所选项目及其文件夹的图形分层。右边的框架显示在左边框架中选择的一些项目的细节。
l 一个项目可包含文件和文件夹。
l 文件夹可包含文件或其它文件夹。
l 文件包含数据。
您可以按喜欢的方法来组织文件,并使它容易地将一个项目中的有关文件作为一个单元进行管理,比如,公布一个项目中的若干个文件或所有文件至目标服务器上(如 WebSphere 应用服务器)。
(2) 分解视图
当您从视图菜单中选择分解视图表,文件夹及子文件夹中的所有文件将显示在详细视图表中。表格包括附加的路径信息以帮助您区分它们。文件夹本身不显示。 快捷方式按钮位于工作台的右下方,您可对分解视图的开或关进行切换。
(3) 工具栏和按钮
此界面包括菜单栏、工具栏、状态栏和过滤器按钮的垂直行。
l 菜单栏允许您访问所有的可用功能。
l 工具栏允许您快速访问大多数的普通功能和向导。
l 过滤器通过文件扩展名或文件类型来控制显示文件。
l 状态栏列出一般信息,例如您的视图的大小和对象的数目,也包括被过滤器隐藏的文件数。
(4) 过滤器
过滤器按钮位于主窗口的右边。它通过文件类型和文件扩展名来控制哪些文件显示在详细框架中。单击它可进行开和关的切换。打开过滤器,请单击过滤器按钮,在详细视图中将显示此种文件类型的文件。过滤器类别是:HTML 文件、图像文件、SQL 文件、Java 文件、Java 类文件、文本文件。同时要打开多个过滤器,请在单击每个过滤器按钮时按下 Ctrl 键。要暂时关闭所有过滤器,请先从视图菜单中选择“过滤器”,然后选择“显示全部”。
在分解视图上使用过滤器能够管理在分组中选择文件类型的所有文件,而不考虑它们的相对位置。 例如,若要打开一个包含文件夹及子文件夹的项目,但其中只有 HTML 文件, 您就可打开分解视图和 HTML 文件过滤器来显示整个项目中的所有 HTML 文件。
2.向导
有关向导及其基本功能如下:
(1) SQL 向导:创建一个可被数据库访问 Servlet 使用的 SQL 语句。语句可查询关系数据库,并从表中选择数据显示在 Web 页面上。SQL向导要求连接数据库,以验证连接参数,提取元数据来支持SQL语句的开发。
(2) 数据库访问向导:创建 Servlet 来访问关系数据库。使用一个生成的SQL文件,数据库访问sevlet向导生成5个文件:servlet、servletBean、输入HTML表格、输出页面(JSP)、和可选的错误页面(JSP)。其中,可选的输入表格(HTML)用来为SQL命令传参数,ServletBean提供一个可执行方法来调用SQL命令,Servlet创建那个ServletBean的一个实例,执行它的方法,然后决定调用有关结果页面。
(3) 基本 Servlet向导:创建使用指定的 JavaBean(包括 Navigator 和为 VisualAge for Java Enterprise Access Builder 建立 VisualAge 时的命令)的 Servlet。它同时产生一个调用 Servlet 及捕捉用户输入的输入页面和显示结果的输出页面。
(4) 到期 HTML Servlet向导:创建随日期而更改内容的Servlet。则它生成 Servlet 以及包括 HTML 的变量部分的页面。
(5) 注册Servlet向导:创建一个可在 WebSphere应用服务器 的 UserProfile 特性中设置或获得数据的Servlet。这使可维护 Web 访问器的详细信息,并且此访问器对于用户注册和其它的 Web 应用程序都是一样的。 向导同时产生一个调用 Servlet 及捕捉用户输入的输入页面和显示结果的输出页面。
(6) JavaBean向导:创建能够进行编辑和扩展的JavaBean的基本实现。 指定在 Bean 中所需的属性,向导将创建方法来设置和获得其值。 一旦完成 Bean,就可在基本向导中使用它。
上述向导对快速地制作用于创建和显示动态内容的中间层(和客户层)元素的原型有用,对提供模板代码来定制有用。而且与WebSphere应用服务器的“编程模型”紧密集成。下面以使用数据库访问向导为例来创建访问数据库的Servlet。数据库访问向导帮助创建Java Servlet,它用来从关系数据库中检索指定数据并在 HTML 页面中显示信息。
向导需要 SQL 语句文件,Studio SQL 向导将帮助创建它。该 SQL 语句告诉数据库访问 Servlet 连接哪个数据库、搜索哪个表格、选择哪个数据以及如何排序。实际上,无需知道 Java 或 SQL 语法,就可创建数据库访问 Servlet。浏览至想放置 .jsp 文件的文件夹。
从“工具”菜单,选择“Studio 向导”。
(1) 选择“数据库访问 Servlet”。
(2) 单击“下一步”启动向导,继续标记的页面。
(3) 当完成所有要求后单击“完成”。
(4) 当完成后,可“照原样”使用文件或根据需要进行定制。
向导将创建:
(1) 调用 Servlet 的输入页面(.html)
(2) 提供实现指定 SQL 语句数据库访问逻辑的 JavaBean 文件(.class 和 .java)
(3) 配置 Servlet 的 Servlet 配置文件(.servlet)
(4) 包含选中数据库列 JSP 和 HTML 的输出标记的 JSP 文件(.jsp)
(5) 按照下列步骤完成数据库访问 Servlet 向导:
注意:可使用这样的方式建立和测试数据库Servlet,使用某一现有数据库,通过修改 .servlet 配置文件中的一个或多个以下值,将其创建为另一个 Servlet:
= URL
= driver
= userID
= password
此方法可能需要数据库服务器的模式别名。请参阅 Servlet 配置文件,了解更多关于 .servlet 文件的详细信息。
3.脚本编辑
IBM WebSphere Studio能与NetObjects ScriptBuilder很好的集成起来。从WebSphere Studio的项目工作台项可以启动ScriptBuilder来对有关文件进行编辑,可编辑的文件类型包括HTML、JavaScript、Java、 JSP和XML等。
NetObjects ScriptBuilder是适合于Web的脚本开发工具,为Web站点的客户端和服务器端脚本提供了一个快速的开发方法。它将强大的脚本编辑器与丰富的可视化开发工具有机结合,以加速脚本的开发。它也是架构Netscape,、Microsoft、 IBM、Sun Microsystems等各大公司的不同Web脚本环境的桥梁。它支持CFML (Cold Fusion Markup Language)、Dynamic HTML、 ECMAScript、 HTML、JSP、Java、LotusScript、 ASP、CDF (Channel Definition Format)、DOM (Document Object Model)、Jscript、VBScript、JavaScript、LiveWire、Perl、和WML (Wireless Markup Language)。使用NetObjects ScriptBuilder, 开发者能够:
(1) 检查脚本的语法错误
(2) 创建面向对象的脚本组件。
(3) 访问语言的参考书目
(4) 使用XML定制语言参考书
(5) 检查文档与浏览器的兼容性
(6) 把所需的语言元素拖放到文档中。
(7) 使用标准的Web语言或其它语言
(8) 快速导航到嵌入的函数和组件
(9) 自动化重复性的任务
(10) 预览文档

WebSphere快速入门(8)

3.3 NetObjects Fusion
NetObject Fusion
是一个可视化的Web站点的构建和管理工具。NetObjects Fusion是Web站点构建过程的中心。NetObjects Fusion是一个面向站点的工具,而不是仅仅处理单个页面。在Web站点开发的过程中,会创建许多页面,页面之间有很多链接。手工地更改这个结构是相当困难的。用NetObjects Fusion可以设计Web站点的通用元素,创建并维护Web站点的结构,构建各个页面,并能容易地维护这些页面。
总之,使用NetObject Fusion,可以设计Web站点、构建各个页面、容易地维护Web站点。下面介绍NetObject Fusion 中的站点视图(Site view)、页面视图(Page view)、样式视图(Style view)、对象集视图(Assets View、或称资源视图)、和发布视图(Publishing view)。
1.站点视图
站点的结构视图(参见图3-1)是站点视图的一种,单击“轮廓视图”标签就显示站点的轮廓视图。在结构视图中,页面的颜色是可以由开发者选择,通常用来为页面分组,但是页面颜色对实际页面没有影响。用户站点的文件格式为“*.nod”,模板文件格式为“*.nft”,样式文件格式为“*.ssf”。使用站点视图,可以创建(或修改)一个站点的层次结构、操纵页面、引入/导出(Import/Export)站点、引入模板以改变站点的风格、打印站点的结构图等等。例如,可以引入一个已有的站点将它转成NetObjects Fusion的格式或保留为外部HTML页面。如果这些被引入的页面不会被改变,通常可以将引入的页面保留为外部HTML页面。
图3-1:站点视图

2.页面视图
站点的页面视图(见图3-2)包括页面布局(Page Layout)和主控边框(MasterBorder),并提供面板和工具栏。面板包括属性面板和对象树,工具栏包括标准工具栏、表单工具栏、组件工具栏、和高级工具栏。对象树是关于当前页面中所有对象的树状结构,开发者可以通过对象树来定位目标对象,也可以直接选择目标对象。一旦选定目标对象,属性面板就显示该对象的属性,对象属性依赖于对象的类型,不同类型的对象(如文本和applet)有不同的属性,可以使用属性面板来设置对象属性,当然有的属性可以可视地编辑。
在页面视图中,可以可视地或通过属性面板来定义主控边框和页面布局。主控边框勾画出一个页面的五个区域:中间的布局区域和四个(左、右、上、下)边缘区域。这些边缘区域包含多个页面共有的元素,如水平标注和导航条,可以通过属性面板设置主控边框的自动边框(AutoFrame)属性,把某些边缘设置成框架(frame)。关于布局,而布局区域用来放置该页面的内容。需要注意的是页面布局包括页面的实际内容,不仅仅是页面的布局,也许一个页面有好几个布局或版本,例如有框架(frame)的和没有框架的版本。NetObjects Fusion使用表格(table)来组织它生成的HTML页的内容,也可以通过设置布局属性来选择布局是表单。也可以通过弹出菜单或单击属性面板中的 “HTML”按扭在来显示生成的HTML文档。
图3-2 页面视图
工具栏通常在窗口的边上,也可以拖进窗口里面(如图3-2)。工具栏包括标准工具栏、表单工具栏、组件工具栏、和高级工具栏。这些工具栏为页面的制作提供了许多实用工具。
(1) 标准工具条
= 选择(Select):选择一个特定的组件并移到另一个地点或重新设置大小。
= 缩放(Zoom In/Out):使页面的视图围绕鼠标击中的区域放大或缩小。
= 文本(Text):向页面增加一个包含一些文本的组件。
= 图片(Picture):向页面增加一个图片。可以是一个.gif或.jpg文件。Fusion接受BMP,PCX,PICT,GIF,JPEG的图。
= 热点(Hotspots):把一个图片中的某个区域标记为可单击(链接到某个URL),从而使该区域成为热点。这个区域可以是圆形、矩形、和多边形
= 布局区域(Layout Region):在布局区域或主控边框里创建一个布局区域,它可以拥有与包含元素不同的布局属性(例如,一个不同的背景色)。
= 表格(Table):创建一个HTML表格,可以规定表格的行数和列数。
= 表单区域(Form Area):创建一个或多个表单。可以选择创建基于布局区域的表单、基于表格的表单、或基于文本的表单。也可以把一个表单加到边缘区域,从而能在多个页面里显示。
= 导航条(Navigation Bar):用来创建导航条。可以使用按钮或文字形式,从当前页面链向站点里的别的页面,比如在Web站点结构里的父层、当前层或子层。
= 水平标注(Banner)。用来在页面的任何地方创建一个水平标注,反映这个页面的名字。通常在页面的顶部,来标志这个页面。
= 绘制(Draw):绘制工具,这些工具用来在一个页面里画圆形、矩形、圆角矩形和多边形。
= 直线(Line):画直线的工具,这些工具用来在一个页面里画水平线、任意角度的在线、站点样式的水平线。
需要注意的是Hotspots、Draw、Line这三个工具还包括可选的子工具,按下按扭不放就会显示可选的子工具,保持按下按扭并移动就可选择所要的工具。
(2) 表单工具栏
这些工具用来创建表单。表单可以用来收集信息,然后送回服务器端CGI程序或Java Servlet。
= 表单按扭(Button):一个表单按钮通常被用来启动一个后端服务程序或来重置表单。
= 表单复选框(Check Box):一个复选框代表一个布尔值,选中表示真值,否则表示假。
= 表单单选按扭(Radio Button):一个单选按钮是一组单选按扭的一部分,这组单选按扭是互斥的,即只能有一个为真,而别的都为假互斥的。
= 表单编辑字段(Edit Field):表单上的一个区域,用户可以输入一行信息如名或姓。
= 表单多行文本(Multi-Line):表单上的一个区域,用户可以输入多行信息,如对一个产品的说明或目录里的一项。
= 表单组合框(Combo box):一个下拉列表,用户可以选择。一个例子是:头发颜色的列表。用户可以选一个。
(3) 组件工具栏
= 动态按扭(DynaButtons):对按钮使用站点风格
= 磁带(Ticker Tape):一个水平滚动文字区域,不断重复。
= 站点映射器(Site Mapper):一个用来显示站点结构的按扭。
= 消息板(Message Board):一个BBS 设施
= 表单句柄(Form Handler):实现一个简单的CGI程序。用来检查表单中的字段
= 图片反转(Picture Rollover):一个反转按扭。当鼠标滚过图片,图片改变成指定的图片反转。当= 鼠标在图片上单击,图片会改变,一个URL链接会显示。
= 基于时间的图片(Time Based Picture):在这个地点的不同时间显示不同的图。
= 图片加载器(Picture Loader):使用其它资源中的图片
= 旋转图片(Rotating Picture):简单动画。通常用来显示广告。
(4)高级工具栏
= Media:一个子工具条,包括了一些项目象Shockwave、Quicktime、Video、Sound和别的插件
= Java:允许往页面上加一个Java applet。
= ActiveX Control:允许往页面上加一个ActiveX控件。
= Data:一个子工具条,允许你访问内部和外部数据对象。
= External HTML:包括一些需要特殊的、手工写的HTML页面。可以在外部引用HTML文件并把
它们放在站点的任何地方,而不是引入并转换这个HTML。NetObjects Fusion在发布Web站点时不分析这个HTML。
上述工具栏提供的有关工具可用来增加页面的互动性。如可以在页面上增加脚本、放置ActiveX控件、增加Java applets等等。脚本可以加到一个Fusion生成的HTML元素的前面、后面或里面。增加Java applets时使用Java对象属性设置有关参数,Fusion将增加的class文件作为对象集(assets)中的元素。
3.样式视图
样式视图(参见图3-3)可用来选择站点样式、编辑样式、或创建新的样式。Fusion提供的样式适合于简单的站点或者可用来取得用户的反馈信息,重要的站点通常需要创建新的样式。Fusion用样式中指定的字体生成水平标注和按钮上的文字。因此,应该为水平标注和按钮选择任何你的系统里的字体,Fusion将使用指定的字体生成有关图象,浏览器只看到一个图象。对于在HTML里创建的文字组件,浏览器可以控制自己使用的字体。
图3-3:样式视图

4. 对象集视图
对象集视图(参见图3-4)是一个管理所有对象的地方,包括文件、链接、数据对象、变量,对象通过别名来访问。Fusion提供预定义的变量,如日期、时间和站点名等等。开发者可以创建自己的变量,并在对象集视图中管理。每当开发者需要选择图象或别的文件时,打开文件对话框(Open File dialog)上会有一个对象集标签(Assets tab),单击该标签就显示对象集中的有关文件,开发者就可以选择所需要的文件。这种就对象进行统一管理的方式支持“一次更新,每个地方都更新”。例如标识公司的图案(logo),如果一个公司改变了它的标识图案,只要在对象集视图中改变有关标识图案的文件,Fusion可以改变这个站点里的每一页。

图3-4:对象集视图

5.发布视图
发布视图(参见图3-5)用来配置发布选项,并进行发布。发布选项包括本地发布位置和远程发布位置等。本地发布是指发布到本机的文件系统里,远程发布需要使用FTP把文件传输到服务器。如果你选择发布到一个远程站点,这个站点必须支持FTP,发布者必须知道所需的用户名和口令。通常在正式发布之前需要发布到一个临时服务器上进行测试,并需要使用不同平台上的不同浏览器进行测试。发布时,Fusion将生成HTML页面以及目录结构,拷贝所有的对象到指定的目录,这些目录里包含HTML文件、图象、Java 类等等。目录结构可以是单一的(flat)、基于对象类型的(asset)、或基于站点区域的(section)。所有生成的HTML使用相对路径。在发布之前还可以使用预览功能。预览创建HTML文件,生成任何需要的图象,但它不拷贝任何别的对象,从而不显示嵌入的组件。在按下CTRL 键时单击预览按扭就可以只预览当前页。

图3-5:发布视图

总之,Fusion是一个Web站点的组装工具,对管理站点范围的格式模板有强力支持,支持丰富的“对象”,链接和对象集管理使得部署到多个站点变得很容易。可以使用Fusion设计站点结构、构建和管理站点页面、设计和写页面内容、设计站点的图形化风格、管理和测试站点的对象集、把站点发布到本地或远程服务器、更新和维护站点。

posted on 2009-07-31 10:37 安阳 阅读(783) 评论(0)  编辑  收藏 所属分类: Java笔记


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(2)

随笔分类(8)

随笔档案(9)

文章档案(1)

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜