Cours 3 bibliotheques et chargement dynamique

LOG Architecture logicielle et conception avancée Yann-Ga? l Guéhéneuc Cours ?? Bibliothèques et chargement dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique de Montréal ? Guéhéneuc CPlan Introduction Bibliothèques et cadriciels ? Types d ? interconnexions ? Problèmes légaux ? Problèmes techniques Sous-classage ? Crochets et gabarits ? Patrons de conception Chargement dynamique ? Méta-classes ? Protocoles de méta-objets MOP ? MOP à la compilation à l ? exécution C Introduction Aucun logiciel de grande taille n ? est développé depuis zéro aujourd ? hui ?? Sauf dans le cas de développement en salle blanche ? Utilisation de ?? Bouts de code ? ?? Structures fonctions Classes méthodes ?? Bibliothèques CIntroduction Utilisation de ?? Bouts de code ? ?? Structures fonctions Classes méthodes ?? Bibliothèques Problèmes ?? Légaux ?? Techniques C Bibliothèques et cadriciels Bibliothèque library logicielle est un ensemble de fonctions utilitaires regroupées et mises à disposition a ?n de pouvoir être utilisées sans avoir à les réécrire ? Wikipedia Exemples ?? La bibliothèque de classes Java ?? La STL de C CBibliothèques et cadriciels Un cadriciel framework est un espace de travail modulaire C'est un ensemble de bibliothèques d'outils et de conventions permettant le développement de programmes ? Wikipedia Exemples ?? La STL de C ?? JUnit ?? Eclipse Equinox OSGi CBibliothèques et cadriciels Types d ? interconnexions ?? Chainage des liens linking ?? Duplication de processus fork ?? Sous-classage ?? Protocole de communication IPC ?? Chargement dynamique CBibliothèques et cadriciels Chainage des liens linking A contraster avec les langages avec machine virtuelle ?? Typiquement en C C ?? Plusieurs ?chiers o un seul ?chier exe ? CBibliothèques et cadriciels Duplication de processus fork Dans presque n ? importe quel langage ?? Réelle duplication du processus ?? Appel au système pour la création d ? un nouveau processus ?nal StringBu ?er commandLine new StringBu ?er commandLine append DOT bin dotty commandLine append aFilePath ?nal Process process Runtime getRuntime exec commandLine toString ?nal OutputMonitor errorStreamMonitor new OutputMonitor ? process getErrorStream ? errorStreamMonitor start ?nal OutputMonitor inputStreamMonitor new OutputMonitor ? process getInputStream ? inputStreamMonitor start try process waitFor catch ?nal InterruptedException ie ie printStackTrace Output getInstance errorOutput if process exitValue ? CBibliothèques et cadriciels Protocole de communication IPC Dans presque n ? importe quel langage ?? Utilisation d ? appels à des procédures distantes RPC ?? Utilisation de protocole bien dé ?nis CORBA COM ?? Engouement pour les services Web public void example String wsdlURI throws Exception TraderServicePort trader null if wsdlURI null trader new TraderServiceImpl getTraderServicePort else trader new TraderServiceImpl wsdlURI getTraderServicePort String stocks BEAS MSFT AMZN HWP for int i i for int i i int shares i log Selling shares shares of stocks i TradeResult result trader sell stocks i shares log Result traded result getNumberTraded shares of result getStockSymbol http edocs bea com wls docs webserv client html CBibliothèques et cadriciels Problèmes légaux Daniel M German and Ahmed E Hassan License Integration Pattern Dealing with Licenses Mismatches in Component-based Development ICSE

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager