第3章商务逻辑层技术基础(电子商务技术基础-邮电部培

PPT
  • 阅读 239 次
  • 下载 0 次
  • 页数 97 页
  • 大小 767.096 KB
  • 2023-09-06 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
此文档由【精品优选】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第3章商务逻辑层技术基础(电子商务技术基础-邮电部培
可在后台配置第一页与第二页中间广告代码
第3章商务逻辑层技术基础(电子商务技术基础-邮电部培
可在后台配置第二页与第三页中间广告代码
第3章商务逻辑层技术基础(电子商务技术基础-邮电部培
可在后台配置第三页与第四页中间广告代码
第3章商务逻辑层技术基础(电子商务技术基础-邮电部培
第3章商务逻辑层技术基础(电子商务技术基础-邮电部培
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 97
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
文本内容

【文档说明】第3章商务逻辑层技术基础(电子商务技术基础-邮电部培.pptx,共(97)页,767.096 KB,由精品优选上传

转载请保留链接:https://www.ichengzhen.cn/view-332929.html

以下为本文档部分文字说明:

Page1第3章商务逻辑层技术基础➢商务逻辑层描述商务处理过程和商务规则,该层所定义的应用功能是电子商务应用系统开发的重点;提供辅助功能的通用软件,通过与其它软硬件的集成构成支持商务逻辑的商务支持平台。

电子商务系统的大系统特征,电子商务系统体系结构的演变,使得商务支持平台承担了大量的商务逻辑处理任务,不但导致应用软件规模和复杂度的增大,而且对系统硬件、网络等集成技术和系统管理都提出了更高的要求。为此,从软件实现上,推动了基于部件的分布式系统开发方法和开发技术的应用和发展,从系

统管理的需要出发,产生了应用服务器的思想。–3.1商务逻辑层概述–3.2系统的开发方法–3.3核心商务逻辑的实现–3.4应用服务器相关技术Page23.1商务逻辑层概述–3.1.1商务逻辑层与电子商务系统–3.1.2电子商务系统及其开发–3.1.3商务支持平台技术基础Page3

电子商务系统的主要组成及功能Internet企业电子商务系统Internet外部安全保障环境电子商务应用表达平台电子商务应用系统电子商务服务平台支付接口SCM电子市场认证接口电子商务基础平台系统管理安全管理负载

均衡站点管理中间件层(会话、传输、连接、事务处理)数据库内部安全保障环境企业内部信息系统EDPMISDSS/BI电子化银行认证机构Page4商务逻辑的实现要素➢商务逻辑可以划分成两个层次,一个层次是企业的核心商务逻辑;另一层次就是支持核心商务逻辑的辅助部分。一般的,企业的核心逻辑是依靠电子

商务应用程序实现的,而辅助部分可以通过不同的技术产品来集成。➢构成支持平台的技术产品至少应当包括:Web服务器、商务支持软件、集成与开发工具、计算机主机、网络、其他系统软件(如操作系统、管理工具软件等)。通常Web服务器、商务支持软件、部分集成开发工具被集中在一个称之为“应用服务器

”的软件包中,➢商务逻辑层在物理上可以简化为以下三个部分:应用软件(实现商务逻辑)、应用服务器(为应用软件提供软件支持平台)和其他支持软件、计算机主机及网络(为应用软件提供硬件支持平台)。➢从实现上:应用系统设计开发、应用

平台的搭建和软硬件系统集成。Page5电子商务系统及其生命周期利用信息转换核心和知识商务逻辑运行可扩充建造新的的、安全的信息系统环境Page6电子商务系统的系统特征客户服务库存管理物流管理过程过程过程客户服务系统及客户数据库库存系统及库存数据库物流系统及

物流数据库供应链管理客户关系管理系统客户服务系统及客户数据库库存系统及库存数据库物流系统及物流数据库Page7电子商务系统开发技术的进展因素➢系统开发基本原理–软件工程–信息系统开发➢电子商务系统特征,

Page8商务支持平台技术基础➢商务支持平台概述➢商务基础平台的功能–提高系统性能,侧重于保障系统的效率、可靠性和优化➢商务服务平台的功能–提供更多的商务服务,为企业的核心商务逻辑提供服务Page9应用平台的特性要求➢一般而言,理想的应用平台应具备以下特征:Ø

可靠的和高性能的:Ø支持商务逻辑的动态分布。Ø平台应当预置各种应用,提供多种服务。例如内容管理、搜索工具等,提供多种开发工具,支持多种开发语言。Ø平台应当支持多种工业标准和操作系统平台,至少应当包括:表达技

术标准(HTML、WM、Java、Javascript、C/C++);标准协议(HTTP、LDAP、IIOP);应用集成:JavaBean、EJB、CORBA;主流平台(Unix、WindowsNT)

;集成标准(JDBC、ODBC)。Ø易于管理。Ø平台是模块化的,各个部分是低耦合的,这样它具有通用性。Page103.2电子商务系统开发及其技术基础➢3.2.1电子商务系统开发技术基础➢3.2.2电子商务系统规划及其技术基础➢3.2.3电子商务系统分析及其技术基础➢3.2.4电子商务系统设计及

其技术基础Page113.2.1电子商务系统开发技术基础➢1、软件工程与电子商务应用系统开发➢2、电子商务系统的开发过程分析Page12信息系统生命周期模型总体规划系统分析系统设计系统实施当前系统运行、维护新系统运行、维护可行性报告系统说明

书设计说明书用户手册参考抽象程度时间当前系统的生命期系统开发过程新系统的生命期图3-5信息系统的生命期模型Page13系统分析、设计相关领域成功案例企业商务发展需求企业商务模式系统需求分析技术方案比选系统结构确认应用

系统功能系统平台构成系统逻辑构成Page143.2.2电子商务系统规划及其技术基础➢电子商务系统规划的特点➢商务模型规划➢商务系统规划Page15电子商务系统规划的层次与目标调查企业需求、成功案例战略规划确定电子商务发展策略战术规划确定电子商务系统的体系结构(处理、内

容、应用、技术)电子商务系统分析设计商务模型规划商务系统规划Page16商务模型规划的基本过程电子商务基本模式B2C(网络销售)B2B(虚拟电子市场)C2C(社区)——企业核心商务活动市场销售订货/订单交付客户

服务——成功的电子商务案例理解一般商务模式,选择企业未来的商务模式电子商务的影响导致的新变化规划企业的商务模式变化的商务流程规划商务模型的基本组成单元规划企业的商务模型内部信息系统支持联机交易与支付物流供应链构成外部信息系统合作伙伴的协作

关系Page17电子商务系统分析设计阶段示意图相关领域成功案例企业商务发展需求企业商务模式系统需求分析技术方案比选系统结构确认应用系统功能系统平台构成系统逻辑构成Page18面向对象与结构化方法现实世界为对象世界结构化分析结构化设计顺序

存储指令计算机过程世界结构化编程面向对象分析面向对象编程面向对象设计中医?西医Page19常用简易分析方法买方卖方商品需求和报价请求报价单还价磋商过程订购单订购应答运输说明发货通知供货方需求方开户银行供货方开户银行需求方

配送机构认证机构购货订单货物运转货物运转到款通知付款通知数字证书,数字签名银行转账Page203.2.4电子商务系统设计及其技术基础➢系统设计概述➢电子商务系统与分布式应用➢对象与可重用性➢部件与互操作性Page21(1)分布计算➢分

布计算是指网络中两个或两个以上的软件相互共享信息资源。这些软件可以位于同一台计算机中,也可以部署在网络节点的任意位置。基于分布式模型的软件系统具有均衡运行系统负载、共享网络资源的技术优势。➢网络技术的发展,网络计算、Int

ernet的突起,使软件的开发从单一系统的完整性和一致性,向着群体生产率的提高、不同系统之间的灵活互连和适应性而发展,软件的非功能性需求比以往得到更大的重视。从此,以主机为中心的计算方式转变为以网络为中心的计算方式。但是,这一方面导致应用软件的功能、性能、规模和复杂性的极大增长,另一

方面要求各种应用软件之间能够互相交互。为此,系统集成成为重要课题,系统集成不仅包括不同厂商的网络、计算机平台之间的集成,更重要的是应用软件层次上的集成。如图所示。Page22计算方式的重大变化ForI=1to100X=X+AY=X/2Z=X+Y数据库系统电子表格字处理主机为中心网络为中心开发为

中心集成为中心图3-2计算方式的重大变化Page23软件质量?健壮性、维护性、重用性、扩展性产品运行产品转移产品修改可理解性可维修性灵活性可测试性可移植性可再用性互运行性(能和另一个系统结合吗)正确性健壮性效率(性能)完整性可用性风险软件工厂一

万人做十年?Page24(2)二进制代码级重用➢程序=数据结构+算法(过程和函数)用户名口令求解空间与问题空间割裂受编译器等限制平面结构,无层次通用报表工具Page25面向对象源代码级重用➢对象=属性+方法(封装)Publicclass{privat

ename;private;publicgetName();public;}无二进制链接标准无法跨语言、跨平台重用对象改变,重新链接编译内部相关性外部耦合性Page26对象的基本机制状态消息方法封装博大精深厚--薄--厚

Page27类、对象、继承人学生研究生教师博士生本科生Name:BobSex:MaleAge:25Weight:63Grade:JuniorWhich-gradeHow-oldPage28(3)可扩展性与互操作性➢可扩展性:功能、性能的扩充,特别是在分布环境中,各种应用软件的互

操作性显得越来越重要。➢互操作性:两个或多个软件部件合作的能力,即使其实现的编程语言、接口及运行平台是在完全不同的情况下。➢应用软件的使用者和开发者希望能象电子类产品部件的消费者和制造商那样即插即用各种应用软件,如:电冰箱和供电服务--插头、插口、适配器、变换器等,由此产生了组件(C

omponent)技术。➢组件技术是提高大型软件可重用性的一种技术,其最基本的出发点是通过软件模块化、软件模块标准化,使大型软件可以利用一个个能够重复使用的“软件零件”进行组装,加快开发的速度,同时降低成本。这一思想在软件工程中早就提出过,但是在技术和工艺方面的成熟则是近改甑氖虑椤Page

29基于组件的重用、扩展、互操作➢小的二进制可执行模块➢分布式处理要求:存取透明、失败透明、位置透明、迁移透明、持久性透明、重定位透明、复制透明、提交透明。面向对象语言无关位置透明动态链接软件互操作分布式计算

系统扩展性定制的灵活性减少维护成本Page30部件模型➢部件模型由部件(component)与容器(container)两种主要成分构成。部件通过其接口向外界提供功能入口,接口是部件内一组功能的集合,包含的是功能函数的入口,外界通过接口引用或接口指针来调用部件内

的功能函数。容器类似于装配车间,是一种存放相关部件的器皿,用于安排部件、实现部件间的交互,其形式也是多种多样的,如表格、页面、框架、外壳等。另外,容器也可以作为另一容器的部件➢部件软件和Internet一起被列为目前软件产业两个重要的增长点。软件部件的迅速发展使得基本

部件装配应用开发模型成为一种深入到软件业的新的应用开发模式与开发环境。➢Micorsoft的VisualBasic是一种非常典型的使用部件进行编程的工具。Sybase公司的PowerBuilder,Borland公司的Delphi等。它们将部

件技术的功能不断扩展,成为非常流行的开发工具。此外,许多大公司都先后开发出已被广泛使用的部件,如Micorsoft的VBX、OCX及ActiveX控件,Borland公司的Delphi中数据访问部件等。SUN、IBM--BEAN

S。Page31部件模型与部件标准容器部件CORBACOMJAVABEANPage32基于部件的应用系统开发的组织视图控制器模型应用内容页面内容和布局应用流程商业逻辑运行环境角色页面制作者应用组装者组件提供者WEB管理员部件HTM

L,JSP,ServletsJavaBeans,配置数据XML,AppletsJavaBeans,XMLEJB站点使用分析工具WebSphereWebSphereStudio,VAJAVAApplicationServ

erStudioStudioIBMConnectorsPerformancePackSiteAnalysisTools培训Page333.3核心商务逻辑的实现及其技术基础➢3.3.1电子商务应用系统实现概述➢3.3.2传统程序语言与公共网关接口CG

I➢3.3.3基于ASP与Activex的系统开发➢3.3.4Java语言及其技术分析➢3.3.5PHP开发技术分析Page343.3.1电子商务应用系统实现概述➢电子商务系统与电子商务应用系统的实现➢电子商务系统的应用是基于Web的应用,是一种分

布式的结构,所以开发工作可以分解成为客户端和服务器端的应用开发两部分。➢由于电子商务系统的应用程序既包括编译型的程序,也包括解释型的脚本程序(例如JavaApplet、JavaScript、VBScript等),而这些脚本程序基本上都是嵌入到HTML

页面中的,所以,应用程序的编写就不仅局限于编码,而且也包括HTML页面的编写。➢借助于组件技术搭建应用日益成为未来电子商务应用开发与集成的主流方向。Page35开发语言的选择标准➢平台无关性➢与其他部件的结合能力➢软件的可重用➢与数据库的连接能力语言使用的简易性

Page363.3.2传统程序语言与公共网关接口CGI➢1、CGI工作原理➢2、用C语言编制的CGI程序➢3、CGI程序的输出处理➢4、CGI程序的输入Page37CGI工作原理WebBrowerWW

WServerDatabaseCGI程序用户提交数据服务器所接收的数据处理结果CGI程序处理结果包含处理结果的HTML文档数据库操作请求Page38用C语言编制的CGI程序voidmain(){printf("Cont

ent-type:text/html\n\n");printf("<html>\n");printf("<title>用C编制CGI程序<title>\n");printf("<body>\n");prin

tf("<p>第一个CGI程序,这是用C编写的</p>\n");printf("</body></html>\n");}Page39CGI程序的输出处理Content-type:text/html<html><title>用C编制CGI程序<title><body><p>第一个CGI程序,这是用C

编写的</p></body></html>输出类型说明和HTML正文Page40CGI程序的输入--GET➢通常情况下,CGI程序的输入是由客户端的窗体提交而产生的。窗体的提交有POST和GET两种方式。这两种方式提交资料的格式是不同的。➢在HTML语法中,窗体提交时的默认

方式为GET,当以此种方式交时,用户所提交的资料将以参数形式附在CGI程序名的后面,例如一个登录验证的HTML窗体中,当我们填好用户名和密码后点击“提交”按钮,则地址栏显示如下:➢http://202.112.149.251/login.exe?name=bl

uegenius&password=mypass➢当浏览器端以GET方提交资料时,在服务器端将自动生成一个环境变量QUERY_STRING,该参数记录的就是浏览器提交的资料,即“?”后的部分,将该环境变量的值打印出来

是这样的:➢name=bluegenius&password=mypassPage41CGI程序的输入--POST➢当窗体采用POST方式交资料时,其提交的资料则被加入到服务器端的标准输入stdin中,其参数的形式与GET基本相同,

同时在服务器端生成一个环境变量:CONTENT_LENGTH,该变量说明了浏览器提交的参数总长度,以便读入和分析参数时的控制。上例中,当我们采用POST方式交时,将stdin中的内容打印出来,则为如下形式:➢name=bluegenius&passw

ord=mypass➢可见,其参数的形式和意义与GET方式全相同。➢无论窗体是以何种方式提交,所得到的参数串是完全相同的,下面要做的就是如何将该参数串拆解开,以获得各输入项的值。➢基本思路为:主程序首先调用CgiInit将用户提交的参数串读入到自定义缓冲

区buff中,然后调用ParsePara将各参数拆解出来。其余的几个则为辅助函数,主要用于将参数中的汉字转换为正确的形式。因为在窗体提交过程中,无论采用何种提交方式,汉字都是被转换成为一个个的以“%”开头的16进制码,如%BC%4F等,每2个16进制码表示一个汉字。当我

们采用GET方式提交带有汉字的参数时,会在浏览器的地址栏中发现这些16进制码而不会找到一个汉字,就是这个原因。➢将用户提交的参数拆解开后,就可以分析并处理这些信息,其过程与方法和普通的C程序是完全相同的,最后CGI程序输出处理结果,这就是一个CG

I程序完整的处理过程了。Page423.3.3基于ASP与Activex的系统开发Page43示例<%@LANGUAGE=JScript%><html><head></head><body><%for(i=0

;i<7;i++){%><p><fontsize=<%=i%>>这是一个测试程序!</font></p><%}%></body></html><html><head></head><body><p><fontsize=0>这是一个测试程序!</font></p>

<p><fontsize=1>这是一个测试程序!</font></p><p><fontsize=2>这是一个测试程序!</font></p><p><fontsize=3>这是一个测试程序!</font></p><p><fontsize=4>这是一个测试程序!

</font></p></body></html>Page44ASP编程的基本规则➢ASP编程首先要确定其使用的脚本语言。ASP的编程可采用各种脚本语言,只要服务器端安装了相应的脚本引擎即可。➢需要注意的是:ASP本身有一

定的语法规则,也可算作一种编程语言,而同时所使用的脚本语言自身还有一套语法,因此在编制ASP程序的过程中,必须同时遵守这两方面的语法规定才行,缺一不可。➢一个ASP文件实际包含了两个部分:HTML部分和ASP脚本命令部分。其中,HTML部分与普通的

HTML文件的语法规则是相同的;而ASP脚本则利用<%和%>两种标记嵌入到HTML部分之中,在已有的HTML基础上对其输出实现控制。Page45ASP的内部对象对象功能Request从客户端取得信息Response向客户端输出信息Server提供一些Web服务器工具Se

ssion记录和管理与用户的连接与会话过程Application在一个ASP-Application中让不同的客户端共享信息ObjectContext配合微软的交易服务器(MTS)进行分布式事务处理Page46(1)R

equest对象➢可以使用Request对象访问任何基于HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、Cookie、用户认证及服务器端变量等。同时,Request对象还能够访问客户端发送给服务器的二

进制数据。Request对象主要有如下几种最常见的应用:➢获取由POST方法提交的表单的各元素值–Request.Form(element)[(index)|.Count]➢获取QueryString中各变量的值–Request.QueryString(variable)[

(index)|.Count]➢获取Cookie中变量的值–Request.Cookies(cookie)[(key)|.attribute]➢获取服务器端环境变量值–Request.ServerVariables(Name)Page47示例➢编制页面,用户提交信息➢该表单

的提交项定义如下:➢<formmethod="POST"action="ShowInfo.asp">➢处理后,回显给用户Page48为处理表单数据的ASP文件:ShowInfo.asp➢<%@Language=JScript%>➢<html><head>➢<metahttp-equiv

="Content-Type"content="text/html;charset=gb2312">➢<title>NewPage1</title>➢</head>➢<body>➢<p><fontcolor="#FF0000">

您提交了如下信息:<br></font><br>➢<fontcolor="#0000FF">➢姓名:<%=Request.Form("Name")%><br>性别:<%=Request.Form("S

ex")%><br>➢籍贯:<%=Request.Form("HomeTown")%><br></font><br>➢<%n=Request.Form("Hobby").Count➢if(n>0){%>➢<fontcolor=“#0000FF”>您的爱好共有<%=n%>项:➢<%for(

;n>0;n--){%>➢<%=Request.Form("Hobby")(n)%>&nbsp;<%}➢}else%>➢您没有什么特别的爱好。</font></p>➢</body></html>Page49(2)Response对象➢与R

equest对象正相反,Response对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookie的值等。➢设置Cookie的值–Response.Cookies(cookie)[(key)|.attribute]=val

ue➢设置Web页面保留在客户端浏览器缓冲中的时间•①Response.Expires=value•②Response.ExpiresAbsolute=value–<%Response.ExpiresAbsolu

te=#Dec31,20009:30:30#%>➢向浏览器输出信息➢Response.Write(String)➢重新定向URL–Response.Redirect(URL)•Response.Redirect(”http://bluegenius.dhs.org”)Page50(

3)Application对象➢下面是一个计数器程序,也是一个比较典型的Applicatio对象的应用方法。•<%@LANGUAGE=JavaScript%>•<html><head>•<title>计数器示例</title>

•</head>•<body>•<%Application.Lock•//若未设定初值,则将其设为0•if(isNaN(parseInt(Application("Num"))))•Application("Num")=0;

•Application("Num")=Application("Num")+1•Application.Unlock•%>•您是第<%=Application("Num")%>位来客!•</body></html>Page51(4)Session对象➢S

ession对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。➢要注意的是,会话状态仅在支持Cookie的浏览器中保留,如果客户关闭了Co

okie选项,Session也就不能发挥作用了。➢例如下面例子:➢<%Session("Name")="bluegenius"➢Session(“Password”)=“12345”%>➢在Session中建立了Name和Passwor

d两个变量,在以后由其直接或间接链接而出的网页中(注意:必须是直接或间接链接而出的一组网页才构成一组对话)就可通过如下语句获得用户名和密码:➢<%Name=Session("Name")➢Password=Session("Password")%>➢之后,就可以用这

个用户名和密码进行身份校验了。Page523.3.4Java语言及其技术分析➢Java是SUN公司与1990年开始,为消费者电子市场,如电视机、电话、烤面包机等家用电器的控制和通讯,而设计的软件。设计

小组最开始使用C++,但是它在在消费者使用的各种硬件架构及对稳定的要求上却产生了问题,于是这个小组开发了一种新的语言,并为它命名Java。这个名称并不是某个简称,而是指设计人员们所喜欢的又热又香醇的咖啡,更重要的是,

它包含了激发这个技术的要素:活波、动画、速度、互动以及其他会选择Java的可能因素。而今天,它已经成为Internet上的配送工具。Page53(1)Java是编程语言➢特点:简单可靠,是面向对象、与平台无关的,具有可移植性,安全

性好,并且支持多线程,具有很高的性能;其次,它最大限度地利用了网络,Java小应用程序可在网络上传输而不受计算机和操作系统的限制。➢Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码(字节码)——可以被Java解释器解释的独立于

平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。JAVA源程序JAVA编译器JAVA字节码通过网络或本地文件系统传送字节码类装载器字节码校验器JAVA类库JAVA解释器及时编译器运行时系统操作系统

硬件JAVA虚拟机编译时运行时Page54(2)Java是平台➢平台是程序运行的硬件或软件环境。Java平台与大多数其他平台的不同之处在于,它是运行于其他硬件平台的纯软件平台,而大多数其他平台是硬件和操作

系统的结合。➢Java平台由Java虚拟机(JavaVirtualMachine,简称JVM)和Java应用程序接口(JavaAPI)两部分组成。➢JVM是Java平台的基础。JVM发挥抽象计算机的作用,在Java应用程序和本机系统之间建立了一个绝缘层,屏蔽掉了硬件和操作系统的不同,

使Java程序“编写一次,任意运行”。可以把Java字节码看作运行在JVM上的计算机代码指令。每种Java解释器,不管是Java开发工具还是可以运行Java小应用程序的Web浏览器,都是JVM的实例。➢JavaAPI由多种Java包(package)组成,它们提供了很多有用的功能。如jav

a.awt是窗口工具包,可以用来创建图形用户界面(GUI);java.io用来实现输入/输出处理;java.sql即JDBC包,包含了实现数据库连接的一系列类和接口。➢图6-2描述了一个运行在Java平台上的Java程序,如应用程序(Application)或

小应用程序(Applet)。图中,JavaAPI和JVM把Java程序从硬件依赖中分离出来。Java程序JavaAPIJava虚拟机基于硬件的平台Java平台Page55(3)Java应用程序//Thisclasssimplydisplays”HelloWo

rld”tothe//standardoutput.classHelloWorldAPP{Publicstaticvoidmain(String[],args){System.out.println(”HelloWorld!”);}}Page56(4)

Java小应用程序➢Java小应用程序是动态、安全、跨平台的网络应用程序,Java语言迅速流行的重要原因也正在于此。JavaApplet不能独立运行,需要嵌入在HTML页面中,通过浏览页面来执行。Page573、构建多层应用软件

体系结构的Java技术➢在构建多层应用软件体系结构时,选用Java平台是一个非常好的选择,而实现多层结构需要使用的关键技术和运行环境主要有:➢客户层:JavaApplet编程技术,运行环境为支持Java的浏览器或可以直接运行Java程序的计算机(例如网络计

算机)。➢顶端Web服务层:JavaServlet编程技术、JSP技术、RMI技术和JavaBean编程技术,运行环境为使用Java语言编写的Web服务器(起代理服务器作用)。➢应用服务层:JavaServlet编程技术、RMI技术、JDBC技术和JavaBean编程技术,运行环境为使用

Java语言编写的Web服务器。Page58J2EE标准客户层客户机Web层J2EE服务器商务层EIS层DB服务器应用程序动态HTML网页EJBEJBJSP页DBDBPage59(1)JavaBeans➢JavaBeans描述了基于Java的软

件组件模型,JavaBeans规范将“组件软件”的概念引入到Java编程的领域。组件是自含的、可重用的软件单元;而JavaBeans组件,则可以使用可视的应用程序开发工具,可视地将它们编写到Java程序中。JavaBeans规

范为Java开发人员提供了一种“组件化”其Java类的方法。➢如果软件重用是一个好主意,那么是否应该让每一个Java类都成为Javabean呢?如果Java类满足某些准则,它们就适于充当bean的角色:如果软件模块要既能够可视地操作,又能够定制以达到某些效果,则这种软件模块就

可能适于做成一个JavaBean。➢是否打算让它可重用?或者,它会是可重用的吗?➢是否希望将它与其他可重用的Java组件一起使用?➢是否预计会在IDE工具中使用它?➢如果上述问题的答案都是肯定的,则它应该作为JavaBean来开发。➢JavaBean概念是为了在Java编

程环境中支持可重用的组件,它是一种一般性的设计方法,适用于客户机或服务器机器上运行的Java程序。由于对可视的构建器工具的强调,也由于许多Javabean都是图形用户界面(GUI)组件,所以JavaBean组件可能被视为一种客户端技术。但是,并不要求Javabea

n都是可视的,并且它们也可以用于服务器环境中。➢Page60(2)EJB(Enterprisejavabean)➢是JAVA中的商业应用组件技术,是分布式应用系统中的组件。➢EJB组件模型在逻辑上扩展了JavaBeans组件模型,以支持服务器端组件。服务器端组件是可重用的,预先包装好

的,准备在应用服务器上运行的应用程序功能片段。它们可以和其他组件组合在一起创建一个符合要求的应用系统。➢与JavaBeans组件有很多相似的之处,但是JavaBeans组件一般粒度更大而且功能更完全,而且EJB组件不能像JavaBeans组件那样在Ja

va集成开发环境中使用。相反,通过使用由遵循EJB的Java应用服务器提供的工具,它们可以在部署阶段被装配和定制。➢EJB模型定义了EJB组件与EJB容器之间相互关系。EJB组件不需要使用任何特定的容器系统。提供商可以将任何应用服务器端调节为支持EJB技术,只需加入规范定义的

一些服务的支持即可。这些服务定义了EJB组件和容器之间的“契约”,有效地实现了一个可移植层。任何EB组件可以在任何支持EJB契约的应用服务器上运行。一个EJB组件可被部署到任何一个EJB服务器,即使不同的服务器通过不同的方式实现它们的服务。EJB模型

使用EJB容器与EJB组件之间的一组标准契约确保了EJB组件在不同EJB服务器上的可移植性。每一个EJB组件都被要求实现一组特定接口,允许EJB容器管理和控制该对象。EJB容器也被要求在特定的执行阶段调用此接口。Page61EJB的分布式

计算结构中的六个角色➢六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。–EJB组件开发者:–应用组合者:–部署者:–EJB服务器提供者:–EJB容器提供者:–系统管理员:Pa

ge62(3)JDBC➢JAVA语言作为一种具有健壮性、易使用、易于理解、能够自动从网络下载的语言,具有开发数据库应用的极好的语言基础。但除此以外,Java还需要提供一种能够与各种数据库系统交互的能力,JDBC(JavaDataBase

Connectivity)就提供了这样一种能力。➢JDBC是一个能够执行SQL语句的JavaAPI,它包含一组由Java语言编写的类和接口,使得程序员能够使用纯Java开发数据库应用。JDBC标准基于X/OPEN的SQL调用级接口,它定义了一个友好的Java界面来与X/OPEN的SQL调用

级接口中定义的基本抽象层和基本概念层来进行连接。Page63(4)Servlet➢Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能需要查询数据库来完成这种请求),然后发送包含HTML或XML

文档的响应到浏览器。➢Servlet是一组运行在服务器端的软件。Sun公司将其取名为Servlet,可能是与Applet有关。Applet是运行在Web浏览器端的JAVA程序,Servlet是运行在Web服务器端的JAVA程序。➢与传统的CGI和许多其他类似CGI的技术相比,JavaServlet

具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的是,Servlet程序员收入要比Perl程序员高)。Page64Servlets特点➢高效。在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需

要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于Servlet,处理请求的是N个线程,只需要一份Servle

t类代码。在性能优化方面,Servlet也比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动,等等。➢方便。Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。➢功能强大。在Servlet中,许多

使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。➢可移植性好。Servlet用Java编写,Ser

vletAPI具有完善的标准。因此,为I-PlanetEnterpriseServer写的Servlet无需任何实质上的改动即可移植到Apache、MicrosoftIIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Ser

vlet。Page65(5)JSP➢成为快速建立跨平台的动态网站的首选方案。➢1.将内容的生成和显示进行分离➢2.可重用组件➢3.采用标识:➢4.适应平台➢5.数据库连接:➢6、所有的JSP页面都被编译成为JavaServlets

,好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。Page664、两种体系结构的比较和选择–自从引入JSP技术,使用Java构建的Web应用服务器端出现了两种架构,

第一种是只使用JSP,第二种是同时使用JSPs和Servlets,以下称之为模型一和模型二,它们分别有各自的优缺点。近来模型二风行,不仅在网络中有很高的占有率,而且在商业杂志中也备受推崇。实际上,很多开发者错误的认为这种架构已经取代了

模型一并且是使用JSPs的正确方法。正确的使用JSPs的方法取决于你目前项目的实际需求,而不是追赶潮流。在这篇文章中,我将描述这两种架构,权衡利弊,告诉你一些基本的准则来帮助你决定哪一种技术更适合你。Page67(1)基于JSP的模型结构浏览器jsp文件BeanDBPage6

8(2)MVC使用JSPs和ServletsServletJSP文件DBJavaBeanPage69基于MVC模型的应用系统开发的组织视图控制器模型应用内容页面内容和布局应用流程商业逻辑运行环境角色页面制作者应用组装者组件提供者WEB管理员部件HTML,JSP,S

ervletsJavaBeans,配置数据XML,AppletsJavaBeans,XMLEJB站点使用分析工具WebSphereWebSphereStudio,VAJAVAApplicationServer培训StudioStudioIBMConnectorsPerforma

ncePackSiteAnalysisToolsPage70(3)模型的比较➢对于Web的开发者和设计者来说,直接使用JSP是很直观的,但随着代码的增多会使JSP页面负重不堪,而且调试困难。使用Ser

vlet控制器,大多数的商业逻辑在从JavaBeans传给JSP之前就已经调试通过了。➢很有用的原则和概念来帮助选择:这两种架构的最明显的区别就是模型一是以“页面为中心"的,而模型二是以"程序为中心"的。如果你正在开发一个典型的

Web应用,只是页面之间的链接,那模型一是比较适合的。但如果每个链接或按钮背后需要大量的处理后才能决定下一步要显示什么,那Servlet/JSPMVC是比较适合的。➢另一种方法是看你的应用是面向“请求”的还是面向“响应”的。Servlets是面向“请求

”的,JSPs则更加是面向“响应”的,因为JSP页面将HTML的响应发送给浏览器。如果你的HTML代码要大大多于Java(或者说只有非常少的逻辑来决定要显示给用户什么),那么模型一就更加适合。➢有一个小技巧就是观察请

求与响应之间的映射关系,如果对于每一个的请求,只有一个响应,那么使用Servlet就意义不大。Sun的J2EE蓝本中是这样描述Servlet控制器的:“基于用户的请求和模型命令的输出,控制器选择一个视图来作为响应的一部分”。如果请求和响应是一对一的,那么就没什么必要使用控

制器。➢另一方面,如果每个请求会导致比较复杂的逻辑运算,并且可能返回的视图也不相同,那么使用Servlet来做出决定和重定向视图就比较理想。如果你的应用需要支持不同的显示格式,例如在同一个通道中使用HTML和XML,那这一点就尤其重要了。Servlet能包含逻辑,来决定客户端是什么,基于这一点

来返回不同的文档格式。➢在做出决定时,还应当考虑到开发者的技能水平。举例来说,如果应用系统主要是由网➢最后,记住模型一和模型二是不能并存的。Page713.3.3PHP与PerlPage721、PHP➢PHP动态网站开发技术与ASP相似,也是一种嵌入HTML文档的服

务器端脚本语言。其语法大部分与C、Java、Perl等语言相似,并形成了自己的独有风格,利用该语言Web程序员可以快速地开发出动态网页。PHP是PersonalHomePage的缩写,于1994年由RasmusLerdorf创造,

原本用途只是为知道他自己个人置于Internet上的履历表曾被谁浏览过。后来由于其轻巧、免费、多平台等特性而迅速流行,1997年开始开发的第三版被称之为PHP3。PHP广泛流行的主要原因在于其多平台能力和对数据库的广泛支持,此外也有些其他的独到之处

。➢(1)免费、轻巧快速、真正跨平台。➢要运行PHP,通常使用Linux作为操作系统,Apache作为Web服务器。Linux+Apache+PHP3+MySQL已经成为中小型网站最为经济的选择,无论是性能还是安

全方面,都要比微软的ASP好一些。当然在其他操作系统上也同样可以运行,这是因为得益于其开放的源代码,PHP是一种跨平台的软件。不过,如果不使用Apache服务器,那么PHP就只能以CGI的方式运行,这样就不能利用将PHP编译进Apach

e带来的性能优势。Page73(2)语法与C及Perl相近<?echo(“这是PHP语言的嵌入范例\n”);?><?phpecho(“这是PHP语言的嵌入范例\n”);?><scriptlanguage=“php”>echo(“这是PHP语言的嵌入

范例\n”);</script>Page74(3)广泛的数据库支持能力➢PHP最强大,也最有代表性的特点是它的数据层,它可以支援多种数据库,几乎含盖了各种常见的数据库,包括常用的Oracle,mSQL,dBase,Sybase,Informix,MySQ

L等等,并且使编写基于数据库的网页变得非常简单。➢同数据库相关的页面,在服务器端以PHP脚本的方式编写。实现过程如图5.8所示:➢从图可以看出:➢第1步:客户向Web服务器发出请求。➢第2步:Apache服务器分析客户的

请求,若为PHP文件,则将其交给PHP处理程序进行处理➢第3步:Filename.php3是一个PHP脚本,包含了许多命令,其中包括打开并连接数据库,从数据库中找到所要数据的命令。所有同数据库相关的操作,都由PHP来完成。PH

P可以很好地完成同数据库的交互。➢第4步:PHP从数据库中取得数据后,按照FIlename.php3文件的要求,进行格式转换,也即将文件内容转化为HTML格式。➢第5步:将HTML格式的文件交给Apache服务器。➢第

6步:Apache服务器再将其送给客户。客户浏览器PHP3服务Apache服务器1.客户请求2.脚本交PHP33.执行数据查询6.页面返回5.返回HTML4.查询返回MySQL图PHP实现过程Page75示例.....<?Mysql-connect(“l

ocalhost”,”webmaster”,””);$query=“SELECTid,nameFROMcustomer”;$result=mysql-db-query(“test”,$query);if

($result){echo“foundtheseentriesinthedatabase:<ul>”;while($r=mysql-fetch-array($result)){$id=$r[“id”];$n

ame=$r[“name”];echo“<li>$id,$name”;}echo“</ul>”;}else{echo“Nodata.”}mysql-free-result($result);?>....Page762、Perl简介Page773.3.4分析比较➢传统的高级开发语言C/C++等

,虽然不是专门为电子商务系统开发而设计的,但是其通用性比较好,基本上所有的应用服务都可以用传统的语言来开发,目前的商品化软件包(如数据库、中间件产品等)一般都提供传统高级语言的API接口,特别是在解决电子商务系统与其他应用互操作等问题时,传统语言还是有一定优势的。需要指出的是,传统

语言与操作系统的关系比较紧密,跨平台能力较弱,因此目前更多的应用使用Java等新的开发语言。➢(1)简介Page78技术特点(ASP:使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快

速地完成网站的应用程序。无须compile编译,容易编写,可在服务器端直接执行。使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。与浏览器无关,用户端只要使用可执行HTML码的浏览器,脚本语言(VBScri

pt、Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。ActiveXServerComponents(ActiveX服务器元件)具有无限可扩充性。可以使用VisualBasic、Java、VisualC++、COBOL等编程语言来编写你所需要的ActiveXS

erverComponent。PHP:数据库连接:PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要

的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle,MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。面向对象编程:PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。JSP:将内容的生

成和显示进行分离强调可重用的组件采用标识简化页面开发Page79(3)应用范围➢ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统——只能运行于微软的服务器产品,IIS(InternetInformat

ionServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。Unix下也有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩

充,Unix下的COM实现起来非常困难。➢PHP3可在Windows,Unix,Linux的Web服务器上正常运行,还支持IIS,Apache等通用Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即

用。➢JSP同PHP3类似,几乎可以运行于所有平台。如WinNT,Linux,Unix.NT下IIS通过一个插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Lin

ux上,因此JSP有更广泛的运行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。Page8

0(4)性能比较➢有人做过试验,对这三种语言分别做循环性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的循环。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。➢

数据库测试中,三者分别对Oracle8进行1000次Insert,Update,Select和Delete操作,JSP需要13秒,PHP需要69秒,ASP则需要73秒。Page81ASP技术JSP技术WEB服务器微软的IIS或个人WEB服务器任何WEB服务器包括Apache,Nets

cape,和IIS操作系统平台微软的视窗系统绝大多数的流行平台跨平台访问需要第三方ASP的引入产品支持WEB信息机构环境中不同系列的计算机群可重用,跨平台组件没有JAVABEANS企业级JAVABEANS,定制JS

P标签安全:防范系统崩溃没有有内存泄露保护没有有脚本语言VBSCRIPT,JSCRIPTJAVA定制标签没有有兼容传统的数据库可以(COM)可以(用JDBCAPI)集成数据源的能力能工作在任何符合ODBC规范的数据库能工作在任何符合ODBC规范的数据库,而且能访问符合JDB

C技术规范数据库组件COM组件JAVABEANS,企业级JAVABEANS或扩展的JSP标签扩展工具支持有有Page82(5)前景分析➢目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已

经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适

合一些小型的商业站点。➢首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提

供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。➢ASP和JSP则没有以上缺陷,ASP可以通过MicrosoftWindows的COM/DCOM获得ActiveX规模支持,通过DCOM和TranscationServer获得结构支持;JSP可以通过SUNJava

的JavaClass和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持。➢三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。➢总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可

以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。Page83小结➢CGI–传统编程方法,生成HTML文件。–通过Request、Response接收和响应客户请求。➢服务器端脚本–程序与HTML标记混编。–引擎解释

程序语句,直接插入HTML文本中。–通过一些对象完成通讯:接收请求,发送响应。Page843.4商务支持平台及相关技术基础➢商务支持平台技术基础➢Web服务器与应用服务器➢Web服务器的主要功能➢应用服务器的技术分析P

age85商务支持平台概述➢商务支持平台就是对企业的商务应用系统提供支持,使企业的商务应用能更好开展的一些服务。➢商务基础平台:提高系统性能,侧重于保障系统的效率、可靠性和优化,为商务系统的应用软件提供辅助

功能,例如系统开发与维护环境、负载平衡、系统管理等;➢商务服务平台:提供更多的商务服务,为企业的核心商务逻辑提供服务,例如供应链管理、客户关系管理等。➢商务支持平台的出现使得企业能够将更多的精力集中于其核心业务的构建。➢商务支持平台通常具有一定的通用性

,是大部分企业都需要的。是由IT厂商将一些通用的,与商务应用无关的的软件,与Web服务器集成在一起,组成的应用服务器软件包。Page86服务器软件发展概述➢传统Web服务器的作用相当于使用HTTP协议的

文件服务器,在这个平台上是无法实现逻辑处理、计算和数据库访问等功能的。➢Web服务器的主要功能在于Web页面的组织和存取.➢功能丰富:CGI编程接口,其他应用开发接口,并增强了网站管理等系统管理功能,有些产品的功能足以承担商务服务处理的需要。➢三层体系结构的提出和明确

,更细致地层次划分又导致了应用服务器的出现。将一些通用的、与具体商务应用无关的软件集成为一个整体,为电子商务应用系统的运行提供基础平台。Page87Web服务器和应用服务器的主要功能以及二者之间的关系外部应用HTML静态页JSPServletJavaAppletEJBASPWEB服务器管理

WEB服务器应用程序(商务逻辑)组件处理器应用服务引擎应用界面生成服务进程调度内容管理事务管理集成接口开发工具ODBCJDBCCORBA应用服务器商务组件第三方组件服务器/系统管理安全管理Java虚拟机(JVM)HTTPD服务进程数据库Page88Web服务器

的核心功能➢安全性➢FTP➢搜索➢数据分析Page89其他功能➢网站管理、➢应用构造、➢动态内容➢电子商务等Page90Web服务器产品➢两个截然不同的区域:内部网服务器和因特网服务器。➢目前,Web服务器软件包有30多种,有些只能在

一种操作系统上运行,有些则可以在多种操作系统上运行。➢Apache和微软的IIS(InternetInformationServer)服务器软件占有了大部分的市场份额,网景公司EnterpriseServer和O’Reilly公司的WebsiteProfe

ssional产品也有一定的市场份额。Page91应用服务器➢将应用从Web服务器和数据库中分离出来,为处理大量的用户与事务提供了一个更为结构化的解决方案。应用服务器还能够提供诸如均衡负载、线程池和恢复服务等特性,这种事务处理能力

使Web应用能更好地扩展并从失败中更好地恢复。➢应用服务器的版本很多,功能差异也较大。Page92(1)高性能的应用程序运行环境➢内容缓存➢数据库连接缓存➢支持进程的多线程执行➢大量用户访问情况下的负载均衡➢支持分布式联机事务

处理Page93(2)其他➢为应用提供扩充性➢会话管理➢目录及内容管理➢商务引擎➢系统管理–性能配置管理–存取控制管理–系统日志管理Page94应用服务器的优势➢开发优势➢实施优势➢集成的管理能力➢安全性Page95应用服务器的选择➢总体目标–具有良

好的可扩展性–具有跨平台性–统一的MIS间数据存取接口–实现开放的信息共享–实现安全的信息共享Page96选择的原则➢1、基本特性➢基本特性是指应用服务器的实现应包括的基本运行环境和支持标准,主要包括以下内容:➢(1)国际标准的兼容性:对J2EE支持的程度。➢(2)操作系统平台:支持应用服

务器运行的操作系统平台。➢(3)Web服务器:应用服务器对Web服务器的支持策略。➢(4)数据层支持:支持的数据连接标准;支持的数据库产品。➢(5)对象模型支持:主要考察对分布式对象模型的支持。Page97选择的原则➢2、扩展特性➢扩展

特性描述了应用服务器为了获得高性能和竞争能力而需要提供的特性,只要包括以下内容:(1)可用性、(2)可伸缩性、(3)可管理性(4)安全性、(5)集成性、(6)开发有效性、(7)对WebService的支持➢3、其他需要考虑的方面➢(

1)性能价格比(2)售后服务及培训(3)应用服务器版本的更新及升级(4)技术及产品供应商的发展前景

精品优选
精品优选
该用户很懒,什么也没有留下。
  • 文档 34925
  • 被下载 0
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?