基于J2EE的分布式客户关系管理CRM的设计开发.doc_第1页
基于J2EE的分布式客户关系管理CRM的设计开发.doc_第2页
基于J2EE的分布式客户关系管理CRM的设计开发.doc_第3页
基于J2EE的分布式客户关系管理CRM的设计开发.doc_第4页
基于J2EE的分布式客户关系管理CRM的设计开发.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

基于J2EE的分布式客户关系管理(CRM)的设计开发摘 要 本文通过基于J2EE的各种开发技术及分布式数据库技术的分析,结合建筑陶瓷行业CRM系统的开发实例,系统阐述了构建基于J2EE的分布式数据库系统的设计开发方法。J2EE是一个提供企业级应用的平台,越来越多的开发者采用该平台技术,用比已往更少的投入、更短的开发周期和更少的资源来设计和构建企业级应用。本论文首先对J2EE平台作了总体的介绍,然后就分布式数据库系统、数据分片、分布技术及数据库连接等问题进行深入的研究探讨;接着介绍了客户关系管理(CRM)的基本概念、业务过程和体系结构,并针对CRM系统的特点,分析了用组件的思想来构建建筑陶瓷行业CRM系统的可行性,提出了该客户关系管理系统的实施步骤和设计方案,方案主要内容包括系统结构设计、功能设计和数据库设计。重点进行了系统分析、系统设计,并针对系统的安全性进行了开发,而且描述了J2EE关键技术在系统中的应用,以实现系统的高性能,最后对所作的工作进行总结,并对系统的进一步改进给出了自己的建议和设想。 基于J2EE的分布式数据库系统具有广阔的前景,论文研究基于J2EE的分布式应用系统解决建筑陶瓷行业的信息化问题,具有重要的现实意义。在现今的企业应用开发中,在J2EE平台技术上作一些研究和探索是很有必要的。本系统在Windows环境下,采用WebLogic Server 7.0作为Web Server和Application Server,以JBuilder 9作为主要开发环境,MS SQL Server 2000作为Database Server,以JSP/Servlet结合EJB技术作为主要开发路线,以Windows自带的Internet Explorer浏览器作为客户端。关键词:J2EE 分布式数据库 组件 EJB CRMAbstract Through a deep analysis of all kinds of developing technology on J2EE and distributed database, this thesis systematically expands on technology of building J2EE based distributed system on Construction Ceramics fields.J2EE is a platform for delivering enterprise applications. More and more developers design and build enterprise application with J2EE Platform for less money, faster ,and with fewer resources than ever before. This paper provides an overview of the J2EE platform, then, introduces the concept and theory of Distributed DB and gives a deep discussion about data fragment, distribution and DB connection etc. it introduces the general theory about Customer Relationship Management(CRM), analyzes the systematic infrastructure and designs the subsystem, summarizes business flows related to CRM. Then, to the characters of CRM, the feasibility of using components building Construction Ceramics CRM System is first analyses.The emphases are system analysis, system design, and the security of system is regarded, and some key technology is mentioned to achieve perfect performance in the system, at last, it is the conclusion and prospect. Through the study of J2EE, a doable system has been developed, which will be valuable to develop enterprise application. In Nowadays enterprise application development, it is necessary to study and explore J2EE platform technology. This system is based on Windows platform, using WebLogic 7. 0 as web server and application server, JBuilder 9 as IDE,MS SQL Server 2000 as database server, JSP/Servlet and EJB as main developing technology and Internet Explorer browser as client.Key Words: J2EE ,Distributed DB,component,EJB,CRM目录摘 要iAbstractii目录I第一章 绪论11.1引言11.2课题研究背景11.3课题研究内容21.4研究意义3第二章 分布式数据库概述42.1分布式数据库系统的基本概念42.2分布式数据库系统的组成42.2.1分布式数据库42.2.2分布式数据库管理系统52.2.3分布式数据库设计方法52.2.4数据分片与分布62.3分布式数据库技术的发展方向研究82.4分布式对象技术92.4.1概述92.4.2分布式对象技术的核心概念102.4.3四种主流分布式对象技术的比较11第三章 J2EE技术及组件化软件开发方法133.1 J2EE介绍133.1.1 J2EE概述133.1.2 J2EE的特性133.1.3 J2EE的四层模型153.1.4 J2EE的结构163.1.5 J2EE的核心API与组件183.2 EJB组件技术203.2.1 EJB服务器和容器203.2.2 EJB的分类213.2.3 EJB的构件243.2.4 EJB构件的实现步骤243.2.5 EJB体系结构的特点253.3组件化软件开发方法273.3.1概述273.3.2组件化开发方法的优势28第四章 客户关系管理294.1 CRM概念294.2 CRM业务过程分析304.3 CRM体系结构314.4系统信息及分析方法344.4.1信息分类及信息内容344.4.2分析方法35第五章 基于J2EE平台的建筑陶瓷行业CRM系统设计375.1建筑陶瓷行业企业的特点375.2需求分析375.3系统设计385.3.1总体结构设计385.3.2系统功能设计395.3.3数据库设计445.4系统特点48第六章 基于J2EE平台的建筑陶瓷行业CRM系统实现506.1开发平台506.2开发过程506.3系统实现526.3.1主要bean的实现526.3.2 Web Mail功能的实现556.4 WebLogic应用服务器与J2EE架构576.4.1 概述576.4.2 J2EE访问控制586.4.3系统安全服务体系的实现606.5 J2EE关键技术在系统中的应用626.5.1服务器端Web组件的应用626.5.2多线程处理技术的应用636.5.3数据访问和处理策略636.5.4 XML技术在系统中的应用646.6运行示例65第七章 总结与展望687.1总结687.2系统的进一步改进和扩展68参考文献70致谢73第一章 绪论1.1引言自20世纪中叶计算机诞生以来,计算机技术就以迅猛的速度发展和普及,渗透到人类生活的各个角落。网络技术使处于不同地域的计算机被连接起来,从而使得信息可以共享和交换。特别是从90年代以来,Internet技术的快速发展,各行各业都在不同程度上受到其影响,随着世界范围内Internet环境的形成,人类步入了一个以网络为中心的信息时代。但是随着信息量的几何增长和跨平台跨地域的共享要求,大量的应用系统都面临着向Internet迁移这样一个共同的课题。传统的结构化方法和面向对象方法不再适合这种分布式应用的开发。与此对应出现了很多以分布对象为基础的技术,这些技术为分布式计算环境下的软件开发提供了强有力的解决方案。目前分布对象技术己经成为服务应用框架的核心技术。在开发大型分布式应用系统中比较具有代表哇的有四种主流技术:OMG组织的CORBA技术,Sun公司的EJB技术,Microsoft的COM+/DCOM技术,及新出现的Web Service技术。1.2课题研究背景早期的社会科技落后,生产力水平低下,产品供不应求,导致我们传统的企业生产只能以产品为导向,因此企业主要精力放在扩大生产和满足社会需求上。随着我国改革开放步伐的加大,生产力水平的提高,现在的产品已是供过于求,企业之间的竞争日益激烈。企业的传统资源,如产品的质量和价格等,在激烈的市场竞争中己无法再为企业带来新的竞争力。企业越来越强烈地感觉到客户资源成为占领市场制高点的最重要资源之一:企业竞争的优势不仅仅是产品本身,先进的服务手段已成为关键;现代竞争其实就是客户的全面争夺,这就是以“客户为导向”的时代。客户成了上帝,客户对企业产品的需求决定了企业未来的命运。因此保持住己有的客户、发展新的客户、密切与客户的联系并了解他们的新需求,决定今后新产品的开发方向、为未来做出科学预测等成了企业成败的关键。如何做到最大程度地提高客户满意度成为非常重要的内容,因此,客户关系管理(CRM)应运而生,它正是一种以客户为中心的经营理念,包括销售、市场营销和客户服务的企业业务流程自动化以及在此基础上的决策支持,是一种“围绕客户为中心展开的一切商业活动”的全面战略。 随着中国加入WTO和经济改革的发展和深化,运输企业面临着前所未有的激烈竞争,企业经营营销策略和管理水平是这个特殊的历史时期的关键战役。传统的经营营销方式己远不能适应市场和客户的需要,瞬息万变的市场需求和客户越来越高的要求使我们一方面要不断提高产品质量和技术先进性;一方面要求我们快速转变经营思想,树立以客户为中心的服务型的企业理念。现有的建筑陶瓷行业管理软件功能主要集中在财务管理上,建陶企业与客户的关系主要是建立在以产品为导向的基础上,以“建陶产品”为中心的经营模式,双方的焦点放在交易价格上,在交易进行前后并没有太多的互动沟通,多着眼于产品的供需关系上,这样的客户关系是以短期利益为出发点,每次交易均为一独立事件,建筑陶瓷企业自然无法与客户建立互信,更别提逐步累积长期而忠诚的关系。但随着消费意识的提高,传统的交易行销观念已逐渐淘汰,取而代之的是希望与客户建立起终身的伙伴关系。在这样的风潮推动下,赋予了行销策略新的生命思维。而客户关系管理的最终目的是让企业能够清楚认识出个别客户的特性,并且能够在每一次互动过程中收集与追踪完整的顾客情报,协助企业实行异化策略,突现个别顾客对企业有什么不同的价值,以让像一个有价值的顾客都能充分满足其特定需求,进而有效掌握客户终身价值,创造彼此双赢的局面。市场上有很多的CRM软件,如果直接用于建陶行业,可能会出现以下的问题:1)通常的CRM可以分为分析型、运营型和协同型三种产品,这可能与建筑陶瓷行业以建筑陶瓷产品生产为主的业务模式不尽适应;2)其CRM产品功能并非十分完善,与建陶企业业务处理系统、信息管理系统的集 成有可能存在困难;3)一般的CRM对建陶行业经验几乎空白,所以要为建陶企业提供全面的建陶企业客户关系管理解决方案。本课题是在J2EE平台下,以建筑陶瓷行业CRM解决方案为背景完成的。其目的是以企业的中心数据库为中心数据,分布在全国各地销售中心的数据库为局部数据,实现企业办公的自动化。建筑陶瓷行业CRM解决方案的最终目标是建设一个软件化、自动化、标准化、通用化的综合处理平台,实现网络化信息的分散接收以及信息共享。因此,系统的分布式数据库的设计与实现是一个非常重要的环节,一方面如何建立一个功能完善,布局合理的分布式数据库,讨论如何在因特网中采用B/S模式实现远程信息查询功能;另一方而,目前,计算机大批量数据存储的安全问题、敏感数据的防窃取和防篡改问题越来越引起人们的重视。数据库系统作为计算机信息系统的核心部件,数据库文件作为信息的聚集体,如何加强面向远程服务的数据库的安全性将是重中之重。1.3课题研究内容论文重点对分布式数据库技术、及J2EE做了深入的剖析。分布式数据库技术研究不仅涉及数据库系统的模型设计,而且涉及系统实现的相关技术、应用系统的安全性等诸多方面内容。尽管在过去的时间里,分布式数据库已经取得了很显著的研究成果,但是,成功地将建筑陶瓷行业CRM用分布式数据库体系结构去实现的应用系统却很少。为了使分布在不同网络节点的各个子系统之间共享数据和逻辑计算功能,提高系统的可重用性、可扩展性、可维护性,结合建筑陶瓷行业CRM解决方案的设计和开发,对J2EE的开发和部署进行分析,本文提出了一个新的基于组件的分布式应用系统总体框架结构,对框架中各层组件的功能及实现策略做了设计,解决了数据的表示、访问方式和业务逻辑的组织及封装方式。 1.4研究意义由于软件规模的快速发展,如何避免大量的重复工作,提高软件维护的容易性,使软件走向工业化生产,越来越受到行业的关注。而采用组件技术开发应用系统,不仅可以实现源代码的重复性使用,利用已有的组件去构造新的软件系统,减少重复性劳动;而且组件的接口与实现相分离的原则,使得组件的修改、升级更加容易。但是组件技术仍然处于发展的阶段,要做到全面地设计组件的功能与服务,合理地划分组件的粒度,使组件的重用性和可维护性以及执行效率达到最佳平衡仍然是比较困难的。特别是当需求差别很大,如果组件设计不合理,结果可能重复编码现象依然很严重,开发效率依然很低,因此仍然有许多问题有待于进一步地挖掘和分析。 第二章 分布式数据库概述2.1分布式数据库系统的基本概念分布式数据库系统(Distributed Database System,简称DDBS)是由一组数据组成的,这些数据分布在计算机网络的不同节点(场地)上,逻辑上是属于同一系统的。网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个节点也能通过网络系统执行全局应用。因此,分布式数据库系统可以看成是:计算机网络与数据库系统的有机结合。物理上存放于网络的多个数据库,逻辑上可以看成一个单个的大数据库。用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接细节、无需关心数据在网络接点中的具休分布情况、也无需关心服务器之间的协调工作过程。2.2分布式数据库系统的组成分布式数据库系统由下述成分组成:(1)多台计算机设备,并由计算机网络连接。(2)计算机网络设备,网络通讯的一组软件。(3)分布式数据库管理系统,它包括GDBMS, LDBMS, CM,除了具有全局用户接口由GDBMS链接外,还可能具有自治场地用户接口,由场地DBMS链接,并持有独立的场地目录/辞典。(4)分布式数据库(DDB),包括全局数据库(GDB)和局部数据库(LDB)以及自治场地的自治场地数据库。(5)分布式数据库管理者(DDBA),它可分为二级,一级为全局数据库管理者(GDBA),另一级为局部或自治场地数据库管理者,统称为局部数据库管理者(LDBA)。(6)分布式数据库系统软件文档,这是一组与软件相匹配的软件文档及系统各种使用说明和文件。2.2.1分布式数据库分布式数据库(Distributed Data Base,DDB)是计算机网络环境中各场地或节点上数据库的逻辑集合。它是一组结构化的数据集合,逻辑上属于同一系统,而物理上分布在计算机网络的不同节点上,具有分布性和逻辑协调性的特点。分布性是指数据不是存放在单一场地为单个计算机配置的存储设备上,而是按全局需要将数据划分成一定结构的数据子集,分散地存储在各个场地(节点)上。逻辑协调性是指各场地上的数据子集,相互间由严密的约束规则加以限定,而在逻辑上是一个整体。实际上,基于以上两特性的DDB,是虚拟的,逻辑的,即是由许多LDB逻辑组织而成的,它是针对于全体用户的,全局的数据库。2.2.2分布式数据库管理系统分布式数据库管理系统(Distributed Data Base Management System, DDBMS)是用于管理分布式数据库,同时使这种分布对用户透明的软件系统。一个分布式的数据库系统应满足以下四个假设条件:一是数据存储在一些场所中,每个场所逻辑上假定为单个处理器;二是场所中的处理器由计算机网络互联,松散互联的处理器有它们自己的操作系统,并可进行独立操作;三是分布式数据库不是一个能在每个网络节点卜单独存储的文件的汇集,而是一个实实在在的数据库。四是系统具有DBMS的完备功能,它不仅包括事务处理和分布式文件系统,还有查询处理和结构数据组织等功能。2.2.3分布式数据库设计方法分布式数据库设计方法一般有两种,即自顶向下方法和自底向上方法。前一种方法是从头开始设计分布式数据库,而后一种方法则通过聚集现存数据库来设计分布式数据库。1自顶向下方法自顶向下方法假定设计者理解用户的数据库应用需求,并将其变换为形式规格说明。在这一过程中,设计者历经概念设计、逻辑设计和物理设计阶段。将高级的、与计算机系统无关的规格说明逐渐求精成低级的、与计算机系统有关的规格说明。在概念设计期间,设计者不考虑有关物理实现(特别是数据分布)的任何细节。概念设计和逻辑设计的结果是数据库的全局模式,它包括了数据库的所有数据元素及其使用形式。专门针对分布式数据库的一个设计阶段称为分布设计,它将全局模式映射成几个可能交叠的子集模式,每一个子模式表示与一个站点有关的信息子集。然后完成每一个数据库的设计。自顶向下设计的一个典型方法是DATAID-D方法,它由需求分析、概念设计、分布要求分析、逻辑设计、分布设计、物理设计六个阶段构成。如:在飞机定票系统中,应用DATAID-D方法进行设计的较多。2自底向上方法自底向上方法假设由于需要互连一些现存数据库以形成一个多数据库系统,或由于对各站点已独立完成了数据库的概念说明,所以各站点上数据库的规格说明已是现存的。无论在上述哪种情况下,为了产生一个全局规格说明,都必须集成各站点的规格说明,以便得到分布式数据库的全局概念模式。所谓集成就是把公用数据定义合并起来,并解决对同一个数据的不同表示方法之间的冲突。把现有数据库集成为一个分布式数据库时,这些现有数据库很可能使用的是不同的DBMS,这将构成异构系统,从而增加了数据集成的复杂性。 3本系统中采用的设计方法我们在设计此分布式数据库系统时,考虑到需求的设计目标,采用了自顶向下的设计方法,也就是根据系统的实现环境和用户需求,从总体设计做起来建立同构同质分布式体系结构。所谓同构同质型DDBS是指如果各个站点上的数据库的数据模型都是同一类型的(例如都是关系型的),而且是同一种DBMS(通常是同一个厂商的产品),则称该分布式数据库系统是同构同质型。2.2.4数据分片与分布分布式数据库设计过程中有一个重要问题:是如何在分布式计算机网络中确定数据的分配,包括数据的分片、分布与兀余的设计。比如,如何把数据库分割成若干部分,并分配到不同场地;如何分配这些分片,使某一函数费用最小;数据是否保持一定程度的冗余;哪些分片需要冗余的副本等等。可以说,在分布式数据库系统中,数据的分片和分布是两个最重要的概念。分布式数据库大部分问题都是由数据的分片与分布而引起的。它对整个系统的可用性、可靠性及效率有极大的影响,同时也与分布式数据库系统的其他方面的问题密切相关。因而在设计此系统时,我们将系统实际软、硬件条件和用户需求同数据分片、分布的方法结合在一起考虑,提出了行之有效的分片、分布方案。(1)数据分片各个局部数据库是全局数据库的某种逻辑分割而得。数据分片的目的是便于分布式数据库系统按照用户的需要较好地组织数据的分布和合理地控制数据的冗余度,以提高整个系统的数据访问的局部性,减少数据访问的代价,从而提高系统的效率和可靠性。在关系数据模型中,数据的分片一般有三种方法:1、水平分片按一定的条件将关系按行分为若干不相交的子集,每一子集包括关系的若干元组。2、垂直分片把全局关系的属性集分成若干个子集,为得到这些子集,对全局关系作投影运算。要求全局关系的每一属性至少影射到一个垂直片段中,且每一个垂直片段都包含该全局关系的键。这样,可以通过对这些片段执行连接操作来恢复该全局关系。3、混合分片同时采用水平分片和垂直分片两种方法,即先水平分片,再在子集中进行垂直分片:或先垂直分片,再在子集上进行水平分片等。混合分片在理论上是可行的,但在实际中很少使用,因为分片给数据库管理带来了一定的复杂性。无论哪种分片方法都必须满足数据完备性的要求,即必须遵守以下几条准则:l .完备性:全局关系的所有数据都要分配到相应分片中,否则会丢失数据。l 不相交性:在各水平分片的关系子集中不能出现相同元组。l 可重构性:由全局关系分割得到的分片能通过关系运算还原成全局关系。(2)数据分布数据分布(Data Distribution是指分布式数据库中的数据不是存储在一个 站点的计算机存储设备上,而是根据需要将数据划分成逻辑片段,按某种策略将这些片段分散地存储在各个站点上。数据分布的策略有:1分割式:所有数据只有一个备份,它被分割成若干个逻辑片段,每个逻辑片段被指派在某个特定的站点上。这种分布策略可充分利用各个站点上的存储设备,数据的总存储量大。在存放数据的各个站点卜可自治的检索和修改数据,发挥系统的并发操作能力。同时,由于数据是分布在多个站点上,当某部分站点出现故障时,系统仍能运行,提高了系统的可靠性。 对于全局查询和修改,所需的时间会长一些,因为数据不在同一场地上,需要进行通讯。2复制式:全局数据有多个副本,每个站点上都有一个完整的数据副本。采用这种策略的系统可靠性高,响应速度快,数据库的恢复也较容易,可从任一场地得到数据副本。但是要保持各个站点上数据的同步修改,将要付出高昂的代价。另外,整个系统的数据冗余很大,系统的数据容量也只是一个站点上数据库的容量。3混合式:全部数据被分为若干个子集,每个子集安置在不同的站点上,但任一站点都没有保存个部的数据,根据数据的重要性决定各个子集的副本的多少。这种分布策略,兼顾分割式和复制式的做法,也获得了二者的优点,它灵活性好,能提高系统的效率。但同时也包括了二者的复杂性。从上述数据分布的策略中可以看出,数据的分布给数据管理带来了如下一些问题:l 多副本数据的一致性问题,采用多副本可以提高读数据的速度,但在更新数据时,保持多个副本数据的一致需要一定的系统开销。l 全局查询优化的问题,在实现全局查询时,系统必须将其转换成相应的子查询,并选适当的副本,进行查询的优化处理。l 分布式事务管理问题,由于数据是分布的,处理数据的事务一般也是跨场地的,这就给并发控制和事务恢复带来了新的问题。2.3分布式数据库技术的发展方向研究在分布式数据库系统发展的初期,数据库界普遍认为分布式数据库系统是在地理上分散而逻辑上集中的数据库系统。但是具体实现时,要保证数据分布的高度透明性是很困难的。在实际应用中,各场地的数据库系统需要有一定的自治能力,这对数据库的应用和数据库管理都是有好处的,这样就有了分布式数据库,它是由分布在各场地的一组数据库系统(称为局部数据库系统)组成的统一的数据库系统,被称为全局数据库系统。局部数据库系统间耦合程度不同,或是很紧的聚合(对场地高度透明),或是很松的耦合(高度自治)。由于通用操作系统对DBMS性能的限制,以及硬件价格的下降和高速网的发展,用专用数据库服务器已变得越来越合理了。专用数据库服务器的操作系统是面向数据库的,因此可以减少许多不必要的开销,可以支持大量的实时事务处理。为了提高服务器的性能,可以采用磁盘组和大规模并行处理技术。多个数据库服务器连网,也可以构成分布式数据库系统,即并行数据库。近几年,对分布式数据库系统的研究和开发非常活跃。但是在实际应用时,特别是复杂情况下的效率、可用性、安全性、一致性等问题并不容易解决。为了解决和减轻实现分布式数据库系统的技术难度,保护成果,协作式分布式数据库系统得到认可,这就是基于客户机/服务器结构的数据库系统。由于计算机应用发展的推动,出现了许多新的发展方向,比如各类支持特殊领域应用要求的数据模型的数据库技术,如空间数据库、时态数据库、演绎数据库(知识库)、模糊数据库等:又如对数据分散及不同类型数据库互联的需求推动了联邦式数据库及数据库集成技术的发展:多媒体技术、互联网和WWW的迅速普及和发展推动了多媒体数据库和Web数据库技术的发展:联机分析的需求引起了数据仓库及数据挖掘技术的发展。此外,随着通讯技术和硬件技术的加速发展,移动数据库技术成为数据库技术发展的一个热点。Internet是高速发展的全球性互联网络,Internet应用开发的新方案几乎全部都是基于Web的。Web应用已经从传统的静态HTML页面,向动态的开放的方向发展。针对这样的市场需求和Web平台的基本技术,各个浏览器和Web服务器提供商,如Microsoft公司、Netscape公司和主流的数据库厂商,如Sybase公司、Oracle公司纷纷推出Web服务器和浏览器上的扩展技术,形成以Web服务器厂商的扩展技术为基础,数据库厂商提供解决数据库访问的应用服务器。这样,Web应用就从传统的两层体系结构演变为“浏览器一Web服务器+应用服务器数据库服务器”三层体系结构。用户的开发方向也从构造单一的客户/服务器应用转变为集客户/服务器应用、Internet应用甚至数据仓库应用为一体的综合应用。目前随着分布式对象、组件技术的发展,使Web技术有了向前突飞猛进的发展。分布式对象可以位置透明、语言独立和平台独立地互相发送消息,实现请求服务。现在使用的HTTP协议是一种没有常连接的协议,由于HTTP的限制,使我们无法在浏览器上获得实时的数据,以结果集的方式处理数据和精确地控制事务,并且无法构造Web上的OLTP应用。因此,必须在浏览器到应用服务器之间提供新的通讯协议。现在业界不断出现各种分布对象标准,用来实现分布式的计算。其中四种为主流的分布式对象技术,分别是:Microsoft提出的COM (Component Model)/ DCOM, OMG(Object Management Group)定义的CORBA,Sun的J2EE以及Web Services技术。这些标准都可以很容易地将商业逻辑封装起来,分布在网络上供客户访问。正因为这些分布式对象和通讯协议的成熟,使得浏览器到应用服务器之间可以使用新的对象间通讯协议,从而摆脱HTTP和CGI的束缚。综上所述,数据库分布应用的第一代模式叫C/S模式,第二代叫三层C/S模式,第三代叫分布式对象模式。本系统中建筑陶瓷行业CRM解决方案是采用第三种分布式对象模式。下面来介绍分布式对象模式。2.4分布式对象技术2.4.1概述分布式对象技术是为了解决分布式异构网络环境下,信息系统集成的异构性、可重用性、互操作性问题,将面向对象技术与分布式计算技术相结合而形成的分布计算技术。目前,分布式对象技术已经成为建立服务应用框架和软构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力。分布式对象技术以网络作为它的应用环境,将用某种语言编写的对象分布在网络上以供其它对象来调用。一个分布式对象体系结构通常要采用一个中间层封装网络协议,在此中间层上的开发人员不必面对一些非面向对象的网络协议(如TCP/IP协议)。协议的封装应可跨平台和跨语言,并且要求使用简单。同时还要提供一些公共的企业级服务设施(命名服务、安全服务、事务服务、事件服务、关系服务、激活服务、交易服务、生命周期、持久性服务等),使开发人员可以将注意力集中在业务逻辑上。命名服务提供了分布式对象的位置透明性,安全服务为系统提供了认证、授权、保密性、完整性、不可否认性和审计功能。事务服务保证了系统的可靠性。事件服务为开发者提供了一种异步通讯方式。关系服务为在对象间导航提供了支持。激活服务使分布式对象的性能提高。交易服务可以动态发现和绑定分布式对象。生命周期服务控制分布式对象的生成和消亡的整个过程。持久性服务为用户操作数据库等持久性介质提供了方便。分布计算(Distributed Computing)的发展经历了两种不同的技术路线:第一种是理想的技术路线,试图在互连的计算机硬件上部署全新的分布式操作系统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。这种方法,尽管产生了许多技术成果和实验系统,但却没有被用户和市场接受。第二种是现实的技术路线,即在网络计算平台上部署分布计算环境(也称为中间件) ,提供开发工具和公共服务,支持分布式应用,实现资源共享和协同工作。90 年代,工业界普遍遵循这一技术路线,产生了一系列行之有效的技术和广为用户接受的产品。分布计算技术的发展可以分为二个重要的阶段: (1) 面向过程的第一代分布计算技术:80 年代中后期,以支持信息共享的应用需求为核心,形成了面向过程的第一代分布计算技术。第一代分布计算技术面向的主要问题是信息共享,其体系结构为经典的客户/服务器计算模式,其采用的关键技术仍然是延用传统的计算概念和设施,取得的主要成果是提供了丰富的分布式系统服务,良好的分布式系统管理和典型的分布式系统应用. 但是在分布式客户/服务器计算机系统的建立及其应用系统的开发过程中,人们逐渐体会到分布式系统比想像的要复杂得多,例如异构环境下的应用互操作问题、系统管理问题、系统安全问题等等。传统的面向过程的技术在开发大型软件系统时已经暴露出很大的局限性。(2) 面向对象的第二代分布计算技术:分布对象计算技术. 将面向对象技术与分布计算技术相结合,从而形成的以面向对象技术为主要特征的第二代分布计算技术:分布对象计算技术。其体系结构采用面向对象的多层客户/ 服务器模式;其关键技术是将面向对象技术应用到分布计算当中。2.4.2分布式对象技术的核心概念(1)分布式对象在传统的面向对象技术中,OOA/OOD 方法可直接应用于分布式系统的分析和设计之中,但是面向对象程序设计OOP 技术却不能直接应用于分布式应用系统的程序设计,传统的对象与访问该对象的程序只能存在于同一进程中,并且只有相关程序设计语言的编译器才能创建这些对象并感知这些对象的存在,外部进程无法了解和访问这些对象,所以在一般的C/S 应用中,客户进程无法直接访问异地服务进程中的常规对象,为了解决上述问题,从而提出了分布对象的概念。在分布对象计算中,通常参与计算的计算体就是分布对象,分布对象也被称为组件(Component) ,组件是一些独立的代码封装体,在分布计算环境下组件既可以是一个简单的对象,更多情况下是一组相关对象的组合体. 组件是一些灵敏的软件模块,它们可以位置透明,语言独立,和平台独立地相互发送消息,实现请求服务。分布对象存在于网络的任何地方,可被远程客户应用方法调用的形式访问。至于分布对象是使用何种程序设计语言和编译器所创建,对客户对象来说是透明的。客户应用无须知道它所访问的分布对象在网络中的具体位置以及运行在何种操作系统上,该分布对象与客户应用可能在同一台计算机上,也可能分布在由互联网( 如Internet) 相连的不同计算机上。分布对象具有动态性,它们可以在网络上到处移动。独立于特定的程序设计语言和应用系统、可重用和自包含的软件成分称为软构件。分布对象是一种典型的软构件基于分布对象技术的分布式应用开发。(2)分布对象技术的多层客户/ 服务器计算模型分布对象技术采用面向对象的多层客户/服务器计算模型,将分布在网络上的全部资源(系统层或应用层) 都按照对象的概念来组织,每个对象都有定义明晰的访问接口。创建和维护分布对象实体的应用称服务器,按照接口访问该对象的应用称为客户。支持客户访问异地分布对象的核心机制称为对象请求代理(Object Request Broker ,ORB) 。ORB 处于分布对象技术的核心位置,ORB 如同一条”软”总线把分布式系统中的各类对象和应用连接成相互作用的整体。对象服务:包括支持分布式系统正常工作的各类基本的系统级服务,例如名字管理、事件通告、对象事务管理、对象生命期、时间同步、并发控制等。公共设施:包括支持分布式系统高效开发和有效工作的各类面向领域的常规服务和工具,例如GUI 服务、数据库服务、电子邮件服务、系统管理服务以及面向电信仿真和金融等应用领域的领域构架等等。应用对象:涉及各种应用软件,它在对象服务和公共设施的帮助下完成相应的应用逻辑。2.4.3四种主流分布式对象技术的比较四种不同的分布式对象技术之间存在很多的差别,其中CORBA提供了全面的企业级服务,而Web Service提供的一些服务依然在标准化中,但由于它提供了彻底的平台无关性、语言无关性、穿透防火墙和在Internet上部署的能力,它将是分布式对象技术发展的新方向。分布式对象技术使开发者直接面向业务逻辑编程,为快速开发提供了技术保障。表2-1 四种主流分布式对象技术的比较COM+CORBAJ2EE/EJBWeb Services语言无关性语言无关语言无关客户端与语言无关语言无关平台无关性一般用于Windows平台无关平台无关平台无关通信协议采用ORPC在不同产品间采用IIOP采用IIOP/RMI采用基于XML的SOAP等使用复杂性使用复杂使用复杂使用较简单使用简单提供服务提供了一些服务提供全方位的服务提供较全面的服务主要提供交易服务安全性提供认证、授权、保密性和完整性提供认证、授权、保密性和完整性、不可否认性和审计功能与服务器一起提供认证、授权、保密性和完整性、和审计功能还没形成标准持久性没有有持久性服务有持久性服务还没形成标准事务服务由OS的MTS来完成由产品来实现,不与OS关联由产品来实现,不与OS关联还没形成标准对象关系服务没有存在存在没有查询服务没有存在提供跨平台的查询语言没有穿透防火墙能力要求代理要求代理要求代理具有所以在本文的CRM系统开发中,考虑到规范开放性、厂商支持、受限于操作系统和硬件或厂家、较好支持并和现有系统协同工作、支持较多集成方案、成熟度、稳定性等特性,选择了具有一定优势,且被广泛使用的J2EE平台。下一章将简要介绍J2EE技术。第三章 J2EE技术及组件化软件开发方法3.1 J2EE介绍3.1.1 J2EE概述J2EE是Java 2 Platform Enterprise Edition的简称,J2EE平台规范是一个由SUN公司定义的用于简化分布式企业级应用开发与部署的基于组件的模式。它本质上是一个分布式的服务器应用程序设计环境一个Java环境,它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。J2EE是一种技术规范,他给开发人员提供了一种工作平台,它定义了整个标准的应用开发体系结构和一个部署环境,在这个体系结构中,应用开发者的注意力集中在封装商业逻辑和商业规则上,一切与基础结构服务相关的问题以及底层分配问题都由应用程序容器或者服务器来处理。甚至,从属于事务、持久化、安全等等方面的应用组件的运行属性都可以使用高度灵活的声明方法在部署环境中定制(一般采用XML)。这个平台提供了一个简化的开发模型,它具有工业强度的可拓展性,支持合理地集成和灵活地部署,与开发商和应用服务器无关。3.1.2 J2EE的特性J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:(1)保留现存的IT资产 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用了BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。因为J2EE拥有广泛的业界支持和一些重要的企业计算领域供应商的参与。每一个供应商都对现有的客户提供了“不用废弃已有投资,进入可移植的J2EE领域”的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。(2)高效的开发J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:l 状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。l 持续性服务 :让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧、与数据库无关的应用程序,这种应用程序更易于开发与维护。l 分布式共享数据对象CACHE服务:让开发人员编制高性能的系统,极大提高整体部署的伸缩性。(3)支持异构环境 J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。(4)可伸缩性企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器(这是NT服务器所望尘莫及的)。J2EE领域的供应商提供了更为广泛的负载平衡策略:能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。(5)稳定的可用性一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,它们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强的商业系统的理想选择。3.1.3 J2EE的四层模型J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式C/S的弊端,J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是J2EE典型的四层结构,如图3-1所示。1)运行在客户端机器上的客户层组件2)运行在J2EE服务器上的Web层组件3)运行在J2EE服务器上的业务逻辑层组件4)运行在EIS服务器上的企业信息系统(Enterprise information system)层软件 图3-1 J2EE结构模型J2EE应用程序是由组件构成的。J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE说明书中定义了以下的J2EE组件:(1)用客户端程序和applets是客户层组件,J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。(2)Java Servlet和Java Server Pages(JSP)是web层组件,web层组件可以是JSP页面或Servlets。按照J2EE规范,静态的HTML页面和Applets不算是web层组件。如在图3-2中所示的客户层那样,web层可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean来进行处理。图3-2 J2EE中的Web层(3)Enterprise JavaBeans(EJB)是业务层组件:业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean进行处理.图3-3表明了一个enterprise bean是如何从客户端程序接收数据,进行处理(如果必要的话),并发送到E1S层储存的,这个过程也可以逆向进行。(4)企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP),大型

温馨提示

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

评论

0/150

提交评论