Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sascha P. Corti Developer Evangelist Microsoft Switzerland mail: blog:

Similar presentations


Presentation on theme: "Sascha P. Corti Developer Evangelist Microsoft Switzerland mail: blog:"— Presentation transcript:

1 Sascha P. Corti Developer Evangelist Microsoft Switzerland mail: sascha.corti@microsoft.comsascha.corti@microsoft.com blog: http://www.corti.com/weblogsascha team: http://blogs.msdn.com/swiss_dpe_teamhttp://www.corti.com/weblogsaschahttp://blogs.msdn.com/swiss_dpe_team

2 .NET Framework 3.5 - Key Features Visual Studio 2008 - IDE Enhancements HTML Designer CSS Support JavaScript & AJAX Support Data Access ASP.NET 3.5 Extensions (Preview) AJAX & Silverlight ADO.NET Entity Framework ADO.NET Data Services ASP.NET MVC ASP.NET Dynamic Data

3 Expressive and standards-compliant Betterdeveloper/designercollaboration Secure, scalable platform

4 LINQ – Integrated query support for Objects, SQL, DataSets, and XML WCF support for REST and JSON services WCF & WF integration Syndication object model Managed Add-in framework (System.AddIn) XBAP support for Firefox ASP.NET AJAX Integration Client Application Services

5 Visual Studio 2008 supports targeting multiple versions of the.NET Framework Choose which Framework version to target when opening or creating an application.NET Framework 2.0.NET Framework 3.0.NET Framework 3.5 Visual Studio IDE only shows feature appropriate for your selected target version Toolbox, Add New Item, Add Reference, Intellisense

6 IDE Enhancements

7 Split View Mode View source and design side-by-side Updates in real time Performance improvements Reduced lag during switch between views Nested master page support

8 http://www.oswd.org

9

10 Dramatically simplifies Building and Managing CSS Styles. Intuitive Visual Designer Summary Mode helps track where styles are being applied Shares same CSS engine as Expression Web Developers and Designers have access to same features New Styling Dialog

11

12 JavaScript? AJAX, Silverlight, Live.com APIs Intellisense in Code Editor Type Inference Intellisense Hints Intellisense for External Libraries Debugging Support Breakpoints directly in.html,.js,.aspx or.master Attach to Internet Explorer to debug JavaScript on any page (HTML, PHP, JSP, etc.)

13

14 Basic AJAX Controls Part of every Web Project in VS 2008 Profit from JavaScript Support Team System Web Tests now captures Script-Generated HTTP-Requests ASP.NET AJAX Control Toolkit New Extender Wizard

15

16 1980s: Query Languages (Dbase) Data Manipulation = Core Part of Programming Model Late 1990s / Early 2000s Data Access APIs Last few Years Object / Relational Mapping

17 LINQ Query, Set and Transform Operations for.NET Makes querying data a core programming concept Works with all types and shapes of data Relational databases XML Plain old Objects Works with all.NET languages New VB and C# have integrated language support New ASP.NET Data Controls

18 New Project Item that creates a default AJAX-enabled WCF Service Update existing WCF Services via Attribute Make Communication Format AJAX friendly (i.e., JSON or REST) ScriptManager supports the registration of WCF- & ASMX- Services

19 Data Access

20 Preview Build

21 ASP.NET 3.5 Extensions (Preview).NET Framework 2.0 + SP2 WPFWPFWCFWCFWFWF Windows CardSpace.NET Framework 3.0 + SP2.NET Framework 3.5 LINQLINQ WF & WCF Enhancements Add-inFrameworkAdd-inFramework Additional Enhancements ASP.NET Model View Controller ADO.NET Data Services ADO.NET Data Services ASP.NET Dynamic Data ASP.NET AJAX Enhancements + Silverlight Controls ADO.NET Entity Framework Codename “Astoria” Codename “Oryx”

22 ASP.NET AJAX History & Navigation Updated Validators, TreeView, Menu and WebParts Back Button support for all Browsers Script Combining File- and Resource- Scripts ASP.NET Silverlight Controls ASP:Silverlight Control Automate client installation and creation of Silverlight plugin Silverlight plugin Helper Classes Easily instantiate Silverlight plugin programmatically ASP:MediaPlayer Embed video instantly with variety of skins included Script

23 Intrinsic Layer of Abstraction over a DB called Entity Data Model (EDM) Developers code against conceptual entities representing the data Conceptual entities are mapped to the database schema Mapping is explicit and can be changed Benefits: Abstracts developers from the underlying database tables and columns where the data is stored Exposes data in the form of domain-specific object Isolates and minimizes impact of changes between app and data Simplify the Development of flexible Data-Oriented Applications. Conceptual Models Mapping Logical Models Entity Data Model Entity Client Entity SQL Object Services LINQ to Entities

24 Data Services are Specialized WPF Services Expose data as a URI-addressable resources http://host/MyDS.svc/Customers(492)/Orders Services use URIs to locate and identify data Use URI parameters to filter, page, sort data Use HTTP verbs to interact with resources GET, PUT, POST, or DELETE Data can be represented in JSON or ATOM Publishing Protocol (AtomPub) formats – specified by the client Simplifies data connectivity for AJAX and Silverlight apps Ability to create and consume data- centric, RESTful services. IQueryableIQueryable Data Service.NET Client Library AJAX Client Library Silverlight Client Library Client LibrarySilverlight

25 Provides an Alternative for building Web Applications on ASP.NET Clean Separation of Concerns Full Control over Markup and Rendering Highly pluggable and extensible Enables testability and TDD Works with.aspx and.ascx as views But no server controls, postbacks, viewstate Enable the creation of Web Applications using the Model-View-Controller Pattern

26 Dynamically constructs Pages based on the Data Model of the Underlying Database Provides a usable Application with no Code, but can easily be customized Dynamic Data App consists of three Components: Data Model – LINQ to SQL mapping file Page templates – ASPX pages that provide default views of data Dynamic Data Fields – User Controls for rendering individual fields Provides a view of the Data based on Default Templates Templates use the data model to determine the correct controls to display and their behavior AJAX-enabled templates provide filtering, paging, and validation Provide the Web App scaffolding to build rich, data-driven Web applications

27

28 Functional testing for ASP.NET AJAX and JavaScript Integrated code metrics Improved performance and scalability profiling Functional testing for ASP.NET AJAX and JavaScript Integrated code metrics Improved performance and scalability profiling Faster, Easier Development A powerful, new HTML designer CSS management JavaScript debugging and Intellisense Better support for working with data ListView control LinqDataSource A powerful, new HTML designer CSS management JavaScript debugging and Intellisense Better support for working with data ListView control LinqDataSource Less Effort, More Effect ASP.NET AJAX built-in Enhanced AJAX functionality Better interoperability with WebParts,,, etc Nested master pages New ListView control ASP.NET AJAX built-in Enhanced AJAX functionality Better interoperability with WebParts,,, etc Nested master pages New ListView control Breakthrough User Experiences

29 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

30

31 AJAX-enabled web applications are very popular, but their asynchronous nature makes testing them very difficult Visual Studio 2008 Team System enables team members to target even the most complex AJAX applications – HTTP requests, whether user or script generated are captured as part of the web test The Challenge The Solution

32 .NET Framework 2.0 + SP1 Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation Windows CardSpace.NET Framework 3.0 + SP1.NET Framework 3.5 LINQLINQ WF & WCF Enhancements Add-inFrameworkAdd-inFramework Additional Enhancements

33 ASP.NET AJAX History & Navigation Updated Validators, TreeView, Menu and WebParts Back button support for all browsers Client and server APIs Manage history titles Create Permalinks with state Script Combining Supports File- and Resource- based Scripts. Script

34 ASP:Silverlight control Automate client installation and creation of Silverlight plugin AJAX classes for programming with Silverlight Silverlight plugin helper classes Easily instantiate Silverlight plugin programmatically Interact with Silverlight on the client or server ASP:MediaPlayer Embed video instantly with variety of skins included Easily customize the XAML Works with Expression Encoder Add chapter annotations and captions Localize content Handle custom media markers in the stream

35 Provides an intrinsic layer of abstraction over a database called the Entity Data Model (EDM) Developers code against conceptual entities representing the data Conceptual entities are mapped to the database schema Mapping is explicit and can be changed Benefits: Abstracts developers from the underlying database tables and columns where the data is stored Exposes data in the form of domain-specific object Isolates and minimizes impact of changes between app and data Decreases the amount of code and maintenance required The Entity Framework is a set of technologies that simplify the development of flexible data-oriented applications.

36 Conceptual Models Mapping Logical Models Entity Data Model Entity Client Entity SQL Object Services LINQ to Entities Entity Data Model Abstraction over a relational database Consists of conceptual & logical models Provides mapping layer between conceptual model and logical model Entity Client Provides classes similar to ADO.NET Providers Can return results as DbDataReaders Entity SQL Textual SQL language for dynamic queries Object Services Enables you to work with object instances Provides persistence and change tracking LINQ to Entities Provides LINQ syntax and strongly-typed objects for queries over EDM

37 Expose data as a URI-addressable resources i.e. http://host/NorthwindDataService.svc/Customers(492)/Ordershttp://host/NorthwindDataService.svc/Customers(492)/Orders Services use URIs to locate and identify data URIs can be used to traverse associations Clients can filter, page, & sort data by specifying parameters on the URI Apps can interact with the resources using HTTP verbs GET, PUT, POST, or DELETE Data can be represented in JSON or ATOM Publishing Protocol (AtomPub) formats – as specified by the client Simplifies data connectivity for AJAX and Silverlight apps ADO.NET Data Services provides the ability to create and consume data-centric, RESTful services.

38 Client-side libraries for.NET, AJAX, & Silverlight Any HTTP client can consume the services URIs can map to entities in EDM Client libraries abstract clients from URI syntax Data Services are specialized WCF services IQueryableIQueryable Data Service.NET Client Library AJAX Client Library AJAX Silverlight Client Library Client LibrarySilverlight

39 Encourages a clean separation of concerns amongst the portions of your application Makes practices like Test-Driven Development substantially easier to adopt Leverages the ASP.NET Routing engine, giving you full control over your application’s URIs Completely extensible framework that allows you to modify every aspect of the pipeline if needed Extensions to ASP.NET that enable the creation of web applications using the model-view-controller pattern

40 Provides an Alternative for building Web Applications on ASP.NET Clean separation of concerns Full control over markup and rendering Highly pluggable and extensible Enables testability and TDD Works with.aspx and.ascx as views But no server controls, postbacks, viewstate

41 URL Routing Engine Route Route Handler Http Handler Controller Builder Controller Factory Controller View Factory View Request Response Note: Each step highlighted in yellow represents a point of extensibility. ASP.NET Routing Pipeline

42 Request Response 8 Controller 5 View 7 3 UrlRoutingModule Global.asax – Application_Start 1 URLControllerHandler /Customers/Edit/3CustomersMvcRouteHandler 4 Routing Table 2 Model 6

43 Dynamically constructs pages based on the data model of the underlying database Provides a usable application with no code, but it can easily be customized Dynamic Data App consists of three components: Data Model – LINQ to SQL mapping file Page templates – ASPX pages that provide default views of data Dynamic Data Fields – user controls for rendering individual fields Provides a view of the data based on default templates Templates use the data model to determine the correct controls to display and their behavior AJAX-enabled templates provide filtering, paging, and validation Provide the Web App scaffolding to build rich, data-driven Web applications

44 All my services are being re-written with WCF – how does my ASP.NET application call them? Visual Studio 2008 provides a new project item that creates a default AJAX-enabled WCF service Existing WCF services can be decorated with an attribute to convert their communication format to something that is AJAX friendly (i.e., JSON or REST) Also, in Visual Studio 2008, the ScriptManager supports the registration of WCF services as well ASMX Visual Studio 2008 provides a new project item that creates a default AJAX-enabled WCF service Existing WCF services can be decorated with an attribute to convert their communication format to something that is AJAX friendly (i.e., JSON or REST) Also, in Visual Studio 2008, the ScriptManager supports the registration of WCF services as well ASMX The Challenge The Solution

45 Microsoft's next-generation platform for distributed systems A set of extensions to the Microsoft.NET Framework 2.0 Build WCF services in Visual Studio 2008 using any.NET Language Intelligent code editing, IDE Extensions for WCF, debugging, re- factoring, code snippets, etc. Visual Basic.NET, Visual C#, etc. Runs on Microsoft Windows Vista Microsoft Windows XP Microsoft Windows Server 2003 Microsoft Windows Server 2008 Part of.NET 3.0 and.NET 3.5

46 SOAP, POX, WS-*, Web (or REST), Syndications View as part of the same ecosystem SOAP WS-* RSS ATOM POX REST Web, Syndications via WCF in.NET 3.5 Web, Syndications via WCF in.NET 3.5 SOAP, WS-*, and POX via WCF in.NET 3.0 SOAP, WS-*, and POX via WCF in.NET 3.0

47 New Project Item Attribute that makes this WCF service AJAX-callable

48 Faster & Easier Development

49 How do developers know they are writing code that can be maintained and understood in the future? Visual Studio 2008 Team System integrates sophisticated code metrics that enable developers to clearly understand how maintainable and complex the code they are building is; This understanding is gathered from the following metrics Cyclometic complexity Maintainability Index Inheritance Depth Class Coupling Lines of code Visual Studio 2008 Team System integrates sophisticated code metrics that enable developers to clearly understand how maintainable and complex the code they are building is; This understanding is gathered from the following metrics Cyclometic complexity Maintainability Index Inheritance Depth Class Coupling Lines of code The Challenge The Solution

50

51 Code reviews are time consuming, error prone and depends on ‘group’ knowledge Code analysis examines every path code might take; looking for known problems and concerns; This feature has been greatly enhanced in Visual Studio 2008 Better discoverability of the feature through the Developer top-level menu More flexible warning suppressions Code analysis report comparison Enhanced code analysis check-in policy Code-aware spell checker Code analysis examines every path code might take; looking for known problems and concerns; This feature has been greatly enhanced in Visual Studio 2008 Better discoverability of the feature through the Developer top-level menu More flexible warning suppressions Code analysis report comparison Enhanced code analysis check-in policy Code-aware spell checker The Challenge The Solution

52 Understanding data gathered by a profiler is difficult and tedious In Visual Studio 2008 Team System, the industrial strength profiler has been enhanced across the board; this includes New data collection control WCF support However, probably its most notable features is its ability to visually compare performance data In Visual Studio 2008 Team System, the industrial strength profiler has been enhanced across the board; this includes New data collection control WCF support However, probably its most notable features is its ability to visually compare performance data The Challenge The Solution

53 Dynamically control how performance data is gathered. Insert ‘marks’ which help you correlate data Compare 2 performance reports against each other

54 Use this layout to show software code The font is Courier, a monospace font The slide doesn’t use bullets but levels can be indented using the “Increase List Level” icon on the Home menu

55 Name Title Group

56

57 Name Title Company

58 Name Title Company

59


Download ppt "Sascha P. Corti Developer Evangelist Microsoft Switzerland mail: blog:"

Similar presentations


Ads by Google