级别: 中级 Judith Myerson (jmyerson@bellatlantic.net), 系统架构师和工程师
2005 年 12 月 01 日 希望使用 IBM DB2® CommonStore 来开发 Sarbanes-Oxley(SOX)Web 服务吗?Judith M. Myerson 展示了如何解决 SOX 向执行者提出的问题。然后将给出一个解决这些问题的例子,它开发或修改了一些 Web 服务,而不是修改已经长期运行的应用程序。
简介
建立 SOX 法案是为了减少公众持有的公司发生金融诈骗发生的可能性。然而,这部长达 800 页的法案并不能减少那些不遵守该法案的执行者重度犯案的可能性。其主要目标是,通过对可能被利用的信息系统弱点进行评估而建立一些强制需求,以此提高对财务报表的内部控制。
SOX 法案中最引人关注的是第 302、404 和 409 节。第 302 节规定了 CEO 和 CFO 必须要建立、实现和维护内部控制机制。第 404 节规定必须采用哪些管理机制来评估内部访问控制结构的有效性;从而保护资产不会受到未经授权的修改、披露、删除和使用;并且确保责任分离。第 409 节目前还不是强制的,它要求必须在给定的时间内披露实时事件。
作为实施这个法案的一部分,执行者必须要指导 SOX 法案要求的实施,尤其是第 404 节和第 302 节的实施。开发人员需要开发一些业务逻辑 Web 服务,并将这些服务链接到 IBM DB2 CommonStore 上。
本文重点介绍了开发人员应该如何使用 DB2 CommonStore 来构建业务逻辑 Web 服务。这种解决方案可以帮助组织截获 e-mail、即时消息以及任何媒体格式的附件,并将其转换成适当的格式进行存储和索引一段时间。本文还可以让我们指定一些访问审计规则,指定何时以及如何销毁所保存的消息以及用于研究的搜索内容。
构建一个归档和符合规范的基础设施
DB2 CommonStore 是 IBM Enterprise Content Management Portfolio 的一部分。要构建这样一个基础设施,并能够在以后进行扩展来满足组织的需要,请使用 DB2 CommonStore 作为基础(请参阅 图 1),与 IBM Business Partner iLumin Software 中的 Assentor Enterprise 套件一起使用。可以用来进行验证、存储和归档的数据和媒体类型非常广泛,包括打印文件、音频、视频和数字介质的数据。
图 1. DB2 CommonStore 基础设施
正如 图 1 所描述的一样,DB2 CommonStore 的用途主要有两个:提供符合规范的解决方案接口,或者用作邮件归档或记录管理仓库。DB2 CommonStore 提供了用户指定的策略或内建的策略,以此驱动对 IBM Lotus® Domino® 和 Microsoft® Exchange Server 用户进行归档和符合规范的消息管理。DB2 CommonStore for SAP 不但可以支持 e-mail 归档管理系统;还提供了对存储在企业内容仓库中的非 SAP 对象的访问,或者提供从非 SAP 应用程序中访问 SAP 对象的能力。
我们可以选择使用 IBM DB2 Content Manager 应用程序来管理邮件归档或记录仓库的内容,或者选择使用 IBM DB2 Content Manager OnDemand 应用程序来管理大量打印出来的数据。第三种选择是使用 IBM Tivoli® Storage Manager 进行备份和恢复管理。如果我们要管理大量的流多媒体数据,可以考虑使用 IBM DB2 Content Manager VideoCharger。
需要使用 IBM Tivoli Storage Management Extended Edition 来进行灾难准备、规划和恢复。所选择的软件取决于可能发生的灾难的类型。我们需要在离线设备中对邮件、消息和记录进行备份。在同一个建筑物中对数据和记录进行备份并且运行应用程序不是什么好主意,甚至在同一个地区距离很近的两个地方进行备份也不是什么好主意。我们需要集成 Tivoli Storage Management Extended Edition 和 DB2 Content Manager,从而在单一或多级存储环境中提供对异构存储设备的访问。
使用 IBM DB2 Records Manager
图 1 显示了可以用来满足 e-mail 规范的两种方法。第一种方法是将 DB2 Records Manager 和 DB2 CommonStore 进行集成,后文中会进行介绍。第二种方法是对 iLumin Assentor 软件与 DB2 CommonStore 进行集成,下一节就会进行介绍。
DB2 Records Manager 是一个记录管理引擎,而不是一个仓库。它可以根据一种保持规则来处理每条记录。如果有一条记录与保持规则相冲突,那么 DB2 Records Manager 就会通知管理员,并建议一种修正方案。要将 e-mail 消息转换成一条记录,可以激活 DB2 Records Manager,从客户机中直接声明 e-mail 记录,例如 Microsoft Outlook®。这些客户机可以直接与记录管理引擎进行通信,从而对已经声明的 e-amil 消息进行存档、保存并增加其安全性。
使用 Assentor Enterprise
Assentor Enterprise 套件可以管理、发现并对消息进行归档,并确保提供符合规范和法律要求的支持。它位于一个稳固的防火墙内部,用来对所有的消息进行扫描和归档,并确保所有的 e-mail 通信都符合企业的需求和法律的要求。Assentor Discovery 和 Assentor Compliance 都可以与 DB2 Content Manager 进行交互。
Assentor Compliance 负责管理与流程处理有关的内容策略来满足 SOX 的需求,这是通过对 e-mail 消息、附件和即时消息进行监视和保持来实现的。它使用了自然语言技术来智能化地扫描每条消息中的内容,然后对其进行分析。如果分析显示一条消息非常可疑,那么这种技术就将其路由到一个隔离队列中,供适当的超级用户或管理员进行审查。如果这条消息早已经被发送出去了,那么超级用户也会收到这条消息。
Assentor File System Manager 创建保持消息和附件的过程所采用的策略,并且在各种平台上对资源进行优化和分配。另外,这些策略还规定了应该如何对这些消息进行保持、迁移、分类和设定优先级。
DB2 Content Manager 中的模型
要有效地使用 DB2 Content Manager,我们应该首先了解 DB2 Content Manager 中的数据模型。使用这些数据模型,可以捕获所有类型的内容(例如音频、视频和文本)中的结构化信息和关系信息,并对结构化内容与非结构化内容进行集成。由于这个模型可以很好地使用 XML,因此可以使用一种基于 XPath 的查询语言来查询自己在这个模型中的位置。要将 XML 模式映射到一个模型中,需要使用 DB2 Content Manager Version 8 来自动或手动地执行作业。
构建和使用模型可以生成系统管理数据。可以使用 DB2 Content Manager 将数据导出为一个 XML 可读的文件,这个文件可以导入到其他系统服务器中。DB2 Content Manager 的其他特性包括常用的一些功能:访问控制、管理域的创建、日志/审计以及单系统管理客户机的设置。
要操纵这个模型的数据,请使用 SQL 语句。要注意 SQL 语句是如何创建的;否则,运行这些 SQL 语句会极大地影响对时间延时非常敏感的大型数据库的性能。如果不确定,请咨询数据库专家的意见。
开发 SOX Web 服务
SOX 法案严重依赖于 IT 系统。降低 IT 系统上处理和存储负载的一种方法是为 DB2 CommonStore 开发业务逻辑 SOX Web 服务。这些 Web 服务可以在需要时调用,在不需要时释放。执行者在计划进行 SOX Web 服务的模块化开发时,需要确保这些服务长期运行之后能够获得一定的投资收益。
在本节中,我们需要学习有关开发 Web 服务作为 DB2 CommonStore 和企业应用程序之间的中间件的知识。正如可以在 图 2 中看到的一样,我们还在面向服务的体系结构(SOA)中添加了 Web 服务,我在 IBM developerWorks SOA 和 Web 服务专区中撰写了一些文章来介绍这方面的知识(请参阅 参考资料 中的链接)。SOA 还包括了非 Web 服务。
图 2. 链接 Web 服务和 DB2 CommonStore
执行者需要为开发业务逻辑 Web 服务作为 SOX 模块建立一种策略,例如审计控制、企业安全性、修改管理、工作流、业务流程管理以及项目协作。通过 Web 服务,我们可以满足 SOX 对于报表的要求,同时确保 DB2 Records Manager 或 Assentor Enterprise 的数据保持能力的高可用性。
与修改长时间运行的大型企业传统系统相比,Web 服务更容易开发、修改、测试和运行。大部分传统的系统都没有模块化成可以单独进行测试的可标识独立模块。与将传统系统重新设计成模块化组件相比,开发 Web 服务的代价更低。
创建 SOX 模块层次结构
开发人员可以与规范专家和业务流程分析师一起建立一种 Web 服务的层次结构,这可以建立在底层的 Web 服务的基础之上。正如 图 3 所示,自顶向下的层次结构从企业安全性开始,第二层是父 Web 服务,然后是信息安全性、缺陷管理、风险检测和响应、策略管理和监视,再下一层是子 Web 服务。
图 3. 层次结构中的 SOX 模块
与外部 Web 服务进行通信
如果一个公司没有满足要求所需要的内部资源(例如审计控制),那么执行者就需要在使用外部 Web 服务的需求策略中,包含一个到外部组织的企业应用程序的网关。这补充或缩小了原公司的 Web 服务或企业应用程序中的不足。图 4 介绍了原公司 ABC 的 Web 服务如何链接到外部公司 XYZ 的 Web 服务上。
当开发人员合并新的 Web 服务时,应该注意不要导致新的冗余性。可能需要将一些冗余的 Web 服务合并成一个服务,这样可以减少冗余性。
图 4. 链接到外部 Web 服务
当(公司 XYZ 的)Web 服务超出了原组织(公司 ABC)的控制时,就需要确保他们使用共享的语义和契约进行外部协作。语义的误解(例如所有权)和契约的漏洞(例如多平台的差异)会在外部企业 Web 服务之间引起协作问题。开发人员需要解决这些问题,然后才能使用到 DB2 CommonStore 的链接将外部 Web 服务链接到内部 SOX Web 服务。
结束语
开发调用 DB2 CommonStore 基础设施或被 DB2 CommonStore 调用的 SOX Web 服务需要提前进行规划。我们应该与由系统管理员、开发人员以及法律工作人员组成的团队进行沟通,商讨如何能够在符合 SOX 要求的同时进行最有效的开发。CEO、CIO、CFO 和业务分析师也应该是这个团队的一部分,因为第 302 节规定了他们的职责。所有成员相互进行协作就可以发现,开发 SOX Web 服务可以帮助自己的公司符合 SOX 的规定并能充分利用 SOX 的规定。
参考资料 学习
获得产品和技术
讨论
关于作者
对本文的评价
|