Windows Azure
Customer Solution Case Study
/ Software Vendor Expands the Process Visualization Market with Cloud-Based Service
Overview
Country or Region:United States
Industry:Software engineering
Customer Profile
Using its patented natural language technology, Ravenflow helps companies analyze and visualize their business processes, application requirements, and system engineering needs.
Business Situation
Ravenflow wanted toexpand the market for process analysis and visualization solutions by developing a web-based version of its desktop application while using its existing development skills.
Solution
After evaluating several cloud providers, Ravenflow used the Windows Azure platform to develop and host its subscription-based service: RAVEN Cloud.
Benefits
  • Gained development and deployment efficiencies
  • Accelerated time-to-market
  • Opened new business opportunities
  • Delivered scalable, optimized infrastructure
/ “Windows Azure helps us expand the market by providing a platform that makes RAVEN accessible by more people. We expect our customers will want us to do more with the cloud, not less, and we can easily achieve that with Windows Azure.”
David Ruiz, Vice President of Products, Ravenflow
Ravenflow is a Microsoft Certified Partner that uses its patented natural language technology, RAVEN, to turn text descriptions into process diagrams. Ravenflow offers a desktop application but wanted to create a web-based version to give customers anywhere, anytime access to its process visualization solution. At the same time, Ravenflow wanted to deliver a rich user experiencewhile usingits existing development skills and deep experience with the Microsoft .NET Framework. After evaluating Google App Engine and the Amazon Elastic Compute Cloud (EC2) environment, Ravenflow chose the Microsoft-hostedWindows Azure platform and quickly created a scalable new service: RAVEN Cloud. In Beta release until September 2010, the already popular producthas opened new business opportunities for the company,and Ravenflowlooks forward to a fast time-to-market for future enhancements.

Situation

Established in 2006, Ravenflow is an independent software vendor (ISV) and Microsoft Certified Partner that develops process visualization and requirementsdefinition software powered by the company’s patented natural language engine, RAVEN. Ravenflow developed RAVEN in fully managed C# code by using the Microsoft Visual Studio development system. RAVEN is supported by the Microsoft .NET Framework 3.5.

RAVEN Professional was the company’s first product to incorporate the RAVEN language engine. It is a Windows Forms–based desktop application that integrates with an on-premisescollaboration server that is builton Microsoft Office SharePoint Server. To use the application, customers enter text that describes a process or use case, and, in a matter of seconds, the software automatically produces a diagram that depicts the process—a diagram that might otherwise take hours or even days to produce manually with diagramming software.

Ravenflow is also developing a next-generation version of its client-server application, replacing Windows Forms with Windows Presentation Foundation. The updated desktop application willstill take advantage ofthe RAVEN language engine and, in addition to anupdated look and feel, will offermany enhanced features,includingrequirements collection, an enterprise glossary of business terms, and a repository for storing and reusing process assets.

In addition to its RAVEN Professional desktop application, Ravenflow wanted to deliver its software as a service in an effort to broaden customer access as well as increase market awareness of its product. “We offer a product with a very unique set of capabilities,” says David Ruiz, Vice President of Products at Ravenflow. “We wanted to expand and transform the market for process analysis and visualization by makingRAVEN accessible to as many people as possible.” Ravenflow also recognized that the software-as-a-service model for delivering applications is in high demand. “People may not want to download and install an application ontheir desktop but are more likely to try a service like RAVEN on a more casual basis,” says Ruiz. “And the ability to access a service with an Internet browser foranywhere, anytime access is both attractive to customers and opens new market opportunities for Ravenflow.”

Offering the application through the software-as-a-service model involved more than simply developing a service-oriented architecture for the product, however. As Ravenflow increased market awareness and attracted more customers, it would need an infrastructure that could scale up and still provide the power required for the compute-intensivenatural language analysis and diagramming functions of its RAVEN service.“Performance, scalability, elasticity—we really neededa cloud infrastructure with those qualities and that could scale up with increased utilization,” explains Ruiz.

At the same time, Ravenflow wanted its developers to be able to program using their existing development skills and expertise with Visual Studio, the.NET Framework, and managed code. Says Ruiz, “We found ourselves asking, ‘What is the best cloud computing platform for developing and hosting services onthe .NET Framework?’”

Solution

For Ravenflow, the answer was clearly the Windows Azure platform. The Windows Azure platform, which is hosted in Microsoft data centers, includes Windows Azure as its development, service hosting, and service management environment.

Before implementing the Windows Azure platform, Ravenflow evaluated Google App Engine and the Amazon Elastic Compute Cloud(EC2) environment. The company quickly ruled out Google App Engine, which supports only Java and Python. The company also ruled out Amazon EC2 because, as Ruiz explains, “though we could run .NET-based applications on Amazon EC2, there was simply too much development and configurationoverhead involved, and we wanted to avoid theongoing maintenance hassle.”

Developers at Ravenflow used Microsoft Visual Studio 2008 and Visual Studio 2010together with the Windows Azure Software Development Kit to build its next-generation product: RAVEN Cloud. Its rich, front-end interface was developed using the Microsoft Silverlight 3 browser plug-in. Similar to its flagship RAVEN Professional, RAVEN Cloud generates diagrams from natural language text but now produceseven higher-fidelity diagrams.

Customers access RAVEN Cloud through a website and enter text describing the process or use case they want to analyze and represent visually. Customers can also access a library of process templates and use them as a starting point for the process they need to define. Once the narrative has been entered,Web rolesin Windows Azure place the narrativein queue storage. From there, Worker roles in Windows Azure access the narrative and coordinate and perform the actual RAVEN language analysis. Multiple Sentence Worker roles are then assigned to analyze each of the sentences in the narrative to enable parallel processing.

Natural language analysis and visualization is a complex mathematical operation and the Windows Azure platform is a natural fit for such compute-heavy processes. Adding more Worker roles to process sentencesis a simple task with the Windows Azure platform, allowing RAVEN Cloud to scale with ease as the number of users grows.

As the analysis of each sentence is completed, the results are placedin Blob storage where they are collected by a Worker role, aggregated back together, and then returned to the Web role for final processing.

In an instant, RAVEN Cloud displays the analyzed text in a richtext pane that uses the Silverlight 3 plug-in and highlights any errors in the narrative. An adjacent diagram-editor pane displays a vector-based diagram that shows a clear visual representation ofthe text. This pane includes features that the customer can use to zoom in and out and change the diagram from landscape to portrait orientation with the click of a button. Customers can then downloadthe diagram in multiple formats, including as a JPEG,a Microsoft Office Visio file, and in the standard XML Process Definition Language (XPDL) format.

RAVEN Cloud also takes advantage of Microsoft SQL Azure to store application logs as well as user account and tracking information. In addition, Ravenflow is developing a repository service on SQL Azure for storing narratives and glossaries in the cloud.SQL Azure is a fully relational database that is hosted in Microsoft data centers and is built on Microsoft SQL Server 2008 data management software.

Since launching RAVEN Cloud in May 2010, Ravenflow has served more than 1,000 customers each week—a number that continues to grow. The company is offering the Beta version of the service at no cost until September2010 to give potential customers the opportunity to realize the unique benefits of using text to automatically generate high-fidelity, error-free, process and use casediagrams. After the no-cost Beta trial period, the company will rolloutRAVEN Cloud both as a subscription-based serviceand as an on-premises, privately hosted solution.

Benefits

As a result of implementing the Windows Azure platform, Ravenflow quickly developed and deployed its natural language engine to the cloud as a service, and the Microsoft Certified Partner looks forward to improved time-to-market for new features and products in the future. By offering its software as a service, the company not only has opened new business opportunities, but can also maintain high levels of performance for its CPU-intensive application while minimizing operatingcosts.

Gained Development and Deployment Efficiencies

Developers at Ravenflow used their existing skills and knowledge of the .NET Framework to build RAVEN Cloud. Instead of learning a new development environment, developers used managed code and the Visual Studio development system to create a .NET-based application. It took fourdevelopers and two testers less than four months to developRAVEN Cloud.

Deployment with the Windows Azure platform also was efficient. By using the development fabric in Windows Azure, Ravenflow developers wrote application code on their local machines in Visual Studio, and then quickly deployed the application to the cloud. “Deployment with Windows Azure is almost as easy asflipping a switch,” explains Ruiz. “We developin Visual Studio, which we already know, and then, with a couple of clicks, the application is deployed to the cloud. You can’t do that with Amazon EC2.”

Accelerated Time-to-Market

Thanks to the Windows Azure platform, which is hosted in Microsoft data centers, Ravenflow now can focus its energy on developing new features and enhancements for its product and take those to market swiftly—without having to worry about lengthy development cyclesor maintaining a server infrastructure. “Windows Azure helps us expand the market by providing a platform that makes RAVEN accessible by more people,” says Ruiz. “We expect ourcustomers will want us to do more with the cloud, not less, and we can easily achievethat with Windows Azure—extending our reach while at the same time accelerating time-to-market.”

Opened New Business Opportunities

Because the application code is based on the .NET Framework, Ravenflow can reuse its new cloud-based service in other deployment models. “We aren’t limited to the public cloud with Windows Azure,” says Ruiz. “Now that we have developed the service for Windows Azure, we can take the same code and configure it to run in any number of ways to meet customer needs.” For instance, without any code changes, Ravenflow can offer RAVEN Cloud as a privately hosted service on an on-premises server running the Windows Server 2008 operating system. “That’s what’s great—if a customer wants to use RAVEN Cloud but prefers to run it behind their firewall, we can do that essentially by repackaging the same code.”

Delivered Scalable, Optimized Infrastructure

By using Windows Azure, Ravenflow can quickly scale up and scale down as business demands, which is particularly important to the company asit launched its new service. The natural language processing behind RAVEN Cloud is CPUintensive, which can be costly to run; however, by using on-demand scalability, the company can save money by optimizing the number of Web roles and Worker roles that it runs. “With a CPU-intensive application like ours, we’re aware the meter is always running, sowe want to keep it running as low as possible without affecting application performance,” explains Ruiz. “With Windows Azure, we can dynamically provision additional instances as the load increases and scale down when it decreases. We are not only optimizing performance for customers, but moderating our own operating costs, as well.”

Windows Azure Platform

The Windows Azure platform provides an excellent foundation for expanding online product and service offerings. The main components include:

  • Windows Azure. Windows Azure is the development, service hosting, and service management environment for the Windows Azure platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage web applications on the Internet through Microsoft data centers.
  • Microsoft SQL Azure. Microsoft SQL Azure offers the first cloud-based relational and self-managed database service built on Microsoft SQL Server 2008 technologies.
  • Windows Azure platform AppFabric. With Windows Azure platform AppFabric, developers can build and manage applications more easily both on-premises and in the cloud.

−AppFabric Service Bus connects services and applications across network boundaries to help developers build distributed applications.

−AppFabric Access Controlprovides federated, claims-based access control for REST web services.

  • Microsoft "Dallas." Developers and information workers can use the new service code-named Dallas to easily discover, purchase, and manage premium data subscriptions in the Windows Azure platform.

To learn more about the Windows Azure platform, visit: