DevCon12 // msdevcon.ru #msdevcon 23-24 мая, 2012 г. Microsoft.

Презентация:



Advertisements
Похожие презентации
Андрей Слепицкий Архитектор бизнес-решений Microsoft AR210.
Advertisements

SQL Server + RP Server Платформа для сверхбыстрой разработки SQL-приложений Владимир Авсеев Главный конструктор, Реляционное программирование.
Эволюция бизнес-систем Поставляемые модули Назначение ETNI Преимущества Требования заказчиков Область применения Проблемы предприятий.
Эффективная разработка отчётов на платформе.NET Александр Федяшов Fast Reports Inc.
.NET ModelKit Suite выпускается в следующих редакциях: 1) 2) 3) 4)
SQL 2012 И ГИБКИЕ МЕТОДЫ КОМАНДНОЙ РАЗРАБОТКИ C TFS Добро пожаловать в команду! Alexander Yakovlev
Microsoft ® Visual Basic ®.NET 2003 Быстрые решения для Microsoft ® Windows ® и веб-разработки.
Основы программирования в решениях Docsvision 5 Евгений Колесников Docsvision
Трехслойная архитектура приложений, основанных на использовании баз данных.
Конференция «Платформа 2011» Онлайн-выставка решений партнеров.
MCP-клуб Белгород Роман Гонтарь Технический директор Группа компаний Денекси.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
Инструменты Visual Studio для контроля качества и безопасности кода MSSD-3 Александр Яковлев, Microsoft.
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Microsoft TechDays Аркадий Золотовицкий Директор по производству I-Sys (Интеллектуальные системы)
TEKTON-Matrix Платформа для распределённых приложений.
.NET ModelKit Suite – это набор высококлассных программных компонентов, специально разработанных для платформы.NET, предназначенных для обработки, анализа.
TopS BI: Опыт использования InfoPath Май, 2006 г..
Эффективность в каждом решении Управление разработкой Корпоративного портала: как грамотно выстроить работу с подрядчиком.
Транксрипт:

DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft

// DevCon12 Как повысить эффективность разработки корпоративных бизнес-приложений c eXpressApp Framework Денис Гаравский | Team, DevExpress

#msdevcon Developer Express из России??! И что еще за XAF?????? Перед тем как начать…

Developer Express – это … Визуальные компоненты VCL,.NET (Windows Forms, ASP.NET Web Forms, ASP.NET MVC, WPF, Silverlight) Различные виды редакторов, списков и таблиц, графики и отчеты, календари и планировщики, элементы навигации, меню и многое другое Расширения IDE CodeRush, !Refactor, App Framework & ORM eXpress Persistent Objects (XPO) eXpressApp Framework (XAF) Инструменты для разработчиков с 1998 г.

Варианты разработки корпоративных бизнес- приложений Что-то среднее между ними Покупка и настройка готового программного продукта Создание всего программного обеспечения «с нуля» Вы можете заказать написание всего ПО «с нуля» у независимой компании-разработчика или привлечь для этого свой собственный ИТ-отдел Вы можете купить готовый продукт на базе Microsoft Dynamics или 1С и поручить его настройку консультантам. Скорее всего не придется писать код. Разработчикам еще нужно писать код, но большая часть функциональности уже идет « из коробки », с возможностью полной замены или гибкой настройки.

Создание всего программного обеспечения «с нуля» - Масса времени и $$$ на рутинные задачи, тестирование и сопровождение - Высокий уровень знаний разработчиков + Любая сложность под любые нужды клиента + Полный контроль за разработанным ПО

Покупка и настройка готового программного продукта - Масса времени и $$$ на изучение скриптов настройки или использование консультантов - Типовой пользовательский интерфейс, трудно настраиваемый под нетиповые задачи + Нет проблем с качеством, так как готовые продукты обычно уже протестированы + Скорее всего не придется программировать

Использование eXpressApp Framework (XAF) Набор шаблонных решений популярных бизнес задач Быстрый старт и низкий порог вхождения Автоматическое создание Desktop и Web интерфейсов Дает возможность сфокусироваться на бизнес логике Не ограничивает и всегда позволяет «копнуть глубже» Разработка «с нуля» XAF Настройка готового ПО

Создаем приложения для управления задачами с eXpressApp Framework Демонстрация

Корпорация «Галактика» ( использует платформу XAFARI на базе XAF для решений по управлению бюджетами, активами, производством и персоналом предприятия А что-нибудь посложнее CRUD-форм?

е-библиотека (автор, книга, читатель) 0.5 часа Outlook (контакты, задачи, календарь и др.) 1 час CRM приложение (с отчетами) 1 день Работа с XAF не требует обширных знаний 1 разработчик c XAF ~ N разработчиков без XAF 1 годовая лицензия XAF 1 месячная ЗП Насколько XAF может быть эффективен?

Архитектура Схема XAF приложения (MVC) Распределенные XAF приложения (N- Tier)

Объектно-ориентированное управление данными Зрелый XPO ORM для доступа к данным и бизнес логики Поддержка более чем 15ти популярных RDBMS Стандартные и новые подходы для создания бизнес моделей: Code-First Database-First Model-First UI-First – одновременное построение бизнес моделей и настройка экранов пользовательского интерфейса Domain Components (DC) – технология, облегчающая создание повторно используемых бизнес моделей Поддержка Entity Framework с версии 12.1 (выходит в июне)

#msdevcon Создаем бизнес модели и настраиваем UI в одно и то же время! UI-First Демонстрация

Domain Components (DC) - принцип трех I I nterface vs Сlass Легкое комбинирование за счет «множественного наследования» I ndependence from ORM Простое тестирование и сопровождение I nversion of Control (IoC) Бизнес логика добавляется через Dependency Injection Компоновка в объекты выбранной ORM происходит runtime

Примеры Domain Components Производный Domain Component Интерфейс IPerson Интерфейс IAccount Класс логики IPerson Класс логики IAccount Интерфейс ICompany Класс логики ICompany [DomainComponent] public interface IAccount { [RuleRequiredField, RuleUniqueValue] string { get; set; } [FieldSize(25)] [ImmediatePostData] [Appearance("Len(Password) < 6", FontColor = Color.Red)] string Password { get; set; } } [DomainComponent, ImageName("BO_Person")] public interface IPerson { string LastName { get; set; } string FirstName { get; set; } string FullName { get; } DateTime Birthday { get; set; } } [DomainLogic(typeof(IPerson))] public class PersonLogic { public static string Get_FullName(IPerson self) { return string.Format("{0} {1}", self.FirstName, self.LastName); } [DomainComponent] public interface ICompany { [RuleRequiredField] string Name { get; set; } [Aggregated] IList Staff { get; } [DataSourceProperty("Staff")] [RuleRequiredField(TargetCriteria = "Staff.Count > 0")] [Appearance("Staff.Count = 0", BackColor = Color.Yellow)] IPerson Manager { get; set; } } [DomainComponent] interface ICRMCustomer : IAccount, ICompany, INotes, IPhones,...,... {}

Динамическая мета модель пользовательского интерфейса приложения XAFML - это аналог XAML Позволяет настроить UI для двух платформ Упрощает развертывание благодаря возможностям широкой настройки в runtime Использование DC для расширения мета модели

Автоматическое создание пользовательского интерфейса Готовые Desktop и Web клиенты с CRUD формами, меню, навигацией и т.п. на базе бизнес моделей Представления бизнес моделей и их полей зависят от типа UI автоматически подстраивается под любые изменения модели

Модульность Использовать модули «из коробки» Создавать свои собственные модули Настроить, расширить или заменить любые запчасти модулей Создать модуль, использующий одну базу кода для нескольких платформ! Разрабатывая с eXpressApp Framework, вы «играете» в конструктор, где можно:

Богатый набор модулей «из коробки» Создание и печать отчетов Анализ и аудит данных Система безопасности Управление бизнес процессами Контроль ввода данных Форматирование данных Локализация и многое другое Также в наличии бесплатные 3 rd -party модули

Хорошая интеграция в среду разработки Visual Studio

Широкие возможности настройки приложения в runtime Настройка внешнего вида, команд, меню и навигации Настройка расположения, контроля данных, правил доступности, форматирования и полей на формах Управление пользователями и правами доступа Управление бизнес процессами Создание отчетов для печати и анализа Создание информационных досок и многое другое

Легкое тестирования созданных приложений TDD-friendly за счет слабосвязанных функциональных блоков Unit Test Runner инструмент для централизованного запуска и управления тестами Easy Test инструмент для функционального тестирования приложений Easy Test Script Recorder создание теста на базе действий пользователя в приложении public class Order : XPObject { public Order(Session session) : base(session) { } public decimal UnitPrice; public int Qty; public double Discount; public decimal ExtendedPrice { get { return UnitPrice * (decimal) ((1 - Discount) * Qty); } [Test] public void TestExtendedPrice() { IDataStore ds = new InMemoryDataStore( AutoCreateOption.DatabaseAndSchema ); IDataLayer dal = new SimpleDataLayer(ds); using (UnitOfWork uow = new UnitOfWork(dal)) { Order order = new Order(uow) { UnitPrice = 50m, Qty = 5, Discount = 0.5d }; uow.CommitChanges(); Assert.AreEqual(125m, order.ExtendedPrice); }

КАК ПОВЫСИТЬ ЭФФЕКТИВНОСТЬ РАЗРАБОТКИ КОРПОРАТИВНЫХ БИЗНЕС-ПРИЛОЖЕНИЙ С E X PRESS A PP F RAMEWORK Жду вас в зоне « Спроси эксперта »! :):) Вопросы

Полезная информация Сайт разработчика: Страница XAF: XAF на Хабре: Мой Ждем вас на стенде DevExpress для дальнейшего общения и розыгрыша призов!

Пожалуйста Оцените доклад и мастерство докладчика. Форма для оценки находится в вашем инфопакете.