Overview Of The Microsoft Developer Platform


Published on

Brief overview of the Microsoft Developer Technology Stack as of 2010-01-29

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • A secure, reliable, high-performance development framework that enables developers to easily reuse skills and assets across cloud, web, desktop, server and devicesProvides developers with higher levels of abstraction, thus allowing them to focus on the business logicIncreasing developer productivity while preserving compatibility are the key drivers of every .NET release
  • Abstracts code from the operating system it is running onEnables the code to run in a managed environment, relieving the developer from the need to worry about things such as:Memory managementThread managementException handlingGarbage collectionSecurity
  • New data access framework in ADO.NETReduces coding time and complexity when developing data-oriented applicationsEasily work with data across application tiersAbstracts the way the data is stored in the database from the way it is used in the business logicAllows the database structure to evolve without significant impact to application codeInstead of investing time in developing your own data oriented logic, invest in your application logic!The Entity Framework can be used in any type of application (Web or Desktop) from any type of client (ASP.NET, AJAX, Silverlight) in any .NET language, in corporate networks and across the internet. Easily build your applications using the comprehensive set of .NET Framework libraries.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 modelThe Entity Framework is part of a multi-release strategy to decrease the amount of coding and maintenance required for developers by enabling them to program against data models defined in terms of entities and relationshipsInherently supports tracking data changes
  • Source: Kelly Blue Book Case Study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000003698“To succeed on the Web, the company needs to provide consumers with reliable, immediate access to car values in new and innovative ways, whether users are sitting in front of their PCs or want information via their mobile phones.”“The company’s use of Microsoft® software gives Kelley Blue Book a Web presence with which it can easily deliver the innovative experiences that customers demand—in turn, helping Kelley Blue Book differentiate itself from its competition and drive new revenues. Just as important, Kelley Blue Book can maintain a reliable Web presence with minimal costs, making it possible for the company to spend more on new product development.”KBB have revamped their site with ASP.NET functionality and AJAXThey were able to:Enhance user experienceReduce development and maintenance costs Focus on creating new products for their usersMajor improvements to ASP.NET make creating interactive web pages easier resulting in lower development and deployment costsAjaxNew additions to the Ajax Data Control ToolkitIntroducing DataView and DataContextDynamic DataRapidly create highly customizable data driven web applications Create web pages based on LINQ queries or ADO.NET Data Services model and provides basic UI to manipulate the dataMVCA new framework for creating web applications that use a model-view-controller patternAllows complete control over the generated HTMLSeparates the handling of request from the creation of HTML enabling easier automated testing of web sitesResults in more testable higher quality applications, with no added costsWeb applications have seen a lot of innovation and continue to be used by organizations to provide applications quickly with a low deployment cost. In addition, web applications are becoming more interactive with rich media, social interaction, and fast response from the web server becoming the expected norm. Microsoft has continued to innovate in web applications and has produced several out of band releases to help developers create ASP.NET applications using new application styles (like AJAX and MVC) that have been included in the core ASP.NET product
  • The Hard Rock Café built their Deep Zoom memorabilia museum on their Website in less than a month, using the functionality found in the .NET Framework and Silverlight 2Source: Hard Rock International Case Study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000002432
  • Bringing Silverlight and ASP.NET closer together!Simplifies the traditional N-tier application patternFramework components support prescriptive patterns for writing application logic and validation to be easily used on the presentation tier Provides a framework, tools and servicesSaves time by enabling the developer to focus on application logic and share the same functionality between Silverlight and ASP.NET applicationsProvides end-to-end support for common tasks such as datavalidation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier.Application logic is written on the mid-tier to control access to data via queries, updates and custom operationsHandles the logic to move entities and to invoke operations across the wireHandles low-level details like change-tracking and cachingTools add to existing Visual Studio capabilities by linking the client and mid-tier projects in a single solution and by enabling smart code generation in client projects 
  • WPF Application example source: http://windowsclient.net/community/showcasedetails.aspx?p=4264Source: InterKnowlogy Case Study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004058InterKnowlogy, a developer of custom software solutions for businesses, adopted WPF:“We are doing the kinds of work with WPF that in the past only OpenGL or the DirectX programmers could do, and because WPF is part of the .NET Framework, we can do the same work in just a fraction of the time. We’re building software that you could only dream about a couple of years ago, and we’re building it with teams of four people in just weeks, instead of 40 people and two years.” Tim Huckaby, CEO, InterKnowlogyEasily build high performance, rich graphics desktop applications for no added costs!Windows Presentation Foundation supports new advances in hardware and usage scenariosMajor improvements in business-focused controls (Datagrid, etc’)Advances in text layout and localization for multilingual applicationsSupport for multi-touch devices promoting the development of new and innovative applicationsSupport for Windows 7New touch screens and the Microsoft Surface have started developers thinking about how people can collaborate and use tactile interaction with the computer. By making it easier for developers to add support for these new features to their applications, new and innovative applications will begin to appear in the marketplaceBetter TextNew Windows component – Direct Write – will dramatically improve text clarity“Layout Snapping” will dynamically and intelligently reflow text and images as the user changes the dimensions of the windowImproved Graphics PerformanceComposition API will give application authors fine grained control over caching rendered elements in video memory3D graphics improvementsEnabling PS 3.0 on supported hardwareMedia ImprovementsNew Media Control provides new features including Full Screen supportAPIs will provide improved access to underlying mediaNew business-focused controls:Masked Edit, Smart Edit, SpinnerAuto Completion and PickListProperty GridImproved chart controls (see graphic to the right)New DataGrid control:A full DataGrid with rows, columns, headersStyle-able UI componentsAutogeneration of columnsSelection of cell and rowReorder columnsFrozen columnsAutosizing & resizing of headersAlternating row styleFiltering & grouping supportDesign Time supportWPF code can be written in any .NET Framework language and take advantage of the .NET Framework libraries and capabilitiesUsing existing knowledge of .NET Framework libraries and languages developers can be more productive!
  • Source: Farm Credit Services of America Case Study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000003558Note: This application was based on WF 3.5, for WF 4 case study please refer to TAP customer referencesFarm Credit Services of America, a financial services provider, solved these problems by adopting WFWF enabled creating a flexible and easier-to-manage loan-processing application“Windows Workflow Foundation and other Microsoft tools let us make updates to our core business application with the kind of speed and agility that was impossible in the past.” Nate Ryan, Lead Developer, FCSAmerica“…we shaved several months off the development time … and with fewer developers required.” Lou Caniglia, Lead Developer AgriLytic® Workflows are now easier to create, execute, and maintainIntroduces a new programming model that is declarative (XAML-based) by defaultPerformance improvements through an enhanced persistence storeIntroduces the FlowChart workflow which enables to construct process flows more naturallyEasier to create custom activities and enhance existing onesVisual Studio introduces a new WPF-based designer for creating and debugging workflowsBuild customizable and robust business applications quickly and easily!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.Change away from using the state machine workflows to a FlowChart style workflow. The majority of existing state machine workflows can be migrated to the FlowChart workflow and the pick activity. WF code can also be written in any .NET Language and take advantage of .NET Framework features and capabilities.
  • Visual Studio 2010 release will provide support for all the new .NET Framework 4 capabilities and featuresTeam System new release will provide enhanced productivity through features such as:Enhanced project planning and management support for all project phasesNew agile reporting capabilities on project statusProject DashboardsSimplified version control managementEasier maintenance and administrationEnhanced testing capabilities and tester-developer collaborationBetter support for project architects
  • This slide uses a static image, with no animation. This is a smaller (file size) slide, since it uses only one image.
  • As an industry, we often like to talk about step functions and inflection points that usher in new eras of computing and the evolution of existing application models and app patterns.  For Microsoft’s part, we have evolved through numerous industry shifts over the last two+ decades.  Skepticism about the role of graphical UI and the GUI Toolkit in Windows was overcome by developer-driven creativity and scenarios that made GUI the new standard for operating systems and applications.  On the Web we were able to marshal our assets quickly to deliver a set of capabilities for the Web 1.0 era.  Most recently, the push toward .NET and XML web services protocols ultimately put a lot of the infrastructure foundation in place for the Web as we know it today.  And now we’re in what many think of as the ‘cloud era’, where we’re making a big investment in Windows Azure.  But many believe cloud computing is nothing new – it looks a lot like the mainframe ... centralized storage and processing, virtualization in the form of LPARs, thin client experience in the form of dumb terminals w/green screens, command & control architecture, etc.   So what’s new, then?  What’s *new* is a combination of hardware & software advances, along with dramatically more attractive economics, which make the cloud model increasingly compelling.  We’ve gone from running a few apps on the world’s most expensive computer, to running thousands and thousands of apps on a globally distributed fabric of the world’s cheapest computers.…which transitions into our strategy for this era…As a result, there’s a lot of industry mindshare today around services on the Web that is reflected in these terms like cloud computing, utility computing, private cloud, public cloud, internal cloud, etc. – the reality is that these terms really don’t matter all that much – it’s the underlying capabilities that matter.  And the capabilities that define how most people think about cloud today are fundamentally things like virtualization, scale-out, self-service provisioning, multi-tenancy, etc. [whatever list we end up on].  These are capabilities you can implement and/or consume anyplace – in your datacenter, in a partner’s datacenter, in a public cloud, wherever – because the industry reality is the trend toward hybrid scenarios that span all of these worlds.  They combine client and on-prem server offerings with cloud services, driven by the user need for experiences that span the PC, the phone, and other web-connected devices, as well as the business need to optimize back end datacenter capabilities to include accommodation of high-scale Web apps and access to compute and storage capacity on demand.  This approach to application architecture, development, deployment, and usage is at the core of what we call software + services.   Choice & flexibility have clearly emerged as the hi-order bits for the next generation of computing – choice & flexibility in terms of deployment & delivery, developer technologies, architectures, user experiences, and the need to span the software world and the services world with both apps and platform.  For Microsoft, this represents another step function, and has set the stage for a new application model in which these core capabilities span the traditional datacenter and the public cloud.
  • In 2008, the industry was at a crossroads regarding what would be the emergent model for the next generation of computing. Mindshare around cloud computing had reached its peak. While cloud-based savings will prove true in some cases, it will not in others. And, as we shall, there’s an evolutionary model that applies to cloud adoption in which moving applications “as is” to a hosted model is unlikely to provide business benefits beyond cost savings. The cloud excels as a host for transformative applications that scale-out well and need the elasticity and connectivity that the cloud can provide.Microsoft has been proved right in its vision of S+S both by delivering against its customers’ needs and in trend-setting what many of Microsoft’s competitors now clearly support even though none of them will use the term S+S but prefer “hybrid architectures” and “native client experiences”. Microsoft will win with S+S becausecustomers choose how best to optimize their investments across the software/service continuum without being pushed down one path or another.S+S is often confused with Software-as-a-service (SaaS) but, as the term suggests, S+S is the marriage of the best of software with the best of services. The software may be delivering end-user experiences on devices and/or it may be running on servers in an on-premises or hosted data-center. The reality is that the most powerful and the best applications are always some combination of great experiences running across devices and some combination of back-end server and/or cloud.
  • Putting everything together, results in a comprehensive platform and set of applications that spans the client, server and services tiers. For simplicity’s sake, this diagram only includes Microsoft’s technologies but Microsoft’s success has been the result of the hundreds of thousands (over 600,000) partners building platform components and applications that address a large proportion of the world’s software needs.
  • Windows Azure is designed to be a place to run your application, at scale, out on the internetBut its more than just that. Windows Azure manages the entire lifecycle of your application. From that initial design, development, and testing of your application, to deploying to the cloud with a touch of a button, to monitoring and scaling that application when its in the cloud, and finally we help you analyze and monitor your application so you can build an even better version, and deploy That out to the cloud without incurring any downtime.
  • Overview Of The Microsoft Developer Platform

    1. 1. Developer Platform Overview<br />Chris Koenig<br />Developer Evangelist<br />chris.koenig@microsoft.com<br />chriskoenig.net<br />
    2. 2. Agenda<br />Microsoft Developer Platform<br />Software + Services<br />Windows Azure<br />
    4. 4. What is the Microsoft .NET Framework?<br />One Framework to Target Any Environment<br />Cloud<br />Phone<br />Client<br />Server<br />Browser<br />Reuse skills and assets<br />Across all environments!<br />
    5. 5. Data<br />Presentation<br />Communications<br />Workflow<br />Web<br />Base Class Library<br />.NET Framework 4<br />Common Language Runtime<br />
    6. 6. Common Language Runtime (CLR)<br />.NET Code (C++, C#, VB.NET, F# etc)<br />CLR<br />CLR<br />Memory management<br />Exception handling<br />Security<br />Thread management<br />Garbage collection<br />And more!<br />
    7. 7. A Look Back…<br />SP1<br />3.5<br />CLR<br />3.0<br />.NET 1.0<br />.NET 1.1<br />.NET 2.0<br />.NET 4<br />2002<br />2003<br />2008 CTP<br />2005-08<br />CLR 1.0<br />CLR 1.1<br />CLR 2.0<br />CLR 4<br />
    8. 8. The .NET Framework<br />WPF<br />Win Forms<br />DLR<br />ASP.NET<br />WCF<br />And more!<br />LINQ<br />Base Class Library<br />Base Class Libraries<br />The CLR<br />JIT & NGEN<br />Garbage Collector<br />Security Model<br />Exception Handling<br />Loader & Binder<br />
    9. 9. Strategic Data Access<br />Data<br />Less code!<br />BL<br />Less maintenance!<br />Entity Framework<br />Less complexity!<br />DAL<br />More robustness!<br />More productivity!<br />DB<br />
    10. 10. Kelly Blue Book & ASP.NET<br />KBB has done it!<br />Web<br />Enhanced user experience<br />Less development and maintenance costs<br />Focus on new products<br />
    11. 11. Hard Rock Café and Silverlight <br />Web<br />http://memorabilia.hardrock.com/<br />Built in less than a month!<br />
    12. 12. WCF RIA Services<br />Web<br />Bringing Silverlight and ASP.NET closer together!<br />ASP.NET<br />Easily build N-tier applications!<br />
    13. 13. Windows Presentation Foundation <br />Move from this:<br />To this:<br />Presentation<br />No OpenGL or DirectX complexity!<br />New business-focused controls <br />Advanced text layout and localization <br />Develop in a fraction of the time!<br />Multi-touch support<br />Windows 7 support<br />
    14. 14. Windows Workflow Foundation (WF)<br />Workflow<br />WF enabled creating a flexible and <br />easier-to-manage loan-processing application<br />“…we shaved several months off the development time … and with fewer developers required.” <br />Workflows are now easier to create, execute, and maintain<br />New programming model that is declarative (XAML-based) by default<br />Performance improvements<br />New FlowChart workflow <br />
    15. 15. Remoting<br />COM<br />D/COM<br />COM+<br />MSMQ<br />WSE<br />ASMX<br />Windows Communication Foundation<br />Yesterday:<br />Communications<br />Many confusing and complicated options <br />Now:<br />Windows Communication Foundation<br />One simple choice that is always the best option <br />
    16. 16. Visual Studio<br />Expression<br />Sketch Flow<br />Data<br />Presentation<br />Communications<br />Workflow<br />Web<br />Base Class Library<br />Common Language Runtime<br />.NET Framework 4<br />
    17. 17. Turn your ideas into software with VS 2010<br />Drive Quality into Your Applications<br />Create a shared vision between developers and testers<br />Take test plans to the next level with manual and automated tools<br />Use One Integrated Toolset for All Your Needs<br />Develop on Windows, the Web, the Cloud, Office, and more!<br />Bring your team together with integrated architecture, testing, and development<br />Create What You Can Imagine<br />Leverage visual designers for building Rich client and Web applications<br />Take your skills further with every release<br />Develop with confidence<br />Know you’ve built the right application, the right way<br />Use a familiar and productive environment to get the job done<br />
    18. 18. Designer/Developer Experience<br />designer<br />developer<br />designers & developers: <br />Speak different languages<br />designers & developers: <br />Speak the same language<br />designers design<br />developers add business logic<br />
    19. 19.
    20. 20. Visual Studio 2010<br />
    21. 21.
    22. 22. Fifth Generation of Computing<br />2010+<br />Cloud<br />2000s<br />SOA<br />1990s<br />Web<br />1980s<br />Client-Server<br />1970s<br />Mainframe<br />
    23. 23. S+S Strategy<br />Combining client and server software with cloud services<br />Primary elements<br />Platforms: Windows, SQL, …<br />Applications: SharePoint, Exchange, …<br />Primary tenets<br />Back end applications will span server and cloud<br />User experiences will span multiple devices<br />
    24. 24. CLIENT<br />SERVICES<br />SERVER<br />Applications <br />Developer Tools<br />Programming Model<br />Application Services<br />Relational Database<br />Operating System<br />Systems Management<br />
    25. 25. Windows Azure<br />Windows Azure delivers Cloud computing for the enterprise<br />“It’s the transformation of our software, it’s <br />the transformation of our strategy and our offerings across the board to fundamentally embrace services.”<br />–Ray Ozzie<br /> Chief Software Architect<br /> Microsoft<br />
    26. 26. Windows Azure<br />The Fabric Controller automates load balancing and computes resource scaling<br />Security and Control Features include storage encryption, access authentication, and over-the-wire encryption using HTTPS. Industry certification is part of the Windows Azure roadmap.<br />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.<br />Storage Services scale to store large amounts of data – in any format – for any length of time, only paying for what you use or store.<br />Geographically distributed, state-of-the-art data centers host your applications and data, internet-accessible from everywhere you choose to allow.<br />
    27. 27. Windows Azure Development<br />Hosted<br />Service<br />Portal<br />SDK<br />Storage<br />Develop<br />Run<br />Deploy<br />
    28. 28. Skills Reuse<br />
    29. 29. Call to Action<br />Learn more about the Developer Platformhttp://msdn.microsoft.com<br />Learn more about Software + Serviceshttp://microsoft.com/softwareplusservices<br />Learn more about Windows Azurehttp://azure.com<br />
    30. 30. Questions?<br />
    31. 31. © 2009 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.<br />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.<br />