You are previewing SOA with Java: Realizing Service-Orientation with Java Technologies.
O'Reilly logo
SOA with Java: Realizing Service-Orientation with Java Technologies

Book Description

“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 awaited SOA with Java book is an excellent addition to the series. It is 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. In SOA 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

  • Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Dedication Page
    5. Contents at a Glance
    6. Contents
    7. Foreword by Mark Little
    8. Acknowledgments
    9. Chapter 1. Introduction
      1. 1.1 About This Book
      2. 1.2 Prerequisite Reading
      3. 1.3 How Principles and Patterns Are Used in This Book
      4. 1.4 Symbols and Figures
      5. 1.5 Additional Information
    10. Chapter 2. Case Study Examples
      1. 2.1 How Case Study Examples Are Used
      2. 2.2 Case Study Background: NovoBank
      3. 2.3 Case Study Background: SmartCredit Co.
    11. Part I: Fundamentals
      1. Chapter 3. Fundamental SOA Concepts
        1. 3.1 Basic Terminology and Concepts
        2. 3.2 Further Reading
      2. Chapter 4. Basic Java Distributed Technologies
        1. 4.1 Java Distributed Computing Basics
        2. 4.2 Java Distributed Technologies and APIs
        3. 4.3 XML Standards and Java APIs
        4. 4.4 Building Services with Java Components
        5. 4.5 Java Vendor Platforms
      3. Chapter 5. Web-Based Service Technologies
        1. 5.1 SOAP-Based Web Services
        2. 5.2 REST Services
      4. Chapter 6. Building Web-Based Services with Java
        1. 6.1 JAX-WS
        2. 6.2 Java Implementations of WS-* Standards
        3. 6.3 JAX-RS
    12. Part II: Services
      1. Chapter 7. Service-Orientation Principles with Java Web-Based Services
        1. 7.1 Service Reusability
        2. 7.2 Standardized Service Contract
        3. 7.3 Service Loose Coupling
        4. 7.4 Service Abstraction
        5. 7.5 Service Composability
        6. 7.6 Service Autonomy
        7. 7.7 Service Statelessness
        8. 7.8 Service Discoverability
      2. Chapter 8. Utility Services with Java
        1. 8.1 Inside the Java Utility Service
        2. 8.2 Utility Service Design and Implementation
        3. 8.3 Utility Service Types
      3. Chapter 9. Entity Services with Java
        1. 9.1 Inside the Java Entity Service
        2. 9.2 Java Entity Service Design and Implementation
    13. Part III: Service Composition and Infrastructure
      1. Chapter 10. Task Services with Java
        1. 10.1 Inside a Task Service
        2. 10.2 Building Task Services
      2. Chapter 11. Service Composition with Java
        1. 11.1 Inside Service Compositions
        2. 11.2 Java Service Composition Design and Implementation
        3. 11.3 Service and Service Composition Performance Guidelines
      3. Chapter 12. ESB as SOA Infrastructure
        1. 12.1 Basic Traditional Messaging Frameworks
        2. 12.2 Basic Service Messaging Frameworks
        3. 12.3 Common ESB Features Relevant to SOA
    14. Part IV: Appendices
      1. Appendix A. Case Study Conclusion
        1. A.1 NovoBank
        2. A.2 SmartCredit Co.
      2. Appendix B. Service-Orientation Principles Reference
      3. Appendix C. SOA Design Patterns Reference
        1. Agnostic Capability
        2. Agnostic Context
        3. Agnostic Sub-Controller
        4. Asynchronous Queuing
        5. Atomic Service Transaction
        6. Brokered Authentication
        7. Canonical Expression
        8. Canonical Protocol
        9. Canonical Resources
        10. Canonical Schema
        11. Canonical Schema Bus
        12. Canonical Versioning
        13. Capability Composition
        14. Capability Recomposition
        15. Compatible Change
        16. Compensating Service Transaction
        17. Composition Autonomy
        18. Concurrent Contracts
        19. Content Negotiation
        20. Contract Centralization
        21. Contract Denormalization
        22. Cross-Domain Utility Layer
        23. Data Confidentiality
        24. Data Format Transformation
        25. Data Model Transformation
        26. Data Origin Authentication
        27. Decomposed Capability
        28. Decoupled Contract
        29. Direct Authentication
        30. Distributed Capability
        31. Domain Inventory
        32. Dual Protocols
        33. Endpoint Redirection
        34. Enterprise Inventory
        35. Enterprise Service Bus
        36. Entity Abstraction
        37. Entity Linking
        38. Event-Driven Messaging
        39. Exception Shielding
        40. Federated Endpoint Layer
        41. File Gateway
        42. Functional Decomposition
        43. Idempotent Capability
        44. Intermediate Routing
        45. Inventory Endpoint
        46. Legacy Wrapper
        47. Lightweight Endpoint
        48. Logic Centralization
        49. Message Screening
        50. Messaging Metadata
        51. Metadata Centralization
        52. Multi-Channel Endpoint
        53. Non-Agnostic Context
        54. Official Endpoint
        55. Orchestration
        56. Partial State Deferral
        57. Partial Validation
        58. Policy Centralization
        59. Process Abstraction
        60. Process Centralization
        61. Protocol Bridging
        62. Proxy Capability
        63. Redundant Implementation
        64. Reliable Messaging
        65. Reusable Contract
        66. Rules Centralization
        67. Schema Centralization
        68. Service Agent
        69. Service Broker
        70. Service Callback
        71. Service Data Replication
        72. Service Decomposition
        73. Service Encapsulation
        74. Service Façade
        75. Service Grid
        76. Service Instance Routing
        77. Service Layers
        78. Service Messaging
        79. Service Normalization
        80. Service Perimeter Guard
        81. Service Refactoring
        82. State Messaging
        83. State Repository
        84. Stateful Services
        85. Termination Notification
        86. Three-Layer Inventory
        87. Trusted Subsystem
        88. UI Mediator
        89. Uniform Contract
        90. Utility Abstraction
        91. Validation Abstraction
        92. Version Identification
      4. Appendix D. The Annotated SOA Manifesto
        1. The Annotated SOA Manifesto
    15. About the Authors
      1. Thomas Erl
      2. Andre Tost
      3. Satadru Roy
      4. Philip Thomas
    16. About the Foreword Contributor
      1. Mark Little
    17. About the Contributors
      1. Raj Balasubramanian
      2. David Chou
      3. Thomas Plunkett
    18. Index