스프링 배치 완벽 가이드 2/e : 클라우드 환경에서 활용하는 모던 배치 처리

스프링 배치 완벽 가이드 2/e : 클라우드 환경에서 활용하는 모던 배치 처리

$42.35
저자

마이클미넬라

저자:마이클미넬라
18년이상의전문적인지식과경험이있는소프트웨어엔지니어이자저자이며강사이다.피보탈(Pivotal)의스프링배치(SpringBatch)와스프링클라우드태스크(SpringCloudTask)프로젝트를총괄하는소프트웨어엔지니어링디렉터이기도하다.또한JSR-352(JavaBatch)전문가그룹에도참여했다.자바챔피언(JavaChampion),자바원락스타(JavaOneRockstart)이며다양한자바콘퍼런스에서국제적으로강연을하고있다.평상시업무외에정규팟캐스트OffHeap(www.javaoffheap.com)에서활동하고있다.또한정보보안주제도열심히공부하고있다.사진(https://500px.com/michael160)과목공이취미이며,삶에서가장중요한일은에리카의남편이자에디슨의아버지로써의일이다.

역자:서경석
IT기업에서오픈소스기반의미들웨어솔루션개발및컨설팅업무를하고있는개발자이자컨설턴트이다.자바를기반으로하는다양한프로젝트에참여했으며,오픈소스기반의기업용프레임워크개발과모니터링솔루션개발에관심이많아관련업무를수행했다.

역자:김성윤
21세기직전부터애플리케이션개발자,소프트웨어아키텍트로활동하다가현재는시민의일상을뒷받침하는대형시스템을운영하고있다.무엇이든손으로직접해봐야직성이풀리며,운영중인업무에서매일같이발생하는거대데이터를적절히활용하는방법에관심이많다.

역자:이승룡
오픈플랫폼개발자커뮤니티(OPDC)에서에반젤리스트로활동하고있다.책을좋아한다.

목차

1장.배치와스프링
__배치처리의역사
__배치가직면한과제
__왜자바로배치를처리하는가?
__스프링배치의기타사용사례
__스프링배치프레임워크
____스프링으로잡정의하기
____잡관리하기
____로컬및리모트병렬화
____I/O표준화하기
____나머지스프링배치에코시스템
____그리고스프링의모든기능
__이책의진행방식
__요약

2장.스프링배치
__배치아키텍처
____잡과스텝
____잡실행
____병렬화
____문서
__프로젝트초기설정
____스프링배치내려받기
__Hello,World!법칙
__잡실행하기
__요약

3장.예제잡애플리케이션
__애자일개발이해하기
____사용자스토리로요구사항포착하기
____테스트주도개발로설계하기
____버전관리시스템사용하기
____좋은개발환경에서작업하기
__은행거래명세서잡의요구사항이해하기
__배치잡설계하기
____잡의처리흐름
____데이터모델이해하기
__요약

4장.잡과스텝이해하기
__잡소개하기
____잡의생명주기따라가보기
__잡구성하기
____잡의기본구성
____잡파라미터
____잡리스너적용하기
____ExecutionContext
____ExecutionContext조작하기
__스텝알아보기
____태스크릿처리와청크처리비교
____스텝구성
____그밖의여러다른유형의태스크릿이해하기
____스텝플로우
__요약

5장.JobRepository와메타데이터
__JobRepository란?
____관계형데이터베이스사용하기
____인메모리JobRepository
__배치인프라스트럭처구성하기
____BatchConfigurer인터페이스
____JobRepository커스터마이징하기
____TransactionManager커스터마이징하기
____JobExplorer커스터마이징하기
____JobLauncher커스터마이징하기
____데이터베이스구성하기
__잡메타데이터사용하기
____JobExplorer
__요약

6장.잡실행하기
__스프링부트로배치잡시작시키기
__REST방식으로잡실행하기
____쿼츠를사용해스케줄링하기
__잡중지하기
____자연스러운완료
____프로그래밍적으로중지하기
____오류처리
__재시작제어하기
____잡의재시작방지하기
____재시작횟수를제한하도록구성하기
____완료된스텝을재실행하기
__요약

7장.ItemReader
__ItemReader인터페이스
__파일입력
____플랫파일
____XML
__JSON
__데이터베이스입력
____JDBC
____하이버네이트
____JPA
____저장프로시저
____스프링데이터
__기존서비스
__커스텀입력
__에러처리
____레코드건너뛰기
____잘못된레코드로그남기기
____입력이없을때의처리
__요약

8장.ItemProcessor
__ItemProcessor소개
__스프링배치의ItemProcessor사용하기
____ValidatingItemProcessor
____ItemProcessorAdapter
____ScriptItemProcessor
____CompositeItemProcessor
__ItemProcessor직접만들기
____아이템필터링하기
__요약

9장.ItemWriter
__ItemWriter소개
__파일기반ItemWriter
____FlatFileItemWriter
____StaxEventItemWriter
__데이터베이스기반ItemWriter
____JdbcBatchItemWrite
____HibernateItemWriter
____JpaItemWriter
__스프링데이터의ItemWriter
____몽고DB
____네오4j
____피보탈젬파이어와아파치지오드
____리포지터리
__그밖의출력방식을위한ItemWriter
____ItemWriterAdapter
____PropertyExtractingDelegatingItemWriter
____JmsItemWriter
____SimpleMailMessageItemWriter
__여러자원을사용하는ItemWriter
____MultiResourceItemWriter
____CompositeItemWriter
____ClassifierCompositeItemWriter
__요약

10장.예제애플리케이션
__거래명세서잡검토하기
__새프로젝트초기구성하기
__갱신할고객정보가져오기
_____고객ID유효성검사하기
____고객정보갱신
__거래정보가져오기
____거래정보읽어오기
____거래정보기록하기
__잔액에거래내역적용하기
____거래데이터읽어오기
____계좌잔액갱신하기
__월별거래명세서생성하기
____거래명세서데이터가져오기
____Statement객체에계좌정보추가하기
____거래명세서생성하기
__요약

11장.확장과튜닝
__배치처리프로파일링하기
____VisualVM알아보기
____스프링배치애플리케이션프로파일링하기
__잡확장하기
____다중스레드스텝
____병렬스텝
____병렬스텝구성하기
____AsyncItemProcessor와AsyncItemWriter
____파티셔닝
____원격청킹
__요약

12장.클라우드네이티브배치
__12요소애플리케이션
____코드베이스
____의존성
____구성
____백엔드서비스
____빌드,릴리스,실행
____프로세스
____포트바인딩
____동시성
____폐기가능
____개발/운영환경일치
____로그
____관리자프로세스
__간단한배치잡
__서킷브레이커
__구성외부화
____스프링클라우드컨피그
____유레카를사용한서비스바인딩
__배치처리오케스트레이션
____유레카를사용한서비스바인딩
__요약

13장.배치처리테스트하기
__JUnit과Mockito를사용한단위테스트
____JUnit
____목(Mock)객체
____Mockito
__스프링클래스를사용해통합테스트하기
____스프링을사용해통합테스트하기
____스프링배치테스트하기
__요약

출판사 서평

작가의말

옮긴이의말
지금도보이지않는어딘가에서열심히동작하는배치처리는일반사용자가직접접하기어려운까닭에낯설수도있습니다.하지만배치처리는현대IT시스템에서필수적이고어디에나존재하며누구나간접적으로경험합니다.예를들어우리는주기적으로이메일을받기도하며매일특정시간에수행되는은행정산배치처리등으로인해온라인은행서비스를이용할수없다는메시지를볼수도있습니다.이러한배치처리는목적에따라다르기는하지만지정된시각에수행돼야하고,엄청난양의데이터를제한된시간내에완료해야하며,처리에실패했다면별도의후속처리를해야하기도합니다.대량데이터를처리하는까닭에성능도최적화해야합니다.스프링배치를사용하는이유는바로이러한다양한사항을고려한배치처리를매우효율적으로만들수있기때문입니다.
스프링배치는배치처리를개발할때고려해야하는많은개념과기능을제공합니다.단순한시나리오부터미션크리티컬한시나리오까지수많은상황에대응할수있습니다.그러나배치라는분야의특성상개념이생소하기도하고참고할수있는자료가스프링프레임워크에비해많지는않습니다.이러한상황에서스프링배치개발팀의리더가직접저술한이책은매우유용합니다.기초개념의이해부터클라우드네이티브를활용하는수준까지폭넓은내용을접할수있습니다.또한시나리오기반의다양한예제는책의내용을이해하는데도움을주는것은물론이고기업에서필요한수준의배치처리를개발하는데실제로활용할수도있을것입니다.배치처리에스프링배치를사용하는것을고려하고있다면이책을통해서더욱쉽고효율적으로사용할수있게될것이라고확신합니다.