Establishing an Application Development Framework


An application development framework is very important to the success of any large-scale development project. By nature, enterprise application development requires multiple full-time developers working on various implementation tasks . Ensuring quality and consistency across the entire application can be nearly impossible without a well-defined and well-structured application framework.

The application development framework outlined in this book relies heavily upon clear design documentation and foundation design patterns. The design documentation includes those items previously described: the user interface definition, a database schema, and a component-level design. The foundation design patterns include uniform data access, interface definitions for business objects, templates for differently behaving forms, style sheets, and reusable user controls. Pulled together, an application framework can significantly accelerate the speed of development, ensure user interface consistency, reduce the potential for bugs , enhance overall security, and apply best practices for functionality reuse.

The most difficult aspect of establishing an application development framework is determining how much functionality should go into it and how much should be implemented in application-specific code. In general, you should probably add any functionality to the framework that you expect to be used in at least 80 percent of the applications. If there is no clear use of a specific technology beyond a specific project, then you should implement that functionality only for that application. Otherwise, time will tend to clutter the application framework and make it less useful and less robust. Determining whether specific functionality should be implemented within the application framework or within a specific project will be a constant challenge for enterprise developers, and it deserves careful thought and planning.

The application development framework in this book is flexible enough to be applied to multiple domains and is composed of design patterns reflected across all application tiers. As Figure 1-6 illustrates, the framework begins with a collection of stored procedures optimized for quick and secure data access. These stored procedures interact with a middle tier that manages a DataSet for cached validation data as well as business objects that manage in-memory representations of interactive data. These business objects implement framework interfaces that define how the data is interacted with, especially for data storage and retrieval, data value validation, and help descriptions. These business objects leverage data binding to populate Windows forms or Web pages that render the application user interface to the user. Windows forms inherit from predefined form classes, and Web pages are laid out based on predefined Hypertext Markup Language (HTML) page layouts. Style sheets also provide predefined visual characteristics, such as fonts and colors, for Web pages. Finally, a collection of predefined user controls provide common functionality, such as page headers and footers, role-based menus , and common event handling, such as save and cancel functions.

click to expand
Figure 1-6: A flexible application framework composed of interfaces and templates

Each of the following chapters focuses on and develops a specific part of the framework as it fits into the IssueTracker application. You can leverage the bestpractice design patterns from these examples and build a variety of enterprise applications including supply-chain solutions, e-commerce solutions, and enterprise resource planning systems.




Developing. NET Enterprise Applications
Developing .NET Enterprise Applications
ISBN: 1590590465
EAN: 2147483647
Year: 2005
Pages: 119

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