Разработка любой крупной системы сопряжена со множеством трудностей, особенно когда система должна целиком функционировать в базе данных. А из-за невозможности создавать и поддерживать стандартные конструкции для проверки бизнес-правил, обработки исключений, логирования ошибочных данных разрабатываемые системы получаются еще и отнюдь не простыми в сопровождении.
В докладе будет представлено решение, основанное на совмещении рукописного кода и сгенерированных стандартных конструкций, поддерживающее разработку в подходе Model First и автоматизированное распространение изменений в структуру базы данных и хранимые процедуры. Реализация описанного подхода будет продемонстрирована на связке Enterprise Architect и T4-шаблонов кодогенерации.
О проектировании дизайн-систем от разработчика интерфейсов. Что такое композиции компонентов и с чего стоит начинать строить свою систему, чем плохи и хороши имеющиеся на рынке решения и почему их точно нельзя использовать. Все то как передать бренд через интерфейсы в CSS с параноидальным переиспользованием кода. Дизайнерские и разработческие сетки, высокоуровневое проектирование интерфейсов с ориентацией на решение задач. Верстка и дизайн уровня «бог». Живые примеры, годы работы, инсайды, вот это вот всё.
О проектировании дизайн-систем от разработчика интерфейсов. Что такое композиции компонентов и с чего стоит начинать строить свою систему, чем плохи и хороши имеющиеся на рынке решения и почему их точно нельзя использовать. Все то как передать бренд через интерфейсы в CSS с параноидальным переиспользованием кода. Дизайнерские и разработческие сетки, высокоуровневое проектирование интерфейсов с ориентацией на решение задач. Верстка и дизайн уровня «бог». Живые примеры, годы работы, инсайды, вот это вот всё.
Практика использования Vertex - как выбор программного обеспечения Vertex влияет на бизнес процесс нового или растущего ЛСТК предприятия вцелом - от маркетинга и продаж до производства и управления персоналом.
Семинар Центра компетенции компании КРОК «Построение единой информационной среды как средство поддержания стабильности бизнеса в условиях кризиса».
Подробнее о мероприятии http://www.croc.ru/action/detail/1602/
Презентация Плаунова Сергея, руководителя BPM- и ECM-проектов компании КРОК
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
http://techtalks.nsu.ru
20 февраля 2013. Рассказ о разных профессиях в IT-индустрии, или почему не все выпускники IT-специальностей пишут код (Семён Факторович, Noveo)
«Семен Факторович (Noveo, Новосибирск) рассказывает о разных профессиях в IT-индустрии и о вариантах карьерного роста IT-специалиста»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Ontico
РИТ++ 2017, Web-scale IT Сonference
Зал Владивосток, 6 июня, 17:00
Тезисы:
http://webscaleconf.ru/2017/abstracts/2553.html
Платформа виртуализации данных на основе Tarantool - система, созданная в Mail.Ru Group в прошлом году. Cовместно с АТ Consulting было создано и запущено в production решение для хранения 100 млн. профилей абонентов компании Beeline, выдерживающее значительные нагрузки.
...
Платформа DocTrix является конструктором для автоматизации бизнес-задач различной степени сложности. В неё включены более ста компонентов, которые превращают SharePoint в удобную ECM систему, изменять и развивать которую можно без привлечения разработчиков. Технологической основой DocTrix являются продукты Microsoft SharePoint и Nintex Workflow.
DocTrix Platform включает в себя:
- Создание бизнес-объектов и связей между ними, что позволяет наиболее точно отразить любую предметную область.
- Моделирование организационной структуры, благодаря чему можно автоматизировать бизнес-процессы с учетом распределения ответственности и полномочий внутри компании.
- Более ста разработанных компонентов, которые значительно упрощают использование SharePoint как для профессионалов ИТ, так и для пользователей
На платформе DocTrix реализованы несколько тиражируемых решений, которые содержат готовую реализацию основных процессов и сопровождаются документацией для начала работы:
- DocTrix DocFlow - система электронного документооборота;
- DocTrix Portal - корпоративный портал;
- DocTrix Service Desk - система автоматизации работы службы технической поддержки по методологии ITIL.
Модульный принцип платформы DocTrix и широкие возможности по её настройке позволяют с одинаковой эффективностью автоматизировать процессы как крупных государственных и холдинговых структур, так и небольших коммерческих компаний.
Мы с вами узнаем, как предполагается использовать TPL Dataflow, рассмотрим плюсы и минусы его внедрения, а так же и особенности использования и настройки под конкретную задачу
Пользователи ожидают обновление данных в реальном времени. Твиты должны появляться без задержек. Заказы должны быть подтверждены и обработаны мгновенно. Приложения должны быть отзывчивыми. Мы, как разработчики, не хотим блокировать потоки в ожидании результатов. Мы хотим чтобы результаты были переданы нам как только будут готовы. Более того - при работе с коллекциями данных каждый отдельный объект должен быть передан сразу как будет готов. У нас есть инструменты для создания уведомлений, это легко. Нам нужны удобные инструменты для реакции на оповещения.
Из доклада вы узнаете как создавать удобные, отзывчивые и тестируемые приложения при помощи Reactive Extensions, как многократно сократить код обработки событий, а также как совместить существующий код на основе событий с данным фреймворком
More Related Content
Similar to Практика применения Enterprise Architect и T4-шаблонов для разработки системы на Microsoft SQL Server
Практика использования Vertex - как выбор программного обеспечения Vertex влияет на бизнес процесс нового или растущего ЛСТК предприятия вцелом - от маркетинга и продаж до производства и управления персоналом.
Семинар Центра компетенции компании КРОК «Построение единой информационной среды как средство поддержания стабильности бизнеса в условиях кризиса».
Подробнее о мероприятии http://www.croc.ru/action/detail/1602/
Презентация Плаунова Сергея, руководителя BPM- и ECM-проектов компании КРОК
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
http://techtalks.nsu.ru
20 февраля 2013. Рассказ о разных профессиях в IT-индустрии, или почему не все выпускники IT-специальностей пишут код (Семён Факторович, Noveo)
«Семен Факторович (Noveo, Новосибирск) рассказывает о разных профессиях в IT-индустрии и о вариантах карьерного роста IT-специалиста»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Ontico
РИТ++ 2017, Web-scale IT Сonference
Зал Владивосток, 6 июня, 17:00
Тезисы:
http://webscaleconf.ru/2017/abstracts/2553.html
Платформа виртуализации данных на основе Tarantool - система, созданная в Mail.Ru Group в прошлом году. Cовместно с АТ Consulting было создано и запущено в production решение для хранения 100 млн. профилей абонентов компании Beeline, выдерживающее значительные нагрузки.
...
Платформа DocTrix является конструктором для автоматизации бизнес-задач различной степени сложности. В неё включены более ста компонентов, которые превращают SharePoint в удобную ECM систему, изменять и развивать которую можно без привлечения разработчиков. Технологической основой DocTrix являются продукты Microsoft SharePoint и Nintex Workflow.
DocTrix Platform включает в себя:
- Создание бизнес-объектов и связей между ними, что позволяет наиболее точно отразить любую предметную область.
- Моделирование организационной структуры, благодаря чему можно автоматизировать бизнес-процессы с учетом распределения ответственности и полномочий внутри компании.
- Более ста разработанных компонентов, которые значительно упрощают использование SharePoint как для профессионалов ИТ, так и для пользователей
На платформе DocTrix реализованы несколько тиражируемых решений, которые содержат готовую реализацию основных процессов и сопровождаются документацией для начала работы:
- DocTrix DocFlow - система электронного документооборота;
- DocTrix Portal - корпоративный портал;
- DocTrix Service Desk - система автоматизации работы службы технической поддержки по методологии ITIL.
Модульный принцип платформы DocTrix и широкие возможности по её настройке позволяют с одинаковой эффективностью автоматизировать процессы как крупных государственных и холдинговых структур, так и небольших коммерческих компаний.
Мы с вами узнаем, как предполагается использовать TPL Dataflow, рассмотрим плюсы и минусы его внедрения, а так же и особенности использования и настройки под конкретную задачу
Пользователи ожидают обновление данных в реальном времени. Твиты должны появляться без задержек. Заказы должны быть подтверждены и обработаны мгновенно. Приложения должны быть отзывчивыми. Мы, как разработчики, не хотим блокировать потоки в ожидании результатов. Мы хотим чтобы результаты были переданы нам как только будут готовы. Более того - при работе с коллекциями данных каждый отдельный объект должен быть передан сразу как будет готов. У нас есть инструменты для создания уведомлений, это легко. Нам нужны удобные инструменты для реакции на оповещения.
Из доклада вы узнаете как создавать удобные, отзывчивые и тестируемые приложения при помощи Reactive Extensions, как многократно сократить код обработки событий, а также как совместить существующий код на основе событий с данным фреймворком
Anemic Domain Model - антипаттерн или SOLID?GoSharp
Мартин Фаулер считает, что Anemic Domain Model (или бледная доменна модель) это плохо, и антипаттерн, противопоставляя ей Rich Domain Model с интегрированным поведением и бизнес логикой.
При этом есть другие мнения, возможно не столь распространенные. Я попробую рассказать об опыте использования Anemic Domain Model при разработке крупного корпоративного приложения. Какие плюсы и минусы мы нашли, и как преодолевали трудности.
Эволюция пользовательского интерфейса бизнес-приложений: от DOSa через окна в...GoSharp
Бизнес-приложения являются одним из самых массовых типов программного обеспечения; многие из людей проводят бОльшую часть своего дня, работая с ERP, CRM и другими программами, обслуживающими жизненный цикл предприятия. Как сделать программу, которая поддерживает сложные бизнес-процессы, простой в использовании? Чем можно пожертвовать ради удобства пользователя? На примере 1С мы рассмотрим, как эволюционировал пользовательский интерфейс деловых приложений со времен DOS до наших дней, какие методики используются для улучшения юзабилити.
UniversalApp "убийца" WPF или же это WPF+ ?GoSharp
Доклад освящает основные вопросы касающиеся Universal App и WPF, например:
• Развитие WPF и появление WinRT
• Унификация Windows-платформы и UAP
• Инвестиции в WPF
• Как WPF стыкуется с UAP + матрица миграции (когда и как стоит мигрировать, а когда нет)
UI тестирование WPF приложений в Дойче БанкеGoSharp
Мы расскажем о техническом решении для тестирования WPF приложений в Дойче Банке, использующем простую технику DLL-иньекции.
Поймем, что можно легко тестировать UI без библиотеки Microsoft UI Automation и даже напишем свой собственный подобный мини-фреймворк.
Базовые возможности EF и их особенности, делающие применение EF в реальных проектах грустным и затратным занятием. Flexberry ORM — отечественный ORM, основные сценарии его применения, сравнение производительности с EF. Короткий рассказ с картинками и примерами в исходных кодах.
MVVM в WinForms – DevExpress Way (теория и практика)GoSharp
Из доклада вы узнаете о применении популярного паттерна MVVM для упрощения и ускорения процесса разработки desktop-приложений.
Будут рассмотрены общие проблемы этого паттерна и решения которые мы предлагаем в нашем кроссплатформенном MVVM фреймворке. Упор будет сделан на практические аспекты и техники в условиях использования платформы WinForms и контролов от DevExpress.
Проектирование сетевой инфраструктуры под SOA проекты ASP.NETGoSharp
При планировании сервисно-ориентированной архитектуры проекта крайне важно учитывать требования к работе сервиса в существующих реалиях Enterprise инфраструктуры. Если эти системы строятся независимо, то возникнут проблемы в размещении сервисов на боевом окружении, сложности управления, безопасности и надёжности. В докладе вы увидите подходы к проектированию инфраструктуры под сервисы и сервисов под инфраструктуру, а так же примеры борьбы со сложностью планирования инфраструктуры.
Мониторинг приложений ASP.NET на основе сервиса Application InsightsGoSharp
После запуска приложения в продакшн в большинстве случаев мы отправляем его в свободное плавание и не знаем о его работе ничего. Сервис Application Insights призван заполнить этот пробел и получить исчерпывающие знания о том, как работает ваше приложение и какие усилия мы должны приложить, чтобы сделать его лучше.
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
Наша команда в DevExpress недавно выпустила Preview версию нового продукта, RTF web-редактора – ASPxRichEdit.
Продукт требует высокой отзывчивости на действия пользователя и максимальной производительности. Поэтому клиент получился «толстым» в отличие от «тонких клиентов» большинства бизнес-приложений.
В составе продукта два полнофункциональных компонента - клиентский и серверный текстовые процессоры. Оба компонента работают независимо друг от друга. Клиентская часть создавалась как оптимизированная версия серверного компонента, переписанного с .NET на TypeScript.
Клиентская часть не уступает в сложности серверной. Кроме того, возникают дополнительные проблемы синхронизации состояний моделей на клиенте и сервере и глубокого тестирования клиент-серверного взаимодействия.
В этом докладе вы узнаете, как мы разрабатывали этот продукт, какие проблемы встретили и какие методики тестирования использовали.
Из доклада Вы узнаете как работают две основные буквы mVC. Controller. Каким образом запросы находят необходимые Action. Жизненный цикл объектов при запросах. Views. Что такое View, каким образом рисуется представление для frontend. Как написать свой ViewEngine.
Помимо этого - о том как хостится приложение, на сервере и как можно совместно использовать ресурсы для нескольких приложений либо масштабировать приложения по нескольким ресурсам.
Кросплатформенная разработка на ASP.NET vNextGoSharp
Из доклада вы узнаете о возможностях поддержки других платформ в ASP.NET vNEXT. На живом примере будет показано, как разворачивать ASP.NET под *nix и как программировать в этой среде.
Внедрение зависимостей в ASP.NET MVС и ASP.NET vNextGoSharp
По мере развития веб-проекта сложность бизнес-логики неизбежно растёт. Это замедляет темпы разработки, системы становятся непонятными и запутанными. Связной – не исключение. Одним из наших решений проблемы является Dependency Injection. В докладе вы узнаете о том, как DI понижает сложность бизнес-логики, почему мы в Связном считаем DI DI в ASP.NET MVC эффективным решением и что нового для DI появилось в ASP.NET vNext.
Платформа ASP.NET стоит на пороге глобальных изменений. Какие из них самые важные? Как они повлияют на процесс разработки? Стоит ли бояться и как подготовиться? В рамках доклада мы обсудим новый виток развития технологии и возможности, которые появятся у нас с выходом ASP.NET 5(vNext) и Visual Studio 2015.
Коучинг команд разработки и коучинговые инструменты в работе тимлидаGoSharp
Работа тимлида – самая трудная менеджерская работа. Он уже менеджер, его подчиненные еще нет, они не хотят и не обязаны вникать в его трудности. Ответственность уже есть, возможностей еще не так много. К этой работе редко готовят специально. Как и куда расти тимлиду? Это Вы узнаете в докладе. Какие навыки развивать. И как их развивать. Что такое коучинг команд и подойдет ли он в вашем случае. Всему можно научиться на практике, но воспользоваться чужим опытом быстрее и дешевле во многих случаях. Кстати, как определить, что именно вам чужой опыт не подойдет, вы тоже узнаете в докладе.
Взаимное влияние Source Code Management и других средств организации разработкиGoSharp
1. Почему важны не используемые инструменты, а модель организации работы и стратегия выпуска релизов.
2. Переход к более информативной истории изменений: от летописи разработки к истории развития продукта.
3. Связь между системами управления проектом и исходным кодом должна быть двусторонней.
4. Выбор разумной политики создания веток.
5. Хорошая архитектура и постоянное слияние делают непрерывную интеграцию более эффективной.
Толкование термина Devops и почему это модный buzzword
1. Гибкая эксплутация, по аналогии с гибкой разработкой и в качестве ее логичного продолжения.
2. Зачем это все нужно на примере интернет стартапа.
3. В *nix все хорошо, у Windows не очень.
4. Как сделать конвейер по доставке изменений начиная с комита разработчика и заканчивая обновлением программы-агента на машине пользователя.
5. Git и gitflow как норма рабочего процесса в команде.
6. CI - билды, ветки, артефакты.
7. Участие QA в процессе, автоматические тесты.
8. Octopus deploy и счастье. Октопаки в качестве контейнеров.
9. Мониторинг серверов и оповещения - New relic, Pager duty.
Практика применения Enterprise Architect и T4-шаблонов для разработки системы на Microsoft SQL Server
1. 11 апреля 2015 года
Практика применения
Enterprise Architect и T4-шаблонов
для разработки системы
на Microsoft SQL Server
Павел Музыка
Технический лидер, группа компаний CUSTIS
2. О себе
§ В промышленной разработке
с 2005 года
§ В CUSTIS c февраля 2012 года
§ Специализируюсь на создании
Desktop-приложений
§ Сертифицированный разработчик
.NET, MS SQL, WinForms и WPF
2/30
3. О компании
Проектирование
и заказная разработка
систем Enterprise-
масштаба
Для крупных банков,
торговых сетей,
предприятий госсектора
Oracle + Java
Oracle + C#,
Desktop-приложения
на WinForms и WPF
3/30
4. План
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
4/30
5. Где я?
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
5/30
6. Реальная задача
§ Система в Microsoft SQL Server 2008 R2
§ …полностью
§ Три внешних источника данных
§ …после полугода разработки появился
четвертый
§ Математически сложные алгоритмы
обработки данных внутри системы
§ Ежедневное формирование отчетов
§ Адаптация к существующей системе
автоформ
6/30
7. Где я?
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
7/30
8. Слагаемые успеха. Процессы
§ Model First + кодогенерация
§ Автотесты для базы данных
§ Доработки и исправления
в стиле TDD
§ Continuous Integration +
Delivery = выпуск версии
занимает 10 минут
8/30
9. Слагаемые успеха. Инструменты
§ Enterprise Architect для Model First
§ Шаблоны T4:
§ Отделение инфраструктуры от логики
§ Дешевое внесение изменений
в инфраструктуру
§ Удобная навигация по исходному коду
§ Excel для подготовки тестовых данных
аналитиком
§ + =
9/30
10. Где я?
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
10/30
12. § Enterprise Architect как инструмент
моделирования
§ Множество нотаций и представлений
§ Трансформация представлений
§ Генерация DDL-скриптов
§ Хранение моделей в системе контроля
версий или в базе данных
§ Возможность писать плагины
12/30
14. Доработка трансформации
§ Создание колонок для первичного
и внешнего ключей, констрейнтов
§ Создание фискальных и служебных
колонок для всех таблиц
§ Трансформация перечислений
как особый вид трансформации
14/30
16. Плагин для Enterprise Architect
§ Генерация вспомогательных классов
для поддержки IntelliSense в T4-шаблонах
§ Генерация перечислений
для перечислений
16/30
17. Где я?
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
17/30
18. Шаблоны T4
§ T4 = Text Template Transformation Toolkit
§ Файл с расширением *.tt или *.ttinclude
§ Встроенный в Visual Studio
(начиная с 2008) движок кодогенерации
§ Позволяет писать логику шаблона на C#
или VB.NET
§ Позволяет генерировать любой код
§ Шаблоны могут быть переиспользуемыми
(наследование, включение)
18/30
20. Пример с бизнес-правилами
§ Выглядит как C#...
§ …это и есть C#
§ Отсутствуют инфраструктурные подробности
§ Результат – сгенерированный фрагмент
хранимой процедуры
20/30
22. Перекладывание данных
§ Полуавтоматический маппинг колонок
§ Опять нет инфраструктурного кода
§ Фокусировка только на бизнес-логике
§ Результат – опять простыня SQL-кода
22/30
25. Где я?
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
25/30
26. Автотесты
§ Автотесты на C#
§ Excel как источник эталонных данных
§ Данные готовит аналитик
§ Выполняются на сервере CI на каждый
коммит
§ Smoke-тесты для публичного интерфейса
26/30
27. Где я?
§ Контекст реальной задачи
§ Слагаемые успеха
§ Enterprise Architect
§ Шаблоны T4
§ Автотесты
§ Continuous Integration + Delivery
27/30
28. Continuous Integration + Delivery
§ TeamCity – сервер для процессов CI и CD
§ Крупные коммиты (законченные блоки
функционала)
§ На каждый коммит прогоняется пакет
автотестов
§ После каждого удачного коммита система
готова к выпуску очередной версии
§ PowerShell-скрипты для развертывания
версии
28/30
29. Основные ресурсы
§ Enterprise Architect:
§ Описание на официальном сайте
§ Шаблоны T4:
§ Architecture of Text Templates
§ Oleg Sych Blog
§ Q&A at stackoverflow.com
§ Google Search
§ Семинар про T4 (Реальная кодогенерация):
§ Видео на vimeo
§ Исходники на github
29/30