Qu'est ce qu'une application composite ?

Une application composite est constituée d'un ensemble de modules fonctionnels indépendants qui s'intègrent dans une interface homogène afin de proposer une expérience utilisateur semblable à si l'application était constituée d'un seul silo applicatif.

Pour découvrir les différents types d'applications composites proposées sur la plate-forme .Net : Desktop (RDA), Web (RIA) et Office (ROA)…


Qu'est ce que SCSF ?

La Smart Client Software Factory assiste les architectes et les développeurs dans la création d'applications Windows composites.
SCSF est géré par les équipes Patterns & Practices.
La fonctionnalité de composition est proposée par le framework CAB - Composite UI Application Block.
SCSF propose des outils sous la forme d'extensions à Visual Studio 2005, des exemples, des modes d'emplois, et une documentation complète afin de construire ce type d'applications Windows.

La version courante est de Mai 2007, la version précédente date de Juin 2006 (Pour l'upgrade…


Qu'est-ce que Acropolis ?

Acropolis regroupe un framework et des outils pour créer des applications Windows composites.
Acropolis fait partie des fonctionnalités futures du framework .Net.
Acropolis s'appuie sur WPF et propose de créer des applications Single Document Interface (SDI) et Mutiple Document Interface (MDI).
Le modèle de composants d'Acropolis permet de distinguer les aspects UI de la logique métier et gère la composition selon une présentation intuitive sous forme de points de connections, composants enfants, et services proposés et connectés au composant.
Acropolis a pour objectif de proposer une démarche simple pour créer des applications composites.
Acropolis peut être utilisé pour des applications Windows standalone ou bien intégrée dans Office.

Le fait d'utiliser WPF comme socle de composition apporte un atout majeur à Acropolis sur la durée, en terme de réutilisabilité de composants, changement de looks, modification, réhabilllage des IHM.

Les fonctionnalités de la CTP 1 d'Acropolis sont :

  • La composition est gérée de façon déclarative
  • La navigation est supportée sous forme d'activation et désactivation de composants
  • Les interfaces peuvent être de type SDI et MDI
  • L'agencement des composants (Split, Onglet) s'appuie sur les possibilités de WPF (transitions…)
  • Une première version de l'outillage est proposé pour avis vers la communauté

  Au programme des CTP Acropolis des mois qui viennent :

  • Support des services d'authentification, d'autorisation et de personnalisation
  • De nouveaux types de shells, de layout, et différents thèmes
  • Amélioration de l'outillage Visual Studio
  • Un site d'administration des modules déployés sur les clients Window
  • Une gestion facilitée du déploiement
  • ...

La version finale est prévue courant 2008.

Quelle différence entre Acropolis et SCSF ?

SCSF propose de la méthodologie et des outils autour du Composite UI Application Block - CAB.
Le CAB repose sur le framework .Net 2.0 et est basé sur la technologie WinForms. A noter que la release May 2007 de SCSF supporte WPF (framework .Net 3.0).

Acropolis reprend les mêmes concepts que SCSF, mais sur une fondation .Net 3.0 (WCF, WF, WPF et une architecture plus orientée micro-noyau.
Par ailleurs, Acropolis reprend les concepts du CAB (ObjectBuilder, Factory, Pipeline) sans pour autant s'appuyer sur celui-ci.
Enfin, Acropolis regroupe les aspects composition et outillage, là où à contraria, SCSF venait compléter le CAB.

Les niveaux de maturité entre SCSF et Acropolis sont différents :

  • Le framework CAB a évolué depuis le framework .Net 1.1, jusqu'au framework .Net 2.0.
  • L'outillage SCSF a débuté en 2005 est en version finale depuis Mai 2007 .
  • Le projet Acropolis a débuté en 2006 et sera disponible en version finale courant 2008.

Sur le long terme, privilégier le socle Acropolis qui est réalisé par une équipe .Net et devrait donc à terme être intégré au framework .Net alors que SCSF et le CAB sont proposés par Patterns et Practives, et donc comme complément au framework .Net.