Software architecture-to study different presentation layers technologies in microsoft .net framework


Published on

To study different presentation layers technologies in Microsoft .Net framework

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software architecture-to study different presentation layers technologies in microsoft .net framework

  1. 1. Project: PCMS, Pegasus Cargo Management System Date: 2nd May 2010 Subject: To study different presentation layers technologies in Microsoft .Net framework
  2. 2. Problem Definition: Suppose you are planning to develop a new application, so the most difficult elements are architectural and strategic decisions that are related to technology selection from a large stack of available Group. Each technology and product has is own pro and corns. So detailed analysis of all aspects of technology, is must. Microsoft .Net provide a wide set of technologies and tools for presentation Layer creation, so right decision to select a tech is very critical for success of a project. Solution: List of Presentation layer technologies are as:  Windows Forms  ASP .Net  WPF  Sliver light Windows forms are Fat client applications. ASP .Net is thin client application. WPF and Sliverlight are smart client Applications. Let differentiate b/w definition of Fat , thin and smart client. Fat Client, according to Wiki: A fat client is a computer or computer program in client–server architecture networks which typically provides rich functionality independently of the central server. So Windows form application don’t have depency to central server a lot. That is application runs on client end and uses most of resources from client machine in a client server Arcchitecture. Fat Client is also called Rich Client or Thick client. Thin Client according to Wiki: A thin client (sometimes also called a lean or slim client) is a computer or a computer program which depends heavily on some other computer (its server) to fulfill its traditional computational roles. So ASP .Net application heavy depends on central Server. Actually ASP .Net application reside on server (IIS), IIS processes all the application logic and throws only HTML on client end. Communication between client and server is handled by Request (from Browser on client end to IIS at Server end) and Response (from IIS at Server end to Browser on client end).
  3. 3. Smart Client according to Wiki: Smart Client is a term used to describe an application environment which: • delivers applications over a web http connection • does not require installation (or provide automated installation and updates) • automatically updates without user action • has the look and feel of desktop applications So,The term "Smart Client" is meant to refer to simultaneously capturing the benefits of a "thin client" (zero-install, auto-update) and a "fat client" (high performance, high productivity). Mainly there are four platforms for building Smart client applications : Flex : from Adobe. JavaFX : from SUN. Windows Presentation Foundation (WPF)/SliverLight : for Microsoft DataSnap/WebServices : from CodeGear. WPF and SL both provide look and feel of desktop applications, but still runs on browser. So they combine the features of Thick client and Thin Client , thus called Smart client. Smart Client is also called "Rich Internet Application" (RIA) and "rich web application".
  4. 4. SilverLight Vs WPF 1. Silverlight is simply a subset of WPF. 2. Silverlight is meant to be used online, while WPF is for local use. 3. You can use Silverlight applications regardless of the operating system you use, while WPF applications are restricted to later versions of the Windows operating system. 4. Silverlight lacks access to local resources, while WPF can utilize local resources. 5. Silverlight only has perspective 3D support, while WPF is capable of full 3D images. Read more: WPF standalone Vs XBAP Application: Feature Standalone XBAP Installed Installed on users computer. Not installed on the client’s computer. Start Menu Appears in Start Menu. Does not appear in the Start Menu. Control Panel: Appears in the Add/Remove Does not appear in the Add/Remove Programs Programs. Add/Remove Programs. Installment methods Installed via XCopy, Windows Are automatically deployed via Installer (MSI) or ClickOnce. ClickOnce. YourApp.xbap is really a ClickOnce deployment manifest. Code Access Security Runs in Full Trust unless Runs in Internet Zone . modified by Administrator. Sandbox restrictions N/A if run as Full Trust. See list below. Process Runs in its own standard OS Runs in PresentationHost.exe window. Presentation host is registered as the shell and MIME handler for *.xbap files. Automatic Updates Standalone apps are not Newer version on server is
  5. 5. automatically updated. always used. Developer must write auto updating framework or use the Microsoft ClickOnce system. Offline access Application works if offline. Cannot run XBAP application unless user can navigate to the XBAP URL. Requirements .NET 3.0 or later installed on .NET 3.0 or later installed on user computer. user computer. Internet Explorer(6.0 or later) Firefox (2.0 or later). References: whats-the-difference/ ASP .Net Web Forms vs MVC OK, Now ASP .Net has been selected, but still there are 2 options to go with ASP .Net namely, Web forms and MVC. Advantages of Web Form Model 1. Powerfull Tooling/designer support 2. Provides RAD development. 3. Decarative Syntax 4. Strong Third party controls support. 5. Easy development model for heavy data-driven LOB applications. 6. Event Driven programming Model. 7. Similar model for windows form developers. 8. BuildinViewState Support 9. Buildin PostBack Support. Advantages of MVC Model 1. Enable clean separation of concerns (SoC) . 2. Enable full control over the rendered HTML. 3. Enable Test Driven Development (TDD) (built with TDD in mind). 4. SEO and REST friendly URL. 5. Easy integration with JavaScript frameworks. 6. Support third-party view engines such as NVelocity, Brail, NHaml.
  6. 6. 7. No ViewState and PostBack events. 8. Follows the stateless nature of web. 9. Extensible and Pluggable framework. Project Future Guidelines: 1. As PCMS, Pegasus Cargo Management System, release 6 is implemented as Smart Client application in Windows Presentation Foundation So there is no need for a version in Sliver Light which is also a smart client technology. 2. However there is a need for thin client implementation of PCMS as Release 7, which will be implemented in ASP .Net. 3. As there are two development patterns of ASP .Net, namely Web forms and MVC. So read the feature set for each method in section and lets decide the which pattern to adopt. 4. As MVC implementation in ASP .Net is new, so a POC is required to explore the complete feature set in terms of programming for MVC. Related Topics: 1. Differentiate between Thick client, Think client and smart Client with examples? 2. Differentiate between ASP .Net Web forms and MVC? 3. Differentiate between Windows Presentation Foundation and Silver Light of Microsoft .Net? 4. Differentiate between WPF standalone and XBAP Application?