Alpha Software specializes in creating tools that let developers easily create data-driven applications. Richard Rabins (Co-Chairman) and his brother Selwyn Rabins (CTO) showed me the ropes on the latest version of its Alpha Five development package, and I'm pretty impressed.
What is Alpha Five?
Alpha Five is a package that allows developers to rapidly and easily create data-driven applications. I know... we've all heard this promise a dozen times before, so now we're pretty jaded by it. In this case, I am inclined to believe that someone got the formula right. From the demonstrations that I saw, Alpha Five "connects the dots" that most of the mainstream products just simply leave unconnected.
For example, we're all familiar with the pain of putting together the standard master grid/detail view with a search box Web page. Here is a great example of the benefits of Alpha Five that I saw in action. Let's say that you need to put a grid component on the screen and bind it to a data view and a detail view component. So you bind the detail view to a data view and bind that data view to the selected item in the master data view. Next, you make a search area, add the validation, and add its information to the master data view's filter. It is a formulaic piece of code, yet we repeatedly keep writing it. The code usually takes about 30 minutes to create and tidy up — or even longer if you are not familiar with it.
Alpha Five makes this much easier. Instead, you put a grid component on the form, check a box to indicate that you want a detail view, and then select the fields for the master data view and the detail view. For the search area, check off fields to be "lookup" and add the constraints on the values entered. In less than 60 seconds, I saw Richard put together a form that always takes me 30 minutes.
In a nutshell, the folks at Alpha Software asked, "What are the top X tasks that developers do that involve gluing standard components together in the same way day in and day out?" Then they took that list, wrote their own version of the components, and made those standard "cookbook recipe" combinations into component properties. My first reaction when I watched Richard and Selwyn show this off was, "Wow, this makes it a snap to write that standard CRUD Web application that I keep being asked to write!"
They also showed off the company's Script Genie; it reminds me a lot of Outlook's Rules Wizard, but it generates code. Script Genie looks pretty slick: You select the actions that you want to take in response to various events. Then, you provide the parameters to the actions by selecting the properties of the objects that would be in scope and are appropriate. For example, you can use Script Genie to hook onto a button being clicked, select the Send Email action, and tell it to get the subject line from a configuration file and the body from a field on the screen.
Regular readers know that I'm not a huge fan of AJAX. However, the AJAX libraries that Richard and Selwyn showed me seem to be high quality and worked as promised. Of course, you still need to cope with the usual AJAX problems (like constantly hitting the Web server, but at least Alpha Five uses persistent TCP/IP connections which helps); but if you need to use AJAX, Alpha Five's libraries look pretty good.
The technical details
Alpha Five can make desktop apps (that are interpreted through a runtime system, similar to the JVM or .NET CLR) or Web apps. (Alpha Software's application server can run side-by-side with IIS, and the company is working on a clustering application server, as well as a non-Windows version.) The Web system makes pages similar to PHP, ASP, or JSP, with the A5 tags embedded in between HTML. The language Alpha Software uses is XBASIC, a variant of BASIC.For database connectivity, the Alpha Five Standard Edition uses its own database engine; the Alpha Five Platinum Edition supports other databases. Like Cognos, Alpha Software's tools produce a "standardized SQL," which then gets translated to the appropriate SQL statements depending upon which SQL driver you use. (Note: You can use ODBC if you want, but Alpha Software has brewed its own drivers for databases that are faster since they don't have ODBC's overhead.)
A while back, I came to realize that most data-driven applications can be done in Microsoft Access or FoxPro; there's a thin veneer of data validation and business logic on top of a 10 - 30 table database — nothing too complex. Tools like Ruby on Rails address this and so does Alpha Five.
Richard admits that Alpha Five is not a "kitchen sink" system like J2EE or .NET. But from what I saw, it can handle about 80% of the applications most developers write with significantly less effort than J2EE, PHP, or .NET require. By focusing on the stuff that most developers spend all day on (instead of what a few developers spend a little bit of time on), the Alpha Software team has created a system that does exactly what most developers need. Watching Richard and Selwyn go through the motions of using it, programmers will still need to write code by hand, but they wouldn't need to write as much code.
Data binding done right
We all know how I usually feel about these systems. I like to throw phrases out there like "shake 'n bake programmers" and knock "drag 'n drop data binding." I'll be the first to admit that years of hearing vendors promise "systems so easy, your secretary will be writing her own applications!" that I just don't believe it. What I saw of Alpha Five wasn't an attempt to get the secretary to be writing Web applications, but it was something that lets a programmer leverage his or her time better.
In summary, Alpha Software got data binding right. It sounds like a small thing, but anyone who used data binding in ASP.NET and then ripped it all out two days later and spent three weeks custom coding (just to account for a small request from the client) knows that data binding is still lousy in most systems. In the Alpha Five demo, data binding did that last 5% that always causes me not to use data binding — and for that, I walked away impressed.
I have not had a chance to get my hands on Alpha Five to put together a recipe or CD collection system (or the ever popular To-Do list application) to test it out. I would love to do so when I have the time to give it a full shake down. But until I get to do that, I can say with full confidence that, if you spend most of your time doing typical, data-driven business applications and you wish that your current system could close the gap between data binding and custom coding, you will want to give Alpha Five a try. (Download a trial version of the Platinum Edition.)
J.JaDisclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine.
———————————————————————————————————————————-Get weekly development tips in your inbox
Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.