Problems viewing videos?
Download latest Flash Player
Two common myths are that service-oriented architecture (SOA) is a new technology and that it always implies Web services and SOAP. In reality, SOA is an architectural style or paradigm that is applied to both new and existing technologies, Mr. Malladi said. These technologies may include Web services and SOAP, but the REST style is even more popular, as are formats, such as JSON.
Mr. Malladi explained that there are pros and cons to using REST, which is resource-oriented, and SOA, which assumes that there is a contract. He also noted that in implementing service orientation within eBay, the company uses both REST and SOA, depending on the specific requirements of the service.
Another myth is that, at the time a service is being developed, it is possible to know who all the consumers will be. The truth, Mr. Malladi said, is that service development may start with some use cases in mind, but they will evolve over a period of time. For this reason, it is important for the design to be extensible and reusable to support use cases the IT team hasn’t thought of or that emerge as business demands change. He likened it to a set of building blocks that can be used to create different vehicles.
Mr. Malladi recommended that architects take several steps to ensure success. He emphasized that these are not prescriptive, but they are the methods that have been employed effectively at eBay.
1. Understand the business domains, and model these domains. Mr. Malladi emphasized the importance of having clearly defined domains with zero overlap, and he noted that when eBay went through this process, the company came up with 40-plus domains.
2. Assign owners and architects to each domain, who will then be responsible for decomposing that domain.
3. Choose whether governance will be centralized or decentralized. Mr. Malladi pointed out that there are pros and cons to each, depending on the environment. He said eBay began with a more centralized approach to governance but has since evolved to a more decentralized model.
4. Ensure that there is an alignment between business and IT. Using a service-oriented approach may take longer to implement in the beginning, running contrary to the business team’s goals to get things done quickly. Mr. Malladi advised that IT professionals communicate the longer-term benefits of a taking service-oriented approach in order to get the business team’s buy-in. He said it may require developing ROI tools.
5. Pick a technology stack up front, including tools for development, quality assurance, and operations. Mr. Malladi said he has observed other companies that stopped in the middle of a project because they hadn’t thought everything through. He emphasized that, although a project will be implemented incrementally, the IT team needs to have a view of the end game.
6. Train the developers on the service-orientation concepts and best practices. This investment is important if companies want to avoid ending up with the same spaghetti code they have been trying to eliminate, Mr. Malladi said.
7. Finally, track the progress of the execution. Mr. Malladi noted that it is important to keep an open mind because the IT team may find that some of the original assumptions were wrong. The worst thing a company can do in that case is to continue down the same path. Instead, IT professionals should do course correction as necessary, he said. That is the key to a successful implementation.
To learn more about eBay’s implementation and overall best practices, view Mr. Malladi’s complete keynote here.
Additionally, a WSO2 case study on eBay reviews how the world’s largest online marketplace is using several WSO2 ESB instances to process more than 1 billion transactions per day. The case study can be downloaded from here.