Erlang programmation

-

Livres
265 pages
Lire un extrait
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

L'approche distribuée est nécessaire à toute démarche de développement par service, notamment pour l'organisation de systèmes d'information évolutifs.



Fiabilité industrielle pour les applications distribuées... en open source !



Développé par Ericsson depuis une dizaine d'années pour gérer les aspects les plus ardus des applications distribuées et robustes, Erlang est disponible en open source depuis 1998. Essentiellement orienté réseau, il est utilisé pour réaliser des jeux massivement multijoueurs, des applications Internet de haute disponibilité (fermes de serveurs HTTP, robots de chat IRC tel Manderlbot...), mais s'applique également, en tant que langage généraliste, à des domaines allant de l'informatique industrielle à la finance, en passant par le jeu vidéo ou la 3D.



Une référence sur la programmation fonctionnelle et concurrente en Erlang



Préfacé par Joe Armstrong, créateur d'Erlang, ce premier livre en français sur Erlang explore la puissance de la programmation concurrente. Depuis l'installation du langage sur diverses plates-formes jusqu'à la création d'applications tolérantes aux pannes, en passant par la description du framework de développement, la gestion de bases de données distribuées et la gestion des erreurs, ce livre constitue une référence appliquée sur Erlang.




  • Première partie : le langage Erlang


    • Présentation et installation d'Erlang


    • Grands principes du langage


    • Construire et structurer un programme Erlang


    • La programmation concurrente


    • Gestion des erreurs




  • Deuxième partie : le développement d'applications Erlang


    • Erlang/OTP : le framework de développement d'applications


    • L'environnement de développement


    • Les bases de données


    • Le développement d'interfaces graphiques


    • Erlang et le développement Web


    • Serveurs et clients TCP/IP




  • Troisième partie : trois études de cas


    • Créer un proxy d'annuaire LDAP


    • Erlang et le jeu vidéo


    • Développement d'extensions pour le modeleur Wings 3D




  • Index

Sujets

Informations

Publié par
Date de parution 14 août 2012
Nombre de visites sur la page 61
EAN13 9782212172010
Langue English

Informations légales : prix de location à la page 0,0112 €. Cette information est donnée uniquement à titre indicatif conformément à la législation en vigueur.

Signaler un problème
Résumé Fiabilité industrielle pour les applications distribuées Développé par Ericsson depuis une dizaine d’années pour gérer les aspects les plus ardus des applications distribuées et robustes, Erlang est disponible en open source depuis 1998. Essentiellement orienté réseau, il est utilisé pour réaliser des jeux massivement multijoueurs, des applications Internet de haute disponibilité (fermes de serveurs HTTP, robots de chat IRC tel Manderlbot…), mais s’applique également, en tant que langage généraliste, à des domaines allant de l’informatique industrielle à la finance, en passant par le jeu vidéo ou la 3D. Une référence sur la programmation fonctionnelle et concurrente en Erlang Préfacé par Joe Armstrong, créateur d’Erlang, ce premier livre en français sur Erlang explore la puissance de la programmation concurrente. Depuis l’installation du langage sur diverses plates-formes jusqu’à la création d’applications tolérantes aux pannes, en passant par la description du framework de développement, la gestion de bases de données distribuées et la gestion des erreurs, ce livre constitue une référence appliquée sur Erlang.
Trois études de cas Trois études de cas illustrent les nombreux aspects d’Erlang : le développement d’un serveur de proxy d’annuaire LDAP pour illustrer le modèle d e développement robuste OTP, la création d’un serveur de jeux vidéo pour montrer les capacités réseau du langage, et le développement d’extensions pour le modeleur graphique Wings 3D, qui illustre la démarche de développement de plug-ins.
Au sommaire Téléchargement et installation d’ErlangMicrosoft/Linux/DebianInstallation à partir des sources Premiers pasCaractéristiques du langage ConcurrenceDistributionRobustesseGestion de la mémoireTemps réel logicielMise à jour de code à chaud Chargement incrémental du code et interfaçage avec d’autres environnementsLe langage Types simples et complexeset récursivité Fonctions Affectation unique des variables Organisation du code et logique applicativeStructures de contrôleconcurrente Programmation  Processusde Passage messagesasynchrone Développement des erreurs Gestion et Supervision processus travailleurs Le principe « laissez planter! » Style et méthodologie de développementet débogage Maintenance  Le framework de développement Erlang/OTPgénérique Serveur  Superviseur et répartiteur d’événements Machine à états finisL’environnement de développementMachine virtuelleFichiers sourceCompilationLe cycle de développementLe Shell ErlangL’éditeur de code: le mode Erlang pour (X)EmacsLes bases de donnéesschéma de base de données Le Insertions et sélections La distribution des donnéesd’interface Développement graphiques Le système graphiqued’applications Web Développement  INETSYAWSDéveloppement clients et serveur TCP/IPConception d’applications Erlang Études de casProxy d’annuaire LDAPIllustration d’OTPErlang et jeu vidéoJeu de la vieServeur de jeu vidéoExtensions pour le modeleur Wings 3D.
Biographie auteur Mickaël Rémondest développeur Erlang depuis les toutes premières versions du langage diffusées en open source en 1998. Il exerce une activité de consultant spécialisé dans l’architecture des systèmes d’information et des systèmes distribués à haute disponibilité.
Membre actif de la communauté Erlang et fondateur des sites Erlang-fr.org et Erlang-Projects.org, il a initié des projets open source tels Manderlbot, un robot de forum IRC, Metafrog, une application Web pour le suivi de projet open source, ainsi qu’Erly-Stage et Rei, des serveurs de jeu de rôles multi-joueurs.
www.editions-eyrolles.com
ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com
En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2003, ISBN : 2-212-11079-0
Dans la collectionComing Next O. AUVERLOT. –Programmation Rebol N°11017, 2002, 476 pages. X. BRIFFAULT. –Programmation Squeak. N°11023, 2002, 280 pages.
CHEZ LE MÊME ÉDITEUR Architectures Web et intranet L. MAESANO, C. BERNARD, X. LE GALLES. –Services Web en J2EE et .NET.Protocoles et implémentations N°11067, 2003, 1000 pages. F. RIVARD, T. PLANTAIN. –L’EAI par la pratique. N°11199, 2002, 524 pages. J.-M. CHAUVET. –Services Web avec SOAP, WSDL, UDDI, ebXML… N°11047, 2002, 450 pages. F. ALIN, X. AMOROS, M. SALIOU. –L’Entreprise intranet.Guide de conduite de projet. N°11118, 2002, 228 pages. M. RIZCALLAH. –Annuaires LDAP. N°11033, 2002, 480 pages. T. PETILLON. –Les Cahiers du programmeur ASP.NET.Infrastructure Web avec ASP.NET. N°11210, 2003, 200 pages.
XML et ses applications S. MARIEL.– Les Cahiers du programmeur PostgreSQL.Services Web avec PostgreSQL et PHP/XML. N°11166, 2003, 150 pages. J.-J. THOMASSON. –Schémas XML. N°11195, 2002, 450 pages. Ph. DRIX. –XSLT fondamental.Avec 20 design patterns prêts à l’emploi. N°11082, 2002, 500 pages. S. HOLZNER. –XSLT par la pratique. N°11040, 2002, 550 pages. F. BERQUÉ, S. FREZEFOND, L. SORRIAUX. –Java-XML et Oracle. E-Commerce – EAI – Portails d’entreprise – Applications mobiles. N°9149, 2001, 650 pages + 2 CD-Rom.
Modélisation UML et processus de développement P. ROQUES –Les cahiers du programmeur UML. Modéliser un site e-commerce avec UML. N°11070, septembre 2002, 180 pages. e P. ROQUES, F. VALLéE. –UML en action, 2 édition. De l’analyse des besoins à la conception détaillée en Java. e N°11213, 2 édition, décembre 2002, 380 pages + poster. e P. ROQUES. –éditionUML par la pratique, 2 . Cours et exercices. N°11246, 2003, 312 pages. J.-L. BÉNARD, L. BOSSAVIT, R. MÉDINA, D. WILLIAMS. –L’Extreme Programming, avec deux études de cas. N°11051, 2002, 300 pages. P.-A. MULLER, N. GAERTNER. –Modélisation objet avec UML.
e N°9122, 2 édition, 2000, 520 pages + CD-Rom PC. D. CARLSON. –Modélisation d’applications XML avec UML. N°9297, 2002, 324 pages. A. COCKBURN. –Rédiger des cas d’utilisation efficaces. N°9288, 2001, 320 pages. I. JACOBSON, G. BOOCH, J. RUMBAUGH. –Le processus unifié de développement logiciel. N°9142, 2000, 510 pages.
Préface, par Joe Armstrong, créateur du langage Erlang
C’est pour moi un immense plaisir que de rédiger l’ introduction du premier ouvrage en français consacré à Erlang. Pour l’essentiel, une simple question suffit à présenter le langage Erlang, bien mieux que ne le feraient de longs disc ours : pourquoi apprendre Erlang ? Pourquoi apprendre encore un autre langage – les langages de programmation ne sont-ils pas, après tout, suffisamment nombreux ? La réponse est simple : Erlang n’est pas « un autre langage de programmation ». De bien des manières, il est fondamentalement différent des langages informatiques que vous connaissez probablement. Car dans l’écrasante majorité, ceux-l à ont été conçus pour écrire des programmesséquentiels. Erlang a, pour sa part, été conçu pour écrire des programmes concurrents. Le monde réel, celui qui réside hors de nos ordinat eurs et dans lequel nous vivons, travaillons et mourons, est indéniablement concurrent. Les choses s’y produisent en parallèle et notre existence même repose sur les interactions complexes d’un très grand nombre d’activités concurrentes. Cette simple observation conduit au paradoxe suivant : tandis que les activités s’organisent dans notre monde de manière parallèle et que notre existence dépend de la concurrence d’un grand nombre d’activités, les langages que nous utilisons pour modéliser, décrire et transcrire cette réalité en programmes sont essentiellement séquentiels. Cette observation revêtirait peu d’importance si nous écrivions des programmes qui n’ont nul besoin d’interagir avec le monde réel. Or, ce n’est bien souvent pas le cas, et l’écart entre les natures concurrentielle du monde réel et séquentielle de la plupart des langag es de développement devient un vrai problème. Écrire du code séquentiel censé interagir avec le monde réel, où la concurrence est naturelle et inévitable, constitue en soi un défi excessivement difficile. Ce problème est toutefois considérablement simplifié si une correspondance peut être établie entre les paradigmes de concurrence observables dans le monde réel et des paradigmes similaires dans les langages de développement. Cette approche réduit l’écart sémantique entre le problème et sa solution, en simplifiant cette dernière. C’est ce vers quoi tend le langage Erlang. Le développement en Erlang enseigne au programmeur une nouvelle manière de considérer le monde, en l’obligeant à analyser les problèmes auxq uels il est confronté en termes de processus concurrents et de messages échangés entre ces processus. Un programme Erlang est composé d’un nombre arbitraire de processus qui s’exécutent en parallèle. Ces processus interagissent en échangeant des messages. C’est même là la seule façon pour eux d’interagir. En outre, leur espace d’exécution n’est pas limité à une seule machine : il peut s’étendre à unnœudErlang quelconque situé sur l’Internet. En termes de ressources machine, le coût des proces sus Erlang est négligeable, si on le compare à celui du mécanisme dethreads tel qu’il est implémenté dans la plupart des systèmes d’exploitation. Un processus Erlang ne par tage de données avec aucun autre processus et reste extrêmement léger. L’utilisation de processus concurrents n’interagiss ant que par échanges de messages constitue les bases de la programmation distribuée, à laquelle Erlang s’adapte naturellement. Alors que de plus en plus de machines sont connectées de façon permanente à Internet, le développement d’applications distribuées n’en devient que plus intéressant. L’émergence de technologies comme .NET et l’intérêt soutenu autour de protocoles comme SOAP et WSDL renforcent la vision selon laquelle la prochaine gé nération d’applications sera
intrinsèquement distribuéeetconcurrente. Des millions d’applications séquentielles fonctionnent aujourd’hui sur des ordinateurs isolés, mais tout indique que les applications distribuées devraient devenir de plus en plus courantes et pourraient finalement prendre une place plus importante que les applications non distribuées. Je crois sincèrement que la plupart de ces applications, nouvelles et excitantes, seront celles qui connecteront les gens par-delà les barrières culturelles, sociales et économiques. Le Web n’est qu’une première étape. Je m’attends à ce que de nouvelles applications distribuées changent la manière dont nous travaillons, jouons, voire transforment le monde dans lequel nous vivons – tout comme leWorld Wide Webl’a fait. La réalisation de programmes distribués et concurrents par nature est le défi auquel doit faire face tout programmeur souhaitant « changer le monde ». La lecture du livre de Mickaël sur Erlang constitue un premier pas dans cette direction. Amusez-vous et écrivez du code audacieux !
Swedish Institute of Computer Science,Stockholm, janvier 2003 Joe Armstrong
Remerciements
Cet ouvrage s’inscrit dans le prolongement de plusieurs années de réflexion. Je remercie donc tous ceux qui m’ont accompagné et guidé sur ce chemin. Je pense en particulier à Thierry et Nat, qui m’aident à croire qu’une informatique réjo uissante, enthousiasmante et tout simplement belle peut encore exister. Merci à tous les deux et que nos échanges fructueux se poursuivent encore très longtemps. Merci à toute la communauté des développeurs Erlang, qui m’a accueilli à bras ouverts et qui prend un réel plaisir à expliquer, défendre et promouvoir le « plus beau langage du monde ». Merci à Joe, Bjarne, Francesco, Ulf, Luke, Sean, Chandru, Vlad, Erik, Claes, Torbjorn et tous les autres. Un merci chaleureux à Muriel qui a cru dans ce projet avec un enthousiasme rafraîchissant. Enfin, Catherine, mon épouse, a été une fidèlesupporterde cet ouvrage sur Erlang et s’est fortement impliquée dans la relecture du livre. Je la remercie pour son soutien sans faille durant les longs mois de maturation et d’élaboratio n du projet. Il faut croire que nous étions destinés à « accoucher » en même temps de nos deux « projets ». Merci également à Julien qui fait preuve d’une grande patience pendant que son papa s’isolait pour travailler sur le livre. Je les embrasse tous deux.
Mickaël Rémond (mickael.remond@erlang-fr.org) http://erlang-fr.org