Steve, (and others who may be curious about migrating to GUI) As one with extensive experience in development of GUI and character based applications with the Nucleus/NRG environment, I would like to offer a rapid 2 cents worth. You wrote: > We are in the process of analyzing different approaches to porting our > software to a GUI environment. We are currently looking at Uniobjects for > Java, System Builder, jBase with ObjEx, OpenInsight and Obsydian (which I > have yet to get information on). If you have any other ideas or have gone > through this process, I would like to know a few things:
> 1) How is the response time with multiple windows up at the same time? Response time to switch between windows is usually dependent on basic factors: a) Size of the object(s) (i.e. programs) that will be brought into "focus". b) Speed of the "client" machine, as fast desktops are cheap these days (1,800 mhz AMD processor system for under $300.00), a client system with a 700 mhz or better processor with adequate memory ensures rapid transition times between modules. c) Large modules that load data from a host system can take a few seconds to initially load especially when large amounts of data are to be displayed. (Compare loading of a large Excel spreadsheet to a small one). d) Multiple objects may exist on a active desktop, some in "sleep" mode, and others in "active" mode where the active objects come to focus more quickly. e) As the Nucleus environment is a "smart-thin-client" environment, the only thing that is loaded from the host system is a template describing to the "client-manager" what and where, along with the data to be displayed. I can safely state that you can either work hard and write code to incorporate objects, or let the Nucleus/NRG engine do the work for you with a far faster deployment and greatly simplified maintenance. > 2) How did you deal with security? We need field level security. Security in Nucleus/NRG can be controlled at the field level on a user by user or group level. Security for any Menu, File, Command, Device etc., can also be implemented on a user or group basis, much as exists in a unix environment. Security can be added at design time or tightened up later as security requirements are codified (written) without incurring any design stage issues. There will be no problem if you desire to implement security as an afterthought, as it is inherent in the Nucleus engine managing the object sets. > 3) The approach you used to convert the screens, etc. Nucleus screen design is structured to layer on top of data definitions - i.e. DATA DICTS. If your dictionaries are "clean" and easily read and understood by humans - either A, S or I type, you can quickly prototype a screen from the Nucleus shell prompt, as: CUSTOMERFILE CUST.ID WINDOW(width,depth,column,row) @(col,row) COMPANY ADDRESS etc. and have a screen appear within seconds. The design phase is rather straightforward and familiar to anyone who has used BASIC, RETRIEVE/ENGLISH and data dictionaries. Rules can be quickly added, existing subroutines can be called as long as the COMMON blocks don't conflict. Btree selections are a no-brainer to implement along with intersected joins and automated choicewindow selections. Migrating from a hand-coded character based environment to a Rapid Deployment environment adds many options to the design equation that were impracticle with manual code. Adding drill-downs, pop-up selections or multiple pages to screens are incredibly simple to accomplish. Collaborating with end-users is no-longer a frustrating process with Nucleus.. You can often prototype the guts of an application in a few minutes to demonstrate the "look and feel" and then add the bells and whistles as the user-population and the programming group firm up the design concepts. There is an easy transition path to GUI in Nucleus without a steep learning curve - a couple of days of instruction and you can be well on your way to being very comfortable developing within the environment. An integrated environment exists within Nucleus that doesn't require any knowledge of objects or properties and allows you to do your development and maintenance in ways that are intuitive to a "pick programmer". If you want or need to integrate ActiveX objects, java script or C#, those controls can be easily integrated. Nucleus supports GUI, green-screen, character based color as well as WEB support using the same "rule-sets", greatly reducing support effort and ensuring data consistency. BTW, Nucleus supports most multi-dimensional environments and allows an application created in say Universe or UniData (following simple rules), to be ported without effort to another environment such as jBASE, D3, UniVision, etc with only a re-compile. There is a migration outline available on our website: http://www.binarystar.com/MigrationFromLegacyToNucleus.html If you (or anyone else) would like to see how it works, click here: http://www.binarystar.com/contact.html (or call at the numbers below) and I'll be happy to schedule an on-line demo for you and provide a free evaluation copy. Lee Bacall http://www.binarystar.com Phone: +1 (954) 791-8575 Toll free (866) 882-1888 Cell: +1 (954) 937-8989 -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users