|
Project Information
|
Real-Time Component FrameworkThe Real-Time Component Framework (RTCF) is designed to make it easier to build modular Flash Media Server applications. Features include: - Broadcasting application.onXXXXX events.
- Additional onXXXX events to facilitate authentication and authorization.
- Role-based access controls for remote methods, shared objects, and streams.
- Client-side proxy objects that represent server-side components.
Project Timeline - Project started: October 21, 2009
- Early development phase: November, 2009.
- First Milestone: November 2010 - used to build a proof of concept virtual studio.
- Second Milestone: February 2011 - working virtual studio.
IntroductionFlash Media Server (ver 3.5) provides a simple server-side scripting environment based on the SpiderMonkey JavaScript 1.5 interpreter and a relatively simple API. It ships with a version of the original Macromedia Communication Components framework which is not used here. The following is a list of features the Real-Time Component Framework should implement - beginning with the simpler features. Basic Framework Features- Allow components to listen for application events: onConnect, onDisconnect, and so on. - done.
- Define a more complete set of application.onXXX events Application onXXX Events: onConnect, onAuthenticate, onAuthorize, onAuthorizedConnect, etc. - done.
- Route remote method calls to components via the Client and NetConnection objects. On the client use an API similar to mx.rpc.RemoteObject - done.
- Provide an efficient logging facility.
- name spaces|Component Name Spaces to separate and secure component assets like streams, remote method calls, and shared objects. - done.
- Manage the life cycle of application instances including delaying user authentication while components are configured. Includes managing server-side application states: startup, working, idle, shutting down, etc.
- Pluggable authentication modules. - done first round - like to do more.
- Recording and Playback of component and application history - to do.
- Manage users by role and support dynamic role escalation/descalation (user to presenter and back to user). Role-based access controls for the over-all application and individual components. - static roles done - role escalation etc still to do.
Advanced Framework Features- User Presence and Message Routing between Instances.
- Allow in-instance break out sessions.
- Easy movement of component assets and history between application instances - even better would be real-time update of components shared across instances (aka multi-instance components).
- Multi-server session management and/or load balancing.
- Application state managment (Startup, Active, Inactive, etc.)
Base Components Required by Most Applications- Client-Side Connection Manager
- Server-Side Authentication Manager
- Server-Side Access Control Manager
- Connection Monitor
- Text Chat
- Shared Cursor
- Layout Manager
- Presenter
- Room List
- User Preferences
- Discussion List - Text, Audio, Video
- Simple User List with Statuses
- User Grid with any number of columns
- Audio Conference
- Video Conference
- Shared Text Editor
- White Board
- Video Player
Infrastructure- Shared Objects
- Shared Arrays
- Shared XML
- Server-side Event broadcast mechanism.
Sample Applications:- Instant Messaging system with collaborative meeting areas.
- Digital Signage System
- Security System
|