COURS

Acces via CAS (compte INSA) https://moodle.insa-toulouse.fr/login/index.php

Acces direct (compte moodle) https://moodle.insa-toulouse.fr/login/index.php?authCAS=NOCAS

yBPL http://ks367114.kimsufi.com:8088/moodle/

MIDDLEWARE ET COMPOSANTS

EJB

Liens utiles (CORBA, J2EE, EJB)

Interoperabilite EJB /CORBA

Manips seances 1, 2 et 3 (SOA et ASI)

Manips séances 4 et 5 (ASI)

Parcours Pédagogique de CORBA

Connaissances Basiques (au choix sous ORBACUS ou JACORB):

B : Applications basiques (sans factory)

  • (Niveau B0) Savoir utiliser une application : configuration des scripts (*.bat) pour compiler et exécuter
Objectif : savoir installer et configurer vous-même un broker
Moyen de vous évaluer : Déplacer le répertoire ORBACUS et faire les modifs des *.bat pour refaire marcher l'application
  • (Niveau B1) Etant donnée une interface IDL, Savoir écrire le client qui utilise un objet CORBA dont l'IOR est stockée dans un fichier, par exemple "Hello.ior"
Objectif : savoir modifer/développer une partie d'une application
Moyen de vous évaluer : modifier le nom de l'interface HELLO en GOODDAY et refaire marcher l'application
  • (Niveau B2) Etant donnée une interface IDL, Savoir écrire les classes java qui l'implantent (et le serveur qui les créent)
Objectif : savoir développer entièrement une application
Moyen de vous évaluer : copie le répertoire de l'application HELLO.

Définir interface IDL qui permet d'additionner à distance 2 entiers (dans le même ficheier Hello.idl). Modifier les classe Server, Client, "Servant" pour faire fonctionner la nouvelle aplication

F: Applications avec Factory

  • (Niveau F1) Etant donnée une interface IDL, Savoir écrire le client qui utilise un objet Factory CORBA dont l'IOR est stockée dans un fichier, par exemple "Factory.ior", pour créer un objet CORBA et l'utiliser comme dans B1
  • (Niveau F2) Etant donnée une intreface IDL, Savoir écrire les classes java qui l'implantent (et le serveur qui les créent)

Connaissances Evoluées (au choix sous ORBACUS ou JACORB):

N : Utilisation d'un serveur de noms dont l'IOR est stockée dans un fichier, par exemple "NS.ior"

  • (Niveau N1) Etant donnée une interface IDL, Savoir écrire le client qui utilise un objet CORBA enregistré sous le contexte racine du "Serveur de Noms" sous un nom connu
  • (Niveau N2) savoir enregistrer un objet CORBA sous le contexte racine du "Serveur de Noms"
  • (Niveau N3) : idem que Niveau N1, mais dans un sous contexte
  • (Niveau N4) : idem que Niveau N2, mais dans un sous contexte

Techniques de Description Formelle (TDF) sous LINUX

Références internationales :

Sujets TP

CHANGEMENT : Etape 1 de l'enoncé

chemins d'accès (à utiliser plutôt que celui spécifié dans le sujet)

sources LOTOS à compléter pour le TP1

CHANGEMENT : Etape 2 de l'enoncé

  • commande pour compiler les types de données de lotos : "caesar.adt CHOIX.lot"
  • commande pour compiler la specification Lotos et generer le LTS : "caesar CHOIX.lot" (résultat CHOIX.bcg)
  • commande pour reduire le LTS "bcg_min -branching CHOIX.bcg" (résultat de la réduction dans le même fichier CHOIX.lot, sinon on peut aussi ecrire : "bcg_min -branching CHOIX.bcg CHOIX-reduit.bcg")
  • commande pour visualiser le LTS sous format bcg : "bcg_edit CHOIX.bcg" ; ensuite avec le bouton droite sur chaque arc choisir "symmetrical curve"

Aide syntaxe LOTOS

(* attendre un message x de type donnee sur la porte insup *)(* puis emmettre le x sur la porte s *)(* puis appeler récursivement entite *)

insup ? x: donnee ; s ! x; entite[insup,outsup,e,s]

(*attendre un ack sur e *) (*puis appeler entite*)

e?y:controle ; ([y eq ack ] -> entite[insup,outsup,e,s])

(*emettre un ack sur s *) (* puis appeler entite*)

s ! ack; entite[insup,outsup,e,s]

=================================== Paramètres de processus

entite[....] (p:Bool) : noexit :=

(* if (p) then comportement1 else process2*)

[p] -> (...process1... )

[]

[not(p)] -> (..process2..)