本書ã¯ã‚·ã‚¹ãƒ†ãƒ ã®è‡ªå‹•化や「並列分散ã€å‡¦ç†ã«èˆˆå‘³ã®ã‚ã‚‹Java開発者をターゲットã«ã—ãŸSpring Integration入門書ã¨ãªã‚Šã¾ã™ã€‚
目的
システムã®è‡ªå‹•化やã€ä¸¦åˆ—分散システムã®ãŸã‚ã®ã‚¢ãƒ¼ã‚テクãƒãƒ£ãƒ¼ã‚’è¨è¨ˆã‚’ã•れã¦ã„るアーã‚テクト・エンジニアã«Spring FrameworkãŠã‚ˆã³ã€Spring Integrationã«ãµã‚Œã¦é ‚ãã“ã¨ã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚ESB/EIPã®çµŒé¨“ãŒç„¡ã„æ–¹ã«ã¨ã£ã¦ã¯ã€æ¯”較的入りやã™ã„入門書ã¨ãªã‚Šã¾ã™ã—ã€ã™ã§ã«Spring Integrationã‚„ã€Mule ESBã€Camelãªã©ã®çµŒé¨“者ã§ã‚ã£ã¦ã‚‚ã€Spring Integration 4.1xã‹ã‚‰å°Žå…¥ã•ã‚ŒãŸæ–°æ©Ÿèƒ½ã‚’盛り込んã§ã„ã‚‹ãŸã‚ã€ï¼ˆ2015å¹´ã®æ™‚点ã§ã¯ï¼‰æœ€æ–°æ©Ÿèƒ½ã«é–¢ã™ã‚‹å…¥é–€ã¨ãªã‚‹ã¨è€ƒãˆã¾ã™ã€‚
システム間連æºã®è‡ªå‹•化
Spring Integrationã®æœ€å¤§ã®å¼·ã¿ã¯ã€ã‚·ã‚¹ãƒ†ãƒ è¨è¨ˆã®æŸ”軟性ã§ã‚りã€è±Šå¯ŒãªAPIã«ã‚ˆã‚‹æ¥å‹™ã®è‡ªå‹•化ã§ã™ã€‚言語やプラットフォームã«é–¢ä¿‚ã®ãªã„çµ±åˆã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースã¨ã—ã¦ã€å¤å…¸çš„ã«æ‰‹å‹•ã§ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ãŒä½œæ¥ã—ã¦ã„ãŸãƒ¯ãƒ¼ã‚¯ãƒ•ãƒãƒ¼ç‰ã‚‚Spring Integrationã«ã‚ˆã‚Šå…¨è‡ªå‹•化もå¯èƒ½ã¨ãªã‚‹äº‹ä¾‹ãŒå¤šãã‚りã¾ã™ã€‚
例ãˆã°ãƒ“ッグデータã®åŸºç›¤ã‚’è¨è¨ˆã™ã‚‹éš›ã«ã¯ã€FTPã€ã‚·ã‚¹ãƒã‚°ã€ãƒ¡ãƒ¼ãƒ«ãªã©ã®å¤–部ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’リアルタイムã§å¼•ã£å¼µã‚‹ãªã©ã®ã‚·ã‚¹ãƒ†ãƒ を自動化をã™ã‚‹ã®ã‚‚最低é™ã®æ‰‹é–“ã§å®Ÿè£…ãŒå¯èƒ½ã§ã™ã€‚ã¾ãŸã€AMQPã‚„SOAPç‰ã‚’使ã£ãŸãƒŸãƒ‰ãƒ«ã‚¦ã‚§ã‚¢ã¨ã®é€£çµã‚‚広ãサãƒãƒ¼ãƒˆã•れã¦ãŠã‚Šã€æ—¢ã«SOA環境ãŒã‚るシステムを強化ã—ãŸã‚Šã€è‡ªå‹•化ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
Spring Frameworkã¨ã¯
Spring Frameworkã¯æµ·å¤–(ã¾ãŸã¯å¤–資系)ã®å¤§ä¼æ¥ã§åºƒã使ã‚れã¦ã„ã‚‹Javaフレームワークã§ã™ã€‚ç¾åœ¨ã‚ã‚‹å¤–è³‡ç³»ä¼æ¥ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãƒ™ãƒ¼ã‚¹ã®å¤§åŠã¯2005~2008å¹´ã®ãƒªãƒ¼ãƒžãƒ³ã‚·ãƒ§ãƒƒã‚¯ä»¥å‰ã®ã‚‚ã®ã§ã™ãŒã€ã“ã®æ™‚期ã«ã¯è©•判ã®èгã—ããªã„EJB/J2EEã‹ã‚‰Spring Frameworkã¸ç§»è¡Œã™ã‚‹ä¼æ¥ãŒå¤šãã‚りã¾ã—ãŸã€‚2008年9月ã®ãƒªãƒ¼ãƒžãƒ³ã‚·ãƒ§ãƒƒã‚¯å¾Œã¯ä¼æ¥ã«è¿½åŠ æŠ•è³‡ã™ã‚‹ä½™åŠ›ãŒç„¡ãã€ãƒ†ã‚¹ãƒˆæ¸ˆã¿ã®ã‚·ã‚¹ãƒ†ãƒ ã‹ã‚‰Java EE(EJB/J2EEã®å¾Œç¶™ï¼‰ã«å›žå¸°ã™ã‚‹ã»ã©ã®ã‚¤ãƒ³ã‚»ãƒ³ãƒ†ã‚£ãƒ–ã‚‚æ¬ ã‘ã¦ã„ãŸãŸã‚ã€ãã®å¾Œã®Java EEã®ãƒªãƒ‹ãƒ¥ãƒ¼ã‚¢ãƒ«ã«ãŸã„ã—ã¦ã‚‚無関心ãªå‚¾å‘ãŒå¤–資系・海外ã®å¤§ä¼æ¥ã§ã¯ç¾åœ¨ã¾ã§ç¶šã„ã¦ã„る状æ³ã§ã™ã€‚
目次
ç¬¬ä¸€ç« ã€€Spring Frameworkã®ã¾ã¨ã‚
ç¬¬äºŒç« ã€€åŸºæœ¬æ©Ÿèƒ½
基本アーã‚テクãƒãƒ£ãƒ¼
基本構æˆ
Namespace
Message
MessageChannel
PollableChannel
Endpoint
ServiceActivator
実装例:Hello, World
Spring Integration環境è¨å®š
Maven Repository(Gemfire)
ç¬¬ä¸‰ç« ã€€Message
Message Header
GenericMessageã¨MessageBuilder
Messageã®å®Ÿè£…例
ç¬¬å››ç« ã€€Channel
Message Channel
PollableChannel (ãƒãƒƒãƒ•ァー有り)
SubscribableChannel(ãƒãƒƒãƒ•ァー無ã—)
PublishSubscribeChannel
QueueChannel
PriorityChannel
RendezvousChannel
DirectChannel
ExecutorChannel
datatypeã®è¨å®š
ChannelInterceptor
Wire Tap
実装例â¶ï¼ˆdatatypeã¨DirectChannel)
型変æ›ï¼ˆConverterインターフェース)
ChannelInterceptor
実装例â·ï¼ˆJMSメッセージãƒãƒ£ãƒ³ãƒãƒ«ï¼‰
JMS Channel Adapterã®å®Ÿè£…例
実装例â¸ï¼ˆAMQPメッセージãƒãƒ£ãƒ³ãƒãƒ«ï¼‰
ç¬¬äº”ç« ã€€Message Endpoints
メッセージConsumerã®å®Ÿè£…ã®ãŸã‚ã®ç’°å¢ƒè¨å®š
EventDrivenConsumer
PollingConsumerã®å®Ÿè£…例
Gateway
Gatewayã®å®Ÿè£…例
Inbound ・ Outbound Gateway
JMS Gateway
Gatewayã®å®Ÿè£…例
第å…ç« ã€€Transformer
Canonical Data Model
環境è¨å®š
ジェãƒãƒªãƒƒã‚¯Transformer
object-to-string-transformer
シリアル化
object-to-json-transformer
object-to-xml-transformer
ç¬¬ä¸ƒç« ã€€Enricher
Header Enricherã®åŸºæœ¬æ©Ÿèƒ½
Header Enricherã®æ©Ÿèƒ½ã«ã¤ã„ã¦ã®è£œè¶³
Payload Enricher
ç¬¬å…«ç« ã€€Flow Components
Message Router
Routerã®ç¨®é¡žã¨è¨å®š
Payload Type Router
Header Value Router
Header Value Routerã®å®Ÿè£…例
Header Value Router(XML宣言ã«ã‚ˆã‚‹è¨å®šï¼‰
Recipient List Router
Recipient List Routerã®å®Ÿè£…
Routing Slip
Splitter
Aggregator
Aggregatorã®å®Ÿè£…例
Resequencer
Scatter-Gatherer
第ä¹ç«  Adapter
Channel Adapter
Poller
Channel Adapter
Channel Adapterã®å®Ÿè£…例
第åç« ã€€å¤–éƒ¨é€£æºã‚¢ãƒ€ãƒ—ター
File
FileReadingMessageSource
Tailオプション
File Adapterã®å®Ÿè£…例
JDBCアダプター
JDBCã®è¨å®š(HSQL)
Jdbc Outbound Gateway
Jdbc Outbound Gatewayã®å®Ÿè£…
JDBC インãƒã‚¦ãƒ³ãƒ‰ãƒãƒ£ãƒ³ãƒãƒ«ãƒ»ã‚¢ãƒ€ãƒ—ター
Jdbc Inbound Channel Adapterã®å®Ÿè£…
JDBC アウトãƒã‚¦ãƒ³ãƒ‰ãƒãƒ£ãƒ³ãƒãƒ«ãƒ»ã‚¢ãƒ€ãƒ—ター
Jdbc Outbound Channel Adapterã®å®Ÿè£…例
Stream
Streamã®å®Ÿè£…例
Syslog
Syslogアダプターã®å®Ÿè£…例
POP3
POP3 インãƒã‚¦ãƒ³ãƒ‰ãƒãƒ£ãƒ³ãƒãƒ«ã‚¢ãƒ€ãƒ—ターã®å®Ÿè£…
SMTP
FTP
FTPセッションファクトリーã®è¨å®š
FTPアウトãƒã‚¦ãƒ³ãƒ‰ãƒãƒ£ãƒ³ãƒãƒ«ã‚¢ãƒ€ãƒ—ター
FTPインãƒã‚¦ãƒ³ãƒ‰ãƒãƒ£ãƒ³ãƒãƒ«ã‚¢ãƒ€ãƒ—ター
HTTPアダプター
実装例(プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã¨ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ï¼‰
第åä¸€ç« ã€€MessageStore
基本用法
Claim Check
第åäºŒç« ã€€AOP機能ã®é©ç”¨
Retry Advice
Idempotent Receiver
第åä¸‰ç« ã€€JPAサãƒãƒ¼ãƒˆ
JPAã®è¨å®š
JPAインãƒã‚¦ãƒ³ãƒ‰ãƒ»ãƒãƒ£ãƒ³ãƒãƒ«ãƒ»ã‚¢ãƒ€ãƒ—ター
JPAアウトãƒã‚¦ãƒ³ãƒ‰ãƒ»ãƒãƒ£ãƒ³ãƒãƒ«ãƒ»ã‚¢ãƒ€ãƒ—ター
第åå››ç« ã€€HDFS(Hadoop)連æº
FsShell
FsShell(HDFS)アウトãƒã‚¦ãƒ³ãƒ‰ãƒãƒ£ãƒ³ãƒãƒ«ã‚¢ãƒ€ãƒ—ター実装
Spring Batchã¨ã®é–¢ä¿‚
第åäº”ç« ã€€SOAP連æº
XMLスã‚ーマã®ç”Ÿæˆ
GetQuoteRequestã‚¿ã‚°ã¨XSDã¸ã®å¤‰æ›
GetQuoteResponseã‚¿ã‚°ã¨XSDã¸ã®å¤‰æ›
quotes.xsdã®ç”Ÿæˆ
SOAPゲートウェイ・WSDLã®å®Ÿè£…
SOAPゲートウェイサーãƒãƒ¼ã®å®Ÿè¡Œ