It’s either inspired insight or a lucky shot, but Macromedia has welded Internet communications (essentially messaging) and streaming media together into one of the most timely and unusual servers on the market. Macromedia Flash Communication Server MX (FlashCom) should provide Web developers of many stripes with a sorely needed means to efficiently integrate applications, Web sites, and Web content with many kinds of communications and rich media.
Macromedia’s recently released Flash Communication Server MX is a truly unique offering that blends Internet communications and streaming media into a timely and unusual server offering.
Naturally, Macromedia is hyping FlashCom’s “possible uses,” but we’ll list a few here because they help explain what this server is about and highlight something important about this product — its potential fecundity for new and unusual combinations of services.
Uses noted by Macromedia include: Video and data broadcasting, virtual conference rooms, whiteboard facilities, message boards, chat and live messaging, workflow collaboration, multi-user games, and many kinds of streaming media applications for Web sites. Throughout ServerWatch you can find other servers that handle one or two of these, but not all of them.
Which brings us to our next point: FlashCom is not a messaging server nor a chat server; nor is it even truly an app server. We have classified it as an app server, however, because its functionality and capabilities bring it closest to this category.
Management and Scalability
We were able to run setup and finish configuration and deployment on a single server in a matter of minutes. The real challenge with FlashCom, however, comes with configuring it for heavy traffic. When dedicated servers become involved (Web, database, application, and FlashCom), custom FlashCom server-side scripts will likely be needed. Hopefully, Macromedia will at some point in the future provide more help (e.g., templates and built-in features) for these types of configurations.
One of FlashCom’s primary virtues is managing and speeding the distribution of messages through the Real-Time Messaging Protocol (RTMP). This might sound like a fancy router, and we were slightly surprised to find FlashCom less oriented toward the internal details of communications and streaming media (e.g., packet watching) and more toward the higher-level applications that use the communications and streaming. Most administrative activity involves managing and monitoring server apps (and FlashCom provides the Communications App Inspector for this).
By providing scripting, storage, security, and management, FlashCom acts like an application server dedicated to its own type of applications. However, it doesn’t provide connections to external data (databases) as a typical app server does. For that you must use Macromedia Flash Remoting, a product designed to connect scripts and apps with application servers and remote data.
In general, the administration of FlashCom is utilitarian, consisting mainly of necessary features, such as starting and stopping the server, apps, or virtual hosts. FlashCom is configured through tags in XML files, many of which can be edited in the GUI of the Administration Console, although some editing may need to be done directly with a text editor. At this point FlashCom does not provide much in the way of sophisticated statistics, diagnostics, or overview of multiple servers.
It’s All in the Family
Besides the FlashCom server itself, the system relies heavily on the Macromedia Flash Player 6. It is the primary client (user interface) program and must be deployed for most FlashCom applications to work. Flash Player’s features, such as real-time network messaging, a standardized user interface, native audio and video codecs, automatic video and audio hardware detection, and built-in security complement FlashCom and make it much easier to develop applications with. FlashCom provides the server-side runtime environment that sends Flash applications (contained in a SWF file) to the Flash Player.
Most FlashCom applications will require both client and server programming. In this context it will be customary to develop the client (Flash Player) programming with Action Script in Macromedia Flash MX, the authoring tool. Action Script is Macromedia’s (ECMU compliant) variant of JavaScript. It is also used to create server-side programming, either in Flash MX or in another Macromedia product Macromedia Dreamweaver MX.
One of the keys to the Flash approach is the native objects that contain much of the high-level functionality used in applications. For example, server-side objects include: Application (each FlashCom application), Client (each Flash Player connection), NetConnection (a two-way communication connection, often with Flash Remoting to a remote app server or database), Stream (handles streaming media), and SharedObject (objects shared with a client). Shared Objects are a major feature of FlashCom because they provide the means to synchronize data and storage among multiple clients.
Considering the potential complexity of the plumbing for streaming media, not to mention the control of complex messaging, such as real-time chat, the FlashCom, Flash MX, and Macromedia Flash Player objects give the developer a big leg up on creating Flash applications. We found the multiple environments (FlashCom, Flash MX, Flash Player, and Dreamweaver MX) occasionally confusing to integrate, but on the whole this is not a difficult system to understand.
Can you develop full-blown applications for FlashCom without using all, or most, of the other Macromedia products? Perhaps — but it will not be easy. And this leads to one “must say” comment: Macromedia Flash Communication Server and the surrounding Macromedia family of products consist mostly of proprietary technology running primarily in a Windows environment. For some this is largely irrelevant; for others it may be a major concern.
Granularity Does It
FlashCom provides the horsepower to organize and deploy some very creative combinations of communication and rich media. This is a very tantalizing environment where some very powerful features are easy, like the pre-made Flash components. However, to make everything work, you will still need four things: 1) A thorough understanding of the environment of your application (the vagaries of high-bandwidth applications on the Internet are many), 2)a a good working knowledge of Macromedia Flash technology, especially Action Script, 3) the opportunity to experiment in a realistic situation, and 4) patience.
In most cases we’d be reluctant to give a new product four and a half stars, but this one is different. Macromedia has been offering various aspects of this server for years. Our testing fund the product robust, although there is room for it to improve and grow. Flash Communication Server MX delivers communications and rich media with fine granularity; small pieces of functionality can be combined in almost infinite ways. Now it’s up to the practitioners to beat on this server and show what it can (and maybe cannot) do.
Pros: This is (at least for now) a unique product, and clever people should be able to do great things with it
Cons: Integration with other Macromedia products needs polishing and simplification
Reviewed By: Nelson King
Original Review Date: 8/29/02