.NET Study Cases Overview Aleksandrs Lielbriedis Microsoft Consulting Services alekslie@microsoft.com Agenda Introduction to .NET Dollar Rent a Car Scandinavian Airline Systems Mobile Internet Toolkit with Demo Telenor Xerox Global Services Smart Device Extensions with Demo Summary Microsoft .NET Connecting your world through XML Web services Dollar Rent a Car Profile One of the world’s largest car rental agencies, with close to 400 locations in 26 countries Web site: http://www.dollar.com Mobile web site: http://mobile.dollar.com Dollar Rent a Car Business Need Wanted to provide partners with direct access into Quick Keys, its VMS-based reservation system CORBA, Java RMI, DCOM, and socket programming were all considered, but dismissed as inappropriate Dollar Rent a Car Solution Created a re-usable interface into Quick Keys based on XML Web services using the Microsoft platform Used Microsoft Mobile Internet Toolkit to create a solution that supports all major mobile devices Dollar Rent a Car Benefits Several million dollars in incremental revenues Lower transaction costs (no GDS fees) Flexibility, rapid integration of new partners Re-used the interface four additional times to rapidly and cost-effectively meet new business needs Dollar Rent a Car Comments “The speed at which Pete’s team completed the proof-of-concept and the simplicity of the solution actually startled us. I remember Pete and I discussing whether the solution could really be that simple. We kept looking for the catch, but never found one.” Larry Zucker Executive Director, Application Development Dollar Rent a Car Mobile.dollar.com Heard another car rental company was 90 days away from being the first to deliver a fully mobile-enabled Web site Delivered in 30 days, beat other company to market Costs were 10 percent of a third-party solution, project completed 2-3 times as fast Dollar Rent a Car Comments “The Microsoft Mobile Internet Toolkit and Visual Studio .NET enabled us to create a mobile site that can be accessed by a wide range of mobile devices in less than 30 days. All we had to do was build the pages once, call our existing XML Web service to access the mainframe, and we’re good-to-go.” Don Horner Senior Programmer/Analyst, Advanced Technology Group Dollar Rent a Car Integrating New EDI Partners Tour operators are one of Dollar’s target sales channels Integrating each new tour operator required hand-coding mainframe routines to parse flat files (2 months per partner) Delays were resulting in lost revenue In 14 hours, one developer created a proofof-concept using BizTalk Server 2000 that received a flat file, parsed it, and used Dollar’s existing XML Web services interface to send reservations to the mainframe Dollar Rent a Car Comments “All future EDI interfaces will be done using BizTalk Server and our existing XML Web services interface. This will reduce the time required to integrate each new business partner by 75 percent—from two months down to two weeks—and we won’t need to modify our mainframe applications for each new partner.” Peter Osbourne Group Manager, Advanced Technology Group Scandinavian Airlines System Profile Scandinavian Airlines System is a successful international airline and a leader in Star Alliance Web site: http://www.scandinavian.net Mobile web site: http://mobile.scandinavian.net Scandinavian Airlines System Business Need Provide new levels of service to their increasingly wireless customer base with variety of cell phones and PDAtype devices Existing VB6, COM+ application to extend it to mobile devices Scandinavian Airlines System Solution Chose .NET platform because: Low development, maintenance cost Easy to administrate over time Initially planned just to do rebooking but extended it to add XML Web Service Run same business logic on desktop & device Identify top 3 devices Scandinavian Airlines System Devices Some devices use wbmps Others use GIFs Nokia, LCD b&w displays PocketPC Use <device> selection feature of MMIT Scandinavian Airlines System Devices Take advantage of the feature set Scandinavian Airlines System Benefits Broad device coverage from a single mobile Web page Customization for specific devices, such as Pocket PC Fast time to market and low maintenance cost Improved customer service Scandinavian Airlines System Comments “Visual Studio .NET, along with the Microsoft Mobile Internet Toolkit, was an easy choice to make, it allowed us to deliver customized pages for myriad devices quickly and cost-effectively, plus we have the flexibility to build in exciting new features that will help SAS serve customers even better in the future.” Peter MüllerDeputy Director, Scandinavian IT Group Mobile Development Situation Web Site Mobile Development Challenge Form factors and device capabilities Multiple mark-up languages Cookie support State management Browser Variations Content pagination Development tools The Solution An SDK that… leverages ASP.NET to empower developers to build mobile web applications and sites that target multiple mobile devices. integrates with the Visual Studio .NET development environment for ease of use. Microsoft Mobile Internet Toolkit Write-once mobile web pages From a single code base target multiple devices Support multiple mark-up languages WML1.1 (WAP); cHTML 1.0, and HTML 3.2 Support for a variety of devices Web enabled Cell Phones, PDAs … Customizable and extensible framework Add new controls and support for new devices Integrates with Visual Studio.NET World-class development tool How MMIT works… Create mobile Web Form Mobile Presentation Layer (controls) Integrate Business Logic Test Target Devices Device Capabilities Mobile.aspx Pages Mobile Controls & Device Adapters generate display Post to Web Servers Development Environment HTTP Request HTTP Response Windows 2000 (with IIS) .NET Framework Mobile Internet Toolkit Production Environment Extending .NET Framework Web Services Platform ASP.NET Web Forms Mobile Web Forms Win Forms Web Services Mobile Internet Controls are ASP.NET controls Programming Model Services Framework Base Data Debug … Common Language Runtime System Services Control/object/event model State management Desktop and mobile applications can share code DEMO Telenor Profile Norwegian telecommunications group with extensive and fast growing business operations in a number of countries in Europe and Southeast Asia Norway's leading distributor of voice, information, knowledge and entertainment through a broad range of modern communications services. Web site: http://www.telenor.no Telenor Business Need Replace legacy point-of-sale online system, that was difficult to use and hard to expand Telenor Solution The need for rapid development led Telenor to use Microsoft Visual Studio .NET as its integrated development environment Microsoft .NET Framework, leveraging its great support for XML Web Services. Telenor’s new SOLO point-of-sale application, which has now been completed, deployed, and is in full service today for all of Telenor’s 2000 dealers Telenor’s SOLO Telenor SOLO Details Microsoft Windows® 2000 Advanced Server with load-balanced front-end Web servers Integrates with IBM WebSphere using XML Web services, showcasing XML and SOAP as an industrial-strength mechanism for enterprise application integration The solution calls more than 30 XML Web services with complex data types as input/output to the back-end systems Telenor Benefits Completing a project that could be delivered with ease on budget and on time Customization for specific devices, such as Pocket PC Fast time to market and low maintenance cost Improved customer service Telenor Comments “Microsoft Visual Studio .NET provides an integrated design environment (IDE) that has everything the developer needs – without ever having to leave the IDE – whether it is for design, coding, or debugging” Kenneth Hansen Developer at Telenor Xerox Global Services Profile Xerox Corporation is primarily engaged in the global document market selling equipment and providing document solutions including hardware, services and software Web site: http://www.xerox.com Xerox Global Services Business Need Extend its current Microsoft® .NETbased asset management solution to mobile devices, eliminating error-prone pencil-and-paper recording for field technicians. Xerox Global Services Solution The mobile solution was written in C# with Windows® Forms using the .NET Compact Framework and SQL Server™ 2000 Windows CE Edition on a Pocket PC with an integrated bar-code scanner The device communicates over a wireless link, when available, or via ActiveSync® technology, to a .NET server application using SQL Server 2000. Xerox Global Services Solution 3 developers to build application in 2 month Planned number of users and devices for deployment is around 5000 Eliminate human error from duplicate data entry and reduce time to input data into system Improve synchronization of data in central database Xerox Global Services Instance updates No paper Collect data for nonetwork devices View the service history Xerox Global Services More Details Technicians can use the Pocket PC to receive email alert notifications from networked devices that have gone down Bar code reader to capture asset numbers Wireless networking when it is available otherwise detached mode, and can synchronize using a cradle. SQL Server CE acts as the mobile device's local data store Xerox Global Services Benefits Able to share code between server and mobile device Single environment for desktop, server, and device development .NET Compact Framework supports a single compiled program across all .NET Compact Framework devices Most needed services were already available in the .NET Compact Framework Xerox Global Services Comments “We were able to port some of our C# code from the desktop to the mobile application, which helped our productivity. Our developers were already familiar with the C# language and Windows Forms. It was easy and natural for them to learn the .NET Compact Framework.” Kirk Pothos Software Development Manager Xerox Global Services .Net And Devices Visual Studio.NET .NET Framework web pages Mobile Web Browser code .NET Compact Framework Device Client Application Model web services soap Visual Studio.NET Smart Device Extensions code .NET Compact Framework .NET Compact Framework Windows Development Environment Device OS Target Device Visual Studio .NET Benefits Enables RAD development for devices Design and code editing customized for devices High fidelity device emulation Rich debugging in the emulator or on device Support for multiple platforms Device functionality fully integrated with Visual Studio Supported Functionality Common Base Classes IO, collections, math, drawing Connectivity Networking, HTTP classes, calling XML Web Services Data Access ADO.NET, SQL Server CE, SQL Server XML XmlDocument, XmlReader/Writer Windows Forms Unsupported Functionality ASP.NET COM Interop P/Invoke enables calls to Win32 DLLs No support for writing a COM object Remoting Serialization Install-time JIT (nGen) Networking Support Sockets Streams Synchronous and asynchronous Multiple protocols Built on top of sockets Synchronous and asynchronous HTTP request and response Use stream model Requires no user knowledge of HTTP Applications .NET Compact Framework Web Services HTTP Req/Resp, Network Stream Sockets Common Language Runtime XML Web Services Support Calling XML Web Services Synchronous and asynchronous invocation Basic and Digest authentication Secure Sockets Layer support for encryption (SSL) Custom SOAP headers Smart Device Support Client-side rich mobile application development for Visual Studio .NET Visual Basic .NET and Visual C# .NET Remote debugging Emulation Targets the .NET Compact Framework XML Web Services Rich Forms and Drawing Building Smart Device Apps Device-specific project settings in Project Properties Device Extensions toolbar exposes deployment device Tools Options to change device configurations and connectivity Building Smart Device Apps Same user experience as desktop Use desktop compilers to build the application Deploy to selected device Output Window used for deployment messages Supported features include Debug on the device or in the emulator Breakpoints Multi-language debugging DEMO Desktop App. Advantages Richer UI Responsiveness Performance Off-Line mode Efficient use of edge resources Easy integration with local application and APIs Summary Smaller development resources Higher productivity (RAD) Single IDE Easy integration with other applications Low maintenance costs Great developer story “It must be a catch somewhere” Questions?