Les nouveaux défis des systèmes complexes et la réponse MDA de l'omg.

Dimension: px
Commencer à balayer dès la page:

Download "Les nouveaux défis des systèmes complexes et la réponse MDA de l'omg."

Transcription

1 Les nouveaux défis des systèmes complexes et la réponse MDA de l'omg. Une approche de génie logiciel. Jean Bézivin

2 Solution miracle ou nouvelle obsession? Ils voient des modèles partout! Requirement model Business Object model Workflow model Business rules model Business process model Design model Deployment model Test model Performance model QoS model Execution model TrucMuch model

3 La nouvelle crise du logiciel Première crise : 1965 Solutions? (NATO Summer School 1967): "Software engineering" "Structured programming" "Top-down approaches" Seconde crise : 2000 Solutions? (OMG november 2000): La PPO ou la PPC ne constituent que des réponses très partielles à la montée en complexité. Seules elles sont aujourd'hui insuffisantes. "MDA : Decouple neutral business models from variable platforms" "Transformations as assets"

4 Les systèmes deviennent plus complexes Volume croissant Des données Du code Évolutivité croissante De la partie métier (mondialisation, concentrations, restructurations, ) De la partie plate-forme d'exécution Hétérogénéité croissante Des langages et des paradigmes Des supports de données et des protocoles d'accès Des systèmes et des plates-formes Des technologies Le rythme d'arrivée des nouvelles technos s'accélère Ce rythme ne se ralentira pas Les vielles technos ne meurent pas, elles se cachent dans les couches profondes du logiciel

5 Réponse aux nouveaux défis des systèmes complexes 1. Les outils actuels ne répondent plus aux besoins 2. Les outils actuels contribuent même à aggraver le problème (volume+évolutivité+hétérogénéité) 3. Il faut donc inventer de nouvelles solutions pour construire les systèmes d'information du nouveau millénaire

6 Exemple typique Un jeune ingénieur en sortie de Bac+5 et ayant des connaissances de base en Java, XML et UML se voit invité, lors de son arrivée en entreprise et avant de commencer son travail, à lire le lundi le rapport public J2EE v1.4 de 228 pages Dans les six premières pages de ce rapport il est fait référence à : EJB, JSP, JMS, JMX, JCA, JAAS, JAXP, JDBC, JNDI. Cette nouvelle version de J2EE est la version Web services et on suppose donc connus les concepts SOAP, SAAJ, JAX-RPC et JAXR Chacun des acronymes cités correspond à une spécification La spécification de EJB 2.1 correspond à un document pdf de 640 pages qui sera lue le mardi Le mercredi sera consacré à la lecture du document Servlet 2.4 PFD specification de 307 pages Le jeudi il s'attaque à la lecture du document JSP 2.0 PFD specification de 374 pages Et ainsi de suite Au bout d'un mois de lectures, notre ingénieur est enfin prêt à commencer le travail productif D'après "Is complexity hurting Java?" de Jason Weiss, dans Java Developer's Journal, Vol. 7, Issue 10, Octobre JFIADSMA'02, Lille

7 Que faire? ( sachant que de ne rien faire est une option de plus en plus coûteuse et dangereuse) ( sachant que la complexité a atteint un tel niveau qu'il est hors de portée d'un seul individu d'avoir une vision globale sur un système en évolution) Accélérer encore la course aux nouvelles technologies dans l'espoir qu'une nouvelle solution magique se présente? Fuite en avant? Réponse de l'omg : MDA Changement de paradigme : des objets aux modèles Changement de stratégie : de l'interprétatif au transformationnel Changement de vision : du centré code au centré aspects Objectif prioritaire : protéger les investissements informatiques des entreprises de l'obsolescence technologique Moyen privilégié: dans les systèmes d'information séparer les aspects liés à la plate-forme des aspects indépendants de la plateforme en les prenant en compte par des modèles indépendants (PIMs et PSMs).

8 Indépendance de la plate-forme : Le précédent des SGB D des années 70 Dans les années 70, la communauté SGBD a du résoudre le problème de l'indépendance de la plate-forme pour les systèmes centrés données Ils ont procédé de la façon suivante : Élever le niveau d'abstraction Codd invente l'algèbre relationnelle L'acceptation ne fut pas instantanée et unanime Inventer un formalisme conceptuel L'industrie se met d'accord sur le standard SQL Ce standard imparfait et critiqué est toujours d'actualité Les communautés du génie logiciel et des systèmes d'information doivent aujourd'hui résoudre à leur tour le problème de l'indépendance de la plate-forme.

9 La puissance des paradigmes : le précédent du schéma MVC des années 80 PIM PDM PSM M V C

10 Des objets aux modèles Les maladies infantiles de l'objet Les limites du tout-objet Le sans-couture, pas sans danger Les patrons et le savoir-faire architectural Les cas d utilisation Le syndrome du wrapper fou La portabilité perdue Le rendez-vous manqué de l'extensibilité Le "cross-cutting" et les aspects Une crise majeure? L'impossible salut par les composants Services, le retour Prise en compte des aspects non-fonctionnels Vers une gestion cohérente des aspects multiples

11 On a menti sur les objets Les limites du tout-objet "En raison des formidables capacités unificatrices du paradigme objet, le passage de la technologie procédurale à la technologie des objets apportera une énorme simplification conceptuelle pour l ingénieur logiciel. Comme tout sera considéré comme objet (principe du tout-objet), on assistera à une formidable réduction du nombre de concepts nécessaires." Tous ensemble, circa 1980 La technologie des objets n'a pas tenu ses promesses de simplification.

12 Des modèles de complexité croissante Technologie procédurale Technologie des objets Technologie des composants Procédures Objets, Classes, Méthodes Beans, Components, Containers, Packages, Interfaces, Use cases, Scenarii,Services, Frameworks, Applications, Patterns, Aspects, etc.

13 Seamlessness considered harmful chef d'agence compte de Jean-Marc compte de Sheila compte de Paul Hypothèse (naïve) : Il y a correspondance exacte entre les objets métier et les objets programme. compte de Joe imprimante Conséquence (fausse) : il est possible de "raffiner" les objets comme on raffinait autrefois les procédures. JFIADSMA'02, Lille analyse conception codage x x' x'' objet «abstrait» objet «concret»

14 Correspondance exacte? Filière Etudiant Enseignant Cours NB: Quid de la persistance, des objets systèmes, de la gestion d'ihm, etc. Diplôme Examen Etudiant Enseignant Modèle d'analyse Filière Cours Diplôme Examen Etudiant Enseignant Modèle de conception Filière Cours NB: M. Jackson qui est à l'origine de cette conjecture de correspondance n'avait jamais préconisé la correspondance exacte. Diplôme Examen JFIADSMA'02, Lille Modèle de codage

15 Une organisation plus réaliste Les use cases; Les racines applicatives fonctionnelles; Les fonctions selon JSD; Modèle de métier Le contexte; Le modèle neutre et stable de l'entreprise; Les objets métier, les règles métier, les processus métier; Modèle de service fusion Modèle de conception Modèle de code Modèle de ressources La plate-forme (CORBA, EJB, DotNet, ); Le code exécutable;

16 Les services sont-ils des objets? le problème f Racines fonctionnelles 1 Système de Certification Take Referee Course Instructor a b c d e g h i Student Referee 1 Apply for Referee Certification * 1 * 1 Program Administrator j k l m n o p q r s 1 1 Referee Applicant 1 Take Referee Certification Test Referee Examiner Configuration sous-jacente Architecture non stable. JFIADSMA'02, Lille Les services sont-ils des objets?x À suivre

17 Les patrons sont-ils des objets? Template method often uses Factory method Memento Proxy implements with Adapter saving state of iteration Abstract Factory enumerating children Iterator Bridge Composite Decorator sharing composites defining traversals Strategy sharing strategies Flyweight Visitor GoF : pas de relation d'héritage entre les patrons.

18 Réutilisabilité : l'erreur de calcul historique Le Discours des années 80 : Il existe un gisement extraordinaire d'économies L'industrie du logiciel peut représenter jusqu'à 5% du PIB des pays industrialisés 85% du code produit par les informaticiens est du tout venant (gestion de tables, tris, etc.) et pourrait donc être réutilisé si l'on disposait de mécanismes adéquats comme l'héritage des langages à objets. 5% x 85 % = 4,25% 2002 : le compte n'y est pas! 5% x 50% x 10% = 0,25% Tests Codage Conception Analyse Chiffres courants: Analyse et conception : 50% Codage : 10% Mise au point : 40%

19 Le rendez-vous manqué de l'extensibilité En 1980 : la technologie des objets va apporter des propriétés d'extensibilité aux logiciels d'application (dixit Perrott, Bézivin, Cointe et autres acolytes) En 2002 : Quel est le mécanisme de terrain permettant de réaliser l'extensibilité d'application au quotidien : c'est indubitablement le mécanisme du plug-in What's a Plug-in (version Netscape)? Plug-ins are software programs that extend the capabilities of the Netscape Browser in a specific way - giving you, for example, the ability to play audio samples or view video movies from within your browser. Exemples : Apple Quick Time, Adobe Acrobat Reader, Macromedia FlashPlayer et ShockWave, RealNetworks RealPlayer, Net2Phone, etc. Est-il possible de faire des plug-ins de plug-ins? Comment gérer les incompatibilités de plug-ins? Comment sont modélisés les concepts d'application et de plug-in d'application (extension)?

20 AOP : un problème bien identifié We have found many programming problems for which neither procedural nor object-oriented programming techniques are sufficient to clearly capture some of the important design decisions the program must implement. This forces the implementation of those design decisions to be scattered through-out the code, resulting in "tangled" code that is excessively difficult to develop and maintain. We present an analysis of why certain design decisions have been so difficult to clearly capture in actual code. We call the properties these decisions address aspects, and show that the reason they have been hard to capture is that they cross-cut the system's basic functionality. We present the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects, including appropriate isolation, composition and re-use of the aspect code. JFIADSMA'02, Lille from Gregor Kiczales, John Lamping, Anurag Mendhekar Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin. In proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland. Springer-Verlag LNCS June mais des solutions contestables AOP! AOSD

21 Les aspects sont-ils des objets? AOP: le code comme référentiel unique. Optimisation directives Algorithmique Debugging directives Synchronization preconditions postconditions Code d'organization (#include, etc.) Exceptions Code exécutable

22 La cote des paradigmes objets composants processus règles services événements, transactions, etc. Par exemple : Un modèle de services est mieux adapté à la techno Web actuelle (WebServices, SOAP, WSDL, WSFL, etc.) Un modèle de services s'accommode beaucoup mieux qu'un modèle d'objets ou de composants aux extensions nonfonctionnelles Un modèle de services s'interface beaucoup plus facilement avec un modèle de workflow qu'un modèle d'objets La technologie des modèles permet de subsumer la plupart de ces paradigmes et bien d'autres.

23 Conclusion Use cases Aspects Technologie des Objets Patterns etc. La TdO (Technologie des Objets) a eu à répondre à de nombreux défis depuis sa diffusion industrielle dans les années 1980 De façon générale, elle n'a pas réussi à trouver en son sein, les moyens de répondre à ces défis En conséquence les solutions trouvées sont souvent baroques, informelles, non généralisables difficilement combinables.

24 Conclusion Use cases QoS Aspects IdM Services TdO Règles Processus Patterns Applications etc. L'IdM (Ingénierie des Modèles) semble être en mesure de répondre à certains de ces défis pour lesquels la TdO n'a pas su trouver des réponses internes. Parmi ceux-ci on pourrait citer : Gestion séparée des aspects Prise en compte homogène des éléments fonctionnels et nonfonctionnels Intégration homogène de points de vue différents (règles, services, processus, architecture, etc.) etc. L'IdM semble pouvoir subsumer la TdO et offrir une voie d'évolution progressive aux solutions actuelles à base d'objets et de composants.

25 Objets vs. Modèles : ce n'est qu'un volet du débat La proportion de code automatiquement généré par rapport au code directement produit à la main tend à croître très rapidement. À certains égards Java tient déjà la place du langage d'assemblage et UML du langage de haut niveau. Interpretative approaches compiler compiler's Dist. OS + Middleware OS MDA Transformational approaches

26 MDA: La nouvelle vision de l'omg "OMG is in the ideal position to provide the modelbased standards that are necessary to extend integration beyond the middleware approach Nowis the time to put this plan into effect. Now is the time for the Model Driven Architecture." Richard Soley and the OMG staff, MDA Whitepaper Draft 3.2 November 27, 2000 (appel à contribution)

27 Les patrons en colère Nous ne voulons plus payer le prix fort uniquement pour porter notre système informatique vers une nouvelle plate-forme de middleware (COM, CORBA, Java, HTML, XML, DotNet, Cluster, Grid, etc.) alors que notre modèle métier reste stable. D'autant plus que nous avons déjà donné pour ce type de migration sans aucun retour sur investissement ($$$!!!). Tout ce que nous pouvons accepter c'est de payer une dernière fois pour la construction de modèles abstraits de notre métier et des services associés, modèles qui nous garantiront contre l'obsolescence technologique des plateformes. À partir de ce moment, tout nouveau fournisseur de plateforme, s'il désire nous voir acheter sa solution, sera prié de nous livrer en même temps que sa plate-forme les outils de transformation permettant de générer vers cette plate-forme à partir des modèles neutres de métier et de service.

28 Tir sur cible mobile Minor changes Business Model 1 BM 2 BM 3 Product line or application development Specification Implementation and Tests Usage and maintenance Important changes Platform 1 Pf 2 Pf 3 Pf 4 Pf 5 Pf 6 Pf 7 Pf 8 Pf 9 Pascal; C; ADA; Linux; Smalltalk; C++; Com/DCOM; Apple OS; PowerBuilder; CORBA; Java; EJB; DotNet; C#; XML; SOAP; Web services; etc. Platform change was an exception, it is now becoming a routine operation, that should be taken into account in the normal product development cycle. JFIADSMA'02, Lille

29 La guerre des intergiciels est finie COM+ DCOM CORBA IIOP XML SOAP HTTP HTML Java EJB de Sun Microsoft C# & DotNet Réaction de Sun's à C# & DotNet? + la prochaine merveilleuse plateforme de Middleware (~2005) " Il n'y a ni vainqueur ni perdant " Le prochain champ de bataille sera celui de la transformation de modèles " L'initiative MDA de l'omg vise à promouvoir l'idée de la mise en œuvre de systèmes distribués dirigée par les métamodèles

30 Correspondance vers des plateformes multiples et évolutives COM+ DCOM Java EJB CORBA C# DotNet Modèles neutres basés sur UML et MOF HTTP HTML XML SOAP " MOF et UML constituent le cœur de la technologie MDA. " Hypothèse : Des modèles technologiquement neutres peuvent être mis en œuvre sur sur une grande variété de technologies de plateformes.

31 Write once, run everywhere Model once, Generate everywhere Multi-target code generation PIM Platform-Independent Model etc. CORBA Java/EJB C#/DotNet SMIL/Flash data grid computing pervasive computing cluster computing Web/XML/SOAP JFIADSMA'02, Lille + SVG, GML, Delphi, ASP, MySQL, PHP, etc.

32 De l'oma vers le MDA Technologie procédurale Technologie des objets Technologie des composants Technologie Des modèles Procédures, Pascal, C,... Objets, Classes, Smalltalk, C++,... Paquetages, Frameworks, Patrons, Modèles, Méta-Modèles, UML, MOF, XML, XMI, XSLT, Raffinement procédural Composition d'objets Transformation de modèles

33 Du Middleware vers le Modelware (*) Not initially standardized by OMG; Scope is single application or vendor Object Request Broker Application Objects CORBA Facilities Compound Docs Object Linking Help Facilities User Interface Desktop Mgmt Vertical Markets OMA MDA Lifecycle Events Naming Persistence Transactions Concurrency CORBA Services Externalization Security Time Properties Query Licensing Lannion, 2 juillet 2001 Réunion Groupe META IDL --> UML (du centré-code au centré-modèles) JFIADSMA'02, Lille (*) Le terme "Modelware" a été proposé par F. Jocteur-Monrozier au groupe OFTA.

34 Du contemplatif au productif Person -personid : unsigned long -surname : CString -givenname : CString -middleinitial : char -streetaddress : CString -postcode : CString -countryname : CString - address : CString +Person() +PersonInfo() Applicant -companyname : CString -experience : CString -is made by -reference1 : CString -reference2 : CString -reference3 : CString 1 +Applicant() +ApplicantInfo() +MakeApplication() 1 -is made * by a-uses 1 -is taken by classe CourseSession -coursesessionid : unsigned long -coursedate : unsigned long -teaches -courseid : unsigned long Employee -courselocation : CString -jobtype : CString -is taught by +CourseSession() -roomnr : unsigned long 0..* +CourseSessionInfo() -department : CString -division : CString 1 1 -is in -jobtitle : CString -manager : unsigned long -headsdept : CString -headsdivision : CString -mobilenr : CString -birthdate : unsigned long +Employee() +GetCurrentAge() 0..* -is filled by +EmployeeInfo() CourseRegistration -makes -registrationdate : unsigned long -completionflag : bool -confirmeddate : unsigned long 0..* +CourseRegistration() +CourseRegistrationInfo() RegistrationForm +registrationform() * 0..* -takes Test 1..* -made a -testscore : unsigned long +Test() Application +TestInfo() PermittedStatusChange -productnr : unsigned long -allows change in -has a séquence -fromstatus : char -certificationlevel : unsigned long 0..* -gives -tostatus : char -applicationdate : unsigned long +PermittedStatusChange() +Application() 0..* 1..* +StatusChangeInfo() +ApplicationInfo() Code Java RegForm ApplicantList 0..* PersonList -applies to a Applicant Application ApplicationList 1 -is achieved findapplicant() findperson() 1 -is for a AppStatus -statuscode : char -statusname : CString +AppStatus() +AppStatusInfo() Exam -uses -examid : unsigned long -certificationlevel : unsigned long +Exam() 1 +ExamInfo() ExamSession -is used in -examsession : unsigned long -examlocation : CString -examdate : unsigned long 0..* +ExamSession() +ExamSessionInfo() Applicant() MakeApplication() Application() addapplication() addperson() XMI XMI "from human-readable to computer-understandable"

35 Opérations sur modèles multiples UML model Java model

36 Les éléments des différents modèles sont dépendants Modèle métier UML Vehicle comesfrom Modèle de code Java Vehicle specializes comesfrom extends Truck comesfrom Truck Problème : Comment prendre en compte de façon précise les relations inter-modèles comme les relation intra-modèles? Constat : Les problèmes de traçabilité, de transformation, de tissage d'aspects sont des cas particuliers de la mise en correspondance de modèles. Ils doivent se traiter au niveau des méta-modèles.

37 UML a ouvert le chemin Modèles de produits et de processus From Object-Oriented Programming to Model-Based Software Engineering. UML/MOF OMT SA/RT ERD JSD SADT Merise DFD DFD etc.

38 L'image globale (roadmap) Procedural ADM Method = notation + process + tools 11/1997 OOADM e.g. OMT Unified Method: impossible 07/2001 UML + profiles + other MMs Model weaving >2001 UPM SPEM + specific processes (RUP, IBM SI, etc.) Network of models 1. Comment séparer les aspects? 2. Comment tisser les aspects?

39 Fragments d'un méta-modèle UML not 1.4 UML

40 Trois étapes dans l'évolution des techniques de modélisation à l'omg. (a) (b) (c) UML MOF MOF unmodèle unmodèle UML UML SPEM Workflow Workflow etc. etc. unmodèle unmodèle UML_for_CORBA UML_for_CORBA Common Common Warehouse Warehouse Metadata Metadata unmodèle unmodèle Action Action language language

41 UML 2.0 : pas un langage, mais une famille de langages UML 2.0 Infrastructure RFP -- A UML 2.0 RFP issued September 15, 2000 that is primarily concerned with architectural alignment, restructuring and extension mechanisms. UML 2.0 Superstructure RFP -- A UML 2.0 RFP issued September 15, 2000 that is primarily concerned with the refinement and extension of UML 1.x semantics and notation. UML 2.0 OCL RFP -- A UML 2.0 RFP issued September 15, 2000 that is primarily concerned with with defining an OCL metamodel. UML 2.0 Diagram Interchange RFP -- A UML 2.0 RFP issued March 2, 2001 that is primarily concerned with with defining metamodel for diagram interchange using the XMI facility. "Will UML 2.0 Be Agile or Awkward?" par Cris Kobryn JFIADSMA'02, Lille

42 OMG : le bus logiciel et le bus de connaissances. Java CORBA, IDL, IIOP,... Cobol C# UML CWM MOF, UML, XML,... Workflow UPM

43 Organisation de modèles séparés en ligne (AOSE : aspect-oriented software engineering) Domain Domain model model Resource Resource model model Usage Usage model model (Use (Use Cases) Cases) Design Design model model Test Test model model BUS BUS commun commun (p.ex. (p.ex. CORBA CORBA ou ou DotNet DotNet + UML UML + MOF MOF + XMI) XMI) Deployment Deployment model model Execution Execution model model Architecture Architecture model model Modèles et Méta-modèles sont des entités de première classe

44 Base conceptuelle pour le MDA Quels sont les outils théoriques qui pourraient nous aider en ingénierie des modèles? Réponse essentielle : Ontologies (Gruber, Guarino, etc.)

45 Systèmes et modèles M 1 (l'espace de modélisation) M Un modèle M est une représentation simplifiée du monde; en fait d'une partie S du monde appelée le système. M 0 (le monde) estreprésentépar S

46 AOSE Aspect-Oriented Software Engineering M 1 Ma estreprésentépar M 0 S Mb Mc Un système donné peut avoir plusieurs modèles différents Chaque modèle représente un aspect différent du système. L'appellation AOM (Aspect-Oriented Modeling) est donc un pléonasme. Inversement on peut combiner des modèles différents extraits du même système: opération de tissage des aspects.

47 Principe de substituabilité limitée Le but d'un modèle est toujours d'être capable de répondre à certaines questions en lieu et place du système qu'il est censé représenter. Il doit répondre à ces questions exactement de la même façon que le système y aurait répondu lui-même, si on l'avait interrogé. System represents Model ask() ask()

48 Méta-modèle System represents Model S Meta-Model terminology assertions M M* La correspondance entre un modèle et un système est définie par un méta-modèle.

49 système Différentes sortes de modèles System represent s Model ask() ask() Dynamic System StaticSystem Dy namic Model StaticModel modèle S D S o n JFIADSMA'02, Lille D o o

50 Le modèle d'un modèle Area of San Francisco repof 1/ road map of the San Francisco area /repof repof 1/ road map of the San Francisco area

51 Opérations plus complexes M a S repof repof M ab repof M b M 1 M 2 M 3 M 4 M 5

52 Ontologies et méta-modèles MM M 1 (l'espace de modélisation) M 0 (le monde) M estreprésentépar S Pour le théoricien, ceci est une ontologie Pour le praticien des systèmes d'information, ceci est un méta-modèle Un méta-modèle est une forme simplifiée d'ontologie. "An ontology is an explicit specification of a shared conceptualization" T.G. Gruber

53 Ontologies Les ontologies apportent : Abstraction Consensus et partage an Ontology O basedon a Model M imageof a System S System, ontology, model: ontology OntoUnix; node File<Entity; Directory<File; User<Entity; Group<Entity; link belongsto [User,Group]; contains [Directory,File]; owner [File,User]; end ontology; model UnixModel; ontology OntoUnix; node teachers, students: Group; pierre,paul,jacqques: User; f1,f2,f3,f4: File; d1,d2,d3: Directory; link belongsto (pierre, teachers); belongsto (paul, students); belongsto (jacques, teachers); owner (f1, pierre); owner (f2,paul); owner (f3, paul); owner (f4, jacques); owner (d1, pierre); owner (d2, pierre); owner (d3, paul); contains (d1,f1); contains (d1,f2); contains (d1,d2); contains (d2,f3); end model;

54 Ontologies stratifiées pragmatique Concepts et Relations p.ex. diagrammes UML terminologique assertionel p.ex. comment dessiner une classe? pbs de présentation, etc. p.ex. instructions OCL, Alloy, CG, KIF, Z, etc.

55 Un méta-modèle de Petri Petri Net 1 element net 0..n Petri Net Element Vertex to in 1 0..n from out 1 0..n Arc Transition Place context Arc inv: self.to.oclistypeof(transition) and self.from.oclistypeof(place) or self.to.oclistypeof(place) and self.from.oclistypeof(transition) JFIADSMA'02, Lille

56 Architecture égyptienne [Inspirée par IRDS, CDIF, etc.] M 3 meta-meta model Le MOF M 0 M 1 M 2 meta-model model "le monde réel" Le méta-modèle UML et autres MMs Des modèles UML et d'autres Différentes utilisations de ces modèles

57 Les trois niveaux de modélisation Niveau M 3 the MOF MMM Niveau M 2 the UPM MM (SPEM) the UML MM the CWM MM CCM EDOC etc. Niveau M 1 a UML model m another UML model m Niveau M 0 a particular use of m another use of m

58 La pile de modélisation MDA Espaces M 1, M 2 & M 3 M 3 M 2 M 2 M 2 M 1 M 1 M 1 M 1 M 1 Université de NANTES Un Méta-méta-modèle unique (le MOF) - Une importante bibliothèque de méta-modèles compatibles - Chaque modèle est défini dans le langage de son unique méta-modèle. JFIADSMA'02, Lille

59 Méta-modèles multiples MOF::Class Java::Class UML::Class Java::Participant UML::Participant Peter Smith Peter Smith

60 1. Expression 2. Dérivation Illustration. MM Java Package MOF Class Association MM UML M3 Interface Package Class extends Class Association M2 Présentation Participant Prog. Java de gestion de la conférence JFIADSMA. Participant écoute Présentation Modèle UML de gestion de la conf. JFIADSMA JFIADSMA'02, Lille M1

61 Comparaison des systèmes de syntaxe abstraites Abstract Syntax Systems Compared Technology #1 Technology #2 (formal grammars (MOF + OCL) attribute grammars, etc.) Technology #3 (XML Meta-Language) Technology #4 (Ontology engineering) Technologies evaluation grid M 3 EBNF MOF A XML DTD Or Schema Upper Level Ontologies Different problems Different technological families M 2 M 1 Pascal Language Grammar A specific Pascal Program A specific execution of a Pascal program The UML meta-model A Specific UML Model A Specific phenomenon corresponding to a UML Model A XML document A XML DTD or Schema A XML document +Xpath, XSLT +RDF, OIL, DAML +etc. [XMI=MOF+XML+OCL] Model serialisation 2nd Workshop on UML for Enterprise Applications: Model Driven Solutions for the Enterprise KIF Theories +Description Logics +Conceptual Graphs +etc. :from contemplative to productive. modularity transformation rendering executability verification navigation etc. Abstract syntax systems Meta-models XML Ontologies 2nd Workshop on UML for Enterprise Applications: Model Driven Solutions for the Enterprise Data bases (e.g. rendering : model placement RFP vs XML style sheets) JFIADSMA'02, Lille

62 Ponts technologiques MMa T MMb Mb Espace des modèles abstraits (MDA). Ma Mb/xmi Espace des modèles Concrets (XML) Ma/xmi T/xslt

63 Méta-programmation vs. Méta-modélisation M 3 MM meta MOF::Class MP meta meta meta M 2 STK::MetaClass STK::Class STK::Instance meta meta meta meta M 1 meta Metaclass class STK::Iof Metaclass STK::Iof Cat class STK::Iof Cat STK::Iof Felix STK::Iof

64 [thèse Erwan Breton] Modèles de produits et de processus Artefacts (~structures de données) MOF Processus (~structures de contrôle) CCM Corba UML etc. etc. EDOC EJB EJB SPEM RUP Party Party Management Management etc. etc. Workflow Workflow

65 Qu'est ce qu'un méta-modèle de processus? Qui fait quoi, pourquoi, quand et comment? +preceding 0..* Process +name 1 0..* Activity -name -duration Quelques fragments illustratifs : PIF (fusionné avec PSL) PSL (NIST) CPR (Core Plan Representation) ARIS (ERP SAP ) UPM/SPEM (Unified Process Model) 0..* +following

66 SPEM: un fragment Role 1 1 IsResponsibleFor WorkProduct 0..n +input 0..n 0..n +output Performs Uses 0..n Activity 0..n 0..n Produces

67 Une hiérarchie de méta-modèles de processus Workflow Software Building Process Generic Process Software Process Software Maintenance Process Manufacturing Software Migration Process Concepts communs : Activity Performer Production/Consumption Time Transition Process occurrences etc.

68 Exécutabilité de UML? Un modèle UML Une machine virtuelle universelle pour exécuter des modèles UML? Il n'y a pas d'exécution canonique pour un modèle UML. Cependant le standard "Action Semantics for UML" fournit un méta-modèle pour définir des schémas d'exécution. Nombreuses applications (p.ex. Kennedy-Carter pour faire de la transfo de modèles et de la génération de code)

69 Les raisons d'une transition rapide La technologie des objets a montré la possibilité de description homogène du contexte (organisation, entreprise) et de la plate-forme d'exécution (CORBA, Java) Chacune peut être prise en compte par un méta-modèle séparé (EDOC, CCM, EJB) À partir de ce moment, il est tout à fait raisonnable d'envisager d'appuyer le système à construire sur un méta-modèle MM2, déduit des méta-modèles d'entreprise (MM1) et de plate-forme (MM3). Entreprise Système à construire Plate-forme sem sem sem MM1 MM2 MM3

70 Conditions nécessaires pour le succès du MDA 1. Langage précis (MOF, UML, OCL) 2. Convergence sur un UTL (Unified Transformation Language) MOF 2.0 QVT RFP 3. Stabilisation industrielle du standard de sérialisation de modèles XMI 4. Définitions précises pour les PIMs, CIMs, PDMs and PSMs % Manual/Automatic code generation 100%

71 Au cœur du MDA: les PIMs et les PSMs Modèles MDA PIM: Platform Independent Model Spécification neutre d'un système (modèle de métier et de service) qui ignore tous les détails de mise en oeuvre Exemple: système de facturation exprimé en UML Modèles de plate-forme (PDM?) P.ex. modèles de composants à différents niveaux d'abstraction : CCM, C#, EJB, EDOC, PSM: Platform Specific Model Modèle de métier et de service lié à un modèle de plateforme Exemple: Système de facturation exprimé en "UML profile for CORBA"

La plate-forme DotNet dans le contexte du MDA

La plate-forme DotNet dans le contexte du MDA La plate-forme DotNet dans le contexte du MDA Jean Bézivin Université de Nantes CRGNA Centre de Recherche en Gestion de Nantes-Atlantique Faculté des Sciences et Techniques 2, rue de la Houssinière BP

Plus en détail

Ingénierie Dirigée par les Modèles IDM

Ingénierie Dirigée par les Modèles IDM Ingénierie Dirigée par les Modèles Pierre Laforcade Master EIAH 2007 Présentation personnelle Statut Enseignements Lieu : IUT de Laval Matières : modélisation objet en UML, programmation objet, JavaEE/EJB,...

Plus en détail

Ingénierie des Modèles. Introduction Générale

Ingénierie des Modèles. Introduction Générale Ingénierie des Modèles Introduction Générale Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon MDE Model Driven Engineering http://www.rzo.free.fr Pierre PARREND 1 Mai 2005 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Méthodologie de Développement Objet

Méthodologie de Développement Objet 1/47 Méthodologie de Développement Objet Troisième partie : Ingénierie des Modèles Christine Solnon INSA de Lyon - 4IF 2014-2015 2/47 Introduction Automatiser la production de logiciels? Saint Graal du

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML

Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML Session 3. Système de production et de gestion de contenu Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML Pierre Laforcade MCF 27 pierre.laforcade@lium.univ-lemans.fr

Plus en détail

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Rappel : Tout méta-modèle ou profil doit être commenté! 1 Question de compréhension du cours barème indicatif : 5 points Q : Lorsque l on

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE THÈSE N O 3302 (2005) PRÉSENTÉE À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS Institut d'informatique fondamentale SECTION D'INFORMATIQUE ÉCOLE POLYTECHNIQUE

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

IBM Software Group. Modélisation. Rational Software Modeler et Rational Software Architect. 2008 IBM Corporation

IBM Software Group. Modélisation. Rational Software Modeler et Rational Software Architect. 2008 IBM Corporation IBM Software Group Modélisation Rational Software Modeler et Rational Software Architect 2008 IBM Corporation Agenda Présentation de l offre Rational Modélisation UML2 et DSL Automation et MDA Les ateliers

Plus en détail

OpenPaaS Le réseau social d entreprise. Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations

OpenPaaS Le réseau social d entreprise. Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations OpenPaaS Le réseau social d entreprise Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations Propriétés du Document Source du Document Titre du Document FSN OpenPaaS

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Système de formation fédérant trois projets du logiciel libre (Moodle, OpenGLM

Plus en détail

OpenESB Libre, standard, outillé, documenté et supporté

OpenESB Libre, standard, outillé, documenté et supporté OpenESB Libre, standard, outillé, documenté et supporté Alexis Moussine-Pouchkine Sun Microsystems, Inc. Constat Les projets d'intégration sont mono-éditeur Est-ce viable à long terme? Quel(s) Standard(s)

Plus en détail

Les modèles pourquoi faire?

Les modèles pourquoi faire? Les modèles pourquoi faire? Equipe MACAO 1 L IDM : qu est-ce que c est? Principes fondateurs Motivations MDA 2 Approche Ingénierie Dirigée par les modèles (IDM/MDE) Evolution Programmation orientée objets

Plus en détail

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Extensions à la formation Diagramme de timing FinEpreuve SautBarrière CourseAvantBarrière SautMur {>2 et 10 et 2 et 10 et

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

SHAREPOINT PORTAL SERVER 2013

SHAREPOINT PORTAL SERVER 2013 Powered by TCPDF (www.tcpdf.org) SHAREPOINT PORTAL SERVER 2013 Sharepoint portal server 2013 DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 CORE SOLUTIONS Réf: MS20488 Durée : 5 jours (7 heures) OBJECTIFS

Plus en détail

Résultats des projets CARROLL. Bilan et perspectives. Ingénierie logicielle orientée modèle MDD

Résultats des projets CARROLL. Bilan et perspectives. Ingénierie logicielle orientée modèle MDD Résultats des projets CARROLL Bilan et perspectives Ingénierie logicielle orientée modèle MDD Serge Salicki, THALES Workshop CARROLL 23 septembre 2005 THALES et le MDE Le MDE est dans la strategie de THALES

Plus en détail

Intégration d'applications d'entreprise (INTA)

Intégration d'applications d'entreprise (INTA) Master 2 SITW - Recherche Intégration d'applications d'entreprise (INTA) Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A Département TLSI Faculté des NTIC Université

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Vers une formalisation du métamodèle de composants Ugatze

Vers une formalisation du métamodèle de composants Ugatze Vers une formalisation du métamodèle de composants Ugatze Mourad Kmimech I,III, Mohamed Tahar Bhiri II, Philippe Aniorté I, Abdelmajid Ben Hamadou III I LIUPPA, IUT de Bayonne - Département Informatique

Plus en détail

2 TSI - 29/2009. Ingénierie Dirigée par les Modèles. 1. Introduction

2 TSI - 29/2009. Ingénierie Dirigée par les Modèles. 1. Introduction Etat de l art sur le développement logiciel basé sur les transformations de modèles Samba Diaw* Redouane Lbath* Bernard Coulette* * Université de Toulouse Laboratoire IRIT-UTM, Université de Toulouse 2-Le

Plus en détail

Rational Team Concert

Rational Team Concert Une gestion de projet agile avec Rational Team Concert Samira Bataouche Consultante, IBM Rational France 1 SCRUM en Bref Events Artifacts Development Team Source: Scrum Handbook 06 Décembre 2012 Agilité?

Plus en détail

Sun ONE Application Server Platform Summary

Sun ONE Application Server Platform Summary Sun ONE Application Server Platform Summary Version 7, Update 3 Part Number 817-5602-10 February 2004 This document provides the specifics on supported platform components for the Sun Open Net Environment

Plus en détail

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION THÈSE N O 2388 (2001) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Chapitre 5 CORBA (Common Object Request Broker Architecture)

Chapitre 5 CORBA (Common Object Request Broker Architecture) DÉVELOPPEMENT D APPLICATIONS RÉPARTIES CORBA (Common Object Request Broker Architecture) Amen Ben Hadj Ali amenbha@hotmail.com ISI-L3SIL 2011-2012 Plan 2 Architecture CORBA Le langage IDL CORBA en Java

Plus en détail

AMSI - Chapitre 3 Perspectives de modélisation et UML

AMSI - Chapitre 3 Perspectives de modélisation et UML AMSI - Chapitre 3 Perspectives de modélisation et UML Philippe Thiran Année académique 2010-2011 Notes de cours: Patrick Heymans, Isabelle Pollet & Philippe Thiran The University Of Namur Version du vendredi

Plus en détail

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved.

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved. J2EE : Services Web Stéphane Croisier, Directeur Serge Huber, Directeur Technique 13 Juin 2002 Aperçu Interopérabilité en XML/HTTP SOAP ebxml Outils d EAI JXTA Normes d interopérabilité XML SOAP/UDDI Inventé

Plus en détail

SDL: 20 ans de programmation basée modèle

SDL: 20 ans de programmation basée modèle SDL: 20 ans de programmation basée modèle Emmanuel Gaudin emmanuel.gaudin @ pragmadev.com Principes MDE, MDA et MDD: Approche orienté modèle PIM: Platform Independant Model PDM: Platform Definition Model

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Créer une architecture distribuée.net

Créer une architecture distribuée.net Ingénieurs 2000 Exposé Système & Réseaux 2006/2007 Créer une architecture distribuée.net Concepts et exemples 1. Présentation du Framework.NET 2. Créer et utiliser des services Web 3. Comment créer des

Plus en détail

Modélisation Orientée Objet / UML

Modélisation Orientée Objet / UML Modélisation Orientée Objet / UML Laurent Henocque http://laurent.henocque.free.fr/ Enseignant Chercheur ESIL/INFO France http://laurent.henocque.perso.esil.univmed.fr/ mis à jour en Octobre 2006 Licence

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs Plan du cours 2 Introduction générale EJB : les fondamentaux Programmer avec Java EE Introduction générale Michel Buffa (buffa@unice.fr), UNSA 2011, modifié par Richard Grin (version 1.0), avec emprunts

Plus en détail

Diagrammes de classe UML

Diagrammes de classe UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de classe UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux diagrammes de classe Description

Plus en détail

Modélisation: outillage et intégration

Modélisation: outillage et intégration Modélisation: outillage et intégration Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Un réel besoin Le logiciel double tous les deux ans. Le volume final rend extrêmement difficile de garantir le niveau

Plus en détail

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation Un peu d'organisation Conception et Programmation par Objets HLIN406 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 Premières semaines Contrôle des connaissances Supports 2015 Sommaire

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

Institut Francophone International. Sujet : Études de l approche d ingénierie dirigée par les modèles pour le développement des applications mobiles

Institut Francophone International. Sujet : Études de l approche d ingénierie dirigée par les modèles pour le développement des applications mobiles Institut Francophone International MÉMOIRE DE FIN D ÉTUDES MASTER D INFORMATIQUE Option : Réseaux et Systèmes Communicants Année académique : 2013-2014 Sujet : Études de l approche d ingénierie dirigée

Plus en détail

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail

Quick Start Guide This guide will help you install a base configuration of IBM Tivoli Key Lifecycle Manager.

Quick Start Guide This guide will help you install a base configuration of IBM Tivoli Key Lifecycle Manager. IBM Tivoli Key Lifecycle Manager Version 2.0.1 Quick Start Guide This guide will help you install a base configuration of IBM Tivoli Key Lifecycle Manager. National Language Version: To obtain the Quick

Plus en détail

Nouvelles Plateformes Technologiques

Nouvelles Plateformes Technologiques Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.

Plus en détail

Software Design Description

Software Design Description Software Design Description ABSTRACT: KEYWORDS: APPROVED: AUTHOR PROJECT MANAGER PRODUCT OWNER General information/recommendations A SDD provides a representation of a software system created to facilitate

Plus en détail

Architecture logicielle Pour une approche organisationnelle, fonctionnelle et technique

Architecture logicielle Pour une approche organisationnelle, fonctionnelle et technique Avant-propos 1. Objectifs 17 2. Public visé 18 3. Organisation de l ouvrage 18 Ingénierie pilotée par les modèles 1. Sémantique introductive 19 1.1 Designer 21 1.2 Finitude 21 1.3 Conjectures 22 2. Architecture

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Approche organisationnelle basée sur le paradigme agent pour la synthèse & la réutilisation des connaissances en ingénierie collaborative

Approche organisationnelle basée sur le paradigme agent pour la synthèse & la réutilisation des connaissances en ingénierie collaborative Approche organisationnelle basée sur le paradigme agent pour la synthèse & la réutilisation des connaissances en ingénierie collaborative Hind Darwich, doctorante en thèse CIFRE au sein de la société TDC

Plus en détail

M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA

M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA Matière : Architecture orientée service Enseignants : Boccon-Gibod, Godefroy Étudiants : DIALLO Amadou Tidiane GOLAB Barbara 1 IDENTIFICATION DU PROJET Projet

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail

Modélisation des processus métiers et standardisation

Modélisation des processus métiers et standardisation Modélisation des processus métiers et standardisation Octobre 2004 Table des matières Introduction... 3 Processus métier : un même mot, plusieurs domaines d application... 4 Les critères pour un standard

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

MDA (Model Driven Architecture) principes et états de l art.

MDA (Model Driven Architecture) principes et états de l art. CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE D ENSEIGNEMENT DE LYON Examen probatoire du diplôme d ingénieur C.N.A.M. en INFORMATIQUE option ingénierie et intégration informatique : système de conduite

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire Qu est-ce? Middleware XML Web Services in situ Couches de services Architecture des Web Services avec Java JAX-RPC JAXR JAXM Outils 1 Présentation

Plus en détail

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE INTRODUCTION À JAVA EE 1 LA NÉBULEUSE JAVA Java Micro Edition (JME) développement d applications embarquées Java Standard Edition (JSE) développement d applications classiques Java Enterprise Edition (JEE)

Plus en détail

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC labsticc.univ-brest.fr/pages_perso/babau/ les Design Patterns Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux Design patterns Quelques Design

Plus en détail

Les Nouveautés OpenEdge 11.2. 10 Avril 2013

Les Nouveautés OpenEdge 11.2. 10 Avril 2013 Les Nouveautés OpenEdge 11.2 10 Avril 2013 2 3 http://www.progress.com/fr-fr/openedge/openedgetour.html La Plate-Forme OpenEdge 11 Une solution Complète pour développer les Applications Métiers Open Clients/

Plus en détail

Eclipse Modeling Tools

Eclipse Modeling Tools Laboratoire d'analyse et d'architecture des Systèmes Eclipse Modeling Tools Génération d'un éditeur graphique Résumé: Un éditeur graphique est généré à partir d'un méta modèle «Ecore». La représentation

Plus en détail

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

Software Design (Guide to the SWEBOK)

Software Design (Guide to the SWEBOK) Software Design (Guide to the SWEBOK) Slide 1 Guy Tremblay Dépt. d informatique UQAM MIG8500 Hiver 2002 Aperçu 1. Qu est-ce que le Software Design? 2. Comme le SD Knowledge Area du guide est-il organisé?

Plus en détail

IFT2251 : Génie logiciel

IFT2251 : Génie logiciel 4.1. Introduction à UML IFT2251 : Génie logiciel 1. Approches de développement 2. Introduction à UML (une méthodologie basée sur l approche orientée aspect) 3. Rappel de quelques concepts objets Chapitre

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming THÈSE N O 5007 (2011) PRÉSENTÉE le 20 mai 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE MÉTHODES DE PROGRAMMATION

Plus en détail

AL5L Architecture logicielle. Séance 2 Design patterns et qualité de code

AL5L Architecture logicielle. Séance 2 Design patterns et qualité de code AL5L Architecture logicielle Séance 2 Design patterns et qualité de code Sébastien Combéfis lundi 24 novembre 2014 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution

Plus en détail

Vers une meilleure gouvernance des plateformes d ingénierie

Vers une meilleure gouvernance des plateformes d ingénierie Vers une meilleure gouvernance des plateformes d ingénierie Vincent Chartier 2012 IBM Corporation La mise en œuvre d une plateforme d ingénierie est complexe Intégrations entre produits nombreuses et complexes

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

Plus en détail

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm. WEB15 IBM Software for Business Process Management un offre complète et modulaire Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.com Claude Perrin ECM Client Technical Professional Manager

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Présentation de CORBA, RMI et SOAP

Présentation de CORBA, RMI et SOAP Présentation de CORBA, RMI et SOAP Christophe Borelly IUT GTR Béziers 2000 http://cb.iutbeziers.univ-montp2.fr Christophe.Borelly@iutbeziers.univ-montp2.fr Généralités CORBA, RMI et SOAP sont des techniques

Plus en détail

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Journée de l'action spécifique CNRS-GET Systèmes répartis et réseaux adaptatifs au contexte ( Context-Aware ) Laboratoire

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Atelier de Génie Logiciel Objecteering Définition Principes Construction des modèles UML Générations O. Boissier, SMA/G2I/ENS Mines Saint-Etienne, Olivier.Boissier@emse.fr,

Plus en détail

Le Processus Unifié appliqué au projet MOOCS

Le Processus Unifié appliqué au projet MOOCS Le Processus Unifié appliqué au projet MOOCS Violaine Louvet GTN, 7 mai 2003, Orsay Le Processus Unifie applique au projet MOOCS p. 1 L objet Objet = entité regroupant des données (attributs) et des services

Plus en détail

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK ArchiMate et l architecture d entreprise Par Julien Allaire Ordre du jour Présentation du langage ArchiMate - Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK Présentation du modèle

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

VISUAL PARADIGM. C. Présentation de Visual Paradigm For UML TRANSFORMATION DE MCD EN MLD ITÉRATIVE. Document version 1

VISUAL PARADIGM. C. Présentation de Visual Paradigm For UML TRANSFORMATION DE MCD EN MLD ITÉRATIVE. Document version 1 HEG Arc - Haute école Arc Gestion Travail de Bachelor d'informaticien de gestion VISUAL PARADIGM TRANSFORMATION DE MCD EN MLD ITÉRATIVE C. Document version 1 Créé le : 17.06.2012 Modifié le : 01.07.2012

Plus en détail

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises

Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises Jihed Touzi, Frédérick Bénaben, Hervé Pingaud Thèse soutenue au Centre de Génie Industriel - 9

Plus en détail

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

Plus en détail

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

Plus en détail

CEISAR Survey on IT education

CEISAR Survey on IT education CEISAR Survey on IT education Objectives In June 2007, the CEISAR conducted a survey to understand what company needs are in terms of training on Computer Science and Management of IS. Our objective was

Plus en détail