11/12/2007

Proximity

Parmi les fonctionnalités principales de Maven, la gestion transitive des dépendances. Ces dernières sont déclarées dans le fichier pom.xml (descripteur du projet) et sont téléchargées à la première demande puis stockés dans le système de fichier du poste de développement.

Ce mécanisme présente plusieurs inconvénients :
  • Nécessité d’une connexion internet pour chaque poste de développement.
  • Difficulté de partage d’artifcats en cours de développement intra-équipe ou inter-équipe de développement.
  • Aucune maîtrise des artifacts utilisés dans les projets ni leur versions.

Proximity un proxy de gestion de dépendances pour Maven. Proximity est une application Web permettant de construire un dépositaire centralisé d’artefacts. Il réplique les dépendances demandées lors d’une exécution de Maven, cette exécution peut aussi bien pointer sur des plug-ins ou des librairies nécessaires à la compilation ou à l’exécution des tests unitaires par exemple. Il propose plusieurs fonctionnalités dont, l’indexation, la recherche, la navigation et la visualisation des artefacts stockés.

Il existe deux notions de dépositaires, un dépositaire local et des dépositaires distants. Le dépositaire local comporte la copie des artefacts demandés par un développeur quant aux dépositaires distants, ils comportent l’agrégation de tous les artefacts demandés à proximity.

L’accès aux artefacts via le dépositaire local se fait via http en intranet. Si l’artefact demandé n’existe dans aucun dépositaire distant, proximity s’occupe de le récupérer via Internet en passant éventuellement par un proxy http.

Par défaut, proximity propose les dépositaires suivants :
  • extFree" – stocker les artefacts Open Source introuvables dans le dépositaire central, jta ou jpa par exemple/
  • extNonFree – Stocker les artefacts non open source, comme le driver Oracle.
  • inhouse – Stocker les artefacts corporate
  • inhouse.snapshot - Stocker les snapshot des artefacts corporate
  • central – Dépositaire central
  • codehaus - Dépositaire central

MAVEN 2

INTRODUCTION

Maven est un :
  • Un outil de Build (construction d’artifacts) et de déploiement automatique
  • Un outil de gestion de dépendances
  • Un outil de reporting
  • Un générateur de documentation
  • Dépositaires de projets

L’esprit de développement de Maven se base sur le concept Convention Over Configuration. En gros, l’utilisateur dispose d’un ensemble de services par défaut comme l’arborescence des projets, les taches de cycle de vie. Si l’utilisateur veut enrichir un de ces services, il est nécessaire de les réécrire ou de les étendre.

Le système de gestion de projets de Maven consiste en deux concepts principaux.
  • Tout projet est identifié et décrit via des méta-données.
  • Tout projet définit ses propres actions ou taches de construction (cycle de vie).

Les méta-données du projet sont définies de manière déclarative dans un fichier appelé pom.xml (Projet Object Model). Ce fichier encapsule la structure du projet et les metadonnees conceptuelles, telles que l’information d’identification, les dépendances et la description des dispositions.

La représentation déclarative raccourcit en général le temps nécessaire pour comprendre un projet et augmente sa compréhension globale.

PROCEDURE D’INSTALLATION

Pour installer maven, veuillez suivre les étapes ci-dessous :
  1. Télécharger une version stable de Maven disponible sur le lien suivant : http://maven.apache.org/download.html
  2. Eclater l’archive téléchargée dans le répertoire de votre choix.
  3. Ajouter le répertoire bin à la variable PATH.
  4. Exécuter mvn --version pour vérifier l’installation.
  5. Installer le plug-in Eclipse
    1. Aller dans Help à Software Updates à Find And Install
    2. Creer une categorie M2 avec l’adresse http://m2eclipse.codehaus.org/update-dev
    3. Choisir la version proposée et l’installer
    4. Redémarrer Eclipse.

20/02/2007

L'aventure continue

je vous invite à consulter le site suivant : http://www.soa-architect.net, vous y trouverez d'avantage d'informations sur la SOA et ses sattelites.

16:26 Publié dans SOA | Lien permanent | Commentaires (0)

23/01/2007

Les clefs de réussite SOA

Les facteurs de réussite d’une démarche SOA peuvent être résumés dans les points ci-dessous :

  • SOA est une démarche collective qui fait intervenir des chaînes de responsabilités toutes nécessaires pour mener à bon terme cette dernière. Un découpage des équipes ; donc des maillons des chaînes doit être réfléchi, optimisé et contrôlé de manière efficace et flexible. Ce découpage est nécessaire à plusieurs niveaux :
    • Les équipes à vocation métier,
    • Les équipes à vocation technique,
    • Les équipes de contrôle du cycle de vie des services.
  • Utiliser le modèle d’architecture de référence comme base d’implémentation. Il existe plusieurs fondations et communautés travaillant sur les principes généraux et fondamentaux de la SOA dont il faut tirer parti sans se lancer dans une démarche interne qui des fois est très coûteuse.
  • Toujours remettre en question la démarche adoptée en :
    • contrôlant le cycle de vie
    • mesurant le retour sur investissement
  • La gouvernance SOA est importante pour mener à bon terme les projets SOA. La gouvernance affecte des facultés de décision aux maillons des chaînes de responsabilité tout en proposant des méthodes de contrôle et de mesure de la validité de ces décisions. La gouvernance SOA définit les principes, les processus, les moyens et les rôles nécessaires pour gérer, utiliser et suivre le changement d’une SOA.

11:21 Publié dans SOA | Lien permanent | Commentaires (0)

12/12/2006

Gouvernance SOA - Registry/Repository SOA

Afin de permettre de disposer d’un point de contrôle et une gouvernance efficace lors du cycle de vie SOA, il est nécessaire de disposer d’un système capable de stocker et gérer les informations représentatives des services dans le but d’avoir une visibilité globale des services et des règles entreprise associées ainsi qu’une cohérence entre les services décrits et les services réellement disponibles. Ce système correspond à la combinaison d’un registre (registry) de services et d’un dépositaire (repository) de services. Ce sont des notions centrales dans le contexte de la gouvernance SOA.

Schématiquement, un registre de services comporte les références sur les services qu’un consommateur (client ou processus) est susceptible d’invoquer. Un dépositaire comporte quant à lui, le service physique et les metadonnées associées.

Le dépositaire SOA

Un dépositaire de metadonnées (Metadata Repository) : Un serveur fédérateur et central où les éléments techniques d’une infrastructure technique sont persistés. Ce serveur s’occupe aussi de gérer leurs cycles de vie et leurs versionning.

Un dépositaire SOA (SOA Metadate Repository) est une extension du dépositaire de metadonnées sauf que les éléments persistés correspondent à des artifacts SOA. Ces artifacts peuvent par exemple être des services, leurs modèles UML, les descripteurs WSDL, des feuilles de transformation XSLT, du code source, règles et contraintes de services, documents d’architecture, rapports, données runtime …

Le registre SOA

Le registre SOA correspond à un catalogue de services accessibles pour une utilisation privée (processus métier, services orchestrés) ou publique (consommateur de processus, partenaire extérieur à l’entreprise). Ces services sont décrits textuellement. On pourrait imaginer que le registre de services correspond à un index purement sémantique.

Le registre SOA fournit un point de contrôle centralisé capable de délivrer des éléments de mesure, d’utilisation et de découverte de services. Ces données sont très utiles dans un processus de gouvernance.

Un registre SOA propose les fonctionnalités suivantes :

  • Classification et publication des services
  • Recherche des services et démonstration d’utilisation des services
  • Réutilisation des services pour constituer un processus
  • Audit de l’appel des services