Product Review: WebSmart PHP Beta Opens the System i to PHP Development
Features such as intelligent templates, database integration, a visual HTML design tool, and PHP functions make WebSmart PHP a true RAD tool
by Duncan Kenzie
Published: August 5, 2007
Riding on the PHP wave, BCD announced at COMMON last week a beta of its latest edition of its popular System i–centric Web development tool, WebSmart PHP. In a recent article, "PHP: A Party Waiting for a Few Good Developers" I explained just exactly what PHP is. To recap, it's a language and development environment specifically for Web applications, typically running on UNIX boxes but now available for System i (V5R3 and V5R4). PHP is a relatively simple but rich scripting language. Literally thousands of open-source projects written in PHP are available for download, and millions of sites run PHP applications.
The major problem with PHP is that there aren't many enterprise-quality rapid application development (RAD) tools. Sure, there are IDEs and text editors, but there is a dearth of tools that take developers through the entire design process for building Web applications with enterprise frameworks. WebSmart PHP seeks to fill that void.
WebSmart PHP shares the same workbench as WebSmart ILE, the edition that generates ILE CGI objects. This gives System i developers the opportunity to choose either deployment technology while having to learn only one development interface.
Several important features of WebSmart PHP qualify it as a RAD tool rather than just an IDE:
- Intelligent templates for enterprise business applications
- Tight System i database integration (both DB2 UDB and MySQL databases)
- Central Repository for optional data modeling
- Visual HTML design tool
- PHP functions prototyping, documentation, and management
- Enterprisewide project and change management
Intelligent Templates for DB2 SQL, MySQL and Record-Level Access
WebSmart PHP supports applications for the System i that use MySQL databases and either DB2 SQL or record-level access (RLA) functions to process the database. The included intelligent templates are grouped into families based on look and feel and database type/access method. Each template performs a typical business function, such as working with data (add, change, delete, search, or list records), using input-capable lists for transaction-oriented applications, etc.
Because WebSmart PHP natively supports MySQL, you can easily create PHP applications that run on the System i or other platforms. The tight integration with MySQL makes it easy for you to work with those databases. You can see all the tables and their fields. To include them in your code, you simply click from a list to select them during the initial wizard process; later, you can drag and drop them to place them into HTML or your PHP code.
The intelligent templates generate complete working programs. Once you have created a PHP program using the templates, you can modify and enhance the code infinitely using the integrated PHP code editor.
Central Repository: Support for Multiple Databases
The Central Repository lets you define business, database, and presentation rules at the database level, effectively providing powerful data modeling capabilities. You attach your rules to fields in your files or tables. Rules can consist of the format of data when presented for output or input purposes, relations (links) to other files or tables, validations, and custom calculations.
The Central Repository also supports inheritance, so you can define certain data types as having code associated with them and then reference those data types with fields in your files. For example, if you store dates in many of your files as eight-digit numbers in YYYYMMDD format, you can define one conversion rule for a date data type to display those dates in a local format and then have all date fields reference that data type.
The Central Repository also supports the System i native DB2 UDB database, MySQL running on System i, or any MySQL database hosted on any server type. WebSmart PHP keeps track of each database type and provides prompts appropriate to each file or table to help you define your rules. Once you've defined rules in the Repository, the intelligent templates can exploit them. For example, as you go through the steps in the design process for a PHP application, WebSmart PHP will include the appropriate repository extensions in the application design. In addition, these extensions are stored on the System i server so a group of developers can share them.
Next-Generation Visual HTML Design Tool
WebSmart PHP includes both text-based and visual HTML design tools. The visual HTML design tool is a third-generation designer that makes it easy to place HTML design elements on your page layouts and intermingle PHP server code with HTML presentation code. This helps you become productive quickly, without having to know how to code HTML tags. You get a true picture of the actual application as you work on it. In addition, you can switch back and forth from design to code modes, so it's easy to use both textual and visual methods to create pages.
You can easily integrate database fields by placing them on your pages, intermingle server-side code in your page layouts without disrupting the visual appearance, and move elements around on the page by clicking and dragging.
PHP Functions Prototyping and Management
PHP has over 5,000 published functions. Organizing these and navigating through them is a challenge for developers. WebSmart PHP arranges these functions in tabs grouped by category and documents the prototype and syntax of each function. When you're editing PHP code, the editor takes advantage of these prototypes to provide real-time syntax checking, helping to eliminate basic coding errors.
Project and Change Management
WebSmart PHP takes advantage of the same project management features available in the ILE version of the tool. These provide robust enterprisewide development tools, allowing multiple developers to work on a project with tight controls over development efforts. It's also easy to set up Q/A, development, and production environments with WebSmart PHP.
WebSmart PHP will be available in beta version June 15 and for general release in the fourth quarter.
Duncan Kenzie is President and CTO of BCD Technical Support, the development and support group for WebSmart a popular iSeries Web development tool, and Nexus Portal, a portal product specifically designed for iSeries, i5, and AS/400 servers. Duncan has 29 years of experience on the midrange systems platform creating software for both green-screen and native Web environments.