|
Developing web-based, data-driven applications using Macromedia
Flash MX Technologies has now reached a new level. A joint development
effort between Macromedia and Blackboard, Inc. produced a real-world
application for managing group data within Blackboard through
a Macromedia Flash MX interface (using Macromedia Flash Remoting).
This application is the first of it's kind: one that bridges the
new Macromedia Flash MX technologies with Flash Remoting capabilities
and mapping objects and calls through to the Blackboard Building
Blocks API interface.
What is Blackboard Building Blocks?
Blackboard Building Blocks is a free framework for developing
external applications and "hooking" them directly into
Blackboard. More specifically, the Blackboard Building Blocks
framework provides an API suite and documentation for packaging
and deploying applications within the Blackboard platform. Blackboard
Building Blocks allows third-party vendors, developers, and institutions
to use the Blackboard platform to build new applications, extend
existing technologies, and integrate them into external (back-office)
systems.
Creating and deploying an application (otherwise know as a System
Extension) for the Blackboard platform is a multi-step process
that includes planning, code development, packaging, and deployment.
The planning and code development portions mimic basic Java development
projects, while the packaging and deployment utilize the Java
Servlet 2.2.x specification for Webapps.
To date, over 20 System Extensions have been created. Utilizing
the numerous objects and methods exposed via the Building Blocks
API's, these applications and tools extend the Blackboard platform
in areas such as content management, instant messaging, and handheld
support. Additional documentation and examples for creating and
deploying System Extensions are available at at the Blackboard
Building Blocks wesbite.
Building a Macromedia Flash-based System Extension
Blackboard and Macromedia sought out to jointly develop a Macromedia
Flash-based System Extension that could leverage the power of
the Macromedia Flash environment and use the hooks that were available
using the Blackboard Building Blocks API. The main design goal
was to develop a "drag and drop"-based user interface
for managing groups within Blackboard. The new proposed Group
Management interface would be easier to use, reduce the number
of clicks required, add new randomization functionality, and condense
the number of necessary screens to three.
Communicating between Blackboard Building Blocks and Macromedia
Flash MX
The first problem that we encountered was identifying a way for
the Macromedia Flash client to be able to communicate with the
Java Building Blocks layer. This problem was solved with Macromedia
Flash Remoting. This technology, deployed within the System Extension
as a servlet, allowed for the Macromedia Flash environment (ActionScript)
to map remote calls to Java objects that were created. Since System
Extensions are deployed as "webapps" already, including
the Flash Remoting servlet inside, the Blackboard System Extension
package required nothing more than placing the Flash Remoting
JAR file (the file flashgateway.jar) in the /WEB-INF/lib directory
and then editing the web.xml file to register the servlet.
|