关于WebWind一点想法

关于WebWind这一REST风格的Java MVC框架,首先学习下什么是REST,表象化状态转变(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。目前在三种主流的Web服务实现方案中,因为REST模式的Web 服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。由此看见,REST是一种设计风格而不是一个标准。

  • REST有一些设计概念和准则:


    网络上的所有事物都被抽象为资源(resource);
    每个资源有一个唯一的资源标识(resource identifier);
    通过通用的连接器接口(generic connector interface)对资源进行操作;
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法;
    对资源的各种操作不会改变资源标识;
    所有的操作都是无状态的(stateless);
  • 能够利用Cache机制增进性能。

    由此可以看出,REST风格的系统尤其适合于广域网的应用,因为“将所有的事物看做资源”的准则对搜索引擎友好,可以方便地被搜索引擎retrieve到;加上缓存的使用,可以增加广域网应用的效率;另外,“所有的操作无状态”,更是对B/S这种生而无状态的应用的充分肯定。(一些类似于维基百科之类的互联网应用也许就是使用的REST风格的设计。)

在学习并简单使用(一个具有登陆功能的简单商品展示模块)WebWind之后,发现这个使用起来相对简单的REST风格的MVC框架仍然有其可以改进的地方。

优点:充分体现约定优于配置、配置简单、只要有Spring开发经验上手极快、易于扩展、灵活、统一的异常管理、内置的文件上传功能、方便与其他应用框架集成……

可以改进的地方:

不够灵活。首先从跳转上来说吧,也许直接在Bean中进行跳转对减少配置文件数量非常有用,也许是遵循“约定优于配置”的规则,但是我仍然认为在bean中直接跳转,可能会导致系统在变更(任何情况导致的变更)时的高成本。

@Mapping("/")对应的URI。目前貌似对应的URI只能使用表达式,不能使用通配符。对于某些情况(例如:URI中包含某个目录时都需要进行的操作),仍然无法使用。

目前,只有这么一点小小体验,也许是总做企业级应用系统,对REST风格的系统没有深入了解,难免会有偏颇,以后持续关注REST与WebWind。

你可能感兴趣的:(bean,mvc,框架,搜索引擎,REST,web服务)