EAI Bridges简介

作为2011年9月份Service Bus 的一部分,我们添加了一组全新的EAI(企业应用集成)功能,包括bridges(通常称为管道)、转换和混合连接。我们将通过一系列的博客文章来介绍这一整套功能,在讨论EAI bridges之前让我们先了解一下它的基础概念。这篇文章将阐述建立bridges的必要性并演示了怎样配置和部署一个简单的XML bridge,通过它发送消息。 “bridge(桥)”这个词让我们马上想到了用来连接两个端点的一个东西。在信息系统中,我们用bridge来连接两个或多个完全不同的系统。让我们借助一个简单的例子来更好地理解这一概念。假设在一机构里,新员工入职或雇员的信息改变(例如银行账户)的时候,员工管理系统和HR系统与工资管理系统之间要进行交互。员工管理系统和HR系统可能是完全不同的系统,例如,可以是在SQL、 Oracle、 SAP 中,等等。 这些系统与工资管理系统(通过交换消息)要以一种它们能理解的格式进行交互。工资管理系统是一个独立的单元,我们能够使用第三方基础架构来实现它。这些系统要以一种能够继续使用他们各自的消息格式但仍能相互沟通的方式来实现互相连接。每当工资管理系统接收到来自其它两个系统的消息,它将执行一套共同的操作。可以将这组操作整合成一个普通的单元,我们称这个单元为bridge。 为什么使用Bridge? 桥接协议 假设有这么一个情形,application1想与application2进行交流。然而application1只使用REST/POX协议发送消息,而application2只能通过SOAP协议接收消息。要实现这一目标,其中的一个application需要以一种其它application能理解的格式进行交流,这是要付出一定代价的,在大多数的情况中是一个不能被接收的解决方案。我们使用一个bridge作为中介物,问题就解决了。这个bridge通过REST/POX协议接收消息,使用SOAP协议发送消息。一个bridge有效正确地连接了两个及以上使用不同协议的应用程序。 结构规范化或合同数据转换 下图中,左边的应用程序正在以一种特殊的结构发送消息。接收应用程序以另一种结构接收同一数据。在这当中要变换数据的结构,以便他们可以相互通信。Bridge能够帮助我们实现结构规范化(或转换)。 我们可以将这种情形引申至多个不同的应用程序正向某一应用程序发送消息的情形。接收应用程序或进程可以预先建立一个bridge,将所有传入的消息规范化为一种它能理解的通用的格式,响应消息的过程也是如此。此过程通常被称为规范化。 消息/合同验证 假设有这样的一种情况,有一个进程或应用程序希望只允许那些符合一种或几种格式的消息进入并拒绝所有不符合条件的消息。要达到这个目标可能需要编写复杂且代价大的验证逻辑。使用EAI bridge,一些基本的配置步骤就可以实现了。该bridge可以针对一个或多个模式验证所有收到的信息。仅当该消息符合所提供的模式之一,该消息就被发送给应用程序。否则,它将被驳回并发送相应的响应消息到发送端应用程序/客户端。 基于路由选择的内容 很多时候我们看到应用程序需要基于消息的元数据/上下文将消息路由到另一个应用程序。例如,在贷款处理过程中,如果贷款金额>$10,000,将消息发送到application1,否则发送到application2.这种基于路由的内容可以通过bridge实现。Bridge通过对传出元数据使用简单的路由规则来实现这一点。该消息能够被发送到任何端点或应用程序,不论是在云上或是在非云端。 虽然我们单独讨论了上面的每个功能,实际上它们很少单独发生。你可以将上面的情况与其他的情况结合起来使用一个或多个EAI bridge。Bridge也可以被链接或根据客户的要求并行使用,或实现模块化和增强易维护性。 配置、部署和代码 注册Service Bus账户并订阅 在开始使用EAI bridge之前,你需要先在Service Bus portal里注册一个Service Bus账户。你需要使用一个Windows Live ID (WLID) 登录,它将与你的Service Bus账户相关联。一旦你完成了这些,你就可以创建一个新的Service Bus Subscription。以后,每当你登录该WLID,你可以访问与该账户相关的所有Service Bus Subscriptions。 创建一个命名空间 一旦你拥有了适当的Subscription,你可以通过创建一个新的且在所有Service Bus账户里唯一的命名空间。每个service命名空间都是一组 Service Bus实体的容器。当你创建名为“Harish-Blog” 的service命名空间时,其界面如下。 关于账户设置和命名空间创建的更详细的资料可以在12月发布的版本的CTP所附带的用户指南里找到。 配置和部署bridge 可以使用Microsoft Visual Studio所提供的一个简单用户界面设计器来配置bridge。在这之前要从这里下载SDK。安装SDK后,在Visual Studio里创建一个新的EAI项目,你可以在Visual C# -> ServiceBus下找到它。接着按照这里(XML…

0

现实世界的Windows Azure:采访Designercity的解决方案技术总监Ernest Kwong

作为现实世界Windows Azure访问系列的一部分,我们对Designercity的解决方案技术总监Ernest Kwong就他们为其交互式的卡拉OK应用程序使用Windows Azure的问题进行了采访。以下是采访内容: Himanshu Kumar Singh: 请为我们简单介绍一下Designercity。 Ernest Kwong: 1995年Designercity作为一个web咨询公司建立于英国。2000年,我们在中国香港重新建立了我们的总部,并开始专注于更广泛的、集成的数字化解决方案。我们现在是一个独立的数字解决方案顾问、软件供应商和微软合作伙伴计划的成员,我们开发移动应用程序、多点触控解决方案和out-of-home应用程序。 我们的成功建立在用创新的技术解决方案识别和填充市场缺口。我们具有高水平的专业技术,并专注于采纳新出现的技术,并将其应用于真实的业务环境。使用这种方法的结果是,我们获得了为杰出组织开发数字解决方案的授权,包括香港国际机场和香港旅游发展局。 HKS: 你们的客户所需要的解决方案是什么样的? EK: 越来越多的客户提出托管他们的应用程序的请求。这些客户想要高度可用性、可扩展性的应用程序,但他们不想管理其基础架构。 其中一个客户是已在体育、商务交际和娱乐及媒体行业都投资的bma 投资集团的子公司Red MR。Red MR是一个新的卡拉OK品牌,它管理着香港两个受欢迎的卡拉OK 厅。那时,香港的卡拉OK市场正在下滑,并且似乎与数字一代失去了联系。Red MR想为其客户提供一种互动性的卡拉OK体验,但由于是为一个正在下降的市场构建一个基础架构,他们一直犹豫着要不要投入大量资金。 HKS: 您对Red MR的请求是怎么回应的? EK: 我们想以一种新的精神挽救这一市场,但是我们并不想建立自己的数据中心。数据中心和基础架构不是我们的核心业务。我们正在寻找能够为我们开发的解决方案提供基础架构组件的解决方案。 HKS: 你们为客户开发了哪些体验? EK: 2010年10月,我们开始为Red MR开发一个革命性的卡拉OK概念,使用Microsoft Surface开发多用户、多点触控的卡拉OK应用程序;使用Microsoft Silverlight 4浏览器插件;并使用Windows Presentation Foundation(WPF)提供丰富的用户界面。访问Red MR 卡拉OK 厅的客户能够使用Microsoft Surface部件来选择卡拉OK歌曲、玩游戏、上传照片甚至是将预定食物和饮料变为一套完整的娱乐体验的一部分。 在Windows Azure里我们使用web role来托管前端应用程序,用worker role来处理后台任务,利用Windows Azure里的Blob Storage来存储二进制文件,包括照片、视频和歌曲。Windows Azure是我们解决方案的支柱,它提供了汇集所有内容的信息中心。 作为Microsoft Surface应用程序的补充,我们还为Windows Phone 7开发了一个应用程序,它让用户的智能手机与Microsoft Surface结合起来。例如客户可以在这个装置上将Windows Phone当做一个控制器来玩游戏。 HKS:…

0

在Windows Azure中使用Node.js,开启云计算之旅!

Node.js 是一个很好的平台,在过去的两年里它越来越受欢迎。它提供了一个服务器端的理想的构建高度可扩展性和高性能网络应用程序(不论是在非云端或者是在云端)的JavaScript编程模型。它的突出特点之一是,它将引导你使用无阻塞的IO来写代码,使得实现更大规模的应用程序称为可能。另一个特点是,它非常小且属于轻量级。它具有非常丰富的生态系模块例如express 和 socket.io ,开发人员可以引进功能强大的被称作npm的node包管理器。多亏了Joyent 和 Microsoft亲密无间的合作,我们能够在Windows之上持有Node 和 NPM迎来了应用程序的一个新阶段。 在学习Windows Azure过程中,Scott Guthrie 宣布了我们在Windows Azure的云计算里为Windows Node开发人员提供了一席之地。不仅是那样,我们还使得构建Node.js应用程序并将其托管在任何地方来利用Windows Azure服务能被看成存储器的优点变得更加简单。伴随着那次演讲,我们发布了一个新的Node.js 开发人员开发中心并发布了新的Windows Azure SDK for Node.js早期预览版。你猜这么样,我们已经将资源发布到Github 了,并且它通过了Apache 2验证。是的,它是开源的,开始提交你的请求吧!这也意味着你将会看到该资源频繁的更新,所以你可以最大程度地获得最新信息。 新SDK使得开发人员使用一系列的PowerShell cmdlet构建、部署和管理托管在Windows Azure里的Node应用程序变得更加简单!看看Steve Marx的这段关于怎样使用cmdlets的经典短视频。这个体验完全支持Windows Azure存储和计算模拟器,允许你在本地轻松地测试你的应用程序。如果你是一个Node开发人员,我们知道你喜欢自己选择的工具。拥有PowerShell cmdlets让你感觉使用任何编辑器/工具都同样灵活,无论是Sublime Text、 Emacs、Vim甚至是记事本(当然我们不建议您使用记事本来开发,如果你确实需要,你可以选择它)。安装程序可以让你从0(Node.js未安装)开始到将其部署到云中只需60分钟。它使用Web 平台安装程序 来安装你需要的任何东西,包括Node.js、npm、 iisnode、 Windows Azure Emulators和 cmdlets。 除了工具的问题之外,我们还发布了azure npm包!它现在包含了Node APIs,允许你根据你是否在Windows Azure里运行选择使用Windows Azure Storage Queues、 Tables 和 Blob storage!你可以看看Nathan Totten 的这个视频,这里展示了他怎样在4分钟内使用该APIs构建一个应用程序和一些有趣的功能!教你安装azure npm!该模块包括了实例文件夹和单元测试中的几个示例。 Channel 9的Charles Torre…

0

Service Bus EAI & EDI 实验室发布了

作为对Windows Azure连续性创新的一部分,今天我们很高兴地宣布了Windows Azure Service Bus EAI & EDI 实验室的发布。在前一版本的实验室发布的时候,我们分享了关于Windows Azure可能要增加的功能的一些早期想法并且一开始我们就致力于从你们那里获得反馈意见。 该版本展示的新功能中启用了Windows Azure上的两个关键情景: 企业应用程序集成 (EAI)提供了丰富的消息处理功能和将私有云资产连接到公共云计算的能力。 电子数据交换 (EDI)的目标是,在企业对企业电子商务(B2B)情景中以为贸易合作伙伴构建服务的形式作为其形式。 注册实验室既简单又是免费的。你所需要做的就是查看以下新功能: 下载并安装 SDK 使用Windows Live ID登录到实验室环境 我们欢迎您提出问题并在Service Bus EAI & EDI Labs Release论坛里提供一些反馈信息。 你可以在MSDN文档中阅读到关于怎么使用这些新功能的更多信息。 请记住没有实验室的SLA承诺,因此你不能因为任何生产的需要而使用这些功能。如果要更改或停用实验室,我们会提前30天通知。 关于本次发布的更多信息 EAI功能包括: 方便地验证、丰富和变换消息,将它们发送到终结点或私有(或公用)云的系统中。这包括功能例如查找外部数据、xpath提取、路径行为、响应消息的转换,等等。 混合连接到非云端Line-of-business (LOB)系统、应用程序和数据,使用服务总线中继功能。这包括外框连接到LOB系统如:SAP、 Oracle 数据库、 Oracle EBS、 Siebel 和 SQL 数据库。 这些功能被Visual Studio里的丰富的开发体验所支持: 在不同的消息结构之间使用可视化设计器来定义和测试复杂的消息转换。 使用一个可视化设计器配置一个桥(即管道)来呈现和处理信息的加工和路由。还发现将它部署到Windows Azure的一个简单体验。 使用Visual Studio Server Explorer创建、配置和将LOB实体部署到非云端,并将它们显示在非云端。 EAI功能能被IT监测到,而且通过使得开发人员创建管理控制台的REST APIs显示出来。…

0

现实世界的Windows Azure:采访Gridsum的Sr.业务发展总监Yun Xu

作为现实世界Windows Azure访问系列的一部分,我们对Gridsum的Sr.业务发展总监Yun Xu就他们将其Web Dissector service迁移到Windows Azure的问题进行了采访。以下是采访内容:Himanshu Kumar Singh: 请为我们简单介绍一下Gridsum。Yun Xu: Gridsum的总部在北京,是微软合作伙伴计划的一员并且是一个独立的软件供应商,它开发了在线业务优化解决方案来帮助我们的客户衡量和分析网站的性能。(点击此处阅读关于Gridsum和它在Windows Azure上的解决方案的完整的案例研究。)HKS: Web Dissector是什么?YX: Web Dissector是一个构建在Microsoft ASP.NET 和 .NET Framework之上的在线应用程序,它可以用来捕获用户的网站行为和跟踪网页统计和转化率,然后提供易于使用、基于web的界面来帮助客户分析在线营销活动的效益。客户根据在一个月内浏览他们网站的页面数来为Web Dissector付费。当访问者查看网页时,我们能够检测网站流量和捕捉惯用数据,我们将这些数据提供给客户使他们可以调整其网站的内容来满足业务目标。HKS: 你们面向的市场是什么?YX: 我们已在中国大陆提供服务,并且我们的在线业务优化服务越来越受欢迎。特别地,Web Dissector吸引了其他地区(包括香港、欧洲和美国)的公司。HKS: 当您考虑将市场从中国延伸到别的地方时,您所面临的挑战是什么?YX: 我们想要满足Web Dissector日益增加的需求,并为中国以外的客户提供服务,但我们已经为监控我们现有的托管服务基础设施(托管在中国的Rackspace上)投入了全部的资源。随着我们业务的不断增加,我们不得不添加更多的服务器以容纳新的客户。这变得越来越困难并且管理我们不断增长的基础架构也变得更加耗时。我们也考虑到我们需要将它的服务托管在全球数据中心里,来为国际客户提供与在中国为客户提供的相同高性能的服务。我们为能够提供24小时不间断的网络服务感到自豪。我们的服务依赖于大量的计算进程,所以,我们需要这个能力将Web Dissector托管到全球数据中心中来继续提供高速可用的服务。否则,如果美国的一个客户正从托管在中国的基础设施中检索数据,他们将会感觉到明显的延迟。HKS: 请介绍一下怎样迁移到Windows Azure。YX: 继凭借2011年1月微软的BizSpark 项目对云计算服务进行的评估,我们决定将我们的Web Dissector服务迁移到Windows Azure。2011年2月,我们完成了迁移,由于我们熟悉Windows Communication Foundation 和 ASP.NET,这只花了一个月时间。我们为迁移只需要修改少量的代码。HKS: 您怎样利用Windows Azure来托管你的服务?YX: 在Windows Azure中我们使用Web Role来托管Web Dissector,这使得我们能够很容易地添加新的Web Role以扩展其服务和容纳越来越多的用户。通过使用Windows Azure,我们可以迅速实现我们所需要的可扩展性。这一切变得与添加新的Web Role一样简单,并且我们不必再担心需要实现和配置新的服务。为了更好地服务于我们的全球客户,我们还使用Windows Azure Content Delivery Network 以便我们能够从战略上将Web Dissector缓存到微软特定的数据中心中并把内容放在更接近客户位置的地区。HKS: 迁移到Windows Azure之后,在迁移到Windows…

0

新的Windows Azure Marketplace 数据提供最新的天气和股票信息

今天我们宣布了Windows Azure Marketplace将在原来基础上多提供两种新数据的消息: 世界各地历史气象资料:提供包括历史最高气温、最低气温、降水量、dewpoint、海平面气压、风速和世界各地的阵风等天气信息。你可以在线查看从2000年到本周的天气数据,并且每周增加全球各地前一周的天气数据。 Stock Sonar:Stock Sonar Sentiment Service为美国股市上市公司提供了sentiment scores。Stock Sonar检索、读取和分析来自文章、博客、新闻稿及其它基于对某个文本的意义深入理解的公共信息等广泛的在线资源。 Windows Azure Marketplace是一个软件即服务(SaaS)应用程序成品和高级数据集的在线市场。Windows Azure Marketplace帮助公司及时发现高级应用程序、公共域和来自合作伙伴的受信任的商业数据——从医疗到零售,从制造业到人口统计,导航信息,犯罪信息,网络服务以及数据清理算法。 了解关于Windows Azure Marketplace的更多信息: 白皮书:Windows Azure Marketplace 视频:第一印象: Windows Azure Marketplace 视频:在DataMarket上发现和订阅数据 案例研究:学习别人是怎样使用Marketplace的 本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2011/11/30/new-windows-azure-marketplace-data-delivers-the-latest-weather-and-stock-information.aspx

0

Windows Azure 云计算服务: 怎样按需选择并计算它将花费多少钱呢?

写这篇文章是为了帮助那些有利用云计算服务的想法或想了解这一虚拟概念的人,或是那些想使用Windows Azure云计算服务来省钱并更好地扩展他们的业务的人。云计算服务的费用是如何计算的呢? CPU内核是按小时数计费的 例如Windows Azure单个内核是12美分/小时 § 双内核机器的价钱与两台单内核机器的价钱是一样的 文件存储(非结构化内容)是按月收费的,同transection和上/下带宽消耗是一起计算的 Windows Azure 存储每月14美分/G 10,000 transection花费1美分 上/下带宽每G的字节需要15-20美分 数据库存储(结构化内容) 数据库存储的价钱是根据你所引发的数据库的大小来计算的,价格区间由云计算服务供应商指定 § 例如SQL Azure根据不同的DB大小收费 § 1 GB SQL Azure Database 9.99 § 5 GB SQL Azure Database 49.95 § 10GB SQL Azure Database 99.90 数据库入口/出口收费也是由云计算服务供应商严格指定的 其他的数据库相关的功能可能需要额外的收费(因供应商而异) 其他的连接组件 Access Control根据连接数计费的,或者花费Y这么多的钱来使用X个连接 Web based Cache按照大小收费 Networking connectivity根据连接数收费 注意:如果CPU内核、存储、数据库、你的云计算应用程序相关的一切东西都存在于相同的数据中心中,大多数云计算服务是不收取任何入口/出口费用的。 所以,如果你是一个企业家,打算采用云计算或打算将你的基于web的应用程序迁移到云中,你的选择可以是上述的任何一个,我们来将它们分成以下两种类型: 类型一: CPU 内核 文件系统存储(非结构化内容)…

0