Thomas Karl Osten GMD Tour Accounting Tariffing GUI Layer

Home Page
Site Map


Work History
Job Tour
GMD Tour


 <    > 

Contents
Survey

DPE 1
DPE 1 Tools
Generator 1
Monitoring
DPE 2
  Anleitung
  Auth GUIs
  Accounting
DPE 2 Tools
Generator 2
GUI Kit
Subscription 2
ODL Editor

GMD

Accounting Tariffing GUI Zwischenschicht

Inhalt

  • 1. Proxy - Interface Zugriffe - Tabelle: NameServer Namensraeume
  • 2. Accounting / Tariffing Proxy-Dateien
  • 3. Exception Handhabungs Varianten

  • 1. Proxy - Interface Zugriffe

    Die Proxies benoetigen vier Varianten, an die Referenzen des/der Interfaces zu kommen, deren Requests sie dann anbieten koennen. Diese Uebergabe kann z.T. schon bei der Instanziierung oder spaeter per Methodenaufruf erfolgen.

    Interface-Referenz via Name-Server

    Die Proxies bekommen die IOR (String) des NameServers uebergeben.

  • a. Dort holen sie sich das Initial-Interface des CO und benutzen es, um das fuer spaetere Requests benoetigte operationale Interface des CO zu erlangen.
  • b. Dort holen sie sich gleich das benoetigte operationale Interface des CO.
  • Accounting benoetigt z.T. die Variante a.
    Tariffing benoetigt die Variante b.
    Subscription benoetigt (vorlaeufig) Variante b.

    Interface-Referenz per Request

    Zwei weitere Varianten zur Erlangung einer Interface-Referenz sind, daß das Proxy die Interface-Referenz

  • c. mittels eines Methodenaufrufs von einem anderen Objekt der Application-Schicht bekommt, dem sie (als IOR-String) als Rueckgabewert eines Requests uebergeben wurde,

  • oder
  • d. mittels eines Requests von einem CO erhaelt. Dazu muss das Proxy erst selber ein IDL-ORB-Interface erzeugt und exportiert haben ("aktives Proxy").
  • Accounting benoetigt z.T. die Variante c. Subscription benoetigt (kuenftig) Variante d.

    Accounting und Tariffing

    Proxy BasicTariffMgmtIFAccess spiegelt (alle) Methoden des Interfaces i_BasicTarifMgmt (des TariffMgmt CO), das es sich aus dem NameSerice aus dem Namensraum ("TINAPlatform", "TariffManagement", "BasicTariffMgmt") holt.

    Proxy UserPlanTariffMgmtIFAccess spiegelt (alle) Methoden der Interfaces i_UserPlanTariffMgmt (des TariffMgmt CO), das es sich aus dem NameSerice aus dem Namensraum ("TINAPlatform", "TariffManagement", "UserPlanTariffMgmt") holt.

    Proxy ChgMgmtIFAccess spiegelt (eine Auswahl der) Methoden des Interfaces i_ChgMgmt (des ChgControl CO), das es sich vom i_ChgControlInit Interface besorgt, das es vom NameService aus dem Namensraum ("TINAPlatform", "AccountingChargeControl") holt.

    Proxy ChargeQueryIFAccess spiegelt (eine Auswahl der) Methoden des Interfaces i_ChargeQuery (des OnlineCharge CO), das es von der Application-Schicht nach seiner Instanziierung uebergeben bekommt (d.h. die Application-Schicht holt das i_ChargeQuery Interface mittels des InitialInterfaces des OnlineCharge CO und reicht es ans Proxy weiter).

    Tabelle: NameServer Namensraeume
    --------------------------------------------------------------------------------------------
    Namensraum-Hierarchie im NS             			->      ORBA-Objekt
    --------------------------------------------------------------------------------------------
    TINAPlatform
    		AccountingChargeControl				->      i_ChgControlInit
    		TariffManagement
    					UserPlanTariffMgmt	->      i_UserPlanTariffMgmt
    					BasicTariffMgm          ->      i_BasicTarifMgmt        
    --------------------------------------------------------------------------------------------
    

    2 Accounting / Tariffing Proxy-Dateien

    Java Interfaces:

    (spezifizieren die Methoden der IF Access Klassen)

    UserPlanTariffMgmtInterface.java
    BasicTariffMgmtInterface.java
    ChargeQueryInterface.java
    ChgMgmtInterface.java

    TINAPlatform IF Access:

    (realisieren den IF Zugriff und die Requests)

    BasicTariffMgmtIFAccess.java
    UserPlanTariffMgmtIFAccess.java
    ChgMgmtIFAccess.java
    ChargeQueryIFAccess.java

    Exceptions:

    DPESystemException.java
    AccountingException.java
    TariffMgmtException.java
    SubscriptionException.java

    Oberklassen:

    IFAccess.java
    IFAccessInterface.java
    IFAccessException.java

    Hashtable Templates:

    basicTariffTemplate.txt
    userPlanTemplate.txt
    userChargeTemplate.txt

    Texte zu Konzept und Implementierung:

    ProxyKonzept.txt
    ActTafIDLFragen.txt (offene Fragen)
    ActTafProxyDateien.txt (dieser Abschnitt)


    3. Exception Handhabungs Varianten

    Exception werden in TINA-COs erzeugt (geworfen) und wandern durch die Zwischen-Schichten

    GUI Application-Schicht Proxy (Interface-Access-Schicht) TINA-CO 

    bis zum GUI.

    Wenn das CO eine Exception wirft, kann das Proxy diese entweder

  • 1. "weiter nach oben werfen", d.h. eine IDL-deklarierte Exception landet in der Schicht über den Proxies
  • oder

  • 2. auffangen und statt dessen
    • 2.1 eine "eigene entsprechende Exception werfen", d.h. für jede IDL-spezifizierte Exception wird eine entsprechende Java class implementiert

    oder

      2.2 eine spezielle Java-Zwischenschicht-Exception" (die im Text ihren Ursprung angibt) auslösen

    oder

  • 3. auffangen und statt dessen "eine Meldung in die Console schreiben" z.B.
       catch (Act.e_AccountingException ex) { System.err.println ("Exception: AccountingException " + ex); }
    
  • Variante 1. widerspricht der Abkoppelung der GUIs von CORBA-Strukturen.
    Variante 3. ist vorläufig das einfachste (der evtl. Rückgabewert eines gescheiterten Requests (ans GUI/die Application-Schicht) wäre "null").
    Variante 2.1 soll möglichst im März erreicht werden.

    98-02-05, tko