<<< Previous speaker next speaker >>>

Vaughn Vernon, Software developer veteran

 Vaughn  Vernon

Vaughn Vernon is a veteran software developer with more than 25 years of experience in system, application, and toolkit architecture, design, and development. Vaughn brings a unique mix of business and technology talent to every project. Vaughn's experience spans architecture, domain-driven design, and construction of COTS and custom component-based frameworks and business applications across a wide variety of industries.

Vaughn founded a software product and consulting organization in the 1980s that served over 5,000 customers. He has consulted with General Dynamics in the aerospace industry, for Fresenius Medical Care and Gambro Healthcare in the acute renal care field. He has consulted with national clients such as AT&T and Compaq (HP), as well as internationally with Emirates Airlines in the UAE and ProActivity in Israel. Vaughn lead software development efforts for an insurance-services startup that became part of WebMD.

Presentation: "RESTful SOA or Domain-Driven Design - A Compromise?"

Time: Wednesday 15:35 - 16:35

Location: City Room

You are fascinated with the pure simplicity and efficiency of RESTful SOA. You have also experienced the benefits of using the tactical, building block patterns of Domain-Driven Design (DDD) in a single application. But now you need to integrate applications and you will use REST. Is it necessary to choose either SOA or DDD as a design strategy? Must DDD principles be abandoned to get your RESTful integrations right? No, not if you are willing to consider the "other half" of DDD. Using both REST and the strategic design patterns of DDD, we look at approaches for integrating multiple DDD-based models. Integrations are framed using DDD's Bounded Context, Context Map, Open Host Service, Published Language, and Anticorruption Layer strategic design patterns. RESTful services provide the integration backbone. The RESTful integration of three sample models provides guidelines for preserving the purity of each Ubiquitous Language and its model's consistency within separate Bounded Contexts all while applying SOA.