CAPGEMINI INSTITUT

Développement et Architectures d'Applications

Certification / expertise

21 heure(s)

2740 € 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 : Plateformes, 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 plateformes 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, l’esthétisme.
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 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, annotations, assertions.
.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.
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 : Sprint, 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.
  • 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, 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.


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 présente-t-il un intérêt ?
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 plateformes 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.
  • Visual Studio en Open Source.
  • 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 plateformes 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 multicoeurs 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.

Les données personnelles recueillies ci-dessus sont destinées à Figaro Classifieds ainsi qu’aux organismes que vous avez sélectionnés afin qu’ils vous contactent et vous adressent leurs informations relatives à votre demande en lien avec l’activité de l’organisme. Voir plus

Les prochaines sessions

À Paris

Du 15/06/2020 au 17/06/2020

Du 14/12/2020 au 16/12/2020

Centre

CAPGEMINI INSTITUT
147 Quai Président Roosevelt
92136 Issy les moulineaux cedex
> Voir la carte


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

En résumé

Objectif

Certification / expertise

Durée

21 heure(s)

Coût

2740 € 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.

Les données personnelles recueillies ci-dessus sont destinées à Figaro Classifieds afin de vous fournir les services auxquels vous souscrivez et notamment vous envoyer des offres de formations correspondant à votre recherche. Voir plus