Product Details
SOA Approach to Integration: XML, Web services, ESB, and BPEL in real-world SOA projects

SOA Approach to Integration: XML, Web services, ESB, and BPEL in real-world SOA projects
By Poornachandra Sarang, Frank Jennings, Matjaz Juric, Ramesh Loganathan

List Price: $59.99
Price: $53.99 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

18 new or used available from $27.95

Average customer review:

Product Description

XML, Web services, ESB, and BPEL in real-world SOA projects

  • Service-Oriented Architectures and SOA approach to integration
  • SOA architectural design and domain-specific models
  • Common Integration Patterns and how they can be best solved using Web services, BPEL and Enterprise Service Bus (ESB)
  • Concepts behind SOA standards, security, transactions, and how to efficiently work with XML

In Detail

Integration of applications within a business and between different businesses is becoming more and more important. The needs for up-to-date information that is accessible from almost everywhere and developing e-business solutions -- particularly business to business -- require that developers find solutions for integrating diverse, heterogeneous applications, developed in different architectures and programming languages and on different platforms. They have to do this quickly and cost effectively, but still preserve the architecture and deliver robust solutions that are maintainable over time.

Integration is a difficult task. This book focuses on the SOA approach to integration of existing (legacy) applications and newly developed solutions, using modern technologies, particularly web services, XML, ESB, and BPEL. The book shows how to define SOA for integration, what integration patterns to use, which technologies to use, and how to best integrate existing applications with modern e-business solutions. It also shows how to develop web services and BPEL processes, and how to process and manage XML documents from the JEE and .NET platforms. Finally, it also explains how to integrate both platforms using web services and ESBs.

What you will learn from this book?

  • How to design and develop SOA for integration
  • Integration architecture patterns, principles, and best practices, with focus on the process-centric SOA approach
  • The role of XML, web services, and ESBs in SOA for integration
  • The role of service composition and BPEL in integration
  • J2EE and .NET integration
  • Why and how to use web services and XML for integration

Approach

After explaining the challenges, levels, and strategies of integration the book explains SOA, web services, and the Enterprise Services Bus before covering processing XML and web services on the .Net and JEE platforms in more detail. Then it covers BEPL and demonstrates service composition into business processes with a realistic, although simple example BPEL process. Finally it shows how ESB provides a concrete infrastructure for SOA.

Who this book is written for?

This book is for architects and senior developers who are responsible for setting up SOA for integration for applications within the enterprise (intra-enterprise integration) and applications across enterprises (inter-enterprise integration or B2B).


Product Details

  • Amazon Sales Rank: #695557 in Books
  • Published on: 2007-11-30
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 384 pages

Editorial Reviews

About the Author

Frank Jennings

Frank Jennings works in the Information Products Group of Sun Microsystems Inc. He has more than 9 years of experience in Java, SOA and System Design. He is an Electronics Engineer from Madras University and has worked for several open source projects. Frank has written regular columns for leading Java journals including Java Developer's Journal and Linux Developer's Week. Frank is also the co-author of the book SOA Approach to Integration focusing on SOA design pattern for enterprises. Frank also is involved in the technical publication of Sun Microsystems in the fi elds of Solaris and Developer AMP Stack. His blog can be read at blogs.sun.com/phantom and he can be reached at theghost@sun.com. He also holds a Post Graduate Diploma in Computer Science and an Advance Diploma in Computer Integrated Management from University of Indianapolis

Matjaz Juric

Matjaz B. Juric holds a Ph.D. in computer and information science. He is Associate Professor at the University of Maribor. In addition to this book, he has coauthored Professional J2EE EAI, Professional EJB, J2EE Design Patterns Applied, and the .NET Serialization Handbook, published by Wrox Press. He has published chapters in More Java Gems (Cambridge University Press) and in Technology Supporting Business Solutions (Nova Science Publishers). He has also published in journals and magazines, such as Java Developer's Journal, Java Report, Java World, Web Services Journal, eai Journal, theserverside.com, OTN, ACM journals, and presented at conferences such as OOPSLA, Java Development, XML Europe, OOW, SCI, and others. He is a reviewer, program committee member, and conference organizer. Matjaz has been involved in several large-scale object technology projects. In cooperation with IBM Java Technology Centre, he worked on performance analysis and optimization of RMI-IIOP, an integral part of the Java platform. Matjaz is author of courses and consultant for the BPEL and SOA consulting company BPELmentor.com. For more information, please visit bpelmentor.com.

Poornachandra Sarang

Poornachandra Sarang, Ph.D., is CEO of ABCOM Information Systems. He has been a Visiting Professor of Computer Engineering at the University of Notre Dame, USA and is currently a visiting professor for Post-Graduate Computer Science courses at the University of Mumbai. Dr. Sarang provides consulting services to worldwide clients in architecting and designing IT solutions based on Java, CORBA, and Microsoft platforms. A well known and a highly sought-after trainer, Dr. Sarang has conducted several training programs on the latest technologies for several top-notch IT companies. He conducts lectures/seminars on emerging technologies across the world and has made several presentations at international conferences. He has authored/co-authored several books on Java, C++, J2EE, e-Commerce, and .NET.

Ramesh Loganathan

Ramesh has 16 years of Systems engineering and R&D management experience in technology-intensive product development organizations including Sonic Software (Technical Director, India Dev Center), Pramati Technologies (VP, Engineering) and Informix (Principal Engineer). Ramesh has full life-cycle experience setting up and managing product development organizations and motivating high-caliber engineering teams. He has strong insight into Systems software, Middleware-technology, Database internals, Internet Architectures, and frameworks. Ramesh has led engineering efforts building software infrastructure products at Pramati and Sonic Software. After a brief engagement with Sonic/Progress, Ramesh is now VP-Middleware Technologies at Pramati, driving the product direction and setting up a new Technology Consulting business around Middleware Systems.

Ramesh has worked with several organizations in India and in the US including IBM, Lever, Compaq, TCS, Informix, and Integra.

Ramesh is an accomplished Technologist and evangelist regularly speaking at workshops and seminars. He is active in Tech fora, JCP, and SPEC organizations. He is a member of several Standards Expert groups including J2EE 1.4 and is a founding member of ebXMLIndia.org and hyd-eclipse.org. Ramesh is actively engaged with academia and researchers and is an Adjunct Faculty member at IIIT-H, teaching two courses on Middleware systems.


Customer Reviews

Basic overview that rehashes other materials2
This is a mediocre book that provides basic information but little of the insight that creates knowledge. As the title implies, it doesn't teach SOA in general, just how to approach application integration using SOA. Even in that, its treatment of the topic is reasonably accurate but superficial.

The book's six chapters are a reasonably logical overview of basic SOA and integration topics that finally culminates in the discussion promised by the book title.

Chapter 1 explains why integration is important, a topic that goes back at least as far as David Linthicum's Enterprise Application Integration (Addison-Wesley Information Technology Series). It lists numerous aspects of application integration without giving particular insight into any of them nor comparing them--a theme with this book's material.

Chapter 2 explains what SOA is. Its treatment of SOA is very superficial, little more than a technology that can be used for integration, and so should not be read as a thorough overview of why SOA is important. To understand SOA's importance, see Service Oriented Architecture For Dummies (For Dummies (Computer/Tech)) (yes, a Dummies book, but helpful!). One of the main advantages of SOA is its improved ability (as compared to other architectural approaches) to align IT and business, that is to make a company's applications and its business work in a more similar fashion. For a good discussion of business/IT alignment, see The New Language of Business: SOA & Web 2.0.

Chapter 3 is an XML primer, which seems pretty low-level for an architectural book. It explains a lot through XML and schema code examples, and even gets into an explaining and comparing SAX, DOM, and StAX. This chapter would better serve the book if it had focused more on the architectural decisions for XML and the implications of those decisions.

Chapter 4 is a primer on Web services and again gets fairly low-level for an architectural book. It explains the need to integrate heterogeneous systems, often connected via Internet technologies, and eventually discusses WSDL (but not SOAP!), WS-I profiles, and interoperability between Java EE and .NET. In between, however, it discusses patterns for integration by lifting material wholesale from IBM's Patterns for e-business and subsequent Redbooks on the topic. The diagrams in this book are straight out of the IBM materials, to the point of (what seems like) copyright violation.

Chapter 5 focuses on BPEL and what the book calls "process-oriented architecture." This is an interesting turn, since business process is not so much integration using services as it is a useful abstraction for implementing services--especially long-running ones--using other services. So whether this is integration of business functionality or composability of business functionality is debatable. In any event, the book then dives deep on BPEL features and code examples. Other books on BPEL may be more helpful.

Chapter 6, the last chapter, finally gets to the book's topic, application integration using SOA, POA, and Web services. Here, the book finally starts to explore the enterprise service bus (ESB), although for some reason considers the ESB to be not just a means for connecting to service providers, but a hosting environment for service providers as well! A lot of the material here is a rehash of Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (The Addison-Wesley Signature Series); although this book's authors don't seem to have read that book, they discuss a lot of the same topics in terms of implementing Web services. Curiously, one section covers Java Business Integration (JBI), which only applies to Java, and yet the book never discusses a similar and more interoperable programming model, service component architecture (SCA).

In conclusion, what material this book covers, other books cover better. The advantage of this book is providing brief overviews of the material and tying it together better than separate books can. Yet this book's coverage of these topics is too low-level for architects, too brief for developers, and too superficial to teach the topics to readers who don't already know them. Other books on SOA and on application integration are better.

Disclaimer/qualifications: I am a coauthor of Enterprise Integration Patterns and work for IBM. The publisher (Packt) sent me a copy of this book and asked me to review it.

Well done!5
The SOA topic is a topic we've all heard plenty of times now haven't we? You might wonder - is this an early adopter term or something that's hardened today? Like most technologies, it depends on where you are on the adoption curve. If you're a late adopter, wait another 10 years and SOA will be in the late adoption stage. If you're an early adopter, you are using all of the SOA components aren't you! If you're somewhere in-between these extremes, it's time to study up!

Up until now however, this required a lot of independent research. How many books have you read on the subject already? How many magazine articles? I know my combined total is in the hundreds as I'm sure yours is too. Some sources provide hype without concrete examples, best practices, lessons learned and the like. I finally found a book that gets way beyond the hype and bleeds of "been there, done that." The book is the combined effort of 4 authors and I can see why! It is clear that an amazing amount of research went into documenting lessons learned through the early adoption phases and into less than bleeding edge phases.

SOA and it's components are rock solid technologies...if you choose the right foundational and architectural choices.

The book, as my blog title indicates is titled "SOA Approach to Integration." The authors are Matjaz B. Juric, Ramesh Loganathan, Poornachandra Sarang, and Frank Jennings. The subtitle for the book is XML, Web Services, ESB, and BPEL in real-world SOA projects. I like the authors individual backgrounds as they are similar to my corporate world, consulting world, adjunct professor, author, and open source experiences and passions.

The chapters are:

Integration Architecture, Principals, and Patterns - does a great job of describing how we got to where we are today and explaining the different types of integration, which include data-level, application, business process, presentation and business-to-business integration. The different integration infrastructure layers are explained. These layers include the communication, brokering and routing, transformation, business intelligence, transactions, security, life cycle, naming, scalability, management and rules layers. This chapter also covers the integration technologies (e.g. database access, message-oriented middle ware, remote procedure calls, web services, transaction monitors, object request brokers, application servers and enterprise service buses). The chapter wraps up with an excellent discussion of the integration process including the steps, best practices, prototyping and reuse.

Service- and Process-Oriented Architectures for Integration - this chapter does a great job of digging deeper into the definition of the SOA and why it's part of the integration space. The discussion of islands vs. enterprise IT landscape does an excellent job of demonstrating what most of us have seen occur in the corporate IT world. I really enjoyed the discussion about the paradigm shift from self-contained applications towards "service." This discussion reminded me very much of my "Internal and External Application Integration" post, paper, and presentation. I liked the way that this chapter just kept digging deeper and deeper in the topic of SOA and the details surrounding it all.

Best Practices for Using XML for Integration - it's tough to talk about SOA, Web Services, BPEL and the like and not cover SOA. This is an "old" topic to me.

SOA and Web Services Approach for Integration - this chapter did a great job explaining how to design an SOA, design Web Service, the differences between B2B and EAI Web Services, developing an interoperable WSDL, interoperability challenges with Web Services, and developing interoperable Web Services. I generally haven't experienced interoperability, but maybe it's because I've been fortunate enough to do more development and deployment of web services that I've created than having been a consumer of web services developed by others. I've always used JDeveloper to develop my services. The primary issue I've experienced have to do with providing both SOAP and REST-based Web services - this seems to create issues still today. I don't believe REST was covered (I'm not always good at reading every last detail, so I'm sorry if I missed it). I believe this is going to be the next big Web Service push - RESTful services that is.

BPEL and the Process-Oriented Approach for Integration - BPEL is an extremely important when multiple systems require integration and any sort of workflow is involved. If all of your Web Service integration involves your own applications, BPEL is not required. This is what I commonly refer to as "light weight SOA." This chapter does a great job at covering the BPEL components and details. I was especially excited when I saw the Oracle BPEL Designer covered in this chapter. Oracle has an excellent BPEL infrastructure.

Service- and Process-Oriented Approach to Integration Using Web Services - finally, no SOA discussion would be complete without a discussion of the Enterprise Service Bus (ESB). I personally would like to have seen more of the open source bus offerings discussed in this chapter. This chapter felt more "abstract" than the other chapters. In other word, the open source offerings bus might just be a bit more early adopter. I'm currently in the middle of an open source bus selection process. Once we've selected our solution, I'll be able to better tell you what stage this is in.

Like I said, I really enjoyed this book. Whether you're early or late in your adoption, I'm confident that you'll learn from this book.

Good material on SOA, ESB, and BPEL: Review by Tod McKenna of blog.todmeansfox.com4
This book was overall pretty good. The author details Service and Process Oriented Architectures (SOA/POA) and presents a solid approach to SOA integration. The highlight of the book is Chapter 6 (which, by the way, could have titled better!) that really dives into ESB (Enterprise Service Bus).

I gave it 4 stars mainly because it kept me interested throughout AND Chapter 6 was well worth the wait. Also, the author was direct and decisive in what he was saying. I never felt while reading that he was talking over my head or down to me from some higher plateau.

Some criticisms which kept it from a perfect 5 include:

(a) Too many repeated themes. I felt at times that I was reading the same sentence and paragraph over and over. Not a major thing, but I think I read that XML is a "standard" for organizations to exchange business data more than twice!
(b) The author throws around many acronyms, some of which without expanding. At one point, he used "PO" to refer to "Purchase Order" and I really had to stop reading and thing about what on earth a PO was (duh!). There are several examples of this throughout the text making it a bit difficult to read.
(c) Related to (b), I would have liked to read more background on some of the technologies discussed. Examples include the Java technologies that the author refers to throughout. I'm not a Java developer, so I felt a little behind in some of the discussion.
(d) I think the author spent too much time on his low-level XML discussion. I realize that XML is integral to SOA but for a book designed for "architects" and "senior developers", as the back cover suggests, it seemed too deep for "architects" to care about and too shallow for "senior developers". It might have been better to present an XML primer and leave it at that.
(e) By reading this book, I DO NOT feel ready to build an SOA, nor do I feel qualified to jump into a team implementing SOA.

Chapter 1 was a sufficient setup for the chapters to come. It would have been good to build a better case for SOA, though. If I was on the fence about SOA, I don't think this book would have convinced me that my organization needed to go down this path. This chapter does however provide a lot good background and helps draw the line between different integration strategies.

Chapter 2 introduces the ESB -- which for me is the most interesting aspect of the SOA approach. There is also a good discussion about processes and orchestration, which was enlightening (coming from me, who has no real world SOA experience).

Chapter 3 was the lowlight. I found myself skipping ahead when the author started discussion XML schemas, namespaces, declarations, and the like. I know this stuff already and was wondering how an "architect" or "senior developer" (I've been called both) would treat this chapter. I concluded that they would do essentially what I did: skim it. It is too light to be a reference and too heavy to be of any practical value.

Chapter 4 was better than the previous chapter. I like history (IT Evolution, and WS Specifications) and discussions on Patterns (the author discusses integration patters, business patterns, composites, application patterns, and runtime patters). He does however loose me a bit on writing WSDL and the simple web service example. I've written several web services and understand the concepts so I found myself skipping ahead a bit.

Jaded by some of what I read in Chapters 3 and 4, Chapter 5 got me back in the mood. BPEL. Finally. The book had been talking about BPEL (Business Process Execution Language) on-and-off and now this chapter gave me a heavy dose. Good job.

Chapter 6 was my favorite chapter by far. ESB is an area of interest for me, and to have it explained and examined in the context of SOA was eye opening. In fact, it's one of the reasons I wanted to read this book in the first place.

All-in-all, I learned a lot from this material. I took a few notes, which will lead to further research on my part. This book presents a good overview of some of the complexities and key points in building an SOA infrastructure/environment. Get it if that is what you're looking for!