Java readies itself for wireless Web services
Emerging Java platforms are well positioned for wireless Web services developers
By Michael Juntao Yuan and Ju Long, JavaWorld.com, 06/21/02
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Convenience is the major motivation behind our adoption of wireless technology. The ability to access information anytime
from anywhere drastically increases our productivity as well as our quality of life by allowing us to work from home, car,
school, or vacation resorts, and manage time more flexibly. Besides the unprecedented convenience, a wireless Internet also
improves the quality of the information services. By taking advantage of wireless devices' pervasive nature, you can dynamically
customize information services for each user based on her location, mood, or other real-time data.
The wireless Internet's dynamic nature requires a new breed of dynamic services, which likely involves many service providers.
Even simple mobile commerce tasks require much expertise. For example, a straightforward stock trade application necessitates
services such as user authentication and authorization, customer relationship management, stock quotes and tracking, trade
executing, and fund transfer. Those services are built upon more basic services, such as Internet connectivity, security,
and transactional reliability monitors. The IT industry's history has shown that a single vendor cannot offer the best expertise
or services in all fields. The best economic model features small vendors providing modularized service components, each serving
its core competency. Those modularized reusable software components are called Web services. To minimize bandwidth and CPU usage, wireless users can selectively use only the core services they need. Applications that
utilize a wireless front end for pervasive human interfaces and Web services on the back end to leverage the Internet's vast
information resources are called wireless Web services applications.
Web services from different vendors must interoperate from machine to machine to provide transparent services to customers.
Distributed computing services have long been able to work with each other through remote procedure calls (RPC) and remote
object frameworks. However, building such an interoperable network on an Internet scale requires industry-wide standardization
of communication protocols. We have XML-based protocols to standardize Web services' dynamic discovery processes (UDDI, or
Universal Description, Discovery, and Integration); service interfaces (WSDL, or Web Services Description Language); and asynchronous
and synchronous messaging (SOAP, or Simple Object Access Protocol, and XML-RPC). On top of those communication protocols,
other protocols provide more enhanced functionalities, such as the XML Encryption and XML Digital Signature protocols for
improving security. For instance, you can embed an XML digital signature in a SOAP message to guarantee that message's integrity.
Throughout this article, we explain wireless Web services' network architectures, how Java fits into the wireless Web services
picture, evolving technologies, and future trends. Since much literature already discusses server-side Java platforms and
Java-based Web services, we focus only on Java's role in wireless application development.
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Resources
- Sun's Wireless Developer Website contains FAQs, downloads, tools, and articles about J2ME
http://wireless.java.sun.com/
- Michael Yuan and Ju Long show how to access a database from J2ME/MIDP wireless devices in "Build Database-Powered Mobile Applications
on the Java Platform" (JavaWorld, January 2002)
http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-midp.html
- Learn about security challenges and solutions for mobile commerce applications in "Securing Wireless J2ME," Michael Yuan and
Ju Long (developerWorks, June 2002)
http://www-106.ibm.com/developerworks/wireless/library/wi-secj2me.html
- Learn how to digitally sign and verify XML documents on wireless devices in "Securing Your J2ME/MIDP Apps," Michael Yuan (developerWorks, June 2002)
http://www-106.ibm.com/developerworks/library/j-midpds.html
- Frank Sommers discusses big pictures and ideas behind Web services in "A Birds-Eye View of Web Services" (JavaWorld, January 2002)
http://www.javaworld.com/javaworld/jw-01-2002/jw-0125-webservices.html
- Todd Sundsted offers insights into the Liberty Alliance Project and Java-based single sign-on services in "With Liberty and
Single Sign-On for All" (JavaWorld, February 2002)
http://www.javaworld.com/javaworld/jw-02-2002/jw-0215-liberty.html
- Java Web Services Developer Pack contains the entire Java XML Pack, which includes the standard APIs for XML parsing in Java,
development tools, and deployment servers. It also contains special packages for XML data binding and Web services XML-message
processing
http://java.sun.com/webservices/downloads/webservicespack.html
- IBM's alphaWorks offers various Java XML Web services tools, including:
-
- The kXML Project includes SAX/kDOM parsers, kSOAP, kXML-RPC, and WBXML utilities for J2ME/CLDC
http://kxml.enhydra.org/
- NanoXML, a CLDC-compatible, lightweight XML parser
http://nanoxml.sourceforge.net/
- TinyXML, another CLDC-compatible, lightweight XML parser
http://www.gibaradunn.srac.org/tiny/
- Bouncy Castle Crypto is currently the only lightweight generic cryptography package for J2ME/CLDC
http://www.bouncycastle.org
- JSR 105XML Digital Signature APIs
http://www.jcp.org/jsr/detail/105.jsp
- JSR 106XML Digital Encryption APIs
http://www.jcp.org/jsr/detail/106.jsp
- JSR 113 proposes the Java Speech API 2.0 for voice recognition and synthesis
http://www.jcp.org/jsr/detail/113.jsp
- JSR 118 proposes the MIDP 2.0 specification
http://www.jcp.org/jsr/detail/118.jsp
- JSR 155 proposes Web Services Security Assertions, which support Web services authentication and authorization protocols,
such as SAML
http://www.jcp.org/jsr/detail/155.jsp
- JSR 172 is the proposed J2ME Web Services Specification; it standardizes XML processing APIs for small devices
http://www.jcp.org/jsr/detail/172.jsp
- JSR 177 proposes the SIM card-based Security and Trust Services API for J2ME
http://www.jcp.org/jsr/detail/177.jsp
- Preview the other Web services JSRs under review by the Java Community Process in "Is the JCP adequately preparing Java for
Web services?" Jennifer Orr (JavaWorld, June 2002)
http://www.javaworld.com/javaworld/jw-06-2002/jw-0621-jcp.html
- Jxta is a Java-based peer-to-peer framework that runs on J2SE, J2EE, and J2ME platforms
http://www.jxta.org/
- For more articles on Web services, browse the following JavaWorld resources
-
- For articles on devices, J2ME, and wireless development, browse through the Micro Java section of JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-micro-index.shtml
- For more articles on JSRs, browse the Java Community Process section of JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-jcp-index.shtml
- Chat about devices galore in JavaWorld's Device Programming discussion
http://forums.idg.net/webx?50@@.ee6b808
- Sign up for JavaWorld's free weekly Micro Java email newsletter
http://www.javaworld.com/jw-subscribe
- You'll find a wealth of IT-related articles from our sister publications at IDG.net