Windows Azure Service Bus

1. 概览

1.1什么是Service Bus呢?

软件开发初期,实现的功能比较单一,每个软件相对比较独立的工作。后来发展了,软件作为一种服务提供给其他软件使用。这样软件和软件之间需要沟通。首先在企业内部,软件开始面向服务的架构(Oriented service architecture),软件间的相互通信需要一定的标准和协议,这样ESB(Enterprise Service Bus)就出现了,ESB解决了软件之间互联的问题。后来又出现了Message Buffer,用来出来处理软件之沟通的消息,对消息进行异步传输、持久化等。为了使企业间互通,ISB(Internet Service Bus)应运而生。总而言之,Service Bus 使得Service提供者和使用者有了标准的通行协议。

1.2 为什么用Service Bus呢?

Application是发布在企业或者Datacenter之后的,在发布出去之前有一道防火墙和NAT来阻止非授权的访问。一般防火墙通过公开响应的端口,给访问者访问,这样开的端口会给企业或服务器内部照成安全隐患。而且发布的Application越多,端口越多,各个发布者端口不一致,给连接带来了一定的挑战(Connectivity Challenge)。有哪些挑战呢,下面从三个方面说明问题。

1.2.1. 服务(Service)

image

从上面的图片来分析。Client端要使用Data Center端LOB System提供的服务,需要首先连接DMZ区域,但是Datacenter为了系统安全,不能让外网连接内网,DMZ也不能连接内网。所以,想通过传统的方式来访问服务具有挑战性。

1.2.2. 设备(Device)

image

现在能上网的终端有各种设备,智能手机,IPad,笔记本,PC等等,而且不但想在公司内部办公,还想通过那些终端设备在家里,

旅馆、咖啡厅甚至任何能连上Internet的地方连接公司内网进行办公。当然这变得非常有挑战性。

1.2.3 云(Cloud)

image

 

越来越人受欢迎的云计算,开始遍布世界各地。部署在云上应用程序也是分布式的,然而世界各地的Datacenter使用的静态IP

依赖静态IP地址,Windows Active Directory验证和TCP套接字的通信通常是不可能的。

提供一个意味着处理这些分布式应用程序之间的通信的同时维持安全与可靠性通常是一个挑战。

 

为了解决上述挑战,Service Bus 应运而生。左图可以看到,应用之间连接错综复杂,防火墙和NAT成了不可逾越的障碍;而右图通过Service Bus 是连接简化,容易使用,提供服务和使用服务者只需连接Service Bus 即可;连接Service Bus 只需特定端口来穿透防火墙,Service Bus 是用Namespace来连接,因此也没NAT问题。

imageimage

下面我讲下Windows Azure Service Bus Namespace And Access Control 

posted @ 2012-12-07 11:24  EricWen  阅读(2400)  评论(0编辑  收藏  举报