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

下载本文档

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

文档简介

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

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

XML,Applets JavaBeans,XML EJB 站点使用分析工具 WebSphere WebSphere Studio,VAJAVA ApplicationServer Studio Studio IBMConnectors PerformancePack SiteAnalysisTools培训Page333.3核心商务务逻辑的的实现及及其技术术基础3.3..1电子商务务应用系系统实现现概述3.3..2传统程序序语言与与公共网网关接口口CGI3.3..3基于ASP与Activex的系统开开发3.3..4Java语言及其其技术分分析3.3..5PHP开发技术术分析Page343.3..1电子商务务应用系系统实现现概述电子商务务系统与与电子商商务应用用系统的的实现电子商务务系统的的应用是是基于Web的应用,,是一种种分布式式的结构构,所以以开发工工作可以以分解成成为客户户端和服服务器端端的应用用开发两两部分。。由于电子子商务系系统的应应用程序序既包括括编译型型的程序序,也包包括解释释型的脚脚本程序序(例如如JavaApplet、JavaScript、VBScript等),而而这些脚脚本程序序基本上上都是嵌嵌入到HTML页面中的的,所以以,应用用程序的的编写就就不仅局局限于编编码,而而且也包包括HTML页面的编编写。借助于组组件技术术搭建应应用日益益成为未未来电子子商务应应用开发发与集成成的主流流方向。。Page35开发语言言的选择择标准平台无关关性与其他部部件的结结合能力力软件的可可重用与数据库库的连接接能力语言使用用的简易易性Page363.3..2传统程序序语言与与公共网网关接口口CGI1、CGI工作原理理2、用C语言编制制的CGI程序3、CGI程序的输输出处理理4、CGI程序的输输入Page37CGI工作原理理Page38用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"));}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=bluegenius&&password==mypass当浏览器器端以GET方提交资资料时,,在服务务器端将将自动生生成一个个环境变变量QUERY_STRING,该参数数记录的的就是浏浏览器提提交的资资料,即即“?”后的部分分,将该该环境变变量的值值打印出出来是这这样的::name=bluegenius&&password==mypassPage41CGI程序的输输入--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程序完整整的处理理过程了了。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的内部对对象Page46(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))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(("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>Page49(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(””)Page50(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>Page51(4)Session对象Session对象存储储特定的的用户会会话所需需的信息息。当用用户在应应用程序序的页之之间跳转转时,存存储在Session对象中的的变量不不会清除除,而用用户在应应用程序序中访问问页面时时,这些些变量始始终存在在。要注意的的是,会会话状态态仅在支支持Cookie的浏览器器中保留留,如果果客户关关闭了Cookie选项,Session也就不能能发挥作作用了。。例如下面面例子::<%Session(("Name"")=="bluegenius"Session(“Password”)=“12345”%>在Session中建立了了Name和Password两个变量量,在以以后由其其直接或或间接链链接而出出的网页页中(注注意:必必须是直直接或间间接链接接而出的的一组网网页才构构成一组组对话))就可通通过如下下语句获获得用户户名和密密码:<%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)组成,,它们提提供了很很多有用用的功能能。如java.awt是窗口工工具包,,可以用用来创建建图形用用户界面面(GUI);java.io用来实现现输入//输出处处理;java.sql即JDBC包,包含含了实现现数据库库连接的的一系列列类和接接口。图6-2描述了一一个运行行在Java平台上的的Java程序,如如应用程程序(Application)或小应应用程序序(Applet)。图中中,JavaAPI和JVM把Java程序从硬硬件依赖赖中分离离出来。。Java程序JavaAPIJava虚拟机基于硬件的平台Java平台Page55(3)Java应用程序序//Thisclasssimplydisplays”HelloWorld”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)JavaBeansJavaBeans描述了基基于Java的软件组组件模型型,JavaBeans规范将“组件软件件”的概念引引入到Java编程的领领域。组组件是自自含的、、可重用用的软件件单元;;而JavaBeans组件,则则可以使使用可视视的应用用程序开开发工具具,可视视地将它它们编写写到Java程序中。。JavaBeans规范为Java开发人员员提供了了一种“组件化”其Java类的方法法。如果软件件重用是是一个好好主意,,那么是是否应该该让每一一个Java类都成为为Javabean呢?如果果Java类满足某某些准则则,它们们就适于于充当bean的角色::如果软软件模块块要既能能够可视视地操作作,又能能够定制制以达到到某些效效果,则则这种软软件模块块就可能能适于做做成一个个JavaBean。是否打算算让它可可重用??或者,,它会是是可重用用的吗??是否希望望将它与与其他可可重用的的Java组件一起起使用??是否预计计会在IDE工具中使使用它??如果上述述问题的的答案都都是肯定定的,则则它应该该作为JavaBean来开发。。JavaBean概念是为为了在Java编程环境境中支持持可重用用的组件件,它是是一种一一般性的的设计方方法,适适用于客客户机或或服务器器机器上上运行的的Java程序。由由于对可可视的构构建器工工具的强强调,也也由于许许多Javabean都是图形形用户界界面(GUI)组件,所所以JavaBean组件可能能被视为为一种客客户端技技术。但但是,并并不要求求Javabean都是可视视的,并并且它们们也可以以用于服服务器环环境中。。

Page60(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容器也被被要求在在特定的的执行阶阶段调用用此接口口。Page61EJB的分布式式计算结结构中的的六个角角色六个角色色可以由由不同的的开发商商提供,,每个角角色所作作的工作作必须遵遵循Sun公司提供供的EJB规范,以以保证彼彼此之间间的兼容容性。EJB组件开发发者:应用组合合者:部署者:EJB服务器提提供者:EJB容器提供供者:系统管理理员:Page62(3)JDBCJAVA语言作为为一种具具有健壮壮性、易易使用、、易于理理解、能能够自动动从网络络下载的的语言,,具有开开发数据据库应用用的极好好的语言言基础。。但除此此以外,,Java还需要提提供一种种能够与与各种数数据库系系统交互互的能力力,JDBC(JavaDataBaseConnectivity)就提供供了这样样一种能能力。JDBC是一个能能够执行行SQL语句的JavaAPI,它包含含一组由由Java语言编写写的类和和接口,,使得程程序员能能够使用用纯Java开发数据据库应用用。JDBC标准基于于X/OPEN的SQL调用级接接口,它它定义了了一个友友好的Java界面来与与X/OPEN的SQL调用级接接口中定定义的基基本抽象象层和基基本概念念层来进进行连接接。Page63(4)ServletServlet是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个线程,,只需要要一份Servlet类代码。。在性能能优化方方面,Servlet也比CGI有着更多多的选择择,比如如缓冲以以前的计计算结果果,保持持数据库库连接的的活动,,等等。。方便。Servlet提供了大大量的实实用工具具例程,,例如自自动地解解析和解解码HTML表单数据据、读取取和设置置HTTP头、处理理Cookie、跟踪会会话状态态等。功能强大大。在Servlet中,许多多使用传传统CGI程序很难难完成的的任务都都可以轻轻松地完完成。例例如,Servlet能够直接接和Web服务器交交互,而而普通的的CGI程序不能能。Servlet还能够在在各个程程序之间间共享数数据,使使得数据据库连接接池之类类的功能能很容易易实现。。可移植性性好。Servlet用Java编写,ServletAPI具有完善善的标准准。因此此,为I-PlanetEnterpriseServer写的Servlet无需任何何实质上上的改动动即可移移植到Apache、MicrosoftIIS或者WebStar。几乎所所有的主主流服务务器都直直接或通通过插件件支持Servlet。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文件BeanDBPage68(2)MVC使用JSPs和ServletsServletJSP文件DBJavaBeanPage69基于MVC模型的应应用系统统开发的的组织 视图 控制器 模型 应用内容 页面内容和布局 应用流程 商业逻辑 运行环境角色 页面制作者 应用组装者 组件提供者 WEB管理员部件 HTML,JSP, Servlets JavaBeans, 配置数据 XML,Applets JavaBeans,XML EJB 站点使用分析工具 WebSphere WebSphere Studio,VAJAVA ApplicationServer培训 Studio Studio IBMConnectors PerformancePack SiteAnalysisToolsPage70(3)模型的的比较对于Web的开发者者和设计计者来说说,直接接使用JSP是很直观观的,但但随着代代码的增增多会使使JSP页面负重重不堪,,而且调调试困难难。使用用Servlet控制器,,大多数数的商业业逻辑在在从JavaBeans传给JSP之前就已已经调试试通过了了。很有用的的原则和和概念来来帮助选选择:这这两种架架构的最最明显的的区别就就是模型型一是以以“页面为中中心"的,而模模型二是是以"程序为中中心"的。如果果你正在在开发一一个典型型的Web应用,只只是页面面之间的的链接,,那模型型一是比比较适合合的。但但如果每每个链接接或按钮钮背后需需要大量量的处理理后才能能决定下下一步要要显示什什么,那那Servlet/JSPMVC是比较适适合的。。另一种方方法是看看你的应应用是面面向“请求”的还是面面向“响应”的。Servlets是面向“请求”的,JSPs则更加是是面向“响应”的,因为为JSP页面将HTML的响应发发送给浏浏览器。。如果你你的HTML代码要大大大多于于Java(或者说说只有非非常少的的逻辑来来决定要要显示给给用户什什么),,那么模模型一就就更加适适合。有一个小小技巧就就是观察察请求与与响应之之间的映映射关系系,如果果对于每每一个的的请求,,只有一一个响应应,那么么使用Servlet就意义不不大。Sun的J2EE蓝本中是是这样描描述Servlet控制器的的:“基于用户户的请求求和模型型命令的的输出,,控制器器选择一一个视图图来作为为响应的的一部分分”。如果请请求和响响应是一一对一的的,那么么就没什什么必要要使用控控制器。。另一方面面,如果果每个请请求会导导致比较较复杂的的逻辑运运算,并并且可能能返回的的视图也也不相同同,那么么使用Servlet来做出决决定和重重定向视视图就比比较理想想。如果果你的应应用需要要支持不不同的显显示格式式,例如如在同一一个通道道中使用用HTML和XML,那这一一点就尤尤其重要要了。Servlet能包含逻逻辑,来来决定客客户端是是什么,,基于这这一点来来返回不不同的文文档格式式。在做出决决定时,,还应当当考虑到到开发者者的技能能水平。。举例来来说,如如果应用用系统主主要是由由网最后,记记住模型型一和模模型二是是不能并并存的。。Page713.3..3PHP与PerlPage721、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带来的性性能优势势。Page73(2)语法法与C及Perl相近<?echo((“这是PHP语言的嵌嵌入范例例\n”);;?><?phpecho(“这是PHP语言的嵌嵌入范例例\n”);;?><scriptlanguage=““php”>>echo(“这是PHP语言的嵌嵌入范例例\n”);;</script>Page74(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实现过程Page75示例.......<?Mysql--connect((“localhost”,”webmaster”,””);$query==“SELECTid,,nameFROMcustomer”;$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);?>.......Page762、Perl简介Page773.3..4分析比较较传统的高高级开发发语言C/C+++等,虽然然不是专专门为电电子商务务系统开开发而设设计的,,但是其其通用性性比较好好,基本本上所有有的应用用服务都都可以用用传统的的语言来来开发,,目前的的商品化化软件包包(如数数据库、、中间件件产品等等)一般般都提供供传统高高级语言言的API接口,特特别是在在解决电电子商务务系统与与其他应应用互操操作等问问题时,,传统语语言还是是有一定定优势的的。需要要指出的的是,传传统语言言与操作作系统的的关系比比较紧密密,跨平平台能力力较弱,,因此目目前更多多的应用用使用Java等新的开开发语言言。(1)简介Page78技术特点点ASP::使用VBScript、JScript等简单易易懂的脚脚本语言言,结合合HTML代码,即即可快速速地完成成网站的的应用程程序。无须compile编译,容容易编写写,可在在服务器器端直接接执行。。使用普通通的文本本编辑器器,如Windows的记事本本,即可可进行编编辑设计计。与浏览器器无关,用户端只只要使用用可执行行HTML码的浏览览器,脚脚本语言言(VBScript、Jscript)均在WEB服务器端端执行,,用户端端的浏览览器不需需要能够够执行这这些脚本本语言。。ActiveXServerComponents(ActiveX服务器元元件)具有无限限可扩充充性。可可以使使用VisualBasic、Java、VisualC++、、COBOL等编程语语言来编编写你所所需要的的ActiveXServerComponent。PHP::数据库连连接:PHP可以编译译成具有有与许多多数据库库相连接接的函数数。PHP与MySQL是现在绝绝佳的组组合。你你还可以以自己编编写外围围的函数数去间接接存取数数据库。。通过这这样的途途径当你你更换使使用的数数据库时

温馨提示

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

评论

0/150

提交评论