市场营销学课程设计及社区交流电子服务平台网站设计_第1页
市场营销学课程设计及社区交流电子服务平台网站设计_第2页
市场营销学课程设计及社区交流电子服务平台网站设计_第3页
市场营销学课程设计及社区交流电子服务平台网站设计_第4页
市场营销学课程设计及社区交流电子服务平台网站设计_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

姓名:学号:姓名:学号:课程设计:市场营销课程设计指导老师:目录TOC\o"1-3"\h\u一、市场营销学的概述 21、市场营销学的发展 22、市场营销学的正确解释与定义 23、市场营销学的研究对象: 24、市场营销学的立足点及着眼点: 25、市场营销学的核心思想 27、市场营销组合的四个基本策略(4P策略) 28、市场营销学对企业发展的影响 3二、我对市场营销学的认识 3三、案例分析——苏宁电器 5苏宁的发展史简介 5从4P策略来分析苏宁电器成功的原因 51、产品(Product)定位策略 52、价格(Price)策略 53、促销(Promotion)策略 64、渠道(Place)策略 6对苏宁电器案例的总结 6一、市场营销学的概述1、市场营销学的发展:(1)20世纪初产生于美国。(2)1902年,美国的密执安大学、加洲大学、伊利诺斯大学的经济系正式开设市场营销学。1912年,美国哈佛大学的赫杰特齐写出第一本市场学。(3)四个发展阶段:初创阶段——20世纪初期,发展阶段——1920年—1940年,向深度和广度发展传播阶段——第二次世界大战后50年代—70年代,充实完善阶段——20世纪70年代以后。2、市场营销学的正确解释与定义:市场营销学是一门研究企业市场营销活动及其策略的学科。它是一门建立在经济科学、行为科学、现代管理理论基础上的应用科学。3、市场营销学的研究对象:与市场相关联的企业经营活动过程,或者说市场营销学研究的对象是企业外部环境、消费者行为及其两者变化对企业营销的影响规律和企业整体营销活动的规律。4、市场营销学的立足点及着眼点:企业,从卖主的角度研究市场经营问题。5、市场营销学的核心思想:(1)对外部:必须面向市场、面向消费者,必须适应不断变化的环境并及时做出正确的反映。(2)对内部:企业要为消费者提供1、满意的商品或劳务;2、满意的费用;3、满意的速度和途径将产品送达消费者或用户手中;4、满意的沟通渠道在消费者的满意中实现企业的利润目标。6、市场营销的大体内容:(1)市场分析:分析企业与市场的关系、影响企业营销活动的宏观环境与微观环境,以及各类市场需求和购买能力。(2)营销活动与营销决策研究:论述企业如何运用各种市场营销手段以实现企业的预期目标,因而全部内容都是围绕企业经营决策展开的。(3)营销组织与营销控制研究:主要讨论企业为保证营销活动的成功而在计划、组织、控制等方面所能采用的措施与方法。市场营销学有以下的研究方法:(a)产品研究法(b)机构研究法(c)职能研究法(d)决策研究法(e)管理科学研究法。市场营销组合的四个基本策略(4P策略):(1)产品策略:产品策略是指做出与产品有关的计划和决策。产品是为目标市场的不同群体而开发的有形物质产品和非物质形态的服务。产品决策的核心问题是确保产品的核心利益能够满足目标顾客的基本需求,在提供核心利益的同时提供各种附加利益,为目标市场提供更多的顾客让渡价值。(2)渠道策略:渠道策略普遍称为市场营销渠道策略或分销策略,是指生产企业如何选择产品从制造商向消费者转移的途径。(3)促销策略:促销策略是指企业通过各种销售促进方式或手段并借助各种沟通渠道把企业的相关信息适时、准确、有效的传递给目标市场,使相关信息发挥告知、竞争、促进销售等作用的决策。(4)价格策略:价格是商品价值的货币表现,价格决策在企业的营销组合决策中起着极其重要的作用。8、市场营销学对企业发展的影响:市场营销是连接市场需求与企业反应的桥梁和纽带,因此市场营销在企业管理中处于核心地位。在现代市场经济条件下,企业必须十分重视市场营销。市场如战场,谁能把营销做得更好谁就掌握了战争的主动权,就能旗开得胜。第一,市场营销理论为企业领导者进行科学决策提供了依据。领导就是决策,任何一个企业的领导者,每天都进行着各种各样的决策,而决策的科学性直接决定者企业的兴衰成败。市场营销理论和市场调研,市场预测的理论方法都为企业领导者进行科学的决策提供了依据。第二,市场营销理论为企业在竞争中获利创造了条件。在市场上,企业间进行激烈的竞争,竞争的结局是优胜劣汰。为了保证企业在竞争中立于不败之地,就必须努力提高企业的竞争能力。为此,在中国共产党十五届四中全会通过的《中共中央关于国有企业改革和发展若干问题的决定》中,把制定和实施市场营销战略作为搞好国有企业“三大战略”之一。研究市场营销理论,了解市场环境,制定和实施科学的市场营销战略和有效的营销策略可以帮助企业提高素质,改善管理,在激烈的市场竞争中求得生存和发展。第三,市场营销理论为企业进入国际市场打下了基础。随着外国企业大量进入中国市场,国内市场竞争日趋激烈,中国加入世界贸易组织以后,国内的市场形势将更加严峻。为此,企业必须到国际市场上找出路。通过参与国际竞争,可以提高自己的营销水平和能力,以取得更大的经济效益。而国际市场情况复杂,障碍多,研究市场营销理论,掌握国际营销的理论,方法和技巧,则可以帮助企业更好地选择国际目标市场,为取得国际市场竞争的主动权创造条件。我对市场营销学的认识转眼间,一个学期的市场营销课上完了。起初我对市场营销这门课毫无概念,不知道市场营销是什么,也不知我们学电子专业的学生学习市场营销有什么作用?但是经过吴诗芬老师一学期的教导之后我对市场营销有了初步的了解。首先,听完吴老师的课让我分清了营销和推销这两个概念。因为之前我常常把营销与推销混为一谈,如把推销员称为营销员等,其实它们有着本质的区别。所谓推销是指在一种产品或服务产生以后,运用销售策略将其销售给消费者的过程。而营销则开始于一种具体的产品或服务出现以前,其首先开始于寻找市场上的消费者的需要和欲求,然后再据此开发能满足这些需求的产品或服务,最后运用营销组合策略将其送到消费者手中。可见,营销真正有意义的地方在于:它是尽力保证企业只生产能够卖得出去的产品,而不是推销卖不出去的产品。通过近段时间对市场营销学的学习,我对市场营销有了一个全面全新的认识。打破了我之前对市场营销观念狭隘片面的理解。市场营销观念是由外向内进行的,它起始于明确定义的市场,强调顾客的需要,协调影响顾客的所有营销活动,按照顾客的价值和满意状况建立与顾客长期的互惠关系并由此获利。目前国内外学者对市场营销的定义有上百种,我比较同意著名营销学家菲利普科特勒教授的定义:通过创造和交换产品及价值,从而使个人或群体满足欲望和需要的社会过程和管理过程。在这里市场营销的最终目标是“使个人或群体满足欲望和需求”,是以市场需求为中心。新型营销观念是以目标市场为出发点、以顾客需求为中心、以整合营销为手段、以通过顾客满意获取利润。与传统的推销有着本质的不同。推销观念是以产品的生产和销售为中心,以激励销售,促进购买为重点的营销观念。随着市场经济的发展推销观念已不适应社会发展的需要。因此,现代企业的市场营销,必须摒弃前营销观念,树立以消费者需求为导向的现代市场营销观念。市场营销观念的确立,标志着企业在营销观念上发生了根本的、转折性的变革,由传统的、封闭的生产经营型企业,转变为现代的、开放式的经营开拓型企业,为成功营销奠定了基础。从推销观念到市场营销观念的变化,是企业从“以产定销”的传统观念转变为“以需定产”的现代营销观念的一个重大的,带有转折性的变化。同时,老师对市场营销的4p策略的讲解也给我留下深刻印象,市场营销的4p策略对于每一家企业来说都是至关重要的。企业只有做好4p策略才能在激烈的市场竞争下立于不败之地。而4p策略的任何一项策略出了问题都会对企业造成致命影响,甚至使企业倒闭。所谓4p策略,具体解释见上。4Ps营销理论实际上是从管理决策的角度来研究市场营销问题。从管理决策的角度看,影响企业市场营销活动的各种因素(变数)可以分为两大类:一是企业不可控因素,即营销者本身不可控制的市场;营销环境,包括微观环境和宏观环境;二是可控因素,即营销者自己可以控制的产品、商标、品牌、价格、广告、渠道等等,而4Ps就是对各种可控因素的归纳:(1)产品策略(ProductStrategy),主要是指企业以向目标市场提供各种适合消费者需求的有形和无形产品的方式来实现其营销目标。其中包括对同产品有关的品种、规格、式样、质量、包装、特色、商标、品牌以及各种服务措施等可控因素的组合和运用。(2)定价策略(PricingStrategy),主要是指企业以按照市场规律制定价格和变动价格等方式来实现其营销目标,其中包括对同定价有关的基本价格、折扣价格、津贴、付款期限、商业信用以及各种定价方法和定价技巧等可控因素的组合和运用。(3)分销策略(PlacingStrategy),主要是指企业以合理地选择分销渠道和组织商品实体流通的方式来实现其营销目标,其中包括对同分销有关的渠道复盖面、商品流转环节、中间商、网点设置以及储存运输等可控因素的组合和运用。(4)促销策略(PromotioningStrategy),主要是指企业以利用各种信息传播手段刺激消费者购买欲望,促进产品销售的方式来实现其营销目标,其中包括对同促销有关的广告、人员推销、营业推广,公共关系等可控因素的组合和运用。这四种营销策略的组合,因其英语的第一个字母都为“P”,所以通常也称之为“4Ps”。案例:作为全球最大的家居用品零售商,宜家对4P营销策略的运用胜人一筹。宜家给自己的产品定位是“提供种类繁多、美观实用、老百姓买得起的家居用品”。这一产品定位决定了宜家在追求产品美观实用的基础上要保持低价格,实际上宜家也是这么做的:宜家低价格策略贯穿于从产品设计到(造型、选材等)、OEM厂商的选择管理、物流设计、卖场管理的整个流程。宜家的渠道策略表现在宜家卖场的成功上,如今,宜家已不仅是一个家具品牌,也是一个家具卖场品牌,在消费者的心中,用宜家已经象吃麦当劳、喝星巴克咖啡一样,成为一种生活方式的象征。在促销方面,宜家通过对于环保的重视来提升企业形象,这一措施为宜家赢得了良好的社会声誉和品牌形象。三、案例分析——苏宁电器苏宁的发展史简介:苏宁发展经历的四个历史时期:原始积累期(1990—1993年)、快速扩张期(1994—1996年)、调整发展期(1997—1998年)、二次创业期(1999年至今)。原始积累期(1990—1993年):执着一事专做空调苏宁“舍热求冷”,确定了做空调名店的市场定位,建立了自己完整的“配送、安装、维修”一体化的服务体系,苏宁用优质服务赢得了顾客的称赞,产生了良好的社会口碑。快速扩张期(1994—1996年):企业迅速扩大经营规模从1994年起,苏宁抓住了市场机会,大力发展全国性的批发业务,1996年3月28日,苏宁第一家全资子公司——扬州苏宁交家电公司成立,从此揭开了苏宁连锁经营的序幕。调整发展期(1997—1998年):上世纪九十年代中后期,空调生产厂家要对市场精耕细作,明确提出“限制大户、培育中户、发展小户”的市场经营策略。此时,苏宁开始转型做零售,实行了以“零售为核心”的经营战略,在全国零售市场上,建立苏宁的零售终端体系,实现了由“批发模式”向“自营零售体系”的“市场软着陆”。第6次蝉联中国最大空调经销商桂冠。二次创业期(1999年至今):2001年6月,苏宁电器连锁集团股份有限公司成立,这是苏宁作为一个原生态的民营企业,发生的一次质的变化。2002年11月,面向应届本科毕业生进行大规模招聘并进行集中培养,数千名优秀的大学生为苏宁的长远发展提供了战略性的人才储备,很多已经成长为苏宁中层管理的骨干。2003年苏宁首创“3C(电脑、通讯、家电)模式”,这是家电直销第三代经营模式。截至2009年,苏宁电器连锁网络覆盖中国大陆30个省,300多个城市、香港和日本地区,拥有1000家连锁店,80多个物流配送中心、3000家售后网点,经营面积500万平米,员工12万多人,年销售规模1200亿元。品牌价值455.38亿元,蝉联中国商业连锁第一品牌。名列中国上规模民企前三,中国企业500强第54位,入选《福布斯》亚洲企业50强、《福布斯》全球2000大企业中国零售企业第一。从4P策略来分析苏宁电器成功的原因1、产品(Product)定位策略产品种类丰富:首先苏宁电器追求产品多元化和引进独家品牌。目前,苏宁电器经营的商品包括空调、冰洗、彩电、音像、小家电、通讯、电脑、数码、八个品类(包括自主产品),上千个品牌,20多万个规格型号。其产品向多样性多元性不断扩张。其次苏宁目前已与惠而浦、先锋、伊莱克斯,飞利浦等品牌的相关品类达成了独家承销合作,独家承销模式具有的整合资源、高效协作、精准营销的特性,使相关品类得到高速增长。其除了卖产品以外,服务也是其主要产品,顾客满意是苏宁服务的终极目标。从这一点来说,苏宁深知产品最终是要卖给消费者,而坚持让顾客满意才是决定企业销售额增长的关键。2、价格(Price)策略在苏宁的营销策略中,不难发现其对价格的灵活变动,以及围绕价格在不同的时期做过很多相应的调整。(1)多用尾数定价:来吸引消费者,内部多数商品都是以尾数定价。以此来吸引消费者。抓住大众消费者多贪图小便宜,看似还不到100不到200,而且定价精确。(2)招徕定价:以某种产品在一定时期或节假日通过促销,以同类产品中极低的价格热卖,目地是招揽顾客前来,促进其他产品销售。(3)声望定价:针对消费者一分钱一分货心理,质高的产品定高价,尤其是名牌新功能产品。别处少有或没有的新功能产品,因对比度小,定价高,在同类产品,同类价格上,苏宁为达促销做的努力也是很让消费者满意放心的,省心省力,让更多客户回头。3、促销(Promotion)策略一方面,面向消费者的促销策略,如节假日打折,活动,周年庆,VIP积分等等。二方面,面向合作的厂商企业,苏宁目前已经与10000家知名家电供应商建立了紧密的合作关系,并多次进行联合促销,多种合作,无疑也是一种促销策略。三方面,苏宁在最新的广告策略中,选择了明星代言人,潘玮柏与孙俪的代言,无疑很好的为“阳光服务”以及苏宁的品牌形象做了很好的宣传,同时也是一种促销手段。四方面,面向公共关系,1)苏宁电器致力于慈善事业苏宁电器创立二十周年,苏宁已成为中国最大家电零售连锁企业,伴随着经营业绩的不断提升,苏宁的慈善、公益理念也不断成熟。2011年,苏宁电器荣获“2011年度中国慈善事业特别贡献奖”。苏宁电器荣获“2011年度中国慈善事业特别贡献奖”,得到社会认可。2)苏宁电器签约广州亚运会:苏宁电器2010年9月签约成为广州亚运会电器销售服务供应商。大型运动会对企业品牌形象的传播大有裨益,对于苏宁电器来说,成为广州亚运会电器销售服务供应商将是其发展历程中的一次重要机遇,将会为苏宁电器开创更广阔的发展空间和更大的国际市场。4、渠道(Place)策略第一步,连锁店的形式,创新店面环境与布局,统一规划和管理;第二步,在物流渠道的管理上,苏宁建立了区域配送中心,城市配送中心,转配点三级物流网络等等,再辅助现金的信息系统使得苏宁能够实现24小时送货到户;最后采取“专业自营”的售后服务,充分运用全国1800多家售后网点,最大程度的开发和节省了在销售、配送、售后服务三个环节的渠道物流费用,使得渠道系统迅捷和便利。另外值得一提的是,苏宁电器开通了网上购物商城,新形态的销售渠道也为苏宁电器打开了新的销售通道。对苏宁电器案例的总结透过苏宁电器的案例,我们可以得到一些对于企业发展的启示。作为一个社会企业,苏宁集团实现了他在社会中的价值,提高了职工的生活,提供了许多就业岗位,减少了下岗职工和大学生就业等社会问题。苏宁集团还在自身企业中不断加大技术投入形成企业的技术创新机制,造就新优势。苏宁积极加强与科研院所、大专院校的联系,形成自己的核心技术和核心产品;明确了自己的“核心竞争力”。因此一个企业要想壮大就必须先做好自己在社会中的本职工作。同时不仅要注意经济效益,而且还要重视身在社会中的贡献。只有这样,一个企业才算成熟完善,才会成为一个人尽皆知的社会企业。好的社会企业应当做到满足社会需要创造就业机会、促进员工发展、建立社会资本、推动可持续发展等这几个目标才会成为一个真正的社会企业。社会企业责任重大我们应该好好建立更多的社会企业。目录摘要 IABSTRACT II第一章绪论 11.1选题的背景 11.2国内外状况 21.3问题的提出 31.4主要研究内容 31.5论文的组织结构 3第二章相关理论及技术介绍 52.1开发平台 52.1.1MyEclipse 52.1.2NetBeans 52.2相关技术 52.2.1XML 52.2.2Dom4j 62.2.3SOAP 62.2.4WebService 72.2.5WSDL 72.2.6Velocity 82.2.7Swing 82.2.8Java反射 92.3本章小结 9第三章服务开发平台的总体框架 103.1前台可视化IDE的设计 113.2后台的总体设计 123.2.1后台RuntimeContainer容器管理模块设计概述 133.2.2后台UDDI注册中心模块设计概述 143.2.3后台SPAgentBuilder代码生成模块设计概述 163.3本章小结 20第四章服务生成工具SPAgentBuilder的设计与实现 214.1三层XMLschema设计与解析模块的设计与实现 214.1.1功能层XMLschema的设计 214.1.2表示层XMLschema的设计 244.1.3传输层XMLschema的设计 244.1.4三层XML文件解析的设计与实现 264.2数据转换模块的设计与实现 284.2.1目标数据格式介绍 284.2.2对象与目标数据格式之间的转换 314.3传输代理模块的设计与实现 354.3.1网络传输协议 364.3.2传输代理的运作流程 384.4代码生成器模块的设计与实现 394.4.1模板的设计 394.4.2代码生成的运作流程 404.5可视化编辑器模块的设计与实现 414.5.1可视化编辑器的设计 414.5.2可视化编辑器的运作流程 424.5本章小结 42第五章系统实现 444.1创建服务 444.2编辑服务 484.3删除服务 504.4本章小结 51第六章结论 52致谢 53参考文献 54毕业设计小结 56附录AXML数据类型和Java数据类型之间的映射规则 57附录B功能层XMLschema的设计 58附录C表示层XMLschema的设计 60附录D传输层XMLschema的设计 61附录ETXT文本的格式介绍 63摘要建立社区电子服务平台,作为建设数字城市的重要环节之一,得到了众多服务提供商的支持。因此,能否将服务提供商所提供的服务高效快速地接入服务平台,将会极大地影响到社区电子服务平台的工作效率,而将服务接入平台的关键在于为服务生成对应的服务代理,负责服务页面和服务器之间的通讯。服务生成工具,能根据服务信息自动生成服务代理。它由可视化编辑器模块、三层XML的设计与解析模块、传输代理模块、数据转换模块和代码生成器模块组成。可视化编辑器模块负责服务信息的采集;三层XML(功能层、表示层和传输层)设计模块负责规范服务信息的存储格式;解析模块负责解析出三层XML文件中的服务信息;传输代理模块负责传输不同协议的信息;数据转换模块负责将信息转换成与服务器约定的不同格式;代码生成器模块负责生成服务代理的代码。服务生成工具能够为采用不同传输协议和不同通讯格式的服务,生成服务代理,解决了将服务快速接入平台的主要问题。同时它具有很好的拓展性、灵活性。本文所完成的设计已用于陕西利安信息传播有限公司新一代利安电超市的建设,取得了很好的应用效果。关键词:数字城市,服务提供商,服务生成工具,服务代理

ABSTRACTAsoneoftheimportantmeansofbuildingDigitalCityTheSPAgentBuildercanautomaticallybuildtheagentaccordingtotheserviceinformation.Itismadeupofthevisualeditormodule,thethree-layersXMLdesignmoduleandparsermodule,transferagentmodule,dataconversionmoduleandthecodegeneratormodule.Thevisualeditormoduleisresponsibleforcollectingserviceinformation;thethree-layersXML(thefunctionallayer,saidlayerandtransportlayer)designmoduleisresponsibleforstandardizingserviceinformation’sstorageformat;parsermoduleisresponsibleforparsingtheinformationofthethree-layersXML;thetransportagentmoduleisresponsiblefortransmissionofinformation;dataconversionmoduleisresponsibleforconvertingtheinformationinspecialformat;codegenerationmoduleisresponsibleforgeneratethecodefortheagent.SPAgentBuildercanbuildtheagentfortheserviceusingdifferenttransportationprotocolanddifferentformat,soitsolvesthemainproblemofmakinglinkwithSPrapidlyanditisexpansible,flexible.ItalsohasbeenusedtomakeanewplatformofLineCommunityChargesSupermarketforShaanxiLineCo.,Ltd.andachievedgoodresults.KEYWORDS:digitalcity,serviceprovider,SPagentbuilder,agent第一章绪论1.1选题的背景社区是指社会的一个区域,1887年由德国社会学家滕尼斯最早提出,英文名称叫community。“社区”这个名词最早从20世纪30年代由国外引入中国,自20世纪80年代始,“社区”一词逐渐风靡全国。在城市信息化建设的过程中,社区作为城市的基本组成单元,与居民的生活密切相关,并且发挥着越来越重要的作用。数字化社区服务[1~4]这一概念正是为了顺应城市居民居住环境日趋社区化的发展趋势,使普通老百姓能够尽享现代高科技带来的安全、高效和便捷的服务而提出的。数字化社区服务平台是为数字社区居民提供数字化应用的综合型的平台,包括缴费管理、飞机订票、业务办理等平台,它主要由硬件设备、数字化社区服务软件平台和网络基础设施等几个方面组成。建设数字化城市社区服务平台的意义:数字化城市社区服务,这一创新模式符合党和政府的便民、利民的社区服务发展方向和精神。数字化城市社区服务平台的一站式服务模式能有效地解决社区居民“缴费难”、“服务难”的问题,真正实现了电子商务零距离为民服务的理念,居民不用出小区就能享受到一站式服务的便利。由于该项目是以高科技信息化技术为基础结合深入社区服务网点的实体运营的创新模式,不仅扩大了生产力,还解决了一大批高校毕业生、下岗职工及残疾人再就业问题。对广大运营商而言,数字化城市社区服务平台这一创新模式的首要优点是资金安全,其次是渠道建设零投入无风险,并且节省了大量的二级管理成本,因此吸引了众多的运营商及公用事业单位的加入,使数字化城市社区服务平台的造血功能得到了有力的加强。避免了上游各运营商网点的重复建设,实现了社会资源的节约。1.2问题的提出信息高速公路是一种高速多媒体传输系统,它能在全球甚至更大的范围内传输声像图文并茂的多媒体信息。由美国首先提出的“信息高速公路”是指数字化大容量光纤通信网络,用以把政府、企业、大学、科研机构和家庭的计算机联网。一些国家和公司还提出利用卫星架设“空中信息高速公路”的设想(北京科普之窗,2000)。这一时代的到来使得新闻在网络中传输成为可能。今天上网看新闻已经是人们日常生活的一部分,快速及时的浏览新闻,能拓展人们的生活视野。因此越来越多的企事业单位都很重视新闻网站的建设。校园新闻发布系统有利于校园网新闻的及时传播,及时传达最新动态,学术研究成功,是资源快速共享的一种方式。因此研究校园网新闻发布系统对于学校建设与发展具有重要意义,本文所阐述的系统就是在这样的前提下提出的。该系统要求能添加新闻、删除新闻、更新新闻,对一般用户能查看、检索新闻。1.3校园新闻发布系统的现状今天校园网络迅速普及,校园网新闻发布系统也层出不穷,经Google搜索,约有1,110,000项符合“校园新闻发布”的查询结果,约有522,000项符合“校园网新闻发布系统”的查询结果。这说明了校园网新闻的发布,随着互联网的快速发展也迅速发展起来。而现行的校园网新闻发布系统大多是采用ASP技术组建的。例如:第三军医大学校园新闻网、华东交通大学校园新闻发布系统等等。1.4主要研究内容1.5论文的组织结构本文主要分成六章,各章的主要内容如下::绪论。介绍了课题的背景以及国内外的状况,提出本文研究的问题,并介绍了本文的研究内容。:相关理论及技术介绍。介绍了研究课题所用的主要工具及相关的技术知识点。:社区电子服务平台的服务生成平台的总体架构。介绍了服务生成平台的总体框架。介绍了服务生成平台的前台和后台:前台是一个能迅速定制出客户端页面的一个可视化的IDE;后台负责生成和管理服务代理。:服务生成工具SPAgentBuilder的设计和实现。介绍了SPAgent的三层XML文件格式的设计、可视化编辑器组件、代码生成器组件、传输代理组件、三层XML文件的解析组件及数据转换等组件。:系统实现。用实例展示了SPAgentBuilder生成agent的流程。:总结和展望。总结了本文的研究内容和工作,对系统的进一步完善和优化提出了建议和展望。

第二章相关理论及技术介绍2.1开发平台2.1.1MyEclipseMyEclipse是Eclipse的一个插件,也是一款功能强大的J2EE集成开发环境。利用它可以在数据库和J2EE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试、出错和发布功能。最新发布的MyEclipse7.0具备可视化Swing设计器,完整支持HTML、XML、Struts、JSF、CSS、Schema、JavaScript、SQL、AJAX、Hibernate等技术。本项目使用该平台开发后台的服务生成工具SPAgentBuilder。2.1.2NetBeansNetBeans是一个全功能的开放源码的JavaIDE,可以帮助开发人员编写、编译、调试和部署Java应用,并将版本控制和XML编辑融入其众多功能之中。NetBeans可支持Java2平台标准版(J2SE)应用的创建、采用JSP和Servlet的2层Web应用的创建,以及用于2层Web应用的API及软件的核心组的创建。所有这些都为Java开发人员创造了一个可扩展的开源的JavaIDE,以支持他们在各自所选择的环境中从事开发工作。NetBeans是一个为软件开发者而设计的自由、开放的IDE,你可以在这里获得许多需要的工具,包括建立桌面应用、企业级应用、WEB开发和Java移动应用程序开发、C/C++等。本项目使用此平台来开发一个能够快速定制用户页面的IDE。2.2相关技术2.2.1XMLXML[5~11]可拓展标记语言(XtensibleMarkupLanguage),是一种具有数据描述功能、高度结构性及可验证性的置标语言,和HTML一样同属ISO8879标准SGML的简化子集。互联网发展初期,HTML以简单精练的语法、极易掌握的通用性和易学性使Web得以普及发展以至今日辉煌。但是,随着Web数据的海量化和实际应用需求的发展,HTML弊端日益显露:数据和格式分离困难;缺乏空间立体面,处理图形、图像、音频、视频等多媒体能力较弱;标记有限,不能用户自定义扩展。于是,XML诞生了,并迅速发展成为W3C(WorldWideWebConsortium,万维网联盟)的标准。它保留了很多SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)标准的优点,具有可扩展性、结构化、平台无关性等优势。在描述数据内容同时能突出对结构的描述,从而体现出数据之间的关系。这种组织的数据对于应用程序和用户都是友好的、可操作的。XML现以成为当前处理结构化文档信息的有力工具之一。基于它的平台无关性、结构化等优势,本文将应用XML文件来实现对服务的描述。2.2.2Dom4jDom4j是一个Java的XMLAPI,用来读写XML文件。Dom4j是一个非常优秀的JavaXMLAPI,具有性能优异、功能强大和易于使用的特点。Dom4j是一个易用的、开源的库,它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。它提供了大量的接口,造就了它更加具有灵活性,更易操作性的特点。基于它的灵活性和易于操作性,本文将应用Dom4j来实现三层XML文件的解析模块。2.2.3SOAPSOAP就是简单对象访问协议(SimpleObjectAccessProtocol),是一种在独立传输方式下交换信息的轻量级协议。在分散或分布式的环境下,它为远程过程调用和获得XML形式相应定义了规范。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。它也允许我们使用XML在通过低层Internet协议连接的系统之间进行通信。它为通过网络消息传输的XML信息提供了标准的信封,并为这类消息提供了可选的约定,是Web服务传输XML消息的标准协议。SOAP消息基本上是从发送端到接收端的单向传输,但他们常常结合起来执行类似于请求/应答的模式。所有的SOAP消息都使用XML编码。SOAP消息主要包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及如何处理它们的框架;SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;SOAPRPC表示(RPCrepresentation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。2.2.4WebServiceWeb服务(WebService)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据[12~18]。WebService是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。WebService可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。实际上,WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。2.2.5WSDLWeb服务定义语言(WebServicesDefinitionLanguage,WSDL)是一个建议的标准,用于描述Web服务的技术调用语法。WSDL定义了一套基于XML的语法,将Web服务描述为能够进行消息交换的服务访问点的集合。WSDL就是描述XML、Web服务的标准XML格式。它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。WSDL服务描述是一个XML文档,它与WSDL模式(schema)的定义一致。WSDL文档并不是完整的服务描述,而只包括了服务描述任务的较低层次,即:服务接口的原始技术描述。本质上,WSDL描述说明的是Web服务的以下三个基本属性:服务做些什么--服务所提供的操作(方法);如何访问服务--数据格式详情以及访问服务操作的必要协议;服务位于何处--由特定协议决定的网络地址,如URL;WSDL文档将Web服务定义为服务访问点或端口的集合。在WSDL中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;端口类型指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。2.2.6VelocityVelocity是一个基于Java的模板引擎(templateengine)。它允许任何人仅仅简单的使用模板语言(templatelanguage)来引用由Java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和Java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由Java程序开发人员关注业务逻辑编码。Velocity将Java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。通过模板生成代码是比较好的选择,模板在某种意义上来说就是配置文件的一种,当生成文件内容修改后,用户不需要修改源程序,只需要修改模板文件即可,提高了代码的可维护性。本文将使用Velocity技术设计实现SPAgentBuilder的代码生成器模块。2.2.7SwingSwing[19]是一个用于开发Java应用程序用户界面的开发工具包。由所有Java图形用户界面(GUI)组件所构成,可运行在任意支持Java虚拟机(JVM)的本地平台上。由于这些组件全都是用Java语言编写的,因此它们可以提供比本地平台GUI组件更多的功能。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。同时通过使用Swing的Jtree组件,可以较容易的满足研发出一个可视化编辑器的要求。本文将使用Swing技术设计实现SPAgentBuilder的可视化编辑器模块。2.2.8Java反射Reflection(反射)是Java被视为动态语言的一个关键性质。这个机制允许程序在运行时透过ReflectionAPIs取得任何一个已知名称的class的内部信息,允许运行中的Java程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。通俗的说,反射就是根据给出的类名(字符串)、方法名、属性等信息来生成对象、方法、属性。这种编程方式可以让对象在生成时才决定要生成哪一种对象。反射是Java独有的特性,在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C或者C++中就没有办法在程序中获得函数定义相关的信息。本文将使用Java反射技术设计实现SPAgentBuilder的数据转换模块。2.3本章小结本章介绍了课题研究过程中使用的开发平台MyEclipse、NetBeans,以及使用到的技术,如XML、Dom4j、SOAP、WebService等,并介绍了它们在项目中的应用。

第三章服务开发平台的总体框架社区电子服务平台是利用面向服务的架构(SOA)、WebService技术、XML语言等当今最前沿技术,结合互联网技术,对分属于不同行业领域的社会资源进行整合的服务集成平台。所有与服务提供商交互的数据信息都通过平台中的服务代理提供一系列的标准接口进行复杂数据的传输。社区电子服务平台是一个庞大的系统,社区浏览器终端使用CPK等技术进行身份验证,用户登录社区电子服务系统,使用综合电子服务。服务提供商的接入是通过社区电子服务平台的服务适配器来实现的,服务适配器可以方便快捷的实现服务的接入、整合等。另外社区电子服务系统还有一系列的支撑子系统来实现其运行,如OA系统、支付系统、服务平发平台等,为用户提供综合电子信息服务。图3-SEQ图_3_-\*ARABIC1社区电子服务平台的总体架构本文研究的主要内容是社区电子服务平台的核心部件——服务开发平台中的服务生成工具SPAgentBuilder。服务开发平台可以分为前台和后台两个部分:前台指的是一个能迅速定制出客户端页面的一个可视化的开发工具;后台负责生成和管理服务代理,它是由SPAgentBuilder(服务代理生成工具)、RuntimeContainer(管理容器)和UDDI注册中心组成。SPAgentBuilder是本文的研究重点,开发工程师可以利用此服务代理生成工具,将第三方SP(ServiceProvider)提供的服务信息快速的封装为服务代理(Agent)供前台调用。管理容器RuntimeContainer用来管理生成的服务代理,而UDDI用来存储生成的服务代理。前后台的关系如图3-2图3-SEQ图_3_-\*ARABIC2服务生成平台的前后台关系图3.1前台可视化IDE的设计前台可视化IDE是一个提供了无需使用人员书写代码,只需拖拉组件和属性配置,就可以生成服务页面的可视化图形编辑器。它使得用户可以通过拖拽组件面板中的页面片段的控件放到页面上,通过属性配置和绑定控件属性,来生成服务页面。前台IDE主要具有以下几个功能:利用项目模板定制开发项目在新建项目时,可以在项目类别中输入服务商,项目中选择所需要创建的项目类别,比如航空售票,航空人身意外险和人寿续保等项目。由于本系统使用的是visualwebjsf的框架,所以用户只需在新建项目的web页新建页面。用户由于使用的是项目模板,所以项目中已经预置了page和页面导航。用户只需按照其工作流程创建页面即可。VisualWebJSF页面片段在组件面板中以控件形式出现,可在组件面板处编辑其id、外观等属性。该页面片段组合了多个控件,如标签、文本字段等等,在页面片段上不仅可以编辑页面片段内部单个控件的属性、CSS属性、位置等等,而且可以在页面片段上绑定属性。它使用户免去了繁琐的代码编写。如果用户觉得使用页面片段的控件不适合自己的开发习惯,也可以自己删除或创建所需要的页面片段。页面导航页面导航的配置可以在faces-config.xml的文件的页面流中配置已建页面之间跳转。如果用户不改变项目模板的流程和页面,那么这里的页面导航可以不用配置。当用户需要对项目进行改动的时,用户可以自己配置页面导航,从而控制页面跳转过程。这个过程用户也不需要写任何代码,即可完成页面跳转。远程调用后台程序项目模板中已经内置了调用后台程序的代码,用户不需要书写代码,即可调用后台程序。项目模板管理本系统不仅提供已有的模板用来生成项目,而且,当用户觉得现有模板不能适应其项目的开发,可以在原来的模板上进行改动,并生成相应的新模板添加到本系统中去。当然也可以删去该模板。3.2后台的总体设计服务生成平台后台分为RuntimeContainer容器管理模块、SPAgentBuilder代码生成模块和UDDI注册中心模块。SPAgentBuilder是本文的研究重点,开发工程师可以利用此服务代理生成工具,将第三方SP提供的服务信息快速的封装成服务代理(Agent)供前台调用。管理容器用来管理生成的服务代理,而UDDI用来存储生成的服务代理。3.2.1后台RuntimeContainer容器管理模块设计概述RuntimeContainer容器管理模块主要负责管理由后台生成的Agent服务。其主要功能有查询服务状态、激活服务、加载服务、修改服务方法、钝化服务及日志管理等。RuntimeContainer容器管理模块也提供了GUI界面,供工作人员对容器内部的Agent服务进行管理。下面分别截取了监控服务界面3-3、服务状态查询界面3-4和服务更改界面3-5。图3-SEQ图_3_-\*ARABIC3监控服务界面图3-SEQ图_3_-\*ARABIC4服务状态查询界面图3-SEQ图_3_-\*ARABIC5服务更改界面3.2.2后台UDDI注册中心模块设计概述UDDI(UniversalDescriptionDiscoveryandIntegration)即统一描述、发现和集成协议。UDDI计划是一个广泛的、开放的行业计划,它使得商业实体能够彼此发现,并且定义他们怎样在internet上互相作用,并在一个全球的注册体系架构中共享信息。UDDI是这样一种基础的系统构筑模块,他使商业实体能够快速、方便地使用他们自身的企业应用软件来发现合适的商业对等实体,并与其实施电子化的商业贸易。UDDI同时也是Web服务集成的一个体系框架。它包含了服务描述与发现的标准规范。UDDI规范利用了W3C和Internet工程任务组织(IETF)的很多标准作为其实现基础,比如XML、HTTP和DNS这些协议。另外,在跨平台的设计特性中,UDDI主要采用了已经被提议给W3C的SOAP(SimpleObjectAccessProtocol)规范的早期版本。常规的UDDI包括4类数据:商业实体(businessEntity)、服务信息(businessService)、绑定模板(bindingTemplate)和技术模型(tModel)。根据本项目服务注册的实际需求,专用的UDDI中包含的数据仅包含商业实体(businessEntity)数据,即:商业实体的详细信息,包括服务提供商信息和服务信息两部分。可以通过UDDI提供的查询API对注册信息执行查询操作,通过发布API对注册信息执行存储、更新、删除操作。后台UDDI注册中心的部署图如图3-6。图中的主要要点有SPAgentBuilder、前台、容器、服务监控、反注册和服务定位。下面将介绍一下上述要点的作用:图3-SEQ图_3_-\*ARABIC6UDDI部署图SPAgentBuilder:它产生Agent后,可以通过UDDI发布的API中的save_business方法注册新的服务提供商信息businessEntity信息到UDDI中。SPAgentBuilder通过Socket将Agent的class文件打包传输到容器所在机器的指定目录。容器:它通过UDDI的查询API的find_business和get_businessDetail获得一个服务提供商的完整信息,根据其服务名加载对应的指定版本的服务代理Agent类文件到Java虚拟机,进而在内存中生成Agent实例。服务监控:它通过RMI机制对运行在容器中的Agent实例进行生命周期管理,并将变更后的状态信息通过发布API修改到UDDI中去。服务监控还可以通过查询API访问UDDI获得服务提供商的基本信息和服务提供商包含的所有服务的信息。前台:它通过RMI机制远程定位到容器中指定的Agent实例,进而与第三方服务器通信。反注册:判断容器中的指定服务的当前状态是否是钝化,如果不是,首先钝化该服务,之后从内存中销毁该服务的Agent实例,其次容器通过发布APIdelete_businessEntity访问UDDI注册中心,最后从外存上删除指定的服务的注册信息即可。服务定位:用RMI机制实现服务的代理Agent的定位。每一个服务可以产生多个Agent实例,每当前台发起一个请求时,就动态地产生一个Agent实例为之服务。这样每一个服务都有一个长度动态变化的Agent的队列,当一个请求结束后根据某种算法销毁为之服务的Agent,这样可以解决前台针对同一个服务同时发出多个请求的并发性的问题。3.2.3后台SPAgentBuilder代码生成模块设计概述SPAgentBuilder代码生成模块,是本文的重点研究对象,主要功能是根据SP提供的服务(包括文档类型和Web服务类型),快速定制出Agent服务文件。SPAgentBuilder拥有三层XML的设计与解析组件、可视化编辑器组件、数据转换组件、代码生成器组件和传输代理组件。下面简述一下SPAgentBuilder的工作流程。当SP提供的是一般服务时,SPAgentBuilder生成Agent的主要过程分为两步:可视化编辑器组件根据用户输入的SP提供的服务文件描述,生成三层XML文件,当用户输入的描述不符合设计的三层XML的格式时,提示错误并让用户重新输入,详情见图3-7。生成三层XML文件后,可视化编辑器组件将调用代码生成组件来生成服务代理Agent的Java代码,而代码生成组件的运行又是基于三层XML文件的解析模块、传输代理模块和数据转换模块的基础之上的,详情请见图3-9。当SP提供的是Web服务时,SPAgentBuilder生成Agent的主要过程如下:首先工作人员在上述的SPAgentBuilder可视化编辑器中导入SP服务提供商提供的Web文件;SPAgentBuilder完成WSDL的解析,并且用解析出来的元素对象生成内部的三个Jtree,最后生成对应的三层XML文件,详情请见图3-8。代码生成器根据生成的三层XML文件,在解析类的协助下,完成Agent的生成过程,详情请见图3-9。图3-SEQ图_3_-\*ARABIC7生成三层XML文件的组件协作图图3-SEQ图_3_-\*ARABIC8WSDL生成XML文件的组建协作图图3-SEQ图_3_-\*ARABIC9生成Agent文件的组建协作图下面简要介绍上图中每个组件的简要设计:可视化编辑器组件:当服务商提供的是非Web服务时,工作人员根据SP提供的服务文档,把相关的信息输入可视化编辑器组件。可视化编辑组件将获得的三层信息存储在相应的三层文件的JTree后,生成传输层、表示层和传输层的XML文件。在生成了三层XML文件后,调用代码生成模块生成Agent的Java代码;当服务商提供的是Web服务时,工作人员将SP提供的WSDL文件导入到可视化编辑器,随后解析模块就会对WSDL进行解析。可视化编辑器会调用解析后得到的元素对象生成三个Jtree,再将JTree转换成对应的三层XML文件。最后它会根据生成的三层XML文件,调用代码生成模块生成Agent的Java代码。由于此编辑器组件的可视化性,可以形象生动的看到文件中的结构内容,这样有利于的避免错误,且易于修改。三层XMLSchema组件:由于SPAgentBuilder服务代理生成工具的其他模块都是以三层XML文件为基础的,所以三层XML文件必须具有统一的格式,以确保解析组件能解析出XML文件中信息,然后供其他组件调用。三层XMLSchema组件就是用于限制用户输入用的,它将被应用于两个方面。它一方面被封装在可视化编辑器的添加节点按钮的事件响应中,用于限制用户的输入;另一方面,它将被提供给此生成工具的使用者,让他们自己根据设计好的XML格式,将服务提供商提供的服务转换成合法的格式,然后输入。解析组件:运用Dom4j技术,解析生成的三层XML文件,将XML中的数据信息封装到设计的元素封装类的对象属性中,生成对应的封装类,计算机范文网,对对象,然后供其他组件调用。传输代理组件:主要是作为一个中间传输代理,负责容器和SP服务商之间的通信。它将根据服务商要求的传输协议,建立与服务商的服务器之间的连接,并把请求信息以适当的格式发送给SP服务商。此组件还负责从服务商那获得响应信息,并将响应信息中的有效信息解析出来。数据转换组件:主要是用于实现从前台获得对象格式和服务商规定的消息格式之间的格式的转换。首先,根据传输层规定的传输格式(URL传输,文本传输,XML传输和SOAP传输),从前台获取的请求对象中提取有效数据,并将其拼接成规定的传输格式的字符串;其次,在获取服务器的响应后,根据传输格式,从响应信息中获取有效信息,并将信息封装入对应的响应类的对象中,返回响应类的对象。代码生成器:代码生成器主要分为模板上下文封装类和模板。运用模板Velocity技术,并在解析类的协助下,将上下文封装类的对象和设计好的模板进行融合,从而生成对应的Agent服务代理的Java代码。3.3本章小结本章介绍了服务开发平台的总体设计。它简要介绍了前台可视化IDE提供的主要功能、后台管理容器的主要功能、后台UDDI注册中心模块的主要设计和本论文研究的重点SPAgentBuilder服务生成工具的主要模块设计。

第四章服务生成工具SPAgentBuilder的设计与实现SPAgentBuilder服务生成工具的主要功能是根据SP提供的服务,生成服务代理Agent文件来负责用户和SP服务器之间的通讯。SPAgentBuilder主要有分为六个模块:三层XMLschema的设计模块、三层XMLschema的解析模块、数据转换模块、传输代理模块、可视化编辑界面模块和代码生成器模块。4.1三层XMLschema设计与解析模块的设计与实现三层XMLschema的设计是整个SPAgentBuilder设计与实现的基石,XMLschema文档的作用主要是设定用于存储服务信息的三层XML文档的格式。schema将会被可视化编辑器调用,用于规范在可视化编辑器界面上的输入,从而生成统一格式的XML文件,进而保证解析模块能够正常运行和确保XML中不会遗失生成Agent服务代理需要的信息。根据各自分工的不同,我们将三个schema文档分别划分成功能层schema文档、表现层schema文档和传输层schema文档。三层文件的功能如下:功能层文件规定用户可以进行的操作;表示层文件规定功能层描述的接口调用如何在网络协议上表示的问题;传输层文件规定采用什么传输协议进行通讯和规定协议所需要的信息。在明确了三层XMLschema各自的功能后,就可以根据XML数据类型和Java数据类型之间的映射规则(见附录A)对三层XML的格式进行设计了。4.1.1功能层XMLschema的设计功能层文件主要是规定用户可以进行的操作,它将用来生成接口文件,暴露给前台,供前台调用。因此,下面我们以一个Interface代码为例,从中提取定义XMLschema中的元素。现举一个保险服务的接口文件为例:publicinterfaceInsuextendsRemote{publicGetInsuResponseGetInsu(GetInsuRequestobj)throwsRemoteException;}从例子中可以看出,功能层XML需要四个主要元素:接口名、方法返回值、方法名和方法参数。接口<Interface>接口元素,用来存储借口信息的元素。相关属性及子元素:Name:用来存储接口名称。Operation:用来存储接口中的方法的信息。实例如下:<Interfacename="Insu"><Operationname="GetInsu"url="4:5555/webesb/servlet/EsbServlet"><Parametermessage="GetInsuRequest"name="GetInsuRequest"type="Input"/><Parametermessage="GetInsuResponse"name="GetInsuResponse"type="Output"/><Faultmessage=“Fault”,name=“Fault”,type=“Output”/></Operation></Interface>操作<Operation>操作元素,用来存储操作信息。属性及子元素:Name:表示操作的名称URL:表示处理此操作的Java代码地址。Parameter:存储参数的相关信息。参数<Parameter>参数元素,用来存储接口方法的参数类型和返回类型的信息。相关属性:Name:表示参数的名称。Message:表示参数的格式,一般是用户自定义的格式。Type:表示参数的类型,输入参数或输出参数。消息<Message>消息元素,存储用户自定义的消息格式。包括发送消息的格式、服务器接收发送的消息后返回消息的格式和在传输过程出错后返回的错误信息的格式。属性及子元素:Name:表示消息格式的名称,是请求、返回或错误消息。Part:表示消息的组成,一个消息可以有一个或者多个Part组成。实例如下:<Messagename="GetInsuRequest"> <Partname="INSUT"type="so:INSUT"></Part> <Partname="CHECKBS"ischildarray="true"type="so:CHECKB"></Part> </Message> <Messagename="GetInsuResponse"> <Partname="InsuID"type="xs:String"></Part> <Partname="INSUT"type="so:INSUT"></Part> <Partname="CHECKBS"ischildarray="true"type="so:CHECKB"></Part> </Message> 组件元素<Part>组件元素,是用户自定义的元素,一般是对某些消息格式的封装。属性:Name:表明组件的名称。Type:表明组件的类型,可以是基础类型,也可以是用户自定义的复杂类型。传输文件格式<Transfomat>传输文件格式元素,表示在网络中传输的是XML格式、TXT格式还是URL格式。备注:功能层XMLschema的详细设计可参考附录B。4.1.2表示层XMLschema的设计表示层是用来规定功能层描述的接口调用如何在网络协议上表示的问题。它详细的描述了功能层暴露的接口的消息格式,如发送消息的消息格式、返回消息的消息格式和报错时候的消息格式。它主要有以下两个作用:生成消息封装类,供前台调用。前台将搜集的数据封装入对应的消息封装类中,然后将消息对象作为参数,再通过RMI调用管理容器中的请求方法。辅助完成序列化和反序列化过程,即当后台接收到前台发送的对象时,后台需要将对象转换成具有合适消息格式的String流,再与SP服务器进行通讯。所以,表示层文件的设计最重要的是包含消息的具体信息,现提取主要元素如下:消息<Message>消息元素,用来规定操作之间传递数据的逻辑定义,一个表示层文件可包含多个消息元素。属性:Name:表明操作名称,分为请求方法、响应方法和报错方法。Transcontent:调用方法所传输的内容。传输内容<Transcontent>传输内容元素,用来规定调用SP提供的方法时,需要的数据格式。备注:表示层XMLschema详细设计可参考附录C。4.1.3传输层XMLschema的设计传输层规定采用什么传输协议及传输中所需要的信息。当SP提供的是一般服务时,它采用的传输协议有可能是HTTP、UDP、TCP;当SP运用的是web服务时,它采用的是SOAP协议。传输层XML用来存储数据传输所需的信息,它将用来协助传输代理完成传输任务。<HTTP>HTTP元素,用于包含HTTP传输所需要的信息。属性:Version:表示HTTP的版本信息。Location:表示SP提供的web服务ip地址或域名信息。URL:SP提供的web服务连接地址。Port:表示SP提供的web服务端口信息。TransMethod:表示使用HTTP进行传输的传输方法,有Get、Head、Post、put、delete、trace、option和connect这八种可选。它们依次表示请求资源的表示、返回报头而不返回表示、向服务器提交数据、上传资源的表示、删除资源、返回收到的请求、返回服务器支持的HTTP方法的列表和用于可配置为加密隧道以提高安全性的代理。<UDP>UDP元素,用于包含UDP传输所需要的信息。属性:Location:表示SP提供的web服务ip地址或域名信息。Port:表示SP提供的web服务端口信息。<TCP>TCP元素,用于包含TCP传输所需要的信息。属性:Location:表示SP提供的web服务ip地址或域名信息。Port:表示SP提供的web服务端口信息。Byte:一次能传输的最大字节数。<SOAP>用于包含SOAP传输所需要的信息。当传输的是非web服务时,将<SOAP>的子元素全置空,设置为不可用状态。属性:SOAPVersion:SOAP的版本信息。InterfaceURL:服务器端的接口的地址。OperationURL:服务器端的制定的操作的地址。备注:传输层XMLschema详细设计可参考附录D。4.1.4三层XML文件解析的设计与实现在可视化编辑器将SP的服务信息以XML文件格式生成后,解析模块负责将生成的XML文件的数据封装入不同的数据封装类的对象中,以备之后结合Velocity模板,共同生成需要的Agent服务代理。根据需求,我们可以将解析模块分成元素封装类组件和解析组件,来完成XML文件中的数据到Java类的映射。可视化编辑器在生成XML文件之后,首先会调用解析组件去解析三层XML文件,其次将解析出的内容映射到数据封装类的对象中,然后再调用代码生成器组件去结合数据封装类的对象和设计好的模板共同生成Agent服务代理。元素封装类的设计数据封装类的设计思想是将已生成的XML文件的主要元素都封装成对应的类,然后将元素中的属性和子元素都设置为类属性,并且在类中为每个属性设置SET和GET方法,以备以后的调用。下面以为功能层的元素<Operation>设计数据封装类为例:<Operationname="GetInsu"url="4:5555/webesb/servlet/EsbServlet"><Parametermessage="GetInsuRequest"name="GetInsuRequest"type="Input"></Parameter><Parametermessage="GetInsuResponse"name="GetInsuResponse"type="Output"></Parameter> <Faultmessage=“Fault”,name=“Fault”,type=“Output”/></Operation>OperationBean类属性:Name:string类型,其属性值代表操作名称。URL:string类型,其属性值代表处理该操作的服务器内程序的地址。Parameters:ArrayList<Parameter>类型,数组里包含参数的信息。Fault:Message类型,其值表示当消息处理出错时候,后台获得的消息格式。方法:对上述每个属性的Set和Get方法。XML解析的主要过程解析类主要是通过Dom4j技术结合XPath技术,来读取生成的XML文件中节点信息,然后将获取的数据封装入元素封装类的对象中。其中XPath则是一门在XML文档中查找信息的语言,XPath可用来在XML文档中对元素和属性进行遍历。对于上述的Operation元素,现定义OperationParser类:Operation解析类OperationParserOperation解析类负责获取Operation中属性和子元素的相关信息。方法:PublicOperationBeanparseOperation(Elementelt)解析类唯一暴露的接口,用来解析elt对象,获得其中的属性和子元素信息,并将其封装入OperationBean类对象中返回。PrivatestringgetName(Elementelt)返回获得的Operation的name属性值。PrivatestringgetURL(Elementelt)返回获得的Operation的URL属性值。PrivateArrayList<Parameter>getParameters(Elementelt)返回获得的Operation中的Parameter列表。PrivateMessagegetFault(Elementelt)返回获得的Operation中的Fault消息格式。下面以解析Operation元素为例,描述一下元素的解析流程:首先声明一个Operation元素封装类OperationBean的对象。根据方法parseOperation获得参数operaelt,通过调用getName方法获得name属性,将其赋值给封装类对象。其中getName方法的具体实现时调用Dom4j中的getAttribute(“name”)。方法parseOperation调用getURL方法,从而获得URL值,然后将其赋值给元素封装类对象。其中getURL的实现过程与getName相似。方法parseOperation调用getParameters方法,从而获得Parameter值,然后将其赋值给元素封装对象,其中getParameters的实现时调用parameter的解析类提供的接口ParameterParser。方法parseOperation调用getFault方法,获得Fault的消息格式。其中getFault的具体实现是调用MessageParser解析类提供的接口parseMessage。返回被赋值后的元素封装类的对象。4.2数据转换模块的设计与实现数据转换模块负责实现将从前台接收的对象格式和与服务器之间约定的通讯格式字符串之间的格式转换。在项目实际运行中,后台会接收到前台会发送出一个服务请求类的对象,而后台和服务器之间的约定的通信格式并非是对象格式,所以,后台需要将从前台获取的请求类的对象转换成为符合约定的格式(XML格式、文本格式、URL格式和SOAP格式),同时要转化成对应的字符串,再进行消息通讯。4.2.1目标数据格式介绍SP服务提供商所提供的服务要求的信息交互的格式有分不同种类,下面分别列举了XML格式、SOAP格式、文本格式、和URL格式的例子。XML格式当服务提供商的服务器应

温馨提示

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

评论

0/150

提交评论