Understanding Frameworks: Choices, Strengths, and Weaknesses in ASP.NET, Study notes of Software Engineering

An in-depth analysis of frameworks, focusing on asp.net. It covers the principles of framework choice, the differences between frameworks and ides, the concept of exposure, and the strengths and weaknesses of asp.net. It also discusses various aspects of asp.net, such as controls, bindings, and the table control.

Typology: Study notes

2012/2013

Uploaded on 04/23/2013

ashakiran
ashakiran 🇮🇳

4.5

(27)

261 documents

1 / 36

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Dictates programming style and approach.
Solves some common programming
problems.
Owns and solely manipulates specified
resources.
Imposes limits on other uses of those
resources.
A framework is a programming environment
that
Frameworks
Monday, December 03, 2012
9:14 AM
Frameworks Page 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24

Partial preview of the text

Download Understanding Frameworks: Choices, Strengths, and Weaknesses in ASP.NET and more Study notes Software Engineering in PDF only on Docsity!

Dictates programming style and approach. Solves some common programming problems. Owns and solely manipulates specified resources. Imposes limits on other uses of those resources. A framework is a programming environment that Frameworks Monday, December 03, 2012 9:14 AM Docsity.com

Look at what you lose, as well as what you gain! Principle of framework choice Monday, December 03, 2012 4:34 PM Docsity.com

A piece of information is exposed about a framework if it is publicly documented and its use is recommended. Exposure is a guarantee of continuity. The concept of exposure Is fully documented and supported. Is subject to rigorous change control, including orderly feature change and deprecation. Persists between major revisions of the framework. Generally, exposed information: Exact implementation of features. Exact details of utilization of external resources. In any framework, much information is not exposed: Major revisions of the framework can change details without notice or deprecation. Your software will break. Cost of re-engineering may be high or even impractical. It is potentially deadly to build systems based upon unexposed information; then: Because it limits what the vendor has to support. Because it allows freedom of response in changing other things. Why is limited exposure desirable? The concept of exposure Monday, December 03, 2012 9:19 AM Docsity.com

other things. Expose things you're sure of. Strategically don't expose things that need improvement. (Expose features for a fee). For the vendor, Docsity.com

a user interface component. a data model component. a protocol component between user interface and data model. control : a multi-purpose object that is a building block for web-based forms. Can have: binding : the process of associating a control with the resources it controls, e.g., a database table. configuration : the process of specifying the fine-grained behavior of a specific control instance. ASP.NET concepts ASP.NET concepts Monday, December 03, 2012 9:39 AM Docsity.com

A binding is an association between a program object and an external resource. In ASP.NET, one can "bind controls to database tables". This allows the control to edit the object, and to do whatever you wish to allow the user to do. Create Retrieve Update Delete Supports full CRUD model of database access: a guestbook is one non-custom control. a shopping cart is one non-custom control. Result: Binding Binding Monday, December 03, 2012 9:37 AM Docsity.com

The table object is a very complex piece of software. You customize that software's behavior, but do not touch its code. Thus, your task is greatly simplified, according to any measure of complexity. The power of the table control: The power of the table control Monday, December 03, 2012 9:45 AM Docsity.com

ASP.NET is designed for web interaction. There are many transactions within one user "session" (loosely defined as use of one browser on one machine until the browser is restarted). Session objects Instantiated when the browser first comes to the application. Erased after a timeout or upon explicit logout. A cookie in the browser keeps track of each session. Contents stored on server. An associative array (strings - > strings) Persists between calls to the server. Objects are serialized before being stored in it. Controls -- and you -- may keep track of anything you wish in a "Session" object: The user's name. The user's authorizations and privileges. Examples: ASP.NET Session objects Monday, December 03, 2012 9:46 AM Docsity.com

Framework Strengths Weaknesses ASP.NET Easy manipulation of database tables. Single-vendor, services not reusable in other contexts. Ruby on Rails Highly tested MVC environment Difficult to extend with new capabilities. Symfony Highly inclusive MVC environment; couples to all known utilities. Difficult to validate environmental configurations of supporting software. Google Apps Horizontally scalable front- end; cloud-based, highly available backend supporting JDO. Single vendor, not portable to other cloud providers. Force Canned solutions to all major business needs; rigorous security model Very difficult to extend, costly to operate. A spectrum of frameworks and capabilities Monday, December 03, 2012 10:06 AM Docsity.com

A radical departure from any programming paradigm you have seen before. Not really "a programming language" at all. Instead, a "rule engine". Force The Event to watch for. The Condition to check for (when the event is seen). The Action to perform when the event happens, if the condition is true. You specify the rules in Event-Condition-Action format Force Monday, December 03, 2012 10:13 AM Docsity.com

A Profile is a set of user capabilities, e.g., "ability to modify this or that object" A Role describes management hierarchy. Managers inherit the profiles of the people they manage. Each User is assigned a (data access) Profile and (optionally) a (business) Role. Profiles, Roles, and Users End result: hierarchy of responsibility, where upper objects are responsible for lower ones. Profiles, Roles, and Users Wednesday, April 14, 2010 2:24 PM Docsity.com

A simple picture Wednesday, April 20, 2011 4:44 PM Docsity.com

People control states: billing controls "paid" shipping controls "shipped" and "canceled" billing controls "canceled" An ECA model of process Wednesday, April 14, 2010 2:59 PM Docsity.com

paid : 'true' if order is paid. shipped : 'true' if order is shipped. returned : 'true' if order returned. canceled : 'true' if order canceled. Order record contains state variables : customer creates Order record, which is partially writeable to billing and shipping. billing can change 'paid' or 'cancelled' to true in order record, but cannot change the order itself. shipping can change 'shipped' or 'returned' to true in order record, but cannot change whether it is paid. customer can only see personal records; billing and shipping can see all records. Profiles: customer , billing , shipping Data, profiles, and roles Example of data, profiles, and roles Wednesday, April 14, 2010 2:37 PM Docsity.com