Over a year ago, Macromedia introduced Macromedia Breeze 4.0, and along with this release, I wrote an article for the Macromedia Development Center introducing organizations and developers to the opportunities of integrating and extending the Macromedia Breeze solution through a series of XML-based APIs. Since then, I’ve had the opportunity to visit and work with many customers to see first-hand how they have deployed Macromedia Breeze in their organizations and taken advantage of these XML APIs. The results of these organizations efforts is extremely impressive. We look forward to seeing how you’ll use these services in your applications over the coming year!
You should have a basic familiarity with web services and at least on application server platform such as ColdFusion, Java, or .NET.
Macromedia Breeze 5 exposes a complete set of web services, enabling organizations to incorporate web communication functionality throughout their application network. Macromedia Breeze continues to provide both hosted or on-premise customers with the ability to leverage these web services. This means you can extend and integrate Macromedia Breeze regardless of your organization's deployment model.
To leverage Breeze web services, you simply need to be able to communicate with the Breeze server over HTTP or HTTPS (depending on whether you have enabled SSL). You call Breeze web services and pass in one or more parameters—either as name/value pairs or as an XML package—and the web service returns a complete XML document which can then be parsed and leveraged as necessary within your external applications. Breeze web services expose the following application areas to interact and extend the Breeze solution:
For specific information on the available APIs and their usage, please refer to the XML API documentation available on the Macromedia Development Center.
To provide a basic interaction example, let’s review the following API which returns all of a given user’s meetings. The following URL is a basic example where I simply pass an action to list my upcoming Breeze Live meetings in XML:
http://breezeserver.macromedia.com/api/xml?action=report-my-meetings
If we break this URL down into request components, we'll see the following:
This request returns an XML result-set, such as the following:
<?xml version="1.0" encoding="utf-8" ?>
-<results>
<status code="ok"/>
-<my-meetings>
-<meeting sco-id="10524" type="meeting" icon="meeting" permission-id="host" active-participants="1">
<name>Meeting Room</name>
<domain-name>myserver.breezecentral.com</domain-name>
<url-path>/r50924118/</url-path>
<date-begin>2005-03-25T10:00:00.000-08:00</date-begin>
<date-end>2005-03-25T11:00:00.000-08:00</date-end>
<expired>true</expired>
<duration>01:00:00.000</duration>
</meeting>
</my-meetings>
</results>
In this case, I have only a single meeting within Breeze, called "Meeting Room." The requesting application can parse this information to display or use it as necessary, such as in display within an existing portal or CRM solution.
The Breeze web services provide a holistic interface for interacting with Breeze. Although I can't cover all the available interfaces to Breeze in this article (for a complete list of interfaces, please see Using the Breeze XML Web Services), here is a subset of them to identify the incredible range of possibilities for integrating Breeze into your applications.
Organizations are using Macromedia Breeze to develop and deliver a variety of on-demand and real-time content. In many cases, this content requires strict access control to ensure that information is secure and reaches only its intended audience. Macromedia Breeze provides a comprehensive access control framework that the web services can leverage as well. Breeze allows external systems to authenticate, manage users, set permissions, and so on—all through the web services framework.
Take advantage of existing directory services in order to manage Breeze users. Breeze provides a complete set of web services that allow you to develop synchronization processes between your directory service and Breeze. Additionally, these web services provide you with the ability to integrate user profiles, personalized Breeze content, and reporting data in external systems such as portal, CRM, and ERP applications.
Leverage the granular reporting capabilities of Macromedia Breeze in external systems such as employee performance management solutions. With the Breeze web services you can integrate the Breeze reporting repository with these external systems for real-time reporting using a single reporting infrastructure.
Upload content from an external portal application into Breeze. You can also create new meeting or collaboration sessions from a portal application. All of these use cases are possible through the web services interface. With Breeze you can create and manage Breeze assets and meetings from any application that consumes web services.
The flexibility and breadth of the Breeze web services provides a number of exciting opportunities for application integration. By working with our existing customers, we anticipate that many will pursue multiple integrations ranging from portal applications to back-end reporting. The following figures demonstrate just a few of the opportunities that the Breeze web services offer:
Figure 1 shows an example of an online portal integration. This portal page consumes a number of Breeze web service actions—including login, report-my-meetings, and report-my-courses—and creates new courses and meetings.
Figure 1. Online portal consuming several Breeze web services
Figure 2 shows a Macromedia Flash movie that acts as an alternative interface to the Breeze application. This Flash movie consumes the same web services and actions listed above, and displays them dynamically using the DataGrid component.
Figure 2. Macromedia Flash interface to Breeze
If you would like to learn more about the various opportunities around the Breeze extensibility framework, explore the Macromedia Breeze Developer Center.