yyyyyyyi 2014-11-05 10:00
浏览 208
已采纳

江湖告急...基于java的web的设计(急需有实际经验者来拍砖指出问题)

前端:全部html+ajax
展示层:基于mvc封一层浅浅页面处理(webservice不好返回页面,本来想把这层整个去掉的 :oops: ???继续看)
服务层:只知道spring :cry: :cry: 主要负责业务逻辑(定制化时好用到,偏向产品时可向下拆出来)
持久层:常规框架的webservice,服务层调的都是webservice(可为其他系统提供接口啊,方便,安全性变得更重要了),当然该层是分模块的,每个模块一套服务器,当然也是独立的一套数据库

问题1:当服务层的业务变得越来越复杂,调用很多的webservice,事务如何控制?
问题2:持久层写成webservice到底行不行?主要担忧是安全吗?读写分开,分表分裤等等方案,能不能做到高安全性?

顺便问个简单问题:请求常规的mvc这种action的servlet处理流程,和请求用java开发的webservice(servlet),请求两者时到底后台处理有什么不同,只是第一支返回页面更方便吗
:shock: :shock: :shock: :shock:

  • 写回答

3条回答 默认 最新

  • wu-sheng 2014-11-05 11:09
    关注

    1.针对问题一,业务服务应该具有原子性,即跨业务服务不会进行事务控制。每个业务服务的事务在内部保证。
    2.持久层不推荐使用webservice作为交换协议。首先是从性能方面,webservice调用速度太慢,推荐使用更轻量级和底层的协议模式。可以参考MySQL的JDBC实现。
    读写分开,分表分裤等等方案和访问协议无关,是持久层内部实现的问题。
    另外,安全性不应该是主要考虑点,业务服务和web服务可能对外公开,在数据服务不应该向其他应用开放。这里考虑网络隔离+普通的令牌校验即可。
    持久层速度优先。不是特别需要,不推荐独立部署,集成部署在应用内部,也可以完成分库分表路由,读写分离等职责。
    3.servlet和mvc本质上没区别,只是减少开发量,职责更明确,更模块化。

    希望对你有帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?