`
yongtree
  • 浏览: 233946 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

构建企业应用的乐高王国--阐述开放的企业级组件平台(OECP)

阅读更多

作为身在集团内的IT人,我们见证着IT给企业带来的价值,也在时时刻刻的思考怎样通过信息化来推动集团的快速发展。当一个个的系统让我们每天忙得团团转,一个个的问题需要我们解决时,我们也在深刻的反思,我们应该构建一个什么样的系统能让我们从繁杂的业务中摆脱出来,即解放我们自己,又让整个集团的从系统中得到最大程度的IT服务支撑,提高集团整体的战斗力。

        看看下面的两张图,我们也许找到问题所在了。

 
 
 
 信息孤岛
 
 
 
                                                                      1
        第一张图向我们展示了企业建设初期很普遍的问题,那便是信息孤岛。整个集团是一个整体,然而集团内部的各分公司、办事处又享有很大程度上的自治权,表现在系统上,可能每个分公司和办事处使用不同的OA系统,CRM系统,这就造成了各个自治单元的信息不能共享,造成了信息的闭塞、重复,降低了资源利用率,提升整体办公效率,增加了整个集团的运营成本。所以我们统一OA系统,全集团推广M1系统,目的就是为了整合这些离散的资源,充分的信息共享,支撑集团总体的战略部署。
        第二张图,是企业在一步步壮大的过程中形成的又一个问题。当企业不断扩张的过程中,信息系统对企业的发展的推动作用日益的明显,所以一个个系统开发应用起来,然而由于没有提前的规划,系统越来越多,问题也越来越多。OAHR系统不能共享组织用户,OAERP不能共用一套工作流程,CRMERP系统不能共用一套客户资料,形成了一个个的系统孤岛,而这些系统孤岛也造成了大量的数据冗余、杂乱,并且用户使用起来也不方便,在不同的系统中切换来切换去,做着大量的重复性的工作,维护着重复的数据。
        这是在企业信息化建设中遇到的最突出的问题--信息孤岛和系统孤岛。但是对于一个企业,需要解决的问题远远不止这些,而对信息系统也有着更高的要求。
1、          快速有效地解决问题。
2、          快速响应业务的变化。
3、          安全高效的运行环境。
4、          开发运维的成本低廉。
由此我们引出了我们的主题基于企业组件模式的高复用、高灵活的软件系统体系。为了更容易理解的阐述这种体系模型,我以乐高积木这个风靡世界的玩具来进行类比阐述。
乐高积木现在已是儿童喜爱的玩具。这种塑料积木一头有凸粒,另一头有可嵌入凸粒的孔,形状有1300多种,每一种形状都有12种不同的颜色,以红、黄、蓝、白、黑为主。它靠小朋友自己动脑动手,可以拼插出变化无穷的造型,令人爱不释手,被称为魔术塑料积木(官网:http://www.lego.com)。
乐高积木
                                                        2
2是乐高玩具的发展史,从图中我们可以看到,一个个简单的积木组合起来,可以构建如此多美丽的玩具。它是怎么做到的呢?
1、          组件化。每个积木都是最小的原子组件,通过这些一个个的原子组件组合成一个个更大的组件,比如汽车、楼房、人物。将这些组件合理的组合在一起,就形成了一个虚拟的社会系统。
2、          标准化。每个组件都符合约定的标准,有统一型号的接口插槽,使得不同玩具间可以很好的拼接和拆分,在基本的积木不变的情况下,进行不同的组合从而形成了一个个形状不一,不同特色的玩具。
如果将这种标准化的组件模型应用到我们的系统开发和信息化建设上来,能不能达到异曲同工的效果呢?对我们的信息系统有没有质的提高呢?
        我们在OA上进行日常的办公处理,在ERP上进行商业业务的操作,HR依然要对每个员工在公司的一些档案信息进行管理。在这个三个系统中,都有组织机构人员管理,由于各个系统不能进行共享,所以对于相同的组织、员工我们需要分三处开发及维护,付出大量的无谓的重复的劳动,也降低了工作地效率。

                                                                                                                                   
 
 
企业组件
 
 
3
        从图3可以看出,我们将组织机构分离出来作为组件,通过一定得方式和各个系统进行整合,这样减少了系统开发的工作量,也便于数据的统一管理,最大程度的实现了复用,节约了成本,提高了工作效率。如果我们把财务、销售、仓储等管理功能再向下更小粒度的组件化,然后通过对这些组件利用统一的接口进行不同组合和共享,我们的系统也许真的就像乐高积木一样,构建起一个一个的业务系统,而且开发的成本和运维的成本都降到了最低。
        让我们再次充满想象力的去构建这样一个企业应用的生态体系。
oecp整体架构
                                                                           图4
4既是基于企业组件和SOAService-Oriented Architecture,面向服务的体系架构)的软件体系模型,在该模型中,我们将一个个的业务单元从各个系统中抽取出来,做成了一个个的乐高积木,这就是企业业务组件,每个业务组件独立的运行在不同的服务器下,为各个应用系统提供业务服务,组件与组件之间通过统一的企业组件总线组件进行相互的通信和数据交互,如此庞大的业务组件仓库支撑着各个业务系统的运行。这种组件共享机制,让我们可以更短的时间去组合我们想要的系统,可以让我们的业务流程在多个系统中运转,消除了信息孤岛和系统孤岛,同时组件间没有过多关联,而是更专注自己的业务处理,使得我们开发维护的成本降低,业务处理更加的精细,更准确的解决实际的问题。
基于EJBEnterprise Java Bean,基于java平台的分布式组件技术)构建的企业级组件,可以方便的发布成Web Service为其他异构的系统提供系统整合的服务,不仅仅可以整合用户的数据,同时网上药店可以通过财务组件提供的web服务,同步订单产生的资金流,网上药店的产品可以同步到主数据组件,统一产品信息。个人健康信息可以通过客户管理组件提供的web服务,将商业合作客户统一起来,将个人客户产生的消费同步到财务系统。而且,一个系统中的业务处理需要其他业务系统处理后的结果再进行最后的业务操作时,通过组件化和web服务技术可以实现两个系统流程的结合和业务的自然衔接。所以这种组件技术以及抽取出得web服务可以方便的整合不同的业务系统,将业务流程在集团的层面上统一起来。
基于EJB开发的业务组件运行在强大安全的企业组件服务器集群上,将应用的压力后置,将数据操作的压力前移,通过分布式计算分散业务运算压力,通过增加硬件设备提升服务器集群的运载能力,最终使得整个应用系统得到效率的提升。
由于组件和web服务的运行以工作流程和业务规则来进行驱动,业务的变化表现在系统上其实是工作流程和业务规则的改动,通过对流程和业务规则的变更,使得调用组合不同的组件和web服务,快速的响应业务需求变更。由于不同系统共享业务组件,使得流程驱动可以跨越不同的应用系统,使系统间的鸿沟降低,业务活动更加紧密、有序。
可见,企业组件模型让一切都变成了组件,而精确的拆分是为了有机的融合,通过对组件和服务的优化配置,来构建我们想要的业务系统。
OECPOpen Enterprise Component Plateform开放的企业级组件平台)项目的目标就是要为构建这样一个高度复用、高度灵活的组件平台,开放是为了标准,是为了快速的成长,通过我们自己的业务架构能力和社区的推动,最终建立起一个庞大的基于EJB的业务组件库,让未来的企业信息系统像玩乐高积木一样,选择合适的积木创造丰富多彩的软件生态体系。
1、          开放OECP的微内核,利用社区的力量推动开放企业组件平台的发展。
2、          构建医药行业标准的企业组件库。
3、          统一企业应用,消除信息孤岛,构建可持续、可快速发展的信息化生态体系。
这是OECP项目肩负的使命,前进的道路充满艰辛和曲折,但是我们相信通过我们每个人的努力,我们就能看到后天的太阳。最后用一副乐高玩具的图片结束该文,欢迎更多的人加入企业应用的乐高王国。
OECP项目主页:http://www.po-soft.com/project/oecp/
乐高积木
  • 大小: 33.1 KB
1
0
分享到:
评论

相关推荐

    richfaces自动构建树实现.docx

    RichFaces 自动构建树实现 RichFaces 自动构建树实现是基于 Java 语言和 RichFaces 框架的树形结构实现。树形结构在软件系统中非常常见,包括树形菜单的构建、基于二叉树的二分查找法等等。RichFaces 提供了树形...

    oecp一种将 OSV 用作认证工具

    OECP工具聚焦openEuler内核和基础包,保障二次发行版生态核心特性不丢失,关键配置不更改 结合社区选包策略及软件包等级策略,检查L1、L2软件包版本、打包方式、接口一致性,KABI白名单,架构特性(如鲲鹏/X86特性)使...

    社区事件驱动机制-观察者模式实用

    在OECP社区的实现中,被观察者可以是社区的各种元素,如博客、用户、组件设计、讨论和留言等。而观察者则包括积分系统、动态系统、邮件系统、站内信和短信系统等。当用户执行特定操作,例如发布一篇博客,被观察者...

Global site tag (gtag.js) - Google Analytics