In the beginning Orbitz had a Jini based distributed system. The system design provided easy scalability and stability, but at the cost of tight coupling because of many shared modules and components, as well as Java serialization rules. In order to improve cohesion between individual services the decision has been made to migrate to a RESTful web services architecture. The new design is based on Google Protocol Buffers to define message formats and Spring/Spring MVC to handle client-server interaction. This resulted in a loosely coupled federation of services, each with its individual release and deployment schedule, which enabled more developer innovation and easier access to more data in a uniform fashion.
The audience will be shown in detail how to deal with Google Protocol Buffers, how to define and consume the messages, how to implement the client and the server sides using Spring and Spring MVC (showing custom Views, DataBinders and other Protobuf specific implementations of Spring/MVC components) and a demo building an actual client and a server in under 15 minutes.
What you will get from this session: - using Google Protocol Buffers to constitute language neutral contracts - using standard HTTP plumbing and intermediaries - designing a reverse proxy for request routing based on RESTful URLs - establishing OLAs for governance and service isolation - utilizing the power of Spring/Spring MVC to create client/server end-point implementations for handling the request/response