Last week Macromedia Inc launched its all-new product line under the MX brand. Looking a little deeper into the underlying technology, CTO Jeremy Allaire talked to ComputerWire about some details of the architecture.
For the last 18 months, he revealed, Macromedia has been building this next-generation suite, which aims to combine a richer, faster internet experience with adherence to open standards. MX, said Allaire, "is not a version upgrade, but a change in how people do things".
Originally, the web was meant for browsing - and that is exactly what Hypertext Markup Language (HTML) was designed to do. Now, according to Allaire, people want to start actively doing things on the web, as well as just reading documents. So a more powerful and expressive medium is required: one that can accomplish more at the client than just render some text and graphics within a browser.
There are problems on the server side too, Allaire said. Each application tends to become a "silo" isolated from all the others. Even when given a web front end, it is still locked into a specific set of scripts and HTML pages. This is too rigid - and thus too expensive when, as often happens, it needs to be changed or extended.
Macromedia's MX architecture, which seeks to replace parts of today's web infrastructure with something faster, more powerful and more flexible, comprises client, server and development tools. The client - a "rich" one like the traditional Microsoft Windows environment - is based on the new Flash MX.
Most people are surprised, said Allaire, to learn that Flash Player is the most widely distributed piece of software in history, used by 414 million people. Over 98% of clients connected to the internet have it installed, and it is downloaded 2.3 million times on an average day. Although Flash produces impressive graphics, it is only 350 kilobytes in size - lightweight enough to be downloaded in 30 seconds on a slow dial-up link.
On the server side, Cold Fusion MX has been rewritten from the ground up in Java, said Allaire. It can now be deployed either on top of a third-party Java 2 Enterprise Edition (J2EE) application server such as IBM WebSphere, or standalone using a built-in copy of JRun, Macromedia's own J2EE implementation. This ingenious arrangement widens the potential market as far as possible, whether a prospective customer already has a preferred application server or not. Cold Fusion pages are translated into servlets, which are then compiled and run by the JVM. The ease of integration with any other Java code is obvious.
Macromedia has always maintained a scrupulous (and pragmatic) balance between the worlds of Microsoft Windows and non-Microsoft technology such as Java. This balance is preserved in Cold Fusion MX, which focuses heavily on interoperability with web services - those created with .NET in particular. 80% of web applications make use of Active Server Pages (ASP), Java Server Pages (JSP) or Cold Fusion, according to Allaire. Macromedia aims to expose these as web services by wrapping them in Cold Fusion Components.
To round out the picture, Flash remoting lets Flash clients invoke Java, .NET or Cold Fusion server objects using an optimized binary protocol, said Allaire. For compatibility with existing standards, the whole thing runs on top of Hypertext Transfer Protocol (HTTP).
Individually, the MX client and server are interesting; together, they are impressive. Many impressive software suites have failed in the marketplace, though, for lack of appropriate development tool support. Macromedia understands this very well, and - as in so many other respects - has followed Microsoft in providing a comprehensive integrated development environment (IDE) at an affordable price.
Macromedia Studio MX wraps up virtually all the company's development tools in one neat package. It consists of Dreamweaver MX, Flash MX, Fireworks MX, Freehand 10 and a developer edition of Cold Fusion MX. Dreamweaver, in turn, includes the well-regarded HomeSite HTML authoring tool. Allaire said that developing Flash content, which was previously very labor-intensive, is now much faster thanks to the new component model and standard set of controls.
Like BEA Systems Inc with its WorkShop - currently in beta - Macromedia is looking to bring the power of J2EE to scripting developers, who exist in far greater numbers than the professional software engineers who know enough about Java to program it at the bare metal.
The introductory price of $799 for the whole package should be well within the budget of any serious developer. Cold Fusion MX Server Professional Edition costs $799 per server, while the Enterprise edition is priced at $5,000.
Once again following the path beaten by Microsoft and now BEA, Macromedia is investing in developer support programs and hopes eventually to get to a subscription model like the Microsoft Developer Network (MSDN).
The decision of a jury last week that some Macromedia software infringed upon a patent held by Adobe Inc seemed likely to have some impact on the newly announced products. However, this turns out not to be the case. A Macromedia spokesperson said that the only products affected by the ruling were Flash 5, Dreamweaver 4, Freehand 10 and Fireworks 5. None of the new MX products use the disputed "tabbed palette" feature - although Studio MX does include Freehand 10 - so there is no need for a hurried maintenance release to replace it.
© ComputerWire. All rights reserved.