Presentation is loading. Please wait.

Presentation is loading. Please wait.

마이크로소프트 차세대 플랫폼 전략과 비전 유상용 IT Advisor/부장 한국마이크로소프트.

Similar presentations


Presentation on theme: "마이크로소프트 차세대 플랫폼 전략과 비전 유상용 IT Advisor/부장 한국마이크로소프트."— Presentation transcript:

1 마이크로소프트 차세대 플랫폼 전략과 비전 유상용 IT Advisor/부장 한국마이크로소프트

2 WinFX의 비전 개발자로 하여금 새로운 기술과 하드웨어를 최대한 활용할 수 있도록 한다. 개발자의 생산성을 증대
애플리케이션의 보안과 배포, 관리능력을 향상 개발자들의 기존 개발 능력을 활용 WinFX™라는 새로운 프로그래밍 모델을 소개 .NET Framework 기반위에 구축 기존의 Win32 애플리케이션들을 쉽게 확장 Context: This is the vision – not all of this will be delivered in v1.0 (for example, the online / offline scenarios are enabled later). WinFX is the name for the Windows programming model that brings Windows and the Framework together. It’s not a single deliverable: it will take a number of releases for all the parts to fall into place. Embarking on another breakthrough evolution of the platform – and evolving the programming model New interface for Windows is called WinFX™ - a comprehensive programming model built on the managed code technology pioneered in the .NET Framework. If you know how to write managed code on the .NET Framework today, WinFX will seem like second nature, because it’s a superset of the .NET Framework, optimized for Longhorn and exposing all new system functionality. If you’re a Win32 programmer, your existing applications can incorporate WinFX-based functionality very easily. For WinFX, every class, method, property, and event is reviewed by an architecture board, tested in developer usability labs, and designed to work together in a holistic way. We’ve written a hundred-page style guide that carefully explains how APIs should approach common issues like naming, eventing, collections, exceptions, and more, all in order to ensure that WinFX will stand the test of time as a consistent, functional API that’s easy to learn and use. Built with backwards compatibility in mind We know that businesses are concerned about application compatibility and we want to assure you that this area is a high priority for us. Microsoft has a long tradition of doing everything possible to preserve application compatibility between versions of the operating systems. I want to assure you that we are doing everything possible to continue this tradition. In fact, we’ve acted on the consistent feedback here and are working to ensure an easier transition between our existing programming models and WinFX. Based on this, we made the decision to deliver WinFX APIs for Windows XP and Windows Server This will make it easier to deploy applications across Longhorn and XP environments and allow you to deploy Longhorn in a phased rollout (e.g. If you are on a 1/3-1/3-1/3 desktop deployment/replacement strategy). Managed code and declarative programming enhances developer productivity When you look at developer productivity over the past 10 years, one thing clearly stands out – developers write the same amount of code per day in 2004 as they did in So how are software developers going to create 10x more functionality if they aren’t writing 10x more code? We’ve only got one option: make each line of code do 10x more. That’s what managed code is all about. Managed code frees you from writing “plumbing” code such as AddRef/Release and other low-level infrastructure that gets copied many times over in every program. The .NET Framework already improves productivity dramatically. Now that we’re expanding the .NET Framework to everything in Windows, we expect to see productivity gains across the board. Beyond managed code, WinFX extends Microsoft’s advances in declarative programming. For example, attribute-based programming, which first surfaced in COM+, is used extensively in WinFX, as is declarative UI markup. Declarative programming will reduce the number of lines of code across all types of development.

3 Next Gen Windows Technology Foundation
Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation 벡터-기반 해상도에 독립적 풍부한 미디어 3D 사용자 인터페이스 안전한 웹 서비스 신뢰할 수 있는 분산 트랜잭션 응용. WS-* 프로토콜을 이용한 상호 연동 다양한 트랜스포트 플랫폼 위에 구성된 엔진 시스템 및 휴먼 워크플로우 애플리케이션 조합 Next generation Windows’ Technology Foundation: Windows Communication Foundation (WCF) Secure, reliable, transacted, interoperable application to application communications Windows Workflow Foundation (WWF) Flexible, dynamic. composite-service applications Windows Presentation Foundation (WPF) Vector-based, resolution independent, rich media, 3D user interface experiences

4 강성재 Developer Evangelist Microsoft

5 WPF(“Avalon”) 비전 UI, 문서, 미디어에 대한 일관된 접근 방식 통합된 벡터 기반의 조합 엔진
개발과 사용자 경험의 일부로 통합 통합된 벡터 기반의 조합 엔진 PC의 능력을 최대한 활용 선언 방식의 프로그래밍 디자이너들도 직접 애플리케이션 개발을 수행 배포의 용이성 더욱 안전하게 애플리케이션을 배포하고 관리 Context: These are the four goals of Avalon – next few slides drill down further on each of them. Building UI, graphics, documents and media into a single environment: providing a richer experience by unifying these together, allowing them to be integrated in a far deeper way than before, and reducing the number of APIs developers have to track by putting things into a single managed object-orientated interface. Rich graphics processors woefully underused by modern applications. 128MB memory, rich 3D capabilities. Avalon takes advantage of these capabilities using a DirectX-based model. Vector- rather than bitmap-based, supports high-dpi, double buffering. Declarative and procedural programming supported for designers and developers to do what they want to do. Need to make it as easy as “clicking on a link” to deploy an Avalon application: either via a browser or via a standalone app.

6 선언 방식의 프로그래밍 윈도우를 위한 Markup 코드와 컨텐츠를 분리 쉽게 개발할 수 있도록 도와주는 다양한 도구
간단한 선언 문장으로 애플리케이션 작성 모든 CLR 개체들을 활용 코드와 컨텐츠를 분리 디자이너와 개발자 사이의 자연스러운 협업 쉽게 개발할 수 있도록 도와주는 다양한 도구 Context: Third Avalon pillar Avalon introduces a new role to the rich client software development team – that of graphical designer. Gone are the days of boring gray buttons and poorly designed applications: with the declarative programming model enabled by XAML, you can split off presentation and logic in the same way as with a web application. XAML is a markup language that is inherently toolable, allowing for designers and developers to use independent tools. From XAML (which stands for "Extensible Application Markup Language") provides an XML-based way to specify declaratively a hierarchy of objects with properties and logic. We're positioning XAML as a user interface design language, because it is ideal for generating the kind of code that traditionally resided in a hidden #region area and was hard to maintain by both developers and tools. If you've ever wanted to edit the auto-generated blocks of code created by Visual Studio but been dissuaded by the warning comments writ large, or you've gone ahead regardless and been burnt badly when your tools refused to load your changes, you'll appreciate XAML. XAML is not Avalon, and Avalon is not XAML. It so happens that they come out of the same team at Microsoft, but they are not intrinsically wedded together. I've been asked before "where can I go to get the XSD for XAML?" and hopefully it's now clear that this question doesn't make much more sense than asking for the C# schema. XAML gets compiled into an object definition. <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100

7 Visual Studio 2005와 Interactive Designer를 이용한 차세대 Windows 애플리케이션 개발 방법
강성재 Developer Evangelist Microsoft

8 Microsoft Presentation Technologies
ASP.NET “Atlas” 쉬운 개발 Windows Presentation Foundation 풍부한 기능과 쉬운 개발을 위해 최적화 풍부한 기능 개발자의 생산성 ASP.NET 2.0 (HTML) Windows Forms 2.0 Win32 DHTML (AJAX) Direct 3D v10 풍부한 기능 Direct 3D v9 이용가능시기: 1997 2005 2006

9

10 생산성 상호운영 서비스-지향 개발 현재의 분산 기술을 통합 어트리뷰트-기반의 개발 Visual Studio 2005와 통합
WS-* 사양을 폭넓게 지원 현재의 MS 분산 애플리케이션 기술과 호환 상호운영 Speaker Notes These are the what we refer to as the three pillars of Indigo. They are the three design goals of Indigo that really sum up what that technology is all about. They’re what we’ll be drilling into for the remainder of this presentation. <click> The first design goal is productivity. When we talk about productivity, we’re talking about bringing together the various technologies available today for building distributed applications (COM+ and .NET Enterprise services, MSMQ, .NET Remoting, ASP.NET Web Services, Web Services Enhancements (WSE)) into a single, unified programming model. Why is this important? First, it reduces complexity by allowing us to focus on a single programming model rather than learn multiple programming models. Second, it allows us to compose/combine the functionality of today’s technologies in ways that we can’t today. Finally, it allows us to use a single programming model for building distributed applications that communicate with one another on a single machine, across multiple machines, and across the Internet. The second design goal is interoperability and integration. We talk about interoperability and integration on two different pivots. First, Indigo enables you to build services that speak advanced Web services protocols (WS-*), enabling your application to communicate with other WS-* compliant services running on other platforms. Second, we built Indigo to provide a smooth upgrade and interop story for your distributed applications built on today’s technologies (WSE, ASMX, .NET Enterprise Services, System.Messaging, .NET Remoting). Why are Interop and Integration important? First, the ability to communicate with applications running on other platforms provides you with the flexibility you need when working in a heterogeneous environment. Second, the ability to communicate with existing applications protects your investments and provides you with an optional, incremental upgrade path to Indigo. The third design goal is all about service orientation. Indigo provides developers with a highly productive programming model for building service-oriented applications. By using Indigo’s attribute-based programming to define your services, you can dramatically reduce the amount of code you write to build secure, reliable services. Indigo also facilitates the development of applications that adhere to the “four tenets of service-orientation” that we’ll drill into later in the presentation. These tenets help ensure that your services are extremely flexible and resilient to change, thereby reducing long-term maintenance costs. Transition to next slide: We’ll spend the rest of this presentation drilling into these 3 concepts. 느슨한 연결의 서비스 형태 개발이 가능 구성-기반의 통신 서비스-지향 개발

11 단일 프로그래밍 모델 다른 플랫폼과의 상호 연동 위치에 무관한 확장성 어트리뷰트-기반의 프로그래밍 메시지-기반의 프로그래밍
ASMX .NET Remoting 다른 플랫폼과의 상호 연동 위치에 무관한 확장성 Speaker Notes Today, when we build distributed applications, we have a choice of programming models. Each programming model has a different set of APIs, different feature sets, and a different core set of scenarios: ASP.NET Web Services (ASMX) – Our current Web services stack provides basic Web services support and interoperability with Web services running on non-Microsoft platforms. Web Services Enhancements (WSE) – A supported extension to the .NET Framework that provides end-to-end standards-based security for Web services. System.Messaging – This namespace in the .NET Framework provides managed APIs to MSMQ, enabling developers to build asynchronous reliable distributed applications. Enterprise Services – Provided through the System.EnterpriseServices namespace in the .NET Framework, Enterprise Services (or “ES”) provides managed APIs to COM+. COM+ provides component-based programming for doing enterprise critical functionality such as transactions. Remoting – Provided through the System.Remoting namespace in the .NET Framework, .NET Remoting exposes the CLR type system remotely and provides location transparency for objects. While these technologies provide a wide range of functionality, they exist in silos – isolated from one another. This creates an impedance mismatch across the technologies hindering our ability as developers to “compose” or combine functionality across them. For example: You want to use .NET Remoting for it's rich extensibility model, but you want a ES-style transaction to flow. How do you do this? You want to use ASMX for its interoperability, but you want to provide direct reliable messaging guarantees. How is this accomplished? Today, scenarios like these that involve the combination of functionality across these technologies are more of a challenge than it should be. They often involve hundreds and sometimes thousands of lines of code to accomplish. With Indigo, the challenges of silo programming models becomes a thing of the past… Indigo provides you with a unified programming model that brings together the best aspects of existing Microsoft technologies. What this means is that, with Indigo, you will no longer need to wonder “which technology do I use (ASMX, Remoting, etc)” when building a connected system. All of the application-to-application and intra-application communication for your connected will be handled by Indigo. This unified programming model is exposed to you through the System.ServiceModel namespace. Since Indigo provides all of the features of these existing Microsoft technologies, Indigo supports all of the scenarios currently supported by these technologies. In addition, Indigo enables new scenarios that are currently not possible or very hard to implement with existing technologies because Indigo allows you to compose functionality across these existing technologies. For example, this means that you’ll be able to achieve secure, reliable, transacted Web services by combining/composing the functionality that previously existed in silos. On a related note, we’re also doing a lot of work to preserve your existing investments in ASMX, ES, and other existing technologies shown on this slide. We do this through a number of mechanisms including the ability to communicate between Indigo services and existing ES-based applications for example. We’ll talk about this more later in the presentation. 어트리뷰트-기반의 프로그래밍 메시지-기반의 프로그래밍 WS-* 프로토콜 지원 Enterprise Services System.Messaging WSE

12 .NET 프로그래밍 언어를 사용하여 Visual Studio 2005에서 서비스를 구축
WCF는 .NET Framework을 확장 .NET 프로그래밍 언어를 사용하여 Visual Studio 2005에서 서비스를 구축 인텔리전트 코드 편집 디버깅 배포 Speaker Notes Since it was first introduced at PDC 2003, Indigo has been referred to as many things: Microsoft’s next generation Web services stack, a pillar of Longhorn, secure reliable transacted Web services, etc. At its most basic level, Indigo is just .NET class libraries packaged up as assemblies – just like the rest of the functionality provided as part of the .NET Framework. In fact, Indigo is an extension to the .NET Framework 2.0 (formerly codenamed “Whidbey”). It doesn’t replace any of the functionality found in the .NET Framework. Rather, it augments it with additional classes that developers can use to more productively build distributed applications. Since Indigo is an extension of the Framework, the development experience for building Indigo services is the same as for building any .NET Framework-based application: Developers using Visual Basic .NET, C#, C++, and J# can all build Indigo services using the Visual Studio 2005 IDE and the language with which they’re already familiar. Of course, the VS IDE isn’t a requirement for building Indigo services (developers can use Notepad or any other editor as long as they have Indigo and the .NET Framework 2.0 installed), but it provides developers with best-in-class designers, an intelligent code editor, debugger, etc. Indigo services will run on Windows XP, Windows Server 2003, and Windows Vista. Indigo will be distributed as part of the WinFX Runtime Components, available on MSDN (other sources such as Windows Update TBD). Indigo’s class libraries have a relatively small footprint. Currently, the assemblies total approximately 6MB on disk. This enables Indigo to go places other technologies for building/integrating applications (such as Enterprise Service Buses or “ESBs”) don’t. Eventually, our goal is to enable Indigo services to run on Windows Mobile-powered devices through support in the .NET Compact Framework.

13 기존의 투자를 보호 기존의 분산 기술과 공존 기존의 기술로 작성된 애플리케이션 과의 자연스러운 상호 연동
ASMX 기존의 분산 기술과 공존 기존의 기술로 작성된 애플리케이션 과의 자연스러운 상호 연동 기존의 코드를 WCF로 업그레이드 ASMX ES WSE3 ASMX

14 서비스 지향으로의 전환 비즈니스 드라이버 기능-중심적 프로세스-중심적 변경을 위한 구축 지속적인 개발 증분 방식의 개발과 배포
늘어나는 개발 사이클 밀접하게 연결 단절된 시스템 프로세스-중심적 변경을 위한 구축 증분 방식의 개발과 배포 느슨한 연결 연결된 시스템 An approach to building connected systems more effectively Sceptical Paranioa! Assume services don’t run on the same platform Assume the network is unreliable and insecure Assume the worst and build accordingly! A Service Oriented Architecture (SOA) is an architecture that follows Service Oriented principles SOA is not a product or technology! For years, developers and organizations have struggled to build software that adapts at the speed of business. Service-oriented development principles help overcome this challenge with architectural best practices for building highly adaptable software. "Indigo" is the first programming model built from the ground up to provide implicit service-oriented application development. This enables developers to build services that are autonomous and can versioned independently of one another, thereby reducing long term upgrade and maintenance costs. For businesses, this facilitates an IT infrastructure that is resilient to inevitable change and easier to manage over time. 비즈니스 드라이버 민첩한 대응 능력 적응성 TCO

15 Vista Beta1 & XP/2003 Server 다운로드
향후 WinFX 일정 WinFX Beta1 2005년 7월 Vista Beta1 & XP/2003 Server 다운로드 WinFX Sept CTP 2005년 9월 Indigo ships as part of Windows Vista. It is also available down-level on Windows XP and Windows Server 2003. Indigo beta 1 shipped in July 2005 and we recently released a Community Technology Preview (CTP) in September. Indigo will ship with Vista in We haven’t announced dates yet for Beta 2 or subsequent CTPs. WinFX 출시! 2006

16 개발자 로드맵 2007 Beta 2006 2005 Context: Position VS, WinFX, Longhorn together. If anyone asks, the locations of the individual graphics within a year don’t have much significance: there’s just not much room on the slide to fit the graphics in  These are some of the key milestones you can expect to see. Visual Studio 2005 will ship in the middle of 2005, and you can expect to see a Longhorn beta at around the same time. WinFX is being developed in tandem with Longhorn and will ship for existing Windows releases at the same time as Longhorn both in beta and in final form. WinFS will be available in beta by the time that Longhorn ships.

17 © 2003-2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "마이크로소프트 차세대 플랫폼 전략과 비전 유상용 IT Advisor/부장 한국마이크로소프트."

Similar presentations


Ads by Google