Partnership and methodology

Methodology and expected results

Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

Primhill Computers Survol lorem ipsum.

lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

The investigation tools can be:

  • lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.
  • lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.
  • CIM providers, based on WMI or WBEM.
  • lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

Partnership

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem:

  • lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem.
  • lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem.
  • lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum tralala tralala tralala tralala tralala tralala tralala .

Four stages

Définir le vocabulaire fonctionnel et technique Recenser les sources d’informations Définir les interfaces des blocs fonctionnels Extraction / reconstruction.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

Four stages

Définir le vocabulaire fonctionnel et technique Recenser les sources d’informations Définir les interfaces des blocs fonctionnels Extraction / reconstruction.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

Four stages

Définir le vocabulaire fonctionnel et technique Recenser les sources d’informations Définir les interfaces des blocs fonctionnels Extraction / reconstruction.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

Four stages

Définir le vocabulaire fonctionnel et technique Recenser les sources d’informations Définir les interfaces des blocs fonctionnels Extraction / reconstruction.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsumlorem ipsum lorem ipsum.

XX Methodology and expected results

XX Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

XXX Partnership

xxx Four stages

xxx Définir le vocabulaire fonctionnel et technique Recenser les sources d’informations Définir les interfaces des blocs fonctionnels Extraction / reconstruction

xxx VOCABULAIRE METIER

Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

Lister les documentations, programmes sources, données diverses

Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

Determiner les interfaces

Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

Extraction et reconstruction

Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

Autres techniques plus avancées (Plus tard)

Résultats attendus: Le double objectif de cette démarche est de prendre en main des processes métier afin de: Les coordonner par AC2/XComponent. Les dockeriser.

Partnership

Définir le vocabulaire du métier: L’objectif est de bien modéliser les objets métier et technique du S.I. de façon à mettre en commun dans une graph database toutes les informations recueillies, et avoir une vue globale de l’architecture. Utilisation de vocabulaires (ontologies) métier existants: FIBO https://spec.edmcouncil.org/fibo/ https://bian.org/deliverables/bian-standards/bian-service-landscape-8-0/ Ces "ontologies" sont très lourdes à mettre en oeuvre. En prendre le minimum mais de s'en servir de référence. Vocabulaire technique (En pratique toujours le même): https://www.wikidata.org/wiki/Wikidata:WikiProject_Informatics/Software/Ontologies http://se-on.org/ https://en.wikipedia.org/wiki/DOAP CIM/WMI/WBEM est très incomplet, mais stable et natif. Notamment, on définit le type des paramètres des librairies et composants visibles de l’extérieur: Produits, identifiants. Ajout d’un modèle adapté au SI: Objets techniques et métier non couverts par les ontologies existantes. On crée à la main tout ce qui n’est pas formalisé avant et est spécifique au SI, notamment les traitements, les états, les entrées et sorties etc… On se contente simplement, de bien nommer les objets, leurs attributs et leurs relations, et notamment ce qui sera visible par AC2. De nombreux logiciels permettent de créer un modèle RDF: https://webprotege.stanford.edu/ Stardog RDF Grammar Plugin for VisualStudio Code Lister les documentations, programmes sources, données diverses Lister les documentations, programmes sources, données diverses dont on pourra tirer des informations techniques et fonctionnelles dans une représentation unique, qu'on pourra fusionner. Obtenir (support team ?) des fichiers de logs applicatifs (Même démarche que "process mining"). Accès à un système UAT ou production et demander des traces avec strace ou ltrace. Fournir la commande => Faire en interne des essais de performance avec de gros fichiers, test longue durée. Recenser les entrées et les sorties, acces BDDs. Leur donner une identité "logique" Exploiter les documentations existantes Analyse specialisee du code, centrée sur les dépendances entre blocs fonctionnels. Au lieu de faire une analyse brutale de bas niveau qui amènerait trop d'infos donc inexploitables, utiliser des outils specialises: bashlex, parse des queries SQL, parser PL/SQL (https://pypi.org/project/antlr-plsql/) Analyses d'IO: tcpdump, "Mysql query log": " it logs each SQL statement received from clients" https://docs.oracle.com/cd/E17952_01/mysql-5.0-en/query-log.html Oracle audit; V$SESSION; ALTER SESSION SET sql_trace and TKProf. Intégrer Doxygen (Bien qu'on ait besoin du comportement dynamique, pas de l'étude statique du code). Se donner du temps pour ajuster les outils existants (strace etc…): Informations extraites et performances. Determiner les interfaces En se basant sur le vocabulaire, définir les objets a l’interface entre les grands blocs fonctionnels qui vont être articulés par AC2. On les définit à priori: La prochaine étape sera de les identifier dans le déroulement du code existant. C’est l’interface proposée par AC2. Extraction et reconstruction C’est la dernière phase qui utilise les outils cités précédemment et tente d’extraire des informations du SI en cours de fonctionnement. C’est une étape d’investigation cyclique, où les outils vont évoluer. Les informations clefs sont: Programmes et scripts BDDs lignes de commandes. Serveurs de données. Le modèle de données fonctionnel (modèle métier), créé "à la main", et les autres données statiques sont fusionnées avec les données extraites du fonctionnement "live". Par exemple, on lie les processes en se basant sur leur commande, le programme exécuté etc... (Requêtes dans la graph database avec Sparql etc…) Autres techniques plus avancées (Plus tard): Detection de patterns dans la ‘’graph database’’ du SI: Artificial Intelligence and the Knowledge Graph https://www.ontotext.com/blog/artificial-intelligence-and-the-knowledge-graph/ Artificial Intelligence (AI) powered graph computing and semantic big data https://www.profium.com/en/blog/artificial-intelligence-ai-powered-graph-computing-and-semantic-big-data/ Reconstruire les dépendances de données en utilisant les time-stamps. Analyser la documentation technique avec des techniques Natural Language Processing (NLP), technique utilisée dans l'industrie pharmaceutique (...text mining, rich information extraction...): Gate https://gate.ac.uk/ https://gate.ac.uk/wiki/gate-user-faq.html#section-4.2. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3567135/ Process Mining (Automated Business Process Discovery): https://en.wikipedia.org/wiki/Process_mining http://www.processmining.org/ https://research.tue.nl/en/publications/process-mining-overview-and-opportunities Analyse du code (Call-graph, architecture recovery etc…) à l’aide de logiciels de reverse-engineering: Radare2 https://rada.re/n/ Chaînes de Markov pour détecter les traitements répétitifs. “Data structures clustering, partitioning, agglomerative clustering”. Ancienne technologie toujours applicable: http://www.st.ewi.tudelft.nl/arie/phds/Kuipers.pdf

Our fields of expertise are

System
renovations
Software modernization
& reengineering
Global performance
enhancement
Reverse-engineering
analysis of existing app