NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Remoting Metadata Concepts

MetadataServices Concepts

Key Points

Metadata Services can generate and consume XML Schema to and from NGWS runtime Runtime Metadata.

Abstract Assembly Concepts

  1. The contract for remoting is a TYPE (e.g., not a methodref...). A VOS type is an interface or a class.
  2. In making a remote reference, the client side must have the full remoting contract. Having the full remoting contract means:
    • if the type is a concrete class... full metadata plus code
    • if the type is an abstract class... full metadata
    • if the type is an interface... full metadata
  3. The assembly design in place today still holds:
    • types are deployed in assemblies
    • references to types are scoped by assembly
    • remoting information is assembly configuration metadata
  4. Could design the client-side remoting contract in one of several ways (not exclusive):
    • Opt1: it's just the server-side assembly... single contract; this would mean the full server-side assembly (incl code) would need to exist on client machine ("assembly light" may be a V2 feature, but not V1)
    • Opt2: developer of remote server could elect to define a collection of interfaces/abstract types specifically to serve as the client-side contract, deployed in one/more assemblies, and then to inherit from / implement them in the server; this way, client side needs no code
  5. Could deploy the client-side remoting contract in one of several ways (not exclusive):
    • Opt1: deploy to client
    • Opt2: deploy to server; "where" name to assembly causes runtime/fusion to locate client-side remoting contract assembly and download/cache
  6. Observe:
    • There's nothing special about a "client-side remoting contract assembly"... it's just an assembly.
    • This is "better" than a remoting proxy because the "c-s r c a" is actually used by both client and server side.