ݺߣ

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

More Related Content

What's hot (20)

Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
SQALab
Мобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеМобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятное
SQALab
«Розробка мобільних додатків від початку створенняТЗ дорелізу»
«Розробка мобільних додатків від початку створенняТЗ дорелізу»«Розробка мобільних додатків від початку створенняТЗ дорелізу»
«Розробка мобільних додатків від початку створенняТЗ дорелізу»
Stfalcon Meetups
Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромом
SQALab
ляпин Bdd и coded ui для прагматиков
ляпин   Bdd и coded ui для прагматиковляпин   Bdd и coded ui для прагматиков
ляпин Bdd и coded ui для прагматиков
Magneta AI
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектом
SQALab
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
Mikhail Payson
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
COMAQA.BY
Документирование дефектов
Документирование дефектовДокументирование дефектов
Документирование дефектов
Nickola14
Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектов
SQALab
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
SQALab
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
QA Dnepropetrovsk Community (Ukraine)
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестах
SQALab
Советы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийСоветы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложений
Mairbek Khadikov
Все твои ходы записаны
Все твои ходы записаныВсе твои ходы записаны
Все твои ходы записаны
SQALab
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизацииВадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
COMAQA.BY
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализ
SQALab
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложений
Alexander Byndyu
«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»
DataArt
Моделирование корпоративной архитектуры
Моделирование корпоративной архитектурыМоделирование корпоративной архитектуры
Моделирование корпоративной архитектуры
SQALab
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
SQALab
Мобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеМобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятное
SQALab
«Розробка мобільних додатків від початку створенняТЗ дорелізу»
«Розробка мобільних додатків від початку створенняТЗ дорелізу»«Розробка мобільних додатків від початку створенняТЗ дорелізу»
«Розробка мобільних додатків від початку створенняТЗ дорелізу»
Stfalcon Meetups
Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромом
SQALab
ляпин Bdd и coded ui для прагматиков
ляпин   Bdd и coded ui для прагматиковляпин   Bdd и coded ui для прагматиков
ляпин Bdd и coded ui для прагматиков
Magneta AI
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектом
SQALab
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
Mikhail Payson
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
COMAQA.BY
Документирование дефектов
Документирование дефектовДокументирование дефектов
Документирование дефектов
Nickola14
Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектов
SQALab
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
SQALab
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
QA Dnepropetrovsk Community (Ukraine)
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестах
SQALab
Советы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийСоветы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложений
Mairbek Khadikov
Все твои ходы записаны
Все твои ходы записаныВсе твои ходы записаны
Все твои ходы записаны
SQALab
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизацииВадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
COMAQA.BY
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализ
SQALab
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложений
Alexander Byndyu
«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»
DataArt
Моделирование корпоративной архитектуры
Моделирование корпоративной архитектурыМоделирование корпоративной архитектуры
Моделирование корпоративной архитектуры
SQALab

Viewers also liked (11)

XP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeXP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy code
Dmytro Mindra
Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)
Victor_Cr
Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"
Victor_Cr
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: Legacy
Victor_Cr
Шаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. РефакторингШаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. Рефакторинг
Sergey Nemchinsky
Щаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. АнтипаттерныЩаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. Антипаттерны
Sergey Nemchinsky
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклы
Sergey Nemchinsky
Основы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсыОсновы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсы
Sergey Nemchinsky
Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"
Sergey Nemchinsky
Как найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететьКак найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететь
Sergey Nemchinsky
Working Effectively With Legacy Code
Working Effectively With Legacy CodeWorking Effectively With Legacy Code
Working Effectively With Legacy Code
Naresh Jain
XP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeXP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy code
Dmytro Mindra
Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)
Victor_Cr
Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"
Victor_Cr
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: Legacy
Victor_Cr
Шаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. РефакторингШаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. Рефакторинг
Sergey Nemchinsky
Щаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. АнтипаттерныЩаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. Антипаттерны
Sergey Nemchinsky
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклы
Sergey Nemchinsky
Основы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсыОсновы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсы
Sergey Nemchinsky
Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"
Sergey Nemchinsky
Как найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететьКак найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететь
Sergey Nemchinsky
Working Effectively With Legacy Code
Working Effectively With Legacy CodeWorking Effectively With Legacy Code
Working Effectively With Legacy Code
Naresh Jain

Similar to Как пишутся и поддерживаются Enterprise системы (20)

презентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеровпрезентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеров
Berik Badayev
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications Development
Vasily Demin
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)
Alexander Gornik
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
LuxoftTraining
Artsofte for b2 b
Artsofte for b2 b Artsofte for b2 b
Artsofte for b2 b
Artsofte IT company
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
Natalia Zhelnova
Microsoft CRM Platform for Managers
Microsoft CRM Platform for ManagersMicrosoft CRM Platform for Managers
Microsoft CRM Platform for Managers
Roman Savran
Методологии разработки ПО
Методологии разработки ПОМетодологии разработки ПО
Методологии разработки ПО
Vadim Lyakhovets
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QAFest
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
Александр Шамрай
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
Alex V. Petrov
Cистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRACистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRA
Teamlead
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
SQALab
Project under control
Project under controlProject under control
Project under control
Alex Simanovich
Cеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформыCеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформы
MDIF
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
GeeksLab Odessa
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле
Andrew Sovtsov
презентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеровпрезентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеров
Berik Badayev
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications Development
Vasily Demin
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)
Alexander Gornik
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
LuxoftTraining
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest
Microsoft CRM Platform for Managers
Microsoft CRM Platform for ManagersMicrosoft CRM Platform for Managers
Microsoft CRM Platform for Managers
Roman Savran
Методологии разработки ПО
Методологии разработки ПОМетодологии разработки ПО
Методологии разработки ПО
Vadim Lyakhovets
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QAFest
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
Александр Шамрай
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
Alex V. Petrov
Cистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRACистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRA
Teamlead
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
SQALab
Cеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформыCеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформы
MDIF
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
GeeksLab Odessa
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле
Andrew Sovtsov

More from Sergey Nemchinsky (12)

Как найти первую работу и не вылететь с нее
Как найти первую работу  и не вылететь с нееКак найти первую работу  и не вылететь с нее
Как найти первую работу и не вылететь с нее
Sergey Nemchinsky
Java enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективыJava enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективы
Sergey Nemchinsky
Clean code
Clean codeClean code
Clean code
Sergey Nemchinsky
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
Sergey Nemchinsky
Основы Java. 4. Web
Основы Java. 4. WebОсновы Java. 4. Web
Основы Java. 4. Web
Sergey Nemchinsky
Основы Java. 4. Collection Framework
Основы Java. 4. Collection FrameworkОсновы Java. 4. Collection Framework
Основы Java. 4. Collection Framework
Sergey Nemchinsky
Основы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статикаОсновы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статика
Sergey Nemchinsky
Основы Java. 2. JVM
Основы Java. 2. JVMОсновы Java. 2. JVM
Основы Java. 2. JVM
Sergey Nemchinsky
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoFШаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
Sergey Nemchinsky
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
Sergey Nemchinsky
Шаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. ВведниеШаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. Введние
Sergey Nemchinsky
Шаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASPШаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASP
Sergey Nemchinsky
Как найти первую работу и не вылететь с нее
Как найти первую работу  и не вылететь с нееКак найти первую работу  и не вылететь с нее
Как найти первую работу и не вылететь с нее
Sergey Nemchinsky
Java enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективыJava enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективы
Sergey Nemchinsky
Основы Java. 4. Collection Framework
Основы Java. 4. Collection FrameworkОсновы Java. 4. Collection Framework
Основы Java. 4. Collection Framework
Sergey Nemchinsky
Основы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статикаОсновы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статика
Sergey Nemchinsky
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoFШаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
Sergey Nemchinsky
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
Sergey Nemchinsky
Шаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. ВведниеШаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. Введние
Sergey Nemchinsky
Шаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASPШаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASP
Sergey Nemchinsky

Как пишутся и поддерживаются Enterprise системы

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