论道WP(三):应用程序栏
作者通过具体翔实的例子介绍了Winodws Phone 7中应用程序栏的使用方式。
该内容已经被标记书签!
标记书签错误,请重试!

作者 荣浩 发布于 2011年2月28日
尽管在企业应用中工作流应用的越来越多,但对国内的工作流厂商们来说,这并没有给他们带来期望中的快速增长,这并不奇怪,因为国内工作流产品基本上全部面向开发者和系统集成商,解决的是编程问题,旨在简化对流程进行支撑的软件创建,这个定位决定了当越来越多的系统集成商开始自己研发工作流和越来越多的开发者采用开源工作流时,原有的工作流厂商发现生存日益艰难。
在这篇文章里,我们将一起回顾一下国内主要工作流厂商的产品以及发展策略,接着讨论他们当前所面临的困难以及未来的机会。这里分析的工作流厂商包括了东方易维、西安协同、普元、炎黄动力、有生博大、华创动力、携创、天翎、博汇数码、中创、浪潮以及台湾的华芩。
大部分的工作流产品都实现了WFMC工作流参考模型(参见附录)的接口1、接口2、接口3和接口5:
除去对工作流参考模型的支持,基本上所有的工作流产品都实现了电子表单,在处理以数据填报及数据收集为主的应用中(数据不需要过多的逻辑处理和没有复杂的关系关联),电子表单能够显著的增加生产力,但是更现实的情况是企业应用大都具有复杂的业务逻辑,在这一方面,电子表单不是银弹。
通观所有的工作流产品,尽管有些产品不乏闪光点,但是整体用乏善可陈来形容是合适的,有些产品甚至可以用非常初级来描述,这不能责怪厂商,因为他们所要解决的问题域决定了他们产品所能解决的问题域。
乏善可陈表现在6个方面:
图1不同层次流程所对应的问题
几乎所有的工作流厂商都提供平台,携创是个例外,但是这让他的市场非常狭窄。为什么会提供平台?我们先来看看工作流要解决的问题域,工作流旨在简化对流程进行支撑的软件创建,既然是简化编程,那么更进一步提供平台就显得水到渠成了。
平台分为两种,一种是快速开发平台,一种是业务平台(或者提供相关的业务套件)。
与单纯的快速开发平台相比,业务平台显然站在了一个更高的层次上。在软件开发中,最大的浪费往往并不在于技术本身,而是在于对业务的不熟悉,在于核心领域模型的频繁变动。对用户而言,根据需要选择合适业务平台和相关服务无疑能够产生最大的价值。
为什么有的厂商提供快速开发平台,而有的厂商提供业务平台呢?这取决于两个方面,一是厂商切入工作流市场的年限,年限越长,越积累有丰富的项目经验,这些经验很容易转化成业务套件;二是厂商的客户定位,不难发现提供快速开发平台厂商的客户都是系统集成商,自己并不承接相关项目。而反观这些快速开发平台,很难发现有特别突出的技术优势,大部分都是对Struts、Spring、Hibernate、Ibatis简单封装后的CRUD框架,加上代码自动生成和Eclipse插件支持,没有任何闪光点(普元是个例外,但是我们同样对其平台发展持不乐观态度,这可以再开一个话题)。
我们的观点是:快速开发平台没有太大价值,提供行业应用的业务套件/模块才是正道。
观察台湾地区的工作流应用和国内的工作流应用,我们能够明显的发现:台湾地区的应用大部分集中在制造业(私企),而国内的应用则集中于政府、电力和金融行业(国企)。为什么会出现这种情况,作为制造业的大国,为什么工作流的应用却只集中在国企和政府,答案不得而知。
抛开工作流应用,工作流厂商的客户包括了以下2种:
根据上面的讨论,我们不难将工作流厂商分为3类:
尽管在企业应用中工作流应用的越来越多,但对国内的工作流厂商们来说,这并没有给他们带来期望中的快速增长,单纯的工作流产品甚至面临销售越来越困难的窘境。
工作流厂商面临的压力来自于3方面:
系统集成商由购买转向自主开发。这是工作流厂商发展受阻最重要的原因,工作流应用越来越多,没有集成商愿意将这个重要的中间件依赖于他人。大多数集成商选择的方式是直接购入现有工作流厂商的源代码,也有基于开源工作流进行开发的,但是不多。
开源工作流的竞争。对于中小软件公司来说,如果遇到有流程的需求,他们的第一反应是采用开源工作流,而事实是开源工作流做的并不差,除去对国情的支持较弱外,开源甚至比一些商业产品还要好,尤其在对标准和模式的支持上。
不能面向最终用户。这是最根本的问题。工作流解决问题域的限制让最终用户根本感觉不到工作流产品价值的存在,而又没有一家工作流厂商能够做到像英特尔公司那样:组装电脑时指明要一颗奔腾的心。于是发展严重受限于系统集成商。
那么,工作流厂商的机会在哪里?最重要的就是:将产品面向最终用户。
国内工作流产品全部面向开发者,解决的是编程问题,旨在简化对流程进行支撑的软件创建。
国内工作流厂商分为3类,分别是工作流、工作流+开发平台、工作流+业务平台/套件。
工作流厂商面临困境的主要原因在于产品不能面向最终用户,这样当越来越多的系统集成商开始自己开发工作流和越来越多的开发者采用开源工作流时,生存日益艰难。
工作流厂商的机会与困境相对,就是将产品面向最终用户,这包括了自己实施项目、转向BPMS以及提供云中的流程服务。
WfMC之工作流参考模型
图2 WFMC工作流参考模型
图2是工作流管理联盟(WFMC)提出的工作流管理系统参考模型,工作流执行服务器周围的接口是WAPI(Workflow APIs),通过这些接口可以访问工作流管理系统的服务,这些接口还控制工作流控制软件与其他系统组件间的交互。在这5个接口中的许多功能,都是被2个或更多个接口同时拥有的,因此WAPI可以看作是统一的服务接口,可以交叉使用这5个接口来支持工作流管理功能,而不是单独的使用其中某个接口,其中各个接口的具体含义如下:
工作流引擎:它是工作流管理系统的核心,工作流引擎对使用工作流模型描述的过程进行初始化、调度和监控过程中每个任务的执行,在需要人工介入的场合完成计算机应用软件与操作人员的交互。另外它的另外一个重要的功能是完成与应用软件及操作人员的交互。
关于作者
荣浩,ThoughtWorks咨询师,关注敏捷和企业流程改进过程,目前正与辛鹏合著《Head First Process-深入浅出IT流程》一书。博客地址http://ronghao.javaeye.com 。
感谢马国耀对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。
开始拜读大作《Head First Process-深入浅出IT流程》
这里讨论的多是Java的,没有包含.NET的,国内也有不少基于.NET的工作流。
工作流面向最终客户,我觉得产品公司来说会造成方向上的问题,因为面向最终用户必然会面临业务结合的问题和满足个性化需求的问题,要么做好一个行业,这就造成了产品使用范围问题。要么形成很多分支,这样除非你有足够的资源,否则就会产品业务都做不精。
很有启发性,感谢楼主。
我个人以为在国内,对于很多做信息系统的中小心厂商来说,一套开源的符合中国国情的快速开发框架还是有发展前途的。目前有一些水平很不错的快速开发的框架,但感觉在易用性和文档等各方面还存在较多问题,和业务的扩展、集成能力也不足。大部分开发这类框架的技术人才对实际业务项目的参与可能并不多,并不能很好的理解业务项目程序员的实际需求。
想听听楼主对快速开发框架的见解,特别是认为目前存在一些框架的不足的认识和需求建议。
研发要有雄厚的资金支持。这也许是“浮云”产生的原因之一吧
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
精益软件开发方法因其对市场和交付的重视和在各种场景下体现出的适应能力正在获得广泛的关注。特别是在精益创业(Lean Startup)渐渐兴起和技术日新月异的今天,其"极端"的思想也变得越来越必要和可行。 InfoQ就此主题对他做了深入的采访。
5 条回复
关注此讨论 回复