Vinci Part #2 - The new New HttpSysServerChannel

Today was actually “build day” here at RemObjects, and we just released a new suite of builds for all our current products, including RemObjects SDK, Data Abstract, Hydra 3, Internet Pack, DebugServer and Chrome 1.5.

But instead of talking about this, let’s look at our first new feature for RemObjects SDK 5.0 for .NET (part of our ‘Vinci’ beta program):

By far the most favorite communication channel for RemObjects SD and data Abstract users is HTTP, mostly due to it’s ease of use, compatibility with adverse networking scenarios, but also because HTTP based urls are familiar to developers and end-users alike.

Starting with version 5, we’re shipping a new HTTP server channel for RO/.NET that will make hosting HTTP servers even easier, especially when deploying servers on systems where you need to share a common IP address and port with the IIS server that may be hosting your website.

This new server channel, available in the current beta builds, is based upon http.sys and the .NET 2.0 wrapper classes for it. http.sys is a new kernel level HTTP stack provided by Microsoft, available in Windows XP SP2, Windows 2003 Server and Windows Vista. Among other things, it provides the basic HTTP functionality for IIS on these systems, and has several advantages:

  • The bulk of the core HTTP processing is done on kernel level, which makes it faster and more reliable.
  • It all so allows RO standalone .exe servers to benefit of all the work and fine tuning Microsoft puts into this kernel driver, without needing to run (Or even install) IIS itself. You’re using one of the most well-tested and widely used HTTP engines in the planet.
  • It lets your RO standalone .exe server the same port with IIS (or other services using http.sys, such as SQL Server 2005), simply by providing a unique domain name. Similar to how IIS allows you to set up virtual sites on the same ip/port combination by using HTTP/1.1’s Host field, RO servers can now participate in this. You can – for example – have IIS listen on http://www.yourdomain.com, and your standalone RO server on http://services.yourdomain.com on the same IP address. http.sys will automatically direct each request to the proper server application.

To set up the channel, simply open the Bindings property editor and specify one or more hostname/port combinations. Make sure they do not conflict with any you have set up in IIS (for example, you cannot use the same host and port in both). Also, remember, this channel requires XPSP2 or newer operating system.

In addition to sharing an port/ip combo with IIS or other servers provided by Microsoft, you can of course also use it to run several independent RO servers on different domain names on the same server.

That’s it for now – stay tuned for more exciting ‘Vinci’ features, coming soon.

marc hoffman

Chief Architect and CEO here at RemObjects Software. Project Manager for Elements and lead developer of Fire, our awesome new development environment for the Mac.

Curaçao