INFO
Sylabus
OMG CORBA, cz. 4
1. Wołanie statyczne: krok po kroku
2. Nasz pierwszy program w CORBA: Counter
3. Counter: wyrażenie IDL
4. Counter: klasy i interfejsy Java generowane przez prekompilator
5. Jakie to są pliki?
6. Counter: Pieniek klienta generowany automatycznie
7. Counter: Szkielet serwera generowany automatycznie
8. Counter: interfejs w Java generowany z IDL
9. Counter: przykład klasy implementującej interfejs w IDL
10. Counter: Główny program serwera
11. Counter: Szkielet wypełniony implementacją
12. Counter: program klienta (nasza aplikacja)
13. Wołanie dynamiczne: krok po kroku
14. Protokoły pomiędzy ORB-ami
15. Rodzaje usług obiektowych
16. Zasady projektowania usług obiektowych
Skorowidz
Wyście:
Wyklad IV. Wprowadzenie do OMG CORBA, część 4 (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

8. Counter: interfejs w Java generowany z IDL

Count
package Counter; 
public interface Count extends org.omg.CORBA.Object { 
    public void sum(int sum); 
    public int sum(); 
    public int increment(); 
}

Musimy napisać kod, który zaimplementuje ten interfejs.


9. Counter: przykład klasy implementującej interfejs w IDL

_example_Count

Określany jako
“example servant”
- usługodawca
package Counter; 
public class _example_Count 
                extends Counter._CountImplBase { 
  public _example_Count(java.lang.String name) { 
    super(name); 
  } 
  public _example_Count() { 
    super(); 
  } 
  public int increment() { 
    // implement operation... 
    return 0; 
  } 
  public void sum(int sum) { 
    // implement attribute writer... 
  } 
  public int sum() { 
    // implement attribute reader... 
    return 0; 
  } 
}

10. Counter: Główny program serwera

Musimy napisać ten program wg pewnego wzorca.

Inicjalizuje ORB, inicjalizuje BOA, tworzy obiekt count po stronie serwera i rejestruje ten obiekt w Repozytorium Interfejsów
// CountServer.java: The Count Server main program 
class CountServer 
{ static public void main(String[] args) 
  { try 
    { // Initialize the ORB 
      org.omg.CORBA.ORB orb = 
                org.omg.CORBA.ORB.init(args, null); 
      // Initialize the BOA 
      org.omg.CORBA.BOA boa = orb.BOA_init(); 
      // Create the Count object 
      CountImpl count = new CountImpl("My Count"); 
      // Export to the ORB the newly created object 
      boa.obj_is_ready(count); 
      // Ready to service requests 
      boa.impl_is_ready(); 
      } 
      catch(org.omg.CORBA.SystemException e) 
      { System.err.println(e); 
      } 
   } 
}
« poprzedni punkt   następny punkt »