What Makes a Web Application Enterprisey?

We’re starting writing a book for O’Reilly that’s titled “Enterprise Web Applications: From DeskTop to Mobile”.  The book will be available under Creative Commons license, which means you can read it and provide your feedback from the get go. Here’s the github repository where we’ll keep the current version of the book. In the morning we had a discussion about the meaning of the word Enterprise applied to Web applications. Below is the draft we came up with and we ask your input – would you agree or have a different understanding of the meaning of the term “Enterprise Web Application”.

The easiest way to do this is by example. Creating a Web application that will place process orders is not the same as creating a Web site to publish blogs. Enterprise applications include company specific workflows, might need to be integrated with number of internal systems, data sources and processes.

Google Doc would not be enterprise Web application. But Google appliance integrating search operating on company documents, databases, processes, tickets, and providing collaboration is – it integrates consumer/workforce front office with what the company does (back office).

Google Maps is not an enterprise application. But a Google map integrated within the company site used by insurance agents to plan daily route, scheduling, doing address verification and geocoding – can be considered and enterprise application.

Just using a Web application for business doesn’t make it an enterprise Web application. If you take Gmail as is, it won’t be an enterprise application until you integrate it into another process of your business.

Is an online game an enterprise application? It depends on the game. A multi-player online roulette game hooked up to a payment system, and maintaining users’ accounts is an enterprise Web application. But playing Sudoku online doesn’t look too enterprisey.

How about a dating Web site? If the site just offers an ability to display singles it’s more of a publishing site as there is not much of a business there. Can you turn a dating Web site into an enterprise application? It’s possible.

Some people will argue that an enterprise application must supports multiple user, high load, be scalable, have business and persistence layers, offer professional support et al. We don’t believe that a Web application should do all this to become qualify for the adjective enterprise.

Let’s keep the definition simple.

An enterprise Web application is the one that helps an organization running its business online

In this book we are going to build a Save the Child Web application that will allow people to register, donate, find local kids that need help, match donors and recipients, upload images, videos and display statistics. Would these feature make Save the Child an enterprise Web application? Yes, our definition does not require an organization to be profitable. Our non-for-profit organization that collects donations for ill kids is our enterprise.

Categories Web

6 thoughts on “What Makes a Web Application Enterprisey?

    1. Not everything Mark Zuckerberg said says is applicable to your IT shop. Check your budget – can you afford the same investment into mobile teams as Facebook does? I remember the same thing was happening 7 years ago where everybody was looking at the Google maps assuming that if they can do this we can do this too. Not exactly.

      1. Of course not many companies possess Facebook strike force but you know what : their users are and we hope they be ours too. My question is in term of quality of the UI and performance, hybrid app can allow us to compete with native to some extent ?

  1. Y – nice write up. I just stumbled upon this now for some reason. Some additional and more technical requirements are:
    1. Localization. Most enterprises need to operate in multiple jurisdictions so having geo-spatially aware behavior built in is often important;
    2. architecture that preserves the investment for years to come. An enterprise web app often is built in a way that it can be open for being built upon, exposing API’s or any number of other things that increase its durability, the ability to be valuable over a long time period.
    3. Service Oriented. Being able to integrate with other applications or ECM type systems is often required.
    4. Supports SSO. No enterprise wants their employee’s or customers to have to remember different passwords for each app.
    5. MVC (needs no further explanation)
    6. Is interchange format agnostic. At one time everyone built EDI into their apps. Then it was XML, now JSON. Architecting for change is important. Imagine how many people are re tooling key systems to be mobile ready right now.
    7. just to double up on your post, scalable is always important.
    8. Able to adapt to changes in processes or workflows. One thing is constant – change.
    9. Security aware and able to mitigate DDoS or other attacks. Enterprises often find themselves targets. Architecting to mitigate foul behavior is par for the course
    10. OS agnostic. Face it, RHEL was not popular 15 years ago. Choosing a technology like Java that is portable is a wise decision.
    11. Accounts for long term developer support. Imagine if you chose Cold Fusion. The core team is down to a handful of people now. SAP OTOH has lots of support for the future.

    Great write up buddy! Your blog is only one of three i subscribe to.

    Duane Nickull

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s