I received notice that I’ve been granted another patent. This was a classic case of necessity being the mother of invention and was an interesting one for me because it represented a design that resulted from a far reaching and impactful decision to completely isolate the task objects in the SSIS packages, eliminating any interactions with the package from the task. In the DTS world, tasks would manipulate the package wherein they were hosted which created all sorts of random and nasty behavior. And yet, many people really liked that flexibility and power. Ultimately, the “feature” created so many problems and the entire package feature set then bent around that bad design to the extent that it created a codependent dysfunction in the package design. In other words, people started treating the bug as a feature which led to faulty package designs.
The decision to isolate the task meant that all those bad and sometimes convenient practices of having a task that modified the package in which it was executing, in some cases while it was running, would have to stop and an alternate means provided to do essentially the same things but in a much more package healthy way in what I call cascading consequences.
One of those cascading consequences was that the task no longer had access to system context or in other words no way to get information about things like the machine, operating system, package name etc. on which the task was executing without destroying the isolation. Particularly, how to communicate to the task certain key system values while retaining location independence for the task. Or, keeping the task in the dark while providing just enough information to allow it to function successfully. This became known as a system variable.
Here’s the patent.
No comments:
Post a Comment