composing multiple bounded contexts in a single user interface

We are developing a system which is composed of multiple bounded contexts, there are user interfaces where the information displayed needs to be rendered from multiple bounded contexts.

A classic example of such an interface is the Amazon.com ordering page. Where we see about about the product (product BC), inventory available (Inventory BC), prices and so on

My question, in such scenarios in which bounded context would the user interface live in ?, I get how we can pull data from multiple BC's to form the page, but are their in guidelines as to where the page itself will reside ?

Similar questions here and here, they deal with how to get information from the multiple BC's, but they do not address in which BC the user interface itself will live in ?

Any guidelines on that ? With an example would be great...

Posted by: sudarshan89 <at> yahoo.com


Framework for managing domain events

I am trying to learn how to implement domain events and use them to integrate various bounded contexts. I've read Vaughn Vernon's Implementing Domain-Driven Design, but as the book aim was to introduce the concepts, so most of the domain events generation and handling was done manually.

In the Java world is there a framework(s) that can be used to handle events generation, publishing, consumption, error handling,,,,etc?

I understand that I might be mixing several concepts here. For example maybe the events generation can be done by one framework and managed by another framework.

Can someone please recommend the current best tools to automate the management of domain events from end-to-end in Java?

PS: I'm not looking for anything related to Event Sourcing.

Posted by: songoko20000 <at> yahoo.com


Are web applications complex enough to domain-driven design?

After much reading and some attempts to implement DDD, I think I understand what people mean when they say the concept was developed for complex domains.

I usually develop web applications for small and medium businesses, usually the interactions are just CRUD application and tables in HTML, which goes beyond this are some validations before inserting the data into a database.

I was reading about CQRS on Martin Fowler's website and a phrase caught my attention: "CQRS is suited to complex domains, the kind that Also benefit from Domain-Driven Design.".

So my question would be how to analyze the complexity of the software?
When applying DDD worth?
Worth applying DDD in software for small and medium complexity?

Thank you!

Posted by: lc <at> leocavalcante.com


Introducing VBooky.com - Help for popularizing and any support!

Dear All,
  It's been sometime since I have got in touch with many. Here's a few updates on what I have been upto.

For the past 6 months or so, I have been working on starting up a company - Fyno Pvt. Ltd. and bringing up a product in the domain of Spa, Salon and Wellness. Now it's been in operation (beta) for the past 1 month or so.

Online Product - www.vbooky.com 
What it is - It is a online marketplace and platform for Salon, Spa & Wellness Industry, India
What You can do - You book your salon , spa services online like your next hair cut or pedicure or relax with a deeply soothing Swedish Massage .. & many more.

Brief Intro Video 

It is still in Beta even as we try to streamline the operations and few technical issues. Any feedback is most welcome :-) 

I need help and support in below areas. Any help is most welcome :-)

1) Popularize the website - Please register, login & book. Please invite at least 5 friends and make a booking. As of now bookings are only for Bangalore locations. 

2) Like Us on Facebook & invite your friends too

3) Spa and Salon tieups - We are working to get as many salons and spas online soon. If you can provide any more, if not not yet listed & you want them, please send the details .

4) Any good publicity - media, online, blogs & introductions & ideas - most welcome. 

​Sorry, if this mail has reached unintended inbox. My sincere apology. I have tried to remove irrelevant email id from my contact list.​

Thanks and Regards,
Ingudam Manoranjan

Posted by: Ingudam Manoranjan <ingudam <at> gmail.com>


Revenj - a DDD friendly framework

Hi all,

we've released a .NET backend framework we've been using for years.

It supports rich models (even has some support for unstructured ones) on top of Postgres (and Oracle) so it allows for seamless DDD while avoiding the JSON DB route.

It's BSD licensed and is available on: https://github.com/ngs-doo/revenj

It contains some distinguishing features (with https://dsl-platform.com/ integration):

 * advanced object-o riented LINQ driver

 * no ORM issues since it utilizes objects in the DB [so it might have OOM issues ;)]

 * integration with modeling language based on DDD for describing the domain

 * automatic SQL migration based on modeling language diff

 * removal of various boilerplate (repositories, DTOs, etc...)

 * works on Mono

If you have questions or comments, please let me know.



Posted by: rikard <at> ngs.hr


Assigning responsibility for cancelling an Order

During a conversation with our Domain Expert we can across this feature:

"A Customer service agent can cancel an Order by decreasing its quantity. To cancel an Order we decrease its quantity by the specified quantity, change its status to either partially cancelled or fully cancelled and log the CS agent who issued the cancellation."

We are currently split between several solutions (assuming we have the `agentId`, `orderId` and `cancelledQty` from the request): 

**Solution 1:**

    CSAgent agent= (CSAgent) EmployeeRepository.getById(agentId);

    Order order= OrderRepository.getById(orderId);



**Sol ution 2:**

    CSAgent agent= (CSAgent) EmployeeRepository.getById(agentId);

    Order order= OrderRepository.getById(orderId);


**Solution 1** really captures what the requirements is conveying and reads really well; however, **solution 2** seems more natural when coding the implementation of the cancel() method as I'll mostly update fields in the `Order` class itself which I hope to keep `private` with no public setters.  

The only thing I need from the `CSAgnet` class is a snapshot of its data to be stored with the `Order`.

So how should I determine the best course of action from a DDD perspective?

Posted by: songoko20000 <at> yahoo.com


Thoughts about the Repository pattern and its implementations

Please, take a look at Repository knows about the database schema, a let's discuss:


Posted by: lc <at> leocavalcante.com


agrregates vs. aggregates

getting ready for Friday Sept 19th, 2014?

Posted by: Raoul Duke <raould <at> gmail.com>


Yahoo Groups Links

<*> To visit your group on the web, go to:

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    (Yahoo! ID required)

<*> To change settings via email:
    domaindrivendesign-digest <at> yahoogroups.com 
    domaindrivendesign-fullfeatured <at> yahoogroups.com

<*> To unsubscribe from this group, send an email to:
    domaindrivendesign-unsubscribe <at> yahoogroups.com

<*> Your use of Yahoo Groups is subject to:


Understanding Agrregates

If I have a Customer and a Product and they are related by a Account.

Account than is a Aggregate?

I will have:



Or my Account still an Entity?

Posted by: lc <at> leocavalcante.com


How to assess definitions

Faced with a plethora of notions with overlapping or conflicting definitions, there is a straightforward two-steps routine to separate the wheat from the chaff:
1.The definition must support a clear and unambiguous distinction between the targeted instances.
2. The resulting subsets must directly support a well defined purpose.

As a launch pad, here is a batch of trivial assertions to build upon:



Posted by: caminao <at> gmail.com


Repository-interfaces: Domain Layer or Application Layer?

Long I have been following the advise of most articles, books and forums to make the repository-interfaces part of the Domain Layer. As many have asked in the past, 'Are repositories part of your Domain Model or not?', the answer usually was 'their interfaces - yes, their implementations- no.' Which, IMHO implied that you should put the repository-interfaces into your Domain Model assembly (aka the Domain Layer).

However, my experience is that those interfaces are never actually used inside your Domain Layer - the first layer that actually uses them is the Application Layer. Isn't it then much more sane to define them in that layer? Perhaps you have always been doing it that way, or is there any evidence is it still best to keep them close(r) to your Domain Model instead?

Posted by: Wim van Gool <vangool.w <at> gmail.com>