电子商务技术基础-第3章-0218528.pptx





《电子商务技术基础-第3章-0218528.pptx》由会员分享,可在线阅读,更多相关《电子商务技术基础-第3章-0218528.pptx(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.3 核心商务逻辑的实现及其技术基础核心商务逻辑的实现及其技术基础 3.3.1 电子商务应用系统实现概述电子商务应用系统实现概述3.3.2 传统程序语言与公共网关接口传统程序语言与公共网关接口CGI3.3.3 基于基于ASP与与Activex的系统开发的系统开发3.3.4 Java语言及其技术分析语言及其技术分析3.3.5 PHP开发技术分析开发技术分析 Page 13.3.1 电子商务应用系统实现概述电子商务应用系统实现概述 电子商务系统与电子商务应用系统的实现电子商务系统与电子商务应用系统的实现 电电子子商商务务系系统统的的应应用用是是基基于于Web的的应应用用,是是一一种种分分布布式式
2、的的结结构构,所所以以开开发发工工作作可可以以分分解解成成为为客客户户端端和和服服务务器器端端的的应应用开发两部分。用开发两部分。由由于于电电子子商商务务系系统统的的应应用用程程序序既既包包括括编编译译型型的的程程序序,也也包包括括解解释释型型的的脚脚本本程程序序(例例如如 Java Applet、Java Script、VBScript等等),而而这这些些脚脚本本程程序序基基本本上上都都是是嵌嵌入入到到 HTML页页面面中中的的,所所以以,应应用用程程序序的的编编写写就就不不仅仅局局限限于于编编码码,而而且也包括且也包括HTML页面的编写。页面的编写。借借助助于于组组件件技技术术搭搭建建应应
3、用用日日益益成成为为未未来来电电子子商商务务应应用用开开发发与集成的主流方向。与集成的主流方向。Page 2开发语言的选择标准开发语言的选择标准 平台无关性平台无关性与其他部件的结合能力与其他部件的结合能力 软件的可重用软件的可重用与数据库的连接能力与数据库的连接能力语言使用的简易性语言使用的简易性 Page 33.3.2 传统程序语言与公共网关接口传统程序语言与公共网关接口CGI 1、CGI工作原理工作原理 2、用、用C语言编制的语言编制的CGI程序程序 3、CGI程序的输出处理程序的输出处理 4、CGI程序的输入程序的输入 Page 4CGI工作原理 Page 5用C语言编制的CGI程序v
4、oid main()printf(Content-type:text/htmlnn);printf(n);printf(用C编制CGI程序n);printf(n);printf(第一个CGI程序,这是用C编写的n);printf(n);Page 6CGI程序的输出处理Content-type:text/html用C编制CGI程序第一个CGI程序,这是用C编写的输出类型说明和HTML正文 Page 7CGI程序的输入-GET通常情况下,CGI程序的输入是由客户端的窗体提交而产生的。窗体的提交有POST和GET两种方式。这两种方式提交资料的格式是不同的。在HTML语法中,窗体提交时的默认方式为GE
5、T,当以此种方式交时,用户所提交的资料将以参数形式附在CGI程序名的后面,例如一个登录验证的HTML窗体中,当我们填好用户名和密码后点击“提交”按钮,则地址栏显示如下:http:/202.112.149.251/login.exe?name=bluegenius&password=myphttp:/202.112.149.251/login.exe?name=bluegenius&password=mypassass当浏览器端以GET方提交资料时,在服务器端将自动生成一个环境变量QUERY_STRING,该参数记录的就是浏览器提交的资料,即“?”后的部分,将该环境变量的值打印出来是这样的:na
6、me=bluegenius&password=mypass Page 8CGI程序的输入-POST当窗体采用POST方式交资料时,其提交的资料则被加入到服务器端的标准输入stdin中,其参数的形式与GET基本相同,同时在服务器端生成一个环境变量:CONTENT_LENGTH,该变量说明了浏览器提交的参数总长度,以便读入和分析参数时的控制。上例中,当我们采用POST方式交时,将stdin中的内容打印出来,则为如下形式:name=bluegenius&password=mypass可见,其参数的形式和意义与GET方式全相同。无论窗体是以何种方式提交,所得到的参数串是完全相同的,下面要做的就是如何将
7、该参数串拆解开,以获得各输入项的值。基本思路为:主程序首先调用CgiInit将用户提交的参数串读入到自定义缓冲区buff中,然后调用ParsePara将各参数拆解出来。其余的几个则为辅助函数,主要用于将参数中的汉字转换为正确的形式。因为在窗体提交过程中,无论采用何种提交方式,汉字都是被转换成为一个个的以“%”开头的16进制码,如%BC%4F等,每2个16进制码表示一个汉字。当我们采用GET方式提交带有汉字的参数时,会在浏览器的地址栏中发现这些16进制码而不会找到一个汉字,就是这个原因。将用户提交的参数拆解开后,就可以分析并处理这些信息,其过程与方法和普通的C程序是完全相同的,最后CGI程序输出
8、处理结果,这就是一个CGI程序完整的处理过程了。Page 93.3.3 基于基于ASP与与Activex的系统开发的系统开发 Page 10示例示例%for(i=0;i font size=这是一个测试程序!这是一个测试程序!这是一个测试程序!这是一个测试程序!这是一个测试程序!这是一个测试程序!Page 11ASP编程的基本规则编程的基本规则ASP编程首先要确定其使用的脚本语言。ASP的编程可采用各种脚本语言,只要服务器端安装了相应的脚本引擎即可。需要注意的是:ASP本身有一定的语法规则,也可算作一种编程语言,而同时所使用的脚本语言自身还有一套语法,因此在编制ASP程序的过程中,必须同时遵守
9、这两方面的语法规定才行,缺一不可。一个ASP文件实际包含了两个部分:HTML部分和ASP脚本命令部分。其中,HTML部分与普通的HTML文件的语法规则是相同的;而ASP脚本则利用两种标记嵌入到HTML部分之中,在已有的HTML基础上对其输出实现控制。Page 12ASP的内部对象的内部对象 Page 13(1)Request对象对象可以使用Request对象访问任何基于HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、Cookie、用户认证及服务器端变量等。同时,Request对象还能够访问客户端发送给服务器的二进制数据。Request对象主要有如下几种最常见的应
10、用:获取由POST方法提交的表单的各元素值Request.Form(element)(index)|.Count获取QueryString中各变量的值Request.QueryString(variable)(index)|.Count获取Cookie中变量的值Request.Cookies(cookie)(key)|.attribute 获取服务器端环境变量值Request.ServerVariables(Name)Page 14示例示例编制页面,用户提交信息编制页面,用户提交信息该表单的提交项定义如下:处理后,回显给用户处理后,回显给用户 Page 15为处理表单数据的ASP文件:Show
11、Info.aspNew Page 1您提交了如下信息:姓名:性别:籍贯:0)%您的爱好共有项:0;n-)% 您没有什么特别的爱好。Page 16(2)Response对象对象与Request对象正相反,Response对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookie的值等。设置Cookie的值Response.Cookies(cookie)(key)|.attribute=value设置Web页面保留在客户端浏览器缓冲中的时间Response.Expires=value Response.ExpiresAbsolute=value
12、 向浏览器输出信息Response.Write(String)重新定向URLResponse.Redirect(URL)Response.Redirect(”http:/bluegenius.dhs.org”)Page 17(3 3)ApplicationApplication对象对象下面是一个计数器程序,也是一个比较典型的Applicatio对象的应用方法。计数器示例您是第 位来客!Page 18(4)Session 对象Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存
13、在。要注意的是,会话状态仅在支持 Cookie 的浏览器中保留,如果客户关闭了 Cookie 选项,Session 也就不能发挥作用了。例如下面例子:在Session中建立了Name和Password两个变量,在以后由其直接或间接链接而出的网页中(注意:必须是直接或间接链接而出的一组网页才构成一组对话)就可通过如下语句获得用户名和密码:之后,就可以用这个用户名和密码进行身份校验了。Page 193.3.4 Java语言及其技术分析语言及其技术分析 Java是SUN公司与1990年开始,为消费者电子市场,如电视机、电话、烤面包机等家用电器的控制和通讯,而设计的软件。设计小组最开始使用C+,但是它
14、在在消费者使用的各种硬件架构及对稳定的要求上却产生了问题,于是这个小组开发了一种新的语言,并为它命名Java。这个名称并不是某个简称,而是指设计人员们所喜欢的又热又香醇的咖啡,更重要的是,它包含了激发这个技术的要素:活波、动画、速度、互动以及其他会选择Java的可能因素。而今天,它已经成为Internet上的配送工具。Page 20(1)Java是编程语言是编程语言特点:简单可靠,是面向对象、与平台无关的,具有可移植性,安全性好,并且支持多线程,具有很高的性能;其次,它最大限度地利用了网络,Java小应用程序可在网络上传输而不受计算机和操作系统的限制。Java既可以被编译,也可以被解释。通过编
15、译器,可以把Java程序翻译成一种中间代码(字节码)可以被Java解释器解释的独立于平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。JAVA源程序JAVA 编译器JAVA字节码通过网络或本地文件系统传送字节码类装载器字节码校验器JAVA类库JAVA解释器及时编译器运行时系统操作系统硬件JAVAJAVA虚拟机虚拟机编译时编译时运行时运行时 Page 21(2)Java是平台是平台平台是程序运行的硬件或软件环境。Java平台与大多数其他平台的不同之处在于,它是运行于其他硬件平台的纯软件平台,而大多数其他平台是硬件和操作系统的结合。Java平台由 Java虚拟机(Java V
16、irtual Machine,简称 JVM)和Java应用程序接口(Java API)两部分组成。JVM是Java平台的基础。JVM发挥抽象计算机的作用,在Java应用程序和本机系统之间建立了一个绝缘层,屏蔽掉了硬件和操作系统的不同,使Java程序“编写一次,任意运行”。可以把Java字节码看作运行在JVM上的计算机代码指令。每种Java解释器,不管是Java开发工具还是可以运行Java小应用程序的Web浏览器,都是JVM的实例。Java API由多种Java包(package)组成,它们提供了很多有用的功能。如 java.awt是窗口工具包,可以用来创建图形用户界面(GUI);java.io
17、用来实现输入输出处理;java.sql即JDBC包,包含了实现数据库连接的一系列类和接口。图62描述了一个运行在Java平台上的Java程序,如应用程序(Application)或小应用程序(Applet)。图中,Java API和JVM把Java程序从硬件依赖中分离出来。Java 程序Java APIJava 虚拟机基于硬件的平台Java平台 Page 22(3)Java应用程序应用程序/This class simply displays”Hello World”to the/standard outputclass HelloWorldAPPPublic static void main
18、(String,args)System.out.println(”Hello World!”);Page 23(4)Java小应用程序Java小应用程序是动态、安全、跨平台的网络应用程序,Java语言迅速流行的重要原因也正在于此。Java Applet不能独立运行,需要嵌入在HTML页面中,通过浏览页面来执行。Page 243、构建多层应用软件体系结构的Java技术在构建多层应用软件体系结构时,选用Java平台是一个非常好的选择,而实现多层结构需要使用的关键技术和运行环境主要有:客户层:Java Applet编程技术,运行环境为支持 Java的浏览器或可以直接运行Java程序的计算机(例如网络
19、计算机)。顶端Web服务层:Java Servlet编程技术、JSP技术、RMI技术和Java Bean编程技术,运行环境为使用Java语言编写的Web服务器(起代理服务器作用)。应用服务层:Java Servlet编程技术、RMI技术、JDBC技术和Java Bean编程技术,运行环境为使用Java语言编写的Web服务器。Page 25J2EEJ2EE标准标准客户层 客户机Web层 J2EE服务器商务层EIS层 DB服务器应用程序动态HTML网页EJBEJBJSP页DBDB Page 26(1)JavaBeansJavaBeans描述了基于Java的软件组件模型,JavaBeans 规范将“
20、组件软件”的概念引入到 Java 编程的领域。组件是自含的、可重用的软件单元;而 JavaBeans 组件,则可以使用可视的应用程序开发工具,可视地将它们编写到 Java 程序中。JavaBeans 规范为 Java 开发人员提供了一种“组件化”其 Java 类的方法。如果软件重用是一个好主意,那么是否应该让每一个 Java 类都成为 Java bean 呢?如果Java 类满足某些准则,它们就适于充当 bean 的角色:如果软件模块要既能够可视地操作,又能够定制以达到某些效果,则这种软件模块就可能适于做成一个 JavaBean。是否打算让它可重用?或者,它会是可重用的吗?是否希望将它与其他可
21、重用的 Java 组件一起使用?是否预计会在 IDE 工具中使用它?如果上述问题的答案都是肯定的,则它应该作为 JavaBean 来开发。JavaBean 概念是为了在 Java 编程环境中支持可重用的组件,它是一种一般性的设计方法,适用于客户机或服务器机器上运行的 Java 程序。由于对可视的构建器工具的强调,也由于许多 Java bean 都是图形用户界面(GUI)组件,所以 JavaBean 组件可能被视为一种客户端技术。但是,并不要求 Java bean 都是可视的,并且它们也可以用于服务器环境中。Page 27(2)EJB(Enterprise java bean)是JAVA中的商业
22、应用组件技术,是分布式应用系统中的组件。EJB组件模型在逻辑上扩展了JavaBeans组件模型,以支持服务器端组件。服务器端组件是可重用的,预先包装好的,准备在应用服务器上运行的应用程序功能片段。它们可以和其他组件组合在一起创建一个符合要求的应用系统。与JavaBeans组件有很多相似的之处,但是JavaBeans组件一般粒度更大而且功能更完全,而且EJB组件不能像JavaBeans组件那样在Java集成开发环境中使用。相反,通过使用由遵循EJB的Java应用服务器提供的工具,它们可以在部署阶段被装配和定制。EJB模型定义了EJB组件与EJB容器之间相互关系。EJB组件不需要使用任何特定的容器
23、系统。提供商可以将任何应用服务器端调节为支持EJB技术,只需加入规范定义的一些服务的支持即可。这些服务定义了EJB组件和容器之间的“契约”,有效地实现了一个可移植层。任何EB组件可以在任何支持EJB契约的应用服务器上运行。一个EJB组件可被部署到任何一个EJB服务器,即使不同的服务器通过不同的方式实现它们的服务。EJB模型使用EJB容器与EJB组件之间的一组标准契约确保了EJB组件在不同EJB服务器上的可移植性。每一个EJB组件都被要求实现一组特定接口,允许EJB容器管理和控制该对象。EJB容器也被要求在特定的执行阶段调用此接口。Page 28EJB的分布式计算结构中的六个角色六个角色可以由不
24、同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。EJB组件开发者:应用组合者:部署者:EJB 服务器提供者:EJB 容器提供者:系统管理员:Page 29(3)JDBCJAVA语言作为一种具有健壮性、易使用、易于理解、能够自动从网络下载的语言,具有开发数据库应用的极好的语言基础。但除此以外,Java还需要提供一种能够与各种数据库系统交互的能力,JDBC(Java DataBase Connectivity)就提供了这样一种能力。JDBC是一个能够执行SQL语句的Java API,它包含一组由 Java语言编写的类和接口,使得程序员能够使用纯Java
25、开发数据库应用。JDBC标准基于XOPEN的SQL调用级接口,它定义了一个友好的 Java界面来与 X/OPEN的 SQL调用级接口中定义的基本抽象层和基本概念层来进行连接。Page 30(4)Servlet(4)ServletServlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能需要查询数据库来完成这种请求),然后发送包含HTML或XML文档的响应到浏览器。Servlet 是一组运行在服务器端的软件。Sun公司将其取名为Servlet,可能是与Applet有关。Applet是运行在Web浏览器端的JAVA程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子商务 技术 基础 0218528

限制150内