Chapter 1. Introduction

Image

1.1 About This Book

1.2 Prerequisite Reading

1.3 How Principles and Patterns Are Used in This Book

1.4 Symbols and Figures

1.5 Additional Information

1.1 About This Book

The Java platform has evolved significantly over the past decade and has become a preferred platform for building Web-based enterprise applications. The service-orientation paradigm introduces a number of requirements and design principles that formalize the application of Java platforms and technologies in support of the strategic goals of service-oriented computing. This book explores service-oriented solution design and implementation through the application of techniques and best practices that utilize Java technology advances.

Objectives of This Book

This book was written with the following primary goals in mind:

• to provide coverage of contemporary Java distributed technologies and modern service technologies

• to document the application of service-orientation principles to the Java technology platform

• to explore the application of SOA design patterns to various Java technologies and solutions built with these technologies

• to provide coverage of Java infrastructure extensions relevant to service-oriented solutions

Who This Book Is For

This book can be used as a tutorial and reference text intended for the following types of readers:

• experienced Java developers and architects who want to learn how to apply service-orientation principles and select SOA design patterns in order to create shared services and service-oriented solutions

• enterprise architects that want to learn more about how to position and establish Java platforms and technologies within an IT enterprise that has or will undergo SOA adoption

• developers who want to build solutions using modern Java service technologies

What This Book Does Not Cover

This is not a “how-to” book for Java. Although the chapters in Part I contain a great deal of introductory coverage of Java distributed technologies, the overall purpose of this book is to explore the intersection of Java technologies and the application of service-orientation principles and SOA design patterns. You should not proceed to read this book if you are new to Java.

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:

www.serviceorientation.com

www.soapatterns.org

www.soa-manifesto.com

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.

1.3 How Principles and Patterns Are Used in This Book

As part of its exploration of service-orientation in relation to Java technologies and platforms, this book references and uses established design principles and patterns throughout its chapters.

Service-orientation design principles and SOA design patterns are always capitalized, as follows:

“...the Service Loose Coupling principle is supported via the application of the Decoupled Contract pattern...”

Note, as also demonstrated in this sample statement, a principle or a pattern can be referenced with or without being qualified. In other words, the statement “..when the Decoupled Contract pattern is applied...” has the same meaning as “...when Decoupled Contract is applied...”

1.4 Symbols and Figures

This book contains a series diagrams that are referred to as figures. The primary symbols used throughout all figures are individually described in the symbol legend located on the inside of the front cover.

Symbol legend posters can also be downloaded from www.arcitura.com/notation.

1.5 Additional Information

These sections provide supplementary information and resources for the Prentice Hall Service Technology Series from Thomas Erl.

Updates, Errata, and Resources (www.servicetechbooks.com)

Information about other series titles and various supporting resources can be found at the official book series Web site: www.servicetechbooks.com. You are encouraged to visit this site regularly to check for content changes and corrections.

Referenced Specifications (www.servicetechspecs.com)

This site provides a central portal to the original specification documents created and maintained by primary industry standards organizations.

The Service Technology Magazine (www.servicetechmag.com)

The Service Technology Magazine is a monthly publication provided by Arcitura Education Inc. and Prentice Hall and is officially associated with the Prentice Hall Service Technology Series from Thomas Erl. The Service Technology Magazine is dedicated to publishing specialized articles, case studies, and papers by industry experts and professionals.

Service-Orientation (www.serviceorientation.com)

This site provides papers, book excerpts, and various content dedicated to describing and defining the service-orientation paradigm, associated principles, and the service-oriented technology architectural model, including online access to the service-orientation principle profiles published in Appendix B.

What Is REST? (www.whatisrest.com)

This Web site provides a concise overview of REST architecture and the official constraints that are referenced throughout this book.

What Is Cloud? (www.whatiscloud.com)

A reference site dedicated to fundamental cloud computing topics.

SOA and Cloud Computing Design Patterns (www.soapatterns.org, www.cloudpatterns.org)

The official SOA and cloud computing design pattern catalogs are published on these sites. The www.soapatterns.org site provides online access to the pattern profiles published in Appendix C.

SOA Certified Professional (SOACP) (www.soaschool.com)

The official site for the SOA Certified Professional (SOACP) curriculum dedicated to specialized areas of service-oriented architecture and service-orientation, including analysis, architecture, governance, security, development, and quality assurance.

Cloud Certified Professional (CCP) (www.cloudschool.com)

The official site for the Cloud Certified Professional (CCP) curriculum dedicated to specialized areas of cloud computing, including technology, architecture, governance, security, capacity, virtualization, and storage.

Big Data Science Certified Professional (BDSCP) (www.bigdatascienceschool.com)

The official site for the Big Data Science Certified Professional (BDSCP) curriculum dedicated to specialized areas of data science, analytics, data analysis, machine learning, and Big Data solution engineering.

Notification Service

To be automatically notified of new book releases in this series, new supplementary content for this title, or key changes to the aforementioned resource sites, use the notification form at www.servicetechbooks.com or send a blank e-mail to [email protected].

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset