“多实体”— 一个非常重要的软件特性

最近由于工作关系接触了一部分国外的银行应用软件厂商,并详细了解了他们的软件特征和功能,其中各厂商都着重强调的一个特性就是“多实体”支持(Multiple-Entity Support)。

其实“多实体”这也不是什么新鲜玩意儿,有点类似于“多实例”(Multiple Instance)的概念,即在多个用户可以使用同一个系统而互不影响,IBM主机的分区、SQL Server 、Oracle 中的数据库实例、Web 服务器(IIS、Apache等)的虚拟主机、Windows 中的用户环境、.Text Blog 都可以算是支持多实体特性的具体表现。

多实体特性给用户带来很多好处:

  • 多个用户可以共享一套系统、降低软件成本,加强资源利用
  • 对于大型企业来说,其分支机构可以灵活选择共享同一个实体,或利用多个实体,或根据现阶段实际情况使用多个实体,而在将来整合成同一个实体(这项特性对于目前中国的金融企业非常有用)
  • 用户可以在一个物理系统内建立多个逻辑系统,以适应开发、测试、运行的需要,而互不影响
  • 多个实体可以共享全局参数,独享局部参数,从而即有利于统一管理,又有利于个性化
  • … …

要在应用软件中实现多实体特性也不是很难,主要工作大概有:数据库中的各个表加一个实体标识字段,UI 入口处可以让用户选择所使用的实体,在应用软件内部做好各个实体间的认证和访问控制(授权)隔离,设计好全局参数和实体的局部参数等。

只要在前期的软件分析、设计与实现中,投入少许精力就可以实现多实体特性,但此特性将给应用软件本身带来很大增值效应,对于用户来说,这个特性是非常吸引人的。

NHibernate中的many-to-many关系示范

根据下面这个blog修改而成:
http://blog.aspcool.com/billy_zh/archive/2005/11/12/926.html#3337

Windows 工作流引擎(WWF)随想

Windows Workflow Foundation 出来有一段时间了,最近偷空了解了一下,做了几个简单的工作流小程序,感觉不错。

一般说起工作流,我认为应该包含两种:一种是与行政办公有关的工作流,以文档/文件流转为主,另一种就是商业(业务)流程,英文中的 Process 更能表达此意思。实现前者目的的平台产品相对较丰富,如 Lotus Notes、Exchange 等,而实现后者的平台产品似乎相对较少,且功能也不完备。

很有意思的是 Web Service 出现后,竟然大大推动了此方面产品的发展,这就是 BPEL4WS (Business Process Execution Language for Web Service),个人认为这是真正给企业带来好处的一项技术,Microsoft Biztalk 2004 提供了对 BPEL4WS 的支持,Collaxa 是很好的一个基于 JBoss 的 BPEL 产品,现被 Oracle 收购,成了 Oracle BPEL,IBM 推出了 Websphere Business Integration Server Foundation 5.1(以前我曾写过 Biztalk 2004 与 WBI Server Foudation 5.1 的比较),BEA 作为 Web Service 标准的制定的主要成员,也推出 WebLogic Integration BPM ,这些产品很好地补充了各个公司的产品线,从而能真正地为企业的业务流程改造、业务的灵活性提供解决方案。

用 BPEL 来解决商业流程中的工作流问题,尤其是在一个企业内部的时候,总感觉有点不对劲,更要命的是,上述产品大都庞杂,价格十分昂贵,所以轻量的、Native 的、价格合理的工作流引擎才是正道,只可惜很多相关的产品不成气候,不知道 Microsoft 怎么突然想到这上面了,推出 WWF ,不管如何,个人还是很看好这个东西的,以后在企业应用软件领域一定会发挥很大的作用,尤其是我最近在听到一些外公司介绍产品的功能,同时又听到很多业务人员对于软件的要求时更是感觉一个好的工作流引擎对于应用软件的强大支撑。

如果是在 Java 应用中,也许你可以试试 OSWorkflow (Open Source Workflow),听一个厂商介绍还不错,可以做为工作流引擎嵌入在产品中,它的活动和流程也是利用 XML 灵活配置的,网上的中文资料也不少,感兴趣的朋友可以一试。

SQL Server 2005之绝地任务

在浏览台湾微软主页时,不经意发现下面这个非常有意思的东东,共享一下,点击此处查看: 查看。另外,最新消息是:Windows Workflow Foundation已经发布面向Visual Studio 2005 RTM的测试版了,对工作感兴趣的朋友可以赶快去下载: http://www.windowsworkflow.net

可能大家已经听说了微软中国将在2005年12月2日发布Visual Studio 2005,SQL Server 2005以及BizTalk Server 2006,这次发布大会采用全球统一品牌,即Ready To Rock,所有参会人员均会感觉到摇滚的振撼,或者你可以在现场见到一些国内的摇滚明星。想提前体验吗?看看美国的现场吧: http://www.microsoft.com/windowsserversystem/applicationplatform/launch2005/keynote.mspx

希望的鲜花从此盛开 — Team System之歌 (韩语)

[来源:Rob Caron,John Lawrence] 这些天在研究Team System,看到这个韩语的录像,虽然听不懂他们在唱什么,但作为开发人员,大概心意都是相通的,把歌词草译如下 (译自John Lawrence blog上的英文歌词)

[Intro]
客户: “这不行啊,我要的是别的东西!”
老板: “如果你时间不够,你为什么不熬夜?你为什么不能按时完成这个项目?”
项目经理: “啊啊,有什么更独特和有趣的东西么?这有点…”
“哎, 受不了啦!!”
[Verse 1]
不停埋怨的客户
咱的脖子象键盘那样发僵
咱的胖脸老板叫我熬夜工作
同事跳槽去了好公司
所以今天的工作是昨天的双倍
项目经理整天唠叨
又一次伤咱的心
苦干的我们,痛苦难忍
即使使劲卖力,拼着命干
同事在问,我们是否有vision
怀疑咱能否幸存
问咱是否有个愿望
想开发出神奇的软件
使得我们的生活如梦似幻
[Verse 2]
如此多的项目咱被迫违愿推迟
原因不外是“编码”困难
加班工作时,饥肠辘辘
昨晚几多编码丢失,快把咱逼疯
而如今,天下大变
捕捉着这极好的机遇使咱的梦想实现
VS 2005 又有新生
是咱开发人员梦想自由的标志
从此别再叫咱为“编码工人”
在更大的舞台上自由驰骋
因为新的架构深入咱心
满怀信心拥抱未来
只为你和我
只为你和我
开发人员独领风骚
希望的鲜花从此盛开
[Bridge x 4]
Visual / Studio / Team / System!!
[Chorus]
武装我们,脱离让人窒息的生活
投入精力,走向新未来
[Outro]
“哎,工作做完没有?去喝杯啤酒吧”
“这项目太棒了;让我们坚持下去,好么?”
“你用的是什么程序?”
Visual / Studio / Team / System!!

 这是韩语页上的英文歌词的翻译草案,为免臆测,尽量做了直译,虽然有时读着有点别扭,

[Intro]
客户:“这不行的,再给我另外一个方案”
雇主: “没时间?今晚就熬一整夜,你本来早就应该完成了,那么,我们该怎么做?”
老板: “你这个方案太平庸了,我们这里需要一些与众不同的东西,一些更有趣,更酷的东西”
“哎, 打住吧,我不想再听啦!!”
[Verse 1]
不停地提要求的客户
我变得跟木头一样僵硬的脖子
不断叫我们整夜不睡干活
老天,说完却自己马上回家的雇主
一个跟我说“我已找到了另一个更好的工作所在”的年少同事
统算起来,我的工作量又加倍了
责备我不理解他说的东西的老板
我又一次遭受沉重打击的心
一直生活在水深火热之中的我们这些开发人员
同事们问我,“每天都这么卖命工作,你可看到什么前途了?”
我不知道自己是否有一天会笑到最后
我的唯一愿望,我的唯一愿望是
到现在,我需要有一个与我创造的软件一样完美的生活
我将武装自己
因为那是结束这无聊生活的唯一之道
我将给自己投资,因为那是
我振作自己,超越他人的唯一之道
[Verse 2]
我很多东西要推迟,我是多么想完成它们
但是,这要命的“编码”把我挡住了
整夜工作遭受的饥饿
发现全部编码工作丢失后的绝望
而现在,时来运转
抓住机会,让我的想法去飞翔
VS 2005 终于重生了
作为软件开发人员梦想自由的标志
看在老天爷的份上,别再叫我“编码工”
因为我们不断努力,想成为大世界的一部分
因为崭新的设计就在我手中
现在我可以用全身拥抱整个未来
只为你和我
只为你和我
我们为自己是给这个世界领头的开发人员而骄傲
我们誓将这希望的花朵生出超越过去的更大的果实
[Bridge x 4]
Visual / Studio / Team / System
我将武装自己,因为那是结束这无聊生活的唯一之道
我将给自己投资,因为那是我振作自己,超越他人的唯一之道
[Outro]
“哎,工作做完没有?去喝杯啤酒吧”
“这看上去太棒了!我们为什么不坚持下去呢?”
“先生,你用的是什么程序?”
Visual / Studio / Team / System 
 
 
  回去再读第一个版本,真有点“Lost in Translation”的感觉,

Ready to rock

Visual Studio 2005,SQL Server 2005, BizTalk Server 2006正式推出!在这里可以看到Steve Ballmer在旧金山产品发布现场做的Keynote Speech