首页  |  SOA  面向构件  EOS  |  OSOA  |  论坛  博客  空间  |  活动  下载  |  商城 

BPM给客户带来的主要价值

2008-10-30 @ 13:10 in 学习笔记

 查看全文

从SCA(Service Component Architecture) 看构件图形化软件组装的趋势

2007-09-28 @ 10:09 in 原创

、 一、SCA的概念

SCAService Component Architecture)面向服务的组件模型,源于IBM WSIF Web Service Invocation Framework,具体请参考http://ws.apache.org/wsif/),SCA的目的是使用户在构建企业应用时有一个不再直接面对具体的技术细节的层次,而是通过服务组件的方式来构建应用(这一点与EOS的思路一致)。

服务组件模型(SCA)中提出了一些新的概念,比如服务组件,模块,共享库,导入和导出。

l 服务组件

包括对外提供的接口,所依赖的接口。服务组件的接口类型可以是Java类型,也可以是WSDL定义。例如一个“客户服务”组件,可能包括“获得客户基本信息”、“获得客户帐单”、“新建客户”等接口。这些接口的实现可能是WSDL描述的,也可能是用Java类实现的。服务组件的实现对外是透明的,调用者无需知道该服务是如何实现,以及采用什么技术实现的。

l 模块(Module

模块是由多个服务组件以及服务之间的调用关系组成的,每个模块相当于J2EE应用中的一个项目。通过将不同的“服务组件”用连线组装起来,就成为一个模块。模块是最小的部署单元。

l 共享库(Library

如果多个Module需要共享一些资源,则可使用共享库。但是共享库不包括服务组件(即不包括业务逻辑),只包括数据定义、接口定义、数据映射等。

l 导入(Import

目的是为了调用其它组件(包括SCA组件、JMSWS等)

l 导出(Export

与导入相反,导出是为了让其它系统可以调用SCA组件,调用方式同样可以是SCA组件、JMSWS等。

目前,SCA模型已经得到了业界几个主要软件厂商的支持。IBMOracleBEASAPSiebelSybaseIONA等厂商联合发布了SCA规范的0.9版本。具体规范可参见IBM DW的网址:http://www.ibm.com/developerworks/library/specification/ws-sca/

关于服务组件模型(SCA)更详细的概念参见IBM DW网站(http://www-128.ibm.com/developerworks/cn/webservices/ws-sca/)的介绍。

二、 IBMSCA的产品支持

SCA服务组件模型的提出,解决了EJBPOJO等组件模型与实现语言相关的问题,同时也将SOA的抽象概念落到了实处。也为集成软件项目的开发的图形化组装方式提供了基础。

目前IBMSCA的产品支持为200510月发布的WPS Websphere Process Server6.0 ,并为之提供了可视化的集成开发工具WIDWebsphere Integration Developer)。使用WID开发集成项目,只要有一定基础编程经验或知识,就可以拖拉的方式,进行图形化的组装,不需要了解太多的J2EE技术细节。

三、 EOSSCA的对比

从上文,可以看出,SCA的这些概念在EOS里几乎都有相类似的概念。对比如下(以IBMWID产品为例):

SCA中的概念

EOS中的

相应概念

相同点

不同点

服务组件

业务构件

1、都是描述后台业务逻辑;

2、都提供了接口

1、 1、EOS中可以用图形化的方式定义业务逻辑的实现;而且EOS还提供了展现构件、运算构件等;

2、 2、SCA服务组件则要么通过WSDL调用已经开发好的具体组件,要么用编写特定语言的代码来实现

模块

项目、构件包

都是可部署的单元

1EOS中的构件包、单个构件都是可部署单元

导入

引用构件包

都是为了复用已有软件资产

1、 1、EOS的引用构件包可引用EOS的任何构件,包括展现、业务、数据、运算构件

2、 2、SCA的导入只能复用业务逻辑

导出

导出

都是为了复用已有软件资产

1、 1、SCA在导出时需要指定导出为SCA组件服务、JMSWS等类型

2、 2、EOS导出后被新的项目引用时,可以直接拖放组装

服务数据对象SDO

数据实体

1、 1、都是XMLRDB之间的映射

2、 2、都支持Xpath访问

3、 3、都是作为展现层、业务层与持久层之间通信的信息载体

1、 1、SDO支持对象的嵌套

2、 2、SDO除了可以Xpath访问,也可以对象的形式访问

3、 3、数据实体是EOS数据总线的基础

从上表可看出,SCA的概念和EOS的一些概念大同小异,可以说是异曲同工。

四、 小结

诚然,SCA规范推出的目的是为了对遗留系统进行集成,EOS的定位则在于开发新的应用。虽然两者定位不同,但是不难看出,未来软件开发的趋势必然是朝着以图形化的构件组装的方向前进。EOS不仅提供了图形化的构件组装工具,同时在调试、部署、应用管理与维护方面都提供了一体化的工具,因此在构件化这一步,普元EOS无疑走在了潮流的前面。

 查看全文

SCA与SDO开源与商业产品浅析(2)

2007-09-28 @ 10:09 in 原创

之二——商业篇

 查看全文

建造流程企业,该如何选择工作流产品

2007-07-18 @ 09:52 in 原创

 

作者:游青华

     打造流程企业,逐渐成为众多企业的一个重要目标。然而实际情况是,目前国内绝大多数企业离流程企业的还有很大的差距。银监会主席刘明康曾表示,当前很多中资银行的业务流程都存在着弊端,仍只是“部门银行”,而不是“流程银行”。

打造流程企业,一方面企业管理本身需要改进与优化,另一方面,也离不开工作流引擎(也有的称为业务流程管理BPM)的支撑。本文从IT规划和企业业务需求等多个角度,阐述如何选择合适的工作流产品。

 查看全文

SCA与SDO开源与商业产品浅析(1)

2007-05-17 @ 15:05 in 原创

OSOA于07年3月份发布了SCA 1.0 和SDO 2.1 规范,并已经提交到OASIS标准组织,为SOA的正式落地揭开了序幕。关于SCA(Service Component Architecture)和SDO规范本身以及规范产生的背景和意义,已经有很多资料进行了大量的介绍,本文主要对基于SCA和SDO而实现的开源以及商业产品进行分析。  查看全文

工作流概念与模型培训PPT下载

2007-02-01 @ 22:04 in 原创

本文是作者做过的一次工作流培训的PPT,主要内容为:

  1. 为什么要使用工作流
  2. 工作流的发展历史
  3. 工作流的概念
  4. 工作流的路由模型
  5. 工作流的发展现状与趋势

下载:工作流概念与模型_Youqh_20070201.rar


“洛伯定理”与流程管理的联系

2006-11-07 @ 13:09 in 转贴

洛伯定理 :对于一个经理人来说,最要紧的不是你在场时的情况,而是你不在场时发生了什么。

如果只想让下属听你的(上级导向),那么当你不在身边时,他们就不知道应该听谁的了。

通过实施流程管理(下游导向/客户导向),让员工知道你不在身边时他应该听谁的。

流程对工作的过程应该有详细的说明:流程应该何时启动?启动之后怎么做?采用什么方法和工具?与谁发生什么关系?交付什么成果给下游客户?说得再通俗一些,流程是一种沟通工具,是流程的制定者与流程的执行者之间的一种沟通,当流程的执行者不清楚应该做什么以及怎么做的时候,就去通过流程进行沟通,而不需要去找流程的制定者,除非这个流程本身没有表达清楚,而制定清晰简单的流程是流程负责人的责任。

最终通过流程相关的绩效管理进行检查和控制。

frank 发表于 AMT Blog


业务流程管理的三个层次

2006-11-07 @ 12:49 in 转贴

业务流程管理的三个层次
 

 

业务流程重组(Business Process Reengineering,BPR)自90年代初由美国的两位管理学专家首次正式提出来以后,迅速风靡全球,近年来随着国内信息化的进程,也日渐被国人所熟悉。然而这个诞生在美国,在大规模生产向个性化定制转变,IT技术被广泛应用的这样一个大背景中的产生的管理理论曾一度受到质疑。其原因是大规模的业务流程重组的成功几率不高,连BPR理论的创始人之一哈默后来也承认BPR理论过于激进,在更多的时候,应该采用业务流程优化(Business Process Improve, BPI)而不是BPR。其实,对于国内的企业来讲,业务流程的管理按照其变革的程度应该分为三个层次:业务流程的建立和规范、业务流程优化和业务流程重组。这三个不同层次的变革分别适用于不同阶段和管理基础的企业。

第一个层次是业务流程的建立和规范

在一个企业尤其是中小企业建立的初期,由于企业生存的压力,管理者普遍关注市场和销售,对流程和制度不重视,运作基本靠员工的经验和一些简单的制度,企业的成功往往取决于企业主的个人能力和一些偶然的机会,比如拥有该行业成功所需要的特定资源。处于这个层次的企业,当在解决了生存问题,开始走向规模化的时候,面临着从人治向法治的转变。这个时候解决的是一个从无到有的问题,象许多企业推行ISO9001体系或其他一些基本制度的建设,都是为了解决这个问题。国内的大部分中小企业和一些市场化程度不高的行业里的企业大都属于这个层次。

处于第一个层次的企业,面临的最大的问题是无序,通常会出现组织结构不健全,机构因人设岗的,权责不清和没有制度流程。这些企业通常没有成型的组织机构,谁熟悉哪一块也就由谁负责该项业务,职能通常会有交叉,企业的运作基本上依赖于人的经验和惯性,经常会发生越级指挥事件,同时会表现出高度集权的特点。

从流程管理的角度,这个时期的企业急需的是建立起基本的流程和规范,如业务运作流程、作业指引、岗位说明书、人力资源管理体系等。这个时期的企业不能强求业务流程的精细,关键是明确权责,识别和描述流程,使工作例行化,

第二个层次是业务流程优化

由于企业规模的扩大,组织的机构会逐渐庞大,分工会越来越细,企业官僚化程度也在随着增加,这个时候面临的最大问题是低效,也就是效率的低下,通常这类企业会表现出以下特点:

组织机构完整,甚至大而全,也有书面的职责说明、制度流程,但是会出现部门间合作不畅,跨部门流程工作效率低下,决策时间长,制度流程虽然有但是没有达到精细化的程度,流程执行不到位等等问题。有相当一部分企业还通过了ISO9001认证或有完整的制度流程体系。具备这个特点的企业一般是一些迅速膨胀后颇具规模的民营企业和一些国有企业。其业务模式相对稳定,而且通常企业发展比较快。

在这个阶段的企业需要解决的问题如何提高企业的效率和反应速度。通常采用的方法是先对现有流程的绩效进行评估,识别缺失的关键环节和需要改善的环节,针对流程各环节从可以以下四个角度进行分析:

活动:是否过于复杂,存在精简的可能性

活动实现形式:是否能用更有效率的工具来实现活动

活动的逻辑关系:各环节的先后关系可否作调整以达到改进目标

活动的承担者:是否可以通过改变活动的承担者来使流程更有效率

然后通过对现有流程的简化、整合、增加、调整等方式来提升流程效率,还可以通过明确流程所有者(process owner)的形式来监督流程的整体表现,从而避免部门间推委的问题。

一般在进行流程优化的时候关注的是相对低层次的流程的效率和成本等,可以采用一些方法和工具对现有的流程进行改良,同时强调流程的有效执行,一般不会涉及到大的组织变革和流程变革,这个时候解决一个从有到更好的问题。

以一家家电企业的研发流程为例,该企业有完整的研发流程和制度,但在实际运作中,新产品研发周期很长而且研发效率较低,设计变更频繁,模具空置率高;各类评审的手续复杂,研发与市场以及工艺部门、生产部门之间经常发生推委事件等等。通过对研发流程的绩效表现、流程各个环节以流程的运作情况进行诊断分析,发现流程.各个阶段包括概念阶段、计划阶段、开发阶段、验证阶段、发布阶段、生命周期阶段各个阶段的关键控制要点的操作性不强,缺乏有效的检查清单而使重要的评审点评审受限于评审点的经验甚至流于形式;和各个相关部门之间的接口不清晰、导致重复返工;不同类型和难度的研发项目采用同样的流程导致流程的效率低下等等,找出上述问题后,针对性的优化上述流程以后,就可以有效的解决上述问题,提高研发流程的效率。

业务流程优化的特点是一些局部的变革,对企业的冲击相对较小,相对比较容易实施,缺点是只是一些改良,对一些存在结构性问题的企业往往不能解决根本性问题。

第三个层次是业务流程重组

这个时候往往是公司的战略转型期,需要对流程进行根本性的变革,需要全面评估业务流程,需要根据战略对流程进行重新设计和重组流程以适应公司的战略,流程重组往往伴随着IT系统的实施、重大的组织变革和业务模式的变革。这个阶段往往是一次重大的管理变革。

这个时候企业的流程本身并没有很多的问题,但是往往不能适应新的战略,一般伴随IT系统的实施或者新的战略调整,需要对企业的流程进行全面的评估和战略性思考,同时随着流程的调整需要进行一系列的配套措施。

以某知名的房地产企业为例,公司的新战略要求能够快速的交付产品,快速的进行存货周转,但是在对房地产开发的整体业务流程进行审视时,发现对现有的业务流程进行简单的优化和完善并不能解决问题,在整个开发流程中,招标采购占了相当长的时间,如果只是对该流程进行一些局部的优化并不能有效的解决快速交付产品的问题,在对整个业务流程进行后战略性思考,提出了从设计角度对一些材料和工程进行标准化设计,在采购方面建立战略采购系统的模式,通过这种标准化的产品设计和战略采购,使得一些费事费力的采购招标过程可以免去,从而极大的加快了产品的交付和提高了效率。这个变革涉及到整个规划设计、采购招标乃至成本预算等流程的变革。
博锐20
业务流程重组因为往往伴随着业务模式的调整,是一次重大的管理变革,存在较大的实施风险,但一旦成功,往往能给企业带来业绩的重大改善。

这三个层次的流程管理适用于不同阶段的企业,当然他们之间的界限不是严格意义上的。在进行业务流程的规范时,最好能对流程进行一些优化,业务流程优化和业务流程重组之间的界限也只是程度上的区别,关键是进行流程管理时根据管理的现状采用合适的方法和步骤。

作者:攀成德


SOA 应用五大问题所在

2006-10-18 @ 14:45 in 转贴

SOA刚刚经历了喧嚣的一年, 而这种刺激和变化才刚刚开始而已。各种机构团体继续对服务设计的多变的前景,服务总线,和服务管理甚至仅仅针对服务本身进行再次检测。这是由多方面的情绪引发的,很多人对于SOA在IT业中的成熟度与大致情况感到困惑。 但是,对于其在联合商业与技术方面的潜力,人们还是抱着毋庸置疑的兴奋。

  今年许多SOA厂商带着各自的目标和期望值投放市场,有的一败涂地, 有的困难重重。在完成他们最初目标的决定性因素是学习那些已经在竞争中存活下来但是结果不怎么理想的项目经验。这些人留下来讲述他们的故事并警告他人在通向SOA的道路前方等待着他们的将是什么。

  在我们的工作过程中将会看到不同完成程度的不同项目。我们可以看到一个好的SOA项目陷入困境, 不好的SOA项目变得更差。问题都是能够解决的,错误也可以纠正,但在将事情导向正途的过程总会有一些影响。因而最好的办法就是防患于未然。

  理解了其他的缺陷之后,在你的SOA道路上构建一个安全路径将成为你的首要任务,你能达到的前景范围退居其次。为了让大家有一个领先他人的开始,我们收集了SOA应用中的五大弊端。

  第五:不能理解SOA 性能需求

  松散的连接是有代价的。当实现网络服务之后,SOA实现了数据处理层及架构于此基础上的相关性能。从小做起, 建立能按照预期运转的面向服务方案是较容易的。随着规模的扩大和新功能的增加,以信息为基础的沟通将会增长, 如此以来, 在预计之外的情况将开始经历一个重大的处理反应期。

  建立成功的面向服务方案关键在于事先理解该方案性能需求及其基础架构的局限性。这就意味着要测试(如果必要的话, 加强)您的外部环境的信息处理能力并密切注意服务设计以达到在传送速度,传送量和能给方案性能带来负面影响的其他服务之间的平衡。

  第四: 并非建立在XML基础上的架构

  在今天的SOA世界中,一切皆始于网络服务。 这句话在某些机构当中已然成为了纲领, 但它却并不是完全正确的。其实, 在今天的SOA世界中, 一切始于XML.这个标准是由多层辅助标准演化而来的,目的在于形成既成事实数据的演示架构。这是促使形成今天驱动SOA一系列服务规范的一套核心标准。

  我们投注了太多的注意在服务之间的数据传送上以至于经常忽略了这些数据是如何建构的,如果在服务线上生效的。这种疏忽将导致持续出现XML数据演示层的错误执行。XML数据演示层是SOA的基础, 它的缺陷将影响到建立在其基础上的所有方案。

第三: 缺乏过渡计划

  没有全面的过渡计划, 成功转换的几率将大大降低。 由于企业内服务端点的范围将引起外部基础架构的重新定义,执行低质量的转换,其影响将是巨大的。有了过渡计划,你就可以在控制中逐步实现服务定位和SOA特性,从而使转换是在技术,架构及组织层面上进行的。

  典型的SOA过渡计划包括: 效果分析(即预计SOA的改变对现有资源、程序、制订规则的影响范围),转换架构(即制订一系列混合进程计划以实现目标SOA)和一个投机分析(即考虑未来的网络服务增长及相应的配套技术发展)。

  第四: 非标准化SOA

  于其他架构一样,SOA需要内部设计标准的建立与实施来实现其优势。例如,如果一个项目建立一个与其他软件隔离开的面向服务方案,该方案的关键部分将不会符合临近应用程序,而需要内部操作或者与其他程序共享某种服务。

  这就会引起许多问题,比如不兼容的数据演示,与不规则界面产生服务协议和非互补页面服务扩展名的应用(或者扩展名以不同形式安装)。

  SOA 提倡使用抽取末端处理的发展环境以便能在一个应用程序里独立执行和发展。但是,标准化在保障其设计和与融入末端逻辑的其他服务互动的连贯性来说仍然是必要的。

  第五: 按照传统结构分布建立SOA

  在实现SOA的过程中面临的最大的障碍就是按照传统分布结构模式来建立SOA,并声称SOA的实现。

  SOA 并不是简单的CORBA + XML,也不是ASP.NET + WSE。 服务导向并非目标导向,它们之间的联系也没有紧密到所有建立目标导向的组成逻辑在服务导向方案环境中都可以适用的地步。SOA是一种独特的建立在服务导向基础上的架构,一个独特的设计范例。理解其独特性对于建立真正的面向服务自动操作逻辑,使之与SOA全球发展方向一致是至关重要的。


Hibernate 3.2 released, certified JPA compatible

2006-10-18 @ 14:36 in 转贴

Hibernate 3.2 released, certified JPA compatible

Posted by: Joseph Ottinger on October 16, 2006 DIGG
JBoss has released Hibernate 3.2, their popular persistence engine, now certified compliant with the Java Persistence API. In addition to JPA compliance, hibernate adds new query capabilities, declarative data filters, and optimistic locking in a cluster with JBoss Cache.

The Hibernate 3.2 release includes:
  • Hibernate Core is the full featured, high performance object/relational persistence and query service that popularized object/relational mapping for Java. Hibernate relieves developers from 95 percent of common data persistence related programming tasks, compared to manual coding with SQL and the JDBC API. Hibernate Core offers a powerful native data management and query API, and object/relational mapping with XML metadata. Hibernate Core requires JDK 1.3 or greater and works with any J2EE 1.4 or Java EE 5.0 application server.
  • Hibernate Annotations offers several packages of JDK 5.0 code annotations that developers can use to map classes, as a replacement or in addition to XML metadata. Hibernate Annotations supports standard Java Persistence object/relational mapping annotations, native Hibernate extension annotations, and declarative data integrity rule definition and validation with the Hibernate Validator framework. Hibernate Annotations requires JDK 5.0.
  • Hibernate EntityManager implements the Java Persistence programming interfaces, object lifecycle rules, and query options as defined by Java Specification Request 220 (EJB 3.0). Combined with Hibernate Annotations, this wrapper offers a complete Java Persistence provider on top of the mature and powerful Hibernate Core. The Hibernate Java Persistence provider is the default Java Persistence provider of the JBoss EJB 3.0 implementation. Additionally, it can be used inside any other Java EE 5.0 application server or standalone with JDK 5.0.
Message #220447 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Hibernate 3.2 released, certified JPA compatible

Posted by: Roland Altenhoven on October 17, 2006 in response to Message #220401
Congrat for the finally releases of 3.2.

It is much to be hoped, that some existing minor (but sometimes a little bit painful) problems of Annotations and JPA are now solved with 3.2 ...

Hibernate and JPA, Annotations rocks ...

Roland
SOA Kompetenznetzwerk
Information & Collaboration Portal

New Look & Feel and advanced Information- & Collaboration Strategy are upcoming, soon ...
Message #220521 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Hibernate 3.2 released, certified JPA compatible

Posted by: Michael McCutcheon on October 18, 2006 in response to Message #220401

For JPA, which is better, Hibernate or Toplink Essentials?

What are the differences between the two as it relates to JPA?

Which works better with Derby?

Mike
Message #220523 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Hibernate 3.2 released, certified JPA compatible

Posted by: Dorel Vaida on October 18, 2006 in response to Message #220401
Excellent news, congrats to the Hibernate team.

AJAX JSF Frameworks Review

2006-10-18 @ 14:29 in 转贴

Introduction

This review gives a summary on current commercial JSF Frameworks that use Ajax to update the website. The frameworks Icefaces, Netadvantage and Quipukit will be compared by analyzing specific components to each other. Moreover, we will give you detailed information about positive and negative impressions and experiences we gained about them during the installation and using them in practice.

The hybris Product Information Management (PIM) Platform already handles nice web features like treetables, sortable lists and autocompletion. But it still does not use Ajax (Asynchronous JavaScript and XML) for exchanging data dynamically from client to the server, which would allow individual pages to be updated without reloading the whole content. Thus, we're going to try to recreate these objects with the help of those three frameworks.

查看全文:http://www.theserverside.com/tt/articles/content/JSFComparison/article.html


Business Modeling and Outside-In SOA

2006-10-17 @ 18:54 in 转贴

Business Modeling and Outside-In SOA

Document ID: ZAPFLASH-20061012 | Document Type: ZapFlash
By Jason Bloomberg

Anybody who has ever attempted to teach computer programming to a room full of tech novices knows that some people easily get it, while others simply don't. There's something about the basic "do this, make a decision, then do that" execution flow of any program that is comes naturally to some, while other people simply don't seem to be wired in such a way as to make sense of such algorithmic thinking. As it happens, the algorithm-resistant population is every bit as clever as the programming-friendly group; it's just that they think differently about the behavior of systems and thus choose to represent them in different ways than their more technical peers.

The underlying observation here is that human beings are marvelously adept at representing arbitrarily complex concepts with a wide range of different kinds of models. In fact, our innate ability to model reality is so pervasive in our day-to-day lives that the modeling process tends to fade from our awareness. Nevertheless, whether in business or in any other aspect of our lives, we are actively dealing with the complexity that surrounds us by building internal models that represent various aspects of reality. Furthermore, the types of models we use are amazingly diverse, as each of us leverages different types of models for representing the full spectrum of experiences we encounter in our lives.

As organizations look to Service Orientation to provide best practices for leveraging information technology (IT) to provide agile resources for the business through the power of the Services abstraction, the ubiquitous, varied, and subtle nature of the human ability to model complex situations becomes a central concern. After all, the abstractions that Services represent are a type of model themselves, as are all the ways that people think about using Services in their business processes. Furthermore, the dichotomy between people who are comfortable thinking algorithmically and those that aren't resonates well beyond the classroom, with the algorithmically inclined leaning toward careers in IT, while people who prefer other types of models gravitating toward business roles.

This natural division of aptitude presents a challenge for any organization implementing Service-Oriented Architecture (SOA), because Service Orientation brings together these disparate ways of thinking about modeling, and requires IT to support the variety of models that business people prefer. Indeed, technical approaches to business modeling have fallen short of addressing the needs of business people who tend to think in non-technical terms. As a result, learning how to accommodate the different ways that people in the organization think about both business and technology is a critical best practice in the Service-oriented architect's toolbelt. Without this understanding, the business is unlikely to extract the value and flexibility from the SOA implementation that they desire.

Understanding Models in the Business World
Ask an average cubicle dweller who's not in IT to break down what they do every day into its most basic elements, and you're likely to solicit a list of human interaction-based activities that move information around: conversations, meetings, sending and receiving communications, reading and writing, and the like. Knowledge workers might throw in activities like analyzing or evaluating. Few business people, however, will reply that they spend their days executing business processes.

From the IT perspective, however, if you define a business process as "what a business does," or even as "a set of activities intended to achieve a business goal," then all the various activities that our cubicle crowd undertake fall into the category of executing business processes. In fact, ZapThink frequently espouses the perspective that the Service-oriented approach to business process calls for flexible business processes that respond to the way humans work, rather than processes that constrain humans to work the way the systems want them to work. The problem is, the various models IT uses to represent business processes -- flowchart-based orchestrations, flexible choreographies, defined flows -- are only a small subset of all the useful models that businesspeople might use to represent the way that they understand how the business actually works.

In fact, businesspeople have a rich, varied set of models for representing how they move information around: conversations, messages, documents, spreadsheets, Web interfaces, mind maps, flowcharts, agendas, schedules, calendars, and other loosely structured forms of information representation. To be truly successful with SOA, therefore, IT must support these multiple approaches for representing and exchanging information, instead of shoehorning business operations into an IT-centric representation of how techies think the business is supposed to work.

Taking Business Models to the Next Level with SOA
Models, of course, are core to architecture, and SOA is no exception. ZapThink's SOA Metamodel consists of a number of different models, including the business model, which represents the requirements of the business, the Service model, which represents both the Services in production as well as the requirements for new or changed Services, as well as implementation models that represent the underlying technology that supports the Services abstraction. Of these, the Service model is what makes SOA unique, and implementing the Service model properly is the essence of effective SOA.

The best way to implement the Service model is through metadata: Service contracts, policies, Service composition logic, and other metadata that represent all the salient aspects of existing or required Services and their use in the organization. Metadata are the appropriate vehicle for such models, because metadata support declarative representations of dynamic configurations. This declarative nature of metadata, in fact, is an essential enabler of SOA, and one of the primary reasons that the prevalence of XML has provided the raw material that characterizes today's SOA initiatives.

You might assert that the opposite of "declarative" is "programmatic," where metadata implement declarative configuration while executable code supports programmatic logic. The context of the variety and subtlety of the human reliance on models, however, blurs the distinction between declarative and programmatic approaches. Clearly, if you're writing Java or C# code manually, you're behaving programmatically, while if you're picking options off of pull-down menus on a Web page, you're behaving declaratively. But what if you're using an XML-based programming language like Water? The Web Services Business Process Execution Language (WS-BPEL, or BPEL) is similarly an XML-based execution language, as its name suggests.

Furthermore, a business user may be interacting with a fully declarative interface, but might type in some simple JavaScript or Visual Basic in a field to express some business logic. Indeed, while it's possible for a declarative tool to support pull-down menus that can duplicate, say, a line of JavaScript, just how important is it to avoid typing in a simple script? Furthermore, it's possible to argue that text-based programming languages are themselves a form of metadata that represent the underlying bytecode that the appropriate platform can execute.

Lest we allow this discussion to devolve into an unproductive battle over declarative vs. programmatic approaches, it's important to realize that both techniques are models -- and furthermore, represent only two among many different models people use for modeling the flow of information in the organization. Some people prefer to think programmatically, others favor declarative thinking, while still others would rather use a spreadsheet, rules engine, calendar, email client, or some other representation. Is typing a formula into a spreadsheet cell programmatic or declarative? Regardless of your answer, the point is that it doesn't matter, since spreadsheets effectively represent certain information-related tasks consistent with popular, well-understood models for such tasks that the business uses every day.

The ZapThink Take
There is an essential lesson for the architect here: design is an outward-in process, not inward-out. All good architects begin with humans and what they're looking for from the systems the architects are designing. Since Service Orientation requires an enterprise perspective on the interactions between business and IT, it's essential for the Service-oriented architect to be able to wear the hat of a business architect, and consider all the various models that the business is apt to use to represent the capabilities both of the business and the IT that serves it.

Furthermore, there is also an important lesson here for technology vendors as well: SOA tooling must be as diverse as the business users who wish to use it. People may utilize any number of different tools that leverage numerous models to take advantage of the Services their SOA provides. Gone are the days where tools vendors can manufacture only hammers, and expect their customers to recast all their problems as nails. By abstracting the interaction between business and IT, the business now expects IT to take care of business however the business sees fit, and not vice-versa.


解读SCA/SDO —SOA已进入实质阶段

2006-10-17 @ 18:34 in 转贴

  为了进一步推动SOA的发展,2005年12月,IBM联合BEA、Oracle、IONA、SAP、Siebel、Sybase、Xcalia以及Zend公司,共同发布了两项针对SOA的重要编程模型规范——SCA(Service Component Architecture)和SDO(Service Data Object)。业界普遍认为,这两项规范的发布,标志着SOA的实施已经进入了实质性阶段,将对SOA的发展发挥重要的作用。

  为了深入了解这两项技术规范发布的意义,IBM北亚太区企业整合解决方案首席架构师暨中国SOA设计中心技术主管毛新生先生对此做了相关介绍。

  问:请问这两项技术规范会给行业带来哪些影响?

  毛新生:综合起来,SCA就是怎样在现有技术基础上,为SOA计算环境(松耦合计算环境)提供开放的组件及其服务描述。另一方面,它规定已经设计好的组件之间交互,以便组装服务来构造应用。SDO则包含了连接器、协调器、对象图表、各种数据对象之间的联系信息以及这些联系信息中的描述方式。

  无论如何,SCA/SDO所构成的编程模型可以为程序员带来很多非常直接的好处,而且用它们来描述和实现业务模型,将会达到一种相比原有J2EE平台或者.NET平台更加简洁和通用的效果。在面向服务的环境中,新编程模型最主要的特点就是从业务的需求出发,将一组松耦合的服务组合成业务流程,完成所需要的业务活动。但这种松耦合的服务组装是建立在开放的服务组件及其动态交互的基础之上的,因此,SCA定义能让整个业务架构看起来更加漂亮、有更大的灵活度,你还可以选择不同的方式来实现这些业务组件。过去,人们没有太多选择,在J2EE下,只能使用Section Bean,在.NET下,只能使用.NET Component,IBM在SCA的实现中,也就是WPS 6.0所提供的SCA运行时环境,有多达八种不同的组件实现形式可供选择。你可以选择用BPEL的方式实现组件,也可以用纯

  问:这两个规范对SOA具有什么重要意义?

  毛新生:这个规范是IT技术主流的技术厂商支持的,它的建立为SOA计算环境下的编程模型打下了一个坚实的基础,而且这个编程模型对于SOA的发展,相当于向前跨了一大步,具有非常重要的意义。你可以从如下几个维度来看待SOA:

  •   计算环境维度,编程模型是整个计算环境非常重要的组成部分;
  •   软件工程维度,用怎样的方法来标识这些服务,怎样描述它的接口、消息等细节;
  •   设计原则维度,根据你采用的编程思想来设计软件结构和设计风格;
  •   具体实现维度,怎样用你已经搭建起来的软件在SOA的计算环境下跑起来。

  从上面几个角度可以看出,SCA/SDO在SOA的环境下扮演了非常重要的角色。从IBM目前已经做到的工作上看,我们已经能够将SOA开始应用在工程领域,过去两年来我们的实践也证明了这一点。

Java组件的方式实现这些业务组件,你甚至可以定义业务规则、人机交互任务或者状态机来完成这个事情,这样就可以根据你的实际状况、人员情况、技术背景等不同的方式选择更适合自己的方式。由于SCA下实现组件的接口都是非常统一、通用的,因此要将它们组合起来是一件相对原来更加轻松的工作。SDO带来的好处则更加明显。在我们服务过的客户中,一旦遇到需要针对很多应用进行集成时,其数据源往往都分布在不同的地方,而且极有可能是异构的,它们不仅在语法上,而且在语义上也有极大的差别。而SDO恰恰就是用来完成这项工作的,它根据业务的语义定义一个完整的Schema,不仅能清晰地定义各种数据对象,而且还能有效描述各种对象之间的联系,充分利用了XML强大的自描述能力。对于在整合复杂应用的环境下,SDO所带来的效率上的提高非常大。
 问:这两项规范的发布是否会给J2EE平台带来冲击?

  毛新生:就平台而言,J2EE与SCA/SDO应该是一种相互补充的关系,而并非相互取代,只是你现在可以用另外一种方法来实现业务。不管平台本身到底如何,关键的问题在于背后的思想——开放。不管J2EE还是SCA/SDO,都是可以支持SOA计算环境,这也意味着J2EE朝着开放性上再一次做了提升。过去,IBM、BEA等厂商都很支持J2EE,所有的支持者都将继续在J2EE平台做具体工作,但是大家都需要一个更开放的标准。

  问:为什么在这次联合规范发布的厂商中,没有Sun和微软?

  毛新生:Sun在Java社区是非常重要的一个成员,众多原来支持J2EE标准的厂商也正在与Sun做一些沟通,并通过Java标准化组织来合力促成标准的制定。另外,微软是产业中非常重要的厂商,在SOA方面,大家共同推进的标准需要对整个IT产业中的厂商都产生影响,因此微软将来也很可能加入到这个联盟中来,当然,在短期下,可能它会受限于原有平台和技术的独立性,但从长远看,这个事情是迟早要发生的。开放在今天是主流,在技术推动下、用户要求下、市场压力下,多数厂商都会逐渐走到开放的大旗下来,这是我看到的一个趋势。因此在SCA/SDO开放的本质是显而易见的,一旦这个规范成为标准,我相信会有更多的厂商会加入其中,而且,众多在开放旗帜下的厂商也一定会为推动开放规范标准化进程而努力。

  问:能否预测一下SOA未来的发展趋势?

  毛新生:这里我引用一下Gartner的报告:

  •   随着商业和技术的推动,SOA将成为将来的发展趋势已经没有人怀疑了;
  •   2007年,超过50%的公司将SOA作为IT战略来考虑;
  •   2008年还没有将SOA引入到公司的IT实现中去,那么该公司将成为一只恐龙,也就是说这个公司很落后了

  目前中国大陆公司做了10来年信息化、台湾做了20多年、日本做了30左右年,欧美做了40几年,过去那个时代,部门级的信息化就可以获得很好的效益和利润,但今天全球化到来,企业还需要进一步加强竞争力。部门级的竞争力要转化为企业级的竞争力。有些公司已经开始在自己的IT系统中支持虚拟组织/企业的业务运作,把自己搭建到一个庞大价值链的顶端,并建立起针对这种环境的业务模型。这些企业开始在动态价值网络上最大化自身,这种做法对IT提出了很多新要求。另外,动态协作,也就是部门之间/企业之间动态、快速地协作,使业务运作能够迅速应变,要求建立起清晰的契约,如果没有契约,很多业务规则将消失于无形,进而影响业务的控制和管理,它与服务的概念不谋而合。这要求实现分布式的技术应该是开放、灵活、松耦合的组件,并以清晰的契约协作,完成业务逻辑、业务流程和业务活动。新模式与SOA极为类似,这也是为什么开放的规范将会很容易成为发展趋势的原因。相比之下,美国和日本等企业对于开放的技术接受程度很高,并将开放的标准作为战略的决策依据,对于企业目标的实现具有至关重要的作用。多年基于部门级的间信息化建设,企业架构比较乱,需要整合,需要理得顺一些,而EAI通常采用特有技术,开发和维护费用过于昂贵,SOA以及所提供的SOI,以其开放、通用的特性,为建设企业级架构、企业范围内的应用整合提供了最为理想的基础。由此,SOA的趋势不可抵挡。11月30日,IBM、BEA、Oracle、IONA、SAP、Siebel、Sybase、Xcalia和Zend科技公司联合发布了针对SOA的编程模型SCA(Service Component Architecture)、SDO(Servlce Data Object),这两个规范的发布标志着SOA的实施进入了实质阶段。

 查看全文

核心统一过程(EssUP)——统一过程的生力军

2006-09-22 @ 13:00 in 转贴

来自:CSDN  作者:Dave Thomas

我最近有幸参与了评审 IJC 的新的核心统一过程(Essential Unfired Process,EssUP),并很高兴向大家报告 EssUP 提供了软件过程改进的一种全新方法。IJC 拓展领域创新并不足为奇,因为其创始人 Ivar Jacobson 是用例、统一过程和 Jaczones Waypointer 之父。与以前的 UP 表示法相比,基本统一过程更简单、更灵活且更具可扩展性。它以轻量级和友好的方式呈现在大家的面前,使过程的学习更简单,在某种程度上甚至成为一种乐趣。

  从 Objectory 到 RUP ―― 第一代过程

  我第一次邂逅 Ivar 是在 1988 年,之后我们通过电子邮件对他在 Objective Systems 的Objectory 早期工作进行了讨论。当时,Objectory 是最全面的过程描述之一,也是仅有的面向对象(OO)过程。它由 OO Meta 模型和一个带有相关工具的综合超链接文档组成。当时,尚未有人认为过程可以像 OO 编程和 Ontology 一样进行公式化和具体化。当 Rational 收购 Objective Systems 时,Objectory 及其开发团队成为 Rational 统一过程的主要影响力量。

  通过与 OMG 的合作,Ivar 在 Rational 成功推出 UP 和 UML。Rational 当时选择保留 RUP 的所有权 。OMG 在供应商自身利益和方法学的支配下,继续推动 UP 和 UML 沿着他们自己的方向发展,从而坚持了结构复杂的 SPEM 模型、复杂的元架构(MOF)以及具有最少语法或语义说明的 UML 语言(参见 … )。

  不幸的是,对于某些开发人员来说,虽然 Ivar 被公认为是 RUP 之父,但 RUP 的命运掌握在 Rational 手中。RUP 的本意是提供一种帮助人们开发软件的方式,但它迅速发展成为一种综合的市场商品,Rational 作为独家过程和工具供应商来销售它。RUP 迅速扩充为 1000 多页的超链接资料,每个链接足以让开发者望而却步。它从头到尾为不懂软件开发的管理层提供了如何开发软件的说明性答案,尤其适合迫切想要通过 CMM 认证的企业或政府机构,并提供了所谓的符合 TQM/Six Sigma 和 ISO 9000 标准的软件。最后形成了用于构建软件的说明性过程。所有开发人员必须按照指导来操作!可是软件开发并非如此简单!

  让过程作为指南,而不是“警察”
  我曾与 Ivar 多次讨论如何将简单的、好的创意溶入墨守成规的复杂设计中,这些设计在最初构思或表示时并未考虑到这些好的创意。Ivar 创立了 Jaczone 和 IJC,其目的是遵循他的基于过程和工具的软件开发初衷,以帮助指导和协调软件开发,而不是规定和监管软件开发过程。EssUP 致力于过程的返朴归真,通过更简单的表示和开放的设置来欢迎和拥抱集体的贡献。

  过程 = 一组实践
  过程不等于惯例,过程的存在也不意味着必须遵守它!虽然过程和工具日益增多,但企业迅速发现,这并不一定带来我们所预期的更高质量的软件。敏捷宣言(Agile Manifesto)标志着敏捷联盟(Agile Alliance)的诞生,这要归功于一个成功的软件开发者社区克服了笨重的过程/方法,站在了大众的立场上。他们关注如何生产软件、如何改进软件的实践。敏捷转换(Agile Transition)改变现实的实践,而不是停留在肤浅的过程表面。这些实践应用精益方法进行软件开发,通过度量所交付的软件对软件进行持续改进,而抛弃盲目的、无谓的错误估计。
核心统一过程

  精益概念
  EssUP 秉承了精益软件(Lean Software)开发的精神,强调使用实际需要的实践,并调整过程使其适应项目的需要。它摒弃复杂的公式化元模型,取而代之的是简单的可感知的分类法。这避免了哲学挑战和面面俱到的 Ontology 软件概念的无谓争论。使用较少的分类,EssUP 允许对各种过程实践及其相关工件进行简单的描述、组织和沟通。

  易于学习 ―― 简炼的表示方法
  EssUP 提供了一种全新的表示方法,它使用卡片和指南表来提供实践及相关工件的一致、简单的解释。卡片法借鉴了 OO RDD 设计的 CRC 卡片以及 XP 需求“故事”卡片的成功经验,使实践的解释和理解更容易。EssUP 不会规定过程,相反,它允许用户使用卡片法来描述所需的过程或实践。这对于过程的具体化和可视化大有裨益,并且允许仅使用实际所需的过程。EssUP 引入了过程竞赛,它汲取了 XP 计划竞赛的精华,允许适合于项目的快速构建和过程沟通。

  开放的和可扩展的
  过去,过程描述是综合且自成体系的。供应商和过程组织提供了大量描述,但其中大多数只是重复了书籍和纸张上所记录的概念。不幸的是,在许多情况下他们甚至忽略了关键的初始工作,更有甚者,许多描述质量不合要求,产生误导甚至是错误。保持这样庞大的过程现已证明是不切实际的!

  EssUP 关注本质,并提供了软件社区初始基础工作的参考。它并未提供大量的用例、架构或模式,而是简单地引用最佳的专业文章和书籍。这样做是为了明确地避免作为权威指导出现,并且清楚地表明,专业人员是知识的主体,知识对于实施软件开发实践是至关重要的。

  简单的卡片/指南格式以及非正式的概念分类法更方便大家为过程做出贡献。IJC 已宣布他们正在研究一种最佳方法来创建开放的 EssUp 社区,以便让更多的人能够分享他们的实践。

  结束语

  与以前的 UP 表示法相比,核心统一过程更简单、更灵活且更具可扩展性。它以轻量级和友好的方式呈现在大家的面前,使过程的学习更简单,在某种程度上甚至成为一种乐趣。IJC 已创建了一组初始的实践,并作为 EssUp 提供。IJC 已宣布他们正在研究一种最佳方法来创建开放的 EssUp 社区,以便让更多的人能够分享他们的实践。虽然最初的产品只是一个轻量级的 UP 过程,但其他非 UP 过程必将可以用相同的基本概念和方法来描述,无论它们是具有苛刻安全要求的过程还是较为灵活的过程


High Performance SOA

2006-09-21 @ 13:30 in 转贴

High Performance SOA

Document ID: ZAPFLASH-2006920 | Document Type: ZapFlash
By Jason Bloomberg

In the world of information technology, the concept of abstractions are particularly handy. Take, for example, the Services abstraction at the heart of SOA, which masks the complexity of the underlying technology implementation while presenting composable business Services to internal and external users. But every abstraction comes at a price, and the Services abstraction is no exception. Loose coupling, composability, agility, and the other benefits of SOA all introduce performance overhead. For limited sets of Services with small numbers of users, this performance hit may be minimal. For SOA implementations with large numbers of users, Services, or traffic, however, maintaining the necessary performance levels presents a substantial challenge, both to the architects who design the infrastructure as well as IT operations personnel who are responsible for keeping the lights on.

In fact, in SOA environments with the highest performance requirements, maintaining the Services abstraction in the face of high traffic is a paramount concern. Fail to maintain the abstraction, and the Services no longer meet the agile needs of the business, and the quality of the SOA implementation comes crashing down like a house of cards.

Performance Beneath the Services Abstraction
The SOA performance problem falls into two broad areas: ensuring sufficient performance of atomic Services as well as of composite Services. Atomic Services provide Service interfaces that abstract existing systems, so ensuring their performance necessitates managing the performance of the components, applications, and systems that lie beneath the Services abstraction. As you might expect, dealing with the performance of atomic Services leverages well-established capacity planning and performance quality assurance (PQA) techniques, including clustering, virtualization, and load testing. Today's architects are adept at making infrastructural decisions that ensure, for example, sufficient database performance, distribution of traffic onto a cluster of application servers, and the like.

Furthermore, traditional PQA also serves atomic Services well. Simulating loads on Service interfaces is quite similar to simulating traditional Web page performance, after all -- and many Web Service PQA tool vendors have predictably based their products on Web page PQA tools that performance test traditional Web applications via their Web interfaces. But while Web Services share some similarities with Web pages, there are some fundamental differences. In particular, Web page interactions are usually request/reply, but Web Services support a wide variety of interaction styles, including asynchronous, synchronous, event-driven, publish/subscribe, and one-way. Load testing a Service that has such a wide range of interaction styles requires more sophisticated tooling than traditional Web page-centric PQA tools.

Performance Above the Services Abstraction
While SOA manifestly relies upon Services, there is far more to properly architecting SOA than simply building a bunch of Services. Architects must consider the consumption of those Services as well, including the dynamic, business-driven composition of Services into Service-Oriented Business Applications (SOBAs). Unfortunately, the very nature of SOBAs as flexible, continually changing, potentially ad hoc compositions presents complex performance challenges to architects and operations personnel alike.

In fact, there are several dimensions of SOBA performance that architects must consider as they plan their SOA:

  • Balance between use and reuse -- Some services expect high use, meaning large volumes of traffic from specific consuming applications, while others expect high reuse, implying a range of different consumers that may use Services in different ways, for example, in different SOBAs. High usage is often (but not always) more predictable than high levels of reuse, but the architect must plan for both, as well as the combination of the two.

  • Very Large Messages and Granularity -- Some Service interactions involve the exchange of very large messages (VLMs). Addressing the performance issue of VLMs requires different infrastructure and different planning from Service interactions that exchange large volumes of messages. Sometimes the VLM problem directly relates to the granularity of the Services, while other times it might concern SOAP attachments, encryption, or other features that increase the size of messages. But in any case, the architect must take the sizes of messages into account as part of the SOA performance plan.

  • Dynamic Performance policies -- In some cases, the service level requirements of individual Services is part of the contract for each Service, but in other cases, the organization requires performance policies that they can apply to Services as part of their governance framework. In fact, being able to reconfigure performance policies may be a business requirement the architect must take into account when planning the SOA.

  • Service dependencies -- Service compositions come in many flavors: orchestrated flows, flexible choreographies, data virtualizations, and various combinations thereof. String several Services together where the output of one contributes to the input of the next, for example, and if one Service in the chain is too slow, the entire composition suffers. Multiply this bottleneck issue by the numerous ways that people can create SOBAs, and the architect has a complex task ahead.

Tackling the SOA Performance Problem
Dealing with performance bottlenecks is like playing whack-a-mole: defeat one and another immediately pops up. Even worse, implementing SOA just increases the number of moles you have to whack. It's essential, therefore, for the architect to plan for performance bottlenecks at different levels, both above and beneath the Services abstraction. In other words, the architect must craft a performance plan that might take advantage of some combination of the following approaches:

  • Service and infrastructure virtualization -- Various virtualization techniques can provide cost-effective approaches to dealing with variable performance issues, essentially by abstracting a specific part of the infrastructure. Virtualization is especially useful for dealing with unexpected spikes in demand, but the complexity of virtualizing heterogeneous resources can often limit such approaches' effectiveness.

  • Combining judicious loose coupling with strategic tight coupling -- While a simplistic view of SOA might suggest that loose coupling is always better than tight coupling, the fact of the matter is that loose coupling introduces overhead, while tight coupling can smooth out bottlenecks. The architect's challenge, therefore, is in identifying those situations where the business requires some level of loose coupling, and then providing only as much as it needs, for example, by implementing transactionality in compiled code and distributing that code for high concurrency parallel processing underneath the Services abstraction.

  • Registry-based dynamic routing -- A Service-oriented approach to load balancing leverages registry-based location independence to route Service requests to the appropriate Service instances in order to satisfy performance requirements. This dynamic routing approach to scalability and fault tolerance is unlikely to be as performant as tightly coupled clustering, but works well in heterogeneous environments, and can leverage the declarative policy management capabilities of the registry.

  • Performance as part of the SOA governance framework -- Leveraging the registry's policy management features should be more than an afterthought, however. In fact, the broadest, most agile approach to SOA performance is to plan for it as part of the governance framework for the SOA implementation. Based on the performance constraints of the technology, craft policies that will maintain the required performance levels while empowering users as much as is practical. For example, if the architecture team can distinguish particular types of SOBAs that the infrastructure can support from others that it cannot, then the team should be able to craft policies that will appropriately limit SOBA creation, and thus create predictable limits for overall performance.

  • PQA throughout the Service lifecycle -- Traditional PQA typically applies simulated loads before deployment to a QA environment that closely mimics the production environment. After all, such traffic loads can bring systems to their knees, so nobody would want to run them in a live environment. Maintaining parallel QA environments for SOA implementations, however, is difficult to impossible, because of the wide range of possible configurations of SOBAs and the Services that feed them. PQA for SOA must therefore take a more subtle approach than the "pound on it until it fails" technique. Instead, SOA PQA relies upon the use of configurable policies that indicate whether a Service is in live or test mode, combined with active SOA management that proactively monitors live performance and takes preventative steps should Services cross pre-set warning thresholds.

The ZapThink Take
Analyzing SOA performance highlights the fact that SOA is more evolutionary than revolutionary. Architects must still know how to use every capacity planning and performance enhancement tool in their toolbelt, only now they're able to add a few new tools to the mix. In fact, there's no way we'd be able to figure out how to scale Web Services if we hadn't already worked out how to scale traditional Web applications.

It's also important to note that SOA performance is about more than ensuring that Services perform as required, just as SOA is about more than building Services. SOA best practices also cover the consumption of Services -- within SOBAs as well as at the user interface. As a result, the comparatively mundane world of SOA performance has direct relevance to the sexy world of Enterprise Web 2.0. After all, no enterprise would depend upon rich, collaborative applications if there were no way to ensure their performance.

Finally, dealing with SOA performance requires an Enterprise Architecture approach to SOA. Those bottleneck moles in the whack-a-mole game can appear anywhere in the enterprise, at any level of abstraction. The fact that SOA hides the complexity of the infrastructure from the user only exacerbates the need for an enterprise perspective, because high quality, high performance SOA requires high performance from every part of the enterprise.


 
日历
« 十二月 2008 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

最新发表

文章分类

文章归档

Syndicate

本站推荐的其他内容
blog_side_ads

Credits
LifeType IE7 XHTML CSS Firefox