Note: this is content from Über Conf   2010. Please find current event information on our home page.

Platinum Sponsor

NFJS One - Training, Consulting, Mentoring

Über Conf 2010 Brochure - Download


Vaughn Vernon

Principal Architect, Consultant - ShiftMethod

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.

Presentations

Developing a Complex External DSL

The use of a domain-specific language, or DSL, is becoming a realistic and even necessary solution for software developers on all sorts of projects. You've heard about DSLs, and you may know that DSLs are divided into a few different styles, internal and external. But what is an internal DSL and external DSL? When would you decide to use one or the other? And, primarily, how would you go about developing a complex external DSL? This presentation answers these questions, with a focus on developing a complex external DSL.

Learn about the important distinction between internal DSLs and external DSLs and why you would use one or the other, or both. Following this basic foundation, details on the development of a complex external DSL are presented. Covered are subjects such as, how complex might a language become and how complexity is managed; conceptualizing and designing a language syntax; understanding, designing, and developing the metamodel; defining a multi-model parser; understanding, designing, and developing the output artifact generator.

Implementing Domain-Driven Designs

Eric Evans' masterful book, Domain-Driven Design, is deep in theory and pattern language, but light on implementation guidance. With so much to offer, DDD should be put to use by many more teams seeking to tackle complexity in the heart of their software systems. However, without clear examples of how behavior-rich domain model implementations are achieved, many who could benefit greatly, instead shy away. Here's your chance to grasp DDD as Vaughn shares his experience through three practical example domain models implemented in Java.

Gain the insight you need to practice domain-driven design on your projects. Uses of patterns for strategic design include Bounded Context with its Ubiquitous Language, Context Map, Anticorruption Layer, Open Host System, and Published Language. The tactical patterns used for core model implementation include Modules, Value Objects, Entities, Aggregates, Services, Events, Factories, and Repositories backed by persistence mapping techniques. Integration between multiple Bounded Contexts is also demonstrated. Learn methods for managing aggregate boundaries, complexity, and correctness from the inside using Tell-Don't-Ask, Law of Demeter, Command-Query Separation, command-based editing models, validating domain objects, and business rules execution.

The Domain-Driven Design Metamodel

Is there a metamodel behind domain-driven design? Is it possible to blend a complex external DSL and the concepts of domain-driven design patterns to produce a tool to rapidly implement advanced domain models that strictly adhere to Eric Evans' DDD pattern language? Absolutely, and Vaughn demonstrates how this has been achieved and why the repeatable method is important to you.

Follow along with this presentation to find out how you can design a complex external DSL to realize advanced application code generation that produces error free results. Using the patterns of domain-driven design as his requirements, Vaughn shows you how a DDD-based language model and metamodel are developed. Then when the DDD-based language source code is parsed and translated, see the resulting flawless code and configuration of a Bounded Context's core domain model appear. Use similar techniques to accomplish far-reaching goals of problem domain abstraction and zero-defect component generation. Unless you have in-depth knowledge of domain-driven design and complex external DSLs, it would be helpful to attend Vaughn's previous two presentations.





Blogs

Johanna Rothman

Programs and Technical Debt

Posted By: Johanna Rothman on May. 15, 2012

Once you have a program (a collection of interrelated projects focused on one business goal) and you have technical debt, you have a much bigger problem. Not just because the technical debt is likely bigger. Not just because you have more peop



James Ward

Graphs in the Cloud: Spring + Neo4j on Heroku

Posted By: James Ward on May. 14, 2012

Last week I hosted a webinar about running Java apps on Heroku that use the Spring Framework and the Neo4j graph database. Here is the recording of that webinar: In the webinar I began by deploying a copy of the Spring MVC + Hibernate template app fr



Terry Ryan

PhoneGap Starter Project - Productivity

Posted By: Terry Ryan on May. 14, 2012

A few weeks back Ryan Stewart posted on his idea for PhoneGap Starter projects. They were designed to take some of the grief out of getting started with various aspects of PhoneGap and PhoneGap Build projects.  I've contributed a project based on one o



Terry Ryan

D2WC Next Week

Posted By: Terry Ryan on May. 9, 2012

Next week, I'll be speaking at D2WC, a designer/developer workflow conference in Kansas City, Missouri.  I'll be talking about Using PhoneGap Build to simplify your mobile development life. One of the great things about PhoneGap is that it allows you t



Johanna Rothman

Management Myth #3 and #4 Posted at Techwell

Posted By: Johanna Rothman on May. 9, 2012

I’ve been writing a series of management myths this year. I didn’t realize when myth #3 went live and #4 went live yesterday. Management Myth #3: We Must Treat Everyone the Same Way and Management Myth #4: I Don’t Need One-on-Ones are



Kenneth Kousen

From now on, I’m calling it GroovyString

Posted By: Kenneth Kousen on May. 9, 2012

I’ve been doing a lot of introductory Groovy presentations lately, and an issue keeps coming up that I feel I have to address. I’ve had to think hard about how to do this, though, because I don’t want to be misunderstood. I’m pr



Johanna Rothman

Why Does Management Care About Velocity?

Posted By: Johanna Rothman on May. 8, 2012

I’ve been talking to people whose management cares about their velocity. “My management wants us to double our velocity.” Or, “My management wants us to do more in a spri



More Blogs »
 

Themes at Über Conf

  • Architecture
  • Enterprise Java
  • Java Internals
  • Security - Enterprise & JVM
  • Cloud Computing
  • Languages on the JVM - Groovy, JRuby, Scala & Clojure
  • Java Web Frameworks - Wicket, Tapestry & SpringMVC
  • Build Systems - Maven & Gradle
  • Testing
  • Agility

 

Featured Speaker


 

Registration Includes

  • Four Day - Access Pass
  • All Meals / Snacks –duration of the symposium
  • Session Materials
  • Custom Binder
  • Wi-Fi Access
  • Great Raffle Giveaways
Register Now »
 

Location

Westin Westminster
Westin Westminster
10600 Westminster Blvd
Westminster, CO   80020
View Map