Elipse for Converged Voice and Information Solutions
By Andy Thomas
Over the last few years, companies have been investing more and more in voice applications. From talking web sites and blogs, to simple IVR applications, to complex voice and web applications, IT departments are spending valuable time, money and resources to implement the most efficient best-in-class voice applications for their businesses. With the Eclipse workbench, developers have a perfect all-in-one type environment for designing, implementing, deploying and testing their voice and web applications.
Introduction
Today Eclipse is considered the defacto standard for Java tooling. As IT organizations embrace this development technology, they are also recognizing the expansion of new initiatives from the Eclipse Foundation like that of Rich Client Platforms (RCP) as they are being used for a growing number of general purpose desktop applications.
The power of using Eclipse plug-ins and RCPs allow all third party vendors equal opportunities to supply extensions that quickly and efficiently integrate into the main corporate Web environment while allowing these extensions to quickly take on the same look and feel as that of the parent site. In a corporate Web environment, for example, where the company uses multiple vendors to supply products to their customer base yet while ordering products from the corporate site, the end user has no idea they are actually ordering products from different web sites based on the products viewed and selected. This also demonstrates that Eclipse is a natural partner with Service Oriented Architectures (SOA).
Using the Eclipse workbench in addition to a voice application technology that embraces a company’s SOA, allows IT departments the ability to leverage existing web infrastructures and applications. Several years ago, such an effort would take enormous design, planning, testing and deployment to connect multiple vendors to a corporate web site. The overall Eclipse architecture empowers the best of breed solutions comprising plug-ins from different open source and/or commercial providers while increasing development time and quality.
Figure 1 shows the major components, and APIs, of the Eclipse Platform. The Eclipse Platform's principal role is to provide tool providers with mechanisms to use, and rules to follow, that lead to seamlessly-integrated tools while providing useful building blocks and frameworks to facilitate new development.
Fig. 1: Eclipse Platform Architecture
Eclipse Offers True Extensibility
As you start to visualize applications like the earlier example, the powerful extensible foundational layer created by using the Eclipse plug-ins and extension points starts to come to life. True extensibility is only achieved when plug-in providers define their own extension points and implement their own functionality as standard plug-in extensions. This allows third parties to seamlessly build on top of the original plug-in while providing new functionality without having to modify the original plug-in’s design or code. As new plug-ins become available on a site, the built-in update manager facilitates a consistent and well defined process for users to download new product releases and even patches when necessary, making the function of delivering new plug-in extensions very simply and painless to users as well as IT departments.
Not only does using Eclipse simplify application development, design, testing and deployment for IT organizations, it also facilitates an easier to understand application architecture. With many traditional legacy applications, departments and even end users suffered steep learning curves to the complexity of the overall application architecture and design. Eclipse diminishes such complexity by providing customers with a higher quality, more extensible product where the foundation pieces are more readily known. As Eclipse resources continue to grow and become available, companies will not have to exert as much effort to educate users on the general architecture and the benefits provided by that architecture. With the platform understood, companies and their customers can spend their time by focusing on their respective core competencies and on delivering solid solutions to the end users. As more adopt the Eclipse platform for their products and development environments, the avenues for plug-in providers and users steadily grow, thus providing an excellent network of extensible ready to use plug-ins.
Eclipse plug-ins deliver ‘componentized’ pieces of functionality. As the number of plug-ins grow, a developer begins to collect a ‘toolbox’ of plug-ins that is available for reuse by other applications or can be extended and/or modified where needed, instead of writing a complete new plug-in for a specific function. As developers gain the ability to tackle more complex problems while reusing and extending existing plug-ins, they reduce their overall development time to market. An additional productivity booster for the developer is they no longer have to reinvent the wheel each time they develop a piece of code. Think of it as reusing items already developed and modifying the bits that need to be tweaked in order to obtain the maximum development efficiencies possible.
Conclusion
In this article, I’ve highlighted the power and benefits of the Eclipse framework, explaining how Eclipse can be used in voice applications, for product extensibility, to integrate other vendors’ applications, for developing plug-ins for productivity, how application learning is made easy with Eclipse
Software companies building voice applications using Eclipse, for instance, no longer have to spend precious development resources and time in writing code to integrate with legacy software systems or specific software versions. They no longer have to write massive amounts of code to add in additional functionality where the existing application falls short. They no longer have to develop their own folder and file system management features or graphical user interfaces (GUIs), because all these features are already part of the existing Eclipse framework. Now software companies and even IT organizations have a common development environment that alleviates the need for having to master multiple and often very expensive and different types of underlying frameworks. Using Eclipse is truly a win-win solution for all parties as it saves time, money and provides a stable and growing standard framework for developing voice, Web and other IT solutions.