Working with the .NET Service Bus business brokers georgia

The .NET service bus is arguably the most accessible, powerful, and useful piece of the new azure cloud computing initiative. While the .NET service bus is designed to address some tough connectivity issues, it also provides an attractive solution to scalability, availability, and security issues by lowering the technology entrance barrier and making mainstream and mundane what used to be an advanced communication scenario. Specifically, the .NET service bus addresses the challenge of internet connectivity. The truth is that internet connectivity is difficult. Often, the service is located behind firewalls (both software and hardware firewalls), behind a load balancer; its address is dynamic and can be resolved only on the local network and cannot be translated to outside addressing.Business brokers georgia

virtualization adds a new dimension to connectivity along with maintaining transport sessions across machines. This situation is depicted in figure 1.

Moreover, since it is typically inadvisable to open the intranet to callers from the internet, businesses often resort to using perimeter networks, but in turn incur the increased complexity of deployment, and of managing multiple sets of client credentials along with the unwanted traffic of unauthorized calls. Commonplace solutions for internet connectivity from dynamic DNS to static ips are often cumbersome, do not update in real time, but have scalability and throughput implications, and are potentially insecure unless built by experts.

The solution to internet connectivity challenges is simple—since it is so difficult to connect the client to the service directly, you can avoid doing that (at least initially) and instead use a relay service.Business brokers georgia the relay service is a service residing in the cloud, whose job is to assist in the connectivity, relaying the client calls to the service. Such a relay solution does require both the client and the service intranets to allow connections to the cloud, but since the cloud constitutes neutral territory for both the client and the service, most environments allow calls out to the internet.

When the TCP relay binding is configured with tcprelayconnectionmode.Hybrid, the communication starts as a relay via the relay service. If direct connection between the client and the service is possible, the relay service will promote it to direct connection. Otherwise, it will remain as relayed. The relay service can promote to direct even as the message is being relayed without any loss of data.Business brokers georgia the hybrid mode should be the preferred connection mode over the TCP relay binding. However, it has one drawback: both the direct and the hybrid modes require the binding to use message security, and as you will see in the next installment of this column, message security requires additional configuration and setup. And while these are simple steps, they do preclude hybrid as a working option by default.

The one-way relay binding allows the client to send its message to a buffer maintained at the relay service, rather than the service itself, and later have the relay service try to deliver the message to the service. To control the load on the .NET service bus, messages sent are limited to 64KB (this limit may change in the future). No reply from the service is possible and in fact, the one-way relay binding verifies that all operations on the endpoint’s contract are defined as one-way operations.Business brokers georgia in the case of both the TCP and the WS relay bindings, when the client calls the relay service, the service itself must be listening or the client will encounter an endpointnotfoundexcpetion exception, just as with non-relayed WCF (this is the case even when the operations are defined as one-way). In the case of the one-way relay binding, the client can issue the call regardless of the presence of the service, and there may not even be a service listening at all. As a result, you should choose the one-way relay binding whenever the service’s state is unknown. The downside is that the client has no guarantee of delivery of its messages, nor is there any guarantee of the order of the calls dispatched to the service. In addition, because of the inherent disconnected nature of the one-way relay binding, there is never a transport session.Business brokers georgia just as with the TCP and the WS relay binding, there can be only one service monitoring the relayed address, while there could be any number of clients calling that service. For the schema, the one-way relay always uses sb: