You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Connector.md
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
-
# Projac.Connector
1
+
# Projac
2
2
3
-
Projac.Connector brings Projac's declarative style of authoring projections to projections that target any store for which you can bring your own connection.
3
+
Projac brings a declarative style of authoring projections to projections that target any store for which you can bring your own connection.
4
4
5
-
It's available on NuGet: [Projac.Connector](https://www.nuget.org/packages/Projac.Connector/)
5
+
It's available on NuGet: [Projac](https://www.nuget.org/packages/Projac/)
6
6
7
7
# Authoring projections
8
8
9
9
## The Declarative Style
10
10
11
-
Similar to Projac's declarative style for sql projections, one can author projections that target Elasticsearch, Redis, RavenDb, WindowsAzure Table Storage, etc ... in a declarative way. A fundamental difference is that the handling and interpretation of messages is directly tied to the execution of actions against the respective store. Why? Because replicating the entire connection api into a set of statements would be too ambitious and brittle a goal. Only asynchronous projection handling is supported at the moment. Given we're dealing with I/O intensive operations that decision seems reasonable.
11
+
One can author projections that target Elasticsearch, Redis, RavenDb, WindowsAzure Table Storage, etc ... in a declarative way. The handling and interpretation of messages is directly tied to the execution of actions against the respective store. Only asynchronous projection handling is supported at the moment. Given we're dealing with I/O intensive operations that decision seems reasonable.
How and when you decide to execute the projections is still left as an exercise to you. Typically they will sit behind a message subscription that pushes the appropriate messages into them, causing the execution of actions against the store. You can use the ConnectedProjector to perform the actual execution.
198
+
How and when you decide to execute the projections is still left as an exercise to you. Typically they will sit behind a message subscription that pushes the appropriate messages into them, causing the execution of actions against the store. You can use the Projector to perform the actual execution.
199
199
200
200
# Testing projections
201
201
202
-
Projac.Connector comes with an *API* that allows you to write tests for your projections at the right level of abstraction. Depending on the store you are integrating with, you may want to extend the syntax with extension methods that tuck away any boilerplate code. The general idea is that you author a scenario using *givens*, which are just messages, and verify that the store contains the expected data (and only the expected data) after projecting those messages using the projection under test.
202
+
Projac comes with an *API* that allows you to write tests for your projections at the right level of abstraction. Depending on the store you are integrating with, you may want to extend the syntax with extension methods that tuck away any boilerplate code. The general idea is that you author a scenario using *givens*, which are just messages, and verify that the store contains the expected data (and only the expected data) after projecting those messages using the projection under test.
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# Projac
2
2
3
+
**Important Changes**
4
+
3
5
[](https://gitter.im/yreynhout/Projac?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
6
5
7
Projac is a set of projection libraries that allow you to write projections targetting various backing stores.
0 commit comments