Für diesen Artikel ist leider kein Bild verfügbar.

SOA with Java

Realizing Service-Orientation with Java Technologies
Buch | Hardcover
592 Seiten
2014
Prentice Hall (Verlag)
978-0-13-385903-4 (ISBN)
41,65 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
“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

Thomas Erl is a top-selling IT author, founder of Arcitura Education, editor of the Service Technology Magazine, and series editor of the Prentice Hall Service Technology Series from Thomas Erl. With more than 175,000 copies in print worldwide, his books have become international bestsellers and have been formally endorsed by senior members of major IT organizations, such as IBM, Microsoft, Oracle, Intel, Accenture, IEEE, HL7, MITRE, SAP, CISCO, HP, and many others. As CEO of Arcitura Education Inc. and in cooperation with CloudSchool.com and SOASchool.com, Thomas has led the development of curricula for the internationally recognized Cloud Certified Professional (CCP) and SOA Certified Professional (SOACP) accreditation programs, which have established a series of formal, vendor-neutral industry certifications obtained by thousands of IT professionals around the world. Thomas has toured more than 20 countries as a speaker and instructor and regularly participates in international conferences, including Service Technology Symposium and Gartner events. More than 100 articles and interviews by Thomas have been published in numerous publications, including The Wall Street Journal and CIO Magazine. Andre Tost works as a Senior Technical Staff Member and Software Architect in IBM’s Software Group. He is currently helping to develop and evolve the new PureApplication System cloud platform. Previously, Andre spent 10 years as an SOA consultant for IBM, leading large SOA transformation projects with clients worldwide. His specific focus was on SOA governance and middleware integration using enterprise service bus technology. Andre has co-authored several technical books and has published many articles on SOA and related topics. He is also a frequent conference speaker. Originally from Germany, he now works and lives in Rochester, Minnesota. He likes to watch, coach and play soccer whenever his busy schedule allows. Andre has a degree in Electrical Engineering from Berufsakademie Stuttgart, Germany. Satadru Roy is a Consultant Architect who has designed and built large-scale, distributed systems using Java-based technologies for the last two decades. In that time he has worked as a product engineer and services consultant at Java infrastructure software vendors such as BEA Systems, Sun Microsystems, and Oracle Inc. He currently helps customers build mobile and cloud-hosted applications where he alternates between wearing architect and development manager hats, while his main areas of focus are API design and lightweight integration using agile development methodologies. Satadru is also immersing himself in the growing eco-system of the Scala platform and believes they will play increasingly important roles in future cloud and Big Data applications. He holds a Masters degree in Engineering from Indian Institure of Science. Philip Thomas is an IT Architect in IBM’s Software Group. During his time in the technology sector, he has worked across industries and geographies with a range of organizations as a consultant on technology strategy and on the architecture, design, and implementation of a broad variety of solutions. His expertise spans a number of areas including Java/JEE, SOA, transaction processing systems, messaging/integration middleware, business process management, information management systems, and business analytics. He currently specializes in Big Data and analytics, based out of the UK. Prior to joining IBM in 2000, Phil trained as a physicist and holds a Ph.D. in experimental high-temperature superconductivity awarded by the University of Birmingham.

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
Web 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
Web 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
Document Constraints   188
7.5 Service Composability   189
Runtime Environment Efficiency   190
Service Contract Flexibility   192
Standards-Based Runtime   193
7.6 Service Autonomy   194
Well-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 Web 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
Resource Relationships   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
10.2 Building Task Services   316
Implementation Considerations   316
Web-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
Web-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

Erscheint lt. Verlag 3.7.2014
Verlagsort Upper Saddle River
Sprache englisch
Maße 186 x 236 mm
Gewicht 1060 g
Themenwelt Informatik Software Entwicklung SOA / Web Services
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-13-385903-7 / 0133859037
ISBN-13 978-0-13-385903-4 / 9780133859034
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich