1.2 Prerequisite Reading
This book assumes you have a basic knowledge of:
- Java technologies, APIs, and standards
- fundamental XML concepts
- fundamental service-orientation
If you have not yet worked with XML, you can read some of the brief tutorials published at www.servicetechspecs.com. If you are new to SOA, you can get a basic understanding of service-oriented computing, service-orientation, and related design patterns by studying the content at the following Web sites:
To ensure that you have a clear understanding of key terms used and referenced in the upcoming chapters, you can also visit the online master glossary for this book series at www.soaglossary.com to look up definitions for terms that may not be fully described in this book.
Here are some recommendations for additional books that elaborate on key topics covered by this title:
- SOA Principles of Service Design – A comprehensive documentation of the service-orientation design paradigm with full descriptions of all of the principles referenced in this book. Concise profiles of these principles are provided in Appendix B.
- SOA Design Patterns – This is the official SOA design pattern catalog containing descriptions and examples for most of the patterns referenced in this book. You can also look up concise descriptions for these patterns at www.soapatterns.org and in Appendix C.
- Web Service Contract Design & Versioning for SOA – Any content pertaining to WSDL, SOAP, and XML Schema development and design, development, and versioning will be aided by the detailed coverage in this title.
- SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST – REST service development and implementation is covered from various perspectives in the upcoming chapters. This book provides detailed coverage of associated REST technology, architecture, and design constraints.
- Service-Oriented Architecture: Concepts, Technology, and Design – The coverage of service-oriented analysis and design processes in this title supplements the technology-centric focus of this book with methodology-related topics.
For more information, visit www.servicetechbooks.com.
How This Book Is Organized
This book begins with Chapters 1 and 2 providing introductory content and case study background information respectively. All subsequent chapters are grouped into the following parts:
- Part I: Fundamentals
- Part II: Services
- Part III: Service Composition and Infrastructure
- Part IV: Appendices
Part I: Fundamentals
The four chapters in this part cover introductory topics related to SOA, service-orientation, Web-based services technology, and Java. Note that these chapters do not contain case study content.
Chapter 3: Fundamental SOA Concepts
This chapter provides an overview of key terms and concepts associated with SOA, service-orientation, and service-oriented computing.
Chapter 4: Basic Java Distributed Technologies
With an emphasis on Java EE, this chapter introduces Java technologies and APIs relevant to this book. Open-source and commercial Java vendor platforms are further referenced.
Chapter 5: Web-Based Service Technologies
This chapter provides a concise overview of the industry standards and conventions that form the basis for SOAP-based Web services and REST services. A series of examples is provided for each service implementation medium.
Chapter 6: Building Web-Based Services with Java
This chapter focuses on the JAX-WS standard for SOAP-based Web services and the JAX-RS standard for REST services, and provides numerous examples that demonstrate basic design and implementation.
Part II: Services
This part of the book contains a set of chapters that highlight key Java design considerations introduced by service-orientation principles, and further explores their application to the creation of Java-based utility and entity services.
Chapter 7: Service-Orientation Principles with Java Web-Based Services
This chapter documents each of the eight service-orientation design principles as they affect and relate to the use of Java-based technology for both SOAP-based Web services and REST services.
Chapter 8: Utility Services with Java
The unique design considerations that come with building utility services with Java are addressed in a series of sections that explore architecture, design, and implementation, further supported by a number of examples.
Chapter 9: Entity Services with Java
This chapter discusses the development of entity services with Java with an emphasis on service contract and message standardization, data access, and processing.
Part III: Service Composition and Infrastructure
The final set of chapters build upon Parts I and II to tackle the design and implementation of entire Java-based service-oriented solutions. Topics covered range from service composition to ESB-related infrastructure considerations.
Chapter 10: Task Services with Java
This chapter discusses the characteristics, design, and implementation considerations of building task services with Java and further addresses preliminary service composition issues in preparation for Chapter 11.
Chapter 11: Service Composition with Java
This chapter covers a spectrum of topics that pertain to and further expand upon many of the areas already covered in preceding chapters to focus on the design, implementation, and performance of services aggregated into Java-based service compositions.
Chapter 12: ESB as SOA Infrastructure
This chapter highlights the use of ESB-based middleware and infrastructure in relation to service-oriented solution and service composition architecture and implementation.
Part IV: Appendices
Appendix A: Case Study Conclusion
This appendix provides a conclusion of the case study storylines first established in Chapter 2.
Appendix B: Service-Orientation Principles Reference
This appendix provides the profile tables (originally from SOA Principles of Service Design) for the service-orientation design principles referenced in this book.
Appendix C: SOA Design Patterns Reference
This appendix provides the profile tables from the design patterns documented in the books SOA Design Patterns and SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST.
Appendix D: The Annotated SOA Manifesto
This appendix provides the annotated version of the SOA Manifesto declaration, which is also published at www.soa-manifesto.com.