75
Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org

Presentation du socle technique Java open source Scub Foundation

Embed Size (px)

DESCRIPTION

Scub Foundation 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. Plus d'informations à http://www.scub-foundation.org Objectifs du socle - Ne pas réinventer la roue ! (Intégration d'Eclipse et des frameworks populaires comme hibernate, spring, gwt, JUnit…). - Avoir des modèles de projets pour chaque type de projet mais avec des structures identiques. - Avoir des tâches automatisées pour l'ensemble du cycle de vie du projet (compilation, packaging, test…). - Développement SOA (intégration de la notion de noyau et du découplage Interface/implémentation). - Gestion automatique des dépendances / librairies. - Gérer les différents environnements (Test / Développement / Pré production / Production…). Concrètement, notre socle technique offre au développeur un environnement de développement intégrant les meilleurs éléments Open Source (Eclipse, Maven, Spring, GWT…) ainsi que des modèles de projet.

Citation preview

Page 1: Presentation du socle technique Java open source Scub Foundation

Scub Foundation

Socle technique Java Open Sourcehttp://www.scub-foundation.org

Page 2: Presentation du socle technique Java open source Scub Foundation

Présentation de Scub

Page 3: Presentation du socle technique Java open source Scub Foundation

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.

Page 4: Presentation du socle technique Java open source Scub Foundation

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).

Page 5: Presentation du socle technique Java open source Scub Foundation

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).

Page 6: Presentation du socle technique Java open source Scub Foundation

Plan de la présentation

Page 7: Presentation du socle technique Java open source Scub Foundation

Plan de la présentation

••••• Qu'est ce qu'un socle technique ?

Architecture des applicationsCe qu'offre notre socle techniqueInfrastructureNotre offre de service

Page 8: Presentation du socle technique Java open source Scub Foundation

Avant-propos...

Page 9: Presentation du socle technique Java open source Scub Foundation

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.

Page 10: Presentation du socle technique Java open source Scub Foundation

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

Page 11: Presentation du socle technique Java open source Scub Foundation

Qu'est ce qu'un socle technique ?

Page 12: Presentation du socle technique Java open source 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.

Page 13: Presentation du socle technique Java open source Scub Foundation

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.

Page 14: Presentation du socle technique Java open source Scub Foundation

Architecture des applications

Page 15: Presentation du socle technique Java open source Scub Foundation

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.

Page 16: Presentation du socle technique Java open source Scub Foundation

Vers la SOA

Page 17: Presentation du socle technique Java open source Scub Foundation

Couche base de données

Page 18: Presentation du socle technique Java open source Scub Foundation

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.

Page 19: Presentation du socle technique Java open source Scub Foundation

Couche modèle

Page 20: Presentation du socle technique Java open source Scub Foundation

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.

Page 21: Presentation du socle technique Java open source Scub Foundation

Source couche modèle

Page 22: Presentation du socle technique Java open source Scub Foundation

Couche d'accès aux données

Page 23: Presentation du socle technique Java open source Scub Foundation

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.

Page 24: Presentation du socle technique Java open source Scub Foundation

Source couche d'accès aux données

Page 25: Presentation du socle technique Java open source Scub Foundation

Source couche d'accès aux données

Page 26: Presentation du socle technique Java open source Scub Foundation

Source couche d'accès aux données

Page 27: Presentation du socle technique Java open source Scub Foundation

Couche service

Page 28: Presentation du socle technique Java open source Scub Foundation

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.

Page 29: Presentation du socle technique Java open source Scub Foundation

Source couche service

Page 30: Presentation du socle technique Java open source Scub Foundation

Source couche service

Page 31: Presentation du socle technique Java open source Scub Foundation

Source couche service

Page 32: Presentation du socle technique Java open source Scub Foundation

Source couche service

Page 33: Presentation du socle technique Java open source Scub Foundation

Source couche service

Page 34: Presentation du socle technique Java open source Scub Foundation

Exécution des tests

Page 35: Presentation du socle technique Java open source Scub Foundation

Exécution des tests

Page 36: Presentation du socle technique Java open source Scub Foundation

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.

Page 37: Presentation du socle technique Java open source Scub Foundation

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.

Page 38: Presentation du socle technique Java open source Scub Foundation

Applications clientes

Page 39: Presentation du socle technique Java open source Scub Foundation

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.

Page 40: Presentation du socle technique Java open source Scub Foundation

Ce qu'offre notre socle technique

Page 41: Presentation du socle technique Java open source 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.

Page 42: Presentation du socle technique Java open source Scub Foundation

Schéma général

Page 43: Presentation du socle technique Java open source Scub Foundation

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....).

Page 44: Presentation du socle technique Java open source Scub Foundation

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.

Page 45: Presentation du socle technique Java open source Scub Foundation

Schéma général

Page 46: Presentation du socle technique Java open source Scub Foundation

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.

Page 47: Presentation du socle technique Java open source Scub Foundation

Maven - Fichier projet

Page 48: Presentation du socle technique Java open source Scub Foundation

Maven - Structure de projets

Page 49: Presentation du socle technique Java open source Scub Foundation

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.

Page 50: Presentation du socle technique Java open source Scub Foundation

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.

Page 51: Presentation du socle technique Java open source Scub Foundation

Maven - Schéma référentiel

Page 52: Presentation du socle technique Java open source Scub Foundation

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.

Page 53: Presentation du socle technique Java open source Scub Foundation

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"....

Page 54: Presentation du socle technique Java open source Scub Foundation

Exemple checkstyle

Page 55: Presentation du socle technique Java open source Scub Foundation

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.

Page 56: Presentation du socle technique Java open source Scub Foundation

Exemple eclemma

Page 57: Presentation du socle technique Java open source Scub Foundation

Infrastructure

Page 58: Presentation du socle technique Java open source Scub Foundation

Schéma général

Page 59: Presentation du socle technique Java open source Scub Foundation

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.

Page 60: Presentation du socle technique Java open source Scub Foundation

Exemple mantis

Page 61: Presentation du socle technique Java open source Scub Foundation

ArtifactoryArtifcatory est un référentiel Maven qui permet de gérer les plugins, librairies et projets.

Page 62: Presentation du socle technique Java open source Scub Foundation

Exemple artifcatory

Page 63: Presentation du socle technique Java open source Scub Foundation

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.

Page 64: Presentation du socle technique Java open source Scub Foundation

Exemple subversion

Page 65: Presentation du socle technique Java open source Scub Foundation

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.

Page 66: Presentation du socle technique Java open source Scub Foundation

Exemple continuum

Page 67: Presentation du socle technique Java open source Scub Foundation

Notre offre de service

Page 68: Presentation du socle technique Java open source Scub Foundation

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.

Page 69: Presentation du socle technique Java open source Scub Foundation

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.

Page 70: Presentation du socle technique Java open source Scub Foundation

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.

Page 71: Presentation du socle technique Java open source Scub Foundation

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.

Page 72: Presentation du socle technique Java open source Scub Foundation

ConseilNous pouvons vous aider à améliorer vos processus et vos méthodes grace à nos équipes de spécialistes.

Page 73: Presentation du socle technique Java open source Scub Foundation

Pour finir...

Page 74: Presentation du socle technique Java open source Scub Foundation

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

Page 75: Presentation du socle technique Java open source Scub Foundation

Questions ?

•••

Questions ?

Notre site web : http://www.scub.netNotre blog : http://www.scub.net/notre-blogTwitter : http://twitter.com/scub_france