---
title: "在您的预算范围内，实现服务导向架构 (SOA) 和云服务"
date: "2009-03-26"
categories: 
  - "hardware"
tags: 
  - "cloud-services"
  - "data-mapping"
  - "database-tool"
  - "legacy-data"
  - "missionkit"
  - "single-source-publishing"
  - "soa"
  - "software-tools"
  - "xml-editor"
description: 探索如何利用面向服务架构（SOA）和云服务来提高您组织的效率并降低成本。 了解诸如 Altova MissionKit 之类的工具，它们可以帮助您实现有效的集成。
---
Status: #blog

Tags:  #cloud-services #data-mapping #database-tool #legacy-data #missionkit #single-source-publishing #soa #software-tools #xml-editor

Categories: [data-integration](/blog/zh/category/data-integration.md) [cloud](/blog/zh/category/cloud.md)
# 在您的预算范围内，实现服务导向架构 (SOA) 和云服务

当前经济面临的困境为各组织带来了新的挑战。部门间的预算正在被削减，大型采购也受到严格审查。曾经备受期待的昂贵企业软件和大型计算机系统，如今在全球范围内正被重新评估，转而采用更灵活、基于组件的系统。这些系统通过前瞻性的理念，如面向服务架构（SOA）和云计算，在降低成本和提高效率的同时，也更具适应性。这些架构理念融合了现代技术和面向对象的方法，旨在解决复杂环境下的实际技术问题，并通过模块化设计和组件重用，降低维护、集成和部署成本。 

[Altova MissionKit](https://www.altova.com/zh/products/missionkit/software_development_tools.html) 是一套价格非常实惠的工具集，它特别适用于应对向更灵活、更轻量级基础设施的转变。凭借其对 XML、UML、数据库以及数据集成技术的强大支持，MissionKit 提供了构建敏捷架构所需的所有工具，这些架构具有可重复的服务、可重用的组件和可扩展的资源。

#### 面向服务的架构与云计算

面向服务架构 (SOA) 和 Web/云服务是当今科技领域中最热门的两个概念。 尽管它们之间存在一些明显的区别，但这两个概念都代表着一种范式转变，即从大型企业系统向基于模块化组件和可重用功能的、以服务为基础的架构的转变。 SOA 的目标是帮助组织通过将流程打包成一个互操作且可重复使用的服务网络，从而更快地响应业务需求。 这种模块化设计提高了系统的灵活性，并使开发人员能够根据需要，在现有系统中构建新的功能——而无需重复发明“滚轮”。 

面向服务架构（SOA）本质上是一系列相互连接且独立的组件，其功能根据特定标准动态地定位和调用，并通过消息进行通信。SOA的核心在于高度的组件重用，这有助于降低成本，并提高在完全可扩展的架构中的效率。 

云计算建立在互操作性服务的基础上，并增加了一个虚拟化组件，以减轻内部服务器因系统内持续重复使用这些服务而承受的过载。这种模式利用互联网和互联网相关技术，通过将信息永久存储在“云端”，并在客户端设备上仅临时缓存，从而提高性能和处理速度。云计算的实施是一种强大的选择，它可以通过结合下一代数据中心和万维网，来显著提升系统的容量和功能。 

无论是面向服务架构 (SOA) 还是云计算，都旨在解决由僵化的、高度耦合的企业应用基础设施所带来的问题。这种对互操作性和独立软件服务的关注，体现了一种分布式解决方案，它在几乎任何环境下都具有事件驱动、灵活和注重成本的特点。

##### 基于服务的架构的构成要素

自其诞生以来，XML和[Web服务](https://www.altova.com/zh/solutions/web-services-tools.html)一直备受关注，并逐渐成为安全、高效且跨平台的标准，用于软件应用程序之间以及通过互联网进行数据交换。XML为支撑Web服务基础设施的协议奠定了基础，这些协议包括WSDL（Web服务描述语言）和SOAP，这是一种基于XML的消息传递标准。Web服务不依赖于硬件、编程语言和操作系统，这意味着它们非常适合在网络上进行无缝和互操作的数据交换，并且特别适用于基于组件的系统。 

**网络服务架构** 

无论是面向服务架构 (SOA) 还是基于云的架构，通常都依赖于 WSDL 来描述交互和功能，并在系统中定位运行组件。WSDL 与 SOAP 紧密配合，SOAP 是一种消息传递协议，客户端应用程序使用它来调用 WSDL 描述中定义的各种方法和函数。以下示例是之前提到的股票报价示例 [W3C Web Services Description Language (WSDL) 规范](http://www.w3.org/TR/wsdl) 它描述了一种简单的、单一功能的服务，该服务根据用户输入的股票代码，实时获取股票价格。当然，在企业架构中存在的绝大多数服务都比这复杂得多。 

![图形化 WSDL 编辑器](https://www.altova.com/blog/images/SOAandCloudServicesWithinYourBudget_CAA2/image.png) 

例如，亚马逊提供的公开服务 [Amazon Web Services](http://aws.amazon.com/)，为全球越来越多的公司提供易于使用的云服务和基础设施，其中包括 [Twitter](http://www.twitter.com)、[SmugMug](http://www.smugmug.com) 和 [WordPress.com](http://wordpress.com/)。这些服务本质上允许独立机构租用亚马逊分布式计算环境所具备的强大算力，从而以极低的成本，为他们的在线业务提供相同的可扩展性、可靠性和弹性。 

微软的备受期待的 [Windows Azure](http://www.microsoft.com/azure/windowsazure.mspx) 采用类似的模式，为开发者提供了构建和部署基于云的应用程序的机会，同时最大限度地减少了本地资源的需求。亚马逊提供一个 WSDL 文件，其中包含了 Web 服务的定义、服务接受的请求等等。开发者可以编写一个基于 SOAP 的客户端应用程序，该应用程序可以调用亚马逊的 Web 服务，以利用其提供的功能。（目前，亚马逊提供多种基于云的服务，用于应用程序托管、备份和存储、内容分发、电子商务、搜索以及高性能计算。）

#### Altova MissionKit 套件

最近被评为 [“最佳开发环境”——Jolt 产品卓越奖](https://www.altova.com/blog/2009/03/altova-missionkit-wins-prestigious-jolt.html), Altova MissionKit 是一套多样的软件工具，它提供了可扩展的解决方案，帮助您在面向服务架构 (SOA) 或云环境中充分利用现有的软件资源。 

Altova MissionKit* 提供了强大的 XML、Web 服务、数据集成、流程自动化和数据库支持，同时还提供了易于使用的强大 API，为开发人员提供了灵活的选择，可以创建基于服务的解决方案，并且是昂贵咨询费用、抽取/转换/加载 (ETL) 工具以及企业服务总线 (ESB) 产品的经济替代方案。Altova MissionKit* 支持端到端的 Web 服务开发，并包含一个 [图形化 WSDL 编辑器](https://www.altova.com/zh/products/xmlspy/graphical_wsdl_editor.html), 视觉的 [Web服务构建工具](https://www.altova.com/zh/features_webservices_mapforce.html), 它具有高级功能，可用于管理WSDL和其他XML文件之间的关系 [SOAP 客户端和调试器](https://www.altova.com/zh/products/xmlspy/soap_test_debugger.html), [WSDL 数据集成](https://www.altova.com/zh/using_web_services.html), 代码生成，以及更多功能。 

这些特性结合在一起，为在分布式计算环境中集成各种不同的服务和系统提供了一个强大的解决方案，无论这些组件是内部系统、网络系统还是基于云的系统。

##### WSDL 编辑器

XMLSpy是一款软件 [XML 编辑器](https://www.altova.com/zh/xml-editor/ "XML editor") 提供了一个图形用户界面（GUI），用于设计和 [编辑 WSDL 文档](https://www.altova.com/zh/products/xmlspy/graphical_wsdl_editor.html). WSDL 的结构和组件主要通过图形化设计界面创建，该界面包含标签，允许用户在文本视图和图形视图之间切换。此外，通过全面的辅助窗口，用户还可以获得额外的编辑功能。用户可以轻松地创建和编辑消息、类型、操作、端口类型、绑定等内容。此外，像 Amazon Simple Storage Service (Amazon S3) 这样的公开维护的 WSDL 文件（见下文）也可以通过该工具快速打开 **打开网址** 在 XMLSpy 中执行命令。 

XMLSpy 的 [WSDL 编辑器](https://www.altova.com/zh/products/xmlspy/graphical_wsdl_editor.html) 为开发人员提供了一个高级环境，用于快速开发 Web 服务。它通过直观的、可拖放的图形界面，管理 WSDL 语法和验证。此外，新增的文档生成功能，使得开发人员能够以 HTML 或 Microsoft Word 格式，与非技术人员分享 Web 服务接口的完整详细信息。

##### SOAP 客户端

在 XMLSpy 中，可以手动创建 SOAP 请求 [SOAP 客户端](https://www.altova.com/zh/products/xmlspy/soap_test_debugger.html) 基于WSDL中定义的各项操作，一旦选择了一个操作，XMLSpy会根据WSDL中提供的连接信息发起请求，并在主窗口中显示SOAP消息的XML语法。然后，可以直接将消息发送到服务器，以获得即时响应。

##### SOAP 调试器

XMLSpy 还包含一个 [SOAP 调试器](https://www.altova.com/zh/products/xmlspy/soap_test_debugger.html), 该工具作为客户端和服务器之间的 Web 服务代理，允许开发者分析 WSDL 文件及其 SOAP 消息组件，逐步骤跟踪事务，在 SOAP 函数上设置断点，甚至可以定义条件断点，这些断点会在满足指定的 XPath 查询时触发。 

##### 构建Web服务

一旦完成 WSDL 定义，它还可以使用 MapForce，Altova 提供的任何到任何的数据转换工具，以可视化的方式进行实现 [数据集成工具](https://www.altova.com/zh/products/mapforce/data_mapping.html). MapForce 允许用户将数据映射到 WSDL 操作，或从 WSDL 操作中提取数据。它与 Visual Studio 和 Eclipse 的紧密集成，使得用户可以在这些集成开发环境中编译代码，并将服务部署到客户端机器上。当您创建一个新的 Web 服务项目，并指定一个 Web 服务定义文件（WSDL）时，MapForce 会自动为每个独立的 SOAP 操作生成映射文件。 

SOAP协议的输入和输出消息可以轻松地映射到其他数据源组件（如XML、数据库、文本文件、EDI、XBRL、Excel 2007），从而构建完整的Web服务操作。 此外，还可以插入数据处理函数、过滤器和常量，以便实时转换数据。 

MapForce 可以自动生成用于服务器端实现的 Java 或 C# 代码，用于实现 Web 服务。此外，它还可通过命令行和 MapForce Server 进行自动化操作。

##### 文件关系管理

对于包含大量不同类型文件和项目相关人员的复杂Web应用程序，MissionKit提供了一个高级的图形化XML文件关系管理工具，名为[SchemaAgent](https://www.altova.com/zh/products/schemaagent/xml_schema_management.html)。SchemaAgent可以分析和管理XML Schema、XML实例文档（SOAP）、WSDL和XSLT文件之间的关系。客户端/服务器模式允许在整个工作组中实时查看任何更改。 

这使得组织能够追踪和管理其关键业务的SOA文件，并将这些文件作为可重用的独立组件，从而缩短开发时间并减少错误发生的可能性。

##### 数据集成

任何面向服务的架构 (SOA) 的关键在于，各种不同的系统能够通过自动化流程实现无缝通信。MapForce 是一款图形化数据集成和 Web 服务实现工具，它支持多种数据格式，包括 XML、数据库、文本文件（可以通过其独特的 [FlexText™](https://www.altova.com/zh/products/mapforce/text_file_parsing_and_mapping_to_xml_db_edi.html) 工具轻松解析，从而实现与传统系统的集成）、EDI、XBRL、Excel 2007 以及 Web 服务，从而促进这一过程。

![在Visual Studio中使用MapForce进行数据映射](https://www.altova.com/blog/images/SOAandCloudServicesWithinYourBudget_CAA2/mapforce_vs_thumb.gif)

MapForce 支持复杂的、涉及多个数据源和目标的数据映射场景，并提供高级的数据处理功能。通过 MapForce Server，可以轻松实现数据转换的自动化。此外，它与 Visual Studio 和 Eclipse 的全面集成，使其成为大型企业项目的理想开发工具，而且价格合理。这为开发人员提供了一个灵活且高效的中间件组件，可以在几乎任何基于服务的架构中运行。在实际的企业和跨企业系统中，实时集成各种数据是一个关键需求，因为这些系统中通常同时存在着旧系统以及其他不太灵活的格式，以及 XML 等现代、互操作性强的标准。

##### 数据库管理

即使在不断演进、以语义为驱动的Web 2.0时代，大多数公司仍然使用一个或多个关系型数据库来存储和管理其内部数据资产。Altova MissionKit支持以多种方式与这些最常用的系统进行交互。数据库支持功能在XMLSpy、MapForce、StyleVision以及DatabaseSpy中均有提供。

[DatabaseSpy](https://www.altova.com/zh/products/databasespy/database_tool.html) 是一款多数据库查询、编辑、设计和比较工具，它允许用户直接连接到所有主流数据库，并通过图形用户界面编辑数据和设计结构。该工具具有诸如表浏览、数据编辑、SQL自动补全辅助功能、可视化表设计、内容差异比较/合并以及多种导出格式等功能。在基于服务的架构中，能够直接在数据库的原始格式中比较和合并数据，对于需要查找更改、迁移差异或在测试和生产环境之间同步数据库表版本的开发人员来说，是一项巨大的优势。 

![数据库工具和 SQL 编辑器](https://www.altova.com/blog/images/SOAandCloudServicesWithinYourBudget_CAA2/image_7.png)  

作为MissionKit组件的一部分，DatabaseSpy为组织内部的不同团队提供了一种灵活的方式，让他们能够同时使用来自多个数据库的数据，并通过一个统一的界面进行操作。无论这些数据最终是否会被整合到其他系统或应用程序中，或者是否会永久存储在数据库中，DatabaseSpy都提供了一种简单且灵活的解决方案，用于管理和维护大型数据存储。

##### 单一来源出版

在当今高度自动化的数据传输和管理环境中，人类读者最终仍然需要以某种形式来获取和理解这些数据。当然，组织经常面临的问题是应该选择哪种发布格式。XML技术和单一来源发布方式通过将内容结构与外观分离，彻底改变了内容管理、文档交换，甚至多语言沟通。基于XML的文档系统可以通过方便地转换为多种数据格式和应用类型，从而大大降低成本。单一来源的概念确保工作流程（例如，转换、编辑等）无需重复或重新处理，而是所有存储库中的内容只需进行微小的结构调整和推广，即可加载到相应的应用程序中进行发布。 

Altova StyleVision 是一款图形化样式表设计工具，它能帮助用户轻松地应用样式表 [单一来源出版](https://www.altova.com/zh/products/stylevision/xslt_stylesheet_designer.html) 它可以将数据转换为XML、XBRL等格式，以及数据库内容，而不会对原始数据产生任何影响。 这样，企业可以创建可重复使用的模板，用于将数据自动转换为HTML、RTF、PDF、Microsoft Word 2007等格式，甚至可以生成用于即时发布的电子表格，从而实现对任何可能的媒体渠道进行实时、准确、一致和标准化的信息呈现，而无需任何流程中断。 

![StyleVision 样式表设计器](https://www.altova.com/blog/images/SOAandCloudServicesWithinYourBudget_CAA2/image_8.png) 

单源发布技术赋予组织在高度自动化的数据处理流程中加入人工干预的能力，使他们能够在任何阶段查看传输报告。例如，在合规管理在企业日常运营中扮演如此重要角色的今天，StyleVision 可以集成到任何面向服务架构 (SOA) 中，提供一种可视化的审计跟踪，用于手动审查 XML、XBRL 和数据库事务。StyleVision 采用基于模板的方法， [样式表设计](https://www.altova.com/zh/products/stylevision/visual_xslt_stylesheet_design.html) 这使其成为分布式开发环境的理想补充，因为在这样的环境中，可重复的过程是系统整体效率不可或缺的一部分。

#### 结论

经济下行可能会使投资技术成为一个艰难的决定。然而，具有前瞻性的企业会发现，专注于重组现有资产、自动化内部流程以及为应用程序基础设施增加虚拟化层，可以提高效率、加快速度，并可能带来巨大的投资回报。Altova MissionKit 为企业提供了所有必要的工具，帮助他们通过迭代、以流程为导向的解决方案，来优化企业架构。这些解决方案可以通过重复利用现有资产，以及在全球范围内在组织内部和跨组织实现基于Web的自动化，从而降低成本。 

MissionKit 是一款价格非常实惠的解决方案，它为开发人员、软件架构师和 IT 用户提供了构建灵活、强大的技术解决方案所需的所有工具，从而提升基于组件的服务导向型基础设施，而且不会超出预算。
