YOUR FEEDBACK
NGASI Releases AppServer Manager 8.1
Dave Jenkins wrote: The remote server management is a welcomed added feature...


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
AJAX World - 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
AJAX World - Xceed Launches Microsoft Silverlight 2 Control
Xceed launched Xceed Upload for Silverlight, the commercial offering in support of Microsoft's promising new Silverlight technology. The product is available now for purchase or as a fully functional 45-day trial on Xceed's website. Xceed Upload for Silverlight lets developers add uplo
Microsoft To Keynote 4th International Virtualization Conference & Expo
Mike Neil is general manager for virtualization strategy in the Windows Server Division at Microsoft. Mike is focused on the delivery of the Windows virtualization technology, including Windows Server 2008 Hyper-V, Microsoft Hyper-V Server and Virtual PC 2007. Mike also directs the tec
AJAX World - Skyway Software Announces RIA Developer Contest
According to Sean Walsh, President and CEO of Skyway Software, 'Our Skyway Community is thriving and our members are very talented. We truly look forward to their RIAs submittals and Skyway Builder extensions and are excited that all of the contributions will benefit the entire Skyway
"Virtualization Journal" Debuts This Week at JavaOne
Founded in 2006, SYS-CON Media's 'Virtualization Journal' is the world's first magazine devoted exclusively to what Gartner has earmarked as the single highest-impact IT trend through 2012: virtualization. And now it will be available on newsstands worldwide, as SYS-CON Media seeks to
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
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