Microsoft, Macromedia, and the Disconnected World (Part 1)
What are These Next Generation Internet Applications Anyway?
- They can be Disconnected
o As great as wireless connectivity is, the simple fact remains that employees, partners, and customers need access to their data at times and in places where a live connection is not available. Rich internet applications must be able to function at home, and on the run, at work, and on the road.
- Outside of the browser
o The browser, based on the simple but flexible concept of HTML, fueled the internet revolution. However, all sides agree that the next generation of internet applications will break free from the tightly woven cocoon inside the browser and reach new heights in user experience and flexibility.
- Standards support
o The internet success story is a story of standards. A story in which proprietary empires gave way to bands of developers unified under the banner of compliance. It is widely recognized that the steel that binds tomorrow’s applications must be forged with a set of common standards.
- Prebuilt components
o The software industry recognizes that reinventing the wheel is horribly inefficient. As a result, tomorrow’s applications will be comprised of many pre-built components from developers across the globe, intersparsed with small amounts of custom logic.
- Multiple platforms and devices
o There was a day when the only devices with access to the internet where servers and desktops. That day is over. From PocketPCs and Smart Watches to Desktops and Tablet PCs, applications will need to cross the device barrier to support their users wherever they are, on whatever device they happen to be carrying.
- Web Services
o Everyone agrees on one thing: Web Services are very cool, the pinnacle of standards and reusability.
- Application updates
o The days of the installer are numbered. In the past, application updates have been a costly, complicated mess. Tomorrow’s applications will seamlessly update themselves, adding functionality to solve tomorrow’s problems and fixing bugs before they are even noticed.
What are Microsoft and Macromedia Doing in this Space?
- Disconnected Applications
o Microsoft’s core data access models have been built to solve the problems of a disconnected architecture from the ground up. Server side cursors have been replaced by disconnected record sets and in-memory tables. The DataSet class, which is at the heart ADO.NET, contains sort, filter, and query capabilities that can all be accessed without a connection to the physical data source. Xml serialization support allows datasets to be quickly persisted in non-relational data stores, while lightweight versions of the MS SQL engine allow devices from PCs to PocketPC’s to efficiently query and manage large amounts of data that would be unwieldy as XML.
o Traditionally an application for building interactive web sites, the Flash player does not currently contain built-in support for disconnected applications. A future product from Macromedia, dubbed Central, will have support for local storage of XML data.
- Outside of the browser
o ASP.NET is a powerful model for creating HTML based applications, but is not much use for applications which do not run from within an internet browser or are disconnected. Windows Forms, Microsoft.NET’s solution for the desktop application development marketplace, can be automatically executed from internet
o Although most internet users may think of the Flash player as merely a browser plug-in, Flash has never really been restricted to operation inside the browser. Compiled Flash content can be viewed on any device which has the Flash player installed.
- Standards support
o Microsoft.NET has been built with standards as a priority. Major portions of the .NET framework including CLI (common language infrastructure), CLR (common language runtime), and C# (the flag
o Macromedia recognizes the importance of standards and has added standard compliant features to it’s player over the years. Currently, the Flash player supports the ECMAScript standard for scripting as well as XML, MP3, Unicode and HTML. The addition of Macromedia Flash Remoting components allow Flash content to interact with SOAP and WSDL based WebServices.
- Prebuilt components
o In Microsoft.NET software components are first class citizens. The CLI and CLR include support for interfaces and custom metadata while the .NET Framework’s rich class libraries provide extensive support components at both design time and run time.
o Macromedia flash includes support for the development of flash components.
- Multiple platforms and devices
o Microsoft’s .NET official .NET framework is coded specifically for and runs on top of Windows. A smaller version of the .NET framework, known as the .NET compact framework, is available for the PocketPC operating system. Because significant portions of the .NET framework have been submitted to standards bodies, third parties are free to provide their own implementations of the .NET framework. Microsoft provides a sample implementation of portions of the .NET framework which runs on alternative platforms to be used as a reference for those creating their own implementions. Currently, the largest and most mature third party port of the .NET framework is Ximian’s Mono which is targeting a release date toward the end of 2003.
o The Macromedia Flash player is available on a plethora of platforms and devices from traditional PCs to trendy handhelds.
- Web Services
o WebService support in Microsoft.NET is second to none. Microsoft is a major contributor to the emerging web service standards and already provides extensions to the .NET framework for new WebService standards such as WS-Security and WS-Attachments. The .NET WebServices architecture has been built to support easy extension on both the side of the WebService consumer and the WebService provider.
o With the Flash MX Remoting, Flash content can interoperate with SOAP and WSDL based webservices; however, the Flash player currently does not support any of the specifications in the WS-* stack. No announcements have been made as to whether future versions of the Flash player will support these specifications.
- Application updates
o Microsoft.NET includes support for launching applications from web URLs. Applications stored in the download cache are updated as needed. Additionally, Microsoft has released sample code for more advanced auto-update features which are required by complex applications.
o Because Flash applications are typically embedded inside of web pages, they are cached in the local cache of the client’s internet browser and obey standard caching rules. Macromedia has announced that their upcoming product, Central, will include support for auto-update of applications.