3. Evolution of .NET
.NET Framework 4
Visual Studio 2010
ASP.NET MVC
.NET Framework 3.5
Visual Studio 2008
ASP.NET AJAX
.NET Framework 2.0
Visual Studio 2005 .NET Framework 3.0
.NET Framework 1.1
Microsoft®StudioFramework 1.0
Visual .NET .NET 2003
Microsoft Visual Studio® .NET
2002 2003 2005 2006 2007 Future
4. Dualing Forces
Keep the business
running without
disruption
Stretch your IT
Change at the
budgets – do more
speed of business
with less
Respond to
Protect your
competitive
existing applications
threats or
and skills
regulation
Take advantage of
latest technology
innovation
6. Microsoft Developer Platform
Application Environments
RIA Meta
Rich Services
UX data
UX
Web Data Identity
Workflow
UX
Common Tools
Common Language Runtime
Platform
7. Microsoft Developer Platform
Application Environments
RIA Meta
Rich Services
UX data
UX
Web Data Identity
Workflow
UX
Common Tools
Common Language Runtime
Platform
ERP Finance Inventory CRM Operations Apps
Existing
Partners &
Applications
Customers
Cloud
SQL Server Oracle SQL Server Oracle DB DB2
Infrastructure Windows Solaris Windows Unix Z/OS
8.
9. Client
Frameworks
Use your favorite .NET Windows and
1. Deliver Innovative User Robust support for Touch and Multi-
Host WPF independent 2D/3D
Resolutioncontrols in a language
Interfaces Touch app experience
Forms user and vice-versa
graphics, animation, audio/video,
mix both markup / code-behind tex
60+ high-quality, fully skinnable and
2. Developer Productivity Support for Windows7 taskbar
Seamlessly mix managed and and
t, documents, data visualization
customizable out-of-the-box controls
3. Leverage Existing Code common acceleration
unmanaged API
Hardwaredialogscalls
Pre-builtfor the Microsoft Office
Base and Skill Set Support existing for layout of .NET
Leverage controls knowledge infields,
Scalability to different form factors
validation, updating and paging
4. Rich Windows 7 / Office “Ribbon” user interface
Framework, tools and languages
WPF continuum with Silverlight
support
Client
Tools Community
Windows XP
Visual Studio MSDN WPF Developer
Windows Vista
Expression Blend Center
Windows 7
10. Browser
Frameworks
Fully programmable .NET RIA
Rich end-user experiences across all
1. Complete AJAX Build a over your HTML page
Controlcomplete data driven website
development environment
framework directly browsers
markup and your data of concerns
popular fromseparation model
Model/template Driven HD (720p+) playback,ofdata sources
native
Powerful built-in AJAX enabled
2. Access wide variety
Enhanced testabilityof your Web
H.264/Advanced Audio Coding (AAC)
Development through
app and Test and Entity Framework
controls LINQDriven Development
Audio, live and Smooth Streaming
3. Data-driven web sites Supports both usercontrols such as
Rich set of built-in controls and
Master pages, client-side and server-
Runtimes target Windows, Mac OS
4. Rich Internet ListView and DataPager
templates enforce
side programming consistency
X, and Linux
Applications (RIA)
Servers
Tools Community
Web Platform Installer
Windows Server
Visual Web Developer
Web App Gallery
Internet Information Server
Expression Web
www.asp.net
SQL Server
Expression Blend
www.silverlight.net
11. Phone
Frameworks
WCF provides connectivity to
Familiar tools for development w/
Rich apps using web technologies
IE Mobile 6 delivers improved
1. Rapid developer
services across the enterprise or
(HTML, CSS, AJAX, emulation
fidelity (full desktop rendering)
full debugging and JavaScript)
productivity
online cloud services
Write appsScript and AJAX support
2. Connected LOB Full access in managed code with
Enhanced to ActiveX controls
LINQ gives access to databases, XML
applications available VB
(Jscript v5.7) or device
Visual C#,on the native code (C++)
data, and in-memory objects
Support for both Windows Mobile
3. Improved User Based on emerging W3C standard
Touch and gesture support – pan
ADO.NET support including the SQL
Experience for Windows Embedded CE devices
support, multiple applications
andmobile widget zoom levels
Server Mobile data provider
4. Mobile Widgets
Servers
Tools Community
Visual Studio SQL Server Compact 3.5 Windows Marketplace
Emulator, SDK Tools System Center Mobile for Mobile
Mobile Client Software Device Manager Developer Portal
Factory
12. Server
Frameworks
Windows Communication Foundation
Windows Workflow Foundation
ADO.NET Entity Framework
Framework for secure databasefor
Unprecedented workload reliable
Raises abstraction for andsize,
Programming model and tools
1. Secure, Reliable Web
scalability, availability and reliability
programming
workflow-enabled applications
service-oriented applications
Services
2. Automation of Business Support both WS-*logical processorof
Use conceptual appprotocols as well
Increased end-to-end visibility across
up to 256 model instead
Processes cores for a single relational schema
directly JSON, and POX
long running workflows encoding
as REST, accessingOS instance
3. Data-driven Single model computing support
.NET Services framework allows
Data parallel unifies
Runtime services for
applications delivered through PLINQ and and
rapid development of RESTfulParallel
persistence, Remoting, COM+,data
ASMX, WSE, tracking, transaction
4. Mission critical scale Library
services
management
MSMQ (TPL)
and reliability
Servers
Tools Community
Windows Server Windows Server MSDN
Visual Studio
SQL Server
Visual Studio Team Developer Center
BizTalk Server .NET StockTrader
System
System Center Developer Center
13. Cloud
Frameworks
On-demand compute and simple
Easy on-ramp to build rich across
Easily provision messaging relational
Firewall friendlyand deploysocial
1. Cloud services applications and experiences
database host, scale, and manage
networks, firewalls, NAT boundaries
storage tosolutions to the cloud
operating system apps synchronization across centers.
Data through Microsoft durable
Provision cloud-based storage
Direct connect, pub sub,data with
2. Interoperability and Full development, service devices.
services, applications and
pay as you grow model.
queues, multi-cast fanout hosting
connectivity services and service managementcenter
Identity, Directory, Communications
Globally distributed data
Support for SOAP, REST, ATOM
3. Data platform services Supports enterprise-class Geospatial
and Presence, Search and
provides existing technologies
Federatescommon identity providers
4. Social / user services Services
availability, OpenID, security
(AD, LiveID, scalability,XML, and
including SOAP, REST,Tivoli. Etc.) PHP
Services
Tools Community
Windows Azure
www.azure.com
Visual Studio Microsoft SharePoint
Azure MSDN Developer
Windows Azure Tools for Services
Center
Visual Studio Microsoft Dynamics CRM
Windows Azure SDK Services
14. Microsoft Developer Platform
Application Environments
RIA Meta
Rich Services
UX data
UX
Web Data Identity
Workflow
UX
Common Tools
Common Language Runtime
Platform
ERP Finance Inventory CRM Operations Apps
Existing
Partners &
Applications
Customers
Cloud
SQL Server Oracle SQL Server Oracle DB DB2
Infrastructure Windows Solaris Windows Unix Z/OS
15. S3 Edge Inc.
Anush Kumar
CTO & VP Business Development
S3 Edge Inc., the RTVS company
anush@s3edge.com
+1-310-943-7992
16. S3Edge Real-Time Visibility Systems
Packaged software for connecting real-time data
from RFID and sensor data to enterprise business
applications with minimal or no disruption
Turnkey solutions for warehouse
operations, discrete manufacturing, and asset
tracking
Configurable Real-Time Visibility Systems [RTVS] that
include hardware, software, services, and hosting
Built on .NET 3.5, SQL 2008, BizTalk 2009, Windows
Server 2008
Delivered On-Device, On-Premise, On-Demand
17. RTVS Architecture
Asset
Work in
Warehouse
Tracking
Process
Operations
On-Premise
On-Mobile
Software Appliance
Workflows
RTVS
‘On-Demand’
Meta Identity
Rich Services
data
UX
Web
Workflow Data
UX
18. Customer scenario: RiteCare Pharmacy
Products from suppliers received, associated
Store orders shipped with 50%less
& put-away in totes with RFID tags
turnaround time and lesser mis-ships
Location information
Incoming store orders cross-
used to pick remaining
referenced with products
orders with hand-held
received
application
Additional totes slotted at warehouse, location
Totes satisfying incoming orders directly
dynamically associated based on bin tag
sent to cross-dock
20. Microsoft Developer Platform
Application Environments
RIA Meta
Rich Services
UX data
UX
Web Data Identity
Workflow
UX
Common Tools
Common Language Runtime
Platform
ERP Finance Inventory CRM Operations Apps
Existing
Partners &
Applications
Customers
Cloud
SQL Server Oracle SQL Server Oracle DB DB2
Infrastructure Windows Solaris Windows Unix Z/OS
24. The Evolution of App Platforms
Client Tier
Web
Container Service
Presentation Tier
Container
Application Tier
DB
Container
Database Tier
Classic architecture New app architecture
Scalable and reliable Everything exposed as service
Improved manageability Configuration instead of code
Broad reach via Web Mashup / composite assembly
Non-elastic Built for parallelism and massive
scale
Increased complexity
Elastically scale up and down on
Distributed, but monolithic
demand
Singularly focused
Container architecture supports
Back to IT control
both in-house and cloud
25. Next Gen Application Platform
Web Container
Service Container
Web UX
Web UX Web UX
Services
Services Workflow
DB Container
Data
Data Data
26. Deployment options
Spectrum of “clouds”
Development Test Private Public - Hoster Public - MS
Web
Container
Service
Container
DB
Container
27. Microsoft Developer Platform
Application Environments
RIA Meta
Rich Services
UX data
UX
Web Data Identity
Workflow
UX
Common Tools
Common Language Runtime
Platform
ERP Finance Inventory CRM Operations Apps
Existing
Partners &
Applications
Customers
Cloud
SQL Server Oracle SQL Server Oracle DB DB2
Infrastructure Windows Solaris Windows Unix Z/OS
28. .NET Framework 4
Build and run the next generation of applications
Base Class Library Improvements - Managed Extensibility
Framework, additional core data structures, I/O Improvements, unified
XAML stack
Parallel Computing Innovations - Task Parallel Library (TPL), Parallel Linq
(PLINQ)
Faster web development - ASP.NET MVC, AJAX, Dynamic Data;
Javascript UI Templates and Databinding; web page caching; and
Enhanced WCF REST capabilities
Manage your data – RESTful data access, take data “offline”, Entity
Framework v2
Middle tier – Build highly performant and secure middle-tier apps
using both WCF, WF
RIA apps – Build rich Silverlight apps both in/out of browser
Cloud apps - Build connected Azure cloud apps easily
Windows apps – Build exploitive Windows “7” applications with WPF
29. How to Get Started Today…
Try out the Microsoft Web Platform
www.microsoft.com/web
Learn more about .NET Framework 3.5 and
Visual Studio 2008
msdn.microsoft.com/net
msdn.microsoft.com/vstudio
Learn more about Software + Services
http://www.microsoft.com/softwareplusservices
Read more about Azure Services Platform at
www.azure.com
30. Related Content
Breakout Sessions (session codes and titles)
ARC201 A Lap around Team System 2010 Architecture Edition
(Mon | 2:45 PM-4:00 PM )
SOA201 A First Look at WCF and WF in the Microsoft .NET Framework 4
(Tue | 8:30 AM-9:45 AM )
SOA202 A Lap around Microsoft Code Name quot;Dublinquot;
(Tue | 2:45 PM-4:00 PM )
DTL201 A Strategic Comparison of Data Access Technologies from Microsoft
(Tue | 4:30 PM-5:45 PM )
SOA301 Achieving Success with Integration in the Enterprise Using Microsoft
BizTalk Server 2009 (Wed | 2:45 PM-4:00 PM )
SOA206 Every Class As a Service: WCF As the New Microsoft .NET
(Thu | 2:45 PM-4:00 PM )
Interactive Theater Sessions (session codes and titles)
SOA03-INT Interacting with Web Services Using Microsoft Silverlight
(Tue | 4:30 PM-5:45 PM )
SOA01-INT Architecting Enterprise-Grade Cloud Applications
(Wed | 1:00 PM-2:15 PM )
31. Resources
www.microsoft.com/teched www.microsoft.com/learning
Sessions On-Demand & Community Microsoft Certification & Training Resources
http://microsoft.com/technet http://microsoft.com/msdn
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
Microsoft Certification and Training Resources
Deliver Innovative User InterfacesBuilt-in support for UI, media (2D, 3D, audio, video, animation, sound, etc.), text (fonts), document services (XPS), and interactive data visualization Hardware acceleration that consumes GPU cycles, and leaves CPU cycles for other tasks Vector graphics and resolution independent graphics engine lets you scale the UI to different form factors with varying DPIs (desktop, laptop, tablet PC, big screen TV. Leverage a subset of WPF user experience to X-platform, X-browser and devices using SilverlightDeveloper ProductivityUse your favorite .NET language and mix both markup (XAML) / code-behind60+ high-quality, fully skinnable and customizable out-of-the-box controlsPre-built controls for layout of fields, validation, updating and pagingLeverage Existing Code Base and Skill SetUse the WPF-WinFormsInterop feature to host WPF controls in a Windows Forms application, or vice-versa; Create a mixed managed-unmanaged program where you can seamlessly mix managed and unmanaged API calls.Leverage vested knowledge in .NET Framework, CLR languages (C#, VB.NET, etc.), and tools (Visual Studio).Rich Windows 7 / Office supportRobust support for Touch and Multi-Touch user experienceBase WPF controls update to support single finger and multi-touch panningWin7 Multi-touch gestures like finger rollover support in all WPF applicationsWPF based multi-touch controls run on Surface 2.0 with no modificationsSupport for Windows 7 taskbar and common dialogsSupport for the Microsoft Office “Ribbon” user interface (aka Fluent)
Stress continuum of options for apps targeting the browser – from standards based to RIAComplete AJAX framework Rich end-user experiences across all popular browsersPowerful built-in AJAX enabled controlsSupports both client-side and server-side programmingModel/template Driven DevelopmentGet complete control over your HTML page markup and clear separation of concerns Enhanced testability of your Web app and Test Driven DevelopmentMaster pages, user controls and templates enforce a consistent look, feel and behaviorData-driven web sitesDynamic Data allows you to build a complete data driven website directly from your data modelAccess wide variety of data sources through LINQ and the Entity FrameworkRich set of built-in controls such as ListView and DataPagerRich Internet ApplicationsFully programming RIA development environment based on .NET Full HD (720p+) playback, native H.264/Advanced Audio Coding (AAC) Audio, live and on-demand IIS7 Smooth StreamingRuntimes target Windows, Mac OS X, and Linux
Rapid developer productivityFamiliar tools for development w/ full debugging and emulationWrite apps in managed code with Visual C#, VB or native code (C++)Support for both Windows Mobile and Windows Embedded CE devices Connected LOB applicationsWCF provides connectivity to services across the enterprise or online cloud servicesLINQ gives access to databases, XML data, and in-memory objectsADO.NET support including the SQL Server Mobile data providerImproved User ExperienceIE Mobile 6 delivers improved fidelity (full desktop rendering) Enhanced Script and AJAX support (Jscript v5.7)Touch and gesture support – pan support, multiple zoom levelsMobile WidgetsRich apps using web technologies (HTML, CSS, AJAX, JavaScript)Full access to ActiveX controls available on the deviceBased on emerging W3C standard for mobile widget applications
Secure, Reliable Web ServicesFramework for secure and reliable service-oriented applicationsSupport both WS-* protocols as well as REST, JSON, and POX encodingSingle model unifies ASMX, WSE, Remoting, COM+, and MSMQAutomation of Business ProcessesProgramming model and tools for workflow-enabled applicationsIncreased end-to-end visibility across long running workflowsRuntime services for persistence, tracking, transaction managementData-driven applicationsRaises abstraction for database programming Use conceptual app model instead of directly accessing relational schemaData Services framework allows rapid development of RESTful data servicesMission critical scale and reliabilityUnprecedented workload size, scalability, availability and reliabilitySupport up to 256 logical processor cores for a single OS instance.NET parallel computing support delivered through PLINQ and Parallel Library (TPL)
Cloud services operating systemOn-demand compute and simple storage to host, scale, and manage apps through Microsoft data centers.Full development, service hosting and service managementSupports common technologies including SOAP, REST, XML, and PHPInteroperability and connectivity servicesFirewall friendly messaging across networks, firewalls, NAT boundaries Direct connect, pub sub, durable queues, multi-cast fanoutSupport for SOAP, REST, ATOM Federates with existing identity providers (AD, LiveID, OpenID, Tivoli. Etc.)Data platform servicesEasily provision and deploy relational database solutions to the cloudProvision cloud-based storage with pay as you grow model.Globally distributed data center provides enterprise-class availability, scalability, securitySocial / user servicesEasy on-ramp to build rich social applications and experiencesData synchronization across services, applications and devices. Identity, Directory, Communications and Presence, Search and Geospatial Services
Services to maximize asset utilization by consuming and acting on real timedataEnterprise 3.0 = Extended Enterprise (close loop, collab across firewalls) + SaaS (http://www.sramanamitra.com/2007/02/26/enterprise-30-saas-ee/)‘Mix and Match’ layered 3 tier SOA based solution platform that delivers end-end solutions based on application needs vs. deployment topology / infrastructure needs
Abstract: Are you an IT manager looking for an overview of the key advances in the .NET Framework, and how they can help drive significant improvements in code quality and productivity for your development teams? Are you being asked to do more with less resources while the complexity of business solutions you need increases and spans into the cloud? Come to this session to see Microsoft’s developer platform in action and understand our roadmap for .NET. You will learn about Microsoft's vision for enabling greater productivity and agility, by enabling developers to build their current and future applications on a consistent set of skills, frameworks, and platform capabilities.+++++++++++++++++++++++++++++++++As you can imagine, the economy continues to be top of mind for customers and partners at Tech•Ed. You heard Bill Veghte and others spending a lot of time discussing what organizations can do to addresschallenges they face today, while still positioning themselves for success in the future. One of the things you’ll hear them say is that IT matters more than ever before. While there are multiple factors driving this, the bottom line is that today’s businesses care most about value. In IT, value means proven technology that provides a competitive edge at significantly lower costs. (Key learnings were derived by the IT sector from the last recession, and are being applied today, which has resulted in IT becoming a strategic asset, not just a cost savings tool).Bottom line: IT is the “secret weapon” to help the business find a solution to the current challenges. The role of IT is strategic because it fundamentally supports the business need to differentiate... and therefore YOU are strategic and have one of the most critical roles out there.
When we first began talking to RiteCare they wanted to reduce operational expenditure by automating the receiving and shelving processes in the warehouse, and reduce errors in shipments and order fulfillment. Their Primary Business motivations behind these requirements were to achieve store growth without expanding current warehouses (the were looking to grow from 10 to 100 stores) and to do so without increasing the size of its staff at that location. By limiting costs in those areas, RiteCare were looking to gain a competitive advantage over existing more entrenched chains From a layout perspective their Warehouse were ‘static’ i.e. storage isles structured in an alphabetic manner as in probably most typical warehouses you see in the space and they stored 1000’s of SKU’s in their primary warehouse. Their picking and shelving process [was] labor intensive and error-prone – very similar to issues that a customer like Walgreens’ face today in their shipping process. In addition, orders were not immediately cross-docked leading to delays, decreased throughput, delayed order fulfillment, and reduced inventory turns Let’s look at what the solution did to solve these issues: We began by tagging the 1000 odd re-usable totes that the orders were received in, used RFID tags on shelves to identify location and applications on the hand-helds, to fully automate and reduce errors in putaway, reduce time and labor to locate and pull inventory, and streamline cross docking and the new flow enabled by the RTVS in Ritecare’s warehouse is depicted on your screens. The Results from an operational perspective were as follows:- Order fulfillment time was cut down by 50%, errors in shipping were eliminated- Inventory turns have increased – the dynamic real-time warehouse has resulted in inventory reductions of upto 60%- Due to increased operational visibility, labor productivity is up / costs are down and scalability for expansion is in place From a overall labor savings, error reductions perspective the returns they and some of our other enterprise customers in this space have observed (one of who is Asia’s largest 3PL) can be captured in a generic manner as follows:
There’s been a lot of talk in the industry of late about “private clouds”… What are we really talking about when we talk about the private cloud? Since most organizations today have the majority of their IT on premise, I want to focus on this rather than on the public cloud. You hear more and more from Microsoft and the public cloud at PDC and events like that. There's tons and tons of hype in this space. And you'll see stories from other vendors about how this is a massive revolution of IT. Well, you know, really I don't want to throw cold water on anybody. While this is an important trend, it is not a massive revolution of IT. If you've been thinking about these things like Microsoft has around Dynamic IT and around how we can create these abstraction layers, then the reality is you start to se that this has been a place that's been coming for a while. And, in fact, if you're virtualizing your environment today, you're closer to some of these fabric qualities or these private cloud qualities than you might think. So what's the first step to a private cloud? It begins with an infrastructure fabric. The compute resources, storage, everything through to the network, whatever composes your infrastructure, the hardware and the operating system is that fabric. And with a cloud, you start to do three things: One, you abstract the hardware. That's what I meant earlier when I say if you're on the road to virtualization, you're on the road to a private cloud. The notion of abstracting the hardware is the first step of being able to think about logical resources as opposed to physical resources. That second element is logical pooling of computers. Logical pooling of those assets. We've delivered this today with Virtual Machine Manager, where you can connect that compute power from your servers into a single logical resource. The third investment is in the automated provisioning of those resources. And we delivered that today with tools like Virtual Machine Manager and that intelligence placement feature that the system starts to take and look at the attributes of that pool and say this is the best place to put this piece of work. Very important pieces of work that we've done to invest in the foundational elements of a fabric for a private cloud.
Today, most people think of virtualization only as hardware virtualization. And the truth is, we're using virtualization in many respects. We're using this notion of abstracting server hardware, OS hardware, and in fact even application from OS across our stack. You know today that you can get application virtualization for the client side. Well, what's really going to be very interesting as the data center moves forward is how we start to separate out or abstract server applications from the server fabric. That's really cool stuff that's going on. In decoupling that application work load from the OS, you see two fundamental benefits: The first is X copy deployment. The ability where deploying and installing an application is, in fact, as simple as copying a file. The second is image-based management, where really you can dramatically reduce the total number of images that have to be managed, patched, maintained, et cetera. This will be a huge transformation in how the private cloud really starts to deliver business benefits to end customers. So I think you're getting a good idea now what we mean by managing that fabric. The next part of the private cloud is the application platform and delivering the service that you actually have to deliver on that fabric. For customers to get cloud-like experience with an on-premise or private cloud, they must in fact manage the applications the same way that customers experience them, not as individual components, but as an end-to-end, service-oriented experience. So the principles of this kind of service delivery are availability is king. The service must always be available. This has business-level SLA requirements. It means that we can't be just thinking about the component parts, and in fact be held responsible for the availability of the business service. It's distributed, but not related. What does that mean? Distributed components structured together into a single service. It's heterogeneous in nature. Physical, virtual, Windows, non-Windows. And finally, it's elastic. IT must be able to expand and contract across your business needs. These four elements are absolutely critical to be able to deliver that service and are foundational to the private cloud.
Let’s talk now about how the programming models in our dev platform get executed and managed at runtime. Traditionally, an n-tier architecture would have applied the notion of an “app server” which is a proven and mature way of scaling applications. This relied upon applications being fairly mature as well, and you built your runtime architecture to achieve the specific perf or scale needs of an application.Newer app architectures have evolved both as a result of SOA/composite apps and most recently the cloud; apps are being built as distributed services and built for reuse, re-composition into new apps, and need to scale in new and elastic ways. This is changing the way we think about running apps – moving away from monolithic app architectures, and to the concept of flexible “containers” that can be configured, deployed across a wide variety of deployment options.
Let’s get specific – what might a container look like? Let’s pick three of the most common: web, app, and database containers. Each of the models in the development platform (built by a specific developer) gets deployed into the container, which provides a rich set of reusable and common services that abstract the app away from lower-level resource or OS concerns. The container provides a powerful abstraction layer that helps you focus on your app logic instead of the implementation plumbing.
I may pick a different deployment configuration for each of the containers/models, based upon the specific requirements. Maybe today I want to move the web components into a hoster because that’s the approach taken for all of my corporate web properties, but want to maintain the app/db logic inside my firewall.
Need to make sure that you articulate up front the focus of the talk and who it is for... why is it worth their time listening to your for an hour - because you are going to help them understand something that might seem complicated and that has lots of moving parts but really it's quite straightforward... You are going to give them a framework to understand the WHOLE story.Need to balance die-hard follows with more casual fans… And also need to help those who may not be following .NET that closely understand what major changes have been introduced over the past few release. Let’s look at that now.
#1: Deep Investments in the CoreBase Class Library Improvements - Managed Extensibility Framework, additional core data structures, I/O Improvements, unified XAML stackThe Base Class Library is a standard library available to all languages using the .NET Framework. .NET Framework 3.5 includes a library of more than 10,000 classes, which provides pre-coded solutions to common program requirements and reduces the amount of code required by developers. Parallel Computing Innovations - Task Parallel Library (TPL), Parallel Linq (PLINQ)Microsoft is committed to enabling emerging trends, and our CLR team works closely with Microsoft Research to make sure we’re putting the right innovations into .NET. One example of this collaboration is around parallel computing – last year we started talking about our Parallel extensions. For developers that are creating parallel computing apps, we’re providing new libraries such as the Task Parallel Library and Parallel LINQ, as well as the Parallel Pattern Library and Concurrency runtime for developing native applications with C++ that execute efficiently on parallel hardware and parallel profiling and debugging experiences.#2: Superior Developer ProductivityFaster web development - ASP.NET MVC, AJAX, Dynamic Data; Javascript UI Templates and Databinding; web page caching; and Enhanced WCF REST capabilitiesWith the increased need for Web apps, we’re continually working to improve the flexibility of .NET for those developers wanting rapid development and deep control. Web developers have a wide variety of needs and wants. .NET is delivering the tool support for those needs—both for developers and designers. One example is the use of ASP.NET Dynamic Data to create new data-driven Web sites that require minimal code and that take full advantage of the capabilities of the Dynamic Data framework. You can also select specific Dynamic Data capabilities to add to existing Web sites. Allowing developers to have shorter time to deployment. MVC and Web Forms are also important to note here. Example: Kelly Blue Book earlier this year revamped their site utilizing the functionality .NET delivers for Web apps. In doing so, they’ve been able to deliver a more enjoyable experience for their customers, reduce their development maintenance costs and focus their budgets on creating new products for their users.Manage your data – RESTful data access, take data “offline”, Entity Framework v2The ADO.NET Entity Framework is the next evolution of ADO.NET, raising the level of abstraction at which programmers work with data, and allowing the database structure or data source to evolve without significant impact to the application code. Rather than coding against rows and columns, the ADO.NET Entity Framework allows the definition of a higher-level Entity Data Model over your relational data, and allows developers to then program in terms of this model. The Microsoft ADO.NET Data Services framework provides a first-class infrastructure for developing the next wave of dynamic internet applications by enabling data to be exposed as REST-based data services that can be consumed by client applications (ASP.NET, AJAX, Silverlight) in corporate networks and across the internet. Easily build applications using a comprehensive set of Microsoft .NET libraries and client components, accessing data through uniform URI syntax and using standard HTTP verbs to operate on the resource.#3: Extend the .NET ContinuumMiddle tier – Build highly performant and secure middle-tier apps using both WCF, WFWindows Communication Foundation (WCF) is the service-oriented programming model for the Microsoft .NET Framework and simplifies development of connected systems and ensures interoperability. As a developer you can leverage the same programming model with WCF to interoperate across boundaries and platforms. One example of how we extend your knowledge of WCF is around RESTful services. In .NET 3.5 we provided support for REST, JSON, POX and we’re further simplifying this in .NET 4 by increasing the integration and tooling with Visual Studio and ASP.NET.Another example of this is .NET Services, a component of the Azure Services Platform which further extends WCF to the cloud and enables .NET devs to use existing skills. Windows Workflow Foundation (WF) technology makes it possible to automate business processes by empowering .NET developers to build workflow-enabled applications and services for Windows.We’re seeing incredible adoption of WF by applications – not just our own MS applications like SharePoint, Dynamics, Team Foundation Server, etc. but hundreds of our ISVs in our ecosystem that are now implementing their LOB business logic in a common and declarative model.Increasingly we’re seeing the convergence of WF and WCF patterns to build mission-critical middle-tier apps. You can string together multiple services into higher level workflows, creating composite apps; likewise you can use workflow logic to easily develop services.RIA apps – Build rich Silverlight apps both in/out of browserThe rise of the Web has brought with it an increasing demand for fluid apps on the Web. With .NET, developers can easily transfer their skills from the client (for example) to the Web.Because Silverlight contains a subset of the .NET Framework, customers can reuse and repurpose existing skills, code, and tools when building Silverlight apps. For developers this means you can create Silverlight apps with fewer lines of code than with other RIA runtimes. It also means building better, richer apps with existing resources.Example: The Hard Rock Café for example built their Deep Zoom memorabilia museum (the first deployment of its kind) on their Website in less than a month, using the functionality found in the .NET Framework and Silverlight. Cloud apps - Build connected Azure cloud apps easilyMillions of developers worldwide already use Visual Studio development tools and the Microsoft .NET Framework to deliver innovative solutions. Take the same skills and expertise and apply them to the cloud with the Azure Services Platform. Cloud solutions can be built, debugged, and deployed directly from the Visual Studio environment and use the .NET Framework as the common framework to run applications for the cloud, on premises, and on connected devices. Windows Azure is an open platform that will support both Microsoft and non-Microsoft languages and environments.Windows apps – Build exploitive Windows “7” applications with WPFUsers are demanding richer, more responsive applications on premises in addition to the web. To help developers build those apps, .NET lets developers take full advantage of WPF, providing them with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents. Some WPF improvements we’ve made include:Win7 support via WPF: multi-touch, libraries, location services, etc…Cold startup performance improvement ranging between 20-45% depending on application size without needing to modify any code. Additional WPF support for text, graphics, and media to deliver better performance. For example, effects like DropShadow and Blur were implemented using software rendering; with SP1 these are now implemented using hardware acceleration.
Speaker NotesIn 2002 Microsoft® released version 1.0 of the Microsoft .NET Framework and Microsoft Visual Studio® .NET. This release included Microsoft Windows® Forms and ASP.NET. It introduced new ways of creating Windows and Web applications.In 2003 Visual Studio .NET 2003 and the .NET Framework 1.1 were released. Microsoft added additional ASP.NET controls, code access security, and support for Internet Protocol (IP) v6.In 2005 version 2.0 of the .NET Framework and Visual Studio 2005 were released. These versions provided support for generics, declarative data binding in ASP.NET, partial classes, and support for the Common Language Runtime (CLR) in Microsoft SQL Server®.In 2006 the .NET Framework 3.0 was released. This release included Windows Presentation Foundation, Windows Communication Foundation, and Windows Workflow Foundation to allow innovative ways to create applications and a consistent way to program distributed applications.As AJAX programming became popular, Microsoft added support for AJAX in ASP.NET. In 2007 Microsoft released .NET Framework 3.5, which brought many enhancements to existing functionality—and LINQ, anonymous types, and ASP.NET AJAX in the core framework.Recently the model-view-controller (MVC) style of programming and REST-based interfaces have become popular. Microsoft released ASP.NET MVC to support programming using these paradigms.In the future Microsoft will release version 4 of the .NET Framework and Visual Studio 2010. This release will include support for dynamic languages, parallel computing, and ASP.NET MVC built into the framework.Visual Studio and the .NET Framework has evolved to add features and functionality that modern developers need to create the applications that businesses need and demand.Other talking pointsCount on MS to innovate and ensure that the framework stays at the forefront of technology innovation and adoption of development approaches. Discuss ongoing the reduction in lines of code and how this is ONE of the driving forces as we think about innovation going forward...TFor the last 8 years, MS has been creating an amazing platform. We have hundreds of thousands of partners and customers building on this platform, including Microsoft itself - this is a SAFE investment from a skills, resources and product maturity perspective
Dueling forces: Stability vs. agilityIT organizations struggle with the constant tension between the needs for both agility and stability. On the one hand, software development is about innovation. It’s about solving old problems in new ways. And it’s about solving new problems in unimagined ways. It challenges us to add new capabilities that take advantage of the latest technology trends and breakthroughs – e.g. web apps, Rich Internet Applications (RIAs), service oriented development, cloud-based applications, mobile devices, etc. The list of new innovation in dynamic languages and scripting goes on and on. And it demands we do all these things at the speed of business.However, enterprise software development also requires stability. It’s a business, like any other. It has the same constraints and internal inertia found elsewhere. First and foremost, you need to protect the investments your enterprise already has in the form of current apps. Budgets are too small to continually invest in the latest new tools and frameworks. And even if there was more money, the talent and skills that drive the entire process don’t evolve as quickly as technology does. This dueling tension between rock-solid stability and increased agility is a tremendous challenge for our customers.Microsoft’s developer platform vision is to provide the best of both worlds, by allowing you rich new innovations and extensions to our developer platform (thru frameworks and extensions to .NET that address new break-thru capabilities to maximize agility) while at the same time delivering rock-solid stability to you and your organization (by providing you enterprise consistency of skills in our core runtime, servers, and tools). Many specialized vendors take a top-down approach, custom-building one-off framework and tools to address emerging opportunities (e.g. cloud, web, mobile, etc). Microsoft has spent the past decade investing in our much broader bottom-up approach, developing the .NET runtime and tooling environment. This means that today, as new opportunities and needs arise, we are able to extend our platform in a consistent and well-factored way to meet those needs.Let’s now take a look at how .NET has evolved over the past years…
Increasingly Microsoft is spending more and more time reaching out to the community of developers not on our platform today, and offer them new points of entry into our platform that doesn’t require them to go learn immense amounts of Microsoft-centric skills or necessarily start out of the gate with Microsoft technologies. You are starting to see our developer platform support for “non-Microsoft” languages (e.g. Java, PHP, Ruby, etc) show up in Microsoft products. We also see points of entry into the Microsoft platform based on standards-based or open communication protocols that weren’t necessarily proprietary to our platform and which give developers the ability to interoperate and interact with our platform technologies without having to make a wholesale bet on Microsoft. Giving breadth developers an opportunity to experience Microsoft’s developer platform at very low friction, at very low investment on their end, we think it’s an opportunity to sell to them and over time drive more and more platform adoption given our unique breadth. If you’re the best web developer in town and you start deploying your PHP apps on the Microsoft platform, you see once you start deploying on Windows that there are amazing tools and technologies you can use to extend those Web investments using Silverlight.