SPECIALISTE DE LA FORMATION INFORMATIQUE
pics_comp
Architectures logicielles, la synthèse

Architectures logicielles, la synthèse

Description
La plate-forme Java est aujourd'hui omniprésente. Elle est assez riche pour permettre le développement de systèmes d'information complets, de bout en bout. Mais richesse et flexibilité impliquent de nombreux choix de conception et d'architecture possibles pour nos systèmes. Ce séminaire propose un tour d'horizon des technologies disponibles avec la plate-forme Java EE. Il évalue différentes solutions d'architecture technique et en mesure les impacts. Les avantages et inconvénients des architectures modernes y sont mis en relief avec leur cohorte d'outils et de pratiques de développement les plus récentes.
Objectifs
  • Disposer d'une vision d'ensemble des technologies de la plate forme JEE

  • Comprendre les éléments clés qui guident les choix d'architecture

  • Mettre en perspective les différents types d'architecture

  • Évaluer l'impact des EJB (Enterprise JavaBeans) sur les architectures Java

  • Comprendre les services techniques sur lesquels s'appuient les serveurs d'applications EJB

  • Identifier les outils les plus utilisés pour le développement Java

Public concerné
  • Architectes
  • Développeurs
  • Chef de projet
Pré-requis
  • Ce séminaire ne nécessite aucun prérequis
Plan détaillé
  • Introduction

    • Présentation de Java et des notions d'architecture (fonctionnelle, technique, applicative, SI, ...)
    • Présentation des différents rôles que joue Java dans l'informatique d'entreprise et mise en perspective avec l'évolution des architectures sur les 15 dernières années
    • Architectures en couche. Pour quoi ? Couche physiques et couches logiques. Notion de Software factory et impact des choix d'architecture, notion d'architecture

  • Le point sur les plateformes Java ? Standard, Entreprise, Mobile

    • Notion de machine virtuelle
    • Positionnement du langage Java et des autres langages compatibles avec la JVM (Scala, Clojure, JRuby, Jython, Groovy, ...)
    • Présentation des différents SDK (kits de développement)

  • Prise en compte des technologies Web sur la plateforme Java

    • Rappel rapide sur les protocoles et standards de base
    • Prise en compte de ces standards au niveau Java : Notion de Servlets et de JSP
    • Le rôle des langages de script côté client
    • Introduction aux technologies Client Riche et à leur intégration dans la plateforme

  • Présentation des frameworks Web de la plateforme Java

    • Comment mettre en oeuvre des JSP et Servlets :Notion de MVC et MVC 2
    • Présentation de Struts 2
    • Présentation de JSF v1.1 et v2.x
    • Présentation des frameworks GWT, Wicket, Framework en langage non Java : Grails, Rails on JRuby, Django sur Jython
    • Sécurité Web

  • Portails

    • Présentation des technologies de portail
    • Intégration avec le système d'information de l'entreprise
    • Quels problèmes techniques résolvent les portails ? Quand a-t-on besoin de les utiliser ?
    • Portail classique vs Portail 2.0, portlets vs Gadgets

  • Persistance

    • Accès via JDBC
    • Présentation du mapping Objet/Relationnel et des standards JPA 2 et de JDO 2
    • Notion de « Unit Of Work »
    • Présentation de quelques implémentations de ces standards (notamment Hibernate)
    • Présentation d'approche de persistance alternatives (l'outil iBatis)
    • Choix de technologies de persistance
    • Avantages et inconvénient des ORM.

  • Les technologies Client Riche Web

    • Présentation des technologies Client Riche du monde Java ? Ajax, JavaFX, GWT, ...
    • Qu'est-il arrivé aux Applets ?
    • Les technologies Client Riche qui gravitent autour de JEE ? Flex, Silverlight
    • Impact des technologies client riches sur l'architecture, patterns et Anti-pattern
    • Aspects techniques du déploiement des clients riches, notion de cache

  • Les technologies Client Desktop (Client Lourds et Rich Desktop Applications, RDA)

    • Les technologies de présentation desktop du monde Java ? Swing et AWT
    • Solutions alternatives du monde Java : SWT et Eclipse RCP
    • Solutions alternatives qui gravitent autour de Java : Adobe AIR
    • Technologies de déploiement d'applications Client Desktop : Java WebStart, Eclipse RCP, ...

  • Technologies XML

    • Présentation rapide de XML et de sa prise en compte dans le monde Java
    • Binding entre monde Java et XML. JAXB 2 et outils alternatifs (JiBX, Spring OXM, ...), annotations pour configurer le mapping Java/XML
    • Standardisation de l'utilisation de librairies de parsing SAX, StAX et DOM, XSLT et XPath avec l'API JAXP
    • Sécurité XML (XML Signature, Encryption, ...)

  • Technologies Web Services SOAP/WSDL et REST

    • Présentation des standard du monde WebService ? SOAP/WSDL et REST
    • Mapping entre WebService et monde Java
    • Présentation de JAX-WS et de JAX-RS
    • Consommation et publication de WebServices SOAP/WSDL ou REST avec ces APIWS-Security, SAML

  • Architectures distribuées ? Les middlewares et les patterns d'architectures

    • Introduction aux architectures distribuées
    • Interactions requête/réponse et notifications
    • Le standard Corba, IIOP et IDL
    • Présentation des capacités Corba de la plateforme Java ainsi que de produits alternatifs
    • Présentation de RMI et comparaison avec Corba
    • Présentation des composants EJB3.x. Une première approche avec les EJB Session Stateless
    • Introduction aux technologies WebService et de leur support dans la plateforme Java

  • Architectures d'intégration et architectures SOA

    • Utilisation de Java au niveau du Système d'information
    • Comment utiliser les technique d'architectures distribuées ; où sont les limites
    • Architectures EDA, présentation des technologies à base de messages (MOM) et de JMS
    • Eléments d'architecture technique pour une infrastructure SOA
    • Eléments d'architecture technique pour une architecture d'intégration
    • Les ESB et EAI. Description du concept, présentation de plusieurs produits et de leur architecture
    • Connexion avec des systèmes legacy transactionnels depuis JEE avec JCA 2.0
    • Communication avec des systèmes legacy C/C++/FORTRAN avec JNI vs avec IIOP

  • Les différentes architectures de composant du monde Java

    • Architectures JEE 6
    • Architectures Spring

  • Architectures EJB 3.x

    • Composants EJB Session, MessageDrivenBean
    • Consommer des composants EJB côté client
    • Publier des composants EJB en tant que WebService
    • Transactions distribuées
    • Les briques qui permettent la montée en charge
    • Modèle de sécurité

  • Outils à la disposition de l'architecte

    • AOP
    • Cache mémoire distribués ? JCache, Terracotta, Oracle Cohérence, ...

  • Outillage

    • Eclipse et Netbeans
    • Software Factory : Hudson, Ant, Maven, ...
    • Tests unitaires, Mocking et Stubing avec JUnit, TestNG, EasyMock, JMock, ...
    • Profilers

SEM64
Durée : 3 j.
Tarif : 2070 € HT
 
detail formation Architectures logicielles, la synthèse Plan détaillé
Contact
* tarif dégressif à partir de 2 pers.

KAPTIVE ::.
-------------------------------------------
Renseignement et réservation
-------------------------------------------
Tel.: 01 76 60 66 10
Fax: 01 76 60 66 10
contact@kaptive.com

Sessions
Inscription en ligne
Paris
28/02/2011
23/05/2011
19/09/2011
05/12/2011

Possibilité de faire cette formation en intra-entreprise,
nous contacter au 01 76 60 66 10

- Kaptive - formation@kaptive.com