Blue World Communications’ Lasso began as a simple way to Web-enable FileMaker Pro databases, but the company has restructured Lasso to offer greater performance and flexibility, integrate other database platforms, and respond to the increasing needs of today’s Web sites. Lasso now supports new technologies such as XML and wireless devices, session management, and more-powerful programming techniques.
Lasso’s latest iteration, Lasso Professional 5, comes in two editions: for production servers, a Standard Edition, which handles an unlimited number of users and connections on a single machine, and a single-user Developer Edition that has the same capabilities but is geared for programming and testing. With version 5, Lasso is getting more complicated to learn, use, and administer; but its new features compensate for its complexity. The program not only embraces OS X but also includes a Lasso-specific version of the popular MySQL database and an updated version of Lasso Dynamic Markup Language (LDML 5), and it continues to support many Lasso 3 solutions.
Lasso Professional 5 operates with OS X’s built-in Apache Web server and with 4D’s WebStar V. (Version 5 doesn’t support OS 9 and earlier.) And while some expertise always helps in configuring a site and handling security, you don’t have to be an authority on either server to get Lasso up and running.
Dexterous Databases
Lasso Professional 5 ships with its own database software, Lasso MySQL, a version of the popular MySQL open-source database. Lasso MySQL stores Lasso’s settings and options, and it can act as a local data source. For some sites, accessing local databases this way may be a complete solution–Lasso MySQL is fast, multithreaded, and reliable, and it supports temporary tables, which stick around until you restart it.
You can also connect the application to separate MySQL databases, keep them on different computers, and upgrade them independently from Lasso itself; or you can connect Lasso to FileMaker Pro 4 and 5 databases using FileMaker’s Web Companion. MySQL and FileMaker databases are either stored on the same machine as Lasso or distributed on separate hosts; the latter is a great way to improve performance and enhance security. (At press time, third-party database connectors had also been announced for 4D, FrontBase, and PrimeBase; they were not yet available.)
New and Improved
In addition to a built-in version of MySQL, Lasso Professional 5 introduces LDML 5, a new version of Lasso’s markup language. LDML 5 is generally compatible with Lasso 3, and it provides several major new features, such as inline math and string expressions, session management, data typing, array support, and commands for managing SQL databases. These LDML enhancements offer developers creating Lasso sites more direct control of values and program logic, as well as mechanisms for maintaining and creating databases and tables on-the-fly. Version 5 also supports LassoScript, an alternative way of expressing LDML as embedded scripts within a page; this can help with both large pieces of code and LDML pages edited using visual tools such as Adobe GoLive.
Lasso Professional 5 includes a completely revamped e-mail engine (built in LDML, using cool new low-level TCP/IP commands). It also has a new scheduler, which you can use to back up databases or perform other maintenance tasks, send status messages, and do anything else within Lasso’s scope. Advanced programmers can define custom LDML tags and functions, spawn background processes, and create custom data types–all useful for expanding Lasso’s reach or integrating it with other systems.
In addition to these improvements, Lasso now provides more-extensive documentation with detailed instructions for setting up and administering databases, tips, clear examples of configuration, specific techniques, and categorical definitions of LDML tags. The documentation comes as a series of PDF files; you can purchase printed documentation separately, and Lasso provides an online LDML reference implemented as a Lasso MySQL database.
Browser-Based Control
Lasso Professional 5 uses a Web-browserbased administration facility to control access privileges for users, settings, and databases. Security and administration options range from entire databases to individual fields–including useful LDML-based filters that can restrict or modify search behaviors, and the capability to enable or disable specific LDML tags.
Web-server applications such as Apache Web server or WebStar V handle logging, but you can use LDML to write to the Web-server log or maintain separate log files. You can also compile solutions into plat-form-independent LassoApps, high-performance stand-alone libraries that work with version 5 without revealing source code–great for distributing solutions to clients or customers.
Call and Response
In our testing–48 simultaneous connections sustained over 12 hours from four machines on a local network, with each connection making one to five database queries during that half-day period–Lasso’s performance with WebStar V was essentially indistinguishable from its performance with Apache, and both servers managed the load with apparent ease. The biggest factors in a Lasso-driven site’s efficiency are the database back end and any ancillary programs with which Lasso must interact, although many Lasso Professional 5 features are faster than those that provide backward compatibility with Lasso 3.
Movin’ On Up
In the majority of cases, site administrators using Lasso 3 will have an easy time converting to Lasso Professional 5. A handful of well-documented syntax changes make existing format files work properly. But in a few cases, it will be more difficult: site administrators using a 4D or ODBC database as a back end will need to wait for connectors, and developers communicating with other programs via Apple Events will need to rebuild or replace their solutions. In addition, Lasso no longer supports FileMaker 3, and the Instant Web Publishing and alternative LDML syntaxes (such as Server-Side JavaScript) are gone.
Upgrading is more complicated for developers who want to change from FileMaker Pro to MySQL or Lasso MySQL for the sake of performance, stability, and standardization; to some degree, they’ll have to redesign and reengineer Lasso solutions. However, most developers will be able to use FileMaker Pro databases in version 5 without adjustments, making possible a well-executed transition to new database platforms. Of course, if FileMaker Pro’s performance meets your needs, there’s no need to migrate–the program’s FileMaker Pro support is as strong as ever.
Macworld’s Buying Advice
Getting started is simpler with Lasso than with competing database-middleware products, such as Apple’s WebObjects, but using Lasso effectively nonetheless requires significant programming skills and learning time, as well as a solid command of database software, security, and Internet services.
If you’re already using Web-enabled FileMaker Pro databases and need more power and performance, Lasso Professional 5 is an excellent choice and offers a manageable migration path to other database platforms. And if you’re just getting started with data-driven Web sites, the program’s power and flexibility merit serious consideration.l
A Lasso Primer
Lasso is middleware, which means that it moderates communication between other programs–in Lasso’s case, between a Web server and a database. A Web-site visitor requests something by following a link or filling out a form, and the Web server then recognizes that Lasso should handle the request and passes it along. Lasso acts on the request and returns a result–usually an HTML page–to the Web server, which passes it back to the user.
Lasso’s power lies in processing the request. Typically, Lasso will retrieve data from a database, perhaps on a separate computer; integrate it into an HTML file; and send it back to the Web server. But Lasso might also send e-mail; trigger another process; communicate with yet another application, such as a credit cardprocessing system; or modify items in other databases. The Web developer uses format files written in LDML (Lasso Dynamic Markup Language) to specify the action(s) Lasso should take and to customize Lasso’s response. LDML files contain the programming logic for Lasso, often intermingled with standard HTML or XML.