关于“企业应用”

来源:互联网 发布:NSGA-2优化对比 编辑:程序博客网 时间:2024/05/16 05:26

        “编写计算机软件的人很多,我们通常把这些活动都成为软件开发。但是软件的种类是不同的,每种软件都有自身的挑战性和复杂性。我是在与几个从事电信软件开发的朋友交谈后,意识到这个问题的。企业应用在某些方面要比电信软件简单得多 - 多线程问题没有那么困难,无需关注硬件设备与软件的集成。但是,在某些方面,企业应用又比电信软件复杂得多 - 企业应用一般都涉及到大量复杂数据,而且必须处理很多"不合逻辑"的业务规则。虽然有些模式是适合与所有软件的,但是大多数模式都还只适合某些特定的领域和分支。

        我的工作主要是关于企业应用的,因此,这里所谈及的模式也都是关于企业应用的。(企业应用还有一些其他的说法,如"信息系统"或更早期的"数据处理"。)那么,这里的"企业应用"具体指的是什么呢?我无法给出一个精确的定义,但是我可以罗列一些个人的理解。

        先举几个例子。企业应用包括工资单、患者记录、发货跟踪、成本分析、信誉评估、保险、供应链、记账、客户服务以及外币交易等。企业应用不包括车辆加油、文字处理、电梯控制、化工厂控制器、电话交换机、操作系统、编译器以及电子游戏等。”

        -引自 Martin Fowler 《企业应用架构模式》

        不知为什么,修改完项目中的BUG之后,结合着上午看过的《企业分析模式》后半部分,突然之间想到了要明确这个词的解释和含义。还记得两、三个月之前,在JavaParty的聚会上,和徐浩对此词的含义,还有过一番的争论。也许是最近做保险项目的原因吧,现在对这个词更有了进一步的理解。

        只有在“企业应用”之中,才会涉及到那么多复杂的,不合规则的业务逻辑和业务概念;也只有在“企业应用”之中,才会如此大量且习以为常地涉及到诸如:“多组织机构”、“金额”、“币种”、“账目”等这些的概念和模型。

        所谓“企业应用”,这个词是有明确的范围和含义的,而适用于“企业应用”的模式和架构,也未必会适应于其它的。