Microsoft Visual Studio 2005 and Microsoft SQL Server 2005
Customer Solution Case Study
/ / Xerox Develops Scalable, Hosted Solution to Optimize Global Print Fleet Management
Overview
Country:United States
Industry:High Tech Manufacturing
Customer Profile
Xerox Global Services helps customers around the world manage the office equipment, software, supplies, and services it takes them to successfully compete in today’s global marketplace.
Business Situation
Xerox Global Services needed to make its Office Services’s “print fleet” management solution easier and more cost effective, especially for its globally dispersed customers.
Solution
Developers turned early to Microsoft® Visual Studio® 2005 and Microsoft ASP.NET 2.0 to build a global, centrally hosted, Web-based solution based onMicrosoft SQL Server™ 2005 Enterprise Edition (64-bit).
Benefits
Increased developer productivity and effectiveness
Reduced complexity of writing and managing code
High performance, availability, and scalability
New levels of customer satisfaction / “Where we used to look at years, we’re now looking at months for development cycles…. Microsoft creates that foundation for our applications, while we focus specifically on the needs of our customers.”
Kirk Pothos, Software Development Manager, Xerox Global Services
Xerox helps customers manage office equipment, software, and supplies for some of the most demanding companies and applications in the world. Customers look to Xerox to provide highly measurable solutions to ensure optimal efficiency at the lowest cost. One of the key services Xerox provides is Xerox Office Services—asset management and on-going maintenance of large numbers of printers, copiers, multi-function devices and faxes. By optimizing such “print fleets” through highly specialized software and human resources, Xerox dramatically reduces the total cost of printing for its customers. To make it even easier and more cost effective for customers, Xerox developed a worldwide, centrally hosted, Web-based solution. Early adoption of Microsoft® Visual Studio® 2005 made development faster and easier, and reduced the complexity of the code base. In addition, Microsoft SQL Server™ 2005 Enterprise Edition (64-bit)contributes to the scalability and high performance of the back-end data center, and helps to deliver new levels of customer satisfaction.
Solution Details
Key technologies / Visual Studio 2005
ASP.NET 2.0
Microsoft .NET Compact Framework 2.0
SQL Server 2005 Enterprise Edition (64-bit)
SQL Server 2005Mobile Edition
Programming language / Visual C#
Development time / 12 months
Lines of code / > 2 million
Transactions / Hundreds of thousands per month, per site
Production database growth rate / 50 percent in the past year

Situation

Companies looking for ways to increase efficiency and reduce the cost of managing large numbers of office printing devices turn to Xerox. Years of experience with printers and print management have led Xerox to develop industry-leading software to help its customers optimize their print assets, minimize costs, and gain maximum return on investment.

In the past, the Xerox Office Services print management solutions typically have been server-based, operating on the customer site. Now, Xerox sees an opportunity to better serve its worldwide customers by moving to a hosted software solution. For Xerox, a hosted solution would:

Reduce the investment necessary for implementation, and achieve significant print management cost savings for customers.

Significantly simplify the delivery of managed services to customers that have print assets at multiple locations and varying levels of on-site IT support.

However, upgrading to a hosted solution presented several challenges for the software developers for Xerox Office Services, not the least of which is the fact that the Xerox Office Services software suite runs on more than 2 million lines of code. Each customer site produces hundreds of thousands of transactions each month, and the software suite is mission critical.

“High availability is extremely important,” says Steve Schlonski, VicePresident, Core Platform Development for Xerox Global Services. “We’re talking about a global solution, with hundreds of users around the globe. There can be no downtime; we’re up 24/7. If our solution were to go down, it could cost millions of dollars in lost productivity in the field.”

Scalability was another key challenge. The production database demands enormous capacity and has been growing at a rate of 50 percent a year. To support a growing, global customer base into the future, Xerox Global Services saw the need to be able to achieve faster page-loads and to process more data and more transactions.

“A significant reason why we are selected over other service providers is Xerox’s reputation for being able to deliver on all aspects of the deployment, says Kirk Pothos, Software Development Manager at Xerox Global Services. “These applications are both data-intensive and computationally intensive, and they demand that we have the highest levels of performance, reliability, and scalability.”

Xerox knew that delivering even better services at lower cost would give Xerox a competitive advantage in meeting customers’ needs. To accomplish this goal in the necessary time frame, Xerox developers would need cutting-edge technologies they could implement quickly with highly efficient developer tools. According to Pothos, “Most of our resources go into software development, so having an environment that makes us productive and a rich platform with a lot of features is incredibly important.”

In summary, the Xerox team wanted to enhance the performance of systems that delivered real-time data. The team wanted to streamline code, both to boost performance and to make the solution easier and more cost-effective to manage. And, given the business-critical nature of the solution to its growing base of customers, the Xerox team wanted to enhance the reliability and disaster recovery features already in place.

Solution

For its Office Services solution, Xerox chose to upgrade the next generation of its existing software to a Web-based solution. Xerox built it by using the Microsoft® WindowsServer™ 2003 Enterprise Editionoperating system and three of the newest Microsoft technologies:

The Microsoft Visual Studio® 2005 development system

Microsoft ASP.NET 2.0, a set of technologies in the Microsoft .NET Framework for building Web applications and Web services

Microsoft SQL Server™ 2005 Enterprise Edition (64-bit), which is part of Microsoft Windows Server System™ integrated server software

Xerox plans to deploy Windows Server 2003 Enterprise x64 Edition.

Architecture

Underlying the Xerox Office Services Web-based solution is a three-tier architecture, shown in Figure 1. The back end, built around SQL Server 2005(64-bit) data management and analysis software, includes both a transactional database and a data warehouse where information is aggregated for intensive data mining operations. The middle tier is a Web farm that includes multiple, load-balanced Web servers running the main Web application based on ASP.NET 2.0. The front end includes secure portal access for use primarily by Xerox representatives. Designed specifically for use by service personnel is a Microsoft Windows Mobile™ software extension that runs the Microsoft .NET Compact Framework 2.0 and Microsoft SQL Server 2005 Mobile Edition.

The on-site client software monitors the customer’s print devices and uses Web services to communicate back to the central host application such information as device identification, meter reads, and calls for help. By being able to monitor its devices installed at the customer’s site, Xerox is able to detect, for example, the need for someone to service a printer before the customer is even aware there is a problem. A service technician dispatched to the site can carry a Pocket PC downloaded with information about the customer’s situation and can log service data directly into the device for upload back to the central host application.

Development

The developers were given a 12-month time frame to complete this mission-critical project. “Instead of doing a straight port,” says Pothos, “we decided to think about what features and what capabilities the new platform gives us, and rewrite parts of our application and take advantage of those technologies.”

Xerox Office Services’s developers set to work learning about the prerelease version of Visual Studio 2005 and, according to Adam Rene, Technical Operations Manager, “We found the capabilities of the new Microsoft developer platform compelling enough to rewrite our entire application.” A few of the technologies in the development environment that Xerox developers particularly appreciated included:

Web Parts for building end-user configurable portal solutions.

Master Pages for standardizing and reusing code.

The ability to add enhancements to existing controls.

Common Language Runtime (CLR) functions to implement regular expression checks.

New pivot capabilities in Transact-SQL (T-SQL).

The ability use the Microsoft Visual C#®development tool to program computationally expensive, stored procedures, such as doing string manipulations with math.

One major challenge in moving to a central hosting environment was caching large amounts of relatively static datasets. Some data might change daily, other data only a few times a year, but the application must acknowledge the change immediately and ensure that the cache has been updated on every server on the Web farm. Xerox developers successfully conquered the challenge by using the query notification feature of ASP.NET 2.0. “Our application caches user-configurable control data for client-side/application-tier validation: What fields are required, what is maximum field length, and so on,” explains Bill Zimmerman, Software Developer at Xerox Global Services. “If the control data changes, it must be applied right away. Using query notifications, we can cache data on the application tier and reload the cache almost immediately upon any changes to our control data.”

Benefits

By using the most cutting-edge technologies available in the tightly integrated combination of Visual Studio 2005 and the release of the 64-bit version of SQL Server 2005, Xerox developers are rapidly and efficiently deploying a scalable solution to meet the needs of its worldwide customers. The developers experience increasing productivity and a reduction in complexity, and the customers benefit from high availability and new levels of satisfaction. Xerox gains a huge increase in performance by switching to the 64-bit computing capability of SQL Server 2005.

“We ran SQL Server 2005 [64-bit] straight out of the box with our solution, and it ran fine,” says Pothos. “The backward compatibility is great. And because we have far more addressable memory to work with than in the 32-bit architecture, we’re not bumping up against the cache limits we had earlier, so we’re not seeing the performance drag that comes from frequent recompiles. We haven’t quantified the performance gain yet, but we know it will be significant.”

Increased Developer Productivity and Effectiveness

The Visual Studio 2005 development system was a hit among Xerox developers, who pointed out numerous features that reduced the time and effort required to accomplish their programming goals. Developers especially appreciated significantly moreefficient debugging.

“With the new debugger, you just expand the dataset, and you’re looking at data,” says Pothos. “Right away, you see the most important things. What are my rows? What do my rows of data look like? And those are the kind of little things that add up to tremendous time savings in the end.”

The tightly integrated nature of the development environment directly enhanced developer productivity. “It’s much better now,” says Zimmerman, “because when you go into a Visual Studio environment, you can basically stay there.” The Xerox developers like being able to code, debug, and conduct unit testing right in the integrated application, and they like the Web server being included right in the development environment so they don’t have to worry about the Microsoft Internet Information Services (IIS) or security problems while debugging.

“I’ve seen significant productivity gains by the integration of Visual Studio 2005 and also SQL Server 2005,” says Craig Mallery, Senior Software Developer at Xerox Global Services. “With the CLR now embedded within SQL Server 2005 [64-bit], we are able to use the exact same programming language that we’ve been developing our application server in, which is [Visual] C#. Now [that] we can use that for stored procedures, triggers, and user-defined functions, we’re able to leverage that existing knowledge to create incredibly efficient business objects within the database.”

This standardization on Visual C# also served to speed the learning curve for developers coming from different programming backgrounds. “We’ve been able to take developers who have no experience at all on the platform, and they’re up to speed within a month or two,” says Zimmerman. “That is really unheard of in the software development community; usually it takes a significant amount of time.”

Reduced Complexity of Writing and Managing Code

Writing and managing code for a major project can be a complicated task, but the developers of Xerox Office Services software found that the technologies included with Visual Studio 2005 and SQL Server 2005 (64-bit) significantly simplified the process in a variety of ways.

“Ten years ago, we spent most of our time developing more ‘plumbing’ for software,” explains Pothos. “Where we used to look at years, we’re now looking at months for development cycles. But even though the software is put out in a short period of time, we’re still able to differentiate from others in the marketplace. Microsoft creates that foundation for our applications, while we focus specifically on the needs of our customers.”

Xerox developers also enjoyed being able to extend and customize the existing, rich application programming interface (API) feature sets for membership and personalization. “You are going to save development time whenever you use API-supported features like membership and personalization,” says Neeraj Wadhera, Senior Software Developer at Xerox Global Services.

Master Pages offered these developers the opportunity to reduce the code on every content page on the site by abstracting all the common elements to reusable Master Pages. “Master Pages simplify and enforce common templates for our Web site,” according to Rene. “We can focus development effort on building content pages. If we need to change the header or footer, it’s simply a one-line change in the Master Page.”

Finally, T-SQL enhancements will decrease the amount of application-side code needed to perform key operations, thereby speeding those operations and making the solution easier to maintain and upgrade. Zimmerman points to Pivot and UnPivot functions as one example.

“Pivot functions clean up our code significantly,” says Zimmerman. “Writing that functionality can be a painstaking process. Pivot makes it easy for our developers to add less complicated, more performance-intensive queries. Because they can add those Pivot functions faster, they can add them in more places where they can be helpful to our internal and external clients.”

High Performance, Availability, and Scalability

Xerox Office Services developers are excited about the level of performance its finished solution will be able to achieve. “One of the keys for us was the implementation of the 64-bit version of SQL Server 2005,” says Rene. “We have a lot of customer databases on the hosted environment. And the way that SQL Server (64-bit) uses memory is extremely efficient. That was the key benefit for us in moving to SQL Server 2005.” One way Xerox has been able to take advantage of this high performance is by ensuring high availability through the creation of a warm standby environment, where data can be replicated for purposes of disaster recovery.

Scalability is mission-critical for Xerox Office Services. “Where we used to deal only with a couple hundred-thousand records at a particular customer site; now we’re looking at dealing with millions and, ultimately, perhaps hundreds of millions of records,” says Zimmerman. “Now we feel very confident that we’ll be able to meet those challenges with the feature sets of SQL Server 2005. With the ability to partition tables and to create index views, [SQL Server] enables us to really support a hosted environment and leverage our existing hardware infrastructure.”

“SQL Server 2005 is mission critical to the Xerox Office Services application,” remarks Pothos. “To achieve the 99.999 percent uptime required by the application, we rely on SQL Server 2005 clustering capabilities to provide extremely high levels of availability to our customers.”[1]

New Levels of Customer Satisfaction

With its new hosted solution, Xerox jumps ahead of its competition in its ability to provide efficient, high value- print fleet management services for customers around the globe.

Companies with printers, multifunction devices, copiers, and faxes scattered around multiple locations will be able to outsource their print management and optimization to Xerox through a Web-based Office Services solution that requires no on-site hardware investment. Print fleets will be monitored and optimized 24 hours a day, and routine maintenance and upgrades will be performed remotely—all services contributing to cost savings for the customer.

Repair technicians, who have been dispatched to a customer location, can arrive with all the necessary information and logging programs loaded right on their Windows Mobile-based devices and can ensure quick, efficient, cost-effective repairs.

Most important of all, customer service will be improved. When Xerox personnel answer calls from customers, they will be linked into highly available and responsive database systems to ensure accurate and timely customer assistance. Fast page loads, quick transaction processing, and customizable interfaces based on Web Parts: all these performance advantages for the Xerox employees will translate directly into better service for their customers.