Up ! Common Object Request Broker Architecture

Types et interfaces d'Up ! Virtual Technical Machine exposés en interfaces natives Corba...
Correspondance entre Corba et Up ! Application System...
Correspondance entre Up ! Application System et Corba...

Les classes sont décrites dans les fichiers Interface Definition Language (IDL) dans le répertoire ${UPS_HOME}/upscrb/upscrb/${UPS_LANGUAGE}.

Quelques exemples d'emploi de ces interfaces sont présentés dans la rubrique Encapsulation des modules en technologie Up ! Virtual Technical Machine en modules Corba...

Repository IdInterface ou objet
IDL:IUpsBiz:1.1Interface IUpsBiz d'Up ! Business.

Repository IdInterface ou objet
IDL:IUpsCrb:1.1Interface IUpsCrb d'Up ! Common Object Request Broker Architecture.

Repository IdInterface ou objet
IDL:IUpsCmp:1.1Interface IUpsCmp d'Up ! Compiler.

Repository IdInterface ou objet
IDL:IUpsCom:1.1Interface IUpsCom d'Up ! Component Object Module.

Repository IdInterface ou objet
IDL:IUpsDgn:1.1Interface IUpsDgn d'Up ! Document Generator.

Repository IdInterface ou objet
IDL:IUpsJav:1.1Interface IUpsJav d'Up ! Java.

Repository IdInterface ou objet
IDL:IUpsKrn:1.1Interface IUpsKrn d'Up ! Kernel.
IDL:IUpsKrnBinaire:1.1Interface IUpsKrnBinaire.
IDL:IUpsKrnCaractere:1.1Interface IUpsKrnCaractere.
IDL:IUpsKrnDate:1.1Interface IUpsKrnDate.
IDL:IUpsKrnEntier:1.1Interface IUpsKrnEntier.
IDL:IUpsKrnEnumere:1.1Interface IUpsKrnEnumere.
IDL:IUpsKrnException:1.1Interface IUpsKrnException.
IDL:IUpsKrnObjet:1.1Interface IUpsKrnObjet.
IDL:IUpsKrnReel:1.1Interface IUpsKrnReel.
IDL:IUpsKrnType:1.1Interface IUpsKrnType.
IDL:IUpsKrnListe:1.1Interface IUpsKrnListe.
IDL:IUpsKrnReference:1.1Interface IUpsKrnReference.
IDL:IUpsKrnTableau:1.1Interface IUpsKrnTableau.
IDL:IUpsKrnArbreBinaire:1.1Interface IUpsKrnArbreBinaire.
IDL:IUpsKrnEntrepot:1.1Interface IUpsKrnEntrepot.
IDL:IUpsKrnModule:1.1Interface IUpsKrnModule.
IDL:IUpsKrnAppel:1.1Interface IUpsKrnAppel.
IDL:IUpsKrnTransaction:1.1Interface IUpsKrnTransaction.
IDL:IUpsKrnOctet:1.1Interface IUpsKrnOctet.
IDL:IUpsKrnIIterateur:1.1Interface IUpsKrnIIterateur.
IDL:IUpsKrnIEspaceMetre:1.1Interface IUpsKrnIEspaceMetre.
IDL:IUpsKrnIAlgebreCommutative:1.1Interface IUpsKrnIAlgebreCommutative.
IDL:IUpsKrnICorpsCommutatif:1.1Interface IUpsKrnICorpsCommutatif.
IDL:IUpsKrnBooleen:1.1Interface IUpsKrnBooleen.

Nota bene :
L'interface Booleen correspond au clonage de l'interface Enumere en se restreignant aux booléens.

Repository IdInterface ou objet
IDL:IUpsMat:1.1Interface IUpsMat d'Up ! Mathematical.
IDL:IUpsMatDegre:1.1Interface IUpsMatDegre.
IDL:IUpsMatRadian:1.1Interface IUpsMatRadian.

Repository IdInterface ou objet
IDL:IUpsMsn:1.1Interface IUpsMsn d'Up ! Microsoft Network.
IDL:IUpsMsnCanalMicrosoftNetwork:1.1Interface IUpsMsnCanalMicrosoftNetwork.

Repository IdInterface ou objet
IDL:IUpsNap:1.1Interface IUpsNap d'Up ! Named Pipes.
IDL:IUpsNapCanalTuyauNomme:1.1Interface IUpsNapCanalTuyauNomme.

Repository IdInterface ou objet
IDL:IUpsNls:1.1Interface IUpsNls d'Up ! Natural Language Support.

Repository IdInterface ou objet
IDL:IUpsNet:1.1Interface IUpsNet d'Up ! Network.
IDL:IUpsNetCanal:1.1Interface IUpsNetCanal.
IDL:IUpsNetServeur:1.1Interface IUpsNetServeur.

Repository IdInterface ou objet
IDL:IUpsOrb:1.1Interface IUpsOrb d'Up ! Object Request Broker.
IDL:IUpsOrbAnnuaire:1.1Interface IUpsOrbAnnuaire.
IDL:IUpsOrbNiveauAnnuaire:1.1Interface IUpsOrbNiveauAnnuaire.

Repository IdInterface ou objet
IDL:IUpsSec:1.1Interface IUpsSec d'Up ! Security Manager.
IDL:IUpsSecUtilisateur:1.1Interface IUpsSecUtilisateur.
IDL:IUpsSecRole:1.1Interface IUpsSecRole.
IDL:IUpsSecHabilitations:1.1Interface IUpsSecHabilitations.
IDL:IUpsSecHabilitationUnitaire:1.1Interface IUpsSecHabilitationUnitaire.
IDL:IUpsSecLicences:1.1Interface IUpsSecLicences.
IDL:IUpsSecLicenceUniatire:1.1Interface IUpsSecLicenceUnitaire.
IDL:IUpsSecQuotas:1.1Interface IUpsSecQuotas.
IDL:IUpsSecQuotaUnitaire:1.1Interface IUpsSecQuotaUnitaire.

Repository IdInterface ou objet
IDL:IUpsSys:1.1Interface IUpsSys d'Up ! System.
IDL:IUpsSysFichierListe:1.1Interface IUpsSysFichierListe.
IDL:IUpsSysProcessusListe:1.1Interface IUpsSysProcessusListe.
IDL:IUpsSysUniteListee:1.1Interface IUpsSysUniteListee.
IDL:IUpsSysTache:1.1Interface IUpsSysTache.
IDL:IUpsSysSynchronisation:1.1Interface IUpsSysSynchronisation.
IDL:IUpsSysFileDAttente:1.1Interface IUpsSysFileDAttente.
IDL:IUpsSysTravail:1.1Interface IUpsSysTravail.
IDL:IUpsSysFichier:1.1Interface IUpsSysFichier.
IDL:IUpsSysSegment:1.1Interface IUpsSysSegment.
IDL:IUpsSysPeriodeCalendrier:1.1Interface IUpsSysPeriodeCalendrier.
IDL:IUpsSysCalendrier:1.1Interface IUpsSysCalendrier.
IDL:IUpsSysFlux:1.1Interface IUpsSysFlux.

Repository IdInterface ou objet
IDL:IUpsTrn:1.1Interface IUpsTrn d'Up ! Translator.

Repository IdInterface ou objet
IDL:IUpsTcp:1.1Interface IUpsTcp d'Up ! Transmission Control Protocol.
IDL:IUpsTcpCanalTcpIp:1.1Interface IUpsTcpCanalTcpIp.

Revenir en haut de la page...

CorbaUp ! Application System
Alias déclaré par typedef.Alias déclaré par Type ... = ... ; .
Attribut private.Propriété en lecture seule.
Attribut public.Propriété en lecture et écriture.
Constante déclarée par const.Constante déclarée par Constante.
Constructeur déclaré par factory.Constructeur pour l'interface.
Contexte déclaré par contexte.Ignoré.
Exception déclarée par exception.Exception déclarée par Exception.
Exception déclarée par raise.Ignoré.
Interface déclarée par interface.Type déclaré par Type.
Méthode fonctionnelle.Méthode fonctionnelle déclarée par Fonction.
Méthode procédurale.Méthode procédurale déclarée par Procedure.
Module déclaré par module.Sous-module déclaré par Module.
Séquence.Tableau déclaré par TableauDe.
Structure déclarée par struct.Type déclaré par Type.
Tableau déclaré par [ ].Tableau déclaré par TableauDe.
Type déclaré par valuetype.Type déclaré par Type.
Union déclarée par union.Type encapsulant un .Selon ... Fin Selon.

CorbaUp ! Application System
anyObjet
booleanBoolean
char
char
[]
Entier
Caractere
fixedReel
floatReel
longEntier
long doubleReel
long longEntier
ObjectObjet
octet
octet
[]
Entier
Binaire
shortEntier
stringCaractere
unsigned charEntier
unsigned longEntier
unsigned long longEntier
unsigned shortEntier
ValueBaseObject
wstringCaractere
wchar
wchar
[]
Entier
Caractere

CorbaUp ! Application System
abstractDéfinition d'une interface par Interface au lieu d'un type par Type.
inEntree
inoutEntree Sortie
outSortie
readonlyLecture Prive

CorbaUp ! Application SystemApplication Program Interface
Méthode CorbaAppelMéthode IUpsKrn::CorbaMethod2Appel.
Le prototype correspond à la signature de la méthode selon la convention de Interface Definition Language (IDL).
booleanBooleenMéthode IUpsKrn::CorbaBoolean2Booleen.
char< >CaractereMéthode IUpsKrn::CorbaCharSeq2Caractere.
doubleReelMéthode IUpsKrn::CorbaDouble2Reel.
floatReelMéthode IUpsKrn::CorbaFloat2Reel.
longEntierMéthode IUpsKrn::CorbaLong2Entier.
long doubleReelMéthode IUpsKrn::CorbaLongDouble2Reel.
long longEntierMéthode IUpsKrn::CorbaLongLong2Entier.
octet< >BinaireMéthode IUpsKrn::CorbaOctetSeq2Binaire.
shortEntierMéthode IUpsKrn::CorbaShort2Entier.
stringBinaire
Caractere
Date
Méthode IUpsKrn::CorbaString2Binaire.
Méthode IUpsKrn::CorbaString2Caractere.
Méthode IUpsKrn::CorbaString2Date.
unsigned longEntierMéthode IUpsKrn::CorbaUnsignedLong2Entier.
unsigned long longEntierMéthode IUpsKrn::CorbaUnsignedLongLong2Entier.
unsigned shortEntier
Enumere
Méthode IUpsKrn::CorbaUnsignedShort2Entier.
Méthode IUpsKrn::CorbaUnsignedShort2Enumere.
wchar< >CaractereMéthode IUpsKrn::CorbaWCharSeq2Caractere.
wstringCaractereMéthode IUpsKrn::CorbaWString2Caractere.

Le démarrage et l'arrêt des bibliothèques Corba sont réalisés automatiquement par Up ! Application System.

Revenir en haut de la page...

Up ! Application SystemCorba
Alias déclaré par Type ... = ... ;.Alias déclaré par typedef.
Constante déclarée par Constante.Constante déclarée par const.
Définition de variables ou de traitements globaux.Interface spécifique pour le module.
Enuméré déclaré par Enumere.Enuméré déclaré par enum.
Exception déclarée par Exception.Objet d'interface CORBA::Exception.
File d'attente déclarée par FileDAttente.Objet d'interface IUpsSysFileDAttente.
Importation déclarée par ImporterModule.Inclusion de l'idl et des fichiers h.
Méthode fonctionnelle déclarée par Fonction.Méthode fonctionnelle.
Méthode procédurale déclarée par Procedure.Méthode procédurale.
Entrepot déclarée par Entrepot.Objet d'interface IUpsKrnEntrepot.
Référence déclarée par ReferenceDe.Objet d'interface IUpsKrnReference.
Selon ... Fin Selon.Union déclarée par union.
Tableau déclaré par TableauDe.Tableau déclaré par [ ].
Type déclaré par Type ou par Interface.Interface déclarée par interface.

Up ! Application SystemCorba
Booleen.boolean si non nul sinon IUpsKrnBooleen.
Enumere.unsigned short si non nul sinon IUpsKrnEnumere.
Caractere.IUpsKrnCaractere.
Date.IUpsKrnDate.
Entier.long si non nul sinon IUpsKrnEntier.
Reel.double si non nul sinon IUpsKrnReel.

Up ! Application SystemCorba
Entreein.
Entree Sortieinout.
Sortieout.
Définition d'une propriété en lecture.readonly.

Up ! Application SystemCorbaApplication Program Interface de Up ! Kernel
AppelMéthode CorbaDirect par génération.
Binaireoctet< >
string
Méthode IUpsKrn::Binaire2OctetSeq.
Méthode IUpsKrn::Binaire2CorbaOctetSeq.
BooleenbooleanMéthode IUpsKrn::Booleen2CorbaBoolean.
Caracterechar< >
string
wstring
Méthode IUpsKrn::Caractere2CorbaCharSeq.
Méthode IUpsKrn::Caractere2CorbaString.
Méthode IUpsKrn::Caractere2CorbaWString.
DatestringMéthode IUpsKrn::Date2CorbaString.
Enumereunsigned shortMéthode IUpsKrn::Enumere2CorbaUnsignedShort.
Entiershort
unsigned short
long
unsigned long
long long
unsigned long long
Méthode IUpsKrn::Entier2CorbaShort.
Méthode IUpsKrn.Entier2CorbaUnsignedShort.
Méthode IUpsKrn::Entier2CorbaLong.
Méthode IUpsKrn::Entier2CorbaUnsignedLong.
Méthode IUpsKrn::Entier2CorbaLongLong.
Méthode IUpsKrn::Entier2CorbaUnsignedLongLong
Reelfloat
double
long double
Méthode IUpsKrn::Reel2CorbaFloat.
Méthode IUpsKrn::Reel2CorbaDouble.
Méthode IUpsKrn::Reel2CorbaLongDouble.

Nota bene :
Le démarrage de Up ! Virtual Technical Machine est réalisé automatiquement par Corba.

Le chargement de chaque module employé est réalisé automatiquement par Corba.
Le déchargement de chaque module employé est réalisé automatiquement par Corba.

Chaque Application Program Interface (API) est susceptible de lancer une exception CORBA::Exception qu'il est obligatoire de gérer.

L'arrêt de Up ! Virtual Technical Machine est réalisé automatiquement par Corba.

Voici un exemple :

#include <CORBA.h>
#include <mico/string.h>
#include <upskrn.h>
#include <upscrbexception.h>

using namespace std;

static CORBA::ORB *pOrb;
static CORBA::BOA *pBoa;
static CORBA::Object *pObjet;
static IUpsKrn *pIUpsKrn;

/****************************************************************/
int main(int argc, char *argv[])
/****************************************************************/
{
pOrb=CORBA::ORB_init(argc, argv, "mico-local-orb");
if (!pOrb)

pBoa=pOrb->BOA_init(argc, argv, "mico-local-boa");
if (!pBoa) pObjet=pOrb->bind("IDL:IUpsKrn:1.1");
if (!pObjet) pIUpsKrn=IUpsKrn::_narrow(pObjet);
if (!pObjet)
try catch (UpsCrbException *E) catch (CORBA::Exception &e)
CORBA::release(pIUpsKrn);
pIUpsKrn=NULL;
delete pBoa;
delete pOrb;
return(0);
}

Nota bene :
Tous les modules Corba doivent être compilés avec les structures alignées sur quatre octets sur toutes les plates-formes. Sinon, les objets ValueType ne peuvent fonctionner correctement.

Revenir en haut de la page...