Features of Enterprise Applications

An enterprise application is a business application, but more specifically, it is a big business application. In today's corporate environment, enterprise applications are complex, scalable, distributed, often component-based, and mission-critical. They may be deployed on a variety of platforms across corporate networks, intranets, or the Internet. They are data-centric and they typically meet stringent requirements for security, administration, and maintenance. In short, they are highly complex systems.

Designing and developing enterprise applications means meeting many separate requirements. Every development decision made to satisfy a requirement affects many other requirements, often in ways that are difficult to understand or predict. The failure to meet any of these requirements can mean the failure of the entire project!

Like any modern application, an enterprise application should be reliable and perform well, in addition to providing an intuitive and efficient user interface. But beyond these common qualities, it can be characterized by these three specific attributes:

  • Complex It is a multi-user, multi-developer, multi-component application that can utilize substantial data, employ extensive parallel processing, affect network-distributed resources, and require complex logic. It can be deployed across multiple platforms and inter-operate with many other applications, and it is long-lived.
  • Business-oriented Its purpose is to meet specific business requirements. It encodes business policies, processes, rules, and entities; is developed in a business organization; and is deployed in a manner responsive to business needs.
  • Mission-critical It is robust enough to sustain continuous operation. It must be extremely flexible for scalability and deployment, and allow for efficient maintenance, monitoring, and administration.

These qualities clearly make the task of enterprise development challenging, and the trend is toward ever-increasing demands. The rapid improvement of computer hardware and software, combined with global economic competition—and opportunities—has created an environment in which business systems must respond quickly and deliver unparalleled levels of performance. As these demands continue, organizations must automate even more of their processes, build their software even faster, serve more and more users, and process a rapidly growing mass of data.

Aside from these challenges, the power, complexity, and rate of change of the technology used in building these corporate solutions make efficient development ever more difficult. Designing an enterprise application requires the weighing and balancing of an enormous array of application requirements, such as:

  • Its business goals.
  • How soon it must be delivered.
  • Its budget.
  • The number of people who will develop, test, and maintain it.
  • The number of concurrent users it must support.
  • The importance of performance and ease of use.
  • The hardware it must run on.
  • Where it will be deployed.
  • What security is required.
  • How long it will be used.

Without a systematic way to understand the relationships among these complex and often conflicting requirements, it's hard to know where to begin. What is needed is a straightforward method of reducing this complexity and providing an organized way to design and build applications that chart an optimum course among the many requirements.

Microsoft Corporation - Analyzing Requirements and Defining Solutions Architecture. MCSD Training Kit
Microsoft Corporation - Analyzing Requirements and Defining Solutions Architecture. MCSD Training Kit
Year: 1999
Pages: 182

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net