CommunicationHub Requirements

From MemberWiki

Jump to: navigation, search

Contents

OpenAjax CommunicationHub Requirements

Contact: Coach Wei (cwei@nexaweb.com)

Introduction

This article defines the general requirements for OpenAjax CommunicationHub.


Technical Background

Please see Interoperability_Communication Interoperability Communication and Problem_Defintion_-_CommunicationHub for background infomation.

CommunicationHub Requirements

CommunicationHub may include a client component, a server component (either in the form of API or actual code) and a network protocol component. However, the task force does not pre-assume the need for any of the above components. They are being called out only for the purpose of discussions.

1. OpenAjaxHub (OAH) Compatibility

On the client side, CommunicationHub should be a small client side Javascript library that can be included as part of OpenAjax Hub, or work alongside with OpenAjaxHub in the same application;

2. Server platform compatibility

On the server side, developers should be able to support CommunicationHub from various server side platforms, such as Java, .NET and PHP.

3. HTTP/HTTPS compatibility

CommunicationHub protocol must be compatible with HTTP. This protocol must work in any network environment that a web connection can work, without requiring additional software installation or change of network/client/server configuration.

4. Long Poll Connection Sharing

CommunicationHub must provide a mechanism for different Ajax toolkit or Javascript code to share a long polling connection within the same browser instance.

5. Detecting/Handling Multiple Instances

CommunicationHub must provide a mechanism to detect the instantiation of multiple instances, and the capability to avoid the creation of multiple instances of CommunicationHub with the same browser environment.

6. Partial Screen Update

CommunicationHub must provide a mechanism to enable server side code to differentiate requests for full page refresh from partial screen update.

7. Batch Processing

CommunicationHub must provide a mechanism to enable "batch processing" so that requests can be grouped together and delivered to server in one message, instead of being sent on an individual bassis.

8. Cross Frame Communications

CommunicationHub must provide a mechanism that javascript code within different frames(or iframes) coming from the same domain name can communication with each other.

9. Communication Status notification

CommunicationHub must provide a mechanism for developers to know the network communication status (eg. idle, busy,etc).

10. Support Request/Response, Polling and Push

CommunicationHub must support request/response, client polling and server push.