ALOG DATACENTERS DO BRASIL Case Study

ALOG Data Centers do Brasil (www.alog.com.br) is a leader in Managed Hosting, thanks to over 1300 corporate clients who permanently renew their confidence in the quality of ALOG's services. With three data centers totaling 16,000 square meters and a capacity of over 55,000 servers, ALOG executes and manages cloud computing, colocation and hosting high complexity projects.

Business Situation

In an economy where spending is scrutinized at every level, in IT infrastructure there is a trend toward managed service outsourcing and Cloud computing. ALOG seems to have found the right combination by offering both managed services and private Cloud resources, which alleviate concerns over data security. As in any industry, finding ways to work more productively to better serve customers is a competitive necessity. ALOG chose to build a Rich Internet Application to help them take their people, customers and business to the next level of success.

Application Description

ALOG's development team has worked mainly with .NET C#, SQL, PHP and Perl, but for this project, they decided to build a Rich Internet Application that would transform the way people in their organization worked. This required the developers to develop a new skill-set, because they would be working with unfamiliar technology - only two developers had limited experience with Flex.

The team of five were tasked with building a custom module, aptly named PERSA2 (P2), for their ERP system in four months. P2 is a web application that simulates a desktop on the user's browser and is the front door to ALOG's sales organization. It is now being used by ALOG's Commercial and Projects departments for generating, managing and validating custom commercial proposals and is a critical for business success - it has to be up and running 99.99% of the time.

Using P2, ALOG's Sales team can easily manage sales opportunities, track their progress using the dashboards, and create commercial proposals in just a few minutes. It also allows ALOG directors and managers to validate projects and analyze financial performance indicators. ALOG's proprietary Flex desktop and MDI engine also provide a very friendly, customizable and modern interface for ALOG users. The goal for this application was to completely change the way their users work, enabling ALOG to better serve its customers.

According to Carlos Jose Aran, ALOG Development Project Manager, "Users donít care about what is going on behind the scenes. What they want is to do their work, quickly, efficiently, and the software is there to help them accomplish that. They donít want to know that when a button is clicked, a method is called and then an object is created, sent to a facade class via AMF, which then sends it to a business logic layer, then the object will be processed, some other methods called, and finally that object will be sent to a data access layer so it can be saved on a database. What users want and need to know isÖ'When I click this button, my commercial proposal will be sent'. Thatís it! This is part of our philosophy here at ALOG, to provide our users and clients what they need, the way they need it, when they need it, masking all that complexity behind an elegant and intuitive user interface."

Problem Definition

During the planning stage, ALOG established as a goal to develop a solid and scalable architecture for this application that had to be up and running 99.99% of the time, yet the dev team was faced with many hurdles in accomplishing such a feat.  Given that they didn't have much experience with Flex, they didnít know how to integrate the Flex client with their C# backend and existing value objects and classes.  They had no idea what other issues they would face. The team studied all they could and the more they learned the more they realized they had to learn.  New words and concepts around data push, client synchronization, global alerts, dashboard updating, Microsoft Messaging Queue (MSMQ) and RTMP compounded with a 4-month deadline really put the pressure on. According to Aran, "It felt like we were entering a dark tunnel and time was our biggest enemy.  We would have been fine if we had 30 developers, but we only had 5."  

For such a critical application, ALOG needed a stable solution that would provide great performance and be customizable.  FluorineFX, BlazeDS, Adobe LiveCycle DS and WebORB for .NET were all evaluated for performance and features.  Support for data push, class mapping, AMF and Flex were a necessity.

Solution

At the end of the day, ALOG chose WebORB for .NET because it offered the best feature set and performance, while remaining compatible with ALOG's custom development tools. In addition, it enabled a team of 5 to complete using WebORB, what a team of 30 might complete without using WebORB, all in 4 months time. While ALOG used their own custom code generator that worked with their own custom Flex framework, some of the other WebORB features they used include:

  • MessagingThey are using the MSMQ data push for client synchronization and dashboard updating. According to Aran, "These features completely changed the user experience and the way users work. For example, now two users can work simultaneously on the same commercial proposal, inserting items and updating values in collaborative mode. And these two users are many miles away from each other. This is only one of the examples and shows the impact of using the Messaging feature of WEBORB. I would say itís not a feature, itís a wonder." P2 User Marco Felliziani states, "Wow! This auto-synchronization feature is awesome. I can work with my co-worker located in Rio de Janeiro even when I am in Sao Paulo and get instant updates." 

  • AMF remoting - Mapped value objects and all data is accessed via AMF/Remoting Objects. This allowed the team to use their existing backend structure with only a few tweaks. The AMF protocol provided the necessary performance for fast data access which is always one of the key issues on critical mission apps. To date, they have been able to process 8000 transactions/second (peak) and 1000 transactions/second (average) on an internal network that shares bandwidth with other applications.
  • Invocation test drive -  The team isolated database, backend and client tests. For the database, local planned tests were executed on each stored procedure. Once completed, they applied tests on the facade classes, using mainly the WEBORB console where they experienced additional time savings, especially when they needed to debug C# code. Aran stated, "From the day we started using the console, we find we just canít live without it."  

Benefits

ALOG experienced the following benefits from using WebORB for .NET:

  • Reduced development time and cost - ALOG did not need to expand its development staff to meet development timeline requirements, because WebORB provided out-of-the-box functionality that reduced the need to build home-grown solutions saving them development time too.
  • Better user experience - data push and client-synchronization provided users a better and more productive work environment. Now two or more users can work with the same data at the same time, which wasn't possible before.
  • Maintainability - WebORB removed several layers of complexity, making it easier for the team to maintain and update the application.
  • Scalability - WebORB not only produced better performance, but also provided a licensing model that would enable the company to cost effectively scale their business over time.
  • Asset reuse - WebORB's extensibility provided the flexibility to integrate the new Flex application with ALOG's existing frameworks, code and applications, which further reduced development time and cost.
  • Service differentiation - The new Flex application enables ALOG to better differentiate its services from other providers and provide better customer support.

Additional Team Quotes

ďALOG is all about quality, thatís why we picked WEBORB for our RIA apps. Itís robust, and proved to be highly customizable. Thatís what we were looking for.Ē (Victor Pereira, Team Leader @ ALOG) 

ďIt was a great relief when I realized how easy we integrated our existing backend to the new interface concept weíve designed. Weíve integrated our dream to our reality.Ē (Carlos Josť Aran Ė Development/Project Manager @ ALOG)

Solution Stack

  • .NET Framework 3.5 / IIS6
  • SQL Server 2008
    • 8 core CPU
    • 16GB RAM
    • Failover - Log replication
  • WebORB for .NET
  • Application Server: Virtual Host
    • 4 core CPU
    • 3GB RAM
    • Hardware controlled Failover (VMWare)
  • Adobe Flex