The benefits of PHP as a server-side, cross-platform HTML scripting language are generally acknowledged.
However, PHP's advantages for developing wireless applications are less well known. PHP is a great tool to generate Wireless Markup Language (WML) for the WAP protocol, and cHTML (a subset of HTML) for i-Mode.
For example, PHP can generate different markup languages for the same URL request depending on device requirements (does the client need HTML, WML, cHTML, etc.?). It can also adapt this generated output to display properly on different-sized screens, such as a Palm display or a web-enabled mobile phone.
In other words, PHP is a great choice for dynamic web-based interfaces. And as we look at the emerging wireless markets, PHP could provide open-source developers with an opportunity to work in these potentially profitable arenas.
The i-Mode protocol, developed in Japan by NTT DoCoMo, currently has 24 million subscribers, and is starting to make inroads in Europe. Given DoCoMo's 16 percent stake in AT&T, it's only a matter of time before i-Mode arrives in North America.
As these new wireless services emerge, so is a new business model -- revenue sharing. Here the carriers, application service providers (ASPs), and in some cases developers, share the revenue stream. One successful application in Japan has 14 million subscribers paying the equivalent of $1 per month to receive a daily comic on their i-Mode enabled cell phones.
At present the availability of wireless applications remains somewhat limited. This creates an exciting opportunity for the open-source community to develop compelling new wireless "push" and "pull" applications.
This opportunity does not come about without some issues, however. One of the most significant issues is the stringent requirements of major wireless carriers. The services must:
Because of all this, PHP applications currently hosted by ASPs require extensive testing and certification prior to their release. These concerns include:
Roland Schmidt will be presenting the session, PHP in the Wireless World at the O'Reilly Open Source Convention in San Diego, CA, July 23-27, 2001. Rub elbows with Open Source leaders while relaxing on the beautiful Sheraton San Diego Hotel and Marina waterfront. For more information, visit our conference home page or see our pre-conference coverage.
What do you think of this application of PHP? Could this be a way for open-source technologies to compete in the marketplace?
We at Contec Innovations are looking at solutions to some of these challenges. One area that we're particularly interested in is the concept of the "PHP sandbox." The concept is that an application monitor controls execution of PHP scripts via an extended PHP interface. This application monitor provides means to account for resource use and to limit the available PHP functionality according to application-specific configuration parameters set up by the system administrator.
The PHP sandbox doesn't exist yet. We're still working toward verifying this approach with the PHP community so we can set up a project to develop the sandbox. Our proposed extension of PHP would address these functions:
At this point, Contec sees the PHP sandbox providing application, resource, and functionality management.
Application Management uses a PHP extension and an associated application manager. Here every application needs to register with the application manager, which identifies a particular application by its URL. A set of configuration parameters (like the maximum resource limit or usage counter) is available per application. The parameters are updated according to resource use. The application manager prevents the application from execution if its resource limits are exceeded. Application authorization could be implemented via an URL check prior to script execution. Here the application manager determines whether the application is allowed to run on the host.
Resource Management determines resource use during runtime and forwards this information to the application manager for accounting purposes. Some functionality required for resource management already exists in PHP. The intention is to establish a checkpoint at the start of every PHP script and another one at the end. The existing PHP output buffering functions could be used to implement this. At the later checkpoint, the resource use gets determined and accounted for. Safeguards (like the existing
memory_limit) can be established to prevent unlimited resource use within loops.
Functionality Management is responsible to limit the feature-rich set of functions available in PHP to an application-specific subset. This assures that one application cannot harm another application or the host it is running on. PHP already provides some means to limit the functionality via the
php.ini file, but a more sophisticated approach is recommended.
I'm convinced that PHP provides the best platform to address the upcoming challenges in the wireless realm. Compared to MS-ASP, Allaire-ColdFusion, Perl, or other approaches, PHP provides the highest flexibility and best coverage of functionality.
The documentation is well-maintained and structured in a way that solutions can quickly be derived. Even though PHP has been built as open source, it is in my opinion, not restricted for use by the Open Source community. Based on its superior functionality and moderate licensing model, I see a promising future for PHP in the business world.
Roland Schmidt is Vice President Research & Development at Contec Innovations.
Return to the PHP DevCenter.
Copyright © 2009 O'Reilly Media, Inc.