美文网首页
C/S面向数据库编程总结

C/S面向数据库编程总结

作者: 苍原狮 | 来源:发表于2020-03-04 15:09 被阅读0次

    title: C/S面向数据库编程总结

    历史

    在传统的C/S开发模式下,客户端往往需要承担数据库数据的显示和编辑任务.为了将S端的数据库的数据推送至C端, 通常的做法有两种:

    • 全面开放Mysql数据库接口
    • C端和S端全面架设通信管道,负责数据库编辑

    上述两种方法均存在不同的弊端.

    方案一分析

    优点

    • 由客户端直接访问数据,简单明了
    • 界面部分可以直接面向数据编程,耦合性低

    缺点

    • 服务器对数据库的访问限制失去控制权,无法对客户端角色控制
    • 数据库访问直接暴露于外网中,安全受到威胁

    方案二分析

    优点

    • 保护数据库安全, 确保服务器对客户端拥有访问控制权限

    缺点

    • 界面数据库的显示对通信管道有着极大的依赖,一旦界面做出修改, 则管道和服务端均需要做出修改.耦合性较大

    读写分离方案

    • 在Mysql中增加客户端只读用户,提供数据库查询功能,暴露出客户端需要访问的数据表
    • 对数据库的修改操作统一由 客户端和服务器之间建立的通道负责.管道负责将操作操作数据库sql 语句传输至服务器,由服务器用户负责对数据库进行修改
    • 服务器根据不同的用户角色,对客户端请求操作进行限制

    优点

    • 将数据库读取的功能独立处理, 让客户端数据的显示不受C/S网络通道的限制
    • 将数据库的修改操作统一到一个接口中, 简化C/S网络通信,确保服务器对客户端的请求拥有权限限制
    • 减轻服务器的业务逻辑复杂度,将显示功能
    • 技术实现简单,门槛低

    缺点

    • 需要暴露部分数据库数据
    • 该方案并未将数据库的操作全部独立处理
    • 不适应多人分工合作

    C/S B/S 混合编程方案

    在本地客户端中嵌入Browser. 由Web部分负责处理数据库处理工作. 实现普通事件与数据库完全分离的操作.从而简化客户端的开发工作

    优点

    • 数据库操作完全分离,且保障了服务器对数据库管理权限
    • 能够有效的保护数据库安全
    • 适合多人分工合作
    • 极大简化的客户端的开发工作,能够有效弥补C/S,B/S开发过程各种的优缺点.取长补短
    • 统一Web和客户端的开发风格,实现界面代码复用
    • 统一web开发接口,简化开发流程

    缺点

    • 技术复杂,门槛高, 需要使用到客户端内嵌webkit和后台web的技术支持
    • 客户端打包体积较大, 不利于客户端发行

    总结

    • 读写分离方案使用小团队,小公司开发. 技术入门简单,客户端界面数据显示定制无需修改服务器. 短期内能够适合敏捷开发的需求
    • B/S C/S混合开发目前已经成为主流大公司的首选技术标准(andriod首推). 此类应用适用于长期与用户保持接触, 有着极高的用户活跃度和较大内容输出的场景

    相关文章

      网友评论

          本文标题:C/S面向数据库编程总结

          本文链接:https://www.haomeiwen.com/subject/rnwvlhtx.html