Original URL: http://www.theregister.co.uk/2010/06/14/vroom_forms/
Excel revolutionary needed to crush web-forms anarchy
PowerBuilder to the people
In the 1990's Visual Basic, PowerBuilder, and Lotus Notes were popular, powerful and made the development of database-backed forms accessible.
The web disrupted this cozy market increasing the number of forms, formats and requirements. The result was HTML with a text editor became a common - if partial - replacement and while there exist many tools that will do end-to-end forms they are relatively niche.
There's no one company or technology with dominant marketshare and there's a lack of complete standards for the end-to-end business form that includes logic and persistence. And that's a problem, because without standards for such core facilities, enterprises tend to re-implement the same platform features again and again at great expense.
Businesses pay through higher license fees as well as higher training and maintenance costs, and they face massive migration efforts when their tired but incomplete framework becomes too bogged down to move and too out of date to compete.
You can see why there's so much fragmentation today, as requirements have grown to cover diverse aspects such as complex and large data models, security, design separation, the separation of rules and business logic and schema management. There are also lots of integrations: REST, SOAP, JSON, async, all hosted in a cross platform world and ideally all should have tools accessible to admins, analysts and designers.
Looking around these features I haven't found one platform that offers them all in a portable, open way that would gather enough momentum to establish standards.
Also helping fragmentation is the fact there seems to be no accepted way to sell such a complex technology. The rule of thumb is if a product is more than say $1,000, that you need direct sales. And direct sales requires an average sales price of between $20,000 and $100,000, so vendors instead bulk up their stacks bundling as much so-called value as possible into their offerings, including their frameworks.
Microsoft, Oracle, and IBM are most likely to drive standard platforms in this space. All have pretty massive efforts underway but to cram that much complexity into a package that's consumable by an average person is quite a design challenge.
At some point, you need to start removing some layers of abstraction - read redundant existing frameworks - and that is just not something a big enterprise company will risk doing.
Oracle's JDeveloper, for example, is geared towards supporting Oracle applications and is likely to get most of their attention. Not many enterprise software companies feel comfortable partnering with Oracle for some reason. Microsoft seems closest but has some portability issues that I expect will have increasing importance in the days ahead. They are in it alone with .NET, competing with the industry. That burden will grow as well.
Big software tools like these tend to help create complexity. The companies use IDE infrastructures that are too complex for non-developers but let the vendor make a ton of money on services designed to "help" you program more efficiently. Tools tend not to support read-write, manageable workflows that cleanly separate application code from framework code, but instead generate lots of code to lock you in to their platform.
Tools in the relatively new SaaS world do offer round-trip workflows but have their limitations, in terms of customization and deployment options. Also, I haven't found any that don't have lock-in on some hidden technology.
For me, the most interesting solutions are tools that can be administered entirely from a user interface but that generate standard formats that look like the ones you'd write on your own. I'm also looking for meta-frameworks that can wrap and repurpose existing frameworks, providing tools that let framework developers keep business logic independent of system features.
For tools to be simple, we need to reduce the number of file formats and make them highly tooled and well partitioned according to workflow. As systems grow more complicated, we need to ensure our application code keeps up without major rewrites.
Spring, Guice and other component assembly frameworks are doing nice things to improve the declarative nature of applications but make Java more complex when it needs to be simpler. Something like Spring's Roo framework will help but there's still be a big tooling gap in the Java world.
A product will emerge eventually that does offer the right balance of features accessible to the right audience and when it does, it will be big. Just like Excel replaced a whole generation of accounting applications, the answer could do a bit of consolidation in the enterprise software space.
Former Adobe Systems' principal scientist and lead architect Jeff Vroom has designed three declarative software platforms during his 20-plus years in the industry: Adobe's LiveCycle Data Services, ATG/Dynamo, and AVS. He now spends his time coding, consulting and blogging.