II New opportunities and environments for

advertisement
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
Download