Home>Store

SOA with Java (paperback): Realizing ServiceOrientation with Java Technologies

Register your productto gain access to bonus material or receive a coupon.

SOA with Java (paperback): Realizing ServiceOrientation with Java Technologies

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2014
  • Dimensions: 7" x 9-1/8"
  • Pages: 592
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-476745-4
  • ISBN-13: 978-0-13-476745-1

“An outstanding depth-and-breadth resource for IT architects and Java professionals to understand and apply the marriage of SOA and modern Java.”
--Antonio Bruno, Enterprise Architecture and Strategy, digitalStrom

“A great self-contained book on SOA using flexible Java implementations....”
--Roger Stoffers, Hewlett Packard

“Provides clarity on abstract concepts and is filled with concrete examples of implementing SOA principles in Java environments.”
--Sanjay Singh, Certified SOA Architect

“...provides a holistic, comprehensive view on leveraging SOA principles and architecture for building and deploying performant Java services.”
--Suzanne D’Souza, KBACE Technologies

“Thomas Erl’s series of books on services technology have shaped, influenced, and strengthened a whole community of enterprise and solution architects’ thinking and solution development, and the much awaitedSOA with Java书是一个优秀的系列。它是a must-read.”
--Lalatendu Rath, Wipro Technologies

The Definitive Guide to Building Service-Oriented Solutions with Lightweight and Mainstream Java Technologies

Java has evolved into an exceptional platform for building Web-based enterprise services. InSOA with Java, Thomas Erl and several world-class experts guide you in mastering the principles, best practices, and Java technologies you need to design and deliver high-value services and service-oriented solutions.

You’ll learn how to implement SOA with lightweight frameworks, mainstream Java services technologies, and contemporary specifications and standards. To demonstrate real-world examples, the authors present multiple case study scenarios. They further demystify complex concepts with a plain-English writing style. This book will be valuable to all developers, analysts, architects, and other IT professionals who want to design and implement Web-based service-oriented architectures and enterprise solutions with Java technologies.

Topic Areas

  • Applying modern service-orientation principles to modern Java technology platforms
  • Leveraging Java infrastructure extensions relevant to service-oriented solutions
  • Exploring key concepts associated with SOA and service-orientation within the context of Java
  • Reviewing relevant Java platforms, technologies, and APIs
  • Understanding the standards and conventions that REST and SOAP services are built upon in relation to Java implementations
  • Building Java Web-based services with JAX-WS and JAX-RS
  • Applying the eight key principles of service-orientation design using Java tools and technologies
  • Creating Java utility services: architectural, design, and implementation issues
  • Constructing effective entity services: service contracts, messages, data access, and processing
  • Constructing task services, including detailed guidance on service composition
  • Using ESBs to support infrastructure requirements in complex services ecosystems

Sample Content

Table of Contents

Foreword xix
CHAPTER 1: Introduction 1

1.1 About This Book 2
Objectives of This Book 2
Who This Book Is For 2
What This Book Does Not Cover 3
1.2 Prerequisite Reading 3
How This Book Is Organized 4
1.3 How Principles and Patterns Are Used in This Book 7
1.4 Symbols and Figures 7
1.5 Additional Information 7
Updates, Errata, and Resources (www.servicetechbooks.com) 8
Referenced Specifications (www.servicetechspecs.com) 8
The Service Technology Magazine (www.servicetechmag.com) 8
Service-Orientation (www.serviceorientation.com) 8
What Is REST? (www.whatisrest.com) 8
What Is Cloud? (www.whatiscloud.com) 8
SOA and Cloud Computing Design Patterns (www.soapatterns.org, www.cloudpatterns.org) 8
SOA Certified (SOACP) Professional (www.soaschool.com) 9
Cloud Certified Professional (CCP) (www.cloudschool.com) 9
Big Data Science Certified Professional (BDSCP) (www.bigdatascienceschool.com) 9
Notification Service 9
CHAPTER 2: Case Study Examples 11
2.1 How Case Study Examples Are Used 12
Style Characteristics 12
Relationship to Abstract Content 12
Code Samples 12
2.2 Case Study Background: NovoBank 13
Technical Infrastructure 13
Automation Solutions 13
Business Obstacles and Goals 14
Future IT Roadmap 15
1. Build Reusable Business Services 15
2. Consolidate Information 16
3. Improve Channel Experience 16
4. Build Services Infrastructure 16
2.3 Case Study Background: SmartCredit Co 16
Technical Infrastructure 17
Automation Solutions 17
Business Goals 17
Future IT Roadmap 18
PART I: FUNDAMENTALS
CHAPTER 3: Fundamental SOA Concepts 21

3.1 Basic Terminology and Concepts 22
Service-Oriented Computing 22
Service-Orientation 24
Service-Oriented Architecture (SOA) 27
SOA Manifesto 28
Services 29
Cloud Computing 29
IT Resources 30
Service Models 30
Agnostic Logic and Non-Agnostic Logic 31
Service Inventory 32
Service Portfolio 32
Service Candidate 33
Service Contract 33
Service-Related Granularity 34
Service Profiles 35
SOA Design Patterns 36
3.2 Further Reading 38
CHAPTER 4: Basic Java Distributed Technologies 39
4.1 Java Distributed Computing Basics 40
Java SE Architecture 41
Java EE Architecture 41
The Beginning of Java EE 41
Application Packaging and Deployment 44
Deployment Descriptors 44
Java EE Architectural Tiers 45
4.2 Java Distributed Technologies and APIs 46
Java SE APIs 46
RMI 46
RMI / IIOP 47
JNDI 48
JDBC 49
Java EE APIs 49
Contexts and Dependency Injection 49
JTA 50
Java EE Connector Architecture 51
EJB 51
Session EJBs 52
Persistence Entities 53
Service-Orientation Principles and the EJB Model 55
JMS 56
Message-Driven Beans 58
Security in Java EE 58
4.3 XML Standards and Java APIs 59
XML 59
XML Schema Definition 61
XSLT 63
JAXP 63
JAXB 64
4.4 Building Services with Java Components 64
Components as Services 65
Application Protocols 65
Service Contracts 68
Location 68
Operations 69
Messages 69
Further Considerations 70
Components as Services and Service-Orientation 71
Standardized Service Contract 71
Service Loose Coupling 71
Service Abstraction 72
Service Discoverability 72
4.5 Java Vendor Platforms 74
GlassFish Enterprise Server 74
IBM WebSphere Application Server 75
IBM WebSphere Application Server Community Edition 78
Oracle WebLogic Server 79
CHAPTER 5: Web-Based Service Technologies 81
5.1 SOAP-Based Web Services 82
Extensibility of Web Services Standards (WS-*) 88
WS-Addressing 89
SOAP with Attachments (SwA) 90
WS-ReliableMessaging 91
WS-Transaction 92
WS-Security 93
WS-Policy 94
我们b Services Distributed Management 95
Common Web Services Middleware 95
Enterprise Service Bus (ESB) 95
Orchestration 97
Management and Monitoring 99
Registries and Repositories 99
Service Construction and Assembly 100
5.2 REST Services 101
HTTP Response Codes 102
Resources and Addresses 103
Service Request 104
Service Response 104
Service Request 104
Service Response 104
HTTP Methods 106
Resource Representations 108
The ACCEPT Header 109
CHAPTER 6: Building Web-Based Services with Java 111
6.1 JAX-WS 112
SAAJ 115
Handlers 118
我们b Services Engines and Toolkits 119
JAXR 120
6.2 Java Implementations of WS-* Standards 122
Advanced Web Services Standards and Frameworks 122
Service Component Architecture 123
Spring-WS 124
6.3 JAX-RS 124
Implementing JAX-RS 125
Implementing REST Services 129
Scalability 130
Statelessness 131
Uniform Contract 131
Cacheability 131
Addressability 132
Security 132
REST Service Support 134
PART II: SERVICES
CHAPTER 7: Service-Orientation Principles with Java Web-Based Services 139

7.1 Service Reusability 140
Agnostic Functional Contexts 140
Highly Generic Service Logic 141
Generic and Extensible Service Contracts 144
Concurrent Access to Service Logic 145
7.2 Standardized Service Contract 151
Top-Down vs. Bottom-Up 151
Mapping Between Java and WSDL 152
Wrapped Document/Literal Contracts 153
Implicit and Explicit Headers 154
Explicit Headers 154
Implicit Headers 157
No Headers 159
Data Mapping with REST 159
Conversion Between JSON and POJOs 161
Binary Data in Web Services 165
Binary Data in REST Services 170
Use of Industry Standards 175
7.3 Service Loose Coupling 176
Separation of Contract and Implementation 177
Independent Functional Contexts 179
Service Consumer Coupling 180
7.4 Service Abstraction 184
Abstracting Technology Details 185
Hiding Service Details 185
文档约束188
7.5 Service Composability 189
Runtime Environment Efficiency 190
Service Contract Flexibility 192
Standards-Based Runtime 193
7.6 Service Autonomy 194
我们ll-Defined Functional Boundary 194
Runtime Environment Control 195
High Concurrency 196
7.7 Service Statelessness 197
Orchestration Infrastructure 198
Session State 198
Storing State 199
7.8 Service Discoverability 204
Design-Time Discoverability 204
Runtime Discoverability 205
Service Registries 208
CHAPTER 8: Utility Services with Java 211
8.1 Inside the Java Utility Service 212
Architectural Considerations 212
Utility Service Taxonomy 220
8.2 Utility Service Design and Implementation 221
Utility Service Design 221
Utility Services and Java Editions 226
Utility Services in Java SE 226
Utility Services in Java EE 227
Utility Services and Open-Source Frameworks 229
Spring Framework 229
Transaction Management 229
Data Access Objects 230
Object-Relational Mapping 230
JMS 230
JMX 230
JCA 231
Spring MVC 231
Hibernate 231
Commons Logging and Log4J 231
Utility Services as Web-Based Services 231
Sending XML Data as a String 232
Utilizing 233
Provider-Style网络Service Logic in JAX-WS 234
Building REST Utility Services 236
Testing Considerations 238
Packaging Considerations 239
8.3 Utility Service Types 240
Omni Utility Services 240
Design Considerations 241
Service Implementation 241
Service Consumption 241
Resource Utility Services 248
Persistence/Data Access Resources 248
Messaging Resources 248
Transaction Resources 249
Design Considerations 249
Service Implementation 251
Service Consumption 251
Micro-Utility Services 253
Design Considerations 253
Service Implementation 253
Service Consumption 254
Wrapper Utility Services 257
Design Considerations 258
Service Implementation 259
Service Consumption 259
CHAPTER 9: Entity Services with Java 261
9.1 Inside the Java Entity Service 262
Architectural Considerations 263
Domain Entities vs. Message Entities 265
Data Aggregation 266
Data Access Modes 267
Change Notifications 268
9.2 Java Entity Service Design and Implementation 270
Entity Service Design 270
Designing Domain Entities and Message Entities 271
Designing Stateless Entity Services 272
Designing Business-Relevant Entity Services 273
Designing Generic Entity Services 273
Designing Aggregating Entity Services 275
Entity Service Implementation 278
Java Editions 278
Entity Services as Web-Based Services 282
Entity Web Services Using SOAP 283
REST Entity Services 291
Read-Only and Read-Write Resources 292
Resource Granularity 292
Resource Creation and Location 292
Request Message 292
Response Message 293
294年资源关系
Request Message 294
Response Message 294
Request Message 295
Resource Collections 295
Request Message 295
Response Message 295
Aggregate Entities 297
Request Message 298
Response Message 298
Open-Source Frameworks 302
Testing Considerations 302
Java Packaging Considerations 303
PART III: SERVICE COMPOSITION AND INFRASTRUCTURE
CHAPTER 10: Task Services with Java 307

10.1 Inside a Task Service 308
Performance Considerations 315
316年10.2构建任务服务
Implementation Considerations 316
我们b-Based Task Services 320
Task Services with SOAP and WSDL 320
Task Services with REST 324
Testing Considerations 332
Packaging Considerations 334
CHAPTER 11: Service Composition with Java 335
11.1 Inside Service Compositions 336
Service Composition Roles 336
Compositions and MEPs 337
Synchronous and Asynchronous Invocation 338
Service Level Agreements (SLAs) 339
11.2 Java Service Composition Design and Implementation 340
Composition Logic: Coding vs. Orchestration 340
REST Service Composition Considerations 341
Composition Member Endpoints 344
Error Handling 345
Schema Type Reuse 353
我们b-Based Services vs. Java Components 359
Packaging, Testing and Deploying Composed Services 362
11.3 Service and Service Composition Performance Guidelines 368
Measuring Performance 368
Testing Performance 370
Caching 371
Data Grids 371
REST Caching 372
Scaling Out Services with State 374
Handling Failures 375
Parsing and Marshaling 376
CHAPTER 12: ESB as SOA Infrastructure 379
12.1 Basic Traditional Messaging Frameworks 380
RPC vs. Messaging 381
Technology Coupling 82
Spatial Coupling 382
Temporal Coupling 382
Message Producers and Message Consumers 385
12.2 Basic Service Messaging Frameworks 389
Basic Service Message Processing without ESBs 389
Message Routing without an ESB 390
Message Transformation without an ESB 391
Basic Service Message Processing with ESBs 392
Message Routing with an ESB 392
Message Transformation with an ESB 392
12.3 Common ESB Features Relevant to SOA 397
Service Lookup and Invocation 397
Service Processing 399
Service Composition Support 401
REST API Management Support 402
PART IV: APPENDICES
APPENDIX A: Case Study Conclusion 405

A.1 NovoBank 406
A.2 SmartCredit Co. 407
APPENDIX B: Service-Orientation Principles Reference 409
APPENDIX C: SOA Design Patterns Reference 425
APPENDIX D: The Annotated SOA Manifesto 519
About the Authors 533
About the Foreword Contributor 535
About the Contributors 537
Index 539

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

收集和使用of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

通过我们的在线订单和购买放置store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simplyemailinformation@informit.com

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

我们communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through ourContact Us form

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

我们b Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on theAccount page。If a user no longer desires our service and desires to delete his or her account, please contact us atcustomer-service@informit.comand we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive:www.e-skidka.com/u.aspx

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information toNevadaDesignatedRequest@pearson.com

Supplemental Privacy Statement for California Residents


California residents should read ourSupplemental privacy statement for California residentsin conjunction with this Privacy Notice. TheSupplemental privacy statement for California residentsexplains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Pleasecontact usabout this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


我们may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

最后更新:2020年11月17日