Business process become more simplified than ever with an advanced technology and techniques. Software for business as an enterprise applications are complex, scalable, distributed, component-based, and mission-critical those can be deployed on a variety of platforms across corporate networks, intranets, or the Internet. They are data-centric, user-friendly, and must meet stringent requirements for security, administration, and maintenance. Developing such custom enterprise applications mean to satisfy multiple requirements to deliver the best fit solution is the mission critical and challenging.
Every development decision take for each requirement affects many other requirements, few are difficult to predict or understand, this is to be a part of business requirement analysis, where isummation push best practice efforts to better analyze complexities to solve enterprise challenges for the solution.
To achieve reliable, intuitive and effective solution there are specific attributes.
The 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.
Multi-component, A multi-user, multi-developer, multi-machine application that can manipulate massive data and utilize extensive parallel processing, complex logic, network distributed resources, deployed across multiple platforms and inter-operate with other applications.
Capable and robust enough to sustain continuous operation, it must be flexible for scalability, deployment, efficient maintenance, monitoring and administration.
Systematic approach to understand the beginning point provide an organized way to design and build applications that chart an optimum course among the many requirements.
Developing an enterprise applications are complex to grasp it completely, at a onetime its not easy to hold all the requirements, option and design choices in mind, better much less understand how each requirement affects all the others. Simplifying designing and development of large-scale distributed applications is to group the similar requirement together into a small number of abstract categories further can be arranged to show how they affect and depend on one another allows to break overall development problems in small manageable tasks. It is a systematic approach to control the whole long term development process as we do.
The enterprise application model is the summation of all requirements those mainly classified into below sub-models. Each model defines sets of requirements to deliver within each model.
Development team Development process Project management Source code control Testing Application milestones and deliverables
Business goals Development cost Return on investment Resources needed Time constraints Security and maintenance Existing infrastructure investment Business rules and policies
User interface Ease-of-use requirements Training and documentation Application support User’s desktop configuration and network connection
Logical structure of the application Object and data modeling Business objects and services Interface definitions
Component development or reuse Development Tools Deployment Platforms System and database technologies Clustering, pooling, and messaging technologies
Physical application architecture Distribution and interconnection of components Product of the iterative inputs of each of the other sub-models
The below illustration to better understand requirement categories and its relationships to each other. Initiating point is as business requirement and end is the architecture model, each model interacts with each other
Enterprise Application Design architecture by iteratively defining and meeting a broad range of requirements. These requirements are summarized in the business, user, logical, technology, and architecture models.