What New in Orcas

Post on 15-Dec-2015

9 views 2 download

description

What New in Orcas

Transcript of What New in Orcas

Ahmed SalijeeISV Developer AdvisorMicrosoft South Africa

ahmeds@microsoft.com

Ahmed SalijeeISV Developer Advisor and VSTS GuyMicrosoft South Africa

ahmeds@microsoft.com

Target Windows Vista and .NET Framework 3.0 developmentCreate Microsoft Office applicationsHandle data more smoothlyEnable new web experiencesImproves application life-cycle management (ALM)

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

IDEMulti-targeting

MSBuild Parallel/Multi-Processor Builds UAC Manifests in the Managed Build Process

Unit TestingIn Pro Edition

Visual Studio “Orcas” supports targeting multiple versions of the .NET Framework

Choose which Framework version to target when opening or creating an application

.NET Framework 2.0 (“Whidbey”)

.NET Framework 3.0 (Vista)

.NET Framework 3.5 (“Orcas”)

Visual Studio IDE only shows feature appropriate for your selected target version

Toolbox, Add New Item, Add Reference, Add Web Reference, Intellisense, etcObject Browser Support

Add-in ModelDesigned to help solve versioning, isolation, and security issues for hosting applications (i.e., MSN Messenger, etc)Gives builders of host applications consistent infrastructure and patterns for adding an extensibility model to their application

Library FeaturesDateTimeOffset: date/times with time zoneTimeZoneInfo: a much improved time zone classHashSet: a useful set classSuite B cryptography support: classes for new crypto algorithms in Windows VistaETW support: managed classes for ETW tracing in Windows VistaPeer Networking ClassesWMI Provider Extension ++

Engine FeaturesTargeted features for key scenarios: GC, code genReflection in partial trustLots of bug fixes

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone };

var contacts = customers .Where(c => c.State == "WA") .Select(c => new { c.Name, c.Phone });

Extension methods

Lambda expressions

Query expressions

Object initializers

Anonymous types

Local variable type inference

Expression trees

Automatic properties

Partial methods

Implicitly typed localsExtension methodsLambda ExpressionsObject initializersAnonymous typesNullable typesQuery expressions XML LiteralsXML Literals

Dim x = 5Dim x = 5

<Extension><Extension> Sub Randomize(col As Collection)Sub Randomize(col As Collection)

Function(c) c.NameFunction(c) c.Name

New Point With { .x = 1, .y = 2 }New Point With { .x = 1, .y = 2 }

New With { c.Name, c.Phone }New With { c.Name, c.Phone }

From … Where … SelectFrom … Where … Select

If emp.DOB >= Today If emp.DOB >= Today

SqlConnection c = new SqlConnection(…);SqlConnection c = new SqlConnection(…);c.Open();c.Open();SqlCommand cmd = new SqlCommand(SqlCommand cmd = new SqlCommand( @"SELECT c.Name, c.Phone@"SELECT c.Name, c.Phone FROM Customers cFROM Customers c WHERE c.City = @p0");WHERE c.City = @p0");cmd.Parameters["@p0"] = "London";cmd.Parameters["@p0"] = "London";DataReader dr = c.Execute(cmd);DataReader dr = c.Execute(cmd);while (dr.Read()) {while (dr.Read()) { string name = dr.GetString(0);string name = dr.GetString(0); string phone = dr.GetString(1);string phone = dr.GetString(1); DateTime date =dr.GetDateTime(2);DateTime date =dr.GetDateTime(2);}}dr.Close();dr.Close();

Queries in Queries in quotesquotes

Loosely bound Loosely bound argumentsarguments

Loosely typed Loosely typed result setsresult sets

No compile time No compile time checkschecks

public class Customer { … }public class Customer { … }

public class Northwind: DataContextpublic class Northwind: DataContext{{ public Table<Customer> Customers;public Table<Customer> Customers; … …}}

Northwind db = new Northwind(…);Northwind db = new Northwind(…);var contacts =var contacts = from c in db.Customersfrom c in db.Customers where c.City == "London"where c.City == "London" select new { c.Name, c.Phone };select new { c.Name, c.Phone };

Classes describe data

Strongly typed connection

Integrated query syntax

Strongly typed results

Tables are like collections

LINQ to Objects APIqueries over any .NET collection, such as arrays and generic lists.

LINQ over XML (XLinq) Core functionality of the XLinq API such as load, modify, and save XML documents

LINQ to SQL provides direct access to database tables from the programming environment

LINQ to Entities enables developers to use LINQ over EDM models

LINQ to Dataset allows the full expressivity of LINQ to be used over Datasets.

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

SQL Server Compact EditionTimestamp type, improved table designer, Query processor enhancements and support for local transaction

Improved SQL Reporting Services SupportNew SQL Server Reporting Services Report Wizard.New Report Project templates (for VB, C#, Web)

Microsoft Synchronization ServicesVisual Studio Dataset Designer improvements

Generate the typed TableAdapters and typed Dataset definitions into separate Visual Studio projectsGeneration of a TableAdapter Manager capable of managing hierarchy

LINQ,LINQ,LINQ

Conceptual expression of a logical schema that makes sense to your appDifferent apps may have different views (Entity Data Models – EDM’s) of the same data in a backend storeEntity Data Model Designer

Integrated into the Orcas IDECreate entities from scratch or generate EDM models from an existing databaseEasily consume existing EDM models

Entity SQL “eSQL” may be used to query an Entity Data Model

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

WF Designer and Debugger integration with Visual Studio New Templates for simplified WCF Service AuthoringWF & WCF integration

New WCF Send and Receive Activities Enhanced Workflow and Service hosting

Enhancement to WF Rules Partial Trust support in WCF when using the BasicHttpBinding End-to-end programming model for building Ajax style web applications using WCF services.

Enhanced REST/POX Support in WCF RSS and Atom Programming Model

Support for OASIS specifications

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

AJAX integrated New ASP.NET WebForms design-surface

Advanced XHTML and CSS featuresNested Master Pages in the IDE

Jscript EnhancementsIntelliSense Debugging

Data<asp:LinqSqlDataSource> control<asp:ListView> controlLINQ to SQL designer integration

Services exposed as Web servicesAuthentication, Roles etc

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

IIS

Web

Laptop

Client App

Web Services

Web Page

Client Application ServicesLogin/Logout + OfflineRole management & Profiles

Microsoft Synchronization Services for ADO.NET

Sync Designer

Designer support for WPF developers Spicing Up existing Windows Forms Applications using WPFClickOnce Enhancements

IIS

Web

Laptop

Client App

Web Services

Web Page

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

Client DevelopmentVisual designers for Ribbon Outlook Custom Form RegionsData binding in Word Content ControlsApplication-level add-ins for most client programs (both 2003 & 2007)Improved deployment and security – ClickOnce Document-level add-ins for Excel & Word 2007

Server DevelopmentWorkflow & Microsoft SharePoint Support

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

Windows Communication Foundation support (over email)Support for LINQ (XML, Objects and Dataset)New Tool - CLR ProfilerCompression SupportClient side certificatesSound APIs Windows Forms enhancementsManaged debugger fixes

Introduction/Core BitsVisual Studio “Orcas” features for:

Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle

Architecture Top-down service design Architectural Roles on System, Applications and Endpoints

Developing Profiler Support for WCF Applications Customize and extend code correctness policies Performance tune an enterprise applicationCode Metrics

TestingUnit Test Generation Improvements Web Test Validation Rule Improvements

New functions e.g. Stop test on error, Redirect validation,Expected HTTP code

Improved Load Test Results Management Web Test Data Binding AJAX Support.

Team Foundation Build Support multi-threaded builds with the new MSBuild.Continuous IntegrationImproved ability to specify what source, versions of source, etc to include in a build.

Version Control support DestroyAnnotate. Folder DiffGet Latest on Checkout

Performance and Scale This release includes numerous improvements in performance and scalability of Team Foundation Server.

Improve Developer ProductivityManage the Application Life CycleEmploy the Latest Technologies

© 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.