JSONSpec: Workflow as a Service

原文发布于 2015-07-10 我的Lofter:http://kimleo.lofter.com/post/46977_791b281

好像*aaS已经成了一个热门的模式了。早些年的SaaS,以及后来云计算概念普及后的PaaS和IaaS,还有目前来说算是新一点的Parse、LeanCloud这种BaaS(Backend as a Service)。

嗯,以及LaaS

在这众多的aaS之中,对于普通用户来说,受益更多效果最明显的就是SaaS;经过各种软件公司的再创造,办公、协作、社交、学习等各种活动现在都可以轻松的脱离臃肿的客户端,只通过一个浏览器来完成。然而作为开发者,、对后面的几个关注度可能占的比重要更多一些。

PaaS让我们脱离了管理和部署线上运行环境的苦恼,而且高度可伸缩,可以作为SaaS的应用基础。IaaS更是把最基本的运行环境都变成了高度可定制的,按时按量精确付费,节省了大量的采购和管理的费用。

BaaS更是智能的解决了大部分开发者的痛处,把一个应用的基本的后端功能变成组件,随时取用。然后做到真正的把大部分的功能集中到实现业务逻辑上。

但是这样还是没能解决掉一些实质性的问题。

以国内的LeanCloud为例,比如在考虑对象设计的时候,是schemaless的,同时对于对象关系,也设计了一些复杂的模式来控制(比如AVRelation),这样一来,建模和业务逻辑又混杂在一起,或者开发者不得不自己再对其进行管理。另外就是,后端的业务逻辑是通过钩子(hook)来实现的,考虑到优先级、执行和跳转流程等等,又完全是一片混乱。

所以这里就要说一下JSONSpec的另外一个设计了,Workflow。

当然你要说我在抄Windows Workflow Foundation我也不会说些什么的,反正我是不喜欢BPMN那么复杂的设计,转而通过设计一套简单易用的功能。

然而现在正在设计中。

不过我们可以预想一下如果实现了Workflow之后开发流程:

这样子“前端”真的只需要考虑呈现逻辑就可以了。

(待续。。。