previous next trail start tutorial home feedback openwings.org

Connector Services

Connectors provide the mechanism for component to component communications. Openwings components are defined in such a way as to isolate them from dependence on any middleware technology (i.e. CORBA, RMI, JMS, etc.). The connectors implement a communications protocol based on the Service Interface and desired middleware technology. 

Connectors basically come in two flavors: Asynchronous - which can be used to push information to the service consumer (think JMS and UDP sockets) and synchronous which requires an acknowledge for every transaction (think RMI, CORBA IIOP, SOAP). Connectors are assigned at runtime which makes the middleware technology a deployment issue rather than a design constraint.

This document covers the generation, storage, and use of connectors. 

Key functionality/requirements for Connector Services

  1. Connectors connect system components that execute on the same machine or different networked machines.
  2. Asynchronous connectors shall be interchangeable with other asynchronous connectors. (PUSH model, e.g. JMS, CMS, Event Server, etc.)
  3. Synchronous connectors shall be interchangeable with other synchronous connectors. (PULL model, e.g. RMI, RMI-IIOP, CORBA, DCOM, etc)
  4. Connectors abstract all of the transport protocol from the component through receiver and sender proxies that implement the component's service interface.
  5. A connector generator shall generate all service provider and service user proxy code. This includes any stubs, skeletons, and ties required by the specific transport.
  6. The Connector API shall be portable to any transport protocol (e.g. RMI, RMI-IIOP, CORBA, JMS, EventServer, and DCOM)
  7. Connectors will provide optional pause and resume extensions to support mobile applications, fail-over, and roll-over capabilities.
  8. Connectors shall be signed.
  9. Secure connectors will provide privacy by encrypting the data sent between endpoints.
  10. Secure and Insecure connectors shall be interchangable.
  11. Connectors shall provide hooks to log incoming and outgoing messages / calls.
  12. Java shall be the only programming language used to implement connectors, connector management, and connector generators.
  13. Support for connectors between threads in the same process shall be provided.
  14. Connectors, connector generators and management for selection of connectors shall be independent and unaware of component services and discovery

Documentation and Tutorials 

Connector Services Specification
Connector Services JavaDoc Documentation

Connector Generation Tutorial

 

Next: Install Services

© Copyright 2002, General Dynamics Decision Systems. All rights reserved.

previous next trail start tutorial home feedback openwings.org