Planet Software is a small business based in Adelaide, Australia, that provides custom applications for customers around the world. The company’s flagship product, a web-based and database-driven application called Sonia, simplifies the student placement process for universities. When the system began to suffer delays, Planet Software took advantage of the parallel programming aids provided in the Microsoft Visual Studio 2010 development system and .NET Framework 4. With the help of the Task Parallel Library and other Microsoft technologies, including Windows Communication Foundation and WCF Data Services, Planet Software has successfully increased the speed, reliability, and flexibility of its application.
When Planet Software opened for business in 1999, the company was a small provider of custom applications for customers located near the company’s offices in Adelaide, Australia. Today, Planet Software is a Microsoft Gold Certified Partner and has expanded to offer products and custom development services to its customers worldwide.
The flagship product of Planet Software is a software solution for universities called Sonia (www.sonia.com.au). Originally developed nearly a decade ago using the .NET Framework and Microsoft Visual Basic, Sonia simplifies the student placement process for universities that need to place hundreds, and sometimes even tens of thousands, of students in “real-world” work placements.
Sonia includes three main components: a rich client used in university placement offices, a Web-based reporting application allowing for the management of student placements, and a Web-based system called Sonia Online that allows students to view details of their placements and indicate their preferences. What sets Sonia apart, and creates a need for parallelization, is the broad scope and functionality of the application, which is necessary to manage what Planet Software calls the “complex choreography of student placement.”
|“TPL is so simple to use that you have to say, ‘Why wouldn’t you use it?’ It’s a library that really becomes a part of your everyday coding.”|
Planet Software used the parallel-programming tools provided in Microsoft Visual Studio 2010 and .NET Framework 4 to achieve significant performance improvements in the latest version of Sonia. This new version, Sonia 3.4, runs faster and provides a better overall user experience. The company later implemented Microsoft Entity Framework 4 to support Microsoft SQL Server, Oracle, and other client databases.Solution
Planet Software first upgraded to .NET 4.0 to parallelize its code and take advantage of the Task Parallel Library (TPL), which provides rich support and greater control for coordinating the asynchronous execution of individual tasks. The abstraction of threads within TPL also makes it easier for developers to visualize and use threads, so more of the company’s developers can perform asynchronous and parallel coding.
“Prior to TPL, I’d frequently see developers who considered themselves experienced struggle with parallel development, but that’s no longer the case,” says Paul Reynolds, Director at Planet Software. “TPL is so simple to use that you have to say, ‘Why wouldn’t you use it?’ It’s a library that really becomes a part of your everyday coding.”
Reynolds appreciates that TPL provides control over both sequential and parallel task chaining, depending on what’s needed in a given scenario. Waiting and joining tasks is also easier with TPL, which makes it possible to kick off multiple tasks in parallel, and then wait for all of them to complete before moving on to the next step.
“The bottom line is that we are creating simpler code that is quicker to write, easy to understand, less likely to have issues, and performs great,” says Reynolds.Microsoft Entity Framework 4
The flexibility to respond quickly to customer demands is critical to the success of Planet Software. When Macquarie University—a major potential client—requested that Sonia software be made compatible with the university’s Oracle databases, Planet Software added Entity Framework 4, a feature of .NET 4 that provides an object relational mapper (ORM) to help developers communicate with databases.
Entity Framework 4 also makes code more portable because the entire codebase doesn’t have to be rewritten to match each new database’s dialect. In fact, switching from one database to another requires only minor changes in Entity Framework.
“For us, the main selling point is that it is database agnostic,” says Reynolds. “You can minimize any differences in storage technology, so you end up with support for multiple databases from a single code base.”
“The bottom line is that we are creating simpler code that is quicker to write, easy to understand, less likely to have issues, and performs great.”
Macquarie University is now a customer, and Entity Framework 4—which Reynolds described as “quite straightforward” to implement—has become the company’s new standard for use with all customers. Windows Communication Foundation and Windows Communication Foundation Data Services
When Planet Software added Entity Framework 4 to the latest version of Sonia, the company also reviewed the quality of communication between the client and the server and the company recognized an opportunity to boost performance and reduce client/server engineering time by adopting Windows Communication Foundation (WCF) Data Services and the Open Data Protocol (OData). WCF Data Services was chosen due to its ease use, and the Planet Software team was “blown away” by the throughput achieved using data service. “I’d estimate that 80 percent to 90 percent of our calls are now done using WCF Data Services,” says Reynolds.Benefits
Thanks to the benefits of parallelization and the other technologies supported by .NET 4 and Microsoft Visual Studio 2010, end users are experiencing a perceived as well as an actual improvement in Sonia’s performance. Because data is being pushed to the user interface more quickly, users no longer have to wait for data to load before windows become available and responsive.
“The application as a whole is significantly faster, crisper, and more responsive than it used to be,” says Reynolds. “That gives the user more faith in the product doing what it’s meant to be doing, and doing it efficiently.”
For developers, TPL has made parallel computing so accessible as an everyday part of the code writing experience that even developers with just one year of experience can use it effectively. “We don’t really have to think about it because TPL is so easy to use. You just flow as you’re writing your code, and you’re not having to look it up in the API guide,” says Reynolds.Competitive Advantage
At a recent conference, Planet Software representatives discovered four companies that offer competitive solutions, but Sonia’s functionality continues to set it apart.
“We really don’t feel any threat because our competitors are providing what we were offering a decade ago,” says Reynolds. “They’re really that far behind in terms of the functionality they’re providing compared to what we’re now able to offer through parallelization and the latest Microsoft technologies.”Looking to the Future
Planet Software prides itself on taking advantage of the latest Microsoft technologies to deliver solutions that are easier to use and provide better performance than competitive solutions. The company is especially pleased with its Sonia application and the combined benefits delivered by .NET 4, TPL, Entity Framework, and WCF Data Services.
“All of the technologies in Sonia are at such a good point, such a good level, that they’re a standard part of our development for the foreseeable future. They are our internal company standard,” says Reynolds.Microsoft .NET
Microsoft .NET is software that connects people, information, systems, and devices through the use of web services. Web services are a combination of protocols that enable computers to work together by exchanging messages. Web services are based on the standard protocols of XML, SOAP, and WSDL, which allow them to interoperate across platforms and programming languages.
.NET is integrated across Microsoft products and services, providing the ability to quickly build, deploy, manage, and use connected, secure solutions with web services. These solutions provide agile business integration and the promise of information anytime, anywhere, on any device.
For more information about Microsoft .NET and web services, please visit these websites:
msdn.microsoft.com/webservicesFor More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
For more information about Planet Software products and services, visit the website at: www.planetsoftware.com.auThis case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.