Please find here https://github.com/angelhernandezm/SIF-Service-Integration-Framework the source code for SIF. SIF was a project I started working on to overcome some of the limitations and issues found in CCF, CCA and USD. One of the design principles was to have less dependencies in assemblies that are required to be distributed along with the solution, and only rely on a daemon (Windows Service) that is responsible to orchestrate and automate target applications, based on information pushed from a centralized application server. SIF is intended to be cross-platform so a *nix daemon is expected to do what its Windows’ counterpart does.
The main components are described below:
- Windows Service and/or Daemon (Linux) responsible for automating existing applications, looking after the lifecycle of the applications to be automated and very important, to register these apps in the AppServer. This artifact will also surface a set of performance counters to find out how the application is performing (these performance counters will be available via perfmon or via SOAP/REST endpoints).
- AppServer manages session and automations, as well as stores information in the database (e.g.: session and metadata which defines the automated application).
- Web Server (AppServer and Web Server can be hosted on the same box) it will provide a VPP (Virtual Path Provider) similar to SharePoint, said that no HTML/ASPX pages exists but they’re dynamically rendered at runtime based on the information retrieved from automated application (remote).
- Everything is rendered as HTML and accessed via the browser. Each hosted application is translated/contained in a tab (similar to an IFRAME) and since the metadata/context is in the database, exchange and/or share of information is possible.
In a few words, the service will screen scrape the apps, and this information will be parsed/converted into HTML which is then served to users as an ordinary page. The webserver will allow to connect to any of the workstations where the service/daemon is running by entering something like http://WebServer/192.168.0.1/Desktop.aspx (where it should be able to resolve by IP address or name) and desktop.aspx is the integrated desktop.
Pros… No coding or deployment of anything to workstations except for the service. Since it’s HTML it can be styled… No RDP or anything like that because it’ll all go over HTTP.
SIF was conceived on a piece of paper (depicted below) while having lunch one day.