信息化 频道

探讨OA软件热门实用技术:SOA架构

    【IT168 信息化

    OA需要SOA么?

    SOA的概念都快被大家炒糊了, IBM的官网上也有详细的技术介绍,我们就不去添乱了,这里只从应用的角度来看看他跟OA结合后能生出个什么东西。

    SOA这个大明星气宇轩昂闪亮登场后,OA马上就对他一见钟情,很快打的火热,OA需要SOA的理念来武装自己,SOA需要OA的应用来实现自己,加上他们两个的名字这么相像,正是天生一对的样子。

    其实,在以前的OA软件中,我们并不需要SOA技术,因为那时候的OA干的是体力活,传传文件,发发通知,顶多做个审批,只限于单位的行政管理。但现在OA在组织内部的应用更深、更广,需要它整合更多的人员,更的数据,更多的业务,更的流程,以至于成为一个信息和协作中心,完成整合应用系统,消除信息孤岛这个光荣而艰巨的任务。

    SOA解决了OA的什么问题?

    比如一个采购申请流程中,申请审批、流程的流转是由OA系统完成的,填写采购用款申请单、付款、做凭证则是ERP系统的功能,因此用户不得不频繁地切换两个系统,才能完成采购申请。此外,企业在利用OA系统进行工作流审批后,产生了很多业务数据,这些数据同时可能是ERP系统的数据源,为了避免数据的重复以及保证数据源的唯一性,也就产生了OA系统与ERP系统集成的需求。

    SOA技术,也许是解决这一需求最有效的方法。

    经过几年的扫盲,我们都知道SOA是一个基于标准的组织和设计方法,它利用一系列网络共享服务,使IT能更紧密地服务于业务流程。通过采用能隐藏潜在技术复杂性的标准界面,SOA能提高IT资产的重用率,从而加快了开发并更加可靠地交付新的增强后的业务服务。

    SOA是一种组件模型,它将应用程序的不同功能组件(服务),通过“服务”之间的良好接口联系起来(也就是“服务”之间的松耦合)。接口是采用中立方式进行定义的,独立于实现“服务”的硬件平台,操作系统和编成语言。这是构建在各种各样系统中的“服务”可以以一种统一和通用方式进行交互。松耦合的好处是保证系统灵活性,另外,还可以保证“服务”的重复利用。Web服务是目前实现SOA最重要的标准。

    面向服务架构(SOA)是让IT更加关注于业务流程而非底层IT基础结构,从而获得竞争优势的更高级别的应用程序开发架构。它让你将关注的重点放在业务优化,而非IT技术上。

    基于SOA的OA与ERP的整合应用建模:

    SOA不是白吃干饭的,结合上面的案例,我们能看到它是如何让OA和ERP之间实现良好的互联互通:

    1)用户登录OA系统后,根据OA系统的人员配置信息确定身份,此用户同时也获得了其相应的权限。

    2)身份确定后,OA系统根据此用户的权限范围内的工作流程和工作列表,提供流程表单。

    3)用户在工作流表单上填写数据,包括与流程控制相关的信息、与ERP系统相关的参数及其他字段信息。

    4)工作流引擎根据流程定义文档控制流程执行,当流程流转到某个需要调用Web service的活动的时候,发送SOAP请求信息给服务提供者。

    5)Web service利用数据访问逻辑组件对数据库表进行查找、更新、保存等操作。以采购申请为例,用户调用ERP的采购管理Web service的“采购信息保存”接口方法将采购的物料编号、采购数量、价格范围、供应商等存储到ERP的DB中。

    6)服务提供者实现服务之后,将SOAP返回信息传回给OA系统,其中包括单据编号和单据状态等。

    7)当工作流引擎收到ERP系统传来返回信息后,根据WSDL文档将SOAP返回消息解析成自己能够理解的内容,然后自动将其存入流程表单中。

    8)工作流引擎将工作流表单传送给服务器,然后根据工作流控制数据和组织/角色模型将流程表单传递给下一个执行者,并同时发送E2mail通知。

    怎么样,是不是很酷?

    OA厂家对SOA技术的应用

    在OA厂家中,最关注SOA技术,并且真正实现了SOA架构的是华天、慧点、金和、协达、用友致远这五个哥们,但协达OA貌似学院派的风格让他在市场上的表现一塌糊涂,并不具有代表性。

    慧点OA结构最庞大,设计得比较精深,技术能力也最强,是项目型的代表,适合做超大型的项目开发,能实现很复杂的应用。

    华天OA采用的是标准的SOA架构,是产品型的代表,适合做中型和小型项目的快速开发,其从低层到高层的体系分别如下:

    数据库访问层,实现数据的永久存储;

    Java Bean,对数据进行控制和操作;

    Web Service 利用Axis对外提供WEB 服务接口,从而实现SOA;

    GUI 画面的显示,采用HTML方式和传统的客户端方式。

    SOA架构很好的解决了OA在发展中遇到的跨系统、跨部门、跨流程问题,对需要使用信息技术解决关键业务问题的企业(包括希望减少冗余架构、创建跨客户和员工系统的公共业务接口的企业;需要基于角色和工作流对用户提供个性化信息的业务的企业;希望通过Internet实现跨区销售、升级销售和经由移动设备的访问来提升客户服务的组织)很有价值,必将成为未来OA软件发展的主流技术。
 

0
相关文章