
趋向采用SOA
软件开发领域的主要发展趋势是从传统软件体系结构过渡到面向服务的体系结构 (SOA)。在传统软件体系结构中,将项目视为单个新应用程序的交付。在SOA中,将项目视为集成服务的交付——一些是新建的,一些是现有的。无论其规模和预算如何,几乎所有信息技术(Information Technology,IT)部门当前都在进行过渡到SOA的工作。您可能已经读过多篇关于SOA采用、成熟度模型和实现的文章了。本文将描述在组织采用SOA或过渡到更高的SOA成熟度水平的过程中,您的IT团队成员中所需的一组新角色及其各自的职责。
在形成SOA团队时,最大的范式转换是从组合应用程序交付过渡到服务交付。传统软件开发人员通常构建应用程序中的一个模块,或典型的三层体系结构中的单个层的一部分。开发人员的一个例子就是在模型-视图-控制器(Model-View-Controller,MVC)体系结构中负责控制器或模型层的人员。在SOA环境中,这些开发人员现在负责服务实现。他们并不需要知道何时、如何或为什么调用服务以及谁调用服务。他们所关心的就是,服务进行什么工作以及需要符合什么样的服务水平协议(Service Level Agreement,SLA)。
为了进行此范式转换,您需要形成完整的SOA团队,其中的每个角色的职责与传统软件开发团队中的相同角色略有不同。本文将说明SOA团队中以下角色的情况:
·架构师
·开发人员
·业务分析人员
·项目经理
在典型的IT组织中还包括多个其他角色,包括基础设施支持、数据库支持、安全性等等。不过,了解了这些主要角色如何改变后,您就能够对其他角色进行调整,以与其匹配。
理解架构师的角色
在较大的组织中,通常有两个体系结构小组。企业体系结构小组定义组织内的每个应用程序小组都必须遵循的控制策略、最佳实践和过程。应用程序体系结构小组负责其特定应用程序的体系结构,确保体系结构能够支持当前和将来的业务需求。
企业架构师
在SOA组织中,企业架构师的角色是推动和促进SOA的采用。他们需要帮助应用程序架构师和各个开发小组理解SOA的基础知识并将业务需求转换为有意义的服务,以便这些小组进行实现和公开。
仅由您自己的应用程序或业务流程使用的服务几乎没有价值。企业架构师需要确保所有应用程序架构师定期讨论其项目,以确定他们可以公开或使用的服务。在不能重用现有服务的情况下,企业架构师还需要确保充分利用构建新服务的每个机会。促进对现有服务的重用肯定比编写新服务具有更高的优先级。最后,他们必须确认服务是在可靠的技术之上构建的,且能够满足所确立的 SLA。
企业架构师负责定义测定和跟踪 SLA 的机制。他们定义有关控制、安全性、灾难恢复等等的策略和过程。他们通常是涉及到 Web 服务管理、编排和企业服务总线的解决方案的主要决策者。
应用程序架构师
应用程序架构师的角色是确保所编写的代码是面向服务的,且遵循可用于面向服务的开发的最佳实践和流程。他们需要在不会对解决方案进行过度设计的前提下将业务需求转换为有意义的服务。典型的服务创建和使用比代码的直接调用开销更大。因此,确定作为服务公开的粒度级别以及如何进行公开是此角色的主要工作职能。
应用程序架构师还要与组织中的企业架构师及其他应用程序架构师紧密合作,以确保充分利用每个服务重用机会,且恰当地对服务进行构建、发现、安全保护、使用和测定。
应用程序架构师最终负责服务交付和使用(非功能要求)的所有技术方面的工作,包括 SLA 遵循情况的可测定性、符合控制策略、执行和确保安全策略等等。
阅读不同SOA文献中关于架构师的信息时,您可能会遇到术语业务架构师,即应该理解业务情况并设计服务的人员。在我的SOA团队定义中,此角色的工作由应用程序架构师完成,而不是由企业架构师完成。应用程序架构师或业务架构师是业务小组和技术小组间负责技术设计方面的协调人,而业务分析人员则是负责业务方面的协调人。
开发人员的角色
在传统IT小组中,开发人员通常负责应用程序的一个片段。这些片段可以由功能(如注册中心或报告模块)或技术(如 JavaServer Pages? [JSP]、Enterprise JavaBeans [EJB]、数据库层等等)确定。
由于SOA团队通常采用较短的开发周期,所以按技术对开发人员进行划分并不实际。因此,将按功能划分的开发团队转变到新的SOA开发人员角色更为容易一些。
成功的SOA开发人员将能同时理解业务流程和功能。他们会恰当构建所需的服务来满足业务流程的需求。越来越重要的是,要执行用于错误处理、跟踪/审核、数据转换和安全性的良好设计原则,并确保将其加入到任何服务代码中。由于SOA的核心原则之一是重用,所以开发人员必须放弃传统开发人员希望构建一切的想法。如果某个方面的服务已经存在,请使用这个服务——而不要自己从头构建。
由于Web服务的技术发展并有大量有关该技术的参考材料可供使用,因此可以说开发人员已经“全副武装”,能充分胜任其在新SOA环境中的工作了。
业务分析人员的角色
业务分析人员可能是最难得到正确认识的一个角色。作为技术人员兼架构师,我倾向于将架构师视为最关键的SOA团队成员。不过,基于经验和最慎重的考虑,我必须指出,作为SOA团队中的一员,实际上业务分析人员的工作变化最大。无论开发环境如何,业务分析人员都执行两个主要职能:
与执行人员和策略级的用户沟通,以了解其对系统的要求。
与技术团队成员沟通,以将确定的要求转换为能进行编码和测试的技术规范。
在SOA环境中,业务分析人员还有两项新职能:
与整个开发团队合作,让他们开始以服务 的方式思考问题。(他们需要何种服务来进行其工作?已经存在哪些服务可供使用或在调整后进行使用?如此等等。)
与技术团队合作,以设计和构建必要的服务,可能会利用已经存在的现有服务。
无论喜欢与否,在很多企业中,由于组织使用的技术的局限性,业务分析人员通常会不断更改相关要求。这个问题可能并不能得到消除,但在SOA环境中,业务分析人员进行服务设计的空间肯定更大,而不用过多地担心技术。
项目经理的角色
SOA 环境中的项目经理的角色与传统IT环境中的项目经理之间的主要差异在于项目生命周期。无论SOA团队采用何种方法(IBM Rational? Unified Process (RUP)、瀑布式、敏捷方法),项目经理通常都需要为每个服务计划较短的交付周期。他们与业务用户和不同服务使用者一起定义服务水平协议 (SLA)。此外,他们必须与多个IT小组(如基础设施支持小组)共同确保这些 SLA 是可以实现的。
项目经理在服务运行时进行协调和跟踪方面的角色比跟踪日常服务交付更为重要。不过,由于周期较短,这个工作相对较为容易一些。
总结:SOA角色及其对您的团队的意义
本文讨论的关键词是培训。当您决定进行SOA项目时,需要仔细考虑团队人员的当前角色,并确保通过培训、指导和调整试验及错误周期来帮助他们准备好进行其在SOA中的工作。

减少存储系统的能耗不是不可能的,存储系统的能耗可以大幅度减少,但具体该怎样做取决于系统的使用类型。我们将分为在线交易处理、文件存储、数据存档和备份。 尽管BI(商业智能)已经在企业中出现多年,虽然人们议论商业智能"大众化"这一概念已有好多年,但许多IT部门直到现在才开始让最终用户接受BI方案。 有些BI专家称,今天以数据驱动和数据仓库为中心的BI将会转向互联网平台,因为互联网是开放、无需设备且自然分发的。Web方式下的实时性,更能促成实时的企业决策。 在部署虚拟化之前,如果你不先把现有的存储基础设施升级到相当的水准,那你无疑就像是在存储"烂泥路"的基础上修建一条服务器高速公路。 随着Linux系统的逐步发展,功能及稳定性逐步得到了大多数用户的认可,Linux系统在一个企业的IT环境中起着越来越重要的作用。那么如何管理Linux系统?
|
|
在市场中,时间就是金钱。然而,一个性能良好的客户关系管理(CRM)方案,不仅可以使企业的销售人员节省出大量的时间、销售出更多的产品,更可使企业更好地保持竞争优势。 供应链联盟SCC提出的供应链参考模型SCOR为供应链管理提供了基础;在供应链管理方面处于领先地位的i2公司则定义了供应链计划中的5项基本活动: IP通信技术对企业具有很大的吸引力,话音网络必须是安全的。IP通信的集成式网络安全性能够增强话音安全性,提高系统完整性并更好地保持系统的效率和生产效率。 《翰纬ITIL v3白皮书》介绍了ITIL的发展及ITIL v3体系,并对ITIL v3生命周期五个模块的基本内容进行了概要性的描述,使读者队ITIL v3有一个基本的认识。 此前,企业只注重传统方式的备份,由于用户众多,数据十分分散,往往造成数据没有被全部备份。这样轻则是用户数据丢失,重则会给公司带来经济上的损失。
|
|
安全产品是网络安全的基石,通过在网络中安装一定的安全设备,能够使得网络的结构更加清晰,安全性得到显著增强;同时能够有效降低安全管理的难度,提高安全管理的有效性。 笔者就以生产线作业为背景,结合ERP的工序管理与产能管理,来阐述一下,如何通过ERP,比较精确的来预算企业产能,抛砖引玉,给大家借鉴一下。 银行需要能够快速、灵活地开发和向市场推出新的产品,并通过各种渠道和服务来吸引新的客户。总之,银行需要采用更加开放、主动、以客户为中心的手段来提高赢利。 医疗行业的信息化建设的目标是建立几大核心医疗业务系统。由于投入较大,一般的医院采用分阶段的方式来实行,其首要的要属医院信息系统(HIS)。 随着中小型企业在业务规模上的迅速膨胀,企业内部的各种信息系统上所运行的应用不断增多,部门之间的协同配合和信息共享日益频繁。安全与绿色节能变得同等重要。
|
