



















Étudies grâce aux nombreuses ressources disponibles sur Docsity
Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium
Prépare tes examens
Étudies grâce aux nombreuses ressources disponibles sur Docsity
Obtiens des points à télécharger
Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium
Communauté
Demandes de l'aide à la communauté et dissipes tes doutes concernant l'étude
Guide gratuite
Télécharges gratuitement nos guides sur les techniques d'étude, les méthodes de gestion de l'anxiété, les conseils pour la thèse réalisés par les tuteurs Docsity
Typologie: Notes
1 / 27
Cette page n'est pas visible dans l'aperçu
Ne manques pas les parties importantes!




















public int add (int a, int b) {
return a+b; }
public int NbOccurrences(String c, String mot) { int longueur=ChaineOrigine.length(); int Nb=0; for (int i=0; i
public int NbOccurrence (String c, String ChaineOrigine) throws RemoteException {
int longueur=ChaineOrigine.length(); int Nb=0; for (int i=0; i } // fin de la classe
Naming.rebind("rmi://clementine.cnam.fr:1099/Mot", rev); ... Naming.rebind("rmi://clementine.cnam.fr:1099/Addition", r);
Naming.rebind("rmi://clementine.cnam.fr: 2001 /Mot", rev); ... Naming.rebind("rmi://clementine.cnam.fr: 2001 /Addition", r);
Clementine> javac *.java
Clementine> ls ObjetStringInterface.java ObjetString.java Serveur.java ObjetCalculInterface.java ObjetCalcul.java
ObjetStringInterface.class ObjetString.class Serveur.class ObjetCalcul.class ObjetCalculInterface.class fichier.policy
Clementine> rmic –v1.2 ObjetCalcul Clementine> rmic –v1.2 ObjetString Clementine> ls ObjetStringInterface.java ObjetString.java Serveur.java ObjetCalculInterface.java ObjetCalcul.java fichier.policy
ObjetStringInterface.class ObjetString.class Serveur.class ObjetCalcul.class ObjetCalculInterface.class ObjetString_Stub.class ObjetCalcul_Stub.class
Clementine>more fichier.policy grant {
ObjetCalculInterface a= (ObjetCalculInterface) Naming.lookup("rmi://clementine.cnam.fr:2001/Ad
dition"); somme = a.add(Nb, somme); } System.out.println(" Dans la phrase /"+ligne+"/, il y a "+somme+" occurrences de " + c);
}catch (Exception e) { System.out.println("Erreur d'acces a un objet distant"); System.out.println(e.toString()); } } }
AutreMachine>ls Client.java ObjetCalculInterface.class ObjetStringInterface.class
ObjetCalcul_Stub.class Objetstring_Stub.class fichier.policy
AutreMachine>javac Client.java
AutreMachine>java –Djava.security.policy=fichier.policy Client e il etait une fois dans l’ouest Dans la phrase /e il etait une fois dans l’ouest/, il y a 3 occurrences de e
AutreMachine>
module ServicesApp { exception NbDeMotsIllegal { };
interface ObjetString { long NombreDeMots(in string chaine) raises (NbDeMotsIllegal); long NbOccurrences(in string c, in string mot); };
interface ObjetCalcul { attribute long somme; void increment(in long pas); };
package ServicesApp;
machineA> ls machineA> Specification.idl machineA> idlj -fall Specification.idl machineA>ls Specification.idl ServicesApp machineA> ls ServicesApp _ObjetCalculStub.java ObjetCalculHolder.java _ObjetStringStub.java ObjetCalculOperations.java NbDeMotsIllegal.java ObjetString.java NbDeMotsIllegalHelper.java ObjetStringHelper.java NbDeMotsIllegalHolder.java ObjetStringHolder.java ObjetCalcul.java ObjetStringOperations.java ObjetCalculHelper.java ObjetCalculPOA.java ObjetStringPOA.java
machineA>
machineB> ls machineB> Specification.idl machineB> idlj -fall Specification.idl machineB>ls machineA>ls Specification.idl ServicesApp machineA> ls ServicesApp _ObjetCalculStub.java ObjetCalculHolder.java _ObjetStringStub.java ObjetCalculOperations.java NbDeMotsIllegal.java ObjetString.java NbDeMotsIllegalHelper.java ObjetStringHelper.java NbDeMotsIllegalHolder.java ObjetStringHolder.java ObjetCalcul.java ObjetStringOperations.java ObjetCalculHelper.java ObjetCalculPOA.java ObjetStringPOA.java
machineB>
import java.util.StringTokenizer;
import org.omg.CORBA.ORB; import org.omg.CosNaming.NameComponent; import org.omg.CosNaming.NamingContextExt;
import org.omg.CosNaming.NamingContextExtHelper; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper;
import ServicesApp.ObjetCalculPOA; import ServicesApp.ObjetString;
import ServicesApp.ObjetStringHelper; import ServicesApp.ObjetStringPOA;
public class Serveur { public static void main(String args[]) { try { // creer et initialiser l'ORB ORB orb=ORB.init(args, null);
//obtenir la reference de rootpoa & activer le POAManager POA rootpoa =
POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_POAManager().activate();
// creer une instance du servant et l'enregistrer dans l'ORB ObjetStringServant revRef1= new ObjetStringServant();
//obtenir la reference CORBA du servant
org.omg.CORBA.Object ref1 = rootpoa.servant_to_reference(revRef1); ObjetString href = ObjetStringHelper.narrow(ref1);
// recuperer le contexte de nommage org.omg.CORBA.Object objRef= orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
//bind the Object Reference in Naming
String name1 = "MyString"; NameComponent path1[] = ncRef.to_name( name1 ); ncRef.rebind(path1, href);
//bind the Object Reference in Naming
String name2 = "MyComputing"; NameComponent path2[] = ncRef.to_name( name2 ); ncRef.rebind(path2, href);
System.out.println("ReverseServer est pret et est en attente ...");
// wait for invocations from clients orb.run();
catch(Exception e) {
System.err.println("Erreur : "+e); e.printStackTrace(System.out);
machineB>
import java.io.BufferedReader; import java.io.InputStreamReader;
import java.util.StringTokenizer;
import org.omg.CORBA.ORB;
import org.omg.CosNaming.NamingContextExt; import org.omg.CosNaming.NamingContextExtHelper;
import ServicesApp.ObjetCalcul; import ServicesApp.ObjetCalculHelper; import ServicesApp.ObjetString;
import ServicesApp.ObjetStringHelper;
public class Client {
public static void main (String args[]) { try { // creer et initialiser l'ORB ORB orb = ORB.init(args, null);
//recuperer le contexte de nommage org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
// demander la reference de l'objet au service de noms String nom1 = "MyString"; ObjetString Ref1 = ObjetStringHelper.narrow
(ncRef.resolve_str(nom1));
// demander la reference de l'objet au service de noms
String nom2 = "MyComputing"; ObjetCalcul Ref2 = ObjetCalculHelper.narrow (ncRef.resolve_str(nom2));
// faire appel aux objets servant BufferedReader entree = new BufferedReader(new InputStreamReader(System.in)); String ligne= entree.readLine(); //String ligne="e est une enfant malade" ;
try { int nbMots=Ref1.NombreDeMots(ligne); System.out.println("La phrase saisie est composee de " + nbMots + " mots"); } catch (ServicesApp.NbDeMotsIllegal e) { System.out.println("Erreur : " + e); System.exit(0); }
StringTokenizer st= new StringTokenizer(ligne); String c= st.nextToken(); String mot=st.nextToken(); Ref2.somme(Ref1.NbOccurrences(c, mot));
while(st.hasMoreTokens()) { mot=st.nextToken();
Ref2.increment(Ref1.NbOccurrences(c, mot)); }
System.out.println("Dans la phrase /" + ligne + "/, il y a " +
Ref2.somme()+ " occurrences de " + c);
catch(Exception e) { System.out.println("Erreur : " + e); e.printStackTrace(System.out); } } // fin du main
} // fin de la classe
package ServicesApp;
public final class NbDeMotsIllegal extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public NbDeMotsIllegal () { } // ctor
public String toString() { return ("La chaine doit etre composee d'au moins deux mots!"); }
} // class NbDeMotsIllegal
2000 e il etait une fois dans l'ouest La phrase saisie est composee de 7 mots Dans la phrase /e il etait une fois dans l'ouest/, il y a 3 occurrences de e
Commande de Matériel Vous êtes sur un site de commerce électronique Prenez le soin de vous inscrire
Tapez votre nom : Tapez votre mot de passe :
import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Hashtable;
import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.rmi.PortableRemoteObject; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;
public class ConfigurationServlet extends HttpServlet { private static final String CONTENT_TYPE = "text/html"; private ConfigHome configHome;
// à l'initialisation de la servlet, on récupère la référence de // l’interface Home de Config
out.println("ConfigServlet"); out.println(" Voici la Configuration que vous
avez choisie pour votre Machine "); Hashtable list = cf.listerCaracteristique(); if (list != null){ out.println("
=> " + list.get("MC")+ "
"); out.println("=> " +
list.get("PROC")+ "
"); out.println("=> " + list.get("CD_WRITER")+ "
");out.println("
=> " + list.get("DVD_WRITER")+ "
"); out.println("=> " +
list.get("SE")+ "
");}else out.println("
=> AUCUN ELEMENT SELECTIONNE !!
"); out.println(""); out.flush() ; out.close() ;public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println ("ENTRE DANS POST") ; response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter();
Config cf = getConfigRef(request);
cf.setNomClient(request.getParameter("nom")); cf.setPassword(request.getParameter("passwd"));
out.println("ConfigServlet");
out.println(" Veuillez choisir la Configuration de votre Machine "); afficherFormulaire(out); out.println(""); out.flush() ; out.close() ; }
// une méthode auxiliaire qui permet de générer le formulaire private void afficherFormulaire(PrintWriter out) { out.println("");
out.println("Donnez la taille de la Mémoire : "); out.println(""); out.println(""); out.println(""); out.println(" "); out.println("Donnez la fréquence du Processeur : "); out.println("");
out.println(""); out.println(""); out.println(" "); out.println("Avec un Graveur de :"); out.println(" CD/ROM"); out.println(" DVD"); out.println(" Avec un Systeme d'Exploitation :"); out.println(" Windows"); out.println(" Linux "); out.println(""); out.println(""); out.println(""); // MC, PROC, CD_WRITER,DVD_WRITER , SE