yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
Cloud Expo & Virtualization 2009 East
Smarter Business Solutions Through Dynamic Infrastructure
Smarter Insights: How the CIO Becomes a Hero Again
Windows Azure
Why VDI?
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun's Incubation Platform: Helping Startups Serve the Enterprise
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
The Perfect Storm
The Perfect Storm

People thinking about wireless applications for business are in a dither about wireless technology and where it's going. Wireless will change a lot in the next few years. But instead of trying to predict the future of wireless standards, developers should be investing in an application architecture that will last them through technology changes, increasing wireless usage, and the changes in business models that wireless will entail.

Layered application architectures based on the Java 2 Platform, Enterprise Edition (J2EE), can provide a platform for wireless applications that is channel neutral, adapts easily to new wireless technologies as they mature, and scale to support the potentially millions of concurrent users that wireless applications will eventually serve.

Whither Wireless?
Business people contemplating the development of wireless applications are stressed over trying to predict where wireless will go. Today it's alphabet soup. What will be the fate of WAP versus i-mode. What will happen with the differing international telecommunications standards such as CDMA and GSM? What can we expect with the new generation, GPRS and UMTS? Where does messaging fit in? And we haven't even begun to think about the big changes coming in digital TV and all the other new channels coming onstream.

Getting into wireless applications today feels about as safe as jumping off a bridge into a riptide in a hurricane. And while perception is often reality, in this case you can jump in. The water's fine. The trick is not to get hung up on all the standards and protocols, but to concentrate on a few simple facts.

First, the most important change in wireless communication today is the evolution from circuit-switched to packet-switched networks, because packet-switching technology will provide the bandwidth needed to make wireless business applications practical. Second, you don't have to hang back, waiting for the wireless technology market to settle out. There will always be newer and better technology just around the corner, so you could be waiting a long time. With the right application architecture, you can get in early and successfully, and plug in the best new communication technology as it arises.

Let's look briefly at the evolution of wireless technology - where it is today and where it's going over the next couple of years:

  • First and foremost, wireless Internet access is a great business opportunity. More than that, it will soon be a business necessity. There are 350 million mobile phone users today. That number will grow to more than 1 billion by 2003, and 600 million of those users will use wireless devices to access the Internet versus an installed base of only 400 million PC users. If you want to reach people through the Internet, you'll need to reach at least 60% of them by wireless much of the time.
  • In thinking about wireless applications, it's important to distinguish between transport issues and application-level issues. Today's circuit-switched transport protocols (GSM in Europe and CDMA in the U.S.) are not ideal for wireless applications. They're low bandwidth (4-28.8Kbps), and half of that bandwidth is taken up with connection overhead. This year the industry will move to faster, higher-bandwidth, packet-switched protocols (GPRS and CDMA 2000). Beyond that, things will get even better: by 2003 UMTS and other 3G technologies promise 2Mbps data streams.
  • Wireless application protocols are evolving to make more efficient use of the wireless bandwidth soon to be available. The international standard Wireless Application Protocol (WAP) provides more efficient Internet access than HTML because the communications stream is sent as encoded binary rather than bulky text. Wireless Markup Language (WML) provides simplified page descriptions and scripting for wireless applications, and lightweight Java Messaging Service (JMS) will help guarantee delivery of wireless communications.
  • Wireless devices are evolving to take advantage of faster transport mechanisms. The current generation of so-called smart phones is already WAP-enabled. Second-generation phones based on Palm OS and EPOC will have more memory and better displays and keyboards to handle more sophisticated wireless applications, and future devices will combine the functions of phones and personal digital assistants (PDAs) such as the Palm handheld organizers.
Within a few years wireless applications will evolve from simple e-mail delivery and paging to true user-centric m-business. Higher bandwidth protocols, more flexible devices, and alternative application models such as Java clients will support increasingly sophisticated wireless applications for businesses and consumers.

Flourishing in the Storm
The winds of change are strong in the wireless world, so in designing wireless application systems think willow, not oak. The goal is to create an adaptable application architecture that protects vital business information and makes it available through a variety of communication channels in a personalized way, from wireless to conventional Internet access to system-to-system communication. Application architectures for wireless need to be:

  • Channel-neutral: Businesses need the immediacy of wireless communication with the flexibility to access the same business applications using other front-end technologies. * "Future-enabled": Bad buzzword, but you know what I mean. Applications must be built to incorporate improvements and emerging new standards in wireless technology with minimal rework and minimal disruption to business processes and users. * Adaptive: Applications must support new business models that wireless communications will foster. For example, current Internet applications are based primarily on a "pull" model - users connect and make requests, and applications respond. With packet-switched protocols, users are always on, inviting a "push" business model where users can register interest in events and be notified in real time. For example, a user might get on a waiting list for a plane reservation and be notified via a wireless device when a seat becomes available.
"Supple" Wireless Application Architecture
The best way to incorporate all these wireless applications is with a layered application architecture centered around object application servers that protect business assets regardless of changes in front-end technology. J2EE is a natural fit for this kind of architecture because it's layered by definition.
J2EE is a component-based architecture in which requests from users are handled through a servlet engine - a presentation engine for objects that typically runs in an object application server. The servlet engine assembles content dynamically either by accessing data directly from a database or through business objects executing on the application server. The application server then retrieves data of record from back-end databases or integrates data from other business systems. The beauty of this approach is that the presentation engine and the business engine don't need to know where the data is coming from or where it's going. Applications are channel-neutral because the WAP or Web server on the front end takes care of front-end communication issues and user interface issues. And because the layers isolate business information and rules from transport issues, you can incorporate new front-end technologies just by changing the front-end server.

Application Servers:
The Changeable Heart

The application server is the core of a "supple" application architecture for wireless applications. A next-generation platform technology offers all the benefits of J2EE, and supports new business models through multichannel delivery of personalized content and transactions, rules technology, and customer profiling and reporting as well as out-of-the box alerting mechanisms and other technologies. It also supports business growth and success through the same things business systems have always needed: scalability, high availability, reliability, and so forth.

There are several features to look for in choosing an application platform for wireless applications. Let's take a look at some key core requirements. A clustered multi-VM architecture with a shared object cache is critical to scalability because it makes optimal use of all available resources, ensures high availability through efficient clustering that is transparent to applications, and supports multiple channels with highly tuned banks of Java VMs communicating through the shared cache (see Figure 1).

Scalability is paramount in wireless applications because of the sheer numbers of anticipated users and all-the-time connectivity. New push business models will put an even greater burden on the application server. Most of those currently on the market offer a single JVM per host machine and keep clusters of these single-VM application servers in sync at the cost of duplicate hardware and increased system administration. As load increases, these systems must be taken offline to add more hosts.

Wireless applications are best served by an application server that supports multiple VMs per server with multilevel load balancing that matches processing needs for specific operations to JVMs configured to meet those needs. This kind of multi-VM architecture will scale faster and more cost-effectively to meet the needs of always-on wireless applications, and banks of VMs can be configured and dedicated to serving multiple concurrent channels. A shared object cache can give many JVMs, hence many applications and channels, efficient shared access to the same objects and events. In particular, the shared cache:

  • Transparently and efficiently synchronizes clusters of VMs without impacting the developer or the application
  • Enables inter-VM communication and collaboration
  • Supports the transparent swapping in and out of VMs in the production system for online application releases and to replace VMs that are getting too long in the tooth
  • Provides transparent persistence for objects to minimize object-to-relational translation for in-process data, plus support for distributed, heterogeneous transaction control
Asynchronous Delivery
Wireless applications are interrupt-driven by nature. (I'm using my smart phone and I spill coffee. I lose the signal when my train goes through a tunnel.) To deal with this, look for application infrastructures that will transparently persist session state, so that applications don't lose context when connections are interrupted. More important, asynchronous communication is the preferred mode for wireless communications. Wireless applications are already using lightweight Java Message Service (JMS) within the J2EE architecture to provide message queuing and publish/subscribe capabilities with guaranteed delivery, security, and a small footprint suitable for wireless devices. JMS and always-on applications require a highly parallel application server architecture with background processes to monitor for and send events, supporting push business models and protecting users from the inherent problems of network coverage.

High availability is always important to business applications, but it's even more critical in the always-on world of wireless. Application servers for wireless should provide high overall reliability, plus automatic failover at the exact level required to ensure continued service (VM, server, host, etc.). Precision failover is more cost-effective and less disruptive to running applications, especially if session context is stored in a persistent object cache. In addition to transparent failover, application servers should support maintenance, upgrades, and deployment of new applications while remaining on line.

A Case in Point
For some companies wireless applications will be just one new interface in the overall information strategy. For others, wireless communication will be the base on which their businesses are launched. Look at how wireless fits into an entirely new kind of business model, a digital exchange in which various business partners collaborate to manage projects; find information on products, regulatory requirements, and market conditions; and purchase materials from a wide array of suppliers.

Wireless devices and applications play many roles in the digital exchange's information network.

  • Suppliers use handheld devices to update product inventory. They may also push promotional or product availability information out to purchasers through mobile devices.
  • Sales representatives use multicommunications Devices (MCDs) to generate quotes and fax or e-mail them to customers from the field.
  • Purchasers use PDAs to download product and other information, enter transactions, or check order status.
  • Project managers use PDAs to check schedules and manage projects remotely.
  • Partners use WAP-enabled cell phones to retrieve messages regarding project issues or to send messages to other team members. Alphanumeric pagers also support Internet e-mail, faxing, and messaging.
This digital exchange's e-commerce system must support all these types of wireless communication (see Figure 2). And even more important, it must support them through the same system that provides POIA (plain old Internet access), XML access to suppliers' business systems, FTP access for file transfers, JMS/MQ access to mainframe systems, JDBC access to back-end databases, and future types of access they haven't even thought of yet.

Fortunately, the designers and builders of this hypothetical digital exchange are as wise as we are, and they've planned their business around a layered J2EE architecture running on a next-generation application platform. They'll be able to support all their different channels with the same business engine. They'll be able to personalize services and make them highly adaptable. Even within a single channel, such as wireless, all transactions aren't alike. For example, numerical paging doesn't have the same processing overhead as booking a product order. With their multi-VM application server, the digital exchange will dynamically assign specially tuned banks of VMs to handle different channels and transaction types. Transmission problems in any channel will be dealt with transparently because session state is stored automatically in the shared persistent object cache, which also maintains transaction control for business objects in the application server and across the many systems and databases integrated through the application server.

The lesson of this scenario is that wireless can bring tremendous value to business applications through its wide acceptance and its anytime, anywhere presence. It's important to remember, though, that the big value of e-commerce, m-commerce, or any other newfangled kind of automated commerce you care to name is the ability to integrate, streamline, and extend business processes for better service and business growth. And to do all that, you need the right system architecture from front end to back office.

The Perfect Storm
The storm of change in wireless technology can be an opportunity for those who get in early. Wireless lends itself to totally new types of applications, and its immediacy can be a powerful differentiator in existing business interactions. The trick is to set sail now, armed with an application architecture that will carry you forward safely and profitably, wherever the wind may take you. Smooth sailing!

I'd like to thank Paul Chambers, former CTO (Europe) of GemStone Systems, Ltd., a Brokat company, and Anita Osterhaug, currently director of knowledge products for Brokat Infosystems in California, for their original work on this article.

CDMA: Code Division Multiple Access; circuit-switched wireless transport protocol used mostly in U.S. and Asia
CDMA 2000: Next-generation packet-switched version of CDMA
EPOC: An operating system, application framework, and application suite optimized to support wireless devices such as smart phones
GPRS: Generalized Packet Radio Service; next-generation (2.5G) packet-switched wireless transfer protocol based on GSM
GSM: Global System for Mobile communications; European standard circuit-switched wireless transport protocol
SMS: Short Message Service, standard for alphanumeric messaging in GSM Networks
MCD: Multicommunications device that combines several functions such as phone, fax, paging, e-mail, or personal organizer
mSign: Industry consortium pushing standardization of Mobile Electronic Signatures forward (
UMTS: Universal Mobile Telephone Standard, third-generation (3G) technologies with bandwidths in the megabit range
UPD: User Datagram Protocol; lightweight Internet protocol that provides only basic services.

About Stefan Ropers
Stefan Ropers has spent his career managing IT
projects dealing with the electronic distribution of software and the clearance of Internet payments. As vice president of product management and product marketing for Brokat Technologies. (, he defines and brings to
market platform products that "m-power" Brokat's user-centric m-business vision of "Service Like Air."

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions n...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructur...
When building large, cloud-based applications that operate at a high scale, it's important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. "Fly two mis...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performa...
As Cybric's Chief Technology Officer, Mike D. Kail is responsible for the strategic vision and technical direction of the platform. Prior to founding Cybric, Mike was Yahoo's CIO and SVP of Infrastructure, where he led the IT and Data Center functions for the company. He has more...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)!

Advertise on this site! Contact advertising(at)! 201 802-3021

SYS-CON Featured Whitepapers