Архитектура интерактивных бизнес- приложений Microsoft Михаил Черномордиков
Платформа 2010Эксперимент!
Платформа 2010 Содержание доклада Почему важна интерактивность Rich Business Applications Подходы и технологии.NET RIA Services и Silverlight Windows Presentation Foundation (WPF) Office Business Applications (OBA) Microsoft Sharepoint Обсуждение
Платформа 2010
Платформа 2010
Платформа 2010
Платформа 2010 A line-of-business application is one of the set of critical computer applications that are vital to running an enterprise – Wikipedia
Платформа 2010 У нас нет дизайнера У нас нет нет на это бюджета Работникам не важен внешний вид Работает – не трогай Возврат инвестиций
Платформа 2010 Design matters. But design is not about decoration or about ornamentation. Design is about making communication as easy and clear for the viewer as possible. – Garr Reynolds
Платформа 2010 Самое популярное бизнес-приложение?
Платформа С: Предприятие
Платформа С: Предприятие
Платформа 2010 Интерактивные бизнес-приложения
Платформа 2010 Бизнес уже в RIA
Платформа 2010 Технологический выбор Настольный клиент Классическое Windows-приложение Windows Presentation Foundation Офисное приложение Office Business Application Интернет-решение Корпоративный портал Microsoft Sharepoint Интерактивное Интернет-приложение Silverlight и.NET RIA Services
Платформа 2010 Windows Presentation Foundation Полное абстрагирование визуализации от поведенческой модели Декларативная визуализация с инструментированием (вовлечение дизайнера) Векторная отрисовка с аппаратным ускорением через DirectX Бесшовная интеграция с DirectX WinForms inerop Интеграция с XNA (будущее) Работа через Browser IE и FireFox Hardware Rendering & Composition Rich Media VectorRaster Text 3D Video Custom Look & Feel Windows Form Factors WPF и.NET Framework
Платформа 2010 AutoCad 2009Visual Studio 2010 Microsoft Dynamics Microsoft Surface Примеры использования WPF
Платформа 2010 Бизнес-приложения на WPF
Платформа 2010 Выводы - WPF Вся мощь платформы Windows и.NET Богатые возможности по Визуализации И работе с данными Зрелая платформа – смотрите доклад по WPF 4.0 Используется многими компаниями Ограничение – Windows с.NET Framework
Платформа 2010 Только 4% корпоративных знаний хранится в бизнес-приложениях. Компания стоимостью $1 миллиард в среднем использует 48 разрозненных финансовых систем и 2.7 ERP системы (Hackett Group) «Индивидуальные сотрудники владеют ключевыми знаниями и большинство этих знаний теряется в случае ухода из компании- Gartner»
Платформа 2010 Что такое OBA OBA: Приложение которое интегрировано с Office клиентом или SharePoint и внешней системой
Платформа 2010 Выгода для пользователей Быстрые результаты Знакомый интерфейс Возврат инвестиций в системы Автоматизация сложных процессов
Платформа 2010 Выгода для разработчиков OBA предоставляет разработчикам рецепты быстрой разработки, сервисной и серверной интеграции и расширения офисных клиентов Разработка дополнений к интерфейсу Сервисы соединения с данными Сервисы Access, Excel & Word Open XML VSTO Гибкая объектная модель Поддержка стандартов WS*
Платформа 2010 OBA: Архитектура ASMX SharePoint SilverlightВебчасть Внешний список Office Open XMLАддон Умный документ WCFBCS SQL
Платформа 2010 Пример сценария «Заявка в службу поддержки»
Платформа 2010
Платформа 2010
Платформа 2010
Платформа 2010
Платформа 2010
Платформа 2010
Платформа 2010
Платформа 2010 Выводы - OBA Готовый функционал руками Microsoft 40-65% людей уже там Мощь платформы в дополнение к привычному интерфейсу Разные типы приложений Ограничения Наличие Microsoft Office на клиенте
Платформа 2010 SharePoint – платформа для результативной работы ОрганизацияДепартаментГруппа SharePoint Platform Свобода действий Количество пользователей Библиотека инструкций и процедур Панель вызова отчетов BI Интерфейс SAP R/3 Управление знаниями Внешний вебсайт организации MySiteMySite Команда разработки Потал отдела продаж Порталы сотрудников Extranet Collaboration Site Проект Z Портал дочерней компании Группа X Единая платформа для результативной работы: - Взаимодействие с пользователем - Богатые интегрированнеые функции - Инструменты и разработка - Внедрение и администрирование Единая платформа для результативной работы: - Взаимодействие с пользователем - Богатые интегрированнеые функции - Инструменты и разработка - Внедрение и администрирование
Платформа 2010 Четыре столпа SharePoint 2010
Платформа 2010 Платформа для взаимодействия Взаимодействие с пользователем Платформа для взаимодействия БраузерБраузер Клиентские приложения Office Мобильная платформа Привычный интерфейс с поддержкой расширений ленты инструментов (ribbon) Работает с Internet Explorer и Firefox, поддержка AJAX и Silverlight Веб-приложения Office Мультиязычный интерфейс пользователя SharePoint Workspace – функционально насыщенный клиент для SharePoint Client. Работа с данными SharePoint в режиме оффлайн Расширения ленты инструментов для операций, не представленных в OutSpaces Легкий и безопасный доступ к сайтам SharePoint Просмотр и действия с контентом, хранимым в SharePoint
Платформа 2010 Взаимодействие с пользователем Браузер Контекстная лента меню SharePoint
Платформа 2010 Браузер: Мультиязычность Взаимодействие с пользователем Браузер: Мультиязычность Переключатель языка
Платформа 2010 Браузер: Мультиязычность Взаимодействие с пользователем Браузер: Мультиязычность
Платформа 2010 Веб-версии Office Word, Excel, PowerPoint, OneNote Высококачественное отображение Привычный и быстрый интерфейс Сохраняет изменения данных и форматирвоании Веб-версии Office Word, Excel, PowerPoint, OneNote Высококачественное отображение Привычный и быстрый интерфейс Сохраняет изменения данных и форматирвоании Браузер: доступ повсюду с веб-приложениями Office Взаимодействие с пользователем Браузер: доступ повсюду с веб-приложениями Office Правка Просмотр
Платформа 2010 Клиентские приложения Office Взаимодействие с пользователем Клиентские приложения Office Доступ в OutSpace по клику Доступ в OutSpace по клику
Платформа 2010 Обмен и взаимодействие Права на редактирование Связанный контент Клиентские приложения Office Взаимодействие с пользователем Клиентские приложения Office
Платформа 2010 Клиентские приложения Office Взаимодействие с пользователем Клиентские приложения Office
Платформа 2010 Возможности Office Mobile Взаимодействие с пользователем Возможности Office Mobile Перемещение по библиотекам и спискам SharePoint оффлайн доступ и работа с маршрутами Редактирование и комментирование Встроенная функциональность presence с возможностью VoIP, , IM SmartArt ® и высококачественная графика
Платформа 2010 Выводы - Sharepoint Быстрорастущая платформа для бизнес- приложений Доступ через браузер Интеграция с платформой.NET Ограничения Большая серверная часть Sharepoint 2010 еще не вышел Sharepoint 2007 – меньший фокус на RIA
Платформа 2010
Платформа 2010 Бизнес уже в RIA
Платформа 2010 Дизайнеры и разработчики: говорят на одном языке Взаимодействие дизайнер-разработчик Дизайнеры создают дизайнРазработчики добавляют бизнес-логику дизайнерразработчик
Платформа 2010Прототипирование
Платформа 2010 Работа с диаграммами Silverlight Toolkit Готовый набор компонентов от Microsoft Доступен в исходных кодах
Платформа 2010 Компоненты от партнеров Telerik
Платформа 2010 Компоненты от партнеров Infragistics
Платформа 2010 SQL Server Reporting Services
Платформа 2010.NET RIA Services Упрощение разработки RIA-приложений Многозвенность сложна и неестественна Фокус на data-driven приложениях Привнесение эффективности создания ASP.NET-решений в RIA-разработку Готовые блоки для работы с данными, системы безопасности и т.д. Фокус на сценариях
Платформа 2010ApplicationApplicationBrowserBrowser Rich Internet Application БД СервисСервис Другие приложения Унификация клиента и сервера Клиент – расширение сервера Единое логически приложение Слой доступа к данным Бизнес логика СлужбыСлужбы HTML Слой презентации Сеть
Платформа 2010 A Prescriptive Pattern Rich Internet Application БД СервисыСервисы Уровень доступа к данным Бизнес логика Уровень презентации Сеть DomainService Stateless CRUD + App Logic class PlateViewDomainService IQueryable Get Restaurants () IQueryable Search Restaurant (string) void Add Restaurant ( Restaurant ) Validation and authorization rules, Application workflows, … Data Model class Book DomainContext Stateful view + Bindable Data class PlateViewDomainService EntityList Books { get } EntityQuery Get Restaurant Query() EntityQuery Search Restaurant Query(string) class Restaurant Data members + Validation Модель данных + Метаданные + Общий код Domain Context DataService Under the covers infrastructure
Платформа 2010 Ключевые блоки на клиенте Пользовательский интерфейс Навигация Работа с данными Валидация данных Аутентификация Интеграция
Платформа 2010 Единый подход для масштабирования Поддержка разных презентаций и данных Бизнес логика Databases ADO.NET, ORMs (LTS, EF, …) CLR Lists/Objects Repository (nHibernate, …) Services REST/SOAP (Azure, …) SOAP, XML, JSON, Binary.NET Clients Silverlight, WPF Standards Clients JavaScript Server Rendering HTML, SEO, Printing, … Services WCF Unit Test Code
Платформа 2010 Доступ к Sharepoint из Silverlight Client Object Model ADO.NET Data Services (доступ к спискам через REST) Вызов SharePoint web services API Передача данных на HTML- страницу Вызов специального веб- сервиса
Платформа 2010 Silverlight SharePoint Доступ к данным Визуализация Интеграция с клиентом Логика Безопасность Модель
Платформа 2010 OBA на Silverlight
Платформа 2010 OBA на Silverlight
Платформа 2010 OBA на Silverlight
Платформа 2010 Выводы - Silverlight Специальная платформа для RIA- разработки Мощные возможности по интерактивности.NET RIA Services уже с Go-Live Интеграция с Office, Sharepoint, общий код с WPF Ограничения Работа на клиенте Наличие Silverlight (4 Мб)
Платформа 2010 Содержание доклада Почему важна интерактивность Rich Business Applications Подходы и технологии.NET RIA Services и Silverlight Windows Presentation Foundation (WPF) Office Business Applications (OBA) Microsoft Sharepoint Обсуждение
Вопросы? Михаил Черномордиков Эксперт по Архитектуре ИС