A few years ago, mashups were the bee's knees of enterprise development, and when you look at what traditional business applications did and how they were built, the idea made perfect sense. The mashup concept was supposed to allow organizations to build on the last decade's investment in service-oriented architectures, combine SOA-driven workflows with federated data and agile-development philosophies, and put users in a position where their needs would finally be met-with or without the help of IT.
The only problem, as I observed elsewhere at the time, is that, for many people, the term "mashup" is either something that a DJ is playing at the hot new club, or a pileup on the freeway. Maybe that's why JackBe is now pitching its Presto development environment as a platform for "real-time intelligence," and contrasting it with traditional business-intelligence products that are good at explaining what happened, rather than what's happening. But no matter how you slice, dice or julienne it, Presto 3.1 does a good job of putting power users in control of application design without compromising traditional IT-centric controls on information.
The architecture behind Presto-which should not be confused with the social-knowledge product of the same name from Inmagic-is a bit complicated, but that's to be expected in a product that's designed to build on existing data structures and transformation tools, instead of replacing them. The foundation of Presto, as one might guess, is data; this can come from internal or external sources. Data snapshots, user and group information, and other metadata can be placed by data managers, IT staff or users in a Presto repository, or supplied by existing systems.
Through Presto's APIs and extensions, it's possible to use the Presto Mashup Server to provide back-end data-manipulation and transformation services, and the Presto Hub-which acts as the clearinghouse for the other Presto tools. These include the Web-based App Editor that leverages RIA (rich Internet application) languages, the wizard-driven Presto App Maker, the drag-and-drop Presto Mashboard that creates dashboards from existing Presto Apps, the Presto Mashup Maker-a Web-based tool that uses EMML (Enterprise Mashup Markup Language), an XML-derived declarative language-or Presto Wires, a drag-and-drop tool that works directly with data to add context to raw information.
Developers and power users can use these tools to quickly create applications that are easily reworked as needed to react to rapidly changing business conditions and requirements. There's also an Eclipse plug-in-the Mashup Studio-for developers who are more comfortable working within a conventional development environment.
I spent a few days kicking the tires of Presto 3.1 in a hosted sandbox environment, and found it to be a powerful tool for manipulating data and presenting it to users through a variety of outlets. Power users, such as business analysts, will find it easy to assemble their own tools for examining and consuming information from a vast array of services, while the ordinary business user will appreciate the application-store approach that Presto provides for presenting fully constructed data-delivery tools.
Presto's App Store, as one might suspect, borrows heavily from what has become a familiar model to anyone with a modern mobile device. Users can rate, share and tag Presto Apps in a secure fashion, while delegated administrators can manage the deployment of the applications by the user base if desired. The result-when executed end-to-end with a certain amount of follow-through and restraint-is a structured, yet flexible application lifecycle that gives users the best applications that IT and line-of-business staff can conjure up.
Presto, as noted, can be run from the cloud or locally; it all depends on one's requirements. The data repository for Presto 3.1 is installed by default with the Java-based HyperSQL 1.8.0 DBMS (database management system), but can be used with Microsoft SQL Server 2005, MySQL 5, Oracle 10 and 11, and PostgreSQL 8.3 and 8.4. It can consume data from other DBMSes as well; JackBe has tested Presto with DB2 9.5 and Sybase 15. From an application-server perspective, Presto installs with Tomcat 6.0.29 as the default servlet container, and it is compatible with any other J2EE (Java 2 Platform, Enterprise Edition) application server; the company has tested it with BEA WebLogic Server 10.0 and 11.0, IBM WebSphere Application Server 6.1, JBoss Application Server 4.2.2 (GA), and Tomcat 5.5.20 and 6.0.29.
From a client perspective, the tested platforms include Mac OS X 10.4.11, Microsoft Windows XP SP2, Vista and Windows 7, and Ubuntu 10.04; the recommended browsers are Firefox 3.6.x, Internet Explorer 7.0 and 8.0, and the latest stable versions of Chrome 5 and Safari 4. The recommended Oracle (formerly Sun) JDK (Java Development Kit) releases are 1.5 and 1.6; JDK 1.4.2 could be used with earlier versions of Presto, but JackBe dropped support for that release in Presto 3.1.
Presto 3.1 packages a sophisticated set of tools that offer enterprises an extremely flexible development environment as well as a modern distribution platform. Rather than taking a rip-and-replace approach, it attempts to liberate power users from the classic, IT-centric approach to application design and deployment while giving users a familiar way to access and employ tools that are easily adapted to changing business requirements and situations. It may not be a good fit for the smallest of organizations, but in many ways, it offers a model for the future of enterprise application development.