Quel est un 'Framework' ou Structure Logicielle?

Un framework ou structure logicielle est un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d'un logiciel (architecture). Un frameworkse distingue d'une simple bibliothèque logicielleprincipalement par:
  • son caractère générique, faiblement spécialisé, contrairement à certaines bibliothèques ; un framework peut à ce titre être constitué de plusieurs bibliothèques chacune spécialisée dans un domaine. Un framework peut néanmoins être spécialisé, sur un langage particulier, une plateforme spécifique, un domaine particulier : reporting, mapping, etc. ;
  • le cadre de travail (traduction littérale de l'anglais : framework) qu'il impose de par sa construction même, guidant l'architecture logicielle voire conduisant le développeur à respecter certains patterns ; les bibliothèques le constituant sont alors organisées selon le même paradigme.

Les frameworks sont donc conçus et utilisés pour modeler l'architecture des logiciels applicatifs, des applications web, des middlewares et des composants logiciels. Les frameworks sont acquis par les informaticiens, puis incorporés dans des logiciels applicatifs mis sur le marché, ils sont par conséquent rarement achetés et installés séparément par un utilisateur final.

Description

Un framework est un ensemble d'outils et de composants logiciels organisés conformément à un plan d'architecture et des patterns, l'ensemble formant ou promouvant un « squelette » de programme. Il est souvent fourni sous la forme d'une bibliothèque logicielle, et accompagné du plan de l'architecture cible du framework.

Un framework est conçu en vue d'aider les programmeurs dans leur travail. L'organisation du framework vise la productivité maximale du programmeur qui va l'utiliser — gage de baisse des coûts de construction et maintenance du programme. Le contenu exact du framework est dicté par le type de programme et l'architecture cible pour lequel il est conçu.

On trouve différents types de frameworks :

  1. framework d'infrastructure système : pour développer des systèmes d'exploitation, des interfaces graphiques, des outils de communication (exemple : Framework .Net, Struts) ;
  2. framework d'intégration intergicielle (middleware) : pour fédérer des applications hétérogènes. Pour mettre à disposition différentes technologies sous la forme d'une interface unique ;
  3. frameworks d'entreprise : pour développer des applications spécifiques au secteur d'activité de l'entreprise ;
  4. frameworks de gestion de contenu : sont les fondations d'un système de gestion de contenu — pour la création, la collecte, le classement, le stockage et la publication de « biens numérisés ».

Les principaux avantages de ces frameworks sont la réutilisation de leur code, la standardisation du cycle de vie du logiciel (spécification, développement, maintenance, évolution), ils permettent de formaliser une architecture adaptée au besoin de l'entreprise. Ils tirent parti de l'expérience des développements antérieurs.

Objets

En programmation orientée vers l'objet, un framework est typiquement composé de classes mères qui seront dérivées et étendues par héritage en fonction des besoins spécifiques à chaque logiciel qui utilise le framework3. Avec un framework orienté objets, le programmeur qui utilise le framework pourra personnaliser les éléments principaux du programme par extension, en utilisant le mécanisme d'héritage : créer des nouvelles classes qui contiennent toutes les fonctionnalités que met en place le framework, et en plus ses fonctionnalités propres, créées par le programmeur en fonction des besoins spécifiques à son programme. Le mécanisme d'héritage permet également de transformer des fonctionnalités existant dans les classes du framework.

Inversion de contrôle

Alors que les bibliothèques de classes sont typiquement passives : les opérations des classes sont exécutées sur demande du programme qui les utilise, les frameworks sont typiquement actifs : le déroulement des opérations dans un programme est dirigé par le framework qu'il utilise, par des mécanismes tels que les fonctions de rappel et les événements, selon le principe « ne m'appelez pas, je vous appellerai. »

L'inversion de contrôle fait partie de l'architecture typique d'un framework.

RETOUR

  • 1 Utilisateurs l'ont trouvée utile
Cette réponse était-elle pertinente?

Articles connexes

Qu'est-ce qu'un nom de domaine?

Un nom de domaine (NDD en notation abrégée française ou DN pour Domain Name en anglais) est, dans...

Qu'est-ce qu'un médias sociaux?

L’expression « médias sociaux » est de plus en plus utilisée et tend à remplacer le terme de Web...

Qu'est-ce DNS?

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant de traduire...

Qu'est-ce que le Cloud Computing?

Le cloud computing, ou l’informatique en nuage ou nuagique ou encore l’infonuagique (au...

Quel est le protocole Internet IPv6?

IPv6 (Internet Protocol version 6) est un protocole réseau sans connexion de la couche 3 du...

Powered by WHMCompleteSolution