YOUR FEEDBACK
Jeremy Geelan wrote: In response to inquiries and suggestions from readers this lexicon has recently...


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
MXDJ TOP LINKS YOU MUST CLICK ON !


MX Developer's Journal: Using Breeze Web Services to Display a List of Recordings for a Meeting
The Breeze 5 Meeting module creates SWF files to allow for easy delivery of the recording over the web

One of the unique features of the Macromedia Breeze 5 Meeting module is the ability to capture or record the meetings as they take place for future replay. After a recording session finishes, the Breeze 5 Meeting module creates SWF files to allow for easy delivery of the recording over the web.

Another useful feature of Macromedia Breeze 5 is the ability to integrate Breeze in existing systems through the use of the Breeze Web Services API. Through web services, an exciting amount of opportunities become available to Breeze implementers­opportunities such as creating custom event listings and event and meeting detail pages. Another opportunity includes building reporting dashboards for graphically representing specific data sets on meeting usage, course reports, and event effectiveness. The beauty of the data being available as web services is in how it allows you to manipulate and integrate the data in ways that fit your organization best.

In this article, I focus on the Breeze Web Services API that allows you to retrieve a list of all the recordings associated with a single meeting. You can imagine the different contexts in which this information may be useful. For example, Colleges and Universities that want to integrate Macromedia Breeze into a course management system can quickly allow their clients to see a list of recordings for a meeting without leaving the course management system. Instructors who record every lecture with the Breeze 5 Live Meeting Module will find this list embedded in the context of their course extremely useful. After you have finished this tutorial, you will be able to visualize how your organization can take advantage of the Breeze Web Services API.

Getting Started
To get started, I will review how applications interact with Macromedia Breeze 5 through web services.

In this tutorial I will review an application that does the following activities:

  • Create a Breeze session
  • Retrieve XML containing a recording list from Breeze 5
  • Convert XML to a Coldfusion MX 7 query object
  • Display the recordings query
Unzip the recording_list.zip file you downloaded at the beginning of this article. In this archive you will find the following files:

MeetingManager.cfc

This file manages the retrieval and conversion of recordings from the Breeze server.

SessionManager.cfc

This file manages the creation of sessions and destroying of sessions. You can reuse this component for any other web service integration you might do in the future.

RecordingList.cfm

This file is the beginning page and calls the two CFCs previously mentioned to retrieve and then to display the list of recordings.

ReadMe.txt

This file contains the file descriptions listed previously and any additional configuration notes relative to getting the sample code to run.

Before I walk you through the code, I would like to examine the individual web services that you will use. Breeze web services operate with commands called actions. You will use the login, logout, user-accounts, sco-info, and sco-contents actions. You will need to use the user-accounts action after logging in to verify that the session ID is valid and also to acquire the principal ID associated with the session. You will use the sco-info and sco-contents actions to retrieve all of the records associated with the meeting and the specific details about each recording in the list. You can use these three actions to retrieve a great deal of other information, but an explanation of this is outside the scope of this tutorial.

RecordingsList.cfm Explained
To begin I will first review recordingsList.cfm. You use this file to display data to the user and to call the CFCs, which will communicate with the Breeze server to get the recording data. First you must set some variables, which are needed for the CFCs to work properly (accesskey, webServicesUrl, meetingID, username, password). The username and password credentials should have proper rights to the meeting in which you are retrieving recordings for. You can leave the accesskey blank for Breeze 5 users; if you are still using Breeze 4.1

You must supply the correct accesskey to execute web services on the Breeze server. Contact your Breeze administrator to locate the accesskey. The webServicesUrl should be the URL to the Breeze server ending with a "/" (for example, http://breeze.uwstout.edu/).

After setting these variables in recordingsList.cfm, you must handle the creation of the CFCs and retrieve the recordings for the meeting specified. When you create the CFCs, the first thing to do is call the init method inside of the CFC. This method is designed to be a constructor method, which is used in object-orientated languages, such as Java. Since Coldfusion components do not have a constructor that is called implicitly, I usually call the init method explicitly to achieve the same effect. Next, call the createSession() method of the SessionManager component, which takes the username and password and returns a valid session ID. Pass the session ID into the MeetingManager.cfc getRecordings()method. Then you end the session promptly by calling the terminateSession() method on the SessionManager. The process of contacting the Breeze server and manipulating the XML returned is encapsulated inside these aforementioned methods. This is done by design to remove unnecessary complexity from the display page and to encourage reuse of the components. The rest of the recordingsList.cfm is provided to display the meeting list.

Handling Session Management in SessionManager.cfc
Now you can turn your attention to SessionManager.cfc. The SessionManager component has four methods: init(), createSession(), getPrincipleID(), and terminateSession(). The init() method simply sets a few variables and does not require much attention. The CreateSession() method is charged with calling the login web service action and pulling the session ID out of the results. I use the cfhttp tag to handle the request to the Breeze server as shown below:

<cfset params =
"accesskey=#variables.accessKey#&action=login&login=#username#&password=#pas
sword#" />

<cfhttp url="#webServiceUrl#api/xml?#params#" method="get" />
Note: As I mentioned earlier, accesskey is only needed for Breeze 4.1.
If you are using Breeze 5, you don't need to use accesskey.

Look specifically at the cfhttp.responseHeader variable to find the session ID in the header. See the Breeze Web Services API for more details on this process.

About Joseph Baarsch
Joseph Baarsch is currently employed as a Systems Developer at the University of Wisconsin ­ Stout and also does software engineering consulting through Spectrum Interactive LLC. In addition to his full time work, Joseph is deepening his understanding of engineering and design principles at the University of Minnesota in their Masters of Science in Software Engineering program.

YOUR FEEDBACK
steve M wrote: That's really a smart and quick sloution for video conferencing, without much efforts and time. http://www.sony-conferencing.com/
LATEST FLEX STORIES & POSTS
Enterprises are enthusiastically embracing the shift from traditional client/server computing to SaaS. Inspired by customers who have embraced the Web, developers are using RIA tools to create innovative new on-demand business applications. One important factor in the shift from tradit...
Adobe Flex and Flash are the ideal technology for Rich Internet Applications because you can build those applications with reusable components that are Loosely Coupled. In his session, learn how you can create an On-Demand Authoring Environment for creating Rich Internet Applications b...
Director of Ribbit's Developer Platform, Chuck Freedman, will explore an evolution in web communication. With the growing demand of RIA and voice-over-the-web solutions, developers finally have a full suite of communication APIs to add to Flash. Coding with Ribbit, Freedman will demons...
Rich Internet Applications offer the potential to fundamentally change the user experience and in doing so, yield significant business benefits. The theme of this October's AJAXWorld Conference & Expo 2008 West is 'Beyond AJAX to the RIA Era' and the Call for Papers, which is still ope...
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted to be...
Red Hat CTO Brian Stevens, Citrix CTO Simon Crosby, Egenera CTO Pete Manca, Allen Stewart, Group Manager, Windows Virtualization at Microsoft, and Brian Duckering, Sr. Director of Products and Alliances at Symantec were the top industry executives who joined Jeremy Geelan in the 4th Fl...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE