Oberon Prospero

Oberon Software's Prospero is a graphical development tool for constructing Windows-based applications.

John Enck

July 31, 1996

6 Min Read
ITPro Today logo

Developing and deploying applications without writing source code

Visual programming is the rage fordeveloping Windows-based applications, as you can tell from the range ofvisual-oriented development products on the market. You can choose from VisualBasic (VB), Visual C++, and even Visual RPG, to name a few.

Although these products are good tools for developing Windows-basedapplications, they all have a strong language component. To use them, you mustwrite or modify source code. This is not the case with Oberon Software'sProspero--a graphical development tool for constructing Windows-basedapplications. With Prospero, you choose and interconnect application buildingblocks without using source code.

Prospero's breadth is impressive. Prospero applications can accept inputfrom local databases, SQL or Open Database Connectivity (ODBC)-enableddatabases, dialogs, flat files, Lotus Notes, Object Linking and Embedding (OLE)services, and Web pages. Similarly, Prospero applications can direct output tothose same sources, printers, email, or the Symantec (Delrina) fax interface.Between input and output, Prospero's reformatting and computational tools letyou analyze and massage data as it passes through the application.

Prospero is excellent for quickly developing a variety of ad hocapplications. Prospero can, for example, get information into and out of LotusNotes, generate reports from an ACT! database, perform Microsoft Word mailmerges from an ODBC-enabled database, and automatically download and print Webpages. After you learn how to develop Prospero applications, you can use it as aplug-and-play application solution for many common business problems. If you useother visual programming tools such as VB, you'll be pleased to know thatProspero applications can interface with other, external programs.

Prospero Programming 101
Installing Prospero is straightforward with Oberon's setup and installationprogram. The installation process is sensitive to the Windows environment. Sowhen you install Prospero into a 16-bit Windows environment, you generate 16-bitProspero applications. If you install Prospero into a 32-bit Windowsenvironment, you generate 32-bit applications that run under Windows 95 orWindows NT. I installed and tested Prospero in an NT environment exclusively.

Despite its visual nature, Prospero is not an intuitive product. I wasunable to generate a simple application without spending a fair amount of timestudying the printed documentation, reading the online help, and looking at theexample programs. If you've worked a lot with application generators or othervisual programming tools, you might pick up the Prospero programming constructsquicker. (I admit I'm not an application programmer.) I spent a day of hands-oninteraction and research picking up on the programming mindset (paradigm, if youprefer) and producing a simple working program. More extensive documentation andonline help would have hastened my ascent of the learning curve.

To create a Prospero application, you select application building blocks,define the properties of each block, and interconnect them. Prospero comes withseveral building blocks for dialogs, database input and output, flat file inputand output, variable manipulation, loop and decision control, and more. Oberonis constantly developing new building blocks.

A building block's properties control its behavior. For example, theproperties of a dialog define its appearance (size, layout, graphics, etc.),content (fields, buttons, check boxes, etc.), and usage (input or output).Similarly, a flat file building block's properties define whether it's an inputor output operation, what file it involves, where the file name comes from, andthe file's field layout.

After you identify the building blocks you want to use, you interconnectthe various data input and output sources. For example, to read in a field froma database and display it in a dialog, you must connect the input field in thedatabase building block with the output field in the dialog building block.Prospero's name for these points of interconnection is ports. Connectingall the right ports to get the desired results is the power--and challenge--ofProspero.

After you create and test an application, you compile (deploy inProspero terms) it into an executable file. Note that the application isn'tfreestanding; some Prospero dynamic link library (DLL) files accompany theapplication file. Prospero can, however, automatically copy all necessary filesto the location you choose.

My Test Application
I tested Prospero by constructing an application to feed data from a dialoginto a flat file. In my first attempt, I created a dialog building block and aflat file building block and interconnected the two blocks' matching input andoutput fields. Although the application worked, it wrote data to the fileregardless of whether I pressed OK or Cancel (Prospero automatically includesboth buttons in a dialog building block). This situation wasn't what I expected.I discovered I needed to add a loop building block to properly handle the Cancelbutton. Screen 1 shows the resulting Prospero application.

As part of the process of selecting and interconnecting building blocks,you must define each building block's properties. Screen 2 shows the propertiesdialog for the flat file building block. This dialog specifies how the buildingblock operates (i.e., it writes to a file), the name of the file, its fieldlayout, and other file-related information. Prospero has a dialog to defineproperties for many of its building blocks.

How you define a building block's properties varies from one building blockto the next and depends on whether the building block is for input or output. Inmy example application, I designed the dialog with Prospero's onscreen dialogeditor.

The dialog I created had two input fields (TextBox1 and TextBox2), abutton, a check box, and a graphic. The application passes the two input fieldsto the flat file building block but doesn't use the button and check box. Iincluded them just for show.

The final building block in this example--the loop building block--testswhether a user presses Cancel while the application is running. If so, the loopbuilding block also terminates the application.

After putting the building blocks in place, I interconnected the relevantinput and output fields. Screen 1 shows the two input fields on the dialogbuilding block (TextBox1 and TextBox2) connected to the two output fields in theflat file building block (Field1 and Field2); this interconnection lets Prosperopass information from one building block to another. I also had to connect theCancel button field to the Condition field in the loop building block to createa way to terminate the program. Screen 3 shows the results of my example programwhen run as a deployed application.

Prospero is unquestionably a powerful tool. Its strength lies in its abilityto create and deploy small, quick-turnaround applications. So IS professionalswho need to quickly respond to end-user requests for new reports or businessinformation views will find Prospero invaluable. Independent consultants lookingto extend the functionality of core products such as ACT! or Lotus Notes willalso find Prospero appealing.

In contrast, Prospero will probably not be a first choice among developerscreating large-scale applications. In more general terms, programmers andnonprogrammers looking to graft new functions or interfaces onto existinginformation structures will appreciate this product.

Prospero 1.1

Oberon Software * 617-494-0990 or 800-654-1215Web: http://www.oberon.comPrice: $695

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like