SPECIAL OFFERS
Keep up with new releases and promotions. Sign up to hear from us.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Use Java CAPS to Streamline IT Services and Leverage Legacy Applications
Design patterns are a useful tool for streamlining enterprise integration and Web development projects: the mission-critical projects that directly impact your competitiveness. Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf (Addison-Wesley, 2004) described many of the most useful patterns for enterprise developers. Until recently, however, implementing the patterns in that classic reference required the extensive use of raw Java code. Now there’s a better alternative: Using Sun’s Java Composite Application Suite (Java CAPS), architects and developers can implement enterprise integration patterns succinctly, elegantly, and completely.
In Java™ CAPS Basics, Sun’s own Java CAPS experts show how to quickly put these new tools and technologies to work in your real-world enterprise application integration projects. After reviewing the challenges of enterprise integration, they introduce Java CAPS and show how it can simplify the development of today’s state-of-the-art “composite” applications. Next, they bridge the gap between abstract pattern languages and practical implementation details. You will learn essential Java CAPS concepts and methods in the context of the patterns you’ll actually use for real-world message and system management.
Coverage includes
Preface xiii
Acknowledgments xxv
About the Authors xxvii
SECTION I: PRELIMINARIES 1
Chapter 1: Enterprise Integration Styles 3
1.1 Introduction 3
1.2 File Transfer 3
1.3 Database Sharing 4
1.4 Remote Procedure Invocation 5
1.5 Messaging 6
1.6 Service Orchestration 7
1.7 Centralized versus Distributed 8
1.8 Chapter Summary 11
Chapter 2: Java CAPS Architecture 13
2.1 Introduction 13
2.2 Historical Note 13
2.3 Context 14
2.4 Java CAPS Architecture 16
2.5 Solution Development Stages 20
2.6 Chapter Summary 23
Chapter 3: Project Structure and Deployment 25
3.1 Introduction 25
3.2 From Logical Solution to Physical Deployment 26
3.3 Project Structure Considerations 26
3.4 Backup of Development Artifacts 36
3.5 Release Management 40
3.6 Deployment Architectures 50
3.7 Command-Line Build and Deployment 54
3.8 Chapter Summary 56
SECTION II: PATTERNS REVIEW AND APPLICATION 57
Chapter 4: Message Exchange Patterns 59
4.1 Introduction 59
4.2 Document Message 60
4.3 Command Message 60
4.4 Event Message 61
4.5 Request/Reply 63
4.6 Return Address 76
4.7 Correlation 77
4.8 Message Sequence 77
4.9 Message Expiration 82
4.10 Format Indicator 86
4.11 Data Streaming 88
4.12 Message Security 90
4.13 Chapter Summary 91
Chapter 5: Messaging Infrastructure 93
5.1 Introduction 93
5.2 Java Message Service (JMS) 94
5.3 JMS Implementation Interoperability 95
5.4 Using JMS to Integrate Non-Java Environments 95
5.5 Queues versus Topics 96
5.6 Sun SeeBeyond IQ Manager 97
5.7 Resilient JMS with JMS Grid 119
5.8 Competing Consumers 127
5.9 Point-to-Point Channel 131
5.10 Publish-Subscribe Channel 132
5.11 Datatype Channel 132
5.12 Invalid Message Channel 136
5.13 Dead Letter Channel 136
5.14 Guaranteed Delivery 140
5.15 Channel Adapter 150
5.16 Messaging Bridge 151
5.17 Message Bus 157
5.18 Chapter Summary 158
Chapter 6: Message Routing 161
6.1 Introduction 161
6.2 Overview 161
6.3 Fixed Router 163
6.4 Content-Based Router 165
6.5 Message Filter 168
6.6 Recipient List 169
6.7 Splitter 171
6.8 Aggregator 172
6.9 Resequencer 173
6.10 Composed Message Processor 175
6.11 Scatter-Gather 175
6.12 Routing Slip 176
6.13 Process Manager 177
6.14 Message Broker 177
6.15 Chapter Summary 178
Chapter 7: Message Construction 179
7.1 Introduction 179
7.2 Message 179
7.3 Object Type Definitions 180
7.4 Envelope Wrapper 188
7.5 Chapter Summary 202
Chapter 8: Message Transformation 203
8.1 Introduction 203
8.2 Envelope Wrapper 203
8.3 Content Enricher 203
8.4 Content Filter 204
8.5 Claim Check 205
8.6 Normalizer 206
8.7 Canonical Data Model 207
8.8 Chapter Summary 208
Chapter 9: Messaging Endpoints 209
9.1 Introduction 209
9.2 Messaging Gateway 209
9.3 Transactional Client 210
9.4 Polling Consumer 211
9.5 Event-Driven Consumer 216
9.6 Competing Consumers 217
9.7 Message Dispatcher 218
9.8 Selective Consumer 219
9.9 Durable Subscriber 219
9.10 Idempotent Receiver 220
9.11 Service Activator 223
9.12 Chapter Summary 225
Chapter 10: System Management 227
10.1 Introduction 227
10.2 Java CAPS Monitoring and Management 227
10.3 Solution-Specific Management 317
10.4 Chapter Summary 331
SECTION III: SPECIALIZED JAVA CAPS TOPICS 333
Chapter 11: Message Correlation 335
11.1 Introduction 335
11.2 Overview 336
11.3 JMSCorrelationID 337
11.4 eInsight Correlations 337
11.5 eInsight Correlation Processor: First Cut 338
11.6 Correlation Identifier 343
11.7 eInsight Correlation Processor: Second Cut 344
11.8 Derived Correlation Identifiers 349
11.9 Derived Correlation Identifiers: Alternative 354
11.10 Message Relationship Patterns 357
11.11 eGate Correlation with Dynamic Selectors 366
11.12 Chapter Summary 369
Chapter 12: Reusability 371
12.1 Introduction 371
12.2 Using JMS Request/Reply 371
12.3 Using New Web Service Collaborations 372
12.4 Using eInsight Subprocesses for Reusability 373
12.5 Using eInsight Web Services for Reusability 378
12.6 eInsight Service Process Reusability Note 382
12.7 Chapter Summary 382
Chapter 13: Scalability and Resilience 383
13.1 Introduction 383
13.2 Distributing Components 383
13.3 Exception Handling 388
13.4 Compensation 394
13.5 High-Availability Architecture 395
13.6 Chapter Summary 407
Chapter 14: Security Features 409
14.1 Introduction 409
14.2 HTTP Proxy Server Configuration 409
14.3 HTTP Basic Authentication 410
14.4 Secure Sockets Layer (SSL, TLS) 415
14.5 Secure Batch FTP Variants 433
14.6 Chapter Summary 435
Bibliography 437
Index 445