Как пишутся и поддерживаются enterprise системы
TRANSCRIPT
Как пишутся и поддерживаются Enterprise системы
Сергей Немчинский, Smarte®ama, 2015
Основные проблемы разработки
Недостаток коммуникации Ответственность Ценности
клиента разработчика
Что такое Java Enterprise приложение
Размер приложения. Относительный и абсолютный
Время разработки Разные разработчики Интеграция Распределенность Нагрузки Количество данных
Программа и промышленный модуль
Код, делающий что нужно Тесты кода Интеграция с другими модулями и ее тесты Документация
Процесс разработки промышленного модуля
Анализ требований предметной области Декомпозиция задачи Анализ ограничений и нефункциональных
требований Разработка кода Тестирование и баг-фиксинг Передача на эксплуатацию и
сопровождение
Ценности разработки
Хороший код – который легко поддерживать
Делать != сделать Никто не знает все, всегда вокруг тебя
люди, которые знают лучше Ценность правильной архитектуры
Библиотеки и фреймворки
Вопросы правоиспользования Зависимости Разные версии Сложные (многобиблиотечные)
фреймворки Сервера приложений – тоже содержат
фреймворки
Enterprise Application и его проблемы
Объемы данных Устаревшие приложения Монолитность систем и интеграция Внешняя интеграция
Интеграция и ее история
Интеграция через базу данных Интеграция через вызовы методов
DCOM, RPC, RMI CORBA Web-services (SOAP, REST)
Service Oriented Architecture
Интеграция – это самое сложное
Интеграция со старым кодом Зависимость от других модулей Зависимость от окружения
Любимые анти-паттерны
Преждевременная оптимизация Накопить и запустить Лодочный якорь Магические числа, хард-код Процедурный код Действие на расстоянии Нарушение Information Expert
Бонус: личная эффективность
Мыслетопливо Две системы мышления Запоминание Как писать список задач
Ваши вопросы
http://smarterama.com