ebook img

Изучаем Java EE: современное программирование для больших предприятий : 16+ PDF

384 Pages·2018·5.018 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Изучаем Java EE: современное программирование для больших предприятий : 16+

} / | Себастьян Дашнер Java champion—2016 СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ ДЛЯ БОЛЬШИХ ПРЕДПРИЯТИЙ Валгя Architecting Modern Java EE Арplications Designing lightweight, business-oriented enterprise applications in theage of cloud, containers, and Java EE 8 Sebastian Daschner Раckt» ВIRМINGНАМ- МUМВА] Себастьян Дашнер Java champion—2016 Изучаем Java EE СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ ДЛЯ БОЛЬШИХ ПРЕДПРИЯТИЙ I2zптер Санкт-Петербург.Москва.Екатеринбург. Воронеж Нижний Новгород.Ростов-на-Дону.Самара-Минск 2018 Себастьян Дашнер Изучаем Java EE. Современное программирование для больших предприятий Серия«Дляпрофессионалов» ПеревелсанглийскогоА.Тумаркин Заведующаяредакцией Ю.Сергиенко Руководительпроекта О.Сивченко Ведущийредактор Н.Гринчик Литературныйредактор Н.Рощина Художественныйредактор С.Заматевская Корректор Е.Павлович Верстка Г.Блинов ББК32.973.2-018.1 УДК004.43 ДашнерС. Д21 Изучаем Java EE. Современное программирование для больших предприя тий. — СПб.: Питер, 2018. — 384 с.: ил. — (Серия «Для профессионалов»). ISBN978-5-4461-0774-2 JavaEE8—современнаяверсияпопулярнойплатформыдляпрограммированиякорпоративныхприло женийнаязыкеJava.Новаяверсияплатформыоптимизированасучетоммногочисленныхтехнологических нововведений,средикоторых—работасконтейнерами,улучшенныеAPIдляобеспечениябезопасности, возможностиработысоблачнымихранилищамиимикросервиснойархитектурой.JavaEEобеспечивает широкиевозможностипредметно-ориентированногопроектирования(DDD),непрерывнуюинтеграцию, работупопринципуDevOps,взаимодействиесDockerиKubernetes. Принципыпроектированияиархитектурныесекреты,собранныевэтойкнигевизложениивеликолепного СебастьянаДашнера(в2016годуудостоензванияJava-сhampion),послужатвамнеисчерпаемымисточником вдохновенияисолиднойбазойдлявоплощениядажесамойсложнойбизнес-логикивJava-приложениях. 16+(ВсоответствиисФедеральнымзакономот29декабря2010г.№436-ФЗ.) ISBN978-1788393850англ. ©PacktPublishing2017. FirstpublishedintheEnglishlanguageunderthetitle «ArchitectingModernJavaEEApplications—(9781788393850)» ISBN978-5-4461-0774-2 ©ПереводнарусскийязыкОООИздательство«Питер»,2018 ©Изданиенарусскомязыке,оформлениеОООИздательство «Питер»,2018 ©Серия«Дляпрофессионалов»,2018 ПраванаизданиеполученыпосоглашениюсPacktPublishing.Всеправазащищены.Никакаячастьданной книгинеможетбытьвоспроизведенавкакойбытонибылоформебезписьменногоразрешениявладельцев авторскихправ. Информация,содержащаясявданнойкниге,полученаизисточников,рассматриваемыхиздательствомкак надежные.Темнеменее,имеяввидувозможныечеловеческиеилитехническиеошибки,издательствоне можетгарантироватьабсолютнуюточностьиполнотуприводимыхсведенийиненесетответственностиза возможныеошибки,связанныесиспользованиемкниги. ИзготовленовРоссии.Изготовитель:ООО«Прогресскнига». Местонахожденияифактическийадрес:194044,Россия,г.Санкт-Петербург, Б.Сампсониевскийпр.,д.29А,пом.52.Тел.:+78127037373. Датаизготовления:06.2018.Наименование:книжнаяпродукция.Срокгодности:неограничен. ИмпортервБеларусь:ООО«ПИТЕРМ»,220020,РБ,г.Минск,ул.Тимирязева,д.121/3,к.214,тел./факс:2088001. Налоговаяльгота—общероссийскийклассификаторпродукцииОК034-2014,58.11.12—Книгипечатные профессиональные,техническиеинаучные. Подписановпечать15.06.18.Формат70х100/16.Бумагаофсетная.Усл.п.л.30,960.Тираж1000.Заказ0000. ОтпечатановОАО«ПерваяОбразцоваятипография».Филиал«ЧеховскийПечатныйДвор». 142300,Московскаяобласть,г.Чехов,ул.Полиграфистов,1. Сайт:www.chpk.ru.E-mail:[email protected] Факс:8(496)726-54-10,телефон:(495)988-63-87 Краткое содержание ПООБВГврллбееаддграеиоеансдцввилеатеонрао.взнр.иеое.не1с..т.т...е.и.......В.........с........т.......у..........п.......л........е.........н.......и.........е...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................2.....11111268542 Глава2.ПроектированиеиструктурированиеприложенийJavaEnterprise........... 29 Глава3.ВнедрениесовременныхприложенийJavaEnterprise .............................. 60 Глава4.ОблегченнаяJavaEE ............................................................................ 150 Глава5.JavaEEвконтейнерныхиоблачныхсредах .......................................... 162 Глава6.Рабочиепроцессысозданияприложений ............................................. 192 Глава7.Тестирование ....................................................................................... 226 Глава8.Микросервисыисистемнаяархитектура ............................................... 277 Глава9.Мониторинг,производительностьижурналирование ........................... 322 Глава10.Безопасность ...................................................................................... 360 Глава11.Заключение ........................................................................................ 373 Приложение.Дополнительныересурсы.................................................................382 Оглавление ОПОБВГврллбееаддграеиоеУЗЧДаСнсдцввилаеаттслтеорнаог.рвнозляр.иоеруео.есн1.в.у.ккттв....еиза.от....н..кВ..г.му..ы....асо.р....е.п..т.а..п..п..о.у...о.р.рк..н.б.п.н....иое.аил....з.гмд....дне.и....а.не.о...н.ч.....а.реб..и....н..з...ои.еи......ян..вт..........а..с........к...ч..я..о........д.е.......а...д....н..........л.....о...........я............э.............э..т..........т....о............о.........и.....й....з..........д........к..а.......н..н........и.и........г.е........и....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................2..........121211111228420089650 ГлаНСЗОJЧвaнотбоаvаонввaчор2ывев.CееынлoмПитmеенрерmннаоеuинйJебnедыaкоivейтивatтиасyепрEнпеоEивPорвrясдэсаoолтпкcнбоеяeикйsкпесоsтокориис.нвп.вти.сроа.ргт.еро.ерр.мае.уа.е.тн.к.зни..итв..нвя..уи..ын..ртк..хыии..о.м.ряс..р.и.осп..сJви..тоa.с.еа..тvмр..не.a..ам.и..а.т..Eем...и....E....пв......р..8н.....и.ы.........хл.........о.....с....ж.и.....с...е..т.....е..н.....м....и..........й.................J.........a........v..........a..............E........n.......t...........e......r.........p.........r........i.......s........e...............................................................................................2....2222229244576 Назначениекорпоративныхприложений............................................................29 Начемсосредоточитьсяразработчику.........................................................30 Удовлетворениетребованийклиентов.........................................................30 Внешняяструктуракорпоративногопроекта......................................................31 Структурабизнесаигруппыразработчиков.................................................32 Содержимоепрограммныхпроектов.............................................................32 Одно-имногомодульныепроекты................................................................36 Иллюзииповторногоиспользования............................................................37 Артефактыпроекта......................................................................................38 Оглавление 7 ГлаСРветзаюрмуе3ССРНССОСР.к..тттбеиаде.тр.рраотВциу.упуулруин.рнк.еккикаоеа.тр.ттзпацнд.укеууари.аррсо.грроцяле.аидр.ииеиьн,.сваурркя.нит.жпоотокк.ееправв.еоо—м.аойаас.ррк.пдтнновпп.ероиеии.воод.тJокеери.рраaнн.етераа.апдvыхко.рмттиaол.хттвте.ииеяе.иEафгвнкс.вEарнтт..осннкнру..онтрооур..ыы.к.ву.аигвх..т..хая.з..у.ор..р..нпоп..е...брп..и.н.р.имор.....езтео..и...енк.е..а..л.ет.кн.м....аслт.о.о..н.ха-.д.и.....л.жуы.......ол....е..и.хге.......йи..н......к...пк....и..о......ло..й....й.......и.........в.....е...J.е.........н.р....a......т....т.v......и....с...a..к..........а.к.........лE....и.....и.n..........х...t.............e........т......r......е........p..х..........r.н..........оi............л....s.........о.....e.....г..............и............й.....................................................................................................................................................................................................................................................................................................................................6........45453544553050970998829 ГБВШирназаебнншлEГГООПеинJеебрбосцяBннлозн-ыяееабокыиррслрбоиаатеиCпмзшцDтимрснпаIеионокосв:бяроев-индслы-окоеицсозотменбоCонннриDстащбIатрриоы.иыеия.ое.ве.те.яввн.ф..и.пд.ат..иурй..р.нои.н..е.ари.р.пкк.а..ят.озр.ц.ви.л..вер.и.ив..о.счад.о..ви.оJн..яман....нaвн.е.а..и..v.р.оятл....a.е..е.н.ь.....м..Eон...п..E.е..йор.......но....с...е.о...н..т.кб......отл....ь...аи....й..с..р..в..т...о...иJ....в.......каa.......н.v.о.....и.......aре.............п...E........Eо................р..............а................т.............и...............в..............н...............ы...............х......................п............р...........и...........л.............о.........ж.............е...........н...........и............я.............х..............................................................................................................................................................................8........8666666667603714742 ОСибсмтеенмдыаунпнрыамвилеснвиняебшанзиаммиисдианснтыехм.а.м.и............................................................................................................1.2.817 Сквозныезадачи........................................................................................131 Настройкаприложений..............................................................................133 Кэширование..............................................................................................135 Последовательностьвыполнения.....................................................................137 Синхронноевыполнение............................................................................137 Асинхронноевыполнение...........................................................................138 КонцепцииипринципыпроектированиявсовременнойJavaEE.......................145 Удобныйвсопровождениивысококачественныйкод........................................147 Резюме.............................................................................................................148 Глава4.ОблегченнаяJavaEE ............................................................................ 150 Облегченнаятехнологиякорпоративнойразработки........................................150 ЗачемнужныстандартыJavaEE.......................................................................151 Соглашенияоконфигурации............................................................................152 УправлениезависимостямивпроектахJavaEE.................................................153 Облегченныйспособупаковкиприложений......................................................155 СерверыприложенийJavaEE...........................................................................158 Одноприложение—одинсерверприложений.................................................160 Резюме.............................................................................................................161 Глава5.JavaEEвконтейнерныхиоблачныхсредах .......................................... 162 Целииобоснованиеиспользования.................................................................162 Инфраструктуракаккод.............................................................................164 Стабильностьиготовностькэксплуатации................................................165 8 Оглавление Контейнеры......................................................................................................166 JavaEEвконтейнере........................................................................................168 Фреймворкиуправленияконтейнерами............................................................170 Реализацияуправленияконтейнерами.............................................................171 JavaEEвуправляемыхконтейнерах.................................................................177 Подключениеквнешнимсервисам.............................................................177 Конфигурированиеуправляемыхприложений............................................178 ДвенадцатифакторныеприложенияиJavaEE..................................................179 Однакодоваябазавсистемеконтроляверсийимножество развертываний...........................................................................................180 Явноеобъявлениеиизоляциязависимостей..............................................181 Хранениеконфигурациивсреде................................................................181 Вспомогательныесервисыкакподключаемыересурсы..............................182 Строгоеразделениеэтаповсборкиизапуска.............................................182 Выполнениеприложениякакодногоилинесколькихпроцессов безсохранениясостояния..........................................................................183 Экспортсервисовчерезпривязкупортов...................................................183 Масштабированиеспомощьюпроцессов....................................................184 Максимальнаянадежность,быстрыйзапускиплавноеотключение...........184 Максимальноединообразнаяразработка,установкаизапуск вэксплуатацию..........................................................................................185 Журналыкакпотокисобытий.....................................................................186 Запускзадачадминистрированияиуправлениякакоднократных процессов..................................................................................................187 Облака,облачныеприложенияиихпреимущества..........................................188 Резюме.............................................................................................................190 Глава6.Рабочиепроцессысозданияприложений ............................................. 192 Целииобоснованиепостроенияпродуктивныхрабочихпроцессов..................192 Реализацияпроцессовразработки....................................................................194 Всёподконтролемверсий..........................................................................195 Сборкадвоичныхфайлов...........................................................................196 Гарантиякачества......................................................................................199 Развертывание...........................................................................................201 Миграцияданных.......................................................................................205 Тестирование.............................................................................................211 Метаданныесборки....................................................................................212 Передачавэксплуатацию..........................................................................213 Моделиветвления......................................................................................214 Технология.................................................................................................215 Конвейеркаккод.......................................................................................216 РабочиепроцессывJavaEE.............................................................................219 Культуранепрерывнойпоставкиикультураразработки...................................220 Ответственность........................................................................................221 Проверятьраноичасто.............................................................................221 Проблемынемедленныхисправлений........................................................222 Прозрачность.............................................................................................223 Постоянноесовершенствование.................................................................224 Резюме.............................................................................................................225 Оглавление 9 Глава7.Тестирование ....................................................................................... 226 Необходимостьтестирования...........................................................................226 Требованиякхорошимтестам..........................................................................227 Предсказуемость........................................................................................228 Изолированность........................................................................................228 Надежность................................................................................................229 Быстроевыполнение..................................................................................229 Автоматизация...........................................................................................229 Удобство сопровождения...........................................................................230 Чтотестировать...............................................................................................230 Определениеобластейтестирования...............................................................231 Модульныетесты.......................................................................................232 Компонентныетесты..................................................................................232 Интеграционныетесты...............................................................................232 Системныетесты........................................................................................233 Тестыпроизводительности.........................................................................233 Стресс-тесты..............................................................................................234 Реализациятестирования.................................................................................235 Модульныетесты.......................................................................................235 Компонентныетесты..................................................................................240 Интеграционныетесты...............................................................................245 Интеграционныеисистемныетестынауровнекода..................................251 Системныетесты........................................................................................253 Тестыпроизводительности.........................................................................262 Локальноевыполнениетестов..........................................................................267 Обслуживаниетестовыхданныхисценариев...................................................270 Наскольковажныобслуживаемыетесты....................................................270 Признакинедостаточногокачестватестов.................................................270 Качествотестового кода............................................................................271 Поддержкатехнологийтестирования.........................................................273 Резюме.............................................................................................................275 Глава8.Микросервисыисистемнаяархитектура ............................................... 277 Причинысозданияраспределенныхсистем......................................................278 Проблемыраспределенныхсистем...................................................................278 Потеризасчетпропускнойспособности.....................................................279 Потерипроизводительности.......................................................................279 Организационныерасходы.........................................................................279 Какразрабатыватьсистемныесреды................................................................280 Картыконтекстовиограниченныеконтексты.............................................280 Разделениезадач.......................................................................................281 Рабочиекоманды.......................................................................................281 Жизненныециклыпроектов.......................................................................282 Какразрабатыватьсистемныеинтерфейсы......................................................282 ЧтонадоучитыватьприразработкеAPI.....................................................282 Управлениеинтерфейсами.........................................................................283 Документированиеграниц..........................................................................285 Последовательностьилимасштабируемость?.............................................287 10 Оглавление Регистрациясобытий,архитектура,управляемаясобытиями,иCQRS..............288 НедостаткиCRUD-систем............................................................................288 Регистрациясобытий.................................................................................289 Согласованностьвреальноммире.............................................................291 Архитектурысрегистрациейсобытий........................................................292 ВведениевCQRS........................................................................................293 Коммуникация..................................................................................................298 Архитектурымикросервисов.............................................................................298 Совместныйдоступкданнымитехнологиямвкорпоративныхсистемах....298 Архитектурыбезразделенияресурсов.......................................................299 Независимыесистемы................................................................................300 Облачныеидвенадцатифакторныеприложения........................................301 Когдамикросервисынужны,акогда—нет................................................301 РеализациямикросервисоввJavaEE................................................................302 Приложенияснулевымизависимостями....................................................302 Серверыприложений.................................................................................302 Реализацияконтуровприложений..............................................................303 РеализацияCQRS.......................................................................................304 JavaEEвэпохураспределенныхвычислений.............................................314 Подробнееобустойчивости.......................................................................320 Резюме.............................................................................................................321 Глава9.Мониторинг,производительностьижурналирование ........................... 322 Бизнес-показатели...........................................................................................322 Сборбизнес-показателей...........................................................................323 Выдачапоказателей...................................................................................325 Требованиякпроизводительностивраспределенныхсистемах.......................329 Соглашенияобуровнеобслуживания........................................................330 ВычислениеSLAвраспределеннойсистеме...............................................330 Решениепроблемпроизводительности.............................................................331 Теорияограничений...................................................................................331 ОпределениепаденияпроизводительностиспомощьюjPDM.....................332 Техническиепоказатели...................................................................................339 Типытехническихпоказателей..................................................................340 Высокочастотныймониторингивыборочныеисследования.......................340 Сбортехническихпоказателей...................................................................341 Журналированиеиотслеживание.....................................................................343 Недостаткитрадиционногожурналирования..............................................343 Журналированиевмиреконтейнеров........................................................347 Журналирование..............................................................................................349 Трассировка.....................................................................................................349 Типичныепроблемыпроизводительности........................................................353 Журналированиеипотреблениепамяти....................................................354 Преждевременнаяоптимизация.................................................................354 Реляционныебазыданных.........................................................................355 Коммуникация............................................................................................356 Потокиипулы............................................................................................357 Тестированиепроизводительности...................................................................358 Резюме.............................................................................................................359

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.