Quel outil pour analyse d'impact sur le SI (.Net/Oracle)
marinew
Messages postés3Date d'inscriptionsamedi 15 septembre 2007StatutMembreDernière intervention10 septembre 2013
-
10 sept. 2013 à 09:05
marinew
Messages postés3Date d'inscriptionsamedi 15 septembre 2007StatutMembreDernière intervention10 septembre 2013
-
10 sept. 2013 à 17:57
Bonjour,
L'entreprise dans laquelle je travaille développe de plus en plus d'applications (exécutables, extranets/intranets, WebServices) très liées les unes aux autres de par :
- l'accès aux mêmes tables de BDD
- l'exécution de procédures stockées PL/SQL communes
- l'appel de WebServices
- la mutualisation de code C# sous forme de DLLs embarquées
Nous travaillons principalement dans un contexte .Net (C#, ASP.Net, Entity Framework...) et Oracle.
La complexité de notre système d'informations augmentant, nous sommes à la recherche d'un outil de gestion des dépendances, pour effectuer des analyses d'impact, et répondre par exemple à des questions comme :
- Quels sont les programmes (.Net, PL/SQL...) qui accèdent à la table X ?
- Si je modifie le WebService X, quels sont les programmes impactés ?
- Quels sont les programmes qui s'appuient sur la DLL X ?
- Quels sont les programmes (.Net, PL/SQL...) qui appellent la procédure stockée PL/SQL X ?
- etc.
Connaissez-vous des outils (open-source ou propriétaires) de cartographie / gestion de dépendances capable de répondre à notre problématique, dans ce contexte technologique ?
Si vous avez eu la même problématique, comment l'avez-vous traitée ?
Merci d'avance pour vos réponses.MMMMM
BasicInstinct
Messages postés1470Date d'inscriptionmardi 5 février 2002StatutMembreDernière intervention20 octobre 201412 10 sept. 2013 à 10:35
Bonjour,
Je ne connais pas d'outils magique pour retouver ce genre d'information. Je ne connais pas nDepend non plus.
Pour la derniere question :
On a decidé de centraliser l'ensemble des appels bd dans un pool de webservices.
Pourquoi un pool : Par facilité (200 tables environs), ca paraissait plus simple pour retrouver les codes d'appels aux objets. Avec le recule, ca change pas grand chose si l'architecture du ws est bien pensée.
Tous les outils (web, services, appli lourdes etc) passent exclusivement par le ws pour acceder aux données. Aucun appel directe.
Pour garantir la compatibilité, tout ce petit monde se partage des interfaces.
Attention, cette methodologie peut s'averer couteuse sur des codes mal pensés. Par contre, au niveau maintenance, on a tout gagné.
marinew
Messages postés3Date d'inscriptionsamedi 15 septembre 2007StatutMembreDernière intervention10 septembre 2013 10 sept. 2013 à 13:31
Merci pour vos 2 réponses.
Concernant nDepend, on l'utilise déjà un peu (sans doute pas suffisamment !), mais à ma connaissance :
- il se limite au code C# (il faudrait pouvoir analyser également le lien avec les tables Oracle, et le code PL/SQL)
- il couvre le périmètre d'une solution, mais je ne crois pas qu'il puisse indiquer les dépendances toutes solutions confondues. Je me trompe ?
BasicInstinct, effectivement, c'est un principe intéressant. Malheureusement difficilement applicable sur du code déjà existant, dont les accès BDD ne sont pas forcément centralisés.
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 10 sept. 2013 à 14:32
NDepend n'analyse pas le C#... mais des assemblies.
Je ne connais aucun produit capable de scanner l'ensemble des dépendance d'un projet (qu'elles soient code, sql...)
Je ne doute pas que ça existe, mais j'en connais aucun.
BasicInstinct
Messages postés1470Date d'inscriptionmardi 5 février 2002StatutMembreDernière intervention20 octobre 201412 10 sept. 2013 à 14:43
Effectivement, c'est difficilement applicable, mais pas forcement impossible.
J'estime a environ 3 mois le temps qu'il m'a fallu pour nettoyer/ adapter le code des differentes solutions, dont 2 uniquement sur un pauvre site web (pas de couches séparés, par de requetes centralisées, pas d'objets....). Le tout étalé sur presque 1 an et demi.
C'est pas negligeable, mais si on repporte ca au cout reel de maintenance, ou evolution de la structure de la Db, c'est clairement rentable sur le moyen terme. Je dis ca, c'est pas moi qui tient le chequier...
Vous n’avez pas trouvé la réponse que vous recherchez ?