Naresh Information Technologies
Server-side technology ASP.NET Web Forms & Web Services Windows Form: Windows User Interface ADO.NET: Data & XML.NET Framework Base Class Library Common Language Runtime
Cloud Computing the beginning and evolving
.NET Framework
Cloud On-Premises Servers Hosted Servers Cloud Platform
The Cloud --- How to Define it? A style of computing where massively scalable (and elastic) IT-related capabilities are provided as a service to external customers using Internet technologies. Acquisition Model: Based on purchasing of services Business Model: Based on pay for use What s new? Access Model: Over the Internet to ANY device Technical Model: Scalable, elastic, dynamic, multitenant, & sharable
Everything as a Service Platform-As-A-Service (PaaS) Delivers a computing platform and/or solution stack as a service Facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers Infrastructure-As-A-Service (IaaS) The delivery of computer IasS, typically platform virtualization For example: Virtual desktops Grid computing Applications-As-A-Service (AaaS) /Software-As-A-Service (SaaS) Leverages the Cloud in software architecture Eliminates the need to install and run the application on the customer's own computer
Windows Azure? Compute Storage Developer SDK
Windows Azure? Compute.NET 3.5 SP1/4.0 Server 2008 64bit Full Trust* Web Role IIS7 Web Sites (ASP.NET, FastCGI ) Web Services (WCF ) Worker Role Stateless Servers Http(s), TCP Developer Tools Storage
Windows Azure? Compute Storage Durable, scalable, available Blobs Drives Tables Queues REST interfaces Can be used without compute Developer Tools
Windows Azure? Compute Storage All of the hardware Hardware Load Balancers Servers Networks DNS Monitoring Automated service management Developer Tools
Introducing the Microsoft Windows Azure platform Microsoft s Windows Azure platform is a group of cloud technologies, each providing a specific set of services to application developers.
Idea: Providing Abstraction Resources BUSINESSES CONSUMERS INTERNET Bring Ideas to Life
Windows Azure: High Level Overview The Fabric Controller automates load balancing and computes resource scaling Computation provides application scalability. Developers can build a combination of web and worker roles. Those roles can be replicated as needed to scale the applications and computational processing power. Storage Services allow customers to scale to store large amounts of data in any format for any length of time, only paying for what they use or store. Security and Control Features include storage encryption, access authentication, and over-thewire encryption using HTTPS. Industry certification is part of the Windows Azure roadmap. Geographically distributed, state-of-the-art data centers host your applications and data, internet-accessible from everywhere you choose to allow.
Web Applications with ASP.NET MVC
Agenda ASP.NET Today What is MVC? What is ASP.NET MVC? Demo
ASP.NET Today ASPX Page Master Page User/Custom/Server Controls User/Custom/Server Controls Model Data
Page Controller (WebForms) Request Default.aspx ASP.NET Init Load Postback events PreRender Unload Response Default.aspx (Run the page lifecycle)
What is MVC? Architectural/presentation design pattern Separates model from presentation Adds specific responsibility to portions of your UI Model View Controller
What is ASP.NET MVC? New web application framework ASP.NET implementation of MVC Makes unit testing web applications simpler Replaceable pipeline components Enables logical mapping of URLs to controllers
Front Controller (MVC) Request Customers /Edit/34 ASP.NET Customers Controller Edit Action Response Edit View Model
ASP.NET MVC App Execution Request 3 UrlRoutingModule MvcRouteHandler 4 1 URL Controller Handler Global.asax Application_Start /Customers/Edit/3 Customers MvcRouteHandler 2 Routing Table 5 Controller 6 Model 7 8 Response View
Example For example, consider the following URL: /Job/Details/3 This URL is parsed into three parts like this: Controller = JobController Action = Details & Id = 3 The default route includes default values for all three segments. The default Controller is HomeController, the default Action is Index, and the default Id is an empty string.
MVC - Controller A controller is responsible for controlling the way that a user interacts with an MVC application. A controller determines what response to send back to a user when a user makes a browser request.
MVC - View A view contains the HTML markup and content that is sent to the browser. A view is the equivalent of a page when working with an ASP.NET MVC application We must create views in the right location. The HomeController.Index() action returns a view located at the following path: \Views\Home\Index.aspx The HomeController.About() action returns a view located at the following path: \Views\Home\About.aspx
MVC - Model An MVC model contains all of your application logic that is not contained in a view or a controller The model will contain all of our application business logic and database access logic and other logics DataLayer kind of classes, Types for data should be created in MVC model.
How Does ASP.NET MVC Differ From ASP.NET WebForms? No postbacks No view state/control state No server-side form No page/control lifecycle What Do They Have In Common? Visual Studio web designer Master pages Membership/Roles/Profile providers Caching Other non ui services of asp.net
Questions