Boubker ABERWAG
Développeur Java/JEE IBM Client Innovation Center
aberwagb@fr.ibm.com
b_aberwag@yahoo.fr
Site officiel IBM...
PRÉSENTATION D’IBM CIC
• IBM Client Innovation Center Lille
• Premier Client Innovation Center de France
• Crée en 2013
• ...
PRÉSENTATION DE L’AFCEPF
• Association française de conseil et d'éducation professionnelle
• Fondé en 1984
• Directeur : P...
INTRODUCTION
• La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et...
Cours + TP
Projet e-commerce
Mettre en place
le site e-
commerce
Intégration des
web services
Présentation
du projet aux
e...
PROGRAMME DE LA FORMATION
• Java Objet
• Java JEE & Web (servlet, jsp)
• Java JEE & Web (JSF)
• XML/XSL
• Hibernate/Spring...
RECHERCHES PERSONNELLES
• SVN
• GIT
• Nexus
• Sonar
• Docker
• Kibana
• Logstash
PROGRAMME DE LA FORMATION
JAVA OBJET
• Bases de java
• Concept de classe/objet
• Héritage
• Polymorphisme
• Encapsulation
• Exceptions
REVISION JAVA
JAVA JEE & WEB (SERVLET, JSP)
• Servlets
• Jsp
• Filter
• MVC
• Java Beans
• JSTL
JAVA JEE & WEB (JSF)
• Framework java
• MVC2
• Basé sur la notion de composants
• Standard java
• Managed bean
• Facelets
...
XML/XSL
• XML : Extensible Markup Language
• XSLT : Extensible Stylesheet Language Transformations
• DTD: Document type de...
HIBERNATE
• Framework Java
• ORM (Object-Relational mapping)
• Open source
• Crée en 2001 par Gavin King et son équipe
• A...
Application
Hibernate
Base de données relationnelle
Objets
transients
Session
SessionFac
tory
Objets
persistants
HIBERNATE
CYCLE DE VIE DES INSTANCES PERSISTANTES (HIBERNATE)
Transient
Persistant
Détaché
Retiré
Garbage collector
Garbage collecto...
SPRING
• Conteneur léger
• S’appuie sur 3 concepts :
• l’inversion de contrôle
• AOP
• une couche d’abstraction
• Configur...
MODULES DE SPRING
EJB3
• Enreprise java Beans
• EJB Session
• Stateless
• Stateful
• EJB Entity
• Persistant
• Managed Driven Bean
Interface
Interface
Serveur JavaEE
StatelessStateful
Serveur JavaEE
JPA
• Java Persistence API
• Standard java
• Couvre 3 zones
• L’API
• JPQL (Java Persistence Query Language)
• Les métadon...
Application
JPA
Base de données relationnelle
Objets
transients
EntityManager
EntityMana
gerFactory
Objets
persistants
Hib...
CYCLE DE VIE DES INSTANCES PERSISTANTES (JPA)
Transient
Persistant
Détaché
Retiré
Garbage collector
Garbage collector
Garb...
SERVICES WEB ET MODE DISTRIBUÉ
(RMI, SOAP, EJB…)
• RMI
• SOAP
• REST
• EJB remote
SOA CONCEPTS ET URBANISATION
• Service Oriented Architecture (programming in the large )
• ESB
• Implémentation de SOA
• N...
ESB
principaux éditeurs d'ESB : IBM, Oracle, Bea, Tibco …
IBM : IBM Integration Bus
BPEL
BPMN
QUALITÉ LOGICIELLE
UML : DIAGRAMMES ET ETUDES DE CAS
• Début 90 : plusieurs méthodes
• Rational : Unified Method
• Devient UML en 95
• Standa...
Diagramme
Diagramme
de classes
Diagramme de
composants
Diagramme
d’objets
Diagramme de
packages
Diagramme de
déploiement
D...
Besoins
utilisateurs
Maquette
Code
Diagramme de séquence
Système
Diagramme de classes
participantes
Diagramme d’interactio...
MDA
• Model Driven Architecture
MODELES
• « Modéliser est le futur, et je pense que les sociétés qui travaillent dans
ce domaine ont raison »  B. Gates
• ...
PRATIQUES ET OBJECTIFS
Pratiques
• Décomposer en niveaux d’abstraction
• Automatiser les relations inter/intra niveaux
• F...
L’APPROCHE
Modèle d’exigences:
représente l’application
dans son environnement.
Modèle d’analyse et de
conception abstrait...
LES MOYENS
• Définition de tous les métamodèles de manière uniforme
• Le standard MOF définit le langage de définition des...
LES RESULTATS
• Pérennité des savoir-faire
• L’ambition du MDA est de faire en sorte que les modèles (CIM, PIM) aient une
...
JAVA & RIA
• Rich Internet Application
• JavaScript
• jQuery
• AngularJS
BIG DATA
• D’après Wikipédia :
• Le traitement de gros volume de données.
• ETL vers ELT
LES 3 (4) V
HADOOP
• Hadoop
• Créé par Doug Cutting
• Fait partie des projets Apache depuis 2009
• Inspiré des publications de mapRedu...
NOSQL
• Développé par les grands acteurs du WEB : Facebook, Google …
• Annoncé pour la première fois en 2009
• Not Only SQ...
LE THÉORÈME CAP
ELASTICSEARCH
• Elasticsearch
• Basé sur Lucene
• Base de données orientée recherche
• Trier les résultats
RECHERCHES PERSONNELLES
SVN
• Première version : 2000
• logiciel de gestion de versions
• Mode Client-Serveur
• Serveur centralisé et unique
• Dép...
GIT
• Développé par Linus Torvalds en 2005
• logiciel de gestion de versions décentralisé
• Possibilité d’avoir des branch...
NEXUS
• repository manager
• un proxy configurable entre votre organisation et les
repositories publics maven
SONAR
• SonarSource
• Supporte plus de 25 langages
• Reproting
• Duplications de code
• Niveau de documentation
• Règles d...
DOCKER
• automatise le déploiement d'applications dans des
conteneurs logiciels
• Intégré dans IBM BlueMix
Container Conta...
KIBANA
• Plugin de visualisation pour elasticsearch
• Open source
• Développé en AngularJS
LOGSTASH
• Collecte de données
• Syslog
• Email via le protocole IMAP
• Un tweet
• Analyse de données
• Analyse
• Mise en ...
ELK
• Elasticsearch – Logstach - Kibana
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
Prochain SlideShare
Chargement dans…5
×

Formation d'architecte logiciel AFCEPF

138 vues

Publié le

Programme de la formation d'architecte logiciel délivré par l'AFCEPF

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
138
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • MOF : Meta-Object Facility
    XMI : XML Meta interchange
    JMI : Java metadata interface
    EMF : Eclipse Modeling Framework
    QVT : query voiew transformation
  • Formation d'architecte logiciel AFCEPF

    1. 1. Boubker ABERWAG Développeur Java/JEE IBM Client Innovation Center aberwagb@fr.ibm.com b_aberwag@yahoo.fr Site officiel IBM CIC http://www-05.ibm.com/fr/clientinnovationcenter/index.html https://fr.linkedin.com/in/boubker-aberwag-6209289b http://www.viadeo.com/fr/profile/boubker.aberwag FORMATION D’ARCHITECTE LOGICIEL AFCEPF
    2. 2. PRÉSENTATION D’IBM CIC • IBM Client Innovation Center Lille • Premier Client Innovation Center de France • Crée en 2013 • Equipe de 400 collaborateurs (Objectif : atteindre 1000 collaborateurs en 2018 • Président Directeur Général : MIHLE Nicolas • http://www-05.ibm.com/fr/clientinnovationcenter/
    3. 3. PRÉSENTATION DE L’AFCEPF • Association française de conseil et d'éducation professionnelle • Fondé en 1984 • Directeur : Patrick Rakotomalala • Titres délivrés : • Analyste informaticien • Architecte logiciel • Consultant en Assistance à Maîtrise d'Ouvrage • Site officiel : http://www.afcepf.fr/
    4. 4. INTRODUCTION • La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. • Théorie VS Pratique • Formation avec 40% de théorie et 60% de pratique • Un projet d’e-commerce à développer en parallèle
    5. 5. Cours + TP Projet e-commerce Mettre en place le site e- commerce Intégration des web services Présentation du projet aux entreprises PLANNING Intégration du big data
    6. 6. PROGRAMME DE LA FORMATION • Java Objet • Java JEE & Web (servlet, jsp) • Java JEE & Web (JSF) • XML/XSL • Hibernate/Spring • EJB/JPA • Soa concepts et urbanization • Services Web et mode distribué (rmi, soap, ejb…) • SOA Concepts, Architecture, BPEL • Qualité Logicielle • UML : Diagrammes et Etudes de cas • MDA • Java & RIA • Big Data
    7. 7. RECHERCHES PERSONNELLES • SVN • GIT • Nexus • Sonar • Docker • Kibana • Logstash
    8. 8. PROGRAMME DE LA FORMATION
    9. 9. JAVA OBJET • Bases de java • Concept de classe/objet • Héritage • Polymorphisme • Encapsulation • Exceptions REVISION JAVA
    10. 10. JAVA JEE & WEB (SERVLET, JSP) • Servlets • Jsp • Filter • MVC • Java Beans • JSTL
    11. 11. JAVA JEE & WEB (JSF) • Framework java • MVC2 • Basé sur la notion de composants • Standard java • Managed bean • Facelets • Le templating
    12. 12. XML/XSL • XML : Extensible Markup Language • XSLT : Extensible Stylesheet Language Transformations • DTD: Document type definition • XSD : XML Schema definition
    13. 13. HIBERNATE • Framework Java • ORM (Object-Relational mapping) • Open source • Crée en 2001 par Gavin King et son équipe • Alternative à EJB2 entity • Jboss Inc
    14. 14. Application Hibernate Base de données relationnelle Objets transients Session SessionFac tory Objets persistants HIBERNATE
    15. 15. CYCLE DE VIE DES INSTANCES PERSISTANTES (HIBERNATE) Transient Persistant Détaché Retiré Garbage collector Garbage collector Garbage collector Delete Instancier save() saveOrUpdate() close() clear() evict() update() get() Load() query.list() query.scroll() query.iterate() query.uniqueresult()
    16. 16. SPRING • Conteneur léger • S’appuie sur 3 concepts : • l’inversion de contrôle • AOP • une couche d’abstraction • Configuration : • XML • Annotation v2.0 • JavaConfig v3
    17. 17. MODULES DE SPRING
    18. 18. EJB3 • Enreprise java Beans • EJB Session • Stateless • Stateful • EJB Entity • Persistant • Managed Driven Bean
    19. 19. Interface Interface Serveur JavaEE StatelessStateful Serveur JavaEE
    20. 20. JPA • Java Persistence API • Standard java • Couvre 3 zones • L’API • JPQL (Java Persistence Query Language) • Les métadonnées relationnelles
    21. 21. Application JPA Base de données relationnelle Objets transients EntityManager EntityMana gerFactory Objets persistants Hibernate, OpenJPA …… JPA
    22. 22. CYCLE DE VIE DES INSTANCES PERSISTANTES (JPA) Transient Persistant Détaché Retiré Garbage collector Garbage collector Garbage collector remove Instancier persist() merge() close() clear() merge() find() getReference() query.getResultList() query.getSingleResult()
    23. 23. SERVICES WEB ET MODE DISTRIBUÉ (RMI, SOAP, EJB…) • RMI • SOAP • REST • EJB remote
    24. 24. SOA CONCEPTS ET URBANISATION • Service Oriented Architecture (programming in the large ) • ESB • Implémentation de SOA • Nouvelle génération de EAI Construite sur des standars comme • XML • JMS • Web Services • BPEL (Orchestrateur) • Apache ODE
    25. 25. ESB principaux éditeurs d'ESB : IBM, Oracle, Bea, Tibco … IBM : IBM Integration Bus
    26. 26. BPEL
    27. 27. BPMN
    28. 28. QUALITÉ LOGICIELLE
    29. 29. UML : DIAGRAMMES ET ETUDES DE CAS • Début 90 : plusieurs méthodes • Rational : Unified Method • Devient UML en 95 • Standardisation OMG en 97 V1.1 • Version 2 en 2003
    30. 30. Diagramme Diagramme de classes Diagramme de composants Diagramme d’objets Diagramme de packages Diagramme de déploiement Diagramme de structure composite Diagramme structurel Diagramme de comportement Diagramme états-transitions Diagramme de use case Diagramme d’activité Diagramme d’interaction Diagramme de temps Diagramme de séquence Diagramme global d’interaction Diagramme de communication
    31. 31. Besoins utilisateurs Maquette Code Diagramme de séquence Système Diagramme de classes participantes Diagramme d’interaction Diagramme de classes de conception Use Case
    32. 32. MDA • Model Driven Architecture
    33. 33. MODELES • « Modéliser est le futur, et je pense que les sociétés qui travaillent dans ce domaine ont raison »  B. Gates • « Obtenir du code à partir d’un modèle stable est une capacité qui s’inscrit dans la durée » R. Soley • « A quoi bon modéliser puisque in fine il faudra toujours écrire du code? » • « Un bon schéma vaut mieux qu’un long discours … sauf qu’à un schéma (UML) correspond plus d’un long discours ! » Besoin de bonnes pratiques et d’objectifs précis
    34. 34. PRATIQUES ET OBJECTIFS Pratiques • Décomposer en niveaux d’abstraction • Automatiser les relations inter/intra niveaux • Formaliser les informations contenues dans les niveaux Objectifs • Élaboration de nouvelles applications • Évolution d’applications existantes • Maîtriser l’impact des nouvelles technologies
    35. 35. L’APPROCHE Modèle d’exigences: représente l’application dans son environnement. Modèle d’analyse et de conception abstraite: représente l’architecture de l’application. Modèle de code: représente la construction de l’application. Code de l’application et fichier de configuration.
    36. 36. LES MOYENS • Définition de tous les métamodèles de manière uniforme • Le standard MOF définit le langage de définition des métamodèles • Format standard d’import et d’export des modèles • Le standard XMI définit les moyens d’import et d’export de tous les modèles selon le format XML • Langage de manipulation des modèles • Les frameworks JMI/EMF définissent les moyens de représentation des modèles à l’aide de langages de programmation objet. • Langage dédié au transformation de modèles • Le standard QVT définit le langage d’expression de transformations de modèles
    37. 37. LES RESULTATS • Pérennité des savoir-faire • L’ambition du MDA est de faire en sorte que les modèles (CIM, PIM) aient une durée de vie supérieure au code. • L’objectif est donc de fournir des langages de modélisation supportant différents niveaux d’abstraction. • Gains de productivité • MDA vise à apporter des gains de productivité en automatisant les opérations sur les modèles. • L’objectif est donc de faciliter la création d’opérations de production sur les modèles (du contemplatif au productif) • Prise en compte des plates-formes d’exécution • MDA veut rendre explicite la prise en compte des plates-formes d’exécution dans le cycle de vie des applications. • L’objectif est donc de construire des langages permettant de modéliser les plates-formes et de lier ces modèles aux modèles des applications.
    38. 38. JAVA & RIA • Rich Internet Application • JavaScript • jQuery • AngularJS
    39. 39. BIG DATA • D’après Wikipédia : • Le traitement de gros volume de données. • ETL vers ELT
    40. 40. LES 3 (4) V
    41. 41. HADOOP • Hadoop • Créé par Doug Cutting • Fait partie des projets Apache depuis 2009 • Inspiré des publications de mapReduce, GFS et BigTable de Google • Implémentation libre du mapReduce • HDFS
    42. 42. NOSQL • Développé par les grands acteurs du WEB : Facebook, Google … • Annoncé pour la première fois en 2009 • Not Only SQL • MongoDB • Orienté document • Schema-less • Morphia • Hibernate OMG
    43. 43. LE THÉORÈME CAP
    44. 44. ELASTICSEARCH • Elasticsearch • Basé sur Lucene • Base de données orientée recherche • Trier les résultats
    45. 45. RECHERCHES PERSONNELLES
    46. 46. SVN • Première version : 2000 • logiciel de gestion de versions • Mode Client-Serveur • Serveur centralisé et unique • Dépôt • Logiciel tournant en tâche de fond • postes clients • Fichiers synchronisés • Logiciel Client
    47. 47. GIT • Développé par Linus Torvalds en 2005 • logiciel de gestion de versions décentralisé • Possibilité d’avoir des branches
    48. 48. NEXUS • repository manager • un proxy configurable entre votre organisation et les repositories publics maven
    49. 49. SONAR • SonarSource • Supporte plus de 25 langages • Reproting • Duplications de code • Niveau de documentation • Règles de programmation • Des bugs potentiels • Couverture de tests • Analyse de la répartition de la complexité
    50. 50. DOCKER • automatise le déploiement d'applications dans des conteneurs logiciels • Intégré dans IBM BlueMix Container Container Container Docker Engine Linux Operating System Physical Server Linux Kernel ApplicationApplicationApplication
    51. 51. KIBANA • Plugin de visualisation pour elasticsearch • Open source • Développé en AngularJS
    52. 52. LOGSTASH • Collecte de données • Syslog • Email via le protocole IMAP • Un tweet • Analyse de données • Analyse • Mise en forme avec des filtres • Stockage de données • Exporte les données sous divers format • Email • Fichier texte • Alarme Nagios • BDD elasticsearch
    53. 53. ELK • Elasticsearch – Logstach - Kibana

    ×