Enterprises Tool Up to Build Vista Apps
While Microsoft launched its Windows Vista Business operating system on Nov. 30, some enterprise users have had a head start by using the development tools targeting Vista to build applications.
Early adopters of the Vista wave of Microsofts development tools have been able to use the technology to build new and re-architected applications that will run on the new operating system.
One such customer is IP Commerce, of Denver, which markets a financial application known as the PASS (Payments as a Secure Service) Commerce Center.
Chip Kahn, chief executive of IP Commerce, said PASS Commerce Center provides businesses with easy-to-access, easy-to-use secure payment and financing services on PCs running Windows Vista Business. Businesses can integrate accounts receivable and accounts payable into daily workflow by conducting financial transactions over IP. The solution uses two components of Microsofts .Net 3.0 framework: WPF (Windows Presentation Foundation) and WCF (Windows Communication Foundation). Microsofts .Net 3.0 is the core development platform for Windows Vista, although components also target Windows XP.
Through PASS and Windows Vista, businesses will have clear access to financing, payment services and reporting; confidence that financial transactions from the desktop are secure; and connectivity between small business and their financial management service providers, according to IP Commerce. In addition, the PASS Commerce Center will help to improve cash flow and reduce fraud; provide simplified access to payment protection, small business loans and equipment financing; lower setup and ongoing expenses; simplification and synchronization of company processes and information access; and improved personal productivity, company officials said.
Kahn said the idea behind the IP Commerce system is essentially to create an SOA (service-oriented architecture) for the payments industry with major financial institutions providing services and small businesses consuming these services through Vista. There will be a central place in Vista where small businesses can go and tap into software services from PayPal or other services.
Moreover, Kahn said, "Weve found development time on .Net 3.0 is 10 percent of what it was on .Net 2.0. It has had an immense impact on what we can deliver, which is better interoperability between applications and a richer, more interactive user experienceall for less development time and effort."
And the companys developers were able to get up to speed on .Net 3.0 quickly, Kahn said.
"By leveraging .Net 3.0, elements of our solution include better access to disparate data sources, intuitive reporting and enhanced security," Kahn said.
Meanwhile, Dollar Thrifty Automotive Group, or DTAG, is using .Net 3.0 components to upgrade an existing system. DTAG is using WCF and another .Net 3.0 component: WF (Windows Workflow Foundation).
DTAG, the Tulsa, Okla.-based parent company of Dollar Rent A Car and Thrifty Car Rental, is using the .Net technology to replace an aging Cobol application written decades ago and consisting of thousands of programs. The system is used by DTAGs agents and greeters to check vehicles out to and in from customers.
With the goal of building the companys next-generation integrated car rental system, DTAG developers chose the .Net 3.0 platform.
Jim Arrowood, the technical architect on the DTAG project, said one major benefit gained out of the box from using WCF was the ability to offer different Web service endpoints built upon a single code base.
For example, Arrowood said, the smart-client application at the rental desk now has the ability to communicate with Web services using binary-formatted SOAP (Simple Object Access Protocol) messages.
"This approach has significantly lessened the bandwidth requirements and thus drastically increased the performance of the application," Arrowood said.
However, DTAG also needed the ability to check vehicles back in via handheld units in the parking lot, he said. These handheld devices were not WCF-aware, nor did they have a simple way of communicating with the services in a binary format. WCF allowed DTAG to expose a standard SOAP Web service without binary formatting that the handheld units could consume with a simple server configuration file change, thus creating two independent Web services with a single code base, Arrowood said.
Moreover, DTAG faced the issue of selecting the proper design of the user interface for the new system, because rental agents interact with customers in different ways. For instance, some may begin by asking for the customers name, some by asking for a reservation number, some by asking what type of car the customer would like. And not only do agents begin the process in different places, but they complete the process in various orders, company officials said.
The major hurdle for developers tasked with modeling this type of process was determining when validations should take place in the system, Arrowood said.
"If validation A should take place when data element Y and Z is completed, but Y may be filled out by some agents first while Z may take several inputs before being entered, the traditional solution to the problem would be to build a ton of spaghetti, if-then-else statements," he said.
DTAG chose to solve this problem with a more maintainable and creative solution: the introduction of WF, Arrowood said. WF allowed developers to create a collection of workflow "activities" that represented different validations within the system, he said.
"By monitoring different input parameters from the agent, WF is able to fire the appropriate validations immediately when the data is available, thus allowing the agent to work through the process in any order, but allowing developers to model the interaction in a maintainable, readable fashion," Arrowood said.
"WF provided developers a graphical interface to develop these typically hard-to-maintain-and-understand validations all within the Visual Studio environment," he added.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.