This article represent an interview with Jeff Davis, author of Manning's Open Source SOA, around his book subject and related areas. The book itself is an under development book and currently available as an early access release.
You can participate in the discussion with the author by posting question or comment related to the book and win an Ebook or MEAP of the same title. One of participant will be given the ebook or MEAP.
Book description according to Manning web site:
A Service Oriented Architecture, or SOA, is an architectural approach where discrete, well-defined software components are exposed as "services" that in turn become the building blocks for a new application. You can use the SOA approach with many products and platforms ranging from expensive proprietary systems to free open-source software. In fact, you can build a world-class SOA infrastructure entirely using popular, and mature, open-source applications.
Unfortunately, the technical documentation for most open-source projects typically focuses on implementing and configuring that specific product. It rarely addresses a particular fit within an overall SOA stack. You're left to your own devices to figure out how to cobble together a full solution from the various bits. In other words, unless you already know how Mule and Tuscany work with jBPM, you're stuck.
Open Source SOA is a practical, hands-on guide that shows you how to build an SOA application using open-source technologies. This book frames each solution within the context of the overall SOA, and identifies what roles these open-source technologies can play within the larger SOA environment. You'll explore core concepts like Enterprise Service Bus (ESB) design and Business Process Management (BPM) and learn the tools and techniques to implement them effectively. Along the way, the author includes specific case studies as examples, to illustrate the process.
Open Source SOA teaches you how to apply SOA principles effectively using selected best-of-breed tools. For example, you'll use JBoss jBPM to reuse components in multiple business processes. Finally, the author describes real-life case studies from his own work to tie together all the principles and practices.
Dzone: Please tell us something about yourself. Who you are, where you are located, and what kind of work do you do?
Jeff: I am currently Director of Software Architecture at HireRight, Inc. I've been at HireRight for about 4.5 years. HireRight's located in Irvine, CO, but I work out of my home in Colorado Springs, CO.
Dzone: Please tell us how you end up writing about Open Source SOA enablers instead of cutting edge commercial ones?
Jeff: Having used a lot of commercial middleware products, I soon had realized that they are largely built using open source components. The value add for commercial solutions is that they build an integrated solution with a uniform framework. Having long used enterprise open source apps, I realized that, what's missing, is a way of combining these solutions together to comprise a complete open source SOA stack.
Dzone: If this isn't your first book, how does it relate to the other one? How ong did it take you to write this book?
Jeff: This is my first book. It's taken longer than I had expected, to be honest, and is going on about 8 months. What I underestimated was the time taken to build the samples that are used throughout the book. These all had to really be built from scratch, because I really couldn't, for obvious reasons, use code that we've developed at HireRight.
Dzone: There are several Open Source SOA enablers available for free which one an take the source and change it according to its need in the same timebig vendors are trying to sell their products under SOA umbrella, ased on your experience, will we face a vendor lock-in in future if we o with commercial products?
Jeff: The biggest concern I see with using commercial products is that they are often of lesser quality than their open source alternatives. How can that be? Simple, if you had, for example, purchased Cape Clear's ESB, maybe you are one of 100 customers. These expensive commercial products have a very small installed base. With open source, thousands of users exist, and they are generally pretty good about reporting bugs or suggesting improvements to the product. Also, when using commercial vendors, you have to be very concerned about their sustainability. Cape Clear no longer exists, and now Iona has just been acquired (not to mention BEA). The consolidation in the commercial field means that if you own one of those products, it may not be around in years to come. At least with open source, you've got the code, and the popular open source project seldom whither and die.
Dzone: I saw that you have included a chapter around CEP, can you explain more bout CEP and its benefits to realtime systems like monitoring? Are here some alternative path for monitoring a SOA instead of going with CEP for example mechanism like AOP and code instrumenting?
Jeff: Complex Event Processing is a somewhat emerging technology, at least in the open source space. With CEP, real-time business events are sent to the engine, which can then use correlation and pattern matching rules to determine whether any anomalies are occurring within your enterprise. The real-time analytical engine is what differentiates CEP from other more traditional BI vendors, which tend to evaluate events after-the-fact. CEP is very exciting, and can be used for anything from compliance, monitoring service levels, to real-time trending.Dzone: What do you think about SCA and JBI, do you see them as competitor, verlapped technologies or complementary technologies?
Jeff: That's a great question! There is definitely some overlap between the specifications, as both present frameworks for building composite-style applications with the notions of service assembly prevalent in each. However, it seems as though JBI is tailored for use within ESBs, which is why you see it used as part of ServiceMix and OpenESB. By itself, it doesn't address how services are exposed, be it through SOAP, POX, EJB etc.
On the other hand, SCA's emphasis is on creating reusable components that can be exposed as services using a variety of protocols/bindings. SCA is akin to OSGi, insofar as its emphasis is on a component construction. The other big distinction is that SCA stresses the importance of language and protocol neutrality, which is why SCA implementations also exist for C++ etc. Frankly, a few years back I was very excited about JBI, and where I work, we selected ServiceMix for just that reason over Mule. Disappointingly, however, it seems as though JBI has lost a great deal of momentum, and now seems likely to suffer the same ignominious fate as Jini. JBI 2.0 was supposed to address some of the perceived weaknesses of the 1.0 spec, but activity on that JSR appears to have stalled. Also, no major vendor, for whatever reason, has embraced JBI (Oracle/BEA, IBM are all on the SCA/SDO bandwagon, however).Dzone: Part IV of your book discuss "Metadata repository" and "Enterprise ecision management", can you explain more about these subjects?
Jeff: A metadata repository refers to a system that can be used to catalog and categorize your services and components. With SOA, the emphasis is obviously on developing reusable, discrete services, but how do you publicize and catalog them in an intelligent way. Lumping everything into a single WSDL is not usually practical. It's basically taking the concepts behind the promise of UDDI, but making it much simpler to manage and use.
Business rules represent the operational decisions that are used throughout your enterprise. Rather than hard-coding them in code, you abstract them out into a centralized system where they can be managed effectively by those most knowledgeable of your business -- the subject matter experts. It has big implications for creating systems that are more adaptive and responsive to the rapidly changing business environment we all operate in.
Dzone: Which part(s) or chapter(s) of the you like the most?
Jeff: Probably the chapters on jBPM. I'm very excited about the product, but believe it hasn't been really taken off because there is a bit of learning curve involved with it, and it's not always well understood insofar as how it's best used.
You can download an early access edition of Chapter 2, Open-Source Solutions Overview free of charge