During the Integrate 2016 Sandro shown a demo using one of the GrabCaster features, the BizTalk GrabCaster Adapter and I anticipated a bit about the GrabCaster Framework, many people made me many questions like how GrabCaster works, what GrabCaster is, the story of it and so on, so I decided to group the top 20 before the TUGA IT.
When you started the development?
I started the development 2 years ago and during the spare time, it was really hard but thank to my wife Grazia and my family I have been able to keep going and terminate the idea, well to be honest my wife hates GrabCaster now J.
Where the idea comes from?
I spent the last 15 years in the integration using any kind of software and I had a look in any framework and one of the aspect normally annoy me is the complexity to integrate technologies and exchange data, sometime because the framework is huge and we only need to do some specific tasks, other time because the framework is too complex inside, other time because we need to use a black box and we are forced to customize and use tricky strategies to solve a problem and last but not the least the costs.
GrabCaster is a framework able to Grab and Cast data across any network, Grab + Cast + (er) J.
What do you like more about GrabCaster?
I like the simplicity to solve problems and to integrate technologies, in my opinion GrabCaster is unique in the category of the integration frameworks, I’m not able to find something similar, I’m sure many companies and people will use the same approach in the future, it’s a new approach a people need I love the idea and I love speaking about it with other people and get opinions and new ideas.
I want to dedicate this huge job to my Dad, he was a star in his job and the most unique person I had the honour to know in my life.
What GrabCaster is?
GrabCaster is something completely new, it uses a completely new concepts to exchange data across the network and to integrate technologies, it’s clever and smart to use.
The engine is an integration framework based on a loosely couple event handling approach, a point opens a channel and any point can exchange messages with any active point.
The approach to send information is open and using any kind of pattern like Pub/Sub, Point 2 Point, Peer 2 Peer, 1 To 1, 1 To N, N To 1, N To N, Synchronous and Asynchronous ad other…
How GrabCaster connect the endpoints?
Unlike the other frameworks, GrabCaster doesn’t use a point to point approach for instance using lines, arrows or creating subscribers, a point is already connected because it exists and active and it can receive events any time from any other point.
How GrabCaster can be used?
GrabCaster is polymorphic and it supports different way to be executed and used.
GrabCaster Framework is the main engine and there are many other features.
The Framework can be executed in different way:
- As Console Application
- As Windows NT Service, the framework exposes all the functionality as Windows NT Service.
Embedded in other applications and frameworks
- When a framework embeds GrabCaster it hosts GrabCaster inside and it get all the functionalities, for instance, in case of the BizTalk Adapter and the Logic App Adapter, GrabCaster is inside BizTalk Server and inside the Logic App connector, the BizTalk Adapter and the Logic App Adapter are just two of the GrabCaster features.
About the BizTalk GrabCaster Adapter, where exactly GrabCaster runs?
- When the GrabCaster Adapter is executed BizTalk Server uses the GrabCaster functionalities inside, GrabCaster is inside BizTalk Server and BizTalk extend the functionality using the GrabCaster Framework, to use the adapter we need to install GrabCaster in the BizTalk folder, GrabCaster lives inside BizTalk.
How the GrabCaster Logic App Connector works?
- The logic App Web API host the GrabCaster functionality inside, it is a GrabCaster point able to receive any data from any other GrabCaster point, the points can be everywhere, on premise in the cloud or for instance embedded in a BizTalk Server, the Logic App GrabCaster API is more an adapter than a connector.
- Embedded in libraries.
Can I execute more than one GrabCaster instance in the same machine?
Multiple points can be executed in the same machine or environment.
How the points communicate each other?
A point can communicate with the other points using different providers as Redis database and Microsoft Azure.
The engine can change the message provider to use just switching a component as below:
- “EventsStreamComponent”: “GrabCaster.Framework.Dcp.Azure.dll” using Microsoft Azure EventHubs.
- “EventsStreamComponent”: “GrabCaster.Framework.Dcp.Redis.dll”
A single point can also execute events triggers and events locally.
How the data and the events are executed?
The point picks up the data executing a trigger and it send the data to one of the other points and execute the event remotely or locally.
What exactly can be a trigger or event?
A trigger or an event can be a .Net library, a PowerShell Script or a C# script.
So can I create a trigger and event using PowerShell as well?
Yes correct, the PowerShell script interact with the GrabCaster engine automatically, what we need to do is just create a simple variable in the script.
How much complicate is create a trigger or an event?
One of my key points in the idea was the simplicity, the operation to create a trigger, event or to extend any GrabCaster functionality is very straightforward, a junior .Net developer can create a new trigger in ten minutes and an IT administrator can use PowerShell, there are many samples and templates in the community project.
What kind of operations a trigger or an event can execute?
A trigger or an event can execute any kind of operation we define, for instance insert data in a database, executing a PowerShell script or writing a file, send data to a CRM and other more.
Can I use a different message provider or logging?
Any functionality like messaging provider or logging or configuration or other is easily extendable, we can create a new messaging provider like File System, DropBox, Amazon, NServiceBus, Google Service and use it in the engine.
We can also create different new logging providers on configuration providers.
Is GrabCaster scalable?
The engine uses a complex internal throttling system to increase the messaging performances and multiple points can be executed in the same machine.
This job is just the tip of the iceberg and I have a lot of new features in mind like the pipeline and the transformation provider, more extensibility in the GrabCaster BizTalk adapter and in the Logic App GrabCaster Adapter and more…
How much it cost GrabCaster Framework?
GrabCaster Framework is free and open source.
Where can I find more information?
I’m going to present GrabCaster next Thursday in the TUGA IT, TUGA IT is the most important community event in Europe, I’m honoured to be speaker at this event.
In TUGA IT I will also have the opportunity to explain the engine in detail during a workshop and find other passionate developers like me for the community.
The main site is http://grabcaster.io