200 likes | 387 Views
Application Frameworks. Presented by Armando Garza. “Application Frameworks Produce Results!”. American Heritage Definition:.
E N D
Application Frameworks Presented by Armando Garza
American Heritage Definition: “A structure for supporting or enclosing something else, especially a skeletal support used as a bases for something being constructed; a fundamental structure, as for written work or a system of ideas.”
You get five major benefits by using an application framework: • Modularity • Reusability • Extensibility • Simplicity • Maintainability
Modularity Customized Business Application Domain-Specific Components Cross-Domain Components .NET Framework
Reusability Application Application Application Application Framework
Extensibility Application << interface >> Send Contract Send Print Send Email Send Fax
Simplicity Application Application A D A D C E B F Class Library Application Framework Component A Component D Component A Component D Component B Component E Component B Component E Component C Component F Component C Component F
Maintainability Business Component Business Component Business Component Business Component Business Component Framework Business Component Business Component Business Component Business Component Application Application
Framework Economics • Framework Development • User Training
Framework Development • Cost and effort are required to develop a highly usable and extensible framework. • Both business and technical knowledge is required. • Framework development is a reiterative process.
User Training • To be proficient, the developer needs sufficient knowledge about the framework. • Supporting materials can speed up the learning curve.
Developing Application Frameworks Developing an application framework is like investing in the stock market, good investments aren’t judged on whether they are making money today, but whether they support you investment strategy.
Analysis • Set scope and objectives • Identify key features • Types of business applications that participate • Use cases that will be supported • Supported business domains
Design • Identify common spots in: • Domain-specific layer • Cross domain layer • Identify hot spots in: • Domain-specific layer • Cross domain layer • Devise the architecture
Implementation • Coding of the application framework • Develop a framework that meets: • Requirements • Time constraints
Stabilization • The focus is on: • Testing • Bug Fixes • Developer Feedback • Documentation • Knowledge Transfer