




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子商务平台技术综述 摘要:在电子商务的建设和发展中需要多方面技术支持,本文首先对XML电子商务模型进行了论述和分析,然后介绍了J2EE中基于MVC模式的电子商务平台开发技术,最后介绍了基于Struts、Spring 和Hibernate框架技术的电子商务平台。关键词:电子商务; J2EE; XML; MVC; 框架技术前言所谓电子商务,是指交易当事人或参与人利用现代信息技术和计算机网络(主要是因特网)所进行的各类商业活动,包括货物贸易、服务贸易和知识产权贸易。电子商务反映了现代经济活动的发展态势,反映了信息技术在商务活动中的地位和作用,有别于传统的传真或电话式的电子交易,电子商务需要借助于信息软件和通讯技术,并将它们应用于整个商业过程中的每个价值链。简单地说,电子商务是指在IT环境下所进行的商务活动。电子商务作为一种崭新的商务活动模式受到了全世界、全社会的广泛关注和吸纳。未来几年内仍将以较快的速度发展。在这样的趋势下,将会有越来越多的企业参与到电子商务活动当中,对电子商务平台的需求也将更加强烈,因而研究电子商务平台开发的机制是具有极强的现实意义的。电子商务平台开发涉及计算机领域的多项技术,同时还包含管理的因素,是一项复杂的系统工程。本文将对其中的几项重要技术机制分别予以论述。一、XML技术在电子商务平台中的应用1.XML技术XML全称eXtensible Markup Language,翻译为可扩展标记语言,是一种置标语言。置标是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。XML的基本思想是数据的语义通过数据元素的标记来表达, 数据元素之间关系通过简单的嵌套和引用来表示。2. XML技术在电子商务应用中的优越性由于企业电子商务是以Internet为基础的,而随着XML的迅速发展,XML正在逐步成为Internet中描述数据的标准。因此,XML文档在将成为电子商务中数据传输的主要载体。2.1 简单性XML的前身是SGML(The Standard Generalized Markup Language),同HTML一样, XML是通用标识语言标准(SGML) 的一个子集,它是描述网络上的数据内容和结构的标准。尽管如此,XML不像HTML, HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能), XM 则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能。XML保留了SGML 的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。2.2 可扩展性XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。XML标记允许用户自己定义自己的标签携带参数、属性和值。企业可以用XML为电子商务和供应链集成等应用定义自己的标记语言,作为该领域信息共享与数据交换的基础。XML是一种结构化的语言。XML 主要强调信息内容的重要性,它使设计人员能够创建和管理自己的信息结构,并且可以使信息表达和信息的结构、内容彻底分开,因此XML是一个较好的电子商务的商业语言。在具体的商业活动中,有关的信息格式多而杂,信息的内容需要被独立抽取出来进行处理, 而XML 恰恰可以满足这一需要。2.3互操作性XML可以在多种平台上使用,而且可以用多种工具进行解释。因为文档的结构是相容的,所以解释它们的语法分析器就能以较低的费用建立。XML支持用于字符编码的许多主要标准,允许它在全世界许多不同的计算环境中使用。XML所具备这些特性有助于大幅度改善人们在网络世界里的交流方式,特别是对推动电子商务的发展起到了至关紧要的作用。3.XML在电子商务中的应用3.1 基于EDI形式的电子商务的局限性EDI(电子数据互换)是电子商务的始祖,是出现在上个世纪60 年代的一项信息技术。通俗地讲, EDI 将企业与企业之间的商业往来文件, 无需人工介入, 无需纸张文件, 以标准化、规范化的文件格式, 采用电子化的方式,通过网络在计算机应用系统与计算机应用系统之间, 直接地进行信息业务的交换与处理。相对于传统的订货和付款方式, 传统贸易所使用的各种单证、票据全部被计算机网络的数据交换所取代。EDI 系统的大范围使用, 可以减少数据处理费用和数据重复录入费用, 并大大的缩短交易时间, 降低库存成本, 提高效率。它具备用简单格式表现结构数据的能力,使得数据能够传递到其他人,且接收者能解释接收到的信息。EDI 虽然在技术上日趋成熟, 但始终无法得到广泛地商业应用, 这说明本身存有较大局限性。(1)EDI 报文的传输有较多限制, 只能使用指定的网络协议和安全保密协议, 所以EDI 需要建设专用网络, 开发专用程序, 投入巨大, 因此应用往往局限于少数大银行和大企业。(2)EDI 标准的灵活性差, 不能随着与其对应的业务环境的变化相同步。(3)EDI 数据侧重于信息对机器的可读性, 人工阅读EDI 数据简直就是灾难。(4)所有EDI 数据不能通过Web 来进行数据搜索和定位, 也无法在Web 上显示, 而这正是那些现代Internet 小型企业与一些不固定商业伙伴进行小型交易的最基本要求。(5)现行单证、报文等标准无法满足实际需要时, 无计可施。(6)EDI 标准基于传统商业事务规则, 由于社会发展、规则的进步, 有许多商务应用已无法用早期的EDI 标准去规范化表示。3.2 XML在电子商务中的应用XML的诞生为电子数据交换提供了新的思路。EDI的缺陷正是XML应用的长处, XML充分利用了现有网络资源, 通过定制DTD/ Schema可以方便灵活地体现新的商业规则, 无论从技术还是成本上, XML都更容易流行。3.2.1 XML 与EDI 融合XML/ EDI XML所采用的标准技术最适合Web 开发,应用于Internet EDI ,则可以得到真正Web 风格的EDI XML/ EDI。XML 支持结构化的数据,可以更详细地定义某个数据对象的数据结构,例如,描述产品,详细定义该产品的生产厂、产品名、产品号、产地等信息,这种定义不仅为标记该产品提供方便,而且这种XML 数据很容易按生产厂、产品名等排序,使用户的查询变得更方便。如果出现某些商业规则,例如,销售商想在订购单中增加注释,只要采用XML ,销售商就可以在指定的数据放入文档中后加入注释,解决了以前固定格式EDI 的困难,同时XML/ EDI还引入模板的概念,解决了EDI 存在的映射问题。模板描述的不是消息的数据,而是消息的结构以及如何解释消息,能做到无须编程就可实现消息的映射。3.2.2 无线通讯中与WML随着第三代移动通信标准的逐步统一,业界渴望一种单一的适用于当前和未来多种移动网络的数据通信架构,尤其是随时随地的在移动中访问Internet 的网络服务让许多人心驰神往。为了实现这个美好的设想产生了WAP(无线应用协议)协议。WAP协议包括两个部分:其一是通信部分,负责传输数据;其二是WML 语言,供在使用具有WAP 功能的微型浏览器的小屏幕上发布信息之用。WML (Wireless Makeup Language) ,类似HTML 语法,是WAP 规范中的一部分,它延伸自XML,WML是XML用于无线应用的特定实例,它完全符合XML的规则, 主要用于标记和说明WAP 移动终端收发的Internet 信息和用户接口。WML 使得设计者可以采用与设备独立的方式定义WAP 应用的用户接口。总之, 新科技正在不断推动着Internet 的发展, XML 技术也将对电子商务产生重大的影响, 它使得电子商务在互联网上不同系统之间信息交换更加便捷, 不仅大大降低了成本, 而且提高了安全性, 企业可以轻易地享受电子商务的好处。在可预期的将来, 在XML 打造出的全新的电子商务应用环境下, 全球经济必将会受到这种网上电子商务的强力震撼。二、基于J2EE的电子商务平台技术电子商务和信息技术的快速发展,要求企业必须投入更少的资金、更少的资源,更快地设计、建立和开发出企业应用程序。在这样的情况下,Java 语言的发明者Sun 公司提出了一种全新概念的模型即J2EE(Java 2 Enterprise Edition)。J2EE 是一种利用Java 2 平台来简化企业应用程序的开发、部署和管理的体系结构,其技术基础是Java 2平台的标准版。J2EE 不仅巩固了标准版中的许多优点,如“编写一次、到处运行”的特性、方便存取数据库的JDBC API技术,以及能够在Internet 应用中保护数据的安全模式等,同时还提供了对EJB(Enterprise JavaBeans), Java Servlet API ,JSP以及XML技术的全面支持。目前它已成为最具影响的构建企业级应用的开放性标准。1.J2EE体系结构J2EE 多层分布式的应用模型将应用逻辑根据功能划分成组件,这些组件包括应用客户组件(Application Client Components)、Enterprise JavaBeans 组件、Servlet 及JSP组件、Applets 等等,可以在同一个服务器或不同的服务器上安装这些不同的组件。一个应用组件被安装的地方取决于该应用组件属于J2EE 环境中的层。J2EE 体系结构可分为表示层、业务逻辑层及数据层,如图所示: 客户层 业务逻辑 底层数据JavaBeansWeb服务器JSP引擎数据库XML/HTMLServlet引擎APPLETEJB服务器目录服务Client应用程序2. 基于MVC模式的电子商务平台开发技术2.1 MVC开发模式电子商务系统的核心,是所有的商贸活动都要通过网络平台来实现,随着市场的拓展和细分,电子商务平台必须要面对遍布全球的众多用户来提供服务,为了保障图片、多媒体等大数据量文件在互联网上的有效传输,确保电子商务交易的安全性与完整性,除了采用先进的加密及安全技术,完整地收发各种格式的文件之外,关键还是如何在系统的体系结构上加以保证。因此,使用MVC开发模式搭建电子商务平台已经成为IT 领域的一种时尚。所谓MVC,即Model(模型)、View(视图)以及Controller(控制器)。这种设计模式是Xerox PARC 在20世纪80年代设计的,当时主要用来构建用户界面,最近几年,被Sun公司推荐为J2EE平台的设计模式。在MVC 模式中,M 层主要实现系统的业务逻辑和数据逻辑,V层主要实现系统的显示逻辑,C层主要实现系统的控制流程。MVC体系保持系统业务逻辑和数据逻辑、控制逻辑、显示逻辑的相互独立性,从而实现面向问题域本身构建业务逻辑和数据逻辑,面向具体应用域设计控制逻辑和显示逻辑。在系统业务流程发生调整时,无须修改或尽可能少修改业务逻辑和数据逻辑,在问题域本身的业务规则、业务算法发生变化时,只修改M 层组件,保证了系统组件的独立性。MVC 减弱了业务逻辑接口和数据接口之间的耦合,并使得视图层更富于变化。2.2 MVC的处理过程MVC 的处理过程是:首先,控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后,模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。因此,在MVC 模式中,模型是应用对象,没有用户界面;视图表示它在屏幕上的显示,代表流向用户的数据;控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映数据的变化。2.3 J2EE平台中的MVC开发模式MVC体系提供了抽取控制逻辑组件和业务逻辑、数据逻辑组件的理论基础,而在J2EE平台中,Servlet、JSP、JavaBeans提供了实现相关组件的实现手段。因此,结合MVC 的分层体系理论,基于Java的Servlet、JSP、JavaBeans技术,可以方便地实现组件化的电子商务系统的开发。在MVC中,JavaBeans充当M层,JSP充当V层,Servlet充当C层。如图:浏览器(控制器)Servlet(模型)JavaBeansDatabase(视图)JSPJSP(Java Server Pages)是由Sun公司倡导,许多公司参与建立的一种动态网页技术标准。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。 使用JSP标识(tag)或者小脚本(Scriptlet)来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。用JSP编程语言设计和实现的Web应用程序是可靠的、跨平台的和高性能的。JSP是Sun公司推出的新一代站点开发语言,它可以在Servlet和JavaBeans的支持下,完成功能强大的站点程序开发,特别是对数据库的访问和操作。Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。JavaBeans 是一种Java语言写成的可重用组件,用户可以使用JavaBeans将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBeans、applet程序或者应用来使用这些对象。MVC模式在理论上实现了业务逻辑与界面显示的分离,它的提出对Web的应用开发具有重要意义。目前,开发大型企业电子商务平台开始采用符合MVC 模式的JSP + Servlet + JavaBean的多层体系结构,用JSP创建页面,用Servlet实现业务逻辑与外界的交互,形成了清晰的MVC设计模式,简化了Web应用程序开发。随着互联网技术的发展和新的商业模式的出现,必然会出现大量新的基于Web的应用系统,特别是基于J2EE应用平台,以及MVC技术架构的大中型电子商务系统,因此,研究电子商务系统的软件体系结构是非常有意义的。3.基于Struts、Spring 和Hibernate技术的电子商务平台随着网络技术不断成熟和发展,J2EE 技术为Java Web 开发提供了大量优秀的开源项目,如JDBC、EJB 等。然而,对于Java 程序员来说,JDBC 功能显得过于薄弱,程序员仍然需要处理和编写大量繁琐的SQL 脚本来提取简单的业务数据;EJB 组件又显得过于庞大和复杂,使得整个项目中充斥着大量重复冗余的代码。Struts、Spring 和Hibernate 的出现把程序员从繁琐而简单的工作中解脱出来,让程序员可以专注于更复杂的电子商务业务逻辑编写;通过简单的定制和配置,简化了项目中组件结构,而又不失灵活性,为以后的二次开发和扩展留下了广阔的空间。Struts、Spring 和Hibernate 是J2EE 开发的3 种轻量级开源项目,Struts 为J2EE 提供了模型-视图-控制器(Model-View-Controller, MVC) 框架,适合于大型电子商务系统的开发和扩展应用;Spring 是一个分层架构的框架,它有效地组织项目的中间层对象,为程序员提供一种管理电子商务业务对象的良好方法;Hibernate 是数据持久化框架,可作为电子商务业务模型层/数据访问层的核心组件。它们是为简化Java Web开发、提高开发效率、方便扩展功能和维护而创建的。3.1 StrutsStruts是Apache Jakarta 项目组的一个开源项目, 是MVC模型的一个良好实现, 在基于Java 的Web 应用程序设计中占有很大的市场份额。Struts 出现至今, 其自身也在不断地成熟和完善,从Struts1发展到现在的Struts2。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在WebWork 框架基础上发展起来的。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证,而且吸收了Struts1和WebWork 两者的优势。3.1.1 Struts2与Struts1的区别(1)Action类Struts1要求Action类继承一个抽象基类;Struts1的一个具体问题是使用抽象类编程而不是接口。Struts2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts2的Action。(2)线程模式Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能做的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的;Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(3)Servlet的依赖Struts1 Action依赖于Servlet API,因为Struts1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。Struts2 Action不再依赖于Servlet API,从而允许Action脱离Web容器运行,从而降低了测试Action的难度。 Struts2 的发布为J2EE Web 应用的开发者提供了更好的MVC 实现和更加简单易用的实施方法。在Web 应用中恰到好处地使用Struts2 能够让开发人员可以把精力集中在解决实际业务问题上, 从而使系统具有很高的扩展性、重用性、易维护性。(4)易测试性测试Struts1 的Action 有一个大障碍就是execute 方法是直接暴露于Servlet API 的。Struts2 的Action 可以很容易的通过设置属性调用方法来进行测试。(5)封装请求参数Struts1使用ActionForm对象封装用户的请求参数,所有的ActionForm必须继承一个基类:ActionForm。普通的JavaBean不能用作ActionForm,因此,开发者必须创建大量的ActionForm类封装用户请求参数。虽然Struts1提供了动态ActionForm来简化ActionForm的开发,但依然需要在配置文件中定义ActionForm;Struts2直接使用Action属性来封装用户请求属性,避免了开发者需要大量开发ActionForm类的烦琐。如果开发者依然怀念Struts 1 ActionForm的模式,Struts2可以让开发者使用单独的Model对象来封装用户请求参数,但该Model对象无需继承任何Struts2基类,是一个POJO,从而降低了代码污染。3.1.2 Struts2体系机构与工作机制Web浏览器Struts2核心控制器FilterDispather拦截器1拦截器2Action拦截器3Result浏览器发出请求。核心控制器FilterDispatcher 根据请求决定调用合适的Action。拦截器链自动对请求应用通用功能。回调Action 的execute 方法,该方法获取用户的请求参数,并调用业务逻辑。Action 的execute 方法根据执行结果返回result值,在struts.xml 配置文件中,指定result值和视图资源之间的映射关系。3.2 Spring Spring 是为了解决企业应用程序开发复杂性而创建的分层体系结构开发框架。它的核心是一个轻量级的容器,为软件开发提供全方位支持的应用程序框架。Spring 的功能主要有:控制反转(IoC),面向切面的编程(AOP),持久层的封装和事务管理。(1)SpringCore:框架的最基础部分,提供依赖注入特性来管理Bean容器。Core包的主要组件是BeanFactory,BeanFactory 使用IoC 模式将应用程序的配置和依赖性规范与实际的应用程序分开。(2)SpringContext:是一个配置文件,向Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。(3)SpringDAO:提供了JDBC 的抽象层,它可消除冗长的JDBC 编码和解析数据库厂商特有的错误代码。简化了错误处理,降低了需要编写的异常代码的数量。(4)SpringORM:Spring 框架插入了若干个ORM 框架,提供了ORM 的对象关系工具,包括JDO、Hibernate 和iBatisSQLMap。这些遵循Spring 的通用事务和DAO 异常层次结构。(5)SpringAOP:通过配置管理特性,Spring AOP 将面向切面的编程集成到了Spring 框架中,为基于Spring 的应用程序中的对象提供了事务管理程序。 通常情况下,要实现对其他类的引用,应用代码需要告知容器或框架,让它们找到自身所需要的类,然后再由应用代码创建待使用的对象实例。Spring 根据配置文件将其它对象的引用通过组件提供的setter 方法进行设定。Spring 通过依赖注入机制,可以在程序运行的过程中,如果需要调用另一个对象时,无须在代码中创建被调用者,而是依赖于外部的注入。这种方式对调用者和被调用者几3.3 Hibernate3.3.1 Hibernate技术介绍Java 应用程序运行时,往往把数据封装为相互连接的对象,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法。甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示为对象的方法。手动编写代码来执行这些任务不仅单调乏味、易于出错,而且会占用整个应用程序的很大一部分开发工作量。 Hibernate是一个免费的开源Java包,它对JDBC做了轻量级封装,不仅提供ORM 映射服务,还提供数据查询和数据缓存功能,Java 开发人员可以方便地通过Hibernate API 来操纵数据库。它使得与关系数据库打交道变得十分轻松,就像数据库中包含每天使用的普通Java对象一样;同时不必考虑如何把它们从数据库表中取出(或放回到数据库表中)。3.3.2 层次机构设计一般的Web应用程序中通常采用三层体系结构,即表示层、业务逻辑层以及数据库层。表示层提供了与用户交互的界面;业务逻辑层用于实现各种业务逻辑;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业文化体验旅游创新创业项目商业计划书
- 金融合规服务创新创业项目商业计划书
- 汽车客户关系管理系统升级创新创业项目商业计划书
- 2025年共青城市市级机关公开遴选考试笔试试题(含答案)
- 消费者购物体验研究创新创业项目商业计划书
- 编程乐园探险记创新创业项目商业计划书
- 智能化烹饪菜谱创新工具创新创业项目商业计划书
- 2025年数字艺术市场创作与交易政策环境分析报告
- 2025年文化创意产品创新研发资金申请策略研究报告
- 2025年心血管疾病心血管疾病心血管疾病患者教育项目市场前景报告
- 2025年内蒙古交通集团考试笔试试题(含答案)
- 低压安全隐患排查
- 学堂在线 高技术与现代局部战争 章节测试答案
- 水费收缴使用管理办法
- 《研学旅行指导师实务》课件-第1章 研学旅行指导师职业基础
- 企业合规教学课件
- 实验室质量监督培训
- 2025甘肃行政执法资格考试模拟卷及答案(题型)
- 设备管理员考试试卷及答案
- 仓储物流供应链融资合同范文
- GB/T 8498-2025土方机械基本类型识别与术语
评论
0/150
提交评论