Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9006293
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T01:22:18+00:00 2026-06-16T01:22:18+00:00

We try to follow SOA and DDD principles in our project. We use NServicebus

  • 0

We try to follow SOA and DDD principles in our project. We use NServicebus as messaging bus.
So far we have 20+ services.

How do you guys set up monitoring (i’m not talking about technical monitoring – like is service “xyz” reachable – is the hard disk full) ?

For example

If an Order is placed and the shipping is done 5 days later but it should have been executed after 1 day … that’s an error condition.

Or another example:
The shipping is done. Now we send an electronic invoice to our customer. We must archive that invoice and talk asynchronously with a third party (archiving provider) to retrieve our invoice. If that invoice is not retrieved after 5 days … that’s an error condition.

I have problems when defining HOW to model criterias on what is an error and WHERE to put these criterias.

WHERE …

… do you set up Monitoring rules ?

Are monitoring rules part of your bounded context ? I think yes.
Are monitoring rules directly related to an entity ? I think no.
Are monitoring rules directly related to an aggregate ? I think no.

Monitoring rules are like Domain-Services that span multiple aggregates but as opposed to domain services can also span multiple bounded contexts.

Who is reponsible ?

HOW …

… do you set up Monitoring rules in code ?

If you want to do it right its a really great deal of effort. Otherwise you could do it really cheap (make some queries here and there) but thats against SOA (the major part i’m concerned about)

Please guide me to a clear and easy to implement solution.

I’m also really excited to learn how you set this up.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T01:22:19+00:00Added an answer on June 16, 2026 at 1:22 am

    The first thing to identify is the set of events that you’re interested in. You already have some examples such as when the order shipment is late, invoice retrieval is late, etc. From the business perspective, these events have a specific meaning and specific consequences. Deciding on criteria for these events should be done in conjunction with domain experts – they should be able to say things like “when the order isn’t shipped after 1 day so and so should happen”.

    This of course is different from implementing this event-driven architecture. One way to implement the above time triggered events is to run a continuous process which runs a query on a schedule. This query would retrieve the set of entities which satisfy the criteria for the event at the time the query is run. The resulting system would publish these time triggered events. The NServiceBus handler for those events would delegate the handling of the event to the domain layer.

    Regarding the where, I agree that the definition and handling of these events will usually be tied to a specific bounded context. They could however span multiple BCs such as when an event from one BC is handled in another BC. As far as the physical placement of code, the event handler should go near the corresponding domain logic. For instance, you may have a shipping BC with a requirement to dispatch a message whenever shipping is late. In this case, the whole workflow would be contained in a single BC which could be implemented with a single VS solution.

    The how of these events should be part of the infrastructure as described above. On the other hand, the handling of the events should be delegated to domain layer. For instance, you can have infrastructure that publishes OrderShippingIsLate messages with NServiceBus. In the shipping BC solution, you’d have a NServiceBus handler for this message type, which would invoke an application service which handles this message (by adding a task for a support rep, dispatching some sort of warning, etc).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Should I always go through the services when I try to follow DDD? Or
Now I am working on a project about google adwords. I try to follow
I just typed the follow to try and get my SharePoint site: $spWeb =
I just follow this DIHQuickStart , try to import data to solr from mysql.
I try to work with ctags and it simply doesn't work. I follow this
I am trying to follow this tutorial ( Using-core-plot-in-an-iphone-application ). When I try to
I strongly try to follow general rules in coding styles. But when i look
I have the .NET Target framework set to .NET Framework 3.5 When I try
I'm trying to follow this tutorial to try and begin to understand the Visual
Code show an error when try declare a new Uri follow code: Intent pickContactIntent

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.