|
||||||||||||||||||||||||||
|
Using Mobile Devices to Access Your AS/400
by Jyn-Ching Yaur The wireless Internet is here. In fact, you may already have the ability to use the wireless Internet today and not even know it. Many cellular phones and personal digital assistants (PDAs) already have the ability to connect to the Internet today, and major cell phone makers (including Nokia, Ericsson, Motorola and Palm) all have plans to add Internet access to their devices. Strategy Analytics has reported that 95 percent of all the handsets shipped in the United States and Western Europe will include Wireless Application Protocol (WAP) support in 2003, and, according to META Group, so-called pervasive devices (e.g., pagers, cell phones, and PDAs) will outnumber traditional PCs by 2003. More and more AS/400 customers conduct electronic commerce over the Internet. Your shop may not be doing it yet, but perhaps you're wondering what's involved in it. If you want to learn how to extend the reach of the AS/400 from electronic commerce to mobile commerce with practical examples, then read on. The figures in this article demonstrate general access between your cell phone and your AS/400. I've also created some sample CGI programs that are written in ILE C as well as some written in RPG IV. Both samples are stored in an AS/400 save file. They can be downloaded from Midrange Computing's Web site at www.midrangecomputing.com/mc. These objects and source demonstrate an actual data transaction between the AS/400 and the wireless device. The samples shown in this article are real-time Web browsing applications based on WAP and the Handheld Device Transfer Protocol (HDTP). Wireless Markup Language (WML), defined in WAP, and handheld device markup language (HDML), defined in HDTP, will be covered, too. There are other standards, such as AvantGo (a "sync and go" application) and Palm Web Clipping technology (currently works only on Palm devices), but I won't be covering those. The theory for the wireless Internet is quite simple: Think of the cell phone or PDA as a very small computer equipped with a Web browser. The wireless carrier could own the WAP gateway, which, in essence, is a bridge between the wireless network and the Internet. The AS/400 just serves the HTTP or Hypertext Transfer Protocol Secure (HTTPS) request. All you have to do is deliver the right content and follow the right protocols. If you already serve HTML pages from your AS/400, chances are that you don't need to buy extra software or hardware to deliver contents to pervasive devices.
![]() The wireless Internet architecture includes three components Look at the diagram above. As you can see, there are three major components in the architecture: the mobile devices, the WAP gateway, and the HTTP Server. I'll take a look at how to work with each component. The Mobile Devices There are many handheld simulators and phone simulators available for you to download. I found the simulator very useful for development, but you should make sure to test your applications on a real device before deploying them. There are some situations in which the application works on the simulator but not on the cell phone or PDA. You can download the phone simulator from Phone.com. Note that you'll need to download the entire UP.SDK development kit to get the phone simulator. The Phone.com phone simulator comes with a browser. For Palm devices, you have to download the Palm simulator from www.palm.com and then download the WAP browser for Palm. The examples provided in this article use the Palm simulator with the AU-System WAP browser and Phone.com's phone simulator and browser. The WAP Gateway The HTTP Server ![]() To serve an HDML or WML page, you need to load and configure the http Server for AS/400 Figure 2 (above) shows a sample HTTP Server configuration you can use to try out the examples in this article. To use these examples, you'll need to create a new HTTP Server configuration named WIRELESS, as well as a library named WIRELESS on your AS/400. In the HTTP configuration shown in Figure 2, statements 10 and 20 enable the HTTP GET and HTTP POST methods, respectively. Statement 30 passes the URL request for /wireless to the /home/wireless directory in the AS/400 Integrated File System (AS/400 IFS). Statement 40 executes the URL request for /cgi-bin with programs in the library "WIRELESS." Statements 50 through 80 define the proper content type for HDML, WML, BMP, and WBMP. You may be wondering what the BMP and WBMP directive are used for. Some mobile devices can display images. The Phone.com browser, for example, supports the BMP format. Other WAP browsers for Palm devices support the WBMP format. Therefore, the BMP and WBMP formats are specified in the HTTP directive to allow for these devices. You can also use the example code available for download from www.midrangecomputing.com/mc that contains a *SAVF of a library named WIRELESS with example code and data in it. If you choose this route, create a *SAVF named WIRELESS on your AS/400 and then, using a binary transfer, FTP the WIRELESS.SAVF you downloaded from the Web site to your AS/400. Now all you need to do is restore the library using the RSTLIB command and run the example code. Now that you know the three main architecture components, I'll cover the other features of the wireless Internet, the first being the security model. WAP 1.1 includes the Wireless Transport Layer Security (WTLS). WTLS does for the wireless Internet what Secure Sockets Layer (SSL) did for the Internet: It provides a standard means to secure the transaction. WTLS and the subscriber ID help the wireless carrier secure the transaction between the mobile devices and the WAP gateway. To secure the transaction between the WAP gateway and the HTTP Server, you can use a virtual private network (VPN) or a private lease line. Or you can use firewalls, digital certificates, and HTTPS to secure the transaction over the Internet. Refer to the HTTP Server for AS/400 Webmaster's Guide V4R4 for details. You must ensure that the digital certificate you purchased is trusted by the WAP gateway. Unlike Internet Explorer or Netscape Navigator, the WAP browser does not allow you to configure which certificate authority (CA) to trust. The WAP gateway acts like a proxy for the mobile devices and has a list of trusted certificate authorities. So be sure to buy a certificate from a well-trusted CA. The Markup Language
Just like HTML, HDML is a tagged markup language. Figure 3 (above) shows the code for a very simple HDML page. To test this page, make sure you created the HTTP configuration named WIRELESS and have started it. Now save the code shown in Figure 3 as start.hdml, create your own logo (named logo.bmp), and FTP both to the /home/wireless directory on your AS/400. If you haven't already created a directory named WIRELESS, you can easily do so by using the command CRTDIR DIR('/home/wireless'). Next, start the phone simulator you downloaded and open the URL http://YourAS400/wireless/start.hdml. The biggest problem with HDML is that it's not a standard. HDML is supported only by Phone.com's micro-browser. The WAP Forum, founded by Phone.com, Nokia, Ericsson, and Motorola, published the WAP standard, which is the de facto standard that allows mobile devices (cell phones, PDAs, pagers, or auto PCs) to connect to the Internet using advanced telephony services. WML is the markup language used in WAP, and it's quite similar to HDML. (One interesting factor about WML is that it is based on Extensible Markup Language [XML].) To generate the dynamic contents, you can use a "translator" (e.g., Cocoon by The Apache Software Foundation) to translate the HTML page to HDML or WML page, or you can generate the dynamic HDML/WML content directly from the AS/400. You can also use Common Gateway Interface (CGI), servlets, JavaServer Pages (JSPs), or other tools to generate the content. Using Advanced Telephony Features While it seems easy to implement a voice call, there are pitfalls. This functionality depends on the carrier, the area, and the cell phone. Supplying the area code as part of the phone number might work in many areas but causes users to pay unnecessary long-distance charges in the home area. Some carriers (for example, AT&T) accept 10-digit-number calls (area code plus phone number) and will charge users appropriately based on the current location. I believe that, eventually, all carriers will have the same ability. For now, the best way to handle the voice call is to supply both the area code and the phone number without the leading 1. Usually the cell phone default setting handles the 10-digit- number with a list of choices (seven digits, 10 digits, or 11 digits) and allows the user to choose the proper number to call. If you supply the 11-digit number (1 plus area code plus phone number), the cell phone will usually just dial the number, which might cause a user to pay unnecessary long distance charges. Push Technology Phone.com provides a software development kit for WAP Push. Unfortunately the kit works only on the Windows or Sun Solaris platform, not the AS/400. You will have to either write your own WAP Push or run the development kit on Windows and establish a communication between the AS/400 and the Windows platform. There are a few problems with WAP Push. First of all, although there are WAP browsers running on mobile devices and they might support WAP Push, users won't actually receive the alert unless the palm device is on and the connection has been established. In other words, users have to check for the alerts manually, which sort of makes the concept of an alert pointless. Not all wireless carriers support the push technology. For example, Sprint PCS currently does not support Phone.com's Push/Alert API. (Sprint is planning to support push sometime in 2000.) Even with carriers that support the push technology, you could still run into problems. Usually, the Web-enabled phone has two modes: the voice mode and the data mode. But some cell phones or carriers did not tightly integrate the voice mode and the data mode, so users will not be able to receive alerts when they are on the voice mode, even though the phone is not in use. In other words, users have to switch the phone manually to "data mode" to check the alert. Unfortunately, the wireless carriers generally do not publish this "undocumented" feature. You really have to work with the carrier to find out the details. A Bright Future References and Related Materials
In the accompanying article, you've learned just how easy it is to push data to a wireless device. What you may not be clear on is just what wireless development software choices are available to you. If you don't want to reinvent the wheel every time and do all the development work yourself, you're probably going to need to use one of the existing wireless development tools. For more information on these and other vendor's products, visit the Online YellowPages at www.midrangecomputing.com/yellowpages. enable/ME, or Mobile Express, from ePrimera offers its users a powerful and fully customizable drag-and-drop interface that allows developers the ability to rapidly reengineer host screens from the AS/400 and present the host data on wireless devices such as PalmPilots and Pocket PCs. No reengineering of host apps is required either. Users will discover that their personal digital assistant (PDA) now has access to any piece of AS/400 information you decide to give them. And don't worry about an information bottleneck because there are too many people online. enable/ME allows up to 1000 simultaneous data connections. Other features include state-of-the-art security, real-time connectivity, and complete coverage of all wireless devices. Jacada Inc. (www.jacada.com) offers AS/400 developers a wireless development tool set called Jacada for Palm. Using Jacada for Palm, developers can quickly develop wireless applications that will run on your Palm VII device. Using a rules-based development environment, Jacada for Palm lets developers create thin-HTML extensions to your AS/400 data that can run on the Palm VII. You can then extend your user's access using standard HTML. Jacada for Palm applications deliver a persistent, secure, high-performance connection for your AS/400 and mainframe data from the Jacada for Palm server running on your AS/400, Windows NT, or mainframe. Jacada is also fully integrated with all Jacada products such as Jacada for Visual Basic, Jacada for HTML, and Jacada for Java. WaveLink Corp. (www.wavelink.com) offers a variety of tools that are designed to meet all of your wireless needs. WaveLink Studio is a powerful development tool consisting of Active X libraries that support OLE- compliant languages such as Visual Basic, Visual C++, and Visual Delphi. That means you can leverage your existing toolset to take advantage of the WaveLink Studio methods and objects to build wireless applications that can access your PC server-based data. For Telnet and 5250 host emulation methods, you'll want to check out the WaveLink ACTIVEBridge host plug-in. Using ACTIVEBridge, your wireless users can access their host data, such as that on the AS/400, with no redevelopment effort from your IT staff. In fact, ACTIVEBridge remaps 5250 screens for display on wireless devices on the fly. Of course, you also have the option of performing the screen mapping on your own for tighter integration. WaveLink TelnetCE is the client-side software that lets your AS/400 data run on your Windows CE devices. This integrated suite of tools combines to give you a powerful wireless development and client environment. Advanced Business Link's (www.advancedbusinesslink.com) Strategi middleware software is an AS/400 native package that rapidly turns your legacy green-screen applications into Wireless Markup Language (WML)-based or handheld device markup language (HDML)-based forms that can then be displayed on a variety of PDAs, such as the Sprint PCS digital phone. Strategi has an installation time of under 15 minutes on your AS/400. Building on the strengths of traditional AS/400 programmer's skills in RPG, CL, Java, C, and even COBOL, Strategi allows your current staff to extend your legacy applications to the Web. In just a few days, using their current programming knowledge, your developers can take a traditional green-screen application and format it to fit the smaller PDA screen. Strategi has positioned itself to lead the market in WML-enabled applications. - Shannon O'Donnell |
![]() ![]() ![]()
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
© Copyright 2005. All Rights Reserved.
|
||||||||||||||||||||||||||