70 likes | 202 Vues
This document outlines the strategies for achieving interoperability between multiple framework instances containing various component instances. It focuses on linking a remote component instance that resides in a different framework. The initial approach involves handling non-parallel components, addressing the NxM problem, and providing temporary solutions for parallel components. Essential components include a standard communication protocol for remote procedure calls, standardized port interfaces, and a remote API for connection services. The proposed "Proteus" multi-protocol architecture facilitates integration through SOAP and fast binary data transfers.
E N D
Goals • Assume you have two (or more) framework instances. • Assume it contains a network of component instances • How do I link in a component instance living in a remote, perhaps different framework? Framework 2 Framework 1
The first steps • Restrict to the case of non-parallel components • NxM problem solution will need to be discovered • Temporary solution for parallel components • Use a flux capacitor
Requires 5 Things • A standard communication protocol for remote procedure calls on port methods • A standard way to describe port interfaces and a standard way to bind this to the communication protocol • A standard way to describe a remote reference to a provides port. • An extension to the CCA spec for the framework that allows a way to resolve (component Id, portnames) into remote references to a port • A remote API for the connection service
Standard Communication Protocol • Propose “Proteus” - multi-protocol architecture • Supports SOAP for Web service integration • Fast binary for moving array data. • IIOP • For remote reference - use Web Service Description Language. • Contains • Port interface description • The URL for the remote object • A description of the binding of the port to the protocol to talk to it. • Represented as an XML string
Representation of Port Interfaces • SIDL • We will describe a mapping of SIDL into WSDL. • SIDL-Babel & PIDL compiler can be used to generate WSDL and remote stubs and skeletons. • Lots of this middleware code can be reused in all frameworks.
External Interface to Framework • Extend the builder service slightly • RemoteReference getPort(ComponentID, portname) • Void connectPort(CompID, portname, remoteProvidesPortRef) • … • Provide an External Port interface to the extended builder service Framework core builder service getPort(Comp1, portX) RemoteRef