views:

47

answers:

1

I would like advice from the architecturally minded on the best framework or method for the following:

server: a windows service in .NET

client: any mainstream language, a combination of .NET app/web app, and also some clients that are Ruby on Linux.

One idea I had was to have the Windows Service expose itself as a Web Service, and supply web service methods for starting a job, cancelling the job, getting status, and getting results.

Any other ideas?

+1  A: 

Ultimately the service needs a host. You can use a simple windows service or a hosting application. IIS is designed to do this. I would seriously consider hosting your service (web service or other protocols) inside an IIS hosted process. IIS has management support and the new AppFabric technology builds on this to give better management and scaling capability.

As the service itself I'd consider using on open web type architecture, such as REST to give you compatibility with as many different platforms.

Are your long running processes a workflow? If so you can leverage .net WF to do for you and WF in .net 4 is completely IIS hosted already.

Preet Sangha
REST is fine, but a basic profile Web Service can give you more facilities for client proxy generation. Or can you have this proxy in a REST server ?
Timores
With WCF its easy I think, but maybe with technologies its harder. However there will be libraries that will work with HTTP.
Preet Sangha