版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子商务平台笔记1、 电子商务的发展(1)单层结构(60s-90s)数据客户应用接口业务处理 UNIX主机DB终端(只具有显示作用)处理所有业务(2)两层结构(90-96)例:MRP(ERP前身)仓储生产调度主机DB客户端(表示层,业务逻辑层)增加了数据服务器与单层相比的优点:可扩展性好,健壮性强(数据控制由单独的数据服务器完成),数据共享安全。不足之处:客户端开发部署困难,胖客户端开发管理难度增加。(3)三层结构从两层到三层本质的变化为:业务逻辑处理单独分离出来,采用应用服务器将业务逻辑层的功能实现。表示层业务逻辑层数据访问层DBWeb服务器应用服务器数据服务器(软件)用户优点:a、客户端的
2、开发与维护被简洁化了。b、提高了系统的客观理性与可维护性。c、提高了系统开发的效率与质量。d、更适应互联网的发展趋势。Web服务器与应用服务器区别:应用服务器包括硬件和软件,包括Web服务器的功能。应用服务器用来管理业务逻辑。Web服务器(1)用HTML作为数据格式规范 2用Http协议作为通信息协议规范3用URL标记定位资源另外,还要支持并发连接,访问控制功能。Web服务器与Web服务:Web服务的内容十分广泛,并不是仅指页面的意思,只要能通过广域网(Internet)提供的服务都叫Web服务。电子商务系统的逻辑结构其他外部接口支付网关认证中心DB终端客户层企业内部应用安全保护应用处理层We
3、b服务器数据表示层电子商务平台业务平台支撑平台开发平台操作系统平台 电子商务平台的业务是可以不断扩充的 电子商务系统的框架结构电子商务应用商务服务电子商务服务平台商务服务基础环境安全负载认证应用开发软件开发环境OS协议语言硬件环境硬件环境网络环境社会环境二、电子商务系统的架构设计2.1设计模式:是一套被反复使用的经过分类编目的代码设计经验的总结。使用设计模式的主要目的:获得可重用性(包括体系结构和实现代码)是开发软件更易于理解,同时保证体系结构的正确性和代码的正确性。设计模式的分类系统架构模式 J2EE .NET通用职责分配软件模式代码设计模式2.2架构模式:架构模式着重于不同业务系统中共性问
4、题的解决方案,是有关大尺度和粗粒度设计方案的重用,它主要描述软件系统的基本结构组织或纲要,通常提供一组事先定义好的子系统,指定其职责,给出把它们组织起来的规范和指南。架构:强调大尺度的体系结构模式:强调的是经验和准则的应用2.3 MVC架构模式Model业务逻辑模块 JavaBeanView用户界面 JspController流程控制 Servlet1、Model是application中的主体部分,表示系统中的业务数据和业务逻辑功能的实现。 企业数据管理和对该数据的访问,更新规则2、 View是应用系统中与用户的界面相关的功能实现部分,是用户看到并能与之交互的操作界面。当模型中的数据发生改变
5、时,视图要在他的表现形式中及时更新并保持各个视图显示结果的一致性。3、 Controller根据用户请求的输入控制用户界面数据的显示和更新模型对象的状态,管理用户视图发生的交互,传递给对应的模型进行处理。表示层中的请求控制调度层业务处理 数据访问表示层中业务失败的界面表示层中业务成功的界面模拟层4、 MVC的优缺点优点:(1)可以为一个模型在运行时同时建立和使用新视图。 (2)视图与控制器的可插入性。 (3)模型的可移植性(可重用性)。 (4)提高开发效率。缺点:(1)增加了系统结构和实现的复杂性。 (2)试图与控制器之间的联系过于紧密。 (3)视图对模型数据的低效率访问。MVC架构实现的实例
6、:泳道登录 不存在 注册 确认 提交服务器端 对 个性化主菜单页面点击 存在 比较口令 取消 主页面 错 登录页面泳道图:视图 控制器 模型确认从请求对象读取用户名从数据库中查询用户记录登陆页面用户名确认取消重新定向到注册页面取消不存在主页面存在比较口令显示注册页面显示登陆页面(带提示)错对读取用户的个性化设置登陆次数+1转到登陆页面重定向到个性化的主菜单页面显示个性化的主菜单页面三、开发电子商务平台的主流技术JavaEE和.NET比较:(1)程序语言。JavaEE只用Java语言,而.NET是与语言无关的。 (2)平台无关性。JavaEE是跨平台的,而.NET只能在windows环境下运行。
7、 (3)组件模型。JavaEE采用EJB的组件模型。NET采用COM组件模型。 (4)数据库连接的方式。JavaEE采用JDBC,而.NET基于OLE DB(ADO.NET)。 (5)应用服务器:JavaEE有各种应用服务器支撑,而.NET只能用在ISS Web服务器上。 (6)对Web服务器的支持,JavaEE是逐步扩展出来的一套规范,整体性稍差一些,.NET是整体性支持的Web服务。四、 JavaEE技术4.1 JavaEE的体系结构企业MISJavaEE应用服务器客户层 应用层Web容器JspServletJavaBean业务逻辑层EIB容器遗留服务系统ERP目录服务数据库应用程序App
8、letWeb浏览器容器:可以理解为一个小的操作系统,功能独立,负责管理一个或几个模块。VMware虚拟机。4.2 容器的功能(1)JavaEE组件的安全 决定哪些用户有权调用组件(2)JavaEE的事务管理 连接是否保存 (3)JavaEE的寻址服务(JNDI)(4)JavaEE的远程连接(5)生存周期管理(6)数据池连接JavaEE技术数据访问业务逻辑用户界面逻辑1、 n层体系结构数据访问业务对象数据源的映射业务规范业务模型业务界面逻辑优点:(1)业务规则改变,提高系统的可维护性。(1) 提高了互操作性,使应用程序可共享业务规范和程序(2) 提高了更好可操作性(3) 提高了更好的安全性2、
9、JavaEE体系结构图EIS层DBEJB业务层EJBEJB业务层Web层JSP页面客户端表示层EJBHTML页面客户端程序客户端JavaEE应用服务器数据服务器3、 JavaEE设计思想:组件容器结构容器:提供特定程序组件服务的标准化的运行环境,为组件提供部署,执行和生命周期管理,安全及其他组件需求相关的服务。主要组成:Web容器,EJB容器,Applet容器,Application,Client容器4、 JavaEE标准规则(1) JSP(2)Servlet(3)RMI(4)EJB(5)JDBC(6)JSF(7)Web Service(8)JMS(9)JNDI(10)Java Mail (1
10、1)JTA(12)JACC(13)JAXRPC(14)JAXR(15)SAAJJAXRPC:Java API for Xmlbased callJAXR:Java API for Xml registerJSF:Java Server FaceJMS:Java Message Service 并发与同步控制JNDI:查找与定位资源JTA:Java事务管理,事务的开始,回滚,提交5、 JNDI分布式环境下获取,定位一个资源硬件软件 分布式的具体操作:一般应用服务器都将JNDI功能包含进去了。JNDI结构应用程序JNDI APIJNDI命名和目录管理器(Weblogic,JBoss等)JNDI服务
11、提供者接口文件系统LDAPRMI局域网上的一个系统,系统设别目录,查询远程模块定位JNDI应用方法:(1) 建立初始上下文环境(初始化参数设定)(2) 绑定与查询(3) 解除绑定,重绑定例:绑定:import javax.naming.*;import java.util.Hashtable;class JNDIstatic Context ctx = null;public JNDI()public static void bind(String name, String object) Hashtable ht = new Hashtable();ht.put(Context.INITIA
12、L_CONTEXTFACTORY,weblogic jndi WinitialContextFactory);ht.put(Context.PROVIDER_URL,t3:/localhost:7001);tryctx = new InitialContext(ht);ctx.rebind(name,object);finallytryctx.close();catch(Exception e)e.printStackTrace();查找:public static object lookUp(String name)Hashtable ht = new Hashtable();ht.put(
13、Context.INITIAL_CONTEXTFACTORY,Weblogic Jndi WInitial ContextFactory);ht.put(Context.PROVIDER_URL,t3/localhost:7001);tryctx = new Context(ht);Object object = ctx.lookUp(name);return object;catch(NamingException e)finallytryctx.close();catch (Exception e)e.printStackTrace();return null;public static
14、main(String args)String arg = args0;if(arg.equals(bind)System.out.println(bind begin.);bind(bookName,bookName);System.out.println(bind end.);if(arg.equals(lookUp)System.out.println(lookUp begin.);String bookName;bookName = (String)lookUp(bookName);System.out.println(bookName is :+bookName);System.ou
15、t.Println(lookUp end.);6、 RMI(Remote Method Invocation)调用远程模块RMI层次结构图RMI传输层远程调用层TCP/IPRMI传输层远程引用层骨架RMI服务器TCP/IP存根RMI客户机存根(stub):为了使调用服务器端对象的过程对用户透明,RMI驻留在客户端的服务器端的代码的代理,从用户角度,存根看起来与服务器端代码一样,使用相同的方法名字,参数类型和返回值,但不包含实际代码。骨架(skeleton):部署在服务器端的代码,接受客户机的远程调用请求,将其转换为服务器上的本地调用,并将结果返回客户机。RMI应用方法:(1) 远程对象的本地接
16、口(2) 远程对象的实现(3) RMI客户机(4) RMI服务器步骤:(1) 编写远程接口(2) 编写服务(3) 编译远程接口和服务(4) 应用服务器使用RMI功能,产生存根和骨架(5) 编写客户代码(6) 编译(7) 注册服务RMI命名规则:无后缀:远程接口(远程对象的本地接口)Impl后缀:实现接口的服务器服务器端客户端Server后缀:创建服务器对象的服务器程序Client后缀:调用远程方法的客户程序_Stub后缀:代码存根_Skel后缀:骨架例:1、 远程接口(客户端)Greater.javaimport java.rmi.*;public interface Greater exte
17、nds Remotepublic String getMessage() throws RemoteException;2、 客户类 GreatingClient.javaimport .*;import java.io.*;import java.rmi.*;public class GreatingClientpublic void main(String args)tryGreater greater = (Greater)Naming.lookUp(rmi:/localhost:1099/GreaterService);System.out.println(greate
18、r.getMessage();catch(Exception e)e.printStackTrace();3、 远程对象的实现 GreaterImpl.javaimport .*;import java.rmi.Server.UnicastRemoteObject;public class GreaterImpl extends UnicastRemoteObject implements Greaterpublic GreaterImpl() throw RemoteException;public String getMessage() throws RemoteExcep
19、tionreturn(Here is a Remote Message);4、 RMI服务器类:GreaterServer.javaimport java.rmi.*;import .*;public class GreaterServertryGreaterImpl localObject = new GreaterImpl();Naming.rebind(rmi:/localhost:1099/GreaterService,localObject);catch(Exception e)e.printStackTrace();5、 RMIC工具生成stub和skeleton运
20、行命令 服务器端 rmic GreaterImpl rmic GreaterClient生成存根和骨架。EJB(Enterprice JavaBean)企业级的JavaBean1、 EJB的类型(1)会话Bean1、无状态的会话Bean 无状态指的是会话状态不记录2、有状态的会话Bean 会话期一直存在, 保持中间状态(2)实体Bean 对应着一个实体,通常用在数据访问中(3)消息驱动Bean 做分布系统的并发控制2、 EJB容器提供运行环境,及高可利用性事务,会话,管理,持久性,安全性等企业及服务。应具有的功能:(1) 生命周期管理(激活,钝化,销毁)(2) 事务的支持(负责管理事务的开始,
21、挂起,恢复,提交,回滚)(3) 持久性(针对实体Bean)(4) 集群的支持(针对网络环境中的应用)(5) 安全性3、 EJB的开发:(1) 创建一个远程接口(2) 创建一个本地接口(HOME 接口)(3) 建立实现接口的Bean类(4) 建立部署描述文件例:Add.java(远程接口)import java.rmi.RemoteException;import java.ejb.EJBObject;public interface Add extends EJBObjectpublic int Add(int a,int b);public int getResult();AddHome.java(本地接口)import java.rmi.RemoteException;import java.ejb.CreateException;import java.ejb.EJBHome;public interface AddHome extends EJBHomeAdd Create()throws CreateException,RemoteException;AddBean.java(实现接口的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品市场营销策略与实践
- 2026年Immersive Technologies IM360 地下采矿模拟器立体3D 头部追踪技术解析
- 2026年政府性融资担保补助创业担保贷款贴息政策解读
- 2026年鸿鹄eVTOL迈向商业化:城市空中出行与应急救援多场景落地
- 2026年林下产品产地冷链与初加工设施配建标准
- 2026年制造执行系统与ERP深度集成方案
- 2026年适老化家居产品人因工学舒适性设计标准
- 2026年汽车行业高级计划排程混合智能优化引擎融合算法指南
- 2026北京对外经济贸易大学非事业编人员招聘7人备考题库及答案详解(典优)
- 2026年绿证交易机制健全与国际互认推进方案
- 智能水表供货合同范本
- 3.1世界是普遍联系的 课件 2025-2026学年统编版高中政治必修四哲学与文化
- 2025年中国烟草内蒙古应届高校毕业生招聘(申论)练习题及答案
- 2026年南京旅游职业学院单招职业倾向性测试必刷测试卷附答案
- 《数字孪生湖库水质管理系统设计技术导则》
- 一年级读书分享会爱心树
- 《急危重症护理》课件-第七章 急性中毒患者的救护
- 工程五金类知识培训课件
- 娱乐主播服装知识培训课件
- 2025年中国微风发电行业市场运行态势、市场规模及发展趋势研究报告
- 2025年湖南省普通高中学业水平合格性考试数学试卷(含答案)
评论
0/150
提交评论