Upload
nguyenphuc
View
214
Download
0
Embed Size (px)
Citation preview
Présentation de ScubScub est une société de service en informatique qui a pour but de fournir du conseil et de développer des applications spécifiques afin de résoudre les problèmes les plus importants et les plus pressants de ses clients.
Présentation de Scub
••••Nos services sont centrés sur :
Le conseil.Le développement d'applications.L'intégration de systèmes.Le décisionnel.
Nous sommes spécialisé dans l'open source, les technologies Java et les architectures orientées services (SOA).
Présentation de Scub
••••• Crée en 2003.
Basée à Angouleme.Une équipe de neuf personnes passionnées.Forte croissance / 0 turnover.Membre du groupe Arrow Financial Consulting (60 personnes / Paris / Londres / Tunis).
Plan de la présentation
••••• Qu'est ce qu'un socle technique ?
Architecture des applicationsCe qu'offre notre socle techniqueInfrastructureNotre offre de service
Un problème réccurent à gérer...Le changement.
Il faut partir du principe que le changement est quelque chose de normal.
Le changement peut survenir au niveau des besoins utilisateurs, des technologies, des règles métiers ou des organisations.
Comment gérer le changement ?
•
• Le développement doit etre incrémental pour gérer les incertitudes.
ScrumLe développement doit etre industrialisé pour gérer la complexité.
Scub Foundation
DéfinitionUn socle technique est un ensemble de frameworks, de conventions, d'outils et de procédures qui structurent les développeurs et leurs développements.
Pour simplifier, c'est une plateforme qui permet l'industrialisation des projets de développement informatique.
Objectifs
••
••••
• Ne pas réinventer la roue ! On intègre les meilleurs produits
Avoir des modèles de projets.Avoir des taches automatisées.Gérer automatiquent des librairies.Gérer les différents environnements (Test / Développement / Pré prod / Production·).Développement SOA.Une documentation complète.
Architecture Orienté ServiceL'architecture logicielle que nous avons choisi a pour but de produire des ilots de services indépendants et pouvant etre utilisés par n'importe quelle technologie.
Couche base de donnéesGère le stockage des données.(select, update, insert et delete seulement)
HSQLdb en développement.PostgreSQL (ou autre) en production.
Indépendance totale vis à vis de la base de données.
Couche modèleReprésente les données persistantes de l'application avec des objets Java simples.
Utilisation d'Hibernate pour gérer le mapping Objet / Relationnel.
Non intrusif / Indépendance.
Couche d'accès aux donnéesAbstrait et encapsule l'accès aux données.
Utilisation d'Hibernate et Spring.
Découplage entre interfaces et implémentations mais aussi séparation du code métier et du code technique.
Couche serviceContient la logique métier de l'application.
Elle utilise la couche DAO pour accéder aux données. Elle est testée grace à JUnit et Eclemma.
Couche indépendante des technologies sous-jacentes.
NoyauNous venons de réaliser un ilot de service.
A l'aide des taches du socle, nous pouvons déployer de manière autonome ces services sous la forme d'un war.
Avantages d'un noyau service
•
•••• Centralisation de la logique métier.
Réutilisation du code.Qualité plus facile a gérer.Simplification de la programmation pour les développeurs d'interfaces utilisateurs.Interfaces Java + DTO = Indépendance des technologies.
Applications clientesLes services sont utilisables par toutes applications clients.
Nos modèles de projet permettent de développer facilement des applications GWT, Struts, Spring MVC, Service.
Bien entendu, n'importe quelle technologie peut etre utilisée.
DéfinitionUn socle technique est un ensemble de frameworks, de conventions, d'outils et de procédures qui structurent les développeurs et leurs développements.
Pour simplifier, c'est une plateforme qui permet l'industrialisation des projets de développement informatique.
Services offerts par le socle
•
•
•
•• Des modèles de projet.
Des taches (compilation, test, packaging, deploiement...).Une gestion automatique des librairies et des dépendances.L'intégration automatique des frameworks les plus populaires.La gestion des environnements (dev, test, pre prod, prod....).
Maven - IntroductionMaven est un outil pour la gestion et l'automatisation de la production des projets logiciels.
L'objectif de Maven est de simplifier le processus de fabrication d'un logiciel.
Maven - Fonctionnalités
•
•
• Permet de définir la configuration d'un projet dans un fichier XML qui peut lui meme hériter d'un autre fichier.Permet d'obliger les développeurs à utiliser une structure de projet et des taches communes.Permet de gérer les dépendances vers des projets externe (comme JUnit) ou interne.
Maven - Taches
•••••
Le socle propose un ensemble de taches pour, par exemple :
La compilation.Le lancement des tests.Le packaging.Le déploiement.L'initialisation de la base de données.
Maven - Référentiel
•
••
Le but du référentiel est de rendre disponible les plugins, les librairies et les projets.
Il existe généralement trois référentiels : Un sur le poste du développeur.Un sur Internet qui contient l'ensemble des librairies (maintenu par les équipes Maven).Un troisième référentiel au niveau de l'entreprise pour gérer sa configuration.
EclipseUne seule version d'Eclipse est utilisée par l'ensemble des développeurs.
Cette version est installée automatiquement sur chaque poste avec tous les plugins.
note : Eclipse n'est pas obligatoire, nous avons aussi intégré d'autres IDE comme JDev.
Eclipse - Checkstyle
••••
Ce plugin permet de vérifier certaines règles lors de l'écriture du code.
Par exemple, on peut vérifier : Que chaque méthode est commentée.Que l'on ne déclare pas de HashMap.Que l'on utilise pas "System.out.println"....
Eclipse - EclemmaEclemma est un plugin qui permet de voir quel code métier est couvert par les tests unitaires.
Le principe est simple : lors de l'exécution des tests unitaires, Eclemma vérifie quelles portions de code sont exécutées et quelles portions ne le sont pas.
MantisMantis est un système de suivi des bugs et demandes.
Il permet aux développeurs et aux utilisateurs d'améliorer la qualité en assignant à chaque demande un numéro.
Chaque demande peut ainsi etre tracée.
ArtifactoryArtifcatory est un référentiel Maven qui permet de gérer les plugins, librairies et projets.
Subversion
••
SVN est un système de gestion de version.
Il supporte les fonctionnalités de CVS avec en plus :
Gestion des répertoires et des renommages.Commits atomiques.
ContinuumContinuum est un outil d'intégration continue, il vérifie de manière automatique que les modifications de code source n'ont pas générées de régressions de l'application.
Pour schématiser, tous les soirs, Continuum va récupérer les sources et va lancer les taches Maven pour constuire et tester le projet.
Scub Foundation
•••••
Scub Foundation est utilisable tout de suite comme tout autre projet libre.
Nous fournissons : Toutes les applications.Tous les modèles de projet.Toute la documentation et les tutoriaux.Tous les projets exemples.Un serveur Artifactory en ligne.
FormationNous pouvons former vos équipes à l'utilisation du socle ainsi qu'aux diverses technologies que nous avons sélectionnées.
Nous pouvons aussi former vos équipes pour qu'elles soient en mesure de modifier le socle technique.
AdaptationNous pouvons paramétrer le socle afin qu'il réponde à vos besoins.
Que ce soit pour intégrer des technologies (EJB3, JSF...), intégrer des outils (JDev...), intégrer des serveurs d'applications (Weblogic...) ou créer des modèles de projets particuliers.
RenfortsNous disposons d'équipes de développement et de chefs de projet qui peuvent participer a la realisation de vos projets ou de ceux de vos clients.
Nos équipes peuvent intervenir à toutes les étapes du projet.
ConseilNous pouvons vous aider à améliorer vos processus et vos méthodes grace à nos équipes de spécialistes.
Pourquoi ne pas essayer ?Vous pouvez bien entendu accéder a l'ensemble des éléments a l'adresse suivantehttp://www.scub-foundation.org
Mais vous pouvez aussi nous commander une journée de présentation pendant laquelle notre directeur technique vous montrera l'ensemble du socle.
note : remboursement possible par votre OPCA