Evaluating .NET for mobile solutions Xiaogeng Zhao and Peter Clayton Computer Science Department, Rhodes University “There was a time when the fastest mode of business travel was by land or sea. Now it's by air. And there was a time when the fastest mode of business communication depended on wires and cables. Now it is wireless.” [1] Abstract: With the widespread adoption of the mobile Internet and mobile devices, today’s communication and data exchange is increasingly going mobile. Nearly all major IT companies have sought to exploit the opportunities and the huge market brought about by the “mobile revolution”, and have begun to create solutions for this sector. This paper reviews Microsoft’s .NET strategy to analyse and evaluate it’s mobile aspects, and to evaluate how it stacks up against its closest competitors in this market. * Emerging Internet-enabled telephony devices, along with the increasing use of notebook computers and PDAs (Personal Digital Assistants), make the deployment and development of wireless solutions for business, technology and management easier than ever. These wireless technologies include wireless WANs, wireless LANs, metropolitan and local-loop solutions. They also include business considerations associated with the enterprise deployment and management of mobile computing devices. Keywords: Besides all the hardwire technologies that underpin the mobile solutions, online services are required which can intelligently provide information to a variety of devices in a pro-active manner. This survey paper takes a look at what kinds of services are needed, what classes of user are being targeted, and upon what devices the services are being based. It provides an overview of implementation issues for the next generation of web services. Mobile devices, Web service, distributed computing model, .NET, XML, WAP, WML, SOAP, UDDI, WSDL II New opportunities and environments for mobile applications and services I An introduction to Mobile Internet and wireless services New opportunities in communications are likely to make technology work harder in the background, so that humans can be more productive and still lead balanced lives [3]. The Internet has become part of the daily life of individuals; it has become a universal applications and services platform for online and offline business, education, entertainment, and so on. As the Internet reaches new market penetration levels, the fixed desktop connections along with the traditional online services become less and less suited to the fast changing environment and the fast growing requirements of the Internet. This trend is likely to continue, as the whole IT industry continues on a rapid growth curve, “522 million users online world-wide. ICT Spending Continues to Grow from US$ 1.3 trillion in 1993 to over US$ 2.4 trillion (Digital Planet2002). Increases in E-commerce Market Share (Especially B2B):Internet Purchases in 2001 Amounted to over US$ 600 billion -- US$ 516 Billion (B2B); and US$ 117 billion (B2C) (Digital Planet2002).”[2] A more flexible, more powerful alternative Internet connection is needed, which can take the growth and market penetration to a new level. It makes sense from the deployment, convenience, and economical points of view to utilize a mobile Internet, and mobile services that can search and find the latest information within a few seconds on a variety of devices, with a range of capabilities, unconstrained by geographic location. With the merging of the Mobile Internet (the wireless Web), and mobile services, mobility has extended the concept of “taking the office home" and “work-from-home” to "taking the office everywhere" and “work-from-anywhere” situations. With these mobile solutions, people equipped with PDAs, or Internet enabled cell phones, have access to their calendars, email, and company data, no matter where they are. This means that multiple employees using handheld devices are able to keep in touch, and benefit from multi-way relational database synchronization, two-way file transfer, and remote installation of applications. Mobile employees can even work off-line and synchronize applications and data between the company's servers and their PDAs. Some predictions for future mobile services are: [4] The year 2003, 'E-mail everywhere' - e-mail becomes as commonplace and as necessary as the telephone. The year 2004, the Web (or a future version of it) becomes a generic 'front-end' for all information appliances, including cellular phones, TV sets, and telephones. * This work was undertaken in the Distributed Multimedia CoE at Rhodes University, with financial support from Telkom, Lucent Technologies, Dimension Data, and THRIP. We also acknowledge the bursary support of Microsoft. 1 III .NET as an emerging mobile platform “Microsoft has to reinvent itself as operating systems start becoming invisible to applications and devices.” - Microsoft .NET is not a simple extension of the PC based computing architecture; it offers the new concept of extending distributed computing throughout the Internet. If it lives up to its promise, .NET will provide ubiquitous Internet-oriented applications and services, such as web services, and services for mobile/wireless devices, with security and privacy at the core. These services are intended to stretch across devices, across languages, and across operating systems. At the same time, .NET is a development environment that provides tools, which allow developers to build applications and services in a rapid prototyping fashion. In general terms, .NET is a long-term strategic concept, a brand name from Microsoft, and a taste of the future of the Internet. More technically, .NET is made up of XML, the Web Service, and the .NET framework These architectures provide developers with the ability to use a rich range of resources and functionality provided by local modules, as well as by remote services. However, these architectures have a common shortcoming. They cannot be extended onto the general Internet, as they require a tight coupling between clients and services to be provided by the system. In another words, they require a symmetrical system module on both ends. Systems with this architecture are normally extremely sensitive to changes and updates; if modules or mechanisms have been changed at one end, the other end will not function properly, or might even crash. Tightly coupled architectures are used in many applications. They work well within relatively small scale or stand-alone solutions; but when interoperability, extensibility, and massive inter-cooperation are considered, it is very difficult, if not impossible, to achieve a unique system or an architecture across all different and independent business entities. The .NET Model: 1) XML (eXtensible Markup Language) has become a standard for data exchange 2) The Web Service is a concept that facilitates interactivity between different devices such as PCs, PDAs, and cell phones, across the Internet 3) The .NET Framework is a new generation development and deployment platform. It provides a unified Base Class Library, and a CLR (Common Language Runtime) environment that enables web services to be developed under different programming languages. 3 Functionalities of .NET [5] Provides a .NET architecture, built on XML, SOAP, and UDDI. Provides interconnection between websites and contents. Provides a wide range of .NET services. 4 Provides .NET Interfaces for developers. 5 Provides inter-operability on a range of mobile devices. 1 2 The mobile solution layer in the previous table is critical and crucial to the entire strategic concept of the .NET, which promises to provide services to any authorized personal at any time, in any place, and on any device. The .NET mobile solutions are built upon these layers, and some newly emerged mobile devices have started to support these standards. IV .NET vs. traditional distributed computing models Traditional solutions such as DCOM, CORBA, and RMI: By contrast, .NET Web services are loosely coupled. Each of the connected points can change its mechanisms and contents at runtime, and it will not affect the proper running of individual applications or the system as a whole. Technically, the trend is towards using a message-based, asynchronies mechanism, HTTP, SMTP, and XML, to achieve high standards of system reliability and extensibility. The .NET web service is a programmable distributed computing model, which can be accessed via standard Internet protocols. Technically, developers can integrate web services into applications by invoking a web API, similar to a local service invocation, but with the difference that the Web API invocation can be used for any other service in the remote system via the Internet. Furthermore, .NET technologies are based on standards such as XML, SOAP, UDDI and EbXML, which will further transform the distributed services. These services can communicate with each other with little or no human intervention, because the components are self-described, which is to say they contain information such as service location data structures, operations, and so on. A Mobile scenario: It is difficult to create web services with traditional distributed models such as DCOM and CORBA, because they require a complex and symmetric system implementation. They need to deploy the same Distributed Object Model on both side of the connected system, and it is impossible and unreasonable to make every mobile device run IIOP or COM. Besides, the mobile devices are commonly equipped with much less RAM and computing power than a conventional computer. 2 V .NET Mobile Solutions Mobile services implementation: This section introduces the essential technical standards used by .NET. (1) XML and WML are data description standards used by mobile services. XML (eXtensible Markup Language) is a W3C (World Wide Web Consortium) standard, developed as a simplified subset of SGML (Standard Generalized Markup Language). XML uses a self-description mechanism to define data, and is able to represent the relationships between data sub-structures through enhanced data structure descriptions. Data defined in this format is relatively easy to read by both humans and computer applications. XML has enabled heterogeneous computing environments to share information over the Internet, has become the most commonly used data and document exchange standard. WML (Wireless Markup Language) is a mark-up language based on XML. WML is used to create pages that can be displayed in a WAP (Wireless Application Protocol) browser (i.e. one designed specifically for mobile devices). (2) SOAP (Simple Object Access Protocol) is a message exchange protocol used by mobile services. It is a simple XML based communication standard, made especially useful though its platform-independence, language-independence, simplicity, and extensibility. Furthermore, it allows applications to exchange information over HTTP.* For this reason, applications and services have traditionally been developed for each of the specific devices separately. Reusability and intractability of codes have been very limited, and the maintenance of systems developed in this way has necessitated multiple updates for each change of functionality. The .NET mobile solution offers a way to write applications and services once, and target it a wide range of mobile devices. This reduces the complexity of both authoring and maintaining code. The Mobile Internet Toolkit: The Mobile Internet Toolkit is tightly integrated with Microsoft Visual Studio.NET It contains server-side technology that extends ASP.NET to deliver content to a wide variety of mobile devices. These devices include WML and CHTML (Compact Hyper Text Markup Language) cell phones, HTML pagers, and personal digital assistants (PDAs) such as the Pocket PC. The Mobile Internet Toolkit contains a complete suite of tools for rapidly building mobile Web applications for wireless devices, and for extending the toolkit with new device-specific adapters. Mobile Web applications can be built using the graphical interface provided by the Mobile Internet Designer in Visual Studio .NET or can be authored in a text editor using any language supported by the CLR (Common Language Runtime). VI Risk evaluation (3) UDDI (Stands for Universal Discovery Description and Integration) is used to locate a mobile service.. It is a public standard, which allows companies to register their web services, for other companies or customers to locate and use via simple mechanisms. Adopting a new technology such as .NET realises the opportunities already outlined, but one should also be mindful of the possible risks. This section of the paper takes a look at the business case for adopting or avoiding .NET as an implementation platform. (4) WSDL (Web Service Description Language) can be used to describe mobile services. It is able to specify the location of a service, and to describe the operations (or methods) it exposes. General risk factors in adopting .NET as a solutions platform: Mobile applications environment: (2) Since .NET is a new and massive platform, it might still be regarded as not mature enough for reliable development in business- or safety-critical areas. and the services development Different mobile devices have different capabilities, which is the reason why Mobile Web Applications and Mobile Web Services should be separated from Web Applications and Web Services. A number of current browsers on mobile devices do not support HTML but another Markup language called WML (Wireless Markup Language), which is part of the WAP (Wireless Application Protocol) specification. Furthermore, those devices that support HTML web pages may not have the same display or memory capabilities. * (1) .NET requires new skills, tools, and a new system, and brings with it a fresh learning curve. (3) New features introduced by .NET, such as unified class libraries for all languages, managed component models, and so on, incur an efficiency price in being backward compatible. (4) Transforming existing solutions into genuine .NET implementations require a massive code re-writing effort.. Areas of technical shortcoming and incompletion in .NET: This allows one to circumvent firewalls. 3 (1) SOAP: The current Soap implementations are slow and inefficient transport layers. Soap, by default, will be slower than any native transport layer, and the message packets will be bigger,. In addition, all data will need to be converted from the native format into XML, and then back again. (2) Security issue: .NET relies on a passport to identify legitimate user access, and information on all passports and passport owners are centralized. Therefore the risk of being attacked by hackers or malicious organizations is dramatically increased. (3) System integrity during runtime system modification and upgrade: Has .Net moved development from DLL hell to Web service hell? The version problem is always a headache for developers and users of DLLs. When newer versions of a DLL have been deployed for a certain application, other applications that depend on the same older DLL might not be able to function properly. The .NET solution introduces a new and more flexible mechanism to solve this problem, which allows runtime changes of the DLLs and services, but this means that there is no guarantee of service integrity. People can use the feature to perform some malicious action, even during the runtime of a transaction. (4) Compatibility: In terms of language support, Microsoft has announced that 27 different languages [6] will be supported by .NET. It is unlikely that all of these languages can be given equal development prominence, particularly those that are associated with rival organisations (such as Java). In terms of platform independence, there is no reason why the .NET runtime environment cannot be deployed on various target architectures, but most development and deployment is currently on Microsoft platforms. SUN Java (J2EE): The most competitive and mature alternative to .NET is the J2EE (Java 2 platform Enterprise Edition). The J2EE architecture is based on the Java programming language, and is an industry standard. J2EE was designed to simplify complex problems associated with the development, deployment, and management of multi-tier enterprise solutions. It has recently been extended to include support for building XML-based web services. These web services can interoperate with other web services that may or may not have been written to the J2EE standard. The J2EE application and service architecture is hosted within a container, which provides qualities of service necessary for enterprise applications, such as transactions, security, and persistent services. The business layer performs business processing and data logic. In large-scale J2EE applications, business logic is built using Enterprise JavaBean (EJB) components. This layer performs business processing and data logic. It connects to databases using Java Database Connectivity (JDBC) or SQL/J, or existing systems using the Java Connector Architecture (JCA). It can also connect to business partners using web service technologies (SOAP, UDDI, WSDL, ebXML) through the Java APIs for XML (the JAX APIs). Business partners can connect with J2EE applications through the same set of web service technologies. A servlet, which is a request/response oriented Java object, can accept web service requests from business partners. The servlet uses the JAX APIs to perform web services. Type of technology Middleware Vendors Interpreter Dynamic Web Pages Middle-Tier Components Database access SOAP, WSDL, UDDI (5) A large deployment package: Currently the deployment of .NET framework and CLR (Common Language Runtime) needs nearly 50Megabyte of hard disk space. This exceeds the current capacity of even the most expensive of mobile devices currently available., it seems acceptable however to mobile devices that’s will take up all expansive memory VII Primary competitors to .NET * .Net is not the only web services framework currently available. Developers are able to seriously consider alternatives from SUN, Hewlett Packard, IBM, and Oracle, among others. This section introduces the major alternatives, and compares them with .NET. * Resources are from: http://www-3.ibm.com/software/smb/, services.hp.com, and http://portal.arocle.com. http://e- Implicit middleware functionality (Load-balancing, and so on) J2EE vs. .NET [7] J2EE .NET Standard Product 30+ Microsoft JRE CLR JSP ASP.NET EJB .NET Components JDBC, ADO.NET SQL/J Yes Yes Yes Managed Yes Since J2EE is based on Java, which is a platform independent language, it has the advantage of enabling code to be written once, and deployed onto any platform. While J2EE is platform-independent, it has the disadvantage of being language specific. Microsoft.NET offers languageindependence and language-interoperability. Additional disadvantages of J2EE are that it lacks support for SOAP, and requires more code and development time that .NET. Currently, customers are more likely to use Java than .Net because it is considered more open, but if Sun Microsystems' language shows any weaknesses or less in the way of 4 functionality in the future, companies are likely to switch to Microsoft in big numbers. Oracle solution (.NOW): .NOW includes Oracle9i Dynamic Services, which enable developers to create, catalogue and manage ebusiness web services for use in portal, wireless Internet, and Intranet applications. It can be used to build web services that access and aggregate information from any website, database or syndicated content source, and to personalize that information for each user according to their device type and role in the organisation. Oracle Portal Online, Portal.Oracle.com is a hosted environment where developers are able to build portals online free of charge. It is based around the 9i platform, which includes the 9i database and 9i application server, and includes a Hosted Portal Framework for delivering applications across the Internet, as well as Dynamic Services. Oracle is approaching its framework from a different angle to Microsoft's emphasis on enhancing personal productivity ."Oracle is positioning it (sic) as this great framework, but it is really just a beginning. It is far less than what Microsoft has to offer. Right now, Microsoft has a more believable vision. Oracle has this limited offering now, but hasn't said how it will develop." [8] IBM solution (Start now): IBM Start Now Wireless Solutions for e-business can link and synchronize personal digital assistants (PDAs) with existing information technology infrastructure, and can provide significant benefits in productivity and time management. IBM Start Now Wireless Solutions are part of an integrated family of solutions for e-business. Each of the solutions is specially designed to assist growing businesses get into ebusiness quickly and affordably, or to broaden a company's involvement in e-business. The Start Now family consists of three groupings: (1) Core solutions that get one going in e-business (infrastructure, e-commerce, and customer relationship management); (2) Solutions that extend e-business capabilities (business intelligence, collaboration, host integration, and wireless); (3) Solutions that more efficiently manage Web presence (Website management and content management). IBM Start Now Solutions for e-business are built on open standards, with compatibility, extensibility, and high availability. Compared with .NET, IBM Start Now Wireless Solutions for e-business are built on dependable software products from IBM and Lotus, such as IBM DB2 ® Everyplace. From a user’s pointer of view, IBM Start Now offered a very similar environment to that provided by Microsoft’s .NET mobile solutions.. HP solution (e-services): HP's e-services product derives new value from the Internet by moving beyond web-based access to information, to a world where people simply plug in to a rich array of nimble, modular electronic services on the Net. E-services are also being made available to hosted enterprise applications (Apps-on-Tap), and to network-based, rentable applications, to build services like information-on-demand, secure mobile payments, usage management, billing, help desks, and customer care. Mobile e-services solutions that enable Internet based services or include new types of services for mobile users. In addition, HP's enhanced its mobile solutions with other concepts such as E-Services-on-Tap, HP Financing, HP Consulting, HP Network Services and HP Telecom Critical Support etc. Whereas the Sun’s J2EE, Oracle’s .NOW, and IBM’s Start Now environments are aimed at a very similar market niche to Microsoft’s .NET, HP e-services provides enhanced services for enterprises, and plug-able solution modules for a range of different scenarios. In common with .NET, HP’s environment aims to provide a ubiquitous platform for personalized services. VIII Summary This paper provides a brief technical introduction to the development and deployment of .NET mobile solutions. It seeks to highlight the business risks, and the areas of possible shortcoming or incompletion. The paper also compares several other major competing technologies with Microsoft .NET. The focus is on surveying the current range of mobile service development facilities, and not on predicting which of the proprietary technologies might eventually emerge as a winner. With a strong emphasis on independent standards, the competing technologies are likely to co-exist for some time. IX References [1] Wireless: Increasing and extending the benefits of information technology beyond wired networks, IBM Corporation, 2001. [2] Chairman’s Public Policy Report 2002, David A. Olive, WITSA Public Policy Working Group Australia, 26 Feb 2002. [3] Communications Industry Overview, Hewlett-Packard, 1999. 5 [4] International Presentation SA, Eileen Leopold and Associates, 14 May 2001. [8] Oracle unveils its .Net killer, Ian Lynch and John Geralds, UK Internet, source reference, date. [5] Cutting a dash with .NET, Simon Meredith, Computer Reseller, 18 Sept 2000. [9] Java versus .Net debate heats up, Linda Leung, Comdex Fall 2000, Las Vegas. [6] The .NET Vision, Jim Miller, Presentation on Microsoft .NET Crash Course for Faculty and PhDs, Cambridge, 3 Sep 2001. [10] In praise of the .Net vision, James Governor, Computing, 11 Jan 2001. [7] J2EE vs. .NET, white paper from SUN, SUN, 2001 [11] Sun attacks Microsoft's stance on XML, John Leyden, Computing, 9 Aug 2000. 6