﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-M-A-T   Tory's Blog-随笔分类-SOA </title><link>http://www.cppblog.com/tanxiuguang123/category/1527.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 22 May 2008 19:28:16 GMT</lastBuildDate><pubDate>Thu, 22 May 2008 19:28:16 GMT</pubDate><ttl>60</ttl><item><title>SOA   ——— 5.1</title><link>http://www.cppblog.com/tanxiuguang123/archive/2006/05/01/6526.html</link><dc:creator>Tory </dc:creator><author>Tory </author><pubDate>Mon, 01 May 2006 14:35:00 GMT</pubDate><guid>http://www.cppblog.com/tanxiuguang123/archive/2006/05/01/6526.html</guid><wfw:comment>http://www.cppblog.com/tanxiuguang123/comments/6526.html</wfw:comment><comments>http://www.cppblog.com/tanxiuguang123/archive/2006/05/01/6526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tanxiuguang123/comments/commentRss/6526.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tanxiuguang123/services/trackbacks/6526.html</trackback:ping><description><![CDATA[
		<p>
				<a name="table1">
						<span class="smalltitle">
								<strong>
										<font face="Arial">Table 1. SOA layers of adoption</font>
								</strong>
						</span>
				</a>
		</p>
		<p>
		</p>
		<table cellspacing="1" cellpadding="3" width="60%" border="0">
				<tbody>
						<tr valign="top">
								<td align="middle">
										<strong>Adoption level</strong>
								</td>
								<td>
										<b>Name</b>
								</td>
								<td>
										<b>Description</b>
								</td>
						</tr>
						<tr valign="top">
								<td align="middle">1</td>
								<td>Implementing individual Web services</td>
								<td>Creating services from tasks contained in new or existing applications</td>
						</tr>
						<tr valign="top">
								<td align="middle">2</td>
								<td>Service-oriented integration of business functions</td>
								<td>Integrating services across multiple applications inside and outside the enterprise for a business objective</td>
						</tr>
						<tr valign="top">
								<td align="middle">3</td>
								<td>Enterprise-wide IT transformation</td>
								<td>An architected implementation enabling integration across business functions throughout an enterprise</td>
						</tr>
						<tr valign="top">
								<td align="middle">4</td>
								<td>On Demand Business Transformation</td>
								<td>Broad transformation of existing business models or the deployment of new business models</td>
						</tr>
				</tbody>
		</table>
		<br />
		<p>
				<a name="N100C9">
						<span class="smalltitle">
								<strong>
										<font face="Arial">Table 2. The six approaches to SOA</font>
								</strong>
						</span>
				</a>
		</p>
		<table cellspacing="2" cellpadding="3" width="80%" border="0">
				<tbody>
						<tr valign="top">
								<td>
										<strong>Approach</strong>
								</td>
								<td>
										<b>Description (typical project owner characterization)</b>
								</td>
								<td>
										<b>Qualifications</b>
								</td>
						</tr>
						<tr valign="top">
								<td>Business process driven</td>
								<td>My business processes need to tap into resources, and each activity requires the invocation of IT functionality; I want that functionality to be available in a flexible, replaceable way.</td>
								<td>Top-down</td>
						</tr>
						<tr valign="top">
								<td>Tool-based MDA</td>
								<td>I want to define a model (business model) and then let my tools generate the detail for me.</td>
								<td>Top-down</td>
						</tr>
						<tr valign="top">
								<td>Wrap legacy</td>
								<td>I have existing systems I have been investing heaviliy on, but they are not resilient. I want new functionality added quickly, but these systems are partitioned. They are silos where functions are locked into them.</td>
								<td>Bottom-up</td>
						</tr>
						<tr valign="top">
								<td>Componentize legacy</td>
								<td>Decompose the monolithic legacy systems into modules using compiler-based tools.</td>
								<td>Bottom-up</td>
						</tr>
						<tr valign="top">
								<td>Data-driven</td>
								<td>Provide access to information using services without having to expose schemas or implementation decisions on the provider side.</td>
								<td>Data-focused</td>
						</tr>
						<tr valign="top">
								<td>Message-driven</td>
								<td>"Just want to have these systems integrate, communicate, over standard, non-proprietary protocols."</td>
								<td>Service-Oriented Integration of Applications and Systems</td>
						</tr>
				</tbody>
		</table>
		<br />
		<p>
				<a name="N10172">
						<span class="smalltitle">
								<strong>
										<font face="Arial">Table 3. Patterns and their corresponding benefits</font>
								</strong>
						</span>
				</a>
		</p>
		<table cellspacing="2" cellpadding="3" width="80%" border="0">
				<tbody>
						<tr valign="top">
								<td>
										<strong>Context</strong>
								</td>
								<td>
										<b>Pattern</b>
								</td>
								<td>
										<b>Applicability</b>
								</td>
						</tr>
						<tr valign="top">
								<td>Silo; concentrated functionality</td>
								<td>Hard-coded (not a pattern, but a point in time state)</td>
								<td>Point in time; low risk; low-changing, high-performance systems</td>
						</tr>
						<tr valign="top">
								<td>Distributed; multi-point of access</td>
								<td>Point-to-point exposure</td>
								<td>Expose existing functionality rapidly; unlock value fast; access embedded functionality</td>
						</tr>
						<tr valign="top">
								<td>Wrap a legacy function and make it callable through Web services</td>
								<td>Service adaptor</td>
								<td>Consumer needs access to functionality that is not service-enabled ( access to a legacy system through a service invocation, for example -- a Web service)</td>
						</tr>
						<tr valign="top">
								<td>Access a service using its proxy if you do not have direct access to the service provider?s service description and are unable to directly invoke the service</td>
								<td>Service proxy</td>
								<td>Provides consumers with an SOA interface</td>
						</tr>
						<tr valign="top">
								<td>Provide flexibility in the choice of the service provider</td>
								<td>Remote service strategy</td>
								<td>Provides flexibility in changing service providers based on quality of service or functionality considerations. This opens up possibilities in expediting mergers and acquisitions and flexible alteration of the provider when you consolidate application portfolios.</td>
						</tr>
						<tr valign="top">
								<td>Eliminate redundant functionality; refactor and consolidate or, in some cases, replace existing systems</td>
								<td>Single point of access</td>
								<td>Provides one access point to a number of potential variants in functionality. A service strategy often requires a single point of access.</td>
						</tr>
						<tr valign="top">
								<td>One project or LOB at a time, yet relies on others for some functions not yet exposed as services</td>
								<td>Virtual provider</td>
								<td>Non-existent providers; ramp up service critical mass</td>
						</tr>
						<tr valign="top">
								<td>Single point of access</td>
								<td>Service integrator</td>
								<td>Routing, transformation</td>
						</tr>
						<tr valign="top">
								<td>General enterprise integration approach</td>
								<td>Enterprise service bus</td>
								<td>Mediation; routing; transformation, policies, rules, events; inside the organization or between partners in ecosystem/value-net</td>
						</tr>
						<tr valign="top">
								<td>The Nirvana of SOA; dynamic reconfiguration through context-aware services relying on business domain specific capabilities</td>
								<td>Integrated service ecosystem</td>
								<td>Provides dynamic configuration capabilities to a set of semantically interrelated industry specific business partners that leverage and recombine the ecosystem capabilities to provide greater value to themselves and the ecosystem as a whole</td>
						</tr>
				</tbody>
		</table>
		<p>
				<br />Often an initial challenge is the concrete determination of the value proposition for using SOA within a project, line of business, or organization. This has to do with flexibility and the ability to alter the actual service provider who implements a service once their quality of service dwindles or they fail to provide the required functionality. This flexibility, which is the primary value of SOA, is overcome by understanding the steps in achieving flexibility through a remote service strategy. There are two more challenges that we describe and overcome with the use of patterns presented here.</p>
		<p>
				<br />SOA is a journey of gradual, small transformations that increasingly decouple service descriptions from service implementations offered by multiple service providers. The solutions below are descriptions of how these issues have been recurrently solved and may serve as a pattern to help you on your next project. Like any other pattern, these must also be adapted to fit the context and the forces that shape your individual problem space: the tradeoffs and considerations of your project, whether organizational or technical, make a difference, and you can determine if you need to skip a step from one pattern to another or to partially implement the pattern</p>
		<p>The purely object-oriented strategy pattern primarily relies on inheritance-based polymorphism to create a family of interchangeable algorithms that are swapped out based on context. Rather than have an object hierarchy, in an SOA context, we need to be able to change the service provider with minimal or no impact on the consumer?s perception of the service, thus varying the actual implementer of the service description. The implementer may, in most cases, be a provider of a remote unit of functionality, somewhere in the internal network or Internet. Therefore, for <br />example, a service provider for a VerifyAddress service in an OrderEntry application may need to be changed because our quality of service needs have changed due to higher transaction volumes or security constraints. Or, the provider has decided to charge twice the amount for the same basic service, which we have relied on, in the past. Now, we would like to have the flexibility of changing service providers with IT and Business impunity, which means minimal changes to IT systems and no impact on the business or customer experience in their online shopping experience.<br /><br /><br />以上是今天看得两篇英文文章中一些摘要，文章很长，说实话没看太明白。只能在文章中找一些比较重要的东西贴在这，希望能有用。<br />原文链接：<a href="http://www-128.ibm.com/developerworks/webservices/library/ws-soa-soi/">http://www-128.ibm.com/developerworks/webservices/library/ws-soa-soi/</a><br />                     <a href="http://www-128.ibm.com/developerworks/webservices/library/ws-soa-soi2/">http://www-128.ibm.com/developerworks/webservices/library/ws-soa-soi2/</a><br /><br /></p>
		<p>
				<a name="N10171">
						<span class="atitle">
								<font face="Arial" size="4">6. 开发过程</font>
						</span>
				</a>
		</p>
		<p>尽管以服务为中心的企业集成在开发阶段和普通的应用开发并没有本质的区别，但是它在角色，职责、工具和方法还是有不少自己的特色。下图汇总了本文示例中开发角色，职责，开发方法和工具，仅供大家参考。</p>
		<p>
				<br />
				<img height="183" alt="表2：角色划分和工具支持" src="http://www-128.ibm.com/developerworks/cn/webservices/ws-soi2/images/8.gif" width="652" border="0" /> <br /><br /></p>
		<p>
				<a name="N10109">
						<span class="atitle">
								<font face="Arial" size="4">SOA 的一个架构模板</font>
						</span>
				</a>
		</p>
		<p>SOA 的一个抽象观点将它描述为与业务过程结合在一起的合成服务的部分分层架构。 <a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-design1/#figure3"><font color="#996699">图 3</font></a> 呈现了这种类型的架构。 </p>
		<p>服务和组建之间的关系是，企业级的组件（大粒度的企业或者业务线组件）实现该服务并且负责提供它们的功能和维持它们的服务质量。通过组合这些公开的服务到合成的应用程序，就可以支持业务过程流。综合的架构通过使用 Enterprise Service Bus（ESB）支持这些服务、组件和流程的路由、中介和转化。为了服务质量和非功能性的需求，必须监视和管理已经部署的服务。</p>
		<p>
				<br />
				<a name="figure3">
						<b>图 3：SOA 层</b>
				</a>
				<br />
				<img height="252" alt="SOA 层" src="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-design1/figure3.gif" width="469" />
				<br />
		</p>
		<p>对于每一层，你都必须做设计和架构决定。因此，为了帮助用文件说明你的 SOA，你可能应该创建文档，由每个层相应的部分所组成。</p>
		<p>这里是为你的 SOA 架构文档设计的模板： 
</p>
		<ol>
				<li>范围 &lt;此架构适用于企业的哪个领域&gt; 
</li>
				<li>操作系统层 
<ol><li>打包的应用程序 
</li><li>自定义应用程序 
</li><li>架构决策 </li></ol></li>
				<li>企业组件层 
<ol><li>企业组件支持的功能范围 
</li><li>&lt;这个企业组件支持业务领域、目标和过程&gt; 
</li><li>关于控制的决策 
<ol><li>&lt;作为这个客户端组织内部企业组件来选择某物的标准&gt; </li></ol></li><li>架构决策 </li></ol></li>
				<li>服务层 
<ol><li>服务分类表 
</li><li>架构决策 </li></ol></li>
				<li>业务过程和合成层 
<ol><li>业务过程可以表现为舞蹈编排（choreographies） 
</li><li>架构决策 
<ol><li>&lt;哪一个过程需要编排在舞蹈编排里面以及哪一个镶嵌在应用程序里面？&gt; </li></ol></li></ol></li>
				<li>访问或者表现层 
<ol><li>&lt;证明这层中 Web 服务和 SOA 的含意；即便要。例如，在用户接口级别上调用 Web 服务的 portlet 的使用，以及在此层机能上的含意。&gt; </li></ol></li>
				<li>集成层 
<ol><li>&lt;包含 ESB 因素&gt; </li></ol><ol><li>&lt;我们如何确保使用服务的客户端系统级的一致性（SLA）和服务质量（QoS）？&gt; 
</li><li>安全问题和决策 
</li><li>性能问题和决策 
</li><li>技术和标准的局限性以及决策 
</li><li>服务的监控和管理 
<ol><li>描述和决策 </li></ol></li></ol></li>
		</ol>
		<p>现在，让我们更加仔细的描述一下每一层以及每一层之间的合成。 </p>
		<p>
		</p>
		<p>
				<b>层 1：操作系统层。</b>本层包含现有的自定义构建的应用程序，也叫做 <i>遗留</i>系统，包含现有的 CRM 和 ERP 打包应用程序，以及 <i>较旧的</i>基于对象的系统实现，还有业务智能应用程序。SOA 的复合层架构可以利用现有的系统并且用基于服务的集成技术来集成它们。 </p>
		<p>
				<b>层 2：企业组件层。</b>本层由那些负责实现功能和保持公开服务 QoS 的企业组件组成。这些特殊的组件是企业和业务单元级支持的企业资产的受管理和控制的集合。 同企业范围资产一样，他们通过架构最佳实践应用程序来负责确保 SLAs 的一致。大多数情况下，本层使用基于容器的技术，比如实现组件、负载均衡、高可用性和工作量管理的应用服务器。 </p>
		<p>
				<b>层 3：服务层。</b>业务选择来支持和公开的服务处在这一层。它们可以被 <i>发现</i>或者直接静态绑定，接下来被调用，或者可能的话，编排到合成服务中。这个服务公开层同样提供了获取企业范围组件，业务单元特定组件，以及有些情况下，特定项目组建的机制，并且以服务描述的形式具体化了他们的接口子集。因此，企业组件使用它们接口提供的功能在运行时提供服务实现。在这一层的接口公开为一个服务描述，在这层中他们被公开以提供使用。他们可以独立存在或者作为合成服务。 </p>
		<p>
				<b>层 4：业务过程合成或编排层。</b>第三层中公开的服务的合成和编排在这一层中被定义。通过配合、编排，服务被绑定成一个流程，并且从而作为单独的应用程序而共同作用。这些应用程序支持特殊的用例和业务过程。这里，可视的流程合成工具，比如 IBM® WebSphere® Business Integration Modeler 或者 Websphere Application Developer Integration Edition，都可以用来设计应用程序流程。 </p>
		<p>
				<b>层 5：访问或表现层。</b>尽管这一层经常超出了围绕 SOA 讨论的范围，但是它却变得越来越有意义。在这里我描述它因为标准越来越集中，比如用于 Remote Portlets Version 2.0 的 Web 服务和其他技术，这些技术追求在应用程序接口或者表现层来利用 Web 服务。你可以把它作为将来的层用来满足将来的解决方案的需求。注意到以下这两点是非常重要的：SOA 将用户接口从组件中分离出来；最终你需要提供从访问路线到服务或者合成服务的端到端解决方案。 </p>
		<p>
				<b>层 6：集成（ESB）。</b>这一层使服务可以集成，通过引入一系列可靠的性能的集合，比如智能路由，协议中介和其他转化机制，经常被描述为 ESB（参阅 <a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-design1/#Resources"><font color="#996699">参考资料</font></a>）。Web Services Description Language（WSDL）制定了绑定，其包含提供服务的地址。另一方面，ESB 为集成提供了位置独立机制。 </p>
		<p>
				<b>层 7：QoS。</b>这一层提供了监视，管理和维持诸如安全，性能和可用性等 QoS 的能力。这是一个通过 sense-and-respond 机制和监测 SOA 应用程序健康的工具来进行的后台处理过程，包括 WS-Management 和其他相关协议的所有的重要的标准实现以及为 SOA 实现服务质量的标准。 </p>
		<p>
				<br /> </p>
<img src ="http://www.cppblog.com/tanxiuguang123/aggbug/6526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tanxiuguang123/" target="_blank">Tory </a> 2006-05-01 22:35 <a href="http://www.cppblog.com/tanxiuguang123/archive/2006/05/01/6526.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)您的 SOA 合并成三维的整合中心以提高速度和可靠性 </title><link>http://www.cppblog.com/tanxiuguang123/archive/2006/04/24/6172.html</link><dc:creator>Tory </dc:creator><author>Tory </author><pubDate>Mon, 24 Apr 2006 06:37:00 GMT</pubDate><guid>http://www.cppblog.com/tanxiuguang123/archive/2006/04/24/6172.html</guid><wfw:comment>http://www.cppblog.com/tanxiuguang123/comments/6172.html</wfw:comment><comments>http://www.cppblog.com/tanxiuguang123/archive/2006/04/24/6172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tanxiuguang123/comments/commentRss/6172.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tanxiuguang123/services/trackbacks/6172.html</trackback:ping><description><![CDATA[
		<p>在本文中，我将谈论如何将 Web 服务及非 Web 服务的多重 SOA 合并成三维的整合中心来连接各种后端企业主机系统，包括：</p>
		<ul>
				<li>企业资源规划（Enterprise Resource Planning，ERP） 
</li>
				<li>客户关系管理（Customer Relationship Management，CRM） 
</li>
				<li>供应链管理（Supply Chain Management，SCM） 
</li>
				<li>其它企业应用程序集成（Enterprise Application Integration，EAI）的应用程序 
</li>
				<li>虚拟的数据库管理系统 </li>
		</ul>
		<p>我也将讨论中心如何接受输入数据——事件和数据——来源于各种资源。我使用 X、Y 和 Z 轴在三维空间中展示图片。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10065">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">什么是 SOA 整合中心？</font>
								</font>
						</span>
				</a>
		</p>
		<p>SOA 整合中心是 Web 服务与非 Web 服务的合并的 SOA 与后端企业系统的集成。它使得 Web 服务及非 Web 服务能够与运行在不同平台上的服务器、主机和微机上的企业系统交互。</p>
		<p>然而，SOA 整合中心不同于面向服务的整合（service-oriented integration，SOI）。SOI 将 Web 服务与运行在不同平台上的主机系统相整合。它使得 Web 服务能够通过网关与主机交互。您需要 ASP.Net 或其它技术获取网关来执行普通的 Web 服务。</p>
		<p>SOA 是基于一套业务流程的 Web 服务的交互的体系结构。您可以在第一个 SOA 中获取 Web 服务来在第二个 SOA 中复用代表 Web 服务的服务。Web 服务可能由一些小的 Web 服务组成，它们将服务传递给客户。</p>
		<p>您使用描述语言（例如，SOAP）或其它描述交互的方法（例如，REST）来定义交互。每个交互都是独立且松耦合的，以便每个交互都能独立于任何其它交互。这与依赖网关来与 Web 服务集成的紧耦合的主机系统形成对照。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10078">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">SOA 层</font>
								</font>
						</span>
				</a>
		</p>
		<p>我们看一下二维空间中的 SOA 层。之后，我将向您展示为何三维的整合中心是更好的选择。</p>
		<p>SOA 的 IBM 版本的前五层（请见<a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#resources"><font color="#996699">参考资料</font></a>）是（从下至上）：</p>
		<ul>
				<li>操作系统 
</li>
				<li>基于组件的（系统） 
</li>
				<li>服务 
</li>
				<li>业务流程 
</li>
				<li>表示层 </li>
		</ul>
		<p>第六层是集成体系结构（也作为企业集成总线（Enterprise Integration Bus）），它垂直覆盖了前五层。下一层是服务质量、安全、管理及监控层。</p>
		<p>显而易见，操作层由 EAI 打包的应用程序、遗留、老式的面向对象及商业智能应用程序组成。它们都可以通过使用 SOI（在项目级或企业级）来同第二层的基于组件的系统相集成。然后，将组件结合或集成到复合应用程序中来提供第三层的服务。</p>
		<p>第四层向您展示了那些服务是如何根据一套业务流程从一个流向另一个的。更高一层通过远程门户网站 Web 服务（Web Services for Remote Portlet，WSRP）标准或其它面向人的表示层的方法来将 Web 服务应用于应用程序接口中。</p>
		<p>二维静态的 SOA 可能是有问题的。幸好，整合中心的发展意味着 SOA 将变成三维动态的。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N100A7">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">可复用的体系结构</font>
								</font>
						</span>
				</a>
		</p>
		<p>我们假设该 Web 服务需要在 .Net 平台上或随后的 WebSphere 平台上运行前从主机系统获取信息。您需要将 Web 服务与执行普通 Web 服务的主机网关相整合。</p>
		<p>所有 Web 服务彼此以 XML 传递信息——多个 SOA 中的业务流程应当如何整合及其在提供的服务中如何实现。虽然在多个 SOA 中 Web 服务是可复用的，但是我进一步将 SOA 处理成可复用的体系结构。</p>
		<p>我有多个实例，它们关于将可复用的 SOA 合并成与主机系统相连的整合中心，我提出如下四步来创建中心：</p>
		<ol>
				<li>将作为可复用的体系结构的 SOA 数组划分成两个模块。第一模块主要包括整合 Web 服务的机制，而第二个模块重在服务交互。 
</li>
				<li>为了获得最佳的速度及可靠性，将每个 SOA 优化成更紧凑的形式。检查可能影响性能的磁盘碎片空间。 
</li>
				<li>将 SOA 按照重要性及复用频率区分优先次序。检查用户对于更改 SOA 优先权的需求。 
</li>
				<li>将 SOA 合并成连接到一个或更多主机系统的整合中心，这些主机系统运行在不同的平台上。检查先前没有被提出的互用性问题。 </li>
		</ol>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N100C6">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">模块化的 SOA 库</font>
								</font>
						</span>
				</a>
		</p>
		<p>您可以开发模块化的和优化的 SOA 库，这些 SOA 被分成了不同类别的层次。每个类别可以通过层次最低级别的 Web 服务被进一步划分成 SOA 的子组。</p>
		<p>您可以将库用作到 Web 服务应用程序的动态链接。当应用程序需要访问模块化的 SOA 时，它将自己链接到库中。当它不再需要检索到的 SOA 时，将从库中释放自己，当提高速度及性能时节省磁盘空间。</p>
		<p>下列是库中模块化的 SOA 的一些实例：</p>
		<ul>
				<li>卫生保健 SOA 
</li>
				<li>零售管理 SOA 
</li>
				<li>物流 SOA 
</li>
				<li>无线射频识别（Radio Frequency Identification，RFID）SOA </li>
		</ul>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N100E5">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">库用例</font>
								</font>
						</span>
				</a>
		</p>
		<p>假设您使用在库中使用最后三个 SOA（零售管理、物流和 RFID）来开发整合中心并将它们连接到主机网关中。今后，用户的需求改变了——取消零售管理 SOA 并以卫生保健 SOA 代替它。</p>
		<p>同时，用新版本更新物流 SOA 使其迎合用户的需求。在 RFID SOA 中包含新的子组之后，将所有子组区分优先次序并将它们优化。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N100F2">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">二维非共享的 SOA</font>
								</font>
						</span>
				</a>
		</p>
		<p>我们看一下 Blue Repository 中的三个模块化的 SOA（零售管理、物流和 RFID）的二维中心（请见<a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#figure1"><font color="#996699">图 1</font></a>）。所有都连接到主机网关中。例如，如果您使用 ASP.Net，那么您可以通过网关来执行普通的 Web 服务。</p>
		<br />
		<a name="figure1">
				<font color="#1d58d1">
						<b>图 1. 非共享的 SOA 的二维中心</b>
				</font>
		</a>
		<br />
		<font color="#1d58d1">
				<img height="250" alt="非共享的 SOA 的二维中心" src="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/Figure-1-Int.gif" width="444" />
		</font>
		<br />
		<p>如您所见，SOA 不是共享的。您可以将这三者结合成复合应用程序以减少到主机网关的连接器的数目。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10114">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">二维共享的 SOA</font>
								</font>
						</span>
				</a>
		</p>
		<p>如<a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#figure2"><font color="#996699">图 2</font></a> 所示，RFID SOA 与物流 SOA 在一边相交叠。交叠区域用黄色带黑色斜线来显示。它包含 SOA 用于生成一个或两个服务的资源。</p>
		<br />
		<a name="figure2">
				<font color="#1d58d1">
						<b>图 2. 共享的 SOA 的二维中心</b>
				</font>
		</a>
		<br />
		<font color="#1d58d1">
				<img height="233" alt="共享的 SOA 的二维中心" src="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/Figure-2-Int.gif" width="424" />
		</font>
		<br />
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10133">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">代表三维空间中的中心</font>
								</font>
						</span>
				</a>
		</p>
		<p>您怎样在二维计算机屏幕上设想三维的中心？处理该问题的一种方法是在二维平面中画出整合中心的 X、Y 和 Z 轴。另一种方法是使用软件简单地将 2D 图片转换成 3D 的版本。</p>
		<p>在三维的中心，您可以在不改变 SOA 的情况下将现有的主机替换成新样式或另一供应商的样式。另外，您可以重新配置或更改 SOA 的优先权以适合新的或已更新的主机系统对于更改用户及组织的需求的响应。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10140">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">第一个三维中心</font>
								</font>
						</span>
				</a>
		</p>
		<p>考虑如<a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#figure3"><font color="#996699">图 3</font></a> 所示的三维空间中的整合中心。如您所见，RFID SOA 中部分位于物流 SOA 之后。RFID SOA 的隐藏部分用到物流 SOA 的蓝色线画出。</p>
		<br />
		<a name="figure3">
				<font color="#1d58d1">
						<b>图 3. 第一个共享的 SOA 的三维中心</b>
				</font>
		</a>
		<br />
		<font color="#1d58d1">
				<img height="221" alt="第一个共享的 SOA 的三维中心" src="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/Figure-3-Int.gif" width="382" />
		</font>
		<br />
		<p>如您所见，连接器从 RFID SOA 通过（而不是环绕）物流 SOA 到主机网关。这意味着从 RFID SOA 而来的连接器与物流 SOA 共享了一些资源。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10162">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">第二个三维中心</font>
								</font>
						</span>
				</a>
		</p>
		<p>设想 RFID SOA 的重叠部分在物流 SOA 的前面，但是不是从任一侧，如<a href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#figure4"><font color="#996699">图 4</font></a> 所示。这给了 RFID SOA 更多的选择来共享物流 SOA 中的大量资源。</p>
		<br />
		<a name="figure4">
				<font color="#1d58d1">
						<b>图 4. 第二个共享的 SOA 的三维中心</b>
				</font>
		</a>
		<br />
		<font color="#1d58d1">
				<img height="234" alt="第二个共享的 SOA 的三维中心" src="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/Figure-4-Int.gif" width="394" />
		</font>
		<br />
		<p>如您所见，连接器从 RFID SOA 通过物流 SOA。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10184">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">有多少共享的 SOA？</font>
								</font>
						</span>
				</a>
		</p>
		<p>在三维中心中您可以共享的 SOA 的数目依赖于项目复杂性、合并问题及业务流程中的利弊。向您避免 SOA 的过量开销一样，您需要确保在开发的整个生命周期中不会在三维空间中发生中心超负荷的问题。您应当在周期的每个时刻都测试超负荷。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-enter3/index.html#main">
																				<b>
																						<font color="#996699">
																						</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N1018E">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">结束语</font>
								</font>
						</span>
				</a>
		</p>
		<p>在三维中心中合并 SOA 需要预先规划来设置开发和共享的 SOA 的数目限制。您应当同业务分析师开发组交流有关各种合并问题的信息。您将发现解决合并问题会使您开发三维中心的工作变得非常容易。您可以开发在中心可复用和共享的 SOA。分析师将发现解决该问题会使他们的设计和分析三维空间的中心的工作变得非常容易。他们可以确定在不会导致中心超负荷的前提下哪个主机系统可以连接到中心。</p>
<img src ="http://www.cppblog.com/tanxiuguang123/aggbug/6172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tanxiuguang123/" target="_blank">Tory </a> 2006-04-24 14:37 <a href="http://www.cppblog.com/tanxiuguang123/archive/2006/04/24/6172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于SOA 中体系结构的集成</title><link>http://www.cppblog.com/tanxiuguang123/archive/2006/04/21/6037.html</link><dc:creator>Tory </dc:creator><author>Tory </author><pubDate>Fri, 21 Apr 2006 09:35:00 GMT</pubDate><guid>http://www.cppblog.com/tanxiuguang123/archive/2006/04/21/6037.html</guid><wfw:comment>http://www.cppblog.com/tanxiuguang123/comments/6037.html</wfw:comment><comments>http://www.cppblog.com/tanxiuguang123/archive/2006/04/21/6037.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tanxiuguang123/comments/commentRss/6037.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tanxiuguang123/services/trackbacks/6037.html</trackback:ping><description><![CDATA[
		<p>
				<a name="2">
						<span class="atitle">
								<font color="#1d58d1">
										<font face="Arial" size="4">体系结构中的集成需求</font>
								</font>
						</span>
				</a>
		</p>
		<p>
				<font face="Arial" color="#1d58d1" size="4">
				</font>
		</p>
		<p>讨论至此，集成已限定为通过基于组件的服务进行的应用程序的集成，但是集成这个主题比这要宽泛得多。在估计一个体系结构的需求时，必须考虑一些集成的类型或“方式”。您必须考虑如下几方面：</p>
		<ul>
				<li>应用程序集成 
</li>
				<li>终端用户界面集成 
</li>
				<li>应用程序连接 
</li>
				<li>流程集成 
</li>
				<li>信息集成 
</li>
				<li>
						<i>构建</i>集成开发模型。 </li>
		</ul>
		<p>终端用户界面集成涉及如何集成特定用户访问的全部应用程序和服务来提供可用、高效、一致的界面。它是一个正在发展的主题，而新的发展在近期将主要取决于 Portal 服务器使用方面的进展。虽然 Portlet 已经可以通过 Web 服务调用本地服务组件，但是新技术（比如用户远程 Portlet 的 Web 服务）将使内容和应用程序提供者能够创建交互式服务，这些服务在因特网上可以通过 Portal 即插即用，从而为很多新的集成提供了可能。</p>
		<p>应用程序连接是一种集成方式，它涉及体系结构必须支持的所有类型的连接。在一个层次上，这意味着数据的同步和异步通信、路由、转换和高速分布、以及网关和协议转换器等等。而在另一个层次上，它还与输入和输出或源（sources）和汇（sinks）的虚拟化有关，正如您在 EWA 的通道（Channel）和协议转换程序（Protocol Handlers）中所看到的。这里的问题在于数据移入、移出以及在实现体系结构的框架中移动的方式。</p>
		<p>流程集成涉及开发映射到业务流程和为业务流程提供解决方案的计算流程、将应用程序集成到流程以及集成一些流程与其他一些流程。虽然第一项需求可能看起来似乎无关紧要，不过就是体系结构提供一个模拟基本业务问题的环境，但是，如果在这一层中不进行充分的分析，体系结构的任何实现注定都将失败，不管它采用的技术是多么的巧妙。将应用程序集成到流程可能包括企业中的应用程序，也可能涉及调用远程系统中的应用程序或服务，而这些远程系统多半属于业务合作伙伴。同样地，流程层集成可能涉及整个流程的集成而不仅仅是来自外部源的单个服务，比如供应链管理或金融服务这样横跨多个机构的流程。为了满足这样的应用程序和流程的集成需求，可以使用像 BPEL4WS 这样的技术，而应用程序框架也可以使用程序配置 Scheme（比如在 EWA 中看到的）。实际上，可以在底层使用 BPEL4WS 来构造一个高层配置 Scheme，然后通过一个引擎来驱动，这个引擎不仅提供流管理，而且还提供其他功能。然而，在构建这一切之前，您应该首先了解体系结构方面的需求，然后，再构建合适的基础架构。</p>
		<p>信息集成是一个流程，其作用在于为所有需要它的应用程序提供对企业中全部数据的一致访问，而不管这些应用程序是以什么形式需要它，也不受数据的格式、来源或位置的限制。在实现时，这项需求可能包括 <i>适配器</i>和转换引擎，不过它通常要比这复杂。而关键的概念往往是数据的虚拟化，这可能包括 <i>数据总线（Data Bus）</i>的开发，企业中的所有应用程序都通过标准服务或接口从数据总线中请求数据。因此，不管数据是来自电子数据表、本地文件、SQL 或 DL/I 数据库，还是来自内存中的数据存储，都可以将数据提供给应用程序。永久存储中的数据格式可能还不为应用程序所知。应用程序更不知道管理数据的操作系统，因而访问 AIX 或 Linux 系统中的本地文件的方式与这些文件放在 Windows、OS/2、ZOS 或其他系统中时访问它们的方式相同。同样地，数据的位置也是透明的；由于它是由共同的服务提供的，所以是由访问服务而不是由应用程序来负责查询数据（无论是本地的还是远程的），然后按照请求的格式提供数据。 </p>
		<p>应用程序开发环境的最后一项需求是，必须考虑可能在企业中实现的集成的所有方式和层次，并且为它们的开发和部署做好准备。要想真正做到健壮，开发环境必须包括（和执行）一种方法来明确地规定如何设计和构建服务和组件，以便促进重用、消除冗余和简化测试、部署和维护。</p>
		<p>上面列出的所有集成方式在任何企业中都有一定程度的体现，尽管在某些情况下它们可能是简化的，或者没有明确地进行定义；因而，在着手设计新的体系结构框架时，您必须全面的考虑它们。特定的 IT 环境可能只有很少的数据源类型，因此，消息集成可能会很简单。同样地，应用程序连接的作用域可能也很有限。虽然如此，如果希望框架能够随着企业的成长和变化成功地继续得以保持，则框架中的集成功能仍然必须由服务提供，而不是由特定的应用程序来完成。</p>
<img src ="http://www.cppblog.com/tanxiuguang123/aggbug/6037.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tanxiuguang123/" target="_blank">Tory </a> 2006-04-21 17:35 <a href="http://www.cppblog.com/tanxiuguang123/archive/2006/04/21/6037.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>