RE: Some requirements

> 
> "Savas Parastatidis" <Savas.Parastatidis@newcastle.ac.uk> writes:
> > should have used the IDL specification instead of C++. IDL is used
to
> > describe OO interfaces and not to define the behavioural semantics
of a
> > component model. It is my understanding that WSDL is used to define
the
> 
> In IDL if one says:
> 
>     interface foo {
>         attribute string x;
>     }
> 
> That means the generated language interface will have methods getx()
> and setx(.). Thus, IDL does tell you precisely what methods are
> available to access the state.

I am not an IDL expert so I may be wrong. It is my understanding that,
in case of CORBA IDL for example, the IDL specification says nothing
about how attributes are mapped to programming language constructs.
That's the responsibility of the different IDL->programming language
mappings that exist. You specify your interface using the IDL and then
you use one of the mappings, with the appropriate implementation (a
compiler), to go from IDL to the programming language.

interface foo {
   attribute string x;
}

So, the above may be translated to two different Java codes (according
to the mapping that you use)

class foo
{
   public String x;
}

or 

interface foo
{
   public String getx();
   public void setx(String);
}

Or, three C# alternatives:

class foo
{
   public string x;
}

class foo
{
   public string x
   {
      get { return this._x;  }
      set { this._x = value; }
}

interface foo
{
   public string getx();
   public void setx(string);
}


Interoperability is guaranteed by the different mappings (e.g., CORBA
IDL to Java) and not by the language itself.

That's my limited understanding on the subject. I may be very wrong, in
which case I apologise.


.savas.

Received on Tuesday, 17 June 2003 04:17:34 UTC