REQUEST A DEMO

Tag: Services

Software and Customer Service

customer service
June 3, 2016 Customer Service Today - a phantomMy colleague Matt, a sales director here at Dovetail, recently wrote about customer service on our HR blog - this is something I find myself more and more concerned with as we continue to move from a manual society to all-things automated or computer-related. As a customer, are your needs truly met - do you feel like you are listened to? Do you want more? Have you come to expect less?Expecting LessI think this is where we are today. We have come a place where poor customer service is the norm. Where the client is only listened to when they threaten public shaming or when they actually go to a public forum like Twitter or Yelp to describe their poor experience. How sad that it has come to this. How sad that the days of…

Configuring Topshelf Using A StructureMap Container

January 20, 2010 At Dovetail we use StructureMap a lot. Lately we’ve also been using Topshelf a lot too. This post takes a look at how you can marry these two technologies together. We will be using the StrucutreMap container to configure which services get started by Topshelf at runtime. Simple Services   Let’s start simple. We need a way to identify which configured types want to get configured to be spun up by Topshelf. To accomplish this I created an interface called ISimpleService which includes only the Start and Stop methods that Topshelf uses to manage the services lifetime.   public interface ISimpleService { void Start(); void Stop(); }   Next up we’ll update and expand the example from my previous post Controlling Application Lifetime In Topshelf to have it implement the ISimpleService. We’ll also add another service in charge of spamming the log file.   public class LogSpamService :…

Controlling Application Lifetime In Topshelf

One of Topshelf’s best features is the ability to easily host one or more services running side by side. In this post we will create a Topshelf service which will shut down the application. Lets take a look at how it is done.     Coordinating the Service   Let’s create a fake Health Monitoring service which will, sometime in the future, tell Topshelf to shut the application down. The Topshelf hook for controlling the state of all the services it is hosting is a type called IServiceCoordinator. Here is the code for our health monitor. public class HealthMonitoringService : IHealthMonitoringService { private readonly IServiceCoordinator _serviceCoordinator; private readonly ILogger _logger; private Timer _timer; private int _healthCheckCount = 0; public HealthMonitoringService(IServiceCoordinator serviceCoordinator, ILogger logger) { _serviceCoordinator = serviceCoordinator; _logger = logger; } public void Start() { _logger.LogWarn("The Health Monitor is starting up");…

Producing and Consuming Messages using MassTransit and StructureMap

August 26, 2009 I am spiking out right now what it takes to use a Mass Transit as a message bus for handling a simple producer consumer messaging architecture. To be exact I want to see how easy it is to get Mass Transit working using StructureMap for an IoC container. Dovetail uses Inversion of Control extensively to make our code more: testable and able to leap tall buildings, dodge bullets, and all that. Our favorite IoC container is StructureMap. Why? Because it is great and we have two contributors on staff: creator Jeremy Miller and the brainy Josh Flanagan. Getting Started My first step was to grab the Mass Transit trunk from SVN, build it and start up a new solution with three projects: Producer – produces messages. Consumer – consumers messages. Common – code shared between producer and consumer. In this…

Happy To Be Of Service

Static image May 25, 2007 The current IT and software development world is very much concerned with services, and service oriented architecture. This is a world well suited for Dovetail Software, we were service oriented from the beginning.   We started life exposing Clarify processes in APIs, and these have evolved today into Web services as well. Our purpose was always to provide extensibility to the Clarify install. It was a more elaborate procedure in earlier years.   “SEC.NET also supports “API invoke mode”, which allows any of the hundreds of available high level APIs from the Dovetail SDK to be invoked. This was originally written to allow systems to send email for integration purposes [...] This capability was built years ago, before the prevalence of SOA architectures. Modern systems will typically just call anAPI directly, or even make a WebService call, as opposed to invoking an API over email (basically, RPC over email).” – Email…