YOUR FEEDBACK
More on the Software Assembly Question - Do Design Patterns Help?
Yanic wrote: Hi, > UML and MDA are being changed to be more data and doc...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
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

Digg This!

Page 1 of 2   next page »

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.


Page 1 of 2   next page »

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.

SYS-CON India News Desk wrote: 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.
read & respond »
devGraham wrote: // One way to extend the application would be // to format the resulting query object in // HTML and CSS. If you go this route, try to // make the recording title a link to the // actual recording. To facilitate single // sign-on, remove the call to // terminateSession() in recordingList.cfm // and pass the session ID in the recording // URL. Very cool.
read & respond »
LATEST FLEX STORIES & POSTS
Two great PDF creators
I like reading stuff in pdf format. But it's even better if you can easily create pdf files. By easily I mean a button click. Literally.Since I have Adobe Acrobat, my Microsoft Word and PowerPoint just have an extra menu to create it. But it's kinda boring. Let me share with you a cou
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
A Runtime Integration Approach to Application Development
This pattern is a hybrid of plug-in and event-driven architecture to integrate individual plug-ins together to come up with the Plug-in Integrator Pattern. This pattern leverages the benefits of both these well-known architectures to provide an optimal solution to build an enterprise-r
JavaOne 2008: Sun Talks Up its Late-to-the-Party AIR-Silverlight Rival
At Java One this week Sun has been selling its year -old-but-still-upcoming - and definitely late-to-the-party - Adobe AIR- and Microsoft Silverlight-competitive JavaFX Rich Client environment as a potential revenue-generator capable of putting ads on mobile applications and JavaFX Scri
Facelift Your SOA with Rich Internet Applications
We are entering an era of Rich Internet Applications (RIA) and enhancing the user experience of consumers of the services becomes an important part in designing and implementing SOA. But if you decide to develop rich clients, you'll be facing the dilemma - which way to go - remain with
Adobe Flash Player 10 Public Beta Now on Adobe Labs
Today, Adobe announced the immediate availability of Adobe Flash Player 10 beta as a free download from Adobe Labs. Adobe Flash Player 10 beta, code named 'Astro', builds on the capabilities of the world's most ubiquitous application runtime with new support for custom filters and effe
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