Post on 14-Apr-2017
Докладчик
#almsummit
Москва, 6 февраля
Alexey Lustinsilver bulleters
Проактивное решение проблемы not1C 1C
Программирование бизнес-процессов ? eDSL
Программированиерабочих процессов Windows Workflow
платформа1C:Предприятие
Программирование компонентов процессов WCF, WPF & etc
Управление платформой С++ -> .NET
Повторное использование С -> С++
Кросс-компиляция ASM -> C
Turing completeness
?1C = Embedded DSLвстроенный проблемно-ориентированный язык, созданный для решения проблем автоматизации единых бизнес-процессов предприятия
Дзен eDSL
Единая теория
M.Ward, P.HudakF.Brooks, N.Wirth
Language Oriented Programming
DSL-Based Development
ALM + 1Cчтобы что-либо получитьнеобходимо что-либо отдать
КачествоУменьшениестоимостивладения
СкоростьБыстротаавтоматизациибизнеса
ДизайнУменьшениеtime-to-marketдля новых компонентов
СтоимостьВысокая скоростьвозврата инвестиций
Integrations featuresTFS 1C community 1C:Enterprise
Process template Scrum 2013 DevOpsСППР &
технология быстрого внедрения
Version control&
Source ownershipTFS GIT
TFS Web Access OneC2Git Хранилище 1С
Testing TFS Test ManagementxUnitForOneC
Cucumber-OneC Автоматизированиетестирование
BuildTFS Build Server Gradle
1С:КонфигураторTFS Build Extensions Jenkins-CI
Deploy Release ManagementGradleChef
«С 1С можно ВСЁ !!!»Только некоторые компоненты надо делать НЕ на 1С
Внешний хаос (FDB)
90% Запросов на изменение лишь проявление НЕ знания функционала
10%Могут служить основанием для Feature, все остальное только PBI на актуализацию документации
RoomsКоммуницируйте с помощью комнат TFS или UserVoice
Conflict:90% WorkItems -> Rejected
Декомпозиция и абстракция (REQ)AreaПодсистема конфигурации 1C
FeatureОбъект метаданных 1С
PBIНовый компонент метаданного – команда, реквизит и т.д. (+TestCase)
Conflict:1 feature per product “Make product”
Анализ и дизайн (ARCH)
UMLДиаграммы компонентов – для OpsДиаграммы вариантов использования – для Dev
SourceДля создания сценария развертывания
Для интеграции с системами проектирования
IDEF, BenchmarkСППР – система проектирования прикладных решений.Тест центр – тестирование нагрузки
Conflict:Due Diligent, Hardware Utilization < 25%
Разработка (DEV)
IDEArchitector– Visual StudioTeam leader- Visual Studio- 1C:Конфигуратор + Snegopat
Developer- 1C:Конфигуратор + Snegopat
SourceArchitector – GITTeamLeader- GIT- 1C Хранилище (0.1 SVN)Developer- 1C Хранилище (0.1 SVN)
SolutionСпецификация каталога конфигурации
Feature branch Vendor branch
Conflict:Проект НЕ «собирается» за один шаг
Тестирование (TST)
BDD & ScrumFeature file – независимы от языка
Sprints Demo – планирование функционала
TestsPBI -> Feature file
Feature file -> epf test
Epf test -> 1С 8.3 Тесты
Test PlanАвтоматическая демонстрацияГотовый план «демо спринта»Покрытие тестами сценариев использования, а не кода
Conflict:Увеличение энтропии модели
Сборка (BLD)
DLLCf файл – основная библиотекаEpf, Erf – условно зависимые
Setup.exe – дистрибутив приложенияСценарий развёртывания с нуля (WiX ?)
Debug Run1C:Платформа – набор служб
службы имеют Debug Ports- для кода сервера- для кода клиента- для BDD тестов
xUnit.xmlProduction bugs -> 0
Conflict:Первичные затраты на сборочный скрипт
Сертификация (CRT)
vBoxPlatforms:Inno - анонсированнаяBeta – последняя версия Stable – стабильная на рынкеLegacy - затратная
MSIEnvironment - Windows Server- MSSQLPlatform – 1 new build per 4 week (avg/year)
CertificateАвтоматическая подготовка к рефакторингу.Отсутствие legasy кода.Регрессионное тестирование
Conflict:НЕ чтение списка проблем в платформе
Развёртывание (DPL)
PrepareWiX Custom Action
- arch prev solution
- merge new solution
- checkpoint (autotest solution)
- prepare db-schema (8.3 only)
MigrateWiX Custom Action
- stop user sessions (or dyn’s)- migrate schema
- checkpoint (auto test app)
ApplyOPS только контролирует процесс обновления, реагируя на нештатные ситуации
Conflict:Страх: ROLLBACK !!!Время: Скрипт развёртывания
Для любителей английского
i18n
А что означает в TFS <> ?Враги Коллеги
Наименование в 1С 10 минут
Обсуждение наименования 1С 1 час 15 минут
Злость на 1С специалиста 8 часов -
Чтение Bing, Мозговой штурм 5 часов 15 минут
Исправление ошибки приконсультации X дней -
«Всё же ради разработчиков ?»developers, developers, developers … (steve.ballmer ©)developers .NET, developers C++, developers 1C …
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Спасибо за внимание!