maria_skillsmatter | 6 Feb 14:28
Favicon
Gravatar

Watch DDD and CQRS expert Greg Young's talk - Simple is better

Very often we take on huge couplings in order to get value. This coupling forces us to build software in
certain ways that may or may not be good for us at the time. In this talk, Greg Young looks at some common real
world examples of these problems -- and, more importantly, how to avoid them. 

To watch Greg's talk, please click here skillsmatter.com/podcast/design-architecture/simple-is-better//mw-3513

------------------------------------

maria_skillsmatter | 7 Feb 16:03
Favicon
Gravatar

In The Brain of Simon Brown: The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing
forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the
other though, we're continually forgetting the good of the past and software teams are still screwing up
on an alarmingly regular basis.

Software architecture plays a pivotal role in the delivery of successful software yet it's frustratingly
neglected by many teams. Whether performed by one person or shared amongst the team, the architecture
role exists on even the most agile of teams yet the balance of up front and evolutionary thinking often
reflects aspiration rather than reality.

If we really do want to succeed, we need to get over our fascination with shiny new things and starting asking
some questions. Does agile need architecture or does architecture actually need agile? Have we
forgotten more about good software design than we've learnt in recent years? Is emergent design really
just about foolishly hoping for the best? Does any of this matter if we're not fostering the software
architects of tomorrow? How do we move from frustration to serenity? 

To watch Simon's talk, please click here http://skillsmatter.com/podcast/home/frustrated-architect/mw-3549

------------------------------------

maria_skillsmatter | 8 Feb 17:09
Favicon
Gravatar

Watch Eric Evans on DDD Strategies for Moving Away from Legacy Systems

DDD Strategies for Moving Away from Legacy Systems
Often a team sets out to design a new piece of software using a domain model. At first they are focused on
strategically valuable new features and modeling sessions clarify the new approach the business wants
to take. Then they get bogged down because the work necessarily involves other systems. The newly
designed part must be integrated with an external system and this leads to loss of clarity in the design. Or
it must be integrated with a legacy system, compromising the new model. In response, the team may try to
redesign more of the legacy system, and the scope expands. There are many ways this may happen, but they
lead to the same place. The narrow focus on strategic value is lost, and the fresh and clear new approach to
the problem is muddied. This talk will describe a few of the ways
  that the strategic design patterns of DDD,in particular, Bounded Context, are used to avoid these
problems and make timely delivery of new software of modest scope but high value that is integrated with
existing systems without being mired in the outdated models of the past. 

To watch Eric's talk, please click here http://skillsmatter.com/podcast/java-jee/talk-from-eric-evans/mw-3447

------------------------------------

bty773778 | 8 Feb 15:35
Picon
Gravatar

Updating OrderLines in Order aggregate root when using DDD



Hi, I have a question with regards to how to update an order line when using DDD.

In my application I have defined Order and OrderLine with Order being the aggregate root containing a collection of OrderLine. 

The constructor for OrderLine is immutable and looks something like this:-

OrderLine(double someQuantity, double someOtherQuantity, Product product, string some Attributes)

when I am creating an Order it is simple to just create a new OrderLine and call Order.AddLine(orderLine).  However, I have more problems when the user wants to change details of an already existing order line. If the OrderLine exists and the Order is n ot in a process status they are allowed to change every single value on the order line. I think I therefore need something like Order.UpdateOrderLine()

When I start to implement this I can easily retrieve the OrderLine  I need to update by matching OrderLineId  - in the past I might have done something like existingOrderLine.SomeQuantity = 12 etc.  However, as the constructor for OrderLine is immutable I can no longer do this. I then considered Removing the existingOrderLine from the OrderLines collection and re-adding the new OrderLine but again this seems wrong. 

Now I am at a point where I think that I somehow need to get the existing orderLine and replace it with the new orderLine but I am not sure how.  I was hoping that some of the good people of this group might be able to point me in the right direction.


Any help would be most appreciated

Alex


__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Favicon

DDD Denver

The DDD Denver meetup is looking for speakers. If you work near or are going to be in the area and have a
noteworthy DDD topic to share, please let me know.

We have been meeting every other month on the second Monday, but we can adjust if that doesn't meet with your
schedule. We have no budget and all our expenses are paid out of pocket by the organizers and others who
provide conference/training rooms.

Thanks for considering!

Vaughn

vvernon at shiftmethod dot com

------------------------------------

remyfannader | 2 Feb 06:49
Picon

Objects with Attitudes

Should domains be defined separately for objects and aspects ?
http://caminao.wordpress.com/2012/02/01/objects_with_attitudes/
Remy Fannader

------------------------------------

mikehamedani | 2 Feb 05:38
Picon

Training

Hello,

I attended Udi's 5-day course on SOA and really enjoyed it. Just wondering if there are any other similar
workshops around US? I saw one on DDD by Eric Evans too. Do you know any other good classes that help with
software architecture, design and thinking, running by some famous people? 

Mike

------------------------------------

mikehamedani | 2 Feb 02:58
Picon

On implementation of canonical data model


One thing I'm still confused about canonical data model is how is it actually implemented in real world. I'm
assuming the idea is that each domain/service has its own representation of the world but when they
interact with each other, they all talk a common language (canonical model). 

In practice, how should we implement this? 

1- Should we have a mapping layer in each service to translate its internal model to the canonical model? If
yes, can you show an example of this?

OR

2- Is this just a matter of a having a standard in place (perhaps as a visio diagram or something) that should
be followed by people who design service contracts? If yes, how can we enforce that different people in
various teams follow this standard in practice? Are there any tools/practices? 

Please share your thoughts and experiences. 

------------------------------------

mikehamedani | 1 Feb 00:23
Picon

Issue with Publish/Subscribe

Hello, 

I was having a chat with a friend about publish/subscribe but he raised an issue that I had no answer to.
Consider this scenario:

Our publisher publishes message X. Tomorrow we need to add a new subscriber but this new subscriber needs
more data than what is currently included in X. So, we'll have to modify the publisher "because of this new
subscriber", which affects the loose coupling of these components. 

He also mentioned that now that you want to release this subscriber, you should also manage to release the
new version of publisher with the new message format at the same time, which leads to release management
headaches. 

What is the right approach to address these issues?

Mike

------------------------------------

Syriani, Eugene | 31 Jan 17:18
Favicon
Gravatar

CFP: VOLT2012 (extension)

                              VOLT 2012
                      Co-located  with  ICST  2012
                http://www.model-based-testing.de/volt12
  1st Workshop on the Verification and Validation of Model Transformations

                       Montréal, Québec, Canada
                           April 21st 2012

*** Call for Papers ***

Model transformation is at the heart of Model-Driven Development (MDD). Many experts have identified the
verification of model transformation as one of the grand challenges of the domain. Despite some recent
activity in the field, the work on the verification of model transformation remains scattered and a clear
perspective on the subject in still not in sight. VOLT 2012 is the first workshop to offer researchers a
dedicated forum to present, discuss, classify, integrate, and advance verification techniques of
model transformation relevant to industry.

If we generically consider a model transformation as an algorithm describing a set of computations, then
testing it or proving some of its properties can be envisaged through model checking or theorem proving.
However, a model transformation performs a particular kind of computation where: (1) it operates on
models, thus data at a high-level of abstraction rich in semantics and (2) from a pragmatic point of view,
often only the initial input and the final output is of interest, glossing away from intermediate steps.
These are primary fundamental differences between the verification of model transformation and
typical model-based testing or model checking. A particular point of interest for VOLT is that model
transformation is used to perform specific computations in the context of MDD, such as model refinement,
refactoring, translation, synthesis, simulation, or synchronization. Thus useful verification
techniques for model transformation can be specific to these activities.

VOLT's interest spans both to academic and industrial practices. Part of the workshop is used as a forum for
discussing practical applications of model transformation. The goal of the forum is to collect enough
industrial case studies so that those problems can be stated at a theoretical level. In order to discuss
these and further similar questions, we would like to invite submissions related to the following topics:

- Application of model checking or theorem proving to model transformation: what are the relevant
properties to prove?
- Application of testing techniques to model transformation
- Verification of transformations of models expressed in languages defined using MOF or EMF
- Syntactic and semantic preservation of model transformations, particularly when translating models
into different languages
- Verification of domain-specific model transformation, in contrast to general-purpose transformations
- Taxonomies of techniques for the verification of model transformation
- Case studies and experience reports
- Tools and automation
- Theoretical considerations

*** Publication ***

Submissions must follow the IEEE double column format. Authors may submit short papers (4 pages) or long
papers (8 pages). The two best papers will be published in the Satellite Event Proceedings (LNCS) of the
ICST conference.

*** Workshop Format ***

VOLT 2012 is a one-day workshop that is divided into two parts: paper presentations and discussions in
working groups. We anticipate an enjoyable and exciting event where all participants will leave with
answers or well-founded doubts ;) on model transformation and their validation & verification.

*** Important Dates ***

Submission: January 30, 2012 (extension till February 6 !!!)
Notification to authors: February 25, 2012
Final version: March 10, 2012

*** Organization Committee ***

Levi Lúcio (McGill University, Canada)
Eugene Syriani (University of Alabama, USA)
Stephan Weißleder (Fraunhofer FIRST, Germany)

------------------------------------

silenus99 | 30 Jan 20:10
Picon
Gravatar

DDD and Link Tables

I'm in the unique position where I get to start a project from scratch. 

So I want to design the entities before I start on the database. However, if I was to take a database first
approach, it's clear the data would require some linking tables.

How are linking tables represented in DDD, or should they not be at all?

------------------------------------


Gmane