第章商务逻辑层技术基础电子商务技术基础邮电部培_第1页
第章商务逻辑层技术基础电子商务技术基础邮电部培_第2页
第章商务逻辑层技术基础电子商务技术基础邮电部培_第3页
第章商务逻辑层技术基础电子商务技术基础邮电部培_第4页
第章商务逻辑层技术基础电子商务技术基础邮电部培_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章商务逻辑层技术基础商务逻辑层描述商务处理过程和商务规则,该层所定义的应用功能是电子商务应用系统开发的重点;提供辅助功能的通用软件,通过与其它软硬件的集成构成支持商务逻辑的商务支持平台。电子商务系统的大系统特征,电子商务系统体系结构的演变,使得商务支持平台承担了大量的商务逻辑处理任务,不但导致应用软件规模和复杂度的增大,而且对系统硬件、网络等集成技术和系统管理都提出了更高的要求。为此,从软件实现上,推动了基于部件的分布式系统开发方法和开发技术的应用和发展,从系统管理的需要出发,产生了应用服务器的思想。3.1商务逻辑层概述 3.2系统的开发方法 3.3核心商务逻辑的实现

3.4应用服务器相关技术 3.1商务逻辑层概述 3.1.1商务逻辑层与电子商务系统 3.1.2电子商务系统及其开发 3.1.3商务支持平台技术基础电子商务系统的主要组成及功能Internet企业电子商务系统Internet外部安全保障环境电子商务应用表达平台电子商务应用系统电子商务服务平台

支付接口SCM电子市场认证接口电子商务基础平台

系统管理安全管理负载均衡站点管理中间件层(会话、传输、连接、事务处理)数据库内部安全保障环境企业内部信息系统

EDPMISDSS/BI电子化银行认证机构商务逻辑的实现要素商务逻辑可以划分成两个层次,一个层次是企业的核心商务逻辑;另一层次就是支持核心商务逻辑的辅助部分。一般的,企业的核心逻辑是依靠电子商务应用程序实现的,而辅助部分可以通过不同的技术产品来集成。构成支持平台的技术产品至少应当包括:Web服务器、商务支持软件、集成与开发工具、计算机主机、网络、其他系统软件(如操作系统、管理工具软件等)。通常Web服务器、商务支持软件、部分集成开发工具被集中在一个称之为“应用服务器”的软件包中,商务逻辑层在物理上可以简化为以下三个部分:应用软件(实现商务逻辑)、应用服务器(为应用软件提供软件支持平台)和其他支持软件、计算机主机及网络(为应用软件提供硬件支持平台)。从实现上:应用系统设计开发、应用平台的搭建和软硬件系统集成。电子商务系统及其生命周期利用信息转换核心和知识商务逻辑运行可扩充建造新的的、安全的信息系统环境电子商务系统的系统特征客户服务库存管理物流管理过程过程过程客户服务系统及客户数据库库存系统及库存数据库物流系统及物流数据库供应链管理客户关系管理系统客户服务系统及客户数据库库存系统及库存数据库物流系统及物流数据库电子商务系统开发技术的进展因素系统开发基本原理软件工程信息系统开发电子商务系统特征,商务支持平台技术基础商务支持平台概述商务基础平台的功能提高系统性能,侧重于保障系统的效率、可靠性和优化商务服务平台的功能提供更多的商务服务,为企业的核心商务逻辑提供服务应用平台的特性要求一般而言,理想的应用平台应具备以下特征:可靠的和高性能的:支持商务逻辑的动态分布。平台应当预置各种应用,提供多种服务。例如内容管理、搜索工具等,提供多种开发工具,支持多种开发语言。平台应当支持多种工业标准和操作系统平台,至少应当包括:表达技术标准(HTML、WM、Java、Javascript、C/C++);标准协议(HTTP、LDAP、IIOP);应用集成:JavaBean、EJB、CORBA;主流平台(Unix、WindowsNT);集成标准(JDBC、ODBC)。易于管理。平台是模块化的,各个部分是低耦合的,这样它具有通用性。3.2电子商务系统开发及其技术基础3.2.1电子商务系统开发技术基础3.2.2电子商务系统规划及其技术基础3.2.3电子商务系统分析及其技术基础3.2.4电子商务系统设计及其技术基础

电子商务系统统开发技术基基础1、软件工程与与电子商务应应用系统开发发2、电子商务系系统的开发过过程分析信息系统生命命周期模型总体规划系统分析系统设计系统实施当前系统运行、维护新系统运行、维护可行性报告系统说明书设计说明书用户手册参考抽象程度时间当前系统的生命期系统开发过程新系统的生命期图3-5信息系统的生命期模型系统分析、设设计相关领域成功案例企业商务发展需求企业商务模式系统需求分析技术方案比选系统结构确认应用系统功能系统平台构成系统逻辑构成电子商务系统统规划及其技技术基础电子商务系统统规划的特点点商务模型规划划商务系统规划划电子商务系统统规划的层次次与目标

调查企业需求、成功案例战略规划 确定电子商务发展策略战术规划 确定电子商务系统的 体系结构 (处理、内容、应用、技术)电子商务系统分析设计商务模型规划商务系统规划商务模型规划划的基本过程程电子商务基本模式B2C(网络销售)B2B(虚拟电子市场)C2C(社区)——企业核心商务活动市场销售订货/订单交付客户服务——成功的电子商务案例理解一般商务模式,选择企业未来的商务模式电子商务的影响导致的新变化规划企业的商务模式变化的商务流程规划商务模型的基本组成单元规划企业的商务模型内部信息系统支持联机交易与支付物流供应链构成外部信息系统合作伙伴的协作关系电子商务系统统分析设计阶阶段示意图相关领域成功案例企业商务发展需求企业商务模式系统需求分析技术方案比选系统结构确认应用系统功能系统平台构成系统逻辑构成面向对象与结结构化方法现实世界为对象世界结构化分析结构化设计顺序存储指令计算机过程世界结构化编程面向对象分析面向对象编程面向对象设计中医?西医常用简易分析析方法买方卖方商品需求和报价请求报价单还价磋商过程订购单订购应答运输说明发货通知供货方需求方开户银行供货方开户银行需求方配送机构认证机构购货订单货物运转货物运转到款通知付款通知数字证书,数字签名银行转账电子商务系统统设计及其技技术基础系统设计概述述电子商务系统统与分布式应应用对象与可重用用性部件与互操作作性(1)分布计算分布计算是指指网络中两个个或两个以上上的软件相互互共享信息资资源。这些软软件可以位于于同一台计算算机中,也可可以部署在网网络节点的任任意位置。基基于分布式模模型的软件系系统具有均衡衡运行系统负负载、共享网网络资源的技技术优势。网络技术的发发展,网络计计算、Internet的突起,使软软件的开发从从单一系统的的完整性和一一致性,向着着群体生产率率的提高、不不同系统之间间的灵活互连连和适应性而而发展,软件件的非功能性性需求比以往往得到更大的的重视。从此此,以主机为为中心的计算算方式转变为为以网络为中中心的计算方方式。但是,,这一方面导导致应用软件件的功能、性性能、规模和和复杂性的极极大增长,另另一方面要求求各种应用软软件之间能够够互相交互。。为此,系统统集成成为重重要课题,系系统集成不仅仅包括不同厂厂商的网络、、计算机平台台之间的集成成,更重要的的是应用软件件层次上的集集成。如图所所示。计算方式的重重大变化ForI=1to100X=X+AY=X/2Z=X+Y数据库系统电子表格字处理主机为中心网络为中心开发为中心集成为中心图3-2计算方式的重大变化软件质量?健壮性、维护护性、重用性性、扩展性产品运行产品转移产品修改可理解性可维修性灵活性可测试性可移植性可再用性互运行性(能能和另一个系系统结合吗))正确性健壮性效率(性能))完整性可用性风险软件工厂一万人做十年?(2)二进制代码码级重用程序=数数据结构构+算算法(过程程和函数))用户名口令求解空间与与问题空间间割裂受编译器等等限制平面结构,,无层次通用报表工具面向对象源源代码级重重用对象=属属性+方法((封装)Publicclass{privatename;private;publicgetName();public;}无二进制链链接标准无法跨语言言、跨平台台重用对象改变,,重新链接接编译内部相关性性外部耦合性性对象的基本本机制状态消息方法封装博大精深厚--薄--厚类、对象、、继承人学生研究生教师博士生本科生Name:BobSex:MaleAge:25Weight:63Grade:JuniorWhich-gradeHow-old(3)可扩展性性与互操作作性可扩展性::功能、性性能的扩充充,特别是是在分布环环境中,各各种应用软软件的互操操作性显得得越来越重重要。互操作性::两个或多多个软件部部件合作的的能力,即即使其实现现的编程语语言、接口口及运行平平台是在完完全不同的的情况下。。应用软件的的使用者和和开发者希希望能象电电子类产品品部件的消消费者和制制造商那样样即插即用用各种应用用软件,如如:电冰箱箱和供电服服务--插头、插口口、适配器器、变换器器等,由此此产生了组组件(Component)技术。组件技术是是提高大型型软件可重重用性的一一种技术,,其最基本本的出发点点是通过软软件模块化化、软件模模块标准化化,使大型型软件可以以利用一个个个能够重重复使用的的“软件零零件”进行行组装,加加快开发的的速度,同同时降低成成本。这一一思想在软软件工程中中早就提出出过,但是是在技术和和工艺方面面的成熟则则是近改甑甑氖虑椤基于于组组件件的的重重用用、、扩扩展展、、互互操操作作小的的二二进进制制可可执执行行模模块块分布布式式处处理理要要求求::存存取取透透明明、、失失败败透透明明、、位位置置透透明明、、迁迁移移透透明明、、持持久久性性透透明明、、重重定定位位透透明明、、复复制制透透明明、、提提交交透透明明。。面向向对对象象语言言无无关关位置置透透明明动态态链链接接软件件互互操操作作分布布式式计计算算系统统扩扩展展性性定制制的的灵灵活活性性减少少维维护护成成本本部件件模模型型部件件模模型型由由部部件件((component))与容容器器((container))两种种主主要要成成分分构构成成。。部部件件通通过过其其接接口口向向外外界界提提供供功功能能入入口口,,接接口口是是部部件件内内一一组组功功能能的的集集合合,,包包含含的的是是功功能能函函数数的的入入口口,,外外界界通通过过接接口口引引用用或或接接口口指指针针来来调调用用部部件件内内的的功功能能函函数数。。容容器器类类似似于于装装配配车车间间,,是是一一种种存存放放相相关关部部件件的的器器皿皿,,用用于于安安排排部部件件、、实实现现部部件件间间的的交交互互,,其其形形式式也也是是多多种种多多样样的的,,如如表表格格、、页页面面、、框框架架、、外外壳壳等等。。另另外外,,容容器器也也可可以以作作为为另另一一容容器器的的部部件部件软软件和和Internet一起被被列为为目前前软件件产业业两个个重要要的增增长点点。软软件部部件的的迅速速发展展使得得基本本部件件装配配应用用开发发模型型成为为一种种深入入到软软件业业的新新的应应用开开发模模式与与开发发环境境。Micorsoft的VisualBasic是一种种非常常典型型的使使用部部件进进行编编程的的工具具。Sybase公司的的PowerBuilder,Borland公司的的Delphi等。它它们将将部件件技术术的功功能不不断扩扩展,,成为为非常常流行行的开开发工工具。。此外外,许许多大大公司司都先先后开开发出出已被被广泛泛使用用的部部件,,如Micorsoft的VBX、OCX及ActiveX控件,,Borland公司的的Delphi中数据据访问问部件件等。。SUN、IBM--BEANS。部件模模型与与部件件标准准容器部件CORBACOMJAVABEAN基于部部件的的应用用系统统开发发的组组织

视图 控制器 模型 应用内容 页面内容和布局 应用流程 商业逻辑 运行环境角色 页面制作者 应用组装者 组件提供者 WEB管理员部件 HTML,JSP, Servlets JavaBeans, 配置数据

XML,Applets JavaBeans,XML EJB 站点使用分析工具 WebSphere WebSphere Studio,VAJAVA ApplicationServer Studio Studio IBMConnectors PerformancePack SiteAnalysisTools培训3.3核心商商务逻逻辑的的实现现及其其技术术基础础电子商商务应应用系系统实实现概概述传统程程序语语言与与公共共网关关接口口CGI基于ASP与Activex的系统统开发发语言及及其技技术分分析开发技技术分分析电子商商务应应用系系统实实现概概述电子商商务系系统与与电子子商务务应用用系统统的实实现电子商商务系系统的的应用用是基基于Web的应用用,是是一种种分布布式的的结构构,所所以开开发工工作可可以分分解成成为客客户端端和服服务器器端的的应用用开发发两部部分。。由于电电子商商务系系统的的应用用程序序既包包括编编译型型的程程序,,也包包括解解释型型的脚脚本程程序((例如如JavaApplet、JavaScript、VBScript等),,而这这些脚脚本程程序基基本上上都是是嵌入入到HTML页面中中的,,所以以,应应用程程序的的编写写就不不仅局局限于于编码码,而而且也也包括括HTML页面的的编写写。借助于于组件件技术术搭建建应用用日益益成为为未来来电子子商务务应用用开发发与集集成的的主流流方向向。开发语语言的的选择择标准准平台无无关性性与其他他部件件的结结合能能力软件的的可重重用与数据据库的的连接接能力力语言使使用的的简易易性传统程程序语语言与与公共共网关关接口口CGI1、CGI工作原原理2、用C语言编编制的的CGI程序3、CGI程序的的输出出处理理4、CGI程序的的输入入CGI工作原原理用C语言编编制的的CGI程序voidmain(){printf("Content-type:text/html\n\n");printf("<html>\n");printf("<title>用C编制CGI程序<title>\n");printf("<body>\n");printf("<p>第一个个CGI程序,,这是是用C编写的的</p>\n");printf("</body></html>\n");}CGI程序的的输出出处理理Content-type:text/html<html><title>用C编制CGI程序<title><body><p>第一个个CGI程序,,这是是用C编写的的</p></body></html>输出类类型说说明和HTML正文CGI程序的的输入入--GET通常情情况下下,CGI程序的的输入入是由由客户户端的的窗体体提交交而产产生的的。窗窗体的的提交交有POST和GET两种方方式。。这两两种方方式提提交资资料的的格式式是不不同的的。在HTML语法中中,窗窗体提提交时时的默默认方方式为为GET,当以以此种种方式式交时时,用用户所所提交交的资资料将将以参参数形形式附附在CGI程序名名的后后面,,例如如一个个登录录验证证的HTML窗体中中,当当我们们填好好用户户名和和密码码后点点击“提交”按钮,,则地地址栏栏显示示如下下:当浏览览器端端以GET方提交交资料料时,,在服服务器器端将将自动动生成成一个个环境境变量量QUERY_STRING,该参参数记记录的的就是是浏览览器提提交的的资料料,即即“?”后的部部分,,将该该环境境变量量的值值打印印出来来是这这样的的:name=bluegenius&password=mypassCGI程序的的输入入--POST当窗体体采用用POST方式交交资料料时,,其提提交的的资料料则被被加入入到服服务器器端的的标准准输入入stdin中,其其参数数的形形式与与GET基本相相同,,同时时在服服务器器端生生成一一个环环境变变量::CONTENT_LENGTH,该变变量说说明了了浏览览器提提交的的参数数总长长度,,以便便读入入和分分析参参数时时的控控制。。上例例中,,当我我们采采用POST方式交时时,将stdin中的内容容打印出出来,则则为如下下形式::name=bluegenius&password=mypass可见,其其参数的的形式和和意义与与GET方式全相相同。无论窗体体是以何何种方式式提交,,所得到到的参数数串是完完全相同同的,下下面要做做的就是是如何将将该参数数串拆解解开,以以获得各各输入项项的值。。基本思路路为:主主程序首首先调用用CgiInit将用户提提交的参参数串读读入到自自定义缓缓冲区buff中,然后后调用ParsePara将各参数数拆解出出来。其其余的几几个则为为辅助函函数,主主要用于于将参数数中的汉汉字转换换为正确确的形式式。因为为在窗体体提交过过程中,,无论采采用何种种提交方方式,汉汉字都是是被转换换成为一一个个的的以“%”开头的16进制码,,如%BC%4F等,每2个16进制码表表示一个个汉字。。当我们们采用GET方式提交交带有汉汉字的参参数时,,会在浏浏览器的的地址栏栏中发现现这些16进制码而而不会找找到一个个汉字,,就是这这个原因因。将用户提提交的参参数拆解解开后,,就可以以分析并并处理这这些信息息,其过过程与方方法和普普通的C程序是完完全相同同的,最最后CGI程序输出出处理结结果,这这就是一一个CGI程序完整整的处理理过程了了。基于ASP与Activex的系统开开发示例<%@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>ASP编程的基本规规则ASP编程首先要确确定其使用的的脚本语言。。ASP的编程可采用用各种脚本语语言,只要服服务器端安装装了相应的脚脚本引擎即可可。需要注意的是是:ASP本身有一定的的语法规则,,也可算作一一种编程语言言,而同时所所使用的脚本本语言自身还还有一套语法法,因此在编编制ASP程序的过程中中,必须同时时遵守这两方方面的语法规规定才行,缺缺一不可。一个ASP文件实际包含含了两个部分分:HTML部分和ASP脚本命令部分分。其中,HTML部分与普通的的HTML文件的语法规规则是相同的的;而ASP脚本则利用<%和%>两种标记嵌入入到HTML部分之中,在在已有的HTML基础上对其输输出实现控制制。ASP的内部对象(1)Request对象可以使用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)示例编制页面,用用户提交信息息该表单的提交交项定义如下下:<formmethod="POST"action="ShowInfo.asp">处理后,回显显给用户为处理表单数数据的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("Sex")%><br>籍贯:<%=Request.Form("HomeTown")%><br></font><br><%n=Request.Form("Hobby").Countif(n>0){%><fontcolor=“#0000FF”>您的爱好共有有<%=n%>项:<%for(;n>0;n--){%><%=Request.Form("Hobby")(n)%> <%}}else%>您没有什么特特别的爱好。。</font></p></body></html>(2)Response对象与Request对象正相反,,Response对象是用来控控制发送给用用户的信息,,包括直接发发送信息给浏浏览器、重定定向浏览器到到另一个URL或设置Cookie的值等。设置Cookie的值Response.Cookies(cookie)[(key)|.attribute]=value设置Web页面保留在客客户端浏览器器缓冲中的时时间①Response.Expires=value② Response.ExpiresAbsolute=value<%Response.ExpiresAbsolute=#Dec31,20009:30:30#%>向浏览器输出出信息Response.Write(String)重新定向URLResponse.Redirect(URL)Response.Redirect(””)(3)Application对象下面是一个个计数器程程序,也是是一个比较较典型的Applicatio对象的应用用方法。<%@LANGUAGE=JavaScript%><html><head><title>计数器示例例</title></head><body><% Application.Lock//若未设定初初值,则将将其设为0if(isNaN(parseInt(Application("Num"))))Application("Num")=0;Application("Num")=Application("Num")+1Application.Unlock%>您是第<%=Application("Num")%>位来客!</body></html>(4)Session对象Session对象存储特特定的用户户会话所需需的信息。。当用户在在应用程序序的页之间间跳转时,,存储在Session对象中的变变量不会清清除,而用用户在应用用程序中访访问页面时时,这些变变量始终存存在。要注意的是是,会话状状态仅在支支持Cookie的浏览器中中保留,如如果客户关关闭了Cookie选项,Session也就不能发发挥作用了了。例如下面例例子:<%Session("Name")="bluegenius"Session(“Password”)=“12345”%>在Session中建立了Name和Password两个变量,,在以后由由其直接或或间接链接接而出的网网页中(注注意:必须须是直接或或间接链接接而出的一一组网页才才构成一组组对话)就就可通过如如下语句获获得用户名名和密码::<%Name=Session("Name")Password=Session("Password")%>之后,就可可以用这个个用户名和和密码进行行身份校验验了。3.3.4Java语言及其技技术分析Java是SUN公司与1990年开始,为为消费者电电子市场,,如电视机机、电话、、烤面包机机等家用电电器的控制制和通讯,,而设计的的软件。设设计小组最最开始使用用C++,但是它在在在消费者者使用的各各种硬件架架构及对稳稳定的要求求上却产生生了问题,,于是这个个小组开发发了一种新新的语言,,并为它命命名Java。这个名称称并不是某某个简称,,而是指设设计人员们们所喜欢的的又热又香香醇的咖啡啡,更重要要的是,它它包含了激激发这个技技术的要素素:活波、、动画、速速度、互动动以及其他他会选择Java的可能因素素。而今天天,它已经经成为Internet上的配送工工具。(1)Java是编程语言言特点:简单单可靠,是是面向对象象、与平台台无关的,,具有可移移植性,安安全性好,,并且支持持多线程,,具有很高高的性能;;其次,它它最大限度度地利用了了网络,Java小应用程序序可在网络络上传输而而不受计算算机和操作作系统的限限制。Java既可以被编编译,也可可以被解释释。通过编编译器,可可以把Java程序翻译成成一种中间间代码(字字节码)——可以被Java解释器解释释的独立于于平台的代代码。通过过解释器,,每条Java字节指令被被分析,然然后在计算算机上运行行。JAVA源程序JAVA编译器JAVA字节码通过网络或本地文件系统传送字节码类装载器字节码校验器JAVA类库JAVA解释器及时编译器运行时系统操作系统硬件JAVA虚拟机编译时 运行时(2)Java是平台平台是程序序运行的硬硬件或软件件环境。Java平台与大多多数其他平平台的不同同之处在于于,它是运运行于其他他硬件平台台的纯软件件平台,而而大多数其其他平台是是硬件和操操作系统的的结合。Java平台由Java虚拟机(JavaVirtualMachine,简称JVM)和Java应用程序接接口(JavaAPI)两部分组组成。JVM是Java平台的基础础。JVM发挥抽象计计算机的作作用,在Java应用程序和和本机系统统之间建立立了一个绝绝缘层,屏屏蔽掉了硬硬件和操作作系统的不不同,使Java程序“编写一次,,任意运行行”。可以把Java字节码看作作运行在JVM上的计算机机代码指令令。每种Java解释器,不不管是Java开发工具还还是可以运运行Java小应用程序序的Web浏览器,都都是JVM的实例。JavaAPI由多种Java包(package)组成,它它们提供了了很多有用用的功能。。如java.awt是窗口工具具包,可以以用来创建建图形用户户界面(GUI);java.io用来实现输输入/输出出处理;java.sql即JDBC包,包含了了实现数据据库连接的的一系列类类和接口。。图6-2描述述了了一一个个运运行行在在Java平台台上上的的Java程序序,,如如应应用用程程序序((Application)或或小小应应用用程程序序((Applet)。。图图中中,,JavaAPI和JVM把Java程序序从从硬硬件件依依赖赖中中分分离离出出来来。。Java程序JavaAPIJava虚拟机基于硬件的平台Java平台(3)Java应用用程程序序//Thisclasssimplydisplays”HelloWorld”tothe//standardoutput.classHelloWorldAPP{Publicstaticvoidmain(String[],args){(”HelloWorld!”);}}(4)Java小应应用用程程序序Java小应应用用程程序序是是动动态态、、安安全全、、跨跨平平台台的的网网络络应应用用程程序序,,Java语言言迅迅速速流流行行的的重重要要原原因因也也正正在在于于此此。。JavaApplet不能能独独立立运运行行,,需需要要嵌嵌入入在在HTML页面面中中,,通通过过浏浏览览页页面面来来执执行行。。3、构建多层应应用软件体系系结构的Java技术在构建多层应应用软件体系系结构时,选选用Java平台是一个非非常好的选择择,而实现多多层结构需要要使用的关键键技术和运行行环境主要有有:客户层:JavaApplet编程技术,运运行环境为支支持Java的浏览器或可可以直接运行行Java程序的计算机机(例如网络络计算机)。。顶端Web服务层:JavaServlet编程技术、JSP技术、RMI技术和JavaBean编程技术,运运行环境为使使用Java语言编写的Web服务器(起代代理服务器作作用)。应用服务层::JavaServlet编程技术、RMI技术、JDBC技术和JavaBean编程技术,运运行环境为使使用Java语言编写的Web服务器。J2EE标准客户层客户机Web层

J2EE服务器商务层EIS层DB服务器应用程序动态HTML网页EJBEJBJSP页DBDB(1)JavaBeansJavaBeans描述了基于Java的软件组件模模型,JavaBeans规范将“组件软件”的概念引入到到Java编程的领域。。组件是自含含的、可重用用的软件单元元;而JavaBeans组件,则可以以使用可视的的应用程序开开发工具,可可视地将它们们编写到Java程序中。JavaBeans规范为Java开发人员提供供了一种“组件化”其Java类的方法。如果软件重用用是一个好主主意,那么是是否应该让每每一个Java类都成为Javabean呢?如果Java类满足某些准准则,它们就就适于充当bean的角色:如果果软件模块要要既能够可视视地操作,又又能够定制以以达到某些效效果,则这种种软件模块就就可能适于做做成一个JavaBean。是否打算让它它可重用?或或者,它会是是可重用的吗吗?是否希望将它它与其他可重重用的Java组件一起使用用?是否预计会在在IDE工具中使用它它?如果上述问题题的答案都是是肯定的,则则它应该作为为JavaBean来开发。JavaBean概念是为了在在Java编程环境中支支持可重用的的组件,它是是一种一般性性的设计方法法,适用于客客户机或服务务器机器上运运行的Java程序。由于对对可视的构建建器工具的强强调,也由于于许多Javabean都是图形用户户界面(GUI)组件,所以JavaBean组件可能被视视为一种客户户端技术。但但是,并不要要求Javabean都是可视的,,并且它们也也可以用于服服务器环境中中。(2)EJB(Enterprisejavabean)是JAVA中的商业应用用组件技术,,是分布式应应用系统中的的组件。EJB组件模型在逻逻辑上扩展了了JavaBeans组件模型,以以支持服务器器端组件。服服务器端组件件是可重用的的,预先包装装好的,准备备在应用服务务器上运行的的应用程序功功能片段。它它们可以和其其他组件组合合在一起创建建一个符合要要求的应用系系统。与JavaBeans组件有很多相相似的之处,,但是JavaBeans组件一般粒度度更大而且功功能更完全,,而且EJB组件不能像JavaBeans组件那样在Java集成开发环境境中使用。相相反,通过使使用由遵循EJB的Java应用服务器提提供的工具,,它们可以在在部署阶段被被装配和定制制。EJB模型定义了EJB组件与EJB容器之间相互互关系。EJB组件不需要使使用任何特定定的容器系统统。提供商可可以将任何应应用服务器端端调节为支持持EJB技术,只需加加入规范定义义的一些服务务的支持即可可。这些服务务定义了EJB组件和容器之之间的“契约”,有效地实现现了一个可移移植层。任何何EB组件可以在任任何支持EJB契约的应用服服务器上运行行。一个EJB组件可被部署署到任何一个个EJB服务器,即使使不同的服务务器通过不同同的方式实现现它们的服务务。EJB模型使用EJB容器与EJB组件之间的一一组标准契约约确保了EJB组件在不同EJB服务器上的可可移植性。每每一个EJB组件都被要求求实现一组特特定接口,允允许EJB容器管理和控控制该对象。。EJB容器也被要求求在特定的执执行阶段调用用此接口。EJB的分布式计算算结构中的六六个角色六个角色可以以由不同的开开发商提供,,每个角色所所作的工作必必须遵循Sun公司提供的EJB规范,以保证证彼此之间的的兼容性。EJB组件开发者:应用组合者:部署者:EJB服务器提供者者:EJB容器提供者:系统管理员:(3)JDBCJAVA语言作作为一一种具具有健健壮性性、易易使用用、易易于理理解、、能够够自动动从网网络下下载的的语言言,具具有开开发数数据库库应用用的极极好的的语言言基础础。但但除此此以外外,Java还需要要提供供一种种能够够与各各种数数据库库系统统交互互的能能力,,JDBC(JavaDataBaseConnectivity)就提提供了了这样样一种种能力力。JDBC是一个个能够够执行行SQL语句的的JavaAPI,它包包含一一组由由Java语言编编写的的类和和接口口,使使得程程序员员能够够使用用纯Java开发数数据库库应用用。JDBC标准基基于X/OPEN的SQL调用级级接口口,它它定义义了一一个友友好的的Java界面来来与X/OPEN的SQL调用级级接口口中定定义的的基本本抽象象层和和基本本概念念层来来进行行连接接。(4)ServletServlet是Java技术对对CGI编程的的回答答。Servlet程序在在服务务器端端运行行,以以接收收来自自Web浏览器器的HTTP请求,,动态态地生生成响响应((可能能需要要查询询数据据库来来完成成这种种请求求),,然后后发送送包含含HTML或XML文档的的响应应到浏浏览器器。Servlet是一组组运行行在服服务器器端的的软件件。Sun公司将其取取名为Servlet,可能是与与Applet有关。Applet是运行在Web浏览器端的的JAVA程序,Servlet是运行在Web服务器端的的JAVA程序。与传统的CGI和许多其他他类似CGI的技术相比比,JavaServlet具有更高的的效率,更更容易使用用,功能更更强大,具具有更好的的可移植性性,更节省省投资(更更重要的是是,Servlet程序员收入入要比Perl程序员高))。Servlets特点高效。在传传统的CGI中,每个请请求都要启启动一个新新的进程,,如果CGI程序本身的的执行时间间较短,启启动进程所所需要的开开销很可能能反而超过过实际执行行时间。而而在Servlet中,每个请请求由一个个轻量级的的Java线程处理((而不是重重量级的操操作系统进进程)。在在传统CGI中,如果有有N个并发的对对同一CGI程序的请求求,则该CGI程序的代码码在内存中中重复装载载了N次;而对于于Servlet,处理请求求的是N个线程,只只需要一份份Servlet类代码。在在性能优化化方面,Servlet也比CGI有着更多的的选择,比比如缓冲以以前的计算算结果,保保持数据库库连接的活活动,等等等。方便。Servlet提供了大量量的实用工工具例程,,例如自动动地解析和和解码HTML表单数据、、读取和设设置HTTP头、处理Cookie、跟踪会话话状态等。。功能强大。。在Servlet中,许多使使用传统CGI程序很难完完成的任务务都可以轻轻松地完成成。例如,,Servlet能够直接和和Web服务器交互互,而普通通的CGI程序不能。。Servlet还能够在各各个程序之之间共享数数据,使得得数据库连连接池之类类的功能很很容易实现现。可移植性好好。Servlet用Java编写,ServletAPI具有完善的的标准。因因此,为I-PlanetEnterpriseServer写的Servlet无需任何实实质上的改改动即可移移植到Apache、MicrosoftIIS或者WebStar。几乎所有有的主流服服务器都直直接或通过过插件支持持Servlet。(5)JSP成为快速建建立跨平台台的动态网网站的首选选方案。1.将内容的生生成和显示示进行分离离2.可重用组件件3.采用标识::4.适应平台5.数据库连接接:6、所有的JSP页面都被编编译成为JavaServlets,好处,包包括健壮的的存储管理理和安全性性。作为Java平台的一部部分,JSP拥有Java编程语言“一次编写,,各处运行行”的特点。4、两种体系系结构的比比较和选择择自从引入JSP技术,使用用Java构建的Web应用服务器器端出现了了两种架构构,第一种种是只使用用JSP,第二种是是同时使用用JSPs和Servlets,以下称之之为模型一一和模型二二,它们分分别有各自自的优缺点点。近来模模型二风行行,不仅在在网络中有有很高的占占有率,而而且在商业业杂志中也也备受推崇崇。实际上上,很多开开发者错误误的认为这这种架构已已经取代了了模型一并并且是使用用JSPs的正确方法法。正确的的使用JSPs的方法取决决于你目前前项目的实实际需求,,而不是追追赶潮流。。在这篇文文章中,我我将描述这这两种架构构,权衡利利弊,告诉诉你一些基基本的准则则来帮助你你决定哪一一种技术更更适合你。。(1)基于JSP的模型结构构浏览器jsp文件BeanDB(2)MVC使用JSPs和ServletsServletJSP文件DBJavaBean基于MVC模型的应用用系统开发发的组织 视图 控制器 模型 应用内容 页面内容和布局 应用流程 商业逻辑 运行环境角色 页面制作者 应用组装者 组件提供者 WEB管理员部件 HTML,JSP, Servlets JavaBeans, 配置数据 XML,Applets JavaBeans,XML EJB 站点使用分析工具 WebSphere WebSphere Studio,VAJAVA ApplicationServer培训 Studio Studio IBMConnectors PerformancePack SiteAnalysisTools(3)模型的比比较对于Web的开发者和和设计者来来说,直接接使用JSP是很直观的的,但随着着代码的增增多会使JSP页面负重不不堪,而且且调试困难难。使用Servlet控制器,大大多数的商商业逻辑在在从JavaBeans传给JSP之前就已经经调试通过过了。很有用的原原则和概念念来帮助选选择:这两两种架构的的最明显的的区别就是是模型一是是以“页面为中心心"的,而模型型二是以"程序为中心心"的。如果你你正在开发发一个典型型的Web应用,只是是页面之间间的链接,,那模型一一是比较适适合的。但但如果每个个链接或按按钮背后需需要大量的的处理后才才能决定下下一步要显显示什么,,那Servlet/JSPMVC是比较适合合的。另一种方法法是看你的的应用是面面向“请求”的还是面向向“响应”的。Servlets是面向“请求”的,JSPs则更加是面面向“响应”的,因为JSP页面将HTML的响应发送送给浏览器器。如果你你的HTML代码要大大大多于Java(或者说只只有非常少少的逻辑来来决定要显显示给用户户什么),,那么模型型一就更加加适合。有一个小技技巧就是观观察请求与与响应之间间的映射关关系,如果果对于每一一个的请求求,只有一一个响应,,那么使用用Servlet就意义不大大。Sun的J2EE蓝本中是这这样描述Servlet控制器的::“基于用户的的请求和模模型命令的的输出,控控制器选择择一个视图图来作为响响应的一部部分”。如果请求求和响应是是一对一的的,那么就就没什么必必要使用控控制器。另一方面面,如果果每个请请求会导导致比较较复杂的的逻辑运运算,并并且可能能返回的的视图也也不相同同,那么么使用Servlet来做出决决定和重重定向视视图就比比较理想想。如果果你的应应用需要要支持不不同的显显示格式式,例如如在同一一个通道道中使用用HTML和XML,那这一一点就尤尤其重要要了。Servlet能包含逻逻辑,来来决定客客户端是是什么,,基于这这一点来来返回不不同的文文档格式式。在做出决决定时,,还应当当考虑到到开发者者的技能能水平。。举例来来说,如如果应用用系统主主要是由由网最后,记记住模型型一和模模型二是是不能并并存的。。3.3.3PHP与Perl1、PHPPHP动态网站站开发技技术与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编译进Apache带来的性性能优势势。(2)语法法与C及Perl相近<?echo(“这是PHP语言的嵌嵌入范例例\n”);?><?phpecho(“这是PHP语言的嵌嵌入范例例\n”);?><scriptlanguage=““php”>echo(“这是PHP语言的嵌嵌入范例例\n”);</script>(3)广泛泛的数据据库支持持能力PHP最强大,,也最有有代表性性的特点点是它的的数据层层,它可可以支援援多种数数据库,,几乎含含盖了各各种常见见的数据据库,包包括常用用的Oracle,mSQL,dBase,Sybase,Informix,MySQL等等,并并且使编编写基于于数据库库的网页页变得非非常简单单。同数据库库相关的的页面,,在服务务器端以以PHP脚本的方方式编写写。实现现过程如如图5.8所示:从图可以以看出::第1步:客户户向Web服务器发发出请求求。第2步:Apache服务器分分析客户户的请求求,若为为PHP文件,则则将其交交给PHP处理程序序进行处处理第3步:Filename.php3是一个PHP脚本,包包含了许许多命令令,其中中包括打打开并连连接数据据库,从从数据库库中找到到所要数数据的命命令。所所有同数数据库相相关的操操作,都都由PHP来完成。。PHP可以很好好地完成成同数据据库的交交互。第4步:PHP从数据库库中取得得数据后后,按照照FIlename.php3文件的要要求,进进行格式式转换,,也即将将文件内内容转化化为HTML格式。第5步:将HTML格式的文文件交给给Apache服务器。。第6步:Apache服务器再再将其送送给客户户。客户浏览器PHP3服务Apache服务器1.客户请求2.脚本交PHP33.执行数据查询6.页面返回5.返回HTML4.查询返回MySQL

图PHP实现过程示例.....<?Mysql-connect(“localhost”,”webmaster”,””);$query=“$result=mysql-db-query(“test”,$query);if($result){echo“foundtheseentriesinthedatabase:<ul>”;while($r=mysql-fetch-array($result)){$id=$r[“id”];$name=$r[“name”];echo“<li>$id,$name”;}echo“</ul>”;}else{echo“Nodata.”}mysql-free-result($result);?>....2、Perl简介分析比较传统的高级开开发语言C/C++等,虽然不是是专门为电子子商务系统开开发而设计的的,但是其通通用性比较好好,基本上所所有的应用服服务都可以用用传统的语言言来开发,目目前的商品化化软件包(如如数据库、中中间件产品等等)一般都提提供传统高级级语言的API接口,特别是是在解决电子子商务系统与与其他应用互互操作等问题题时,传统语语言还是有一一定优势的。。需要指出的的是,传统语语言与操作系系统的关系比比较紧密,跨跨平台能力较较弱,因此目目前更多的应应用使用Java等新的开发语语言。(1)简介技术特点ASP:使用VBScript、JScript等简单易懂的的脚本语言,,结合HTML代码,,即可可快速速地完完成网网站的的应用用程序序。无须compile编译,,容易易编写写,可可在服服务器器端直直接执执行。。使用普普通的的文本本编辑辑器,,如Windows的记事事本,,即可可进行行编辑辑设计计。与浏览览器无无关,用户端端只要要使用用可执执行HTML码的浏浏览器器,脚脚本语语言(VBScript、Jscript)均在WEB服务器器端执执行,,用户户端的的浏览览器不不需要要能够够执行行这些些脚本本语言言。ActiveXServerComponents(ActiveX服务器器元件件)具有无无限可可扩充充性。。可可以使使用VisualBasic、Java、VisualC++、、COBOL等编程程语言言来编编写你你所需需要的的ActiveXServerComponent。PHP:数据库库连接接:PHP可以编编译成成具有有与许许多数数据库库相连连接的的函数数。PHP与MySQL是现在在绝佳佳的组组合。。你还还可以以自己己编写写外围围的函函数去去间接接存取取数据据库。。通过过这样样的途途径当当你更更换使使用的的数据据库时时,可可以轻轻松地地更改改编码码以适适应这这样的的变化化。PHPLIB就是最最常用用的可可以提提供一一般事事务需需要的的一系系列基基库。。但PHP提供的的数据据库接接口支支持彼彼此不不统一一,比比如对对Oracle,MySQL,Sybase的接口口,彼彼此都都不一一样。。这也也是PHP的一个个弱点点。面向对对象编编程::PHP提供供了了类类和和对对象象。。基基于于web的编编程程工工作作非非常常需需要要面面向向对对象象编编程程能能力力。。PHP支持持构构造造器器、、提提取取类类等等。。JSP:将内内容容的的生生成成和和显显示示进进行行分分离离强调调可可重重用用的的组组件件采用用标标识识简简化化页页面面开开发发(3)应应用用范范围围ASP是Microsoft开发发的的动动态态网网页页语语言言,,也也继继承承了了微微软软产产品品的的一一贯贯传传统统———只能能运运行行于于微微软软的的服服务务器器产产品品,IIS(InternetInformationServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。。Unix下也也有有ChiliSoft的插插件件来来支支持持ASP,但但是是ASP本身身的的功功能能有有限限,,必必须须通通过过ASP+COM的组组合合来来扩扩充充,,Unix下的的COM实现现起起来来非非常常困困难难。。PHP3可在在Windows,Unix,Linux的Web服务务器器上上正正常常运运行行,还支支持持IIS,Apache等通通用用Web服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论