Web-based and HTTP Solutions

I constantly hear software requirements dictating a web-based application for enterprise public sector applications.  However, I seldom know whether they are demanding the application run in a browser, which is the standard interpretation of web-based application, or whether they are referring to the data transfer protocol that typically binds business applications indirectly to their databases.  I think it is worth exploring the technologies available with HTTP applications since the traditional definition of web-based applications dealing with HTML, CSS, Javascript, etc., are become somewhat blurred with XML markup technologies, such as XBAP and technologies that offer many of the traditional web-based benefits, such as APP-V and RemoteApp.

I worked on the development of all types of applications, including browser-based, desktop, and mobile applications.  Lately, the backbone of all these are typically web services layers, ReST and SOAP, and for the most part run over HTTP with TLS.  SOAP is essentially an XML-RPC, and as such, is not constrained to HTTP.  My usual response to “I need a Web App” is “Okay, why exactly?”  I typically get roughly the same five responses, and usually just the first three:

  1. accessible anywhere
  2. single point of maintenance
  3. no installations
  4. flexible hosting options
  5. platform agnostic (hardware and software)

While these are logical and intelligent requirements, they are in no way confined to a browser, except maybe the last and even that is changing.  In addressing requirement (1), one can build a desktop, mobile, or hybrid application (like XBAP) that runs over HTTP (which is synonymous with accessible anywhere because firewalls don’t tend to block port 80).  Click-once and other attendant-free installations take care of (2) and (3), not to mention server-based deployments, such as Microsoft’s APP-V or RemoteApp.  I would even argue that enterprise business web applications which are publicly exposed require more maintenance, if only from a security standpoint.  The fact that requirement (1) is met practically implies (4) is met also.  And that leaves (5).  While IT systems professional are certainly excited about iOS and Android technology, how many are exited about having to support and maintain them in the scope of their network and systems security operations?  I’ve talked with many and most are apprehensive and guarded, at best.  With Windows 8 (and soon to be 10) providing a nice mobile OS on top of some excellent hardware choices, mobile options for Windows-based systems administrators wanting integrated domain-based security while in the office is getting easier.  Not to mention there are nice free RDP solutions in both the Android and Apple app stores.

Other considerations that I deem important for governments, but which do not receive much attention are:

  1. secure data
  2. ownership and physical possession of data
  3. natural disasters, loss of internet, and disaster recovery

Now the third point cuts both ways.  Obviously, if a disaster strikes your data center you have problems, but that is true of any data center.  Offsite backup is always a good idea and you can bet hosting providers do it.  My main point is that our local area networks are more reliable than our bandwidth and connection from our ISP (for most us IT folks).  A couple other items I think are worth considering is application performance, speed, and integration with other resources on your network, such as Active Directory, file shares, and other 3rd party systems local governments inevitably need to integrate.  But to be fair, most system integrations today leverage web services.

It is not that i do not see a need for web-based applications, but that i see more applications pivoting toward web services.  Whether or not it loads in a browser is more of a platform agnostic requirement than an accessibility requirement.  If you want more information on our product line, including our web-based products, please visit our website.

What are your reasons for a web-based application requirement?