SlideShare a Scribd company logo
1 of 32
Download to read offline
“Hey, I’ve seen
something like it before!”
1
2
15+ лет коммерческой разработки
основная часть проектов связана с JEE
организатор IT-ивентов в Новосибирске
@ivanenok
ivanenok@gmail.com
Laximo
А чего мы тут собрались?
Решить кто такой архитектор
Обсудить популярные ошибки
Разобраться что такое “хайп”
Обсудить цикличность развития
Посмотреть на велосипеды
Как правильно лажать в архитектуре
Потроллить и Поговорить
3
4
5
6
7
Маленькое время ответа
Гибкие структуры данных
Уменьшение времени разработки
Пере-
носимость
Масштабируемость решений
8
9
10
Чем “плохи”
существующие хранилища?
дорогие транзакции
фиксированые структуры данных
проблемы с кластеризацией
11
Что такое FLAT FILES?
Одна из концепций хранения
Типичный пример dBase || и другие
Работа с файловой системой
Гибкие структуры - protobuf, Thrift
Простое портирование
Масштабируемость
12
Что выбрать для проекта?
13
зависит от задачи и нужного профиля
зависит от соотношения чтений/записей
универсального совета не существует
зависит от объемов данных в момент времени


{

"_id": "acc12345",

"amount": 1000.0,

"contact_info": {

"name": "Peter",

"address": {

"country": "Russia",

"city": "Novosibirsk"

}

},

"company_info": {

"name": "Pont Inc",

"address": {

"country": "Russia",

"city": "Novosibirsk"

}

}

}
14
{

"_id": "acc12345",

"amount": 1000.0,

"contact_info": "1",

"company_info": "1"

}
15
{

"id": "1",

"name": "Peter",

"address": {

"country": "1",

"city": "1"

}

}
{

"id": "1",

"name": "Pont Inc",

"address": {

"country": "1",

"city": "1"

}

}
{

"id": "1",

“country": "Russia"

}


{

"id": "1",

"city": "Novosibirsk"

}
16
изолированность
слабая связанность
легкая тестируемость
переиспользование
17
Что такое микросервис?
WAR, EARJARPackageClass
18
Что такое микросервис?
WAR, EARJARPackageClass
19
Что такое микросервис?
WAR, EARJARPackageClass
20
Что такое микросервис?
WAR, EARJARPackageClass
21
22
23
OMG: Oh, My God или Object
Management Group?
24
Что такое компонента?
CORBA
SOAP
COM
DCOM
SOA
EJB
Spring
25
Components vs ObjectsObjects Components
метафоры реального мира абстракции для протоколов
акцент на представлении акцент на уменьшении связности
уровень дизайна кода уровень архитектуры
оверинжиниринг паттернами упрощение структуры
26
А зачем мне это знать?
JMS Event Services
JPA Peristence Service
RMI IIOP
JNDI Naming Service
27
Storage
“Плохая” монолитна структура
28
Storage
“Правильная” структура с микросервисами
29
Storage
“Правильная” структура с микросервисами
30
И как быть?
Мода – это удовлетворение амбиций инженеров
Инженерия – это решение задач подходящими
инструментами
Собирайте решение из того, что точно работает
Перед ответом на вопрос,
“КАК делать?”, поймите,
“ЧТО, нужно сделать”
Универсальной таблетки
не существует!
31
Спасибо за внимание.
Q/A.
32

More Related Content

Similar to Jeeconf 2015

документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3rit2011
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareMarina Gryshko
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareBAKOTECH
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest
 
Говорим о СУБД языком HR
Говорим о СУБД языком HRГоворим о СУБД языком HR
Говорим о СУБД языком HRKonstantin Osipov
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...IT-Portfolio
 
Pedalim vacancy IT HR
Pedalim vacancy IT HRPedalim vacancy IT HR
Pedalim vacancy IT HRIT-HR Club
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомDaniel Podolsky
 
Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#geekfamilyrussia
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковAlex Tumanoff
 
Carlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundationCarlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundationKshitiz Chauhan
 
Обзор систем совместной работы
Обзор систем совместной работыОбзор систем совместной работы
Обзор систем совместной работыАнтон Широков
 
Обзор систем совместной работы
Обзор систем совместной работыОбзор систем совместной работы
Обзор систем совместной работыolden_idle
 
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Alexander Gornik
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
 
рит2007 требования и состав работ бесков доронин
рит2007   требования и состав работ   бесков доронинрит2007   требования и состав работ   бесков доронин
рит2007 требования и состав работ бесков доронинMedia Gorod
 
Требования и дизайн (BAQ, Львов, 25.03.2017)
Требования и дизайн (BAQ, Львов, 25.03.2017)Требования и дизайн (BAQ, Львов, 25.03.2017)
Требования и дизайн (BAQ, Львов, 25.03.2017)Anatoly Loy
 

Similar to Jeeconf 2015 (20)

документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
 
Говорим о СУБД языком HR
Говорим о СУБД языком HRГоворим о СУБД языком HR
Говорим о СУБД языком HR
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
 
Pedalim vacancy IT HR
Pedalim vacancy IT HRPedalim vacancy IT HR
Pedalim vacancy IT HR
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
 
Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис Цыплаков
 
Shareрoint
ShareрointShareрoint
Shareрoint
 
Carlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundationCarlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundation
 
Обзор систем совместной работы
Обзор систем совместной работыОбзор систем совместной работы
Обзор систем совместной работы
 
Обзор систем совместной работы
Обзор систем совместной работыОбзор систем совместной работы
Обзор систем совместной работы
 
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектов
 
презентация.1
презентация.1презентация.1
презентация.1
 
рит2007 требования и состав работ бесков доронин
рит2007   требования и состав работ   бесков доронинрит2007   требования и состав работ   бесков доронин
рит2007 требования и состав работ бесков доронин
 
LanDocs Business Suite
LanDocs Business SuiteLanDocs Business Suite
LanDocs Business Suite
 
Требования и дизайн (BAQ, Львов, 25.03.2017)
Требования и дизайн (BAQ, Львов, 25.03.2017)Требования и дизайн (BAQ, Львов, 25.03.2017)
Требования и дизайн (BAQ, Львов, 25.03.2017)
 

Jeeconf 2015