Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

FMS v. FCS v. Stratus

Avatar

Level 1

Can you help to explain the differences between Flash Media Server (FMS),  Flash Collaboration Service (FCS), and Stratus. When should I use what tool etc...

1 Accepted Solution

Avatar

Correct answer by
Employee

Flash Media Server is an "application server" (i.e. software you install and run on your machine) that allows you to build interactive and collaborative applications between Flash clients. It provides permanent connections, audio/video streaming, data messaging and more. It also provides a server-side application environment that allows you to control data messaging between the clients (i.e. who can send and receives what) and some interaction with external services (via AMF or HTTP requests). As I said, Flash Media Server is software that you run on your machines and for which you write "server" applications that control your client. The current version of Flash Media Server (3.5) doesn't support the new RTMFP protocol and P2P capabilities of FlashPlayer 10. FMS is accessible via the low level flash.net API (but a few basic components are provided)

AFCS is a hosted service based on FMS that allows you to quickly build collaborative applications. It provides a client/server implementation of a pub/sub (publish/subscribe) system where the programmer defines a data model and configures it with instructions on who can send (publish) messages and who can receive them. It also provides services like account management (to let you create, delete and configure "rooms" in which your conversation happens) , authentication/authorization for your users, and connection/reconnection (clients will automatically reconnect to a new server if the server currently running your application becomes unavailable). AFCS is accessible via a client SDK (Flex components) that provides an implementation of the messaging protocol and a rich set of pre-built models and components that you can use to quickly write collaborative applications. AFCS currently runs on a cluster of FMS servers version 3.x but we also hosts a couple of experimental versions that support RTMFP and provide you a way to test the new RTMFP and P2P features (and the software takes care of switching between P2P and hub-and-spoke depending on network connections)

Stratus is a hosted service created to help developers test the new P2P capabilities of FlashPlayer 10. In order to initiate a P2P session a Flash client needs to connect to a central service and get a unique "peer id". Once the client knows its own peer id and the one of the other client it wants to  connect, a "direct connection" can be established. Note that in order for the clients to exchange their peer ids, you will need to provide a shared "databas" (i.e. a hosted server that provides a roster of users and their peer ids, so that clients can connect to, post their peer ids and select who they want to talk to)

So, if you need maximum flexibility or heavy duty audio/video streaming, and can afford to build your own server infrastructure, use FMS (there are providers that offer hosted FMS).

If you need to write powerful collaborative applications and want to concentrate on client programming, use AFCS.

If you need pure P2P messaging (1 to 1) use Stratus

View solution in original post

5 Replies

Avatar

Correct answer by
Employee

Flash Media Server is an "application server" (i.e. software you install and run on your machine) that allows you to build interactive and collaborative applications between Flash clients. It provides permanent connections, audio/video streaming, data messaging and more. It also provides a server-side application environment that allows you to control data messaging between the clients (i.e. who can send and receives what) and some interaction with external services (via AMF or HTTP requests). As I said, Flash Media Server is software that you run on your machines and for which you write "server" applications that control your client. The current version of Flash Media Server (3.5) doesn't support the new RTMFP protocol and P2P capabilities of FlashPlayer 10. FMS is accessible via the low level flash.net API (but a few basic components are provided)

AFCS is a hosted service based on FMS that allows you to quickly build collaborative applications. It provides a client/server implementation of a pub/sub (publish/subscribe) system where the programmer defines a data model and configures it with instructions on who can send (publish) messages and who can receive them. It also provides services like account management (to let you create, delete and configure "rooms" in which your conversation happens) , authentication/authorization for your users, and connection/reconnection (clients will automatically reconnect to a new server if the server currently running your application becomes unavailable). AFCS is accessible via a client SDK (Flex components) that provides an implementation of the messaging protocol and a rich set of pre-built models and components that you can use to quickly write collaborative applications. AFCS currently runs on a cluster of FMS servers version 3.x but we also hosts a couple of experimental versions that support RTMFP and provide you a way to test the new RTMFP and P2P features (and the software takes care of switching between P2P and hub-and-spoke depending on network connections)

Stratus is a hosted service created to help developers test the new P2P capabilities of FlashPlayer 10. In order to initiate a P2P session a Flash client needs to connect to a central service and get a unique "peer id". Once the client knows its own peer id and the one of the other client it wants to  connect, a "direct connection" can be established. Note that in order for the clients to exchange their peer ids, you will need to provide a shared "databas" (i.e. a hosted server that provides a roster of users and their peer ids, so that clients can connect to, post their peer ids and select who they want to talk to)

So, if you need maximum flexibility or heavy duty audio/video streaming, and can afford to build your own server infrastructure, use FMS (there are providers that offer hosted FMS).

If you need to write powerful collaborative applications and want to concentrate on client programming, use AFCS.

If you need pure P2P messaging (1 to 1) use Stratus

Avatar

Level 1

Thanks, that was  a great explanation.

Does this mean that multi-user games and chats etc. that do not utilize video / audio streaming, data storage features or the ability to write custom scripts on the server side in Flash Media Server should consider moving those applications over to Adobe Flash Collaboration Service (*I say this assuming using AFCS hosted service will be cheaper than FMS).

Avatar

Level 1

Also, if scalability is not an issue and you are not interested in leveraging the FCS SDK should you opt to use Stratus. Will Stratus be free when its out of beta? From what I understand the service manages the connection of peer id's exclusively and from there everything is managed between the clients?

Avatar

Former Community Member

Well, I think it's more differentiated than this :

If you're doing significant data messaging - such as a shared whiteboard, or any other kind of state synchronization, Stratus is probably too challenging to be worth it. Since there's no single point of authority (in AFCS, it's our service), reception of data isn't in a guaranteed order, which can pose some significant challenges.

To be clear, AFCS does provide live audio/video, both P2P and hub and spoke. And it doesn't require you to have your own server to exchange peerIDs (our service takes care of that, including permissions management).

I can't comment on Stratus' roadmap, since it's not what we're working on - asking at the Stratus forum might get you somewhere.

nigel

Avatar

Level 1

I see, I assume this is because FCS is based off of FMS and use RTMP (although it also offers the ability to use RTMFP) which is based off of TCP whereas Stratus is based off RTMFP which is based off of UDP hence the unreliablity in usage cases like a whiteboard where the order messages are received is critical. Let me know if I am making any sense, I just want to make sure I am understanding this clearly.

Also, I have attempted to download the FCS SDK but I am getting the following error after logging into <https://cocomo.acrobat.com/> with my user name and password.

*This occurs on FF3, Safari 3 (MAC) and FF3 and IE7 (PC)

Error Msg:

HTTP Status 401 -


type Status report

message

description This request requires HTTP authentication ().


Apache Tomcat/5.5.23