download.microsoft.comdownload.microsoft.com/documents/china/mc/BusinessValue... · Web...

21
CREATING BUSINESS VALUE THROUGH INTEGRATION WHAT BIZTALK SERVER AND SQL SERVER PROVIDE DAVID CHAPPELL DECEMBER 2009 SPONSORED BY BIZTALK SERVER 和 SQL SERVER 和和和和 和和和和和和和和和和 DAVID CHAPPELL 2009 和 12 和 和和和 MICROSOFT CORPORATION

Transcript of download.microsoft.comdownload.microsoft.com/documents/china/mc/BusinessValue... · Web...

CREATING BUSINESS VALUE THROUGH INTEGRATION WHAT BIZTALK SERVER AND SQL SERVER PROVIDE DAVID CHAPPELL DECEMBER 2009 SPONSORED BY

BIZTALK SERVER和 SQL SERVER双剑合璧通过集成创造业务价值

DAVID CHAPPELL

2009年 12月

赞助人:MICROSOFT CORPORATION

2

CONTENTS Why Integration Matters ........................................................................................................... 3 Application Integration ............................................................................................................. 3 Automating Business Processes ........................................................................................................ 4 Inside an Organization ...................................................................................................................... 4 Across Organizations ........................................................................................................................ 5 Creating Composite Applications ..................................................................................................... 7 Data Integration ........................................................................................................................ 8Synchronizing Information ................................................................................................................ 9 Building Data Warehouses .............................................................................................................. 10 Conclusions .............................................................................................................................. 12 About the Author ..................................................................................................................... 12

目录集成为什么重要...................................................................................................................... 3

应用程序集成 ......................................................................................................................... 3

业务流程自动化 .............................................................................................................. 4

在组织内部 ........................................................................................................................ 4

跨组织实现........................................................................................................................... 5

创建混合应用程序 ............................................................................................................ 7

数据集成 ................................................................................................................................. 8

信息的同步 ...................................................................................................................... 9

创建数据仓库 .................................................................................................................... 10

结论 ....................................................................................................................................... 12

关于作者 ............................................................................................................................... 12

3

WHY INTEGRATION MATTERS

Applications and data are the yin and yang of information technology. IT’s business value flows from the combination of the two. Yet organizations use many different applications and store data in a variety of formats. Getting the most from this diversity often requires connecting things in intelligent ways. In other words, it requires integration.

Integration can present some surprisingly hard problems. The data and applications that an organization uses probably weren’t designed to be connected. Each one has its own view of the world, expressed in its own idiosyncratic way. And over time, an organization’s IT environment tends to get more complex. Applications and databases are deployed at different times by different groups to address different business needs. In most firms, this complexity is an inescapable corollary of growth: It’s hard to avoid. All of this makes integration challenging, both technically and from a broader business perspective.

Microsoft and other vendors have responded to this by creating integration technologies to help address these challenges. Yet understanding the benefits these technologies provide can itself be challenging. So can knowing exactly which integration technology to use in a particular situation. A useful way to think about integration is to divide it into two categories:

Application integration, where the focus is on connecting different applications. One common reason for doing this is to automate more of a business process.

Data integration, where the goal is to work more intelligently with data. This most often means keeping data synchronized across systems or creating a data warehouse.

To address these integration challenges, Microsoft provides two primary products:

BizTalk Server, which supports application integration and some kinds of data integration.

SQL Server, which includes services for data integration.

What follows looks at each of these technologies, describing the integration scenarios in which each one makes sense. If it’s done right, integration has significant business value, and so having a better sense of where and how to apply it also has significant value.

集成为什么重要对于信息技术来说,应用程序和数据就好像太极的阴阳两极,通过对这两者进行组合,即可获得 IT的业务价值。虽然组织需要使用大量不同应用程序,并用不同格式存储数据,但为了从这种多样化中充分获益,往往需要用智能的方式将所有内容进行连接。换句话说,需要集成。集成可能会导致非常麻烦的问题。组织所用的数据和应用程序在设计上可能并不能相互连接。每种应用程序可能有自己的世界观,并用自己特有的方式进行表达。而随着时间的流逝,组织的 IT环境往往趋向于变得更加复杂。根据不同业务的需求,会由不同部门在不同地点部署不同的应用程序和数据库。在大部分公司里,这种复杂性是成长过程中不可避免的:往往也难以避免。所有这些因素使得集成工作面临重大挑战,无论是技术上的,亦或

4

是来自业务角度更广泛的挑战。为了响应这一挑战,微软和其他供应商创建了各种集成技术,可帮助解决此类挑战。虽然理解这些技术所能提供的收益,这本身也是一种挑战,更不用说要针对特定情况选择最恰当的集成技术。对于集成,一种比较好的方式是将其分为两个类别: 应用程序集成,其重点在于连接不同应用程序。这样做的主要原因之一是对多个业务流程实现自动化。 数据集成,目标是用更智能的方式操作数据。这通常意味着在不同系统间保持数据同步,或创建数据仓库。

为解决集成方面所面临的挑战,微软提供了两个主要产品: BizTalk Server,可支持应用程序集成及某些类型的数据集成。

SQL Server,可提供数据集成所需的服务。

下文将分别介绍这些技术,并描述每种技术最适合的集成场景。只要能正确实施,集成就可提供极大的业务价值,并能更好地理解在哪里,以及如何应用才能获得最大价值。APPLICATION INTEGRATION

Two types of application integration are most common today:

Automating business processes by connecting two or more applications. This might be done solely within an organization, where it’s sometimes referred to as enterprise application integration (EAI). It might also be done between organizations, where it’s commonly known as business-to-business (B2B) integration.

Creating composite applications. This typically means providing a common front end to a group of existing applications, making the result easier and more effective to use.

This section looks at both.

应用程序集成目前主要的应用程序集成方式有两种: 将两个或更多应用程序进行连接,让业务流程自动化。这种方式可在一个组织内部独立实现,这种实现方式通常也叫做企业应用程序集成(enterprise application

integration,EAI);或者也可以在组织之间实现,这种方式主要被叫做企业到企业(business-to-business,B2B)集成。 创建复合式应用程序。通常的做法是提供一个统一的前端将各个现有的应用系统聚集起来,因此让最终结果的使用更简单,也更高效。本节将介绍这两种方式。

5

AUTOMATING BUSINESS PROCESSES

Business processes are fundamental to every organization. Supporting those processes with applications can make them better in a number of ways. Because of this, many—maybe even most—business processes now depend on software.

Yet each application typically supports only part of a complete business process. Automating more of the process requires creating connections between applications. Just as a single application improves part of a business process, integrating multiple applications can improve the process as a whole.

Some business processes are contained entirely within one organization. Others extend to partners and customers, crossing organization boundaries. In either case, automating the process commonly requires connecting applications and orchestrating their interactions. This section looks at the role BizTalk Server plays in doing this, both inside and between organizations.

业务流程自动化业务流程对每个组织来说都是基础,通过应用程序对这些流程提供支持可通过多种方式让流程变得更好。因此,很多 — 甚至可能大部分的业务流程都需要依赖软件。但是,通常每个应用程序只能对完整业务流程中的部分内容提供支持。如果希望让流程更加自动化,往往需要在应用程序之间进行连接。单纯包含一个应用程序只能改善业务流程的一部分,将多个应用程序集成在一起才能改善整体流程。有些业务流程全部位于一个组织内部,有些则需要扩展到组织的边界范围之外,覆盖合作伙伴及客户。在任何一种情况下,流程的自动化通常都需要将应用程序进行连接,并对交互方式进行编排。本节将介绍 BizTalk Server在这组织内部以及跨越组织内外所扮演的角色。.

Inside an Organization Suppose a manufacturing firm decides to automate its Order-to-Invoice process. Today, this process is probably supported by various applications, such as a CRM system, a manufacturing application, and a billing application. All of these applications were created or purchased independently by different groups in the company, and all are focused on a particular part of the process.

Today, the firm integrates these applications in ad hoc ways, such as by entering information from one application into another. Automating this integration—and thus the business process—can be a big improvement. Figure 1 shows how this might look using BizTalk Server.

在组织内部假设有家制造公司决定将从订单到发票的流程自动化。目前,该流程可能需要由多个不同应用程序支持,例如 CRM系统、生产应用程序,以及记账应用程序。所有这些应用程序的开发或购买都是独立进行的,并由公司内部的不同部门负责,并且他们都只关注于流程中的一个方面。

6

目前该公司使用一种点对点的方式对这些应用程序进行集成,例如将信息从一个应用程序输入到另一个中。对这种集成 — 以及业务流程 来说, 进行自动化处理则是工作重点。图 1所示的是使用 BizTalk Server 后的情况。

图 1:将包含多个应用程序的业务流程进行自动化,可以让流程更快速,成本更低,更精确。Figure 1: Automating a business process that spans applications can make the process faster, cheaper, and more accurate.

In this example, the salesperson’s new order is picked up from the CRM application by BizTalk server, then sent to the manufacturing application. Once the ordered items are available, the manufacturing application informs BizTalk Server, which then contacts the billing application to send an invoice. In the normal execution of this process, no human intervention is required once the new order is submitted.

在这个例子中,BizTalk Server 首先从客户关系管理(CRM)应用程序中获取销售人员的新订单,然后发送到生产应用程序。当订单内容生产完成后,生产应用程序会通知 BizTalk

Server,随后 BizTalk Server 联系记账应用程序,送出发票。在该流程的正常执行过程中,只要订单提交成功,就不再需要人为干预。

Implementing this integration requires addressing three big technical issues: connecting to each application, transforming data between the formats used by each application, and coordinating the entire process. BizTalk Server has specific components designed to address each of these. It provides adapters to connect to diverse applications, data mapping tools to translate data, and an orchestration engine to run the logic that controls the process. Because of this, the end-to-end process, from the salesperson placing the order to the customer receiving an invoice, can be supported consistently in software.

实施这种集成需要解决三个重要的技术难题:将应用程序互相连接,使用正确的格式在应用程序之间传输数据,并对整个流程进行协调。对于这三个问题,BizTalk Server 都提供了专门的组件加以解决。该程序还提供了适配器,可用于连接不同的应用程序,并使用数据映射工具传输数据,同时使用流程编排引擎用于控制整个流程的逻辑。因此对于这一端到端流程,从销售人员下订单到客户收到发票,整个过程在软件中可获得完全一致的支持。

The benefits of business process automation are significant. They include the following:

Processes can be faster. Computers are faster than people, and so replacing manual steps with software can improve the overall speed of a process. Decreasing process cycle times is

7

often an important way to improve how a business operates.

Processes can be cheaper. When used correctly, software costs less than people, and so the money spent on executing a business process can be reduced.

Processes can be more accurate. Manual or other ad hoc integration introduces the possibility for errors, something that’s much less likely with a well-designed automated process.

Managers get more visibility into processes. This can make it easier to create audit trails and to track processes for compliance with internal standards and external regulations.

业务流程自动化的收益是巨大的,主要包括: 处理速度更快。计算机的处理速度比人快很多,因此使用软件执行以往需要由人执行的操作可以改善整个流程的整体速度。降低流程周期时间通常是改善业务运营的主要方式之一。 处理成本更低。只要能恰当使用,软件的成本将比人低很多,因此执行业务流程所需的费用也会降低。 处理过程更精确。人工或其他点对点进行的集成很容易出错,但对于有着良好设计的自动化流程,这种可能性会大幅度降低。 管理人员对流程获得更多可见性。这样能够更容易的对流程建立审计与追踪来保证它能够满足组织内部的标准以及外部的规则。

Determining the return on investment for this kind of integration project can be straightforward. If people who currently do manual steps can be repurposed, for example, some of the savings from automation are obvious. And while placing an exact value on faster and more accurate processes can be harder, that value is nonetheless real.

Automating business processes can bring other requirements, too. Suppose a process has complex and frequently changing rules, for example. Business rules engine (BRE) technology is designed expressly for situations like these, and so BizTalk Server includes a BRE. The people who use a process might also want to monitor the process in real time, viewing it in business rather than technical terms. To allow this, BizTalk Server includes a Business Activity Monitoring (BAM) component. And in some cases, a generalized integration approach, sometimes called an Enterprise Service Bus (ESB), is the best option. For situations like this, BizTalk Server includes technology that lets it function as an ESB.

Integration isn’t a simple problem. Because of this, integration technologies include many different components. Still, the benefits of automated business processes are undeniable, and so it’s worthwhile to understand how to achieve them.

确定此类集成项目的投资收益是一项很简单的工作。举例来说,如果目前执行手工操作的员工可以转为承担其他工作,那么自动化带来的节约就是显而易见的。但要对效率的提升及流程精确度的提高作出准确的量化也并不容易,毕竟这些优势都是看不到的。使用自动化的业务流程也有一些前提条件。例如,某些流程可能具有非常复杂,并且需要频繁变动的业务规则。业务规则引擎(BRE)技术在设计上可以解决此类问题,而 BizTalk Server也包含了 BRE。使用流程的人可能还希望对流程进行实时监控,并且是在业务中查看,

8

而非技术上的查看。为此,BizTalk Server 还提供了业务活动监视器(BAM)组件。在某些情况下,最好的方法则是使用某种通用的集成方式,这种方式有时候也叫做企业服务总线(ESB)。对于此类情况,BizTalk Server 则提供了相应的技术,使其可以充当 ESB。集成并不是简单问题,因此集成技术往往包含很多不同组件。不过自动化业务流程带来的收益是不容置疑的,因此学习掌握这些技术也非常有必要。Across Organizations The process shown in Figure 1 executes entirely within a single organization, yet its last step is to send an invoice to a customer in another organization. Viewed from a larger perspective, isn’t this also part of the business process? Why not automate this step as well?

Providing electronic connections like this between customers and suppliers is a typical motivation for B2B integration. BizTalk Server can also be used here, as Figure 2 shows.

跨组织实现图 1所示的流程完全是在一个组织内部执行的,只有在最后一步需要向组织外部的客户送出发票。从更高角度来看,这难道不也是属于业务流程的一部分吗?为什么不能把这个步骤也自动化?在客户与供应商之间提供此类电子化连接就是一种典型的 B2B集成创新。BizTalk Server也可用于这种环境,如图 2所示。

图 2:业务流程的某些部分可以跨越组织,例如发票的发送即可自动化进行。Figure 2: Parts of a business process that span organizations, such as invoicing, can be automated.

A majority of B2B integration today relies on Electronic Data Interchange (EDI), a technology with roots in the 1980s. As the figure suggests, BizTalk Server supports B2B connections, whether done with EDI or a newer technology such as Web services. Once again, the core technical requirements are a way to connect to applications, a mechanism for translating data between different formats, and some way to orchestrate the entire process. As described earlier, BizTalk Server provides all three. B2B integration raises larger issues as well, such as the challenge of managing relationships with multiple trading partners. To address these, BizTalk Server provides various other technologies , including a Partner Agreement Manager that allows configuring interactions with different partners in different ways.

目前的大部分 B2B集成都依赖电子数据交换(EDI),这是一项在二十世纪八十年代开发

9

出的技术。如上图所示,BizTalk Server 支持 B2B连接,可以通过 EDI实现,或者通过某些更新的技术,例如Web services。需要再次重申的是,此处的核心技术需求是需要有一种方式将应用程序连接在一起,并使用一种机制在不同格式之间传输数据,并要用某种方式对整个流程进行编排。正如上文曾提到的,BizTalk Server可全部实现。但 B2B集成也会导致更大的问题,例如管理多个贸易合作伙伴关系的挑战。为解决这些问题,BizTalk Server还提供了多种其他技术,例如合作伙伴协议管理器,可用于用多种方式对不同合作伙伴配置相互之间的交互。Just as automating a business process within an organization has value, so does automating processes across organizations. Here are some examples:

As with internal processes, B2B integration can make processes that span organizations faster, cheaper, and more accurate.

B2B integration is sometimes required by business partners. For example, large retailers commonly require their suppliers to interact with them electronically using EDI or another technology.

与在组织内部实现业务流程自动化所能提供的收益类似,在组织之间实现自动化流程也包含大量收益。例如: 与内部流程类似,B2B集成可以让跨越多个组织的流程更快速,成本更低,更准确。 B2B集成有时候是某些合作伙伴所必需的。例如,大型零售商通常会要求其供应商使用 EDI或其他技术实现电子化互通。

Along with EDI, many industries have their own standards for B2B integration. High-tech companies often use RosettaNet, for example, while banks depend on SWIFT. To help companies address these requirements, BizTalk Server provides support for these and other B2B standards. While automating a complete process can bring benefits, it also means that the software used for that automation becomes critically important to the business. For example, integration scenarios like those shown in Figures 1 and 2 often have stringent requirements for availability and performance. This implies that the systems on which BizTalk Server runs need to be fast and reliable, including redundant servers when necessary. Without this, the people who use a process might not be happy with either its reliability or its speed.

除了 EDI,很多产业也有自己的 B2B集成标准。例如高科技公司通常会使用 RosettaNet,银行则主要使用 SWIFT。为了帮助各行各业满足这些需求,BizTalk Server对各种 B2B标准提供了支持。虽然将整个流程自动化处理可获得收益,但这也意味着用于实现该自动化的软件本身对于业务来说也开始变得重要。例如,类似图 1和图 2所示的集成场景通常会对可用性和性能有着严格的要求。这也意味着运行 BizTalk Server的系统需要快速并可靠,有必要时还必须提供冗余服务器。如果不这样做,使用这些流程的人可能无法对可靠性或速度感到满意。

10

CREATING COMPOSITE APPLICATIONS Automating a business process isn’t the only useful kind of application integration. Yoking a group of existing applications into a single composite application can also provide substantial business value.

Think about a bank, for example, that provides loans, retail banking services, and mutual funds. The bank probably has separate applications for all three areas, either purchased or custom-built. Yet to the bank’s customer-facing employees, these are all aspects of the same thing: services the bank sells. Providing a unified view across these three areas means integrating the underlying applications, including a common interface to all three. In other words, it means creating a composite application. Figure 3 illustrates this idea.

创建混合应用程序将业务流程自动化并不是应用程序集成的唯一收益,将一组原有应用程序组合成一套应用程序也可获得巨大的业务价值。举例来说,对于一家提供贷款、散户服务,以及共同基金的银行,该银行对于这三类业务可能有不同的应用程序,程序可能是直接购买的,或者自己开发的。但对于直接面向银行客户的员工来说,所有这些程序都有一个相同的用途:服务于银行的业务。为这三种主要业务提供统一视图意味着要将底层应用程序进行集成,并针对所有三类业务提供一套统一的接口。换句话说,这意味着要创建一套混合应用程序。图 3所示的就是这种应用。

图 3:通过集成现有应用程序,混合应用程序可为用户提供更简单,功能更多的界面。Figure 3: By integrating existing applications, a composite application gives its users a simpler and more functional interface.

Presenting one unified set of functionality to users requires connecting applications, translating between the different data formats those applications use, and implementing cross-application logic, just as with process automation. BizTalk Server provides the capabilities to do these things.

The product doesn’t include a way to create user interfaces, however—more is needed. In the example shown here, Microsoft’s SharePoint is used for the interface, but this isn’t required.

11

Another Web-based technology might be used, or the creator of this composite application might build a custom client for Windows, mobile devices, or other systems. 为用户提供一套统一的功能需要连接应用程序,在不同应用程序使用的数据格式之间进行转换,并实施跨应用程序逻辑,这与流程自动化的方式相似。BizTalk Server提供了实现上述目标的功能。然而该产品并未提供用户界面的创建方式,实际上这一过程还需要更多程序。在本例中,使用微软的 SharePoint创建界面,但这并不是必需的。此处还可以使用其他基于Web的技术,或者由混合应用程序的开发者为Windows、移动设备,以及其他系统开发一种自定义客户端。Some of the benefits that composite applications can offer are the following:

Employees can do their jobs more efficiently. In the example shown in Figure 3, for instance, a teller interacts with just one application rather than three. Instead of making connections across these applications in his head, the integration software does it for him.

The application can offer new cross-application functions. For example, a salesperson can more effectively cross-sell the bank’s offerings because she has a 360-degree view of a customer’s business with this bank. Because the integration logic also has a view across all three areas, it can support this with, say, suggestions of which loan products should be offered to particular retail banking customers.

If some or all of the composite application is exposed to customers via the Internet, costs can be lowered further. Letting customers do things for themselves reduces the need for employees to perform these same tasks. If done well, a self-service option can also increase customer satisfaction.

混合式应用程序所能提供的一些收益包括: 员工的工作效率更高。举例来说,在图 3的例子中,出纳员只需与一个应用程序交互,而不需与三个程序进行。同时出纳员并不需要在脑海中与这些应用程序建立联系,可由集成软件代劳。 应用程序可提供新的跨应用程序功能。例如,销售人员可以更高效地交叉销售银行的业务,因为他对客户在银行中的业务有着 360度视角。由于集成逻辑本身对这三类业务也有自己的视角,因此可提供支持,例如对于银行的某个散户,可以推荐哪些贷款服务。

如果部分或全部混合应用程序需要接受客户通过互联网进行访问,还可进一步降低成本。让客户自己完成操作可减少需要员工执行相同任务的需求,只要妥善实施,自助服务也可以提升客户满意度。Creating composite applications is less common than automating business processes, and it’s not necessarily the first thing people think of for application integration. Yet in the right situations, composite applications can be quite useful. Anybody who’s responsible for helping an organization run more effectively should keep this possibility on their list of options.创建混合式应用程序的做法不像自动化业务流程那么常见,并且对于应用程序的集成,通

12

常情况下不应该成为首选做法。但在某些情况下,混合式应用程序也相当有用。任何需要负责帮助组织更高效运行的人,都应将这种可能性考虑进来。

DATA INTEGRATION

Applications are a critical part of the IT world. But data—about customers, products, employees, and more—is also fundamental to every organization. Just as integrating applications matters, so too does integrating data.

It’s useful to divide how organizations use data into two broad categories. The first is transactional data (sometimes referred to as operational data). This is the data that applications use every day to carry out their primary functions. Think of an orders database used by a purchasing system, for example, or employee data used by a payroll application. The second category is analytical data. As the name suggests, its purpose is to help analyze the organization’s activities, usually with an eye toward making better decisions through improved business intelligence (BI). Analytical data is commonly derived from an organization’s transactional data, but it includes historical as well as current information.

数据集成应用程序是 IT 领域的重要组件,而数据 — 有关客户、产品、员工等的数据 — 也是每个组织正常运转的基础。与应用程序的集成类似,数据也可以进行集成。组织的数据使用方式主要可以分为两大类。首先是事务型数据(有时也叫做操作数据),代表组织每天用于维持主要职能时使用的应用程序所需的数据。例如采购系统使用的订单数据库,薪资应用程序所用的员工数据。第二种则是分析型数据,顾名思义,其主要用途是帮助分析组织的活动,通常为了做出更好的决策,就需要使用商业智能(BI)应用程序关注此类数据。分析型数据通常是由组织的事务型数据衍生出的,但可同时包含历史记录和最新信息。

These two ways to use data give rise to the two main motivations for data integration. They are the following:

Synchronizing transactional data that’s used by two or more applications. How data is represented varies across different systems, but its meaning must be kept consistent. And since transactional data is used by running applications, changes to one copy of data should typically be reflected in other copies as soon as possible.

Building data warehouses that contain analytical data, which can then be used for reporting, historical analysis, and data mining. Because a warehouse’s data comes from multiple sources, the information must be transformed into a common structure before it’s usable. This kind of integration usually relies on batch processes rather than the more immediate mechanisms used for synchronizing transactional data.

使用数据的这两种方式也促成了数据集成方面的两大创新。这两大创新包括: 对两个或更多应用程序使用的事务型数据进行同步。数据的具体呈现方式取决于不同系统,但其含义必须保持一致。并且由于事务型数据是被运行中的应用程序使用,因此对一个数据副本的改动也应自动并尽快反映到其他副本中。

13

创建包含分析型数据的数据仓库,随后即可用于报表、历史分析,及数据挖掘。因为数据仓库中的数据来自不同来源,因此信息必须被转换为通用格式随后才能使用。此类集成通常依赖批处理流程,而不需要像对事务型数据进行同步那样实时的机制。

This section provides an overview of both approaches, together with a look at the Microsoft technology used to address each one.

SYNCHRONIZING INFORMATION

In a perfect world, all of an organization’s applications could share the same copy of data. In the world we live in, however, this often isn’t possible. Instead, different applications commonly have different databases, with some overlap in the transactional data they contain. Information about a single customer or employee or order might be stored in several different application databases.

Yet when different copies of the same information exist, maintaining a single version of the truth gets hard. What’s needed is a way to keep all of these copies in sync. Figure 4 shows how BizTalk Server can be used to accomplish this.

本节将简要介绍这两种方法,并介绍微软解决这些问题所用的技术。信息的同步在完美的世界中,组织的所有应用程序都可共享同样的数据副本。然而在我们生活的现实世界中,这通常是不可能的。相反,不同应用程序通常使用不同的数据库,并且所包含的事务型数据还有所重叠。有关一位客户、员工,或一个订单的信息可能会被保存在不同应用程序的数据库中。虽然相同信息存在不同的副本,但维持数据的单一版本变得更加困难。在这种情况下,怎样做才能保证这些副本的同步?图 4 演示了 BizTalk Server实现该目的的方法。

14

图 4:跨越不同应用程序自动同步事务型数据可减少工作并降低工作负担。Figure 4: Automatically synchronizing transactional data across multiple applications can reduce errors and effort.

In the example shown here, an employee in the human resources department uses an HR application to add information about a new hire. Through BizTalk Server, this information is added to the database maintained by this firm’s payroll application and to Active Directory. And although it’s not shown here, it’s reasonable to assume that changes made later to any copy of this information will be propagated across all of them.

在上图所示例子中,人力资源部的某位员工使用 HR应用程序添加新入职员工的信息。通过 BizTalk Server,该信息会被添加到该公司薪酬应用程序使用的数据库和 Active Directory中。并且虽然上图中并未显示,不过完全可以认为,随后对上述任何一个位置中信息的改动都会同步到所有位置。The value of synchronized information is obvious, but it’s still worth being explicit about its potential benefits: Keeping data synchronized through software is faster, cheaper, and more accurate than

relying on people to do it.

Effective synchronization can increase customer satisfaction. Rather than see inconsistent behavior from a firm’s employees due to out-of-sync data, a customer gets a consistent experience.

Effective data synchronization can allow an organization to carry out its mission more effectively. Think of a law enforcement agency, for example, that uses a mechanism like this to keep its list of wanted criminals in sync with other agencies. Better data synchronization will translate into catching more bad guys.

信息同步的价值很明显,但依然有必要简要介绍可能提供的潜在收益: 与人工方式进行相比,通过软件保持数据的同步是一种更快、成本更低,更准确的操作。

15

高效率的同步可以提升客户满意度,并且不会由于数据不同步导致不一致问题,同时能确保客户获得一致的体验。

高效的数据同步可确保组织更高效地履行使命。例如执法机构,可以使用此类机制保证自己的通缉犯名单能够与其他机构保持一致。更好的数据同步无疑能够导致更多的坏人落网。

Synchronizing transactional data by going through the application, as in Figure 4, rather than directly to the database has some advantages. It allows the application to present the data in an appropriate form, for example, and it can allow more intelligent access control. There are times, though, when accessing the data directly is better. One example of that is in building a data warehouse, described next.

如果用类似图 4所示的方式,通过应用程序让事务型数据保持同步,而不是直接对数据库执行操作,则还能提供一些优势。例如这种做法使得应用程序用恰当的方式呈现数据,并且可实现更智能的访问控制。然而有时候可能直接访问数据反而更好,例如下文要介绍的数据仓库的创建。BUILDING DATA WAREHOUSES

All of the scenarios described so far have used BizTalk Server. This shouldn’t be surprising, since BizTalk Server is Microsoft’s primary integration technology. Still, it’s not the only choice, and it’s not right for every integration scenario.

For example, suppose an organization wishes to build a data warehouse. Doing this requires collecting data from one or more transactional databases, those that directly support the firm’s applications, and storing it in a separate warehouse database. A separate database is needed both for performance—doing analysis on transactional databases tends to slow them down—and to hold historical information rather than the purely current data in the transactional databases.

Many of the integration challenges described earlier also apply here, such as translating between different data formats and executing integration logic. Yet even though BizTalk Server provides these things, it’s not the best choice for creating data warehouses. A better approach is to use SQL Server Integration Services (SSIS), part of SQL Server. Figure 5 illustrates a typical scenario.

创建数据仓库截至目前讨论的场景都使用了 BizTalk Server,这也很好理解,因为 BizTalk Server就是微软最主要的集成技术。但这并不是唯一选择,同时也并非能够适合所有集成场景。例如,假设某个组织希望创建数据仓库。这需要从一个或多个事务型数据库中收集数据,而这些数据库直接用于支持公司的应用程序,并且这些数据需要保存到数据仓库内不同的数据库中。为了保证性能,可能需要使用不同的数据库 — 针对事务型数据库执行分析操作会拖慢速度 — 并且需要保留历史信息,而不仅仅是事务型数据库中的最新信息。上文提到的大部分集成方面的挑战也会出现在这里,例如不同数据格式之间的转换,

16

以及集成逻辑的执行。虽然 BizTalk Server提供了这些功能,但这并不是创建数据仓库的最佳方法。另一种更好的办法是使用 SQL Server Integration Services(SSIS),该功能属于 SQL Server的一部分。图 5所示的是一种典型的使用场景。

图 5:这家公司可使用数据仓库创建报表,制定更明智的决策,更好地了解客户等。Figure 5: A firm can use a data warehouse to create reports, make smarter decisions, understand its customers better, and more.

This example illustrates how a car rental firm might create and use a data warehouse. Transactional data used by the rental car reservation application, including information about both customers and cars, is extracted by SSIS into the data warehouse. Decision makers and others in this company can then use SQL Server Reporting Services, SQL Server Analysis Services, or other business intelligence tools to examine this data.

这个例子演示了这家汽车租赁公司是如何创建并使用数据仓库的。车辆预订应用程序需要使用事务型数据,例如有关客户和车辆的信息,这些信息会被 SSIS抽取到数据仓库中。公司的决策制定者和其他人随后即可使用 SQL Server Reporting Services、SQL Server Analysis Services,或其他商业智能工具查看这些数据。Data warehouses are common today. Among the most important benefits they provide are these: Because a data warehouse contains historical data across a wide area, it allows creating

reports with a great deal of depth and breadth.

The trends visible in historical data can help a firm’s managers make better predictions—and thus better decisions—about what’s next in their business.

Examining the information in a data warehouse can reveal patterns of behavior that aren’t otherwise visible. For example, a rental car firm might learn that in Western Europe the highest number of convertibles is rented on Thursdays by Danish men between 50 and 60 years old. The firm can then create a special promotion aimed solely at this group.

目前数据仓库的使用很普遍,其所能提供的最重要的收益包括: 因为数据仓库可包含不同方面的历史数据,因此可创建更具深度和广度的报表。

17

历史数据中发现的趋势可帮助公司的管理者针对业务的发展方向更准确地预测 — 并作出更好的决策。

通过数据仓库查看信息可获得其他方式无法提供的行为模式。例如,汽车租赁公司可以发现在西欧,每周四租用敞篷车的客户以年龄在 50-60岁之间的丹麦男性居多。随后这家公司就可以单独针对这个群体,提供有针对性的促销。

While it’s technically possible to use BizTalk Server to create a data warehouse, it’s not a good idea; SSIS is much better suited for this kind of integration. And since BizTalk Server requires using SQL Server, SSIS is already available to everybody with a BizTalk Server license. Using the right technology for a particular integration problem, and using it in the right way, are essential attributes for success.虽然使用 BizTalk Server创建数据仓库在技术上是可行的,但这并不是好办法;SSIS 则更适合进行此类集成。而由于 BizTalk Server需要使用 SQL Server,因此只要有 BizTalk Server许可,SSIS就已经可以直接使用。针对特定的集成需求,使用恰当的技术,并用正确的方式使用,这是获得成功的关键。

18

CONCLUSIONS For all but the simplest organizations, integration is inescapable. Maybe better business processes require connected applications, or diverse data must be kept in sync, or perhaps really understanding customers requires creating a data warehouse. Whatever the problem, application and data integration are frequently part of the solution, and they can provide real business value. Given this reality, it’s essential to understand the main integration scenarios, then know which technology to apply in each one. To summarize, here’s a list of those scenarios along with the Microsoft technology that addresses each one: Application integration Automating business processes within and between organizations: BizTalk Server Creating composite applications: BizTalk Server Data integration Synchronizing information: BizTalk Server Building data warehouses: SQL Server Integration Services

Using integration well can improve your organization. The next time you’re confronted with a problem like those described here, consider whether an integration solution is warranted. More often than you might think, it will be your best option.

结论对于任何组织,集成都是不可避免的。也许更好的业务流程需要连接应用程序,或者不同位置的数据必须保持同步,或者可能为了真正理解客户的需求而创建数据仓库。无论具体问题是什么,应用程序和数据的集成越来越多出现在解决方案中,并提供真正的业务价值。鉴于此,一定要彻底理解主要的集成场景,随后才能知道不同场景需要使用哪些技术。简而言之,微软技术可解决下列场景中遇到的集成问题: 应用程序集成

在组织内部或组织之间实现业务流程自动化:BizTalk Server 创建混合式应用程序:BizTalk Server

数据集成 信息的同步:BizTalk Server 创建数据仓库:SQL Server Integration Services

恰当使用集成技术可促进您的组织。如果以后您遇到与本文列举相类似的问题,可以考虑能否使用集成解决方案。结果可能会出乎您的意料,集成可能是您的最佳选择。ABOUT THE AUTHOR David Chappell is Principal of Chappell & Associates (www.davidchappell.com) in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology.

关于作者

David Chappell是美国加利福尼亚州旧金山 Chappell & Associates公司(www.davidchappell.com)的负责人。通过讲座、写作,及顾问服务,他帮助全球用户了解和使用新技术,并通过新技术作出更好的决策。