Fog Creek Software
Discussion Board




Scripting desktop apps on the server, an inquiry

I have a question.  Does anyone here script desktop apps, such as Excel, from the server?  I think this is an odd thing to do, but I have a feeling a lot of people do it, and that Microsoft would be in favor of it. 

Also is there a push to move IT apps off the desktop and to the web?  I believe there is, but my CTO disagrees.  I want to add more web features to our commercial desktop app, but the CTO feels they are two completely separate applications.

I feel the line is becoming increasingly blurred.   

name with held to protect the innocent.
Tuesday, December 23, 2003

I've seen several forms management/authoring applications that involve multiple servers automating Microsoft Word.

It works OK, although some times Word is bad about throwing up dialogs that have to be dismissed (espcially as a result of error conditions). The trick seems to be to have a solid understanding of exactly what you're asking Word to do.

There is a move towards web deployment of applications in some organizations. However, most organizations have learned that deploying an application using web technology "just because" is a bad idea. Some apps are good candidates, some are not. Some organizations are good candidates, some are not. It very much depends on circumstances.

Mark Smith
Tuesday, December 23, 2003

A lot of people that do number crunching like using Excel as a front end for a database - they pull numbers either from the database or an analysis cube directly into Excel so they can move them around.

<plug mode="obligatory">
Office 2003 is going to be *really* cool with regards to client/server. The undercarriage is .Net and XML and *very* network-aware. In addition, Infopath should give a much easier development path for document-centric applications.
</plug>

Philo

Philo
Tuesday, December 23, 2003

It's reasonably common in classic ASP to automate Word from the server in order to get a spellchecker: http://www.4guysfromrolla.com/webtech/062402-1.shtml

The only drawback in that case is the overhead to spawn a new version of Word for every request, though this could be helped by maybe saving the automation object in a couple of application or session variables and reusing them.

Matthew Lock
Wednesday, December 24, 2003

What are you trying to do? Use Word as a spell checker? Not only do you run into the 'error dialog' issue (MS actually has a KB article on running Office apps on the server, it is pretty common to extract data and for other reasons), but licensing issues. (Is that one user? Really? Presumably a site license would cover it.)

For a custom app, it's an easier issue--make sure to have the UI separate from the 'processing'.

Your scenario isn't clear. What's a web feature in your desktop app? I'd think of that as an embedded browser, or support to call web services.

And, Philo, Office2003 doesn't offer much new in the sense of stuff you can run on the server.
What it does offer is documented file formats so your code can generate stuff which can be used on the client. (e.g. if you used Excel on a desktop machine, the server could output an XMLSS file. which is actually a feature of Excel XP and isn't full fidelity like the WordML format. but there are other cool features which Excel can use with XML.) And maybe you can somehow get people to save their files in the XML formats so you can read them on the server... maybe that's what Microsoft needs to write, a little server-safe app which translates .DOC files to WordML, etc.

mb
Wednesday, December 24, 2003

The question is would users use our desktop product on the server given a scripting API.  I think the answer is yes, even though it seems like a questionable idea.

name with held to protect the innocent.
Wednesday, December 24, 2003

I've set up a few applications using Word to assemble documents on the fly but it wasn't reliable. Your best bet is to source a component which is developed for the task.

Tony Edgecombe
Wednesday, December 24, 2003

I had, umm I guess I still have, a debtors letter driven from a Net DDE connection.  The user pressed the button to run the process but after that the macro got the data from the DDE server which in turn got it from the actual accounting system database, the whole thing spewing out reams of debtors letters.

But I'd still call that a client process not one where the server ran the client.

Simon Lucy
Wednesday, December 24, 2003

"The question is would users use our desktop product on the server given a scripting API.  I think the answer is yes, even though it seems like a questionable idea."

If your desktop product does something interesting, then yes someone will use it on the server. After all, it's software, which is quite adaptable.

mb
Wednesday, December 24, 2003

*  Recent Topics

*  Fog Creek Home