Meet Avaya Breeze—See How We Make Engagement App Development Easier
You may have heard about the Avaya Breeze™ platform, but don’t really know much about it. You may be an active developer using the platform but have questions. So let me introduce Avaya Breeze, explain its APIs and capabilities, and share some tricks for developing Breeze snap-ins (as the apps are called).
The goal of Avaya Breeze is, well, to make application development “a breeze.” As one person said, half the work of developing an app is provided by the platform. Here’s a picture of what Avaya Breeze brings to the application developer:
All About Avaya Breeze Snap-ins
Snap-ins are currently developed in Java (we are looking at adding other languages down the road). The snap-ins run in an industry-standard Java Enterprise Edition (JEE) container. They communicate with the Avaya Breeze platform over an API, and with each other using a Collaboration Bus (the red box in the picture). What makes the platform so friendly to developers are the services provided in the black boxes: data management, serviceability, and security. When snap-ins work together you can build up pretty complex systems, such as:
Here we have a combination of many snap-ins and end-users, with telephony, web, IM, and presence interfaces coming into the system. There are several different types of telephony protocols in use, all of which are hidden from the snap-in writer via the Breeze API (which is a nice aspect of the platform). Graphical and REST web interfaces are supported. Snap-ins can define their own interfaces and protocols as well as using the ones provided by Avaya Breeze.
Snap-ins don’t all come from Avaya. Build your own and make money! I look forward to many of you creating snap-ins, and Avaya can help you market them in in our Snapp Store—see what’s there now.
Snap-Ins Work Together
One of the things you will notice in the figure is something called a “cluster.” To support scalability, Avaya Breeze allows great flexibility to group together servers for horizontal scalability. Clusters are homogeneous, where the same snap-ins are loaded into a given cluster. Avaya Breeze load balances the incoming traffic so the snap-in writer can concentrate on the business logic rather than much of the surround. You can have multiple clusters, each with a different set of snap-ins, and the various clusters can send messages or events to each other. Avaya Breeze provides the APIs to make this easy.
So what do you need to develop a snap-in? Eclipse is a great environment, and with the Breeze plug-in once you write your code you can easily deploy it. Need data that gets configured by the customer? Breeze attributes are there for you, with you specifying default values. You can have attributes that are read-only, and even some that are hidden from the admin to allow you to easily change things “under the covers.”
Stay tuned—in my next post I’ll drill down into the Breeze APIs and development environment.