Book Image

Service Oriented Architecture with Java

By : Binildas A. Christudas, Malhar Barai, Vincenzo Caselli
Book Image

Service Oriented Architecture with Java

By: Binildas A. Christudas, Malhar Barai, Vincenzo Caselli

Overview of this book

<p>Service Oriented Architecture provides a way for applications to work together over the Internet. Usually, SOA applications are exposed through web services.<br /><br />Web services have been around for a while, but complex adoption processes and poor standardization hampered their use at first. However, with the adoption of new, simpler protocols such as REST, and major companies supporting SOA, the time is now right to adopt these standards.<br /><br />This book will show you how to build SOA, web services-based applications using Java. You will find out when SOA is the best choice for your application, how to design a sound architecture, and then implement your design using Java.<br /><br />The book covers the important web services protocols: XML-over-HTTP, REST, and SOAP. You will learn how to develop web services at all levels of complexity and for all kinds of business situations.</p>
Table of Contents (11 chapters)

Preface

Service Oriented Architecture is mainly a mindset, an enterprise strategy whose natural implementation is represented by web services. SOA is not a single product or single reference architecture to be followed, but SOA is all about best practices, reference architectures, processes, toolsets, and frameworks, along with many other things which will help you and your organization to increase the responsiveness and agility of your enterprise architecture. Standards and frameworks play a greater role in enabling easy and widespread industry adoption of SOA.

This book will help you learn the importance of designing a sound architecture for successful implementation of any business solution, different types of C/S architecture, and various tenets of SOA, explaining the fundamentals and explaining the advantage of using the Service Oriented Architecture in designing of the business solution. From a basic XML-over-HTTP approach to the REST and SOAP protocols, we get into the details of how web services can be implemented with various degrees of complexity and flexibility using JAVA.

This book will explain the concepts of business layer that is 'The SOA core'. You will also learn when SOA will define as an asset to your project with the help of practical examples.

In the early years when the WS-approach began to emerge it suffered from difficulties due to many factors, for instance, complex adoption process and poor standardization. Now, with little effort times are mature for using this technology and also getting great advantages, both immediate and as an investment for our future works. The book concludes with the focus on explanation of these assets.

What This Book Covers

In Chapter 1 we will discuss the role of Architecture for successful implementation of any business solution followed by brief discussion on different types of client-server architecture and SOA.

In Chapter 2 we will examine the relationship between the SOA methodology and the web service implementation basics. We will also discuss how XML can be used as the common language to decouple the communication between web service implementations and their consumer clients.

In Chapter 3 we will introduce major web service implementations available specifically in the Java and J2EE world, WS using JAX-WS 2.0, WS using Apache Axis, WS using Spring, and WS using XFire.

In Chapter 4 we shall see few emerging standards like SDO and SCA, addressing from data integration to service and component integration.

In Chapter 5 we will look into a couple of case studies where one of the solutions is based on principles of Enterprise Application Integration and in the second one we shall build our solution based on SOA fundamentals.

In Chapter 6 we will explore in detail the advantages that the SOA approach can lead to. Basically a concluding chapter discussing what we can and what we have achieved with SOA approach.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

There are three styles for code. Code words in text are shown as follows: "On the other hand, having a filled item into the response is meaningful just for the findById method."

A block of code will be set as follows:

public interface IHello{
String sayHello (String name);
}

When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:

@XmlRootElement(name="ItemAction")

public class ItemAction{
private String method;
private Item item;
...
@XmlRootElement(name="ItemActionResponse")

public class ItemActionResponse {
private String retCode
private Item item;
...

New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "clicking the Next button moves you to the next screen".

Note

Important notes appear in a box like this.

Note

Tips and tricks appear like this.

Reader Feedback

Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us so that we may develop titles that you get the most out of.

To send us general feedback, simply drop an email to , making sure to mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email .

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer Support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the Example Code for the Book

Visit http://www.packtpub.com/files/code/3216_Code.zip to directly download the example code.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books — maybe a mistake in text or code — we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata are added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Questions

You can contact us at if you are having a problem with some aspect of the book, and we will do our best to address it.