Anita Osterhaug

Subscribe to Anita Osterhaug: eMailAlertsEmail Alerts
Get Anita Osterhaug: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal, Java Developer Magazine

J2EE Journal: Article

Mobile Java

Mobile Java

Java development is about to become a lot fancier on the inside, and mobile technology will be the catalyst...

Mobile access to information is creating a whole new set of business opportunities and user expectations that will require multichannel delivery of personalized, real-time information and services.

In the new market, businesses must come to the user, wherever he or she is, and no one business can provide the goods and services that users demand. In this user-centric market, businesses will use new kinds of applications and servers to integrate their information and services in real time, and your jobs will get a whole lot fancier, very fast.

From the Mobile Technology Squeeze to User-Centric Commerce
Business analysts agree that wireless adoption is going to be bigger than the Internet, because mobile devices are more affordable, portable, and easier to use than the traditional PC. Mobile phone usage already exceeds PC ownership worldwide. By 2003, according to industry analysts Dataquests, the number of households with mobile phones will exceed the number with televisions.

For businesses, wireless can create a sort of forced march to profitability...or pain. Mobile service providers are being squeezed: the cost of upgrading for higher-bandwidth packet-switched networks is huge, around $400 per subscriber for technology and, in Europe, $1,000 per subscriber for licenses. But high "churn" rates (users switching to other providers) lower the lifetime value of each customer. Therefore mobile providers need value-added services to help retain subscribers and raise the annual revenue per user (ARPU). As traditional businesses take the opportunity to offer new mobile services, those who don't will find themselves at a competitive disadvantage. Meanwhile, new players are arising with offerings such as mobile portals and mobile payment services.

Users and businesses will pay for these services because they're tailored to the user's requirements, delivered whenever and wherever the user needs them. Some are supplied through the user's business, some by the mobile service provider, and some through merchants. Form factors on mobile devices aren't convenient for complex interactions, so some services are delivered via the PC. (For example,
you might buy some stock via your mobile phone, but browse your portfolio through the PC.) And the last thing a user wants is to be deluged with mobile "junk mail," so all of these services must be personalized for the user while protecting his or her privacy.

Creating the Global Neighborhood: The E-Commerce Ecosystem
As a user, the world is now your neighborhood. User-centric commerce creates an atmosphere of service that follows a person from location to location, from device to device. Wireless Java developers may need to develop applications for user-centric commerce systems that integrate whole networks of providers to deliver user-centric services.

For example, mobile service providers (MSPs) supply other players with information on the user's location (using transmission information or GPS capabilities in the mobile device) and identity (using the phone number and device ID). They're the primary gateway through which mobile information and services are delivered to users. Businesses provide mobile access to their enterprise portals to support their mobile workforce or to reach mobile consumers. Banks and other financial institutions offer mobile financial services, from payment authorization to stock trading. And aggregators build mobile portals to bring together information, merchandise, payment, and other services.

All these businesses function like an ecosystem, where merchants, mobile, and other service providers are in constant interaction, making it possible to:

  • Request and send digital signatures and payments
  • Request and send, at the user's discretion, personal profile and location information, for personalized service
  • Disseminate personalized event-based information, from stock movement to book sales to weather
These systems will require integration, personalization, and scalability like none before.

Technology for the E-Commerce Ecosystem
How will you develop applications for these multi-channel ecosystems? Well, you're going to get fancy with J2EE and Java 2 Micro Edition (J2ME), with integration technology, and with specialized server technology. J2EE will be the foundation on which user-centric commerce systems are built, and you'll be using more of the J2EE technology stack than ever before.

J2EE Technology for User-Centric Multichannel Apps
J2EE's layered component architecture is ideal for multi-channel apps because channel delivery issues are separated from core services and business logic, which can be shared across applications.

J2ME adapts building blocks from J2SE and J2EE and provides them through different device profiles for multichannel application delivery.

Java Message Service (JMS) can be used to support workflow management of distributed business processes, and for event-driven activities such as system-to-system coordination among providers in an ecosystem or in user notification services such as weather alerts or stock price tracking.

J2EE is centered around CORBA, which can be used for intersystem communication and for lifecycle management of long-lived processes such as software agents that monitor events or negotiate transactions for users.

J2EE supports XML for a platform-independent exchange of information. XSL and XSLT can be used to transform XML documents to WML, HTML, or an XML stream for different delivery channels.

Java Security Architecture (JSA) provides multilevel security for distributed applications.

In the longer term, systems will incorporate other Java technologies such as Jini, a plug-and-play technology that supports spontaneous interactions between Jini-enabled devices on a network. For example, a user's PDA device could locate and print a file to the nearest printing service, or a refrigerator could send a shopping list to its owner's mobile phone.

Not only will user-centric computing require different Java components, it will require different, very specialized servers and services. Application servers will be vital, of course, but their scalability will be a bigger concern than ever before. User-centric e-commerce increases the scalability challenge by an order of magnitude, because user-centric applications are "always on"-systems must constantly monitor events on the user's behalf, using business rules and personalization to anticipate each user's needs in real time.

Can you imagine, for example, a stock trading system monitoring the market in real time, matching stock movements to the individual interests of a million users? Hardware costs for these mass-market applications may be daunting. (In fact, with current energy shortages in the U.S., the power costs alone may be daunting.) So look for application servers with multi-VM clustering architecture that makes optimal use of the computing power of each host machine. As with any e-commerce application look also for servers with high availability features.

Server Specialization
In addition to the application server, more specialized servers are available to speed development of user-centric applications:

  • Payment, security, and location servers: Bring together business systems and applications from a network of providers, transparently, to deliver services to the user. The user doesn't need to know that the movie tickets he or she is buying on the mobile phone come from one player, and the clearance to make that purchase is coming from another. These services may include customer profile, location, trust (digital signatures), mobile payment capabilities, and others.
  • Profiling and personalization servers: Tailor interactions to the user according to time and place and type of transaction. Personalization services can incorporate three elements:
    1.Business process personalization: Businesses take their repeatable ways of doing business and personalize their offers, pricing, and customer service to each user.
    2.Dynamically adaptive personalization: Users and businesses can set preferences defining how they wish to be served (users) or desire to serve (businesses).
    3.One-to-one interaction: Dialogues are conducted with each user using all known information about the user to facilitate the transaction.
  • Multichannel servers: Handle delivery across different channels while using profiles to ensure that each user gets the same "treatment" from an application regardless of the channel. These servers work with channel "gateways" that support a variety of protocols such as XML, WML, HTML, WAP, and SMS.
  • Event servers: Monitor specific events on behalf of users and dispatch tasks to other servers.
  • Integration servers: Handle transactions' data transfer with other parties in the ecosystem using XML or other standards.
  • EAI servers: Support integration with different back-end systems through connectors to SAP, CICS, MQSeries, and credit systems such as MasterCard.
This specialization has several benefits for developers. First, it will speed development, because you'll be able to assemble servers like components. Second, it helps to address the scalability challenge, because servers can be hosted together or spread across different-sized host machines according to their needs, and each server can be tuned for its specific task.


Flights of Fancy

We're still in the infancy of user-centric computing. Over the next few years, new mobile devices, text-to-speech and speech recognition software, and higher bandwidth networks will enhance the possibilities for anytime, anywhere business applications. And the "facts of life" I've presented here may well turn out to be the toddler facts of life as standards and technology become fancier still. But the multichannel squeeze ensures that many of us will be involved with user-centric applications sooner rather than later. With the right tools, we can enjoy the journey to "grown up" multichannel applications. So get out there, get your feet wet, and experiment with these new technologies.

More Stories By Anita Osterhaug

Anita Osterhaug, a WBT International Advisory Board member,
is director of knowledge products
for Brokat Technologies, and an experienced freelance writer on Internet
technologies.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.