En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies et de technologies similaires permettant l’utilisation de données relatives à un même utilisateur par notre société ainsi que par des tiers comme les régies publicitaires partenaires, afin de réaliser des statistiques d'audiences et de vous proposer des services en lien avec votre recherche de formation, une offre publicitaire adaptée à vos centres d'intérêts et la possibilité de partager des contenus sur des réseaux sociaux. En savoir plus/paramétrer

Capgemini Institut

Développement et Architectures d'Applications

Certification / expertise

21 heure(s)

2685 € HT

Organisme privé de formation continue

Consultez le site de l'organisme

Objectifs

Étudier et connaître 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#.
  • Le positionnement des langages script PHP, JavaScript.
  • Les processus nouveaux : Compilation intermédiaire, assemblages et archives.
  • Le rôle central de XML et du couple REST/JSON, l’architecture SOA, les MSA et les Web Services.
  • Le développement dans le Cloud.
  • Le panorama des solutions du marché, avantages et inconvénients, exemples de mise en oeuvre.
  • La mutation du métier de développeur : Abstraction, réutilisation, communication.

Public visé

  • DSI et leurs collaborateurs directs.
  • Décideurs informatiques.
  • Architectes.
  • Consultants.
  • Ingénieurs et chefs de projets.
  • Développeurs.
  • Maîtrises d’ouvrage (Product Owner).

Programme

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

Changements de repères :
  • De l’impératif à l’objet, du spécifique au standard, du jetable au réutilisable.
  • Du modèle propriétaire synchrone : Cobol/CICS/ DB2, aux conteneurs d’applications et à la désynchronisation des applications.
  • Distribution et urbanisation des applications : SOA et services Web, MSA.
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 impératifs.
  • 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.
Le nouveau périmètre méthodologique :
  • Les trois niveaux de la modélisation : Données, processus et orchestration.
  • Méthodologies, langages de modélisation et modeleurs graphiques.
  • UML, BPMN.
  • Les plates-formes de modélisation.
  • Les modèles de données et la forte présence de Merise.
L’évolution de la gestion de projet :
  • Le mouvement des méthodes agiles : Du prédictif à l’adaptable.
  • Les méthodes et bonnes pratiques les plus courantes : Lean Software Management, eXtreme Programming et Scrum.
  • La conduite des projets par les tests.
  • Qualité et mesure de la complexité du code.
  • Exemples concrets.

De l’objet aux composants :

Les principes de base :

  • La réutilisation des composants.
  • Les principes fondamentaux de l’objet : Classes, packages et espaces de noms, héritage, interface et polymorphisme, encapsulage, surcharge de méthodes, transtypage, gestion des exceptions, agrégation, composition.
  • Les bonnes pratiques de l’objet : La gestion par références.
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.
  • Liberté d’écriture ou modèle contraint.
  • Un choix Java xE vs .NET qui se pose rarement.
Les frameworks Java xE :
  • Les frameworks fondamentaux : Java EE et Java SE.
  • Le modèle EJB vers plus de simplicité.
  • Java SE 7 et SE 8 : Evolution de la machine virtuelle.
  • L’ouverture de la JVM (JSR 223) : Un échec.
  • Java EE 8 et sa prise en charge par Eclipse.
  • Les concepts avancés : IoC, Injection de dépendances, Programmation par Aspects.
  • Un nouveau venu : TomEE.
.NET de Microsoft :
  • Diversité des langages, compilation Just In Time, Assemblage.
  • L’architecture de référence CLI.
  • L’espace d’exécution CLR (Common Language Runtime).
  • Les espaces de noms de .NET.
  • .NET 4.X : Distinction entre l’OS et le serveur d’applications.
  • La poussée de .NET vers l’Open Source : .NET Core 1.0/2.0.
Les frameworks d’architecture :
  • Le recours aux motifs de conception (design patterns).
  • Le motif MVC (SmallTalk) et ses déclinaisons JSF, RoR et Struts.
  • Le motif Hibernate pour le mapping et la persistance.
  • Linq, le requêtage universel de Microsoft.
  • Les frameworks d’intégration (ESB).
Les serveurs d’applications :
  • Le rôle d’un serveur d’applications.
  • La distinction entre container servlet/JSP et container d’EJB.
  • La concentration des serveurs d’applications Java : RedHat, WebSphere, Oracle WebLogic, TomEE, Microsoft Windows.

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

Java et la maturité :

  • Des concepts nouveaux : Inférence de type, «duck typing», etc.
  • Les avancées depuis Java 6 : Annotations, assertions, etc.
  • JDK 8, arrivée du JDK 9 et de la modularité dans le langage.
  • Un rapprochement architectural de plus en plus net avec C#.
  • La synthèse recherchée par Google.
  • Montée en puissance de Ceylon…pour remplacer Java ?.
  • Les nouveaux langages : Clojure, Kotlin, Julia, Go, etc.
  • La programmation fonctionnelle. L’exemple de Scala.
  • La programmation statistique avec le langage R.
Les principaux langages de la galaxie .NET :
  • C#.
  • Visual C++.
  • ASP.NET.
  • Visual Basic .NET.
Les langages script et dynamiques :
  • Typage statique et dynamique.
  • La montée en puissance de Javascript : Serveurs et clients.
  • Les frameworks Javascript : jQuery, Node.js, Angular.js, etc.
  • Les «compilateurs» Javacript : Coffeescript, Typescript (le transpiling).
  • ASM.js et Web Assembly.
  • PHP et Ruby, des solutions crédibles et les frameworks associés.
  • Dart, un successeur pour Javascript ?
  • Les autres langages : Groovy, Python, R, etc.

Les architectures éclatées SOA et Web Services :

Vers un modèle générique d’applications composites à composants métiers distribués : Les SOA :

  • Principes de l’architecture SOA.
  • Services orchestrés ou chorégraphiés : Le piège.
  • Les briques de conception d’une architecture SOA.
  • Les écueils de la granularité et de la généricité.
  • Les SOA et les mainframes.
  • Les bonnes pratiques des SOA.
  • MSA : L’urbanisme poussé aux limites et ses liens avec les containers.
La distribution des applications : Les services Web :
  • Organisation et mise en oeuvre d’une architecture de services Web distribués.
  • Les standards SOAP, WSDL et UDDI, fondés sur XML, REST et JSON fondés sur HTTP.
  • L’authentification des services Web.

Les architectures « clientes » :

Les nouveaux modèles d’architectures :

  • Éclatement du modèle 3-tiers en n-tiers.
  • Nouvelles architectures applicatives.
  • Allégement du poste client : Vers un client léger HTML.
Les clients riches :
  • Principe du client riche.
  • Du pur XML au client riche : Java FX ou Google Native.
  • Dans quels contextes le client riche a-t-il encore une chance ?
Les applications en mode Web :
  • L’arrivée de HTML 5 et la remise en cause des clients riches.
  • Mise en page côté client : JavaScript et programmation Ajax.
  • Les SPA (Single Page Application).
  • L’urbanisme des « Web Components ».

Les plates-formes de développement :

Le problème des forges modernes : AGL (Atelier de Génie Logiciel) :

  • Les constituants d’un AGL moderne.
  • Les nouvelles usines à logiciels : Jazz (IBM Rational), Team System (Microsoft).
  • Les concepts d’accompagnement au développement : Refactoring, gestion des sources et exécutables, profilage, documentation automatique, analyse de la qualité, génération du code, sécurisation du code.
  • La collaboration dans le développement : L’apport de l’Open Source.
Les communautés de développement :
  • L’essor d’Eclipse et de son «business model».
  • Un monde de plug-ins pour Eclipse.
  • VS en Open Source, Visual Studio.
  • Avantages et inconvénients, conditions de mise en oeuvre.
  • Les IDE dédiés : JavaScript, Python, Ruby, JavaScript.
Le développement dans le Cloud :
  • Principe de développement dans le Cloud.
  • Les solutions concrètes : Azure de Microsoft, Google App Engine, Cloud Foundry VMWare, Heroku, etc.
  • Avantages et inconvénients.
  • Les limitations actuelles : Manque de diversité des langages et des bases de données.
Les bases de données revisitées :
  • L’émergence des bases NoSQL : Colonnes, clésvaleurs, graphe, documents, hiérarchiques.
  • Les grosses bases de données, Oracle et IBM, orientées performances.
  • Les bases de données dans le Cloud.
  • Les mouvements autour de MySQL : Les offres «concurrentes» Drizzle et Maria DB.
  • Vers une écriture «élégante» de l’accès aux données, sans SQL.
  • La gestion de fichiers HDFS et ses implications dans le Big Data.
  • La galaxie Hadoop.

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.

Les problématiques applicatives nouvelles :

Les applications pour terminaux mobiles :
  • Les contraintes : Taille des scripts, particularismes de l’affichage, consommation de la batterie.
  • Les plates-formes mobiles : Android (Google), Apple iOS, Microsoft Windows 10.
  • Les huit formes de développement mobile : Native, HTML5, hybride, cross-platform.
L’écriture du code sécurisé :
  • Anatomie d’une faille et exemples.
  • Les règles fondamentales de sécurisation du code.
La parallèlisation des applications :
  • Faire coïncider les avantages des architectures multi coeurs et multiprocesseurs avec les programmes.
  • Les principes délicats de conception d’une application parallélisée.
  • API spécialisées et outils d’aide à la parallélisation.
Les nouveaux challenges :
  • Programmation des interfaces tactiles.
  • Les «Responsive Design» et « Adaptive Design » pour les terminaux mobiles.
  • Le «Material Design » et le « Flat Design ».

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

Un monde en profonde mutation :

  • La migration vers les compétences «nouvelles» (frameworks, objet, etc.).
  • Le problème de la formation aux concepts objet, en préliminaire à celle des langages.
  • L’importance cruciale de la modélisation : Une manière difficile mais prometteuse d’aborder la conception des applications.
  • Comment les DSI voient-ils leurs besoins à court et moyen terme ?
  • Les pièges à éviter.
L’évolution prévisible des métiers :
  • Chef de projet applicatif.
  • Architecte de développement
  • Les développeurs dans le monde agile.
 

La formation "Développement et Architectures d'Applications" vous intéresse ?

Recevez gratuitement le programme de la formation par Capgemini Institut.

J'accepte que mes coordonnées soient transmises à Capgemini Institut afin que je puisse recevoir le programme complet de la formation.

Les prochaines sessions

À Paris

Du 12/11/2018 au 14/11/2018

Du 17/06/2019 au 19/06/2019

Centre

Capgemini Institut
24, rue du Gouverneur Général Eboué
92136 Issy les moulineaux cedex


Les internautes qui ont consulté cette annonce ont aussi consulté:

En résumé

Objectif

Certification / expertise

Durée

21 heure(s)

Coût

2685 € HT

Modes d'enseignement

En école ou centre de formation

Posez une question à notre responsable pédagogique

Recevez des formations similaires

Kelformation vous suggère des formations qui vous correspondent.

Inscrivez-vous et recevez directement les annonces par mail.