Simple question: What is an Application? But is the answer equally simple?

Maybe I´m naive or dumb, but the more I think about it, the less I know what an "application" - an application in software development - is. Can you help me? Who can give me a simple answer?

Is it a single EXE assembly? No, not necessarily.

Or is it an EXE together with all the other assemblies I write? Hm, maybe.

Is a service (as in SOA) an application?

What is a distributed application? Is it one application whose parts run on different machines? Or are these parts in themselves applications?

If I start out with a single EXE to solve my problem and later decide to split it in two: do I then have two applications? Or is it still one application which incidentally manifests itself as two EXE files?

You see, I´m somewhat confused. The more so, because when I turn to current architecture models (e.g. layered architecture, or Clemens Vaster´s onion) I don´t find an answer. Neither helps a definition like "application program".

It seems the term "application" is either overloaded with many meanings. Or it is underspecified.

But maybe someone out there can provide a (link to a ) consice definition?

10 Comments

  • Aplication to Me is a set of Programs/Libraries/Data..etc which solve my Business Problem.

  • Let's try this deployment oriented definition:

    An "Appliction for <abstract purpose>" is a deployed set of executable code, infrastructure and data such that this set is minimal in the sense that if any element of the set isn't present the <abstract purpose> cannot be fulfilled.



    Example: If this blog misses it's IP transport it cannot fulfill it's abstract purpose to communicate ralph's thoughts. So IP Transport is a part of the Application for Communicating Ralph's thoughts.



    Martin

  • @Martin: I love such general definitions :-) The only objection I have: Following your definition an application includes everything from the EXE assembly I write down to the BIOS (executable code without which my app won´t run). That does not feel right to me.

  • Ralf:



    Have you heard of this "indirect" definition:



    "There is only one application. And it's still being written."



    Mujtaba.

  • Answer is easy as question: runs in one adress space

  • so could a website be an application?

  • I dont think there can be one definition for an application. It has to be based on the context of your business. For instance, a website is an application (alongwith its IIS and database servers). But if you have arranged multiple websites on multiple instances of IIS servers, you might call then different applications. But some of these might share a single database (or at least fetch some common data from one). Do they become one application in that case? Not necessarily.

  • Hmm.... this is a lot like the question, "what is education?"

    We all know what it is, but we can't really define it, and a lot of people confuse it with other related concepts that exactly count, like "training" or "schooling".

    Likewise we all know what an application is intuitively, and some of us know what an application *isn't*, but what exactly an application *is* is elusive.

  • An application, in my world, is a computer program designed to achieve a specific task.

  • An application in my words is "The act of bringing something to bear; using it for a particular purpose."

Comments have been disabled for this content.