Software application

From Wikipedia, the free encyclopedia

Software Application-- An executable software component or tightly coupled set of executable software components (one or more), deployed together, that deliver some or all of a series of steps needed to create, update, manage, calculate or display information for a specific business purpose. In order to be counted, each component must not be a member of another application.

Software Component - An executable set of computer instructions contained in a single deployment container in such a way that it cannot be broken apart further. Examples include a Dynamic Link Library, an ASP web page, and a command line EXE app. A zip file may contain zero or more software components because it is easy to break them down further (by unpacking the ZIP archive).

Software Application and Software Component are technical terms used to describe a specific instance of the class of Application software for the purposes of Application Portfolio Management. See application software for a definition for non-practitioners of IT Management or Enterprise Architecture.

The art and practice of Software Application Portfolio Management requires a fairly detailed and specific definition of an application in order to create a catalog of existing applications that are installed in an organization.

Contents

The definition of an application has the following needs in the context of Application Portfolio Management:

  • It must be simple for business team members to explain, understand, and apply.
  • It must make sense to development, operations, and project mgmt in the IT groups.
  • It must be useful as an input to a complex function whose output is the overall cost of the portfolio. In other words, there are many factors that lead to the overall cost of an IT portfolio. The sheer number of applications is one of those factors. Therefore, the definition of an application must be useful in that calculation.
  • It must be useful for the members of the Enterprise Architecture team who are attempting to judge a project with respect to their objectives for portfolio optimization and simplification.
  • It must clearly define the boundaries of an application so that a person working on a measurable 'portfolio simplification' activity cannot simply redefine the boundaries of two existing applications in such a way as to call them a single application.

Many organizations will readdress the definition of an application within the context of their IT Portfolio Management and governance practices. For that reason, this definition should be considered as a working start.

By this definition, the following 'things' are applications:

  • A web service endpoint that presents three web services: InvoiceCreate, InvoiceSearch, and InvoiceDetailGet
  • A service oriented business application (SOBA) that presents a user interface for creating invoices, and that turns around and calls the InvoiceCreate service. (note that the service itself is a different application).
  • A legacy system composed of a rich client, a server-based middle tier, and a database, all of which are tightly coupled. (e.g. changes in one are very likely to trigger changes in another).
  • A web site publishing system that pulls data from a database and publishes it to an HTML format as a sub-site on a public URL.
  • A database that presents data to an Excel workbook that queries the information for layout and calculations. This is interesting in that the database itself is an application unless the database is already included in another application (like a legacy system).
  • An Excel spreadsheet that contains a coherent set of reusable macros that deliver business value. The spreadsheet itself constitutes a deployment container for the application (like a TAR or CAB file).
  • A set of ASP or PHP web pages that work in conjunction with one another to deliver the experience and logic of a web application. It is entirely possible that a subsite would qualify as a separate application under this definition if the coupling is loose.
  • A web service end point that no one uses, but which can be rationally understood to represent one or more useful steps in a business process.

The following thngs are not an application at all

  • An HTML web site.
  • A database that contains data but is not part of any series of steps to deliver business value using that data.
  • A web service that is structurally incapable of being part of a set of steps that provides value. For example, if you create a web service, but you require that the data that arrives can only be useful by the app if it breaks the web service schema, then you have not deployed an app. You have deployed trash.
  • A standalone batch script that compares the contents of two databases by making calls to each and then sends e-mail to a monitoring alias if data anomalies are noticed. In this case, the batch script is very likely to be tightly coupled with at least one of the two databases, and therefore should be included in the application boundary that contains the database that it is most tightly coupled with.

The following things are many applications

  • A composite SOA application where you develop a set of reusable services and a user interface that leverages those services. There are at least two applications here (the user interface and one or more service components). Note that you do not count each service as an app. Depending on how many tightly coupled components you built, you may have a single servicies endpoint that presents many services, or you may have a couple of service endpoints that are independent from one another. It is the amount of coupling between the components that defines the application, and therefore it's boundary.
  • A legacy client-server app that writes to a database to store data, and an excel spreadsheet that uses macros to read data from the database to present a report. There are TWO apps in this example. The database clearly belongs to the legacy app in that was developed with it, delivered with it, and is tightly coupled to it. This is true even if the legacy system uses the same stored procedures as the Excel spreadsheet.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.