PDC Конференция в LA в сентябре 2005 Все материалы доступны свободно downloads.aspx downloads.aspx Доступны звук и видео! Бесплатно на 6 месяцев
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Проблема: Data != Objects
The LINQ Project Standard Query Operators Объекты DLinq (ADO.NET) XLinq(System.Xml) XML.NET Language Integrated Query C#VB Другие… SQLWinFS
DLinq для реляционных БД SqlConnection c = new SqlConnection(…); c.Open(); SqlCommand cmd = new c.Name, c.Name, c.Phone FROM Customers c FROM Customers c WHERE c.City WHERE c.City "London); DataReader dr = c.Execute(cmd); 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(); Как это делается сейчас Запросы в строках Слабо связанные аргументы Слабо связанные результаты Никаких проверок компиляции
public class Customer { … } public class Northwind: DataContext { public Table Customers; public Table Customers; …} Northwind db = new Northwind(…); var contacts = from c in db.Customers from c in db.Customers where c.City == "London" where c.City == "London" select new { c.Name, c.Phone }; select new { c.Name, c.Phone }; DLinq для реляционных БД Доступ к данным через DLinq Классы описывают данные Типизированное соединение Интегрированный язык запросов Типизированные результаты Таблицы – как коллекции
DLinq для реляционных БД Язык запросов интегрирован Таблицы и строки = классы и объекты Построен на ADO.NET.NET транзакциях Соответствие Зашито в атрибуты Связи через свойства Сохранение Отслеживание изменений Изменения через SQL или процедуры
Архитектура Запрос LINQ Объекты SubmitChanges() Запрос SQL Строки SQL или ХП DLinq (ADO.NET) SQLServer from c in db.Customers where c.City == "London" select new { c.Name, c.Phone } select Name, Phone from customers where city = 'London' Приложение Возможности: - Отслеживание изменений - Параллельный доступ - Идентификация объектов
XLinq для XML XmlDocument doc = new XmlDocument(); XmlElement contacts = doc.CreateElement("contacts"); foreach (Customer c in customers) if (c.Country == "USA") { if (c.Country == "USA") { XmlElement e = doc.CreateElement("contact"); XmlElement e = doc.CreateElement("contact"); XmlElement name = doc.CreateElement("name"); XmlElement name = doc.CreateElement("name"); name.InnerText = c.CompanyName; name.InnerText = c.CompanyName; e.AppendChild(name); e.AppendChild(name); XmlElement phone = doc.CreateElement("phone"); XmlElement phone = doc.CreateElement("phone"); phone.InnerText = c.Phone; phone.InnerText = c.Phone; e.AppendChild(phone); e.AppendChild(phone); contacts.AppendChild(e); contacts.AppendChild(e); }doc.AppendChild(contacts); Работа с XML сегодня Great Lakes Food Great Lakes Food (503) (503) … Императивно Основана на документах Нет интегрированных запросов Нагрузка на память
XLinq для XML XElement contacts = new XElement("contacts", from c in customers from c in customers where c.Country == "USA" where c.Country == "USA" select new XElement("contact", select new XElement("contact", new XElement("name", c.CompanyName), new XElement("name", c.CompanyName), new XElement("phone", c.Phone) new XElement("phone", c.Phone) )); Работа с XML в XLinq Декларативная модель Основана на элементах Интегрированные запросы Меньше и быстрее
XLinq для XML Работа с XML интегрирована с языком программирования Использует XPath / XQuery Но в C# или VB Принципы DOM Основа на элементах, а не документах Функциональное конструирование Быстрее и меньше
Ссылки Сайт проекта LINQ uture/linq/ uture/linq/
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Microsoft® Expression …иллюстраций, рисования, редактирования графики, эффектов Graphic Designer …создания мощных приложений (на WPF) Interactive Designer …HTML - интерфейса Web Designer Профессиональный инструмент для…
Ссылки Сайт Expression sion/en/default.aspx sion/en/default.aspx
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Innovate Explore Organize Унификация Идея WinFS Enabling richer data types to cover all the users data Beyond islands of data and the data partitioning cycle Folders arent enough, organize information how you think about it Modeling richer information models Move beyond tagging and searching Leverage the strength of query processor Model data naturally, leverage data organization across apps A Windows desktop data platform that apps can use directly Built for todays smart connected client scenarios
ADO.NET WinFS Item Data Model Query Services File Services Metadata Handlers,… Operations Backup, AV,… ItemAssociationExtension Schemas TasksMedia Docs… Sync Adapters, … Peopl File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Update Logic DLinq Унифицированный API Поддержка ADO.NET – запросы, обновления, логика, LINQ, … А также файловая система! Семантика ФС, Безопасность, Управление, Обратная совместимость с Win32 Поддержка Backup/Restore, … Синхронизация Multi-master Sync Структурированное хранилище Files & Folders Items & Associations Интеграция существующего Унифицированный API Поддержка ADO.NET – запросы, обновления, логика, LINQ, … А также файловая система! Семантика ФС, Безопасность, Управление, Обратная совместимость с Win32 Поддержка Backup/Restore, … Синхронизация Multi-master Sync Структурированное хранилище Files & Folders Items & Associations Интеграция существующего Что такое WinFS? File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Database Engine NTFSCLR
ADO.NET WinFS Item Data Model Query Services File Services Metadata Handlers,… Operations Backup, AV,… ItemAssociationExtension Schemas TasksMedia Docs… Sync Adapters, … Peopl File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Update Logic DLinq File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Database Engine NTFSCLR WinFS для разработчиков 1 2 Использование возможностей хранилища Интеграция приложений через хранилище 3 Возможности синхронизации и обработчиков событий 1 2 3
Ссылки Сайт WinFS Блог команды WinFS
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Windows Workflow Foundation Ключевые идеи Host Process Windows Workflow Foundation Runtime Engine A Workflow An Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Графическое представление и представление в коде Workflows - набор Activities Workflows выполняется в Host Process: любое приложение или сервер Разработчики могут создавать Custom Activity Libraries Компоненты Base Activity Library: Готовый набор Activities Runtime Engine: Выполнение и управление состоянием Runtime Services: Гибкость в хостинге и коммуникациях
Основы WWF В виде класса А также в виде XML Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class …
Ссылки Сайт WWF Сайт сообщества WWF
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Технологии построения UI DHTMLWin32Direct 3D ASP.NET Atlas Windows Forms Windows Presentation FoundationWPF/E
Архитектура Atlas ASP.NET Atlas Server Extensions Atlas Server Controls Atlas Server Controls App Services Bridge Web Services Bridge Atlas Server Framework Atlas Client Framework and Services Atlas Client Script Library Controls, Components Script Core Base Class Library Component Model and UI Framework Browser Compatibility ASP.NET 2.0 Application Services Page Framework, Server Controls Page Framework, Server Controls Atlas-enabled ASP.NET Pages Atlas-enabled Web Services (ASMX or WCF) Web Services (ASMX or WCF) HTML, Script, AtlasMarkup AtlasMarkupAtlasServiceProxiesAtlasServiceProxies
WPF/E Стратегия WPF/E – подмножество WPF, работающее ВЕЗДЕ (Windows, Macintosh, Devices, и т.д.) Фокус на возможностях, а также на доступности Реализация Подмножество включает vector, image, video, animation, text, controls Не включено: 3D, Adaptive Documents, Extensibility, Hardware Acceleration Нет компиляции – WPF XAML+JScript Поддержка ActiveX и Plug-ins для хостинга в браузерах
Ссылки Atlas Windows Presentation Foundation xperience/ xperience/
Что было анонсировано на PDC LINQ Project Инструменты Expression WinFS Windows Workflow Foundation WPFAtlas Visual Studio Tools For Applications
Visual Studio Tools for Applications Возможность встроить в свое приложение Visual Studio Аналог VBA Распространение среды разработки и выполнения со своим приложением VSTO 'v3' планируется строить на VSTA
Ссылки Сайт Microsoft Visual Studio 2005 Tools for Applications vsta/default.aspx vsta/default.aspx Microsoft Visual Studio Tools for Applications - Fact Sheet /5/9/75982A91-96CF-47E8-A2A8- 30BDA4DFB564/VSTAFS.doc /5/9/75982A91-96CF-47E8-A2A8- 30BDA4DFB564/VSTAFS.doc
Вопросы Александр Ложечкин
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.