DURÉE
3 jours
DATES
22-24 novembre 2010
23-25 mai 2011
PRIX
2 280 € ht (2 726,88 € ttc)
Sommaire du seminaire
    Séminaires technique Institut Capgemini
     

    Développement et Architecture d’Applications en 2010


    > de l’objet aux frameworks, Java EE, .NET,  les langages, XML, architectures urbanisées, etc.




    En trois journées denses et concrètes, tout ce que doivent savoir les DSI, chefs de projet et développeurs : une synthèse des outils, méthodes, langages, middlewares et environnements de développement.

    • Les évolutions clés du développement d’applications : abstraction de la conception, modélisation, urbanisme des solutions.
    • Les nouvelles architectures fondées sur l'asynchronisme des traitements, sur la réutilisation et la distribution des composants.
    • Le formalisme : de l'objet aux composants, de C++ à Java et C#. Les processus nouveaux : compilation intermédiaire, assemblages et archives.
    • Les conteneurs d'applications, nouvelles boîtes à outils des développeurs.
    • Le rôle central de XML, l'émergence des SOA et des Web Services.
    • Le panorama des solutions du marché, avantages et inconvénients, exemples concrets de mise en œuvre.
    • La mutation du métier de développeur : abstraction, réutilisation, communication.

    Nombreux exemples à l'appui, ce séminaire aborde les aspects techniques auxquels sont confrontés aujourd'hui chefs de projet et développeurs : l'adaptation à de nouveaux environnements et langages, le changement de repères, le recours aux frameworks. Il fait le point sur les services mis à leur disposition via les serveurs d'applications et laisse une large place à XML, moteur d'intégration et de communication entre applications.


    Évolution des fondements : plates-formes, méthodologies, XML


    • Changements de repères
      • Le nouveau modèle de SI : un hub http et intégration tous azimuts.
      • Du procédural à l’objet, du spécifique au standard, du jetable au réutilisable.
      • Du modèle compilation-exécution au modèle compilation virtuelle, interprétation et compilation Just In Time (JIT).
      • Du modèle propriétaire synchrone : Cobol/CICS/ DB2, Cobol/TDS/IDSII aux conteneurs d’applications et à la désynchronisation des applications.
      • Distribution et urbanisation des applications : SOA et services Web.
      • Le client riche : du XML pur aux solutions Java et .Net.
    • Le back-office et les projets de migration lourde
      • La réalité du marché : vraies questions et fausses idées.
      • Les applications de back-office, le rôle des développeurs traditionnels et des langages procéduraux.
      • Les problèmes concrets de cartographie et de recours aux compétences spécialisées.
      • La réalité de Cobol et le portage de ses applications.
      • La réutilisation des transactions via les passerelles et les architectures SOA.
      • La résurgence des L4G qui se sont adaptés.
    • Le nouveau périmètre méthodologique
      • Les trois niveaux de modélisation : global SI, données, processus.
      • Méthodologies, langages de modélisation et modeleurs.
      • UML et la génération d’applications via MDA (UML 2), BPMN.
      • Les plates-formes de modélisation : MEGA, Rational, etc.
      • Les modèles de données et la présence de Merise.
      • Le départ véritable des moteurs de règles.
    • L’évolution de la gestion de projet
      • Les méthodes formelles.
      • Le mouvement des méthodes agiles : du prédictif à l’adaptable.
      • Les méthodes les plus courantes : Lean Software, Programmation Extrême et Scrum.
      • Les problématiques traditionnelles du développement : tests, mesure de productivité, qualité.
      • Exemples concrets.
    • XML
      • L’importance stratégique de XML.
      • La structure d’un document XML : les fondements DTD/Schéma, parser, espaces de noms.
      • Les standards XPath, XLink, XSL.
      • Les frameworks XML Java et .Net.
      • Les bases de données XML.
      • Exemples concrets.

     

    De l’objet aux composants


    • Les principes de base
      • Les types de composants : boîtes blanches et noires.
      • Les principes fondamentaux de l’objet : classe, packages et espaces de noms, héritage, interface, encapsulage, surcharge de méthodes, polymorphisme de méthodes, transtypage, gestion par références, gestion des exceptions, agrégation, composition.
    • La distribution des composants
      • La nécessité d’un middleware de communication.
      • Les référentiels de composants.
      • Les problématiques d’authentification et de sécurité liées à la distribution des composants : vers une véritable gestion des identités.

    Les frameworks techniques et frameworks d’architecture


    • L’importance des frameworks
      • Les langages objet indissociables de leur environnement.
      • Un choix Java xE vs .Net qui se pose rarement.
      • Les délicats problèmes de mapping de données et de gestion de la persistance.
    • Les frameworks Java xE
      • La gestion globale du monde Java : le JCP et les JSR.
      • La nouvelle donne liée à l’arrivée d’Oracle.
      • L’architecture générale et les versions : Java SE, Java EE, Java ME, Java Card.
      • Le modèle EJB et sa complexité : session, MDB, principes de fonctionnement.
      • Les apports d'EJB 3.0 (EJB 5), Java SE 6 et Java EE 6.
      • L’inévitable ouverture de Java vers l’Open Source.
      • Des langages script interprétables dans la JVM Java : Ruby, Groovy, Python, etc. Une date importante.
    • .NET de Microsoft
      • .Net : la volonté serveur de Microsoft pour une crédibilité dans le domaine du back-office.
      • Le modèle fonctionnel : diversité des langages, compilation Just In Time, Assembly.
      • Les langages compatibles et leur modèle de référence CLI.
      • L’espace d’exécution CLR (Common Language Runtime).
      • Les espaces de noms de .NET.
      • .Net 3.5 et le futur 4.0 : distinction entre l’OS et le serveur d’applications.
      • Mono : .Net sur Linux. Une réalité.
      • Exemples concrets.
    • Les frameworks d’architecture (complément)
      • Le recours aux motifs de conception.
      • Classification historique des principaux motifs : singleton, composite, adapter, etc.
      • Le motif MVC (SmallTalk) et ses déclinaisons JSF, Spring, RoR et Struts.
      • Le motif Hibernate.
      • La “virtualisation” de l’accès aux données : JDO, SDO.
      • Linq, la solution universelle de Microsoft. Vers une écriture harmonieuse de l’accès aux données.
      • Les frameworks d’intégration (ESB) : pour remplacer les serveurs d’intégration (EAI).
      • L’exemple concret d’un framework Open Source : Celtix.
    • Les serveurs d’applications
      • Le rôle d’un serveur d’applications : les services rendus aux applications.
      • La distinction entre container servlet/JSP et container d'EJB.
      • La concentration des serveurs d’applications Java.
      • JBoss, WebSphere, Oracle, Tomcat dans le monde Java.
      • Les serveurs d’applications Windows pour .Net.


    Les langages modernes : Java, C#, VB.Net, etc.


    • Java et la maturité
      • L’irrésistible poussée des langages objet.
      • De Simula à Java et C#.
      • Le cahier des charges de Java.
      • Les concepts nouveaux de Java 5 : annotations, assertions, etc.
      • Un rapprochement de plus en plus net avec C#.
    • C#
      • Caractéristiques fondamentales du langage.
      • Principes opératoires : compilateur, préprocesseur, contrôle des erreurs.
      • Gestion des classes, délégués et événements.
      • À quelles applications est destiné C# ? Une comparaison avec Visual Basic .NET et Java. Avantages et inconvénients.
    • Les autres (principaux) langages de la galaxie .Net
      • Visual C++.
      • ASP.Net.
      • Visual Basic .Net.

    Les architectures éclatées SOA et Web Services


    • Vers un modèle générique d’applications composites à composants distribués : les SOA
      • Principes de l’architecture SOA.
      • Architectures point à point ou fondées sur un bus d’intégration : les critères de choix.
      • Les briques de conception d’une architecture SOA.
      • Les écueils de la granularité et de la généricité.
      • Les plates-formes de développement SOA.
      • L’orchestration des services : SCA.
      • Les SOA et les mainframes.
    • La distribution des applications : les services Web
      • Organisation et mise en œuvre d’une architecture de services Web distribués.
      • Les standards SOAP, WSDL et UDDI, fondés sur XML.
      • L’authentification des services Web.
      • L’orchestration des services Web : BPEL.
      • Exemples concrets de mise en œuvre.

    Les architectures "clients" et les langages script


    • Les nouveaux modèles d’architectures
      • Éclatement du modèle 3-tiers.
      • Nouvelles architectures applicatives en 2010.
      • Allégement du poste client.
    • Les clients riches
      • Principe du client riche.
      • Différentes formes de client riche : RIA contre RDA.
      • Du pur XML au client Silverlight, AIR, Java FX ou Google Native.
      • AIR d'Adobe contre .Net et Java.
    • Les applications Internet/Intranet côté client : vers l'archirecture Web 2.0
      • L’évolution de HTML : HTML 5.
      • La génération dynamique des pages HTML : les modèles ASP, PHP, Cold Fusion et JSP.
      • PHP et son nouveau statut de langage majeur.
      • Un nouveau venu prometteur : Ruby.
      • Mise en page côté client : JavaScript et l’avènement de la programmation “behind the scene”, type Ajax.
      • La mécanique d’un développement Ajax et l’usage de l’objet XMLHttpRequest.
      • Les frameworks de développement Ajax.
      • Exemples de mise en œuvre.
    • Les techniques d’intégration côté client
      • Le principe des portlets et WSRP.
      • Le principe des mashups.
      • Les protocoles d’échange d’informations : RSS, Atom.
      • Déjà une offre mature de plates-formes de développement de mashups.

    Les plates-formes de développement


    • Le problème des AGL (Atelier de Génie Logiciel)
      • Les constituants d’un AGL moderne.
      • Les nouvelles usines à logiciels : IBM, Visual Team System (Microsoft).
      • Les concepts d’accompagnement au développement : refactoring, gestion des sources et exécutables, profiling, documentation automatique, génération du code.
      • La collaboration dans le développement : l’apport de l’Open Source et l’arrivée de Jazz chez IBM.
    • Les communautés de développement
      • L’essor d’Eclipse et d’un nouveau “business model”.
      • Un monde de plug-ins pour Eclipse.
      • Visual Studio 2010.
      • Avantages et inconvénients, conditions de mise en œuvre.
      • L’avenir de la solution Netbeans de Sun.
      • Exemples concrets.
    • Le développement “dans les nuages”
      • Principe de développement dans les nuages.
      • Mode virtualisé et multitenant.
      • Les solutions concrètes : Azure de Microsoft, Google App Engine, Amazon EC2.
      • Avantages et inconvénients.

    Les spécificités du développement Open Source


    • Le cadre général
      • Les modes de fonctionnement.
      • La problématique des licences.
      • Les précautions à prendre.
    • Les aspects concrets d’un développement Open Source
      • L’intégration (parfois difficile) dans un projet Open Source existant : les règles à respecter.
      • La réutilisation contrôlée de composants soumis à licence.
      • Le fonctionnement au quotidien d’un projet Open Source.

    Déploiement et performances


    • Le déploiement des applications modernes
      • Le syndrome du client lourd.
      • Les formes modernes de déploiement : virtualisation et streaming, les solutions Microsoft, VMware, Citrix.
      • Le déploiement spécifique des clients riches Java et .Net.
    • Le problème des performances
      • La complexité accrue et l’éclatement des applications modernes à l’origine de nombreux déboires.
      • Un nouveau venu, l’APM : Application Performance Management.
      • Les outils de tuning d’applications Java et .Net.
      • Exemples concrets.

    Les problématiques applicatives nouvelles


    • Les applications pour postes mobiles
      • Les contraintes : taille des scripts, particularismes de l’affichage.
      • Les natures distinctes d’applications mobiles : vers un mode connecté.
      • Les frameworks du marché spécifiques .Net et Java ME.
      • L’arrivée des frameworks ordiphones (smartphones) : Android (Google), Symbian, Sun, Apple, RIM.
      • Les places de marché applicatives pour smartphones.
    • Les applications multimédias
      • Les particularismes d’une application multimédia.
      • La gestion spécifique des clips sonores et des vidéos.

    L’évolution des métiers du développement


    • Un monde en profonde mutation
      • Les grandes évolutions du métier : offshore et outsourcing. Quelles limites ?
      • La migration vers les compétences “nouvelles” (frameworks, objet, etc.).
      • L’importance cruciale de la modélisation : une manière nouvelle d’aborder l’objet. 
      • L’influence de l'Open Source.
      • Comment les DSI voient-ils leurs besoins à court et moyen terme. N’y a-t-il pas incompréhension ?
      • Les pièges à éviter.
    • L’évolution prévisible des métiers
      • Chef de projet.
      • Architecte de développement.
      • Référent de maîtrise d’ouvrage.
      • L’inévitable refonte des processus de formation.