ESB and SOA Infrastructure
Total Page:16
File Type:pdf, Size:1020Kb
eBook ESB and SOA Infrastructure The Enterprise Service Bus (ESB) is a form of plumbing that enables effective SOA implementation. But understanding the ESB remains an industry-wide quest. Open source consultant Jeff Genender lists a message bus first on his list of the basic building blocks of a successful SOA infrastructure. And yet, some recent Forrester survey results show that first-time SOA infrastructure purchases maybe shifting from ESBs to other SOA technologies. Read this eBook to learn more about ESBs including: • The role of ESBs in application integration • Tips on open source and SOA infrastructure from Jeff Genender • Forrester's take on where the ESB fits in today's enterprise architecture Sponsored By: SearchSOA.com eBook ESB and SOA Infrastructure eBook ESB and SOA Infrastructure Table of Contents The ESB and its role in application integration architecture Working with ActiveMQ – Tips from TSSJS presenter Jeff Genender part one On SOA infrastructure – Tips from TSSJS presenter Jeff Genender part two Forrester analysts: SOA still strong Resources from FuseSource Sponsored By: Page 2 of 10 SearchSOA.com eBook ESB and SOA Infrastructure The ESB and its role in application integration architecture By Alan Earls Although enterprise service busses (ESBs) are not new, they can continue to be a nexus for confusion. After many years and many implementations, what they do, how they do it and whether specific products can help create a SOA are all still matters of contention. Chris Harding, a forum director for SOA and client computing at The Open Group, argues that there isn’t always clarity regarding the nature of ESBs. On the Internet, he points out, there is TCP, which is standardized and central to everything. There is nothing similar on the enterprise software stack for ESBs. ―All you have is a good common understanding of what an ESB does, but you don’t have the tightly defined interfaces. It is a much looser thing,‖ he says. According to Harding, when people talk about ESBs, the key thing they want is the ability to exchange messages using the ESB as a messaging bus. ―To that basic vision can be added many other things in terms of transforming the messages, in terms of your ability to combine services and even as a composition engine, but the core is the transmission of messages.‖ Historically, Harding says a lot of discussion once focused on whether an ESB is essential for SOA. ―In a theoretical sense, the answer is no,‖ he says. Instead, SOA requires a service- oriented approach to your architecture, the definition of components as services, the identification of service definitions and the loose coupling of those services, he explains. However, notes Harding, when organizations implement loose coupling for the exchange of messages between services, they often find that an ESB as a means of message exchange is the crucial part of their service-oriented architecture. Ken Volmer, an analyst at Forrester research, says ESBs handle the interactions between different components, creating and routing services, and even providing orchestration. Sponsored By: Page 3 of 10 SearchSOA.com eBook ESB and SOA Infrastructure ―ESB is the plumbing that enables someone to implement SOA effectively,‖ he adds. Implementing that broad architectural vision is another matter. Volmer says a good starting point is an architectural reference model. ―There has been broad agreement since the first talk about ESBs that they should include an architecture layer, a connection layer, a mediation layer and an orchestration layer,‖ he says. Citing a recent Forrester report, ―The ESB Reference Architecture Model,‖ Volmer says that several ESB components must work together to provide the basic ESB framework to deliver availability (typically, through clustering), federation (to support interoperation of ESBs), a topology (such as a hub-and-spoke structure) and extensibility (so that customers can add capabilities on their own). ESBs are an illustration of service orientation, which is still ―a different way of doing things‖ for many organizations. ―People used to write point integration but with ESB, you should be able to create and then reuse code in different ways,‖ he says. Getting over that idea of having to develop everything from scratch is crucial – and then using an ESB to help implement SOA can make life easier. ―But developers still like to write code, and that can be a problem,‖ he adds. Volmer says one of the main challenges in implementing an ESB is making sure you have the right product before you buy it. If throughput is a key requirement, test the product on your site before you buy it. ―Don’t buy a pig in a poke,‖ he says. According to Volmer, implementing an ESB isn’t usually that difficult. He says the degree of challenge depends significantly on the skill level of the people involved with an ESB. ―It is not simple to implement, but we are way beyond the bleeding edge stage; ESBs have been around for 8-10 years so vendors have made them much easier to work with,‖ he says. ―Therefore,‖ he adds, ―implementing an ESB would not significantly challenge a well- organized IT department.‖ Volmer says Forrester has interviewed 20 companies that recently implemented ESBs and no areas emerged as particularly burdensome. ―More than anything, it is a different way of doing integration,‖ he adds. However, he notes, when problems did surface during initial Sponsored By: Page 4 of 10 SearchSOA.com eBook ESB and SOA Infrastructure implementations, about 80 percent of them seemed to be architecture related and the balance – only about 20 percent – were linked to tuning issues. ―From my theoretical perspective, the thing that interests me the most about ESBs is how easy it is to port your services from one ESB to another,‖ adds Hardy. Sponsored By: Page 5 of 10 SearchSOA.com eBook ESB and SOA Infrastructure Working with ActiveMQ – Tips from TSSJS presenter Jeff Genender part one For those who aren’t that familiar with ActiveMQ, what might be surprising? Jeff Genender: Its capabilities. Its ability to scale both horizontally and vertically; [its ability to] work with network clusters. That it’s one of the fastest JMS containers out there. It’s one of most popular JMS containers out there, and one reason is it’s free. We run into a lot of companies migrating from some of the bigger [commercial] JMS implementations, not only because of its capabilities, but because it has many things that are different [and go] above and beyond what a normal JMS implementation can do, and with speed. The fact that it’s open source and better than many commercial implementations people will find fascinating. What are the most typical problems with ActiveMQ that you’ll be addressing in your presentation at TheServerSide Java Symposium? Genender: The most common is the container appears to seize up and you need to restart. People try to tweak the memory and JVM parameters, but that usually won’t fix it. That’s one of the biggest areas – people don’t think ActiveMQ is stable and they’ll have to reboot it. The same thing with queues, why do you get a stuck queue and you can’t write to it anymore? We’ll talk about how to fix that. Seizing has to do with tuning parameters. We’ll talk about how to set up ActiveMQ and memory configurations within the MQ configuration files. The other common problem is architecture, so they’ll be some points on how to properly utilize ActiveMQ. You don’t’ want to use it as a message store, when it’s really an event engine, so [we’ll address] how to properly set up producers and consumers so you’ve got a proper flow going through systems. There are some architectural things people need to think about in going through the development process. Sponsored By: Page 6 of 10 SearchSOA.com eBook ESB and SOA Infrastructure How many of the problems are architectural vs. tuning problems? Genender: About 25% are architectural problems. That seems to be a bigger issue because it has to do with how fast producers are producing and consumers are consuming, and whether you’re using pooling or not. You run into those a lot, usually after the architecture is done, and tuning doesn’t fix it if it’s an architecture problem. These are hot points for folks. They’ve built this system, produced this design and are in production, and now they’re being told they have to change the architecture. We’ll talk about running into these items and what they can do to mitigate this. The problem is not knowing the container completely or understanding what JMS is all about. A lot of folks will use it as a message store or like a database as opposed to an event engine. That’s one of the biggest areas. You don’t want to park your message here. We’ll point to an example architecture to mitigate that issue. Do you have an implementation tip you will be discussing, particularly for high load systems? Genender: For scalability, utilize network brokers - and master-slave failover for high availability. Most of our clients in production will use both a network of brokers for high load, and almost always use master-slave for high availability. What will the takeaway of your talk be? Genender: To walk out and be able to implement ActiveMQ with a high degree of confidence that it will scale and perform well, and be able to debug and figure out what’s going on with their own stacks without calling in the experts. Sponsored By: Page 7 of 10 SearchSOA.com eBook ESB and SOA Infrastructure On SOA infrastructure – Tips from TSSJS presenter Jeff Genender part two Any discussion of SOA needs to start with a solid foundation.