I was curious, what other architectures exist for business or user focused development that aren't written using web applications. Are these architectures used today?

If you are or were in the business world and you need to connect to an application from a remote location, what technology would you use (that isn't web application based)?

  • 1
    Are you looking for code-based approaches? Or general software? Or something else? – Adam Lear May 17 '11 at 5:00
  • I wasn't necessarily looking to use a particular tool but I was just curious what technologies existed. The web would be an example of a distributed system but besides the web, what other technologies exist that are similar. I was talking about the full software stack. – berlinbrown2 May 17 '11 at 14:15
  • Email — still in use. Still a distributed service.
  • Instant messaging + VoIP — Even though there are some implementation, which use web interface, it's still not based on web architecture. If standard protocol is used, it's most likely to be XMPP, which is distributed protocol.
  • Email is a good example. And I guess you could wrap an interface around "email". Good examples. – berlinbrown2 May 17 '11 at 14:15

There are plenty of applications out in the business world today that use fat winform type client where the data for the application is remote.

Most common method today for a business user to connect remotely is through VPN. The connections these days are actually quite fast. While there is a small delay accessing any data or file shares, it is manageable.

While not as popular as VPN. Virtual desktops are pretty awesome. A virtual desktop basically allows you to connect to a computer in your office from any other computer that has internet access. Once you make the connection, the speed is the same as if you were sitting right in the office.


VNC, Cytrix (Windows only), Windows Remnote Desktop, or how about plain old X over SSH. All of these require no customaisation of the user appliactions to remote working, some require lower bbandwidth than otehrs, and X programs written by Windows developers tend to need a low latency and high bandwith. Theres other technologies out there, but your question needs to be a bit more specific to consider them.


Well, the first thing I would do is use SSH to connect to a shell on a remote server. If you're talking about software for the general non-geeky population, then it might be different.


It depends on what your remote application is suppose to do for you.

These days everybody talks about making RESTfull services to access remote databased services, and web interfaces for remote applications. But it depends what kind of service this remote application is suppose to do for you.

If its an application which a local application should talk to it depends on the interface of the remote application. For communicating across computer boundaries there are different frameworks which claim to help you, if you are using .NET it could be WCF for example.

WCF is a pain in many aspects, but also provides you with a lot of functionality out of the box.

So my bit for an answer is "it depends" :)


Having worked with it for quite a while, I'm a keen user of the CORBA middleware framework for distributed apps. It's not very popular in general though for a number of good reasons:

  • Making it play nicely with the internet is difficult - you often need to run a gateway because some implementations don't understand NAT.
  • It's a pretty steep learning curve, and while it tries to hide the complexities of what's going on underneath it can't quite manage to hide them completely.

I know it's still used extensively in the financial sector, at least, for in-house distributed systems. One major advantage it has over a language-specific middleware (like .NET remoting/WCF) is that it is language agnostic, and implementations exist for many different languages. That means you can implement your server interface on some ancient back-end database server in C++, and then write a client in Java or .NET which talks to it.

Other alternative, more modern middleware frameworks include ICE and Apache Etch.

Things like SOAP and XML-RPC also provide similar network service interfaces. They are a lower-level specification than the ones above, and indeed can be used as the underlying network protocol in some cases.

  • Do UI interfaces exist for CORBA? – berlinbrown2 May 17 '11 at 14:16
  • If you mean for editing the CORBA IDL, then yes, there are several Eclipse plugins (I wrote one: eclipsecorba.sourceforge.net) and also one for netbeans. If you mean for running an existing GUI and having it appear on another system, then not exactly - the network layer needs to be added lower down in the software, so you'd need to separate the processing logic from the UI logic and use CORBA to do the communication in between. – Mike Houston May 31 '11 at 14:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.