This is an old revision of the document!
NebolIntegration is a light-weight C# library that manages integrations between systems.
See the nuget page at https://nuget.nebol.se for version history etc.
NebolIntegration requires five tables to be created in the storage of your choice. They are prefixed with “Integration”. You will create a class containing the actual integration logic. This class is then provided to the integration engine that will
NebolIntegrationNotifier (windows application, downloaded separately) provides
Storage for the integration data such as an Entity Framework supported database or any other storage supported by SharpRepository (MongoDb, RavenDb, Db4o, XML etc)
The functionality of NebolIntegration is rather straight-forward but still there are a bunch of concepts to understand in order to properly implement an integration. I think that it's perhaps best explained by a couple of tutorials…
Example 1 - Outgoing asynchronous integration using sqllocaldb and GUID generating webservice
NebolIntegration_Tutorial_1 - Creating your first integration NebolIntegration_Database_and_Flow - So what happened?
NebolIntegration_HealthChecks - What are HealthChecks and why do we need them?
adding a healthcheck adding the commands
Example 2 - Switching Example 1 to synchronous processing
Example 3 - Incoming asynchronous integration
Setting up database
Configure the DefaultConnection and run this in Package Manager:
update-database -ConfigurationTypeName NebolIntegrationDbContextConfiguration -Verbose
This will create the necessary tables
The default Configuration-class looks like this:
How to specify other connection string than DefaultConnection ??
Setting up SharpRepositiry Creating the class Running the Integration
Additional topics: Adding a Healthcheck Setting up notifier Controlling the Integratiob with console-commabds (using NebolCommand) The database (manual configuration, troubleshooting integration tasks)
Version 1.1 will support Tasks that are automatically repeated (like in Windows Task Scheduler) thus no Submit will need to be made in the ValidatePolling() method (which was one way to go about it).
Version 1.2 will support running multiple engines & multiple threads per integration.
Version 1.3 will support Schedules that you can setup to plan ahead for maintenance windows, or if you only want the integration to be run on business hours etc.