Is SingleNode required?

Hi,

I am a bit confused about the use of the SingleNode executable for Event Store and I can’t find any documentation about this.

I’ve been playing around with EventStore using C# and I’ve noticed that I can save events to my SQL Server DB without running the SingleNode executable on my machine. What is the exact purpose of the executable? Is it there purely to provide a management and monitoring interface, or does it serve another purpose?

Kindly,

Johann de Swardt

The SingleNode.exe is the actual event store.

When you can "save your events to a SQL server db" on the machine
without it running. Save them through what? The EventStore is a db.
What APIs are you using to "save the events". The ES offers two APIs
you can use (C# native TCP API and AtomPub over http).

Cheers,

Greg

Hi Greg,

Thanks for getting back to me so quickly.

I’m using the native C# API.

This is what I’m doing:

var store = Wireup.Init()

.UsingSqlPersistence(“EventStore”)

.WithDialect(new MsSqlDialect())

.InitializeStorageEngine()

.UsingBinarySerialization()

.Build();

using (var stream = store.CreateStream(Guid.NewGuid()))

{

stream.Add(new EventMessage() { Body = “Hello world” });

stream.CommitChanges(Guid.NewGuid());

}

The above code saves a record to the commits table in a SQL server DB running on my local machine, without running the SingleNode exe. I’ve pulled down the package into a C# console app using NuGet.

What I’m not sure about is where the SingleNode executable comes into play. I get the feeling I’m completely missing the bus somewhere. 0_o

Kindly,

Johann

That's using JO Event Store which persists events into a sql server.
We have some hook ups laying around that you can hook it up into JO
Common Domain (what you are using). I will ask James to post them this
afternoon when he arrives here.

The Event Store is a database built specifically for storing events
(eg you wouldnt have sqlserver any more). Take a look at client API.
https://github.com/EventStore/EventStore/tree/master/src/EventStore/EventStore.ClientAPI

Or alternatively you could use the atompub interface
http://geteventstore.com/docs/atompub.html which is usable from any
platform (its restful)

Cheers,

Greg

Thanks Greg, suddenly life makes sense again! Sorry for the really daft question then, the names being the same on GitHub had me confuzzled :slight_smile:

For the client API you can if you have installed the event store add a
reference to it (its completely separated from the DB and is
separately deployable, we will shortly add a nuget for it).

Then try looking through these. They explain pretty well how the
client API works. http://geteventstore.com/docs/client-api-usage.html

There is 100% room for more API stuff on top of the Event Store
(things like common domain or some of the other APIs people are
building out). James has already written the pieces to hook into
common domain as an example.

Cheers,

Greg

There is 100% room for more API stuff on top of the Event Store

(things like common domain or some of the other APIs people are

building out). James has already written the pieces to hook into

common domain as an example.

Are the pieces to hook into common domain available for use/download anywhere?

Thanks,

James

Coming out more formally later this week (and there will be some changes) but …

https://gist.github.com/cfd48cdd4d518da2f6f6