`
csc365kl
  • 浏览: 56891 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

所有数据层都通过webservice的可行性

阅读更多
    系统是新建设的 我们是负责网站方面的 客户希望我们把我们的数据库表放到公共数据库 然后由总集成 提供我们webservice的数据接口 也就是说我们的整个数据访问层都是建立在别人的webservice上(数据操作包括增删改查)  这样的解决方案 在安全性 性能 和 对我们项目以后的扩展性 可实行性是否高 如果要驳倒那么理由是是什么  希望各位大牛给予建议
   
     数据层采用webservice统一调用的缺点:
性能:
数据层接口是系统开发最频繁的调用层,webservie的接口调用是一种开销很大的操作, 即使内网的调用也要在0.4s左右的响应速度,如果接口数据的交互量大那么效率更加低下,如果在数据层提供webservice接口的话那么,那么会对网站的整体性能产生很大的影响。
   
安全性:
数据层webservice层所提供的数据访问是没有判逻辑性和识别性的,它无法判别具体的接口可供哪些子系统调用,而且子系统具备对数据库进行恶意攻击的能力,此时集成需对所有的子功能的服务进行安全测试(其中可能很多的服务都是相同功能,测试也就会重复劳动)

扩展性:
游客对web网站进行一次访问时,可能会对webservice的数据层产生2-3次的请求应答,也就是说基于现有的数据层webservice层架构,webservice服务器所受到的压力会是web应用服务器压力的2-3倍,那么如果今后网站访问量剧增,web服务器如果要做3台机器的集群(还不包括手机wap等子功能),则webservice服务器将需要做6台机器的集群才能应付。

维护性:
现有的webservice接口是一些简单的数据接口,只不过封装了一些单表简单的增删改查,基于现有的架构各个子系统需要自己调用webservice的数据接口来编写自身的服务接口,不同的子系统可能会有相同功能的服务service接口,也就是说在整个大系统的环境下相同功能的服务接口可能会有多个版本,服务商对数据表的理解深浅可能会造成他们自身服务接口的优良参差不齐,最终可能导致数据输出出错或不一致。
如果在现有的数据库结构产生变化(比如一张表分离成2张表),那么对于现有的结构,对外提供的数据层将会改变,那么所有的子功能都将修改自己service服务层,这样将牵一发而动全身,是很不符合设计原则的。(在后期的维护中也存在这样的情况,可能一个改变需要所有的子系统都要修改)

 对外统一开放接口基于服务层service的优势
Soa :是面向服务service的架构
集成应该是基于服务的整合,对外统一的接口定义应该是基于服务层(业务层)


    不管是用户,企业,各种机关部门,子系统开发商(统称使用者),集成平台对他们开放的其实都应该是一套统一的不重复的服务接口规范,服务接口就是一个可以在使用者不考虑数据库结构的情况下得到的一个功能,也就是服务(这个服务甚至可以根本和数据库没有交互:比如计算器服务,当然这样的服务子系统自己也可以提供,但是如果它自己提供,则我们对它的正确性和服务今后的维护和升级不做保障),服务对使用者来说可能是注册,可能是查询信息,可能是删除信息,可能是买一样东西,对使用者来说他所要知道的就是他使用一个服务完成一件确切的事情,服务接口对外是统一的,但是使用者的不同身份权限会限制到它到底能使用多少服务。
    服务分为公共服务(对所有使用者提供,可通过公网的webservice调用:天气预报等),内部服务(提供子开发商进行子功能的开发,例如我们的网站,手机网站都可以挑选集成平台提供的服务来进行2次开发整合,同时集成平台对我们所使用的服务进行性能,安全,升级等进行多方面的保障)
    性能:将对webservice的调用次数降低到最低,将对webservice服务器的压力降低到了最小,大大减少了服务器的压力
    安全:对不同使用者开放的服务是可限制的,并且是可控的(可以开关使用者的使用权限,可以在集成平台进行服务级别的日志记录)
可维护性:当内部数据或业务逻辑发生改变时,不需要改变接口,只需要改变服务的具体实现,子系统根本不需要做任何修改就能达到同步和统一,系统出问题也缩短了错误寻找时间和测试时间(只要捕捉到服务层日志就可以轻松锁定发生错误的子开发商)。

分享到:
评论

相关推荐

    实现多组态计量软件集中监控的可行性分析.pdf

    文章总结指出,这种解决方案不仅可以降低改造成本,还可以消除人为因素对计量数据的影响,从而为实现多组态计量软件的集中监控提供了实际的可行性。通过这样的技术手段,能够有效地整合各个站场的数据,实现高效的...

    基于WebService和Android的C_S B_S结构手机电影系统.pdf

    5. **实用性与可行性**:实际测试表明,这个系统具有良好的可行性和实用性,能够有效解决用户通过智能手机获取电影信息的效率问题,并能适应多任务访问场景,减少未响应错误的发生。 综上所述,基于WebService和...

    智慧政务云数据中心总体设计规划方案.pdf

    1.4.2 信息资源体系结构设计:具体分为管理数据层、业务数据层、共享数据层和决策数据层,每一层都有其特定的功能和设计要求。 1.5 应用支撑体系设计 应用支撑体系是确保数据中心应用高效运行的技术支撑,它包括...

    Flex 的 WebGIS 气象服务系

    数据接口层通过WebService技术与应用层(J2EE/.NET服务器)进行通信,负责从数据层获取数据。它采用消息处理方式,通过远程服务与数据库进行交互,实现数据的检索、查询和分析。 应用层: 应用层是整个框架的核心,...

    基于WEB和SVG的EAST真空监控和数据处理系统.pdf

    原有的真空控制系统是基于现场手动控制和基于Kingview软件的C/S控制模式的二层结构,存在不利于实现互联网上远程操作、数据共享和发布的问题。因此,需要对原有控制系统进行网络扩展以实现远程操作及数据查询。 ...

    软件项目技术方案及质量保证措施.pdf

    系统设计遵循一体化原则,采用三层结构和WebService技术,确保子系统的稳定性、可扩展性。在内容管理、系统应用、业务处理和技术处理上实现统一,避免信息孤岛,提高协作效率。 【开发框架】 开发框架综合考虑需求...

    远程分布式数据库查询系统的设计.pdf

    通过本文的介绍,我们可以了解到,在.Net环境下使用C#和***来设计和实现远程分布式数据库查询系统,不仅技术上可行,而且能够满足高效、可靠以及数据一致性的需求。这对于推动分布式数据库技术的应用具有重要意义。

    2013年软考高级信息系统项目管理师考试计算机部分考点汇总表资料

    7. 可研任务:可行性研究是判断项目是否值得投资的重要环节,包括技术可行性、经济可行性、法律可行性等。 8. 可研步骤:可行性研究的步骤通常包括问题定义、方案设计、分析评估和报告编制等。 9. 数据流图:它是一...

    毕业论文-计算机专业

    - 定义系统中的所有数据元素,包括数据项、数据结构、数据流、数据存储等。 - 明确数据含义,方便开发人员理解并使用。 5. **系统概念设计**: - 基于需求分析,设计出符合用户需求的系统架构。 - 包括各个模块...

    论文研究-城市地下管网三维可视化服务研究 .pdf

    最后,文章提出了一个基于服务栈开发的城市综合管网三维可视化原型系统,用于验证和展示研究的可行性和效果。这个原型系统是一个实际应用的案例,能够帮助理解服务栈结构在实际开发中的应用及其优势。 总结来看,...

    智慧医院网络建设方案.docx

    - **可行性原则**:基于医院现有系统现状,制定实际可行的整体规划方案。 - **易用性原则**:从医院用户的使用角度出发,提供简单易用的定制化方法论和工具。 - **安全性原则**:从端到端访问安全、网络L2-L7层安全...

    基于Android电能管理系统在光伏并网发电中的研究与应用.pdf

    基于Android电能管理系统在光伏并网发电中的研究与应用 摘要:本文研究了基于Android电能管理系统在光伏并网发电中的应用,旨在解决国内光伏并网发电系统配套的电能...最后,我们通过实际运行,验证了系统的可行性。

    系统架构师(高级)学习资料汇总

    3. **安全性**:在所有环节均需考虑安全性问题。 4. **存储需求**:企业级应用特别关注数据存储方案,包括数据的持久化和备份策略。 5. **网络架构**:根据企业的网络要求,设计合理的网络拓扑结构,保证数据传输的...

    信息系项目管理师重点要点知识点归结

    1. **可行性研究报告**:在系统规划阶段完成,评估项目的可行性和经济效益。 2. **系统方案说明书**:在系统分析阶段完成,详细说明系统的设计思路和技术方案。 3. **系统设计说明书**:在系统设计阶段完成,详细...

    Java(Andriod平台)连接SQLserver完全教程

    通常,我们需要借助中间层,如Web服务(Web Service)来实现数据交换。本教程将详细介绍如何在Android应用中通过Web服务与SQL Server数据库进行交互。 1. **项目说明** 本教程旨在创建一个简单的库存管理系统,...

    软件项目文档模板PDF文件

    - **进度安排**:项目进度分为多个阶段,首先进行文献查阅和技术调研,接着开展社会调查以评估项目的可行性和市场需求。社会调查计划进行三次,通过网络论坛调查、口头调查和电话调查等方式收集反馈信息。 #### 4. ...

    asp.net开源程序

    尽管VB.NET在ASP.NET开源项目中不那么常见,但这个例子证明了其在Web开发中的可行性。通过理解`App_Code`、`App_Data`目录的用途以及`bbs`目录可能包含的组件,我们可以深入学习和掌握ASP.NET与VB.NET的结合应用。

Global site tag (gtag.js) - Google Analytics