This methodology and the aim to be achieved is done in two steps:
A common step of analyzing the business processes. It does not attempt to supersede existing and validated methods, but rather adds some steps, abouth the reformulation of the key concepts of the application, and their mapping to technical objects detected with software tools.
Then, in a second stage, use this formalization to migrate key components to AC2/XComponent, Docker or other target platforms.
Survol is designed for this analysis and
investigation step. Not only as a software tool, but also with
the formalization it uses, based on semantic technologies.
The analysis stage is made of four different steps:
The
aim is to build a model mostly based on
existing terminologies in the semantic web
world. This ultimately allows to store all the
existing information about the information
system, in a graph datase, where abstract,
business and technical information can
coexist.
This approach is fundamentally different of defining different levels of abstraction, the most concrete at the bottom and the most abstract at the top. Contrary to this vision, we assert that the notion of abstraction can be equally applied to all objects in an Information System, that this notion of abstraction is purely subjective and does not bring any information, especially in an legacy system where concepts and objects are already implemented and all have a concrete life cycle. Defining all objects in the same level allow to express very precise and clear relations describing a concrete implementation.
Existing
terminologies must be used first. This allows
to have a common vocabulary between different
teams, and have different source of
information communicate seamlessly.
There
are many models in the semantic web
terminology. For example, in the finance
world:
Technical descriptions should also be based on existing ontologies. WikiProject Informatics has a project dedicated to defining terms related to sofware, and lists other ontologies of this domain:
Last but not least: Common Information Model is an open standard which represents the representation of IT elements and their relationships. Although it is far from covering all aspects of an information system, it has a concrete implementation on most operating systems (WMI etc...)
Existing models will certainly not be enough to fully describe an Information System. Therefore, the last step attempts to define concepts and relations specific to this application. Many tools are made to create and update an ontology, for example Protégé or Stardog.
Based on the information extracted in the previous step, define the functional building blocs using the terminology defined in the first step. The size and number of these building blocks is not important as long as they are defined in the terminology of the application.
The aim of the next step will be to technically identify these steps in the execution flow, using:
Last
phase:
Extraction of
dynamic data.
Monitoring.
Merge
static and
dynamic data
in a single
RDF
repository.
Sparql
Detecting
patterns in
the RDF graph
database: