[comp.databases] JAM from JYACC -- any experience ?

enc@sactoh0.SAC.CA.US (Erez N. Carmel) (12/10/90)

I was specifically impressed with what seems to be immediate transition
between design and test phase -- and vice versa.
 
Can anyone comment on this product?
 -   What system and O/S are you using?
 -   Which data base, if any?
 -   What are the results?
  
Thanks!
-- 
#############################################################
#      E. Carmel, Sacramento, Ca.                           #  
#   ...ames!pacbell!sactoh0!telelnk!ecarmel                 #
#############################################################

drack@titan.tsd.arlut.utexas.edu (Dave Rackley) (12/10/90)

In article <4449@sactoh0.SAC.CA.US> enc@sactoh0.SAC.CA.US (Erez N. Carmel) writes:

>   I was specifically impressed with what seems to be immediate transition
>   between design and test phase -- and vice versa.

>   Can anyone comment on this product?
>    -   What system and O/S are you using?
>    -   Which data base, if any?
>    -   What are the results?

>   Thanks!
>   -- 
>   #############################################################
>   #      E. Carmel, Sacramento, Ca.                           #  
>   #   ...ames!pacbell!sactoh0!telelnk!ecarmel                 #
>   #############################################################


I just finished an evaluation of JAM and its add-on DBi (database
interface).  The evaluation was run on a VAX 3500 running VMS 5.3,
ORACLE v6.0, and JAM v4.2.

Since the evaluation JAM v5.0 has been released.  In addition to the 
evaluation, I been involved with two projects using JAM without
the database interface.  The customers were pleased, so were the 
developers.

Following are my preliminary evaluation results:

**********************

	               JAM Evaluation (Preliminary)

 Eval
 Rank Topic            Topic Description/Evaluation
 ---- --------------   --------------------------------------------------------

  1   Trigger Points - Under what circumstances programmer-defined routines can
 ---- --------------   be called while the form package has control of the 
		       user-interface processing.

	   Trigger points are completely in the control of the programmer. 
	   Triggers can be actuated upon entry or exit of a form or individual
	   fields.


  1   Menus - The type of facilities the package provides for menu definition
 ---- -----   and processing.

           Menus are easily created.  They can be vertical or horizontal.  Menu
           choices can be selected by "bounding bar" or by the first character
           of the menu selection.


   1   Supported Languages - Interface to FORTRAN, Ada, C, etc.
 ----- -------------------

	   Callable 'C' functions are built-in.  Other language interfaces can
           be made to work--provided that language supports 'C' calls.


   1   Multiple Relations - Multiple tables per form.
 ----- ------------------

	   A single form can provide input, through queries, to any number of
	   tables. (Data retrieval--multiple tables can provide data to a 
           single form, as long as a single query [complex or simple] can 
           define the returned fields.


   1   Many-to-One Relationships Between Arrays on Forms - Repeating groups on 
 ----- -------------------------------------------------   forms.

	   Repeating groups on forms can be directed to database tables in 
           three ways:

		  1) as a single entry made up of the concatenation of the 
		     array components.

		  2) as individual components to a single database field.

		  3) as individual components to multiple database fields.


   1   Productivity - Analyst productivity, how much time does it take to do
 ----- ------------   the forms. (Ad-Hoc applications, and Ease of program
		      modification and development)

	   Forms are created with a form editor with previously saved forms
	   available as templates.  The form editor is WYSIWYG and menu driven.
	   Proto-typing can be done very quickly.


  1   Performance - Entry performance (how long to save), information retrieval
 ---- -----------   performance.

	   JAM/Dbi is linked/shared with Oracle images; therefore, performance
           is as quick as the database itself.


  1   Field Validation - Self-explanatory.
 ---- ----------------

	   Field validation can be handled through look-up lists, math 
           functions, database queries, etc.


  2   Application Help - The type and amount of help an application program 
 ---- ----------------   can provide using the forms package, as well as where
			 it is specified.

	   Help facilities are a function of the programmers desires.  There 
           can be form level help, field level help, and if so desired, the 
           VAX VMS help system can be called to provide overall application 
           information.


   2   Function Keys - Whether the package supports programmable function keys,
 ----- -------------   what the keys do and where they are defined.

	   Except for hardware reserved function keys (F1 - F5), all available
	   function keys can be defined for use by the application. 


   2   Scrolling Fields - Whether or not the package supports scrolling data 
 ----- ----------------   fields, and whether or not it requires application
                          code.

	   Scrolling fields can easily be defined, using the form editor.


   3   Cost - Price of the package for the MicroVAX 3800 (3500?, or whatever)
 ----- ----   per CPU.

	   MicroVAX 3500 -- $ 3225.00 (Other prices to follow--as soon as the
				       JYACC area comes out of electrical
				       blackout)


   3   Run-Time License - License charge, if any, for executable application
 ----- ----------------   programs copied to other systems that use the forms
                          packages.

	   The forms editor may not be included in a deliverable product   
           without a license; however, executable applications not using the 
           form editor do not require any licensing.


   3   Systems Supported - Computer systems/operating systems that the software
 ----- -----------------   supports.

	   PC's (MSDOS), UNIX, VMS, others.


   3   Form Control - Whether control flow from one form to another can be
 ----- ------------   specified in an interactive tool or by library calls in
		      application code, or both.

	   Both methods can be used to control application flow.


   3   Form Testing - The type of utility provided for form testing, if any, 
 ----- ------------   and whether this is done in the form editor or by a 
                      separate program.

	   Forms can be run directly from the form editor.


   3   Pop-Up Windows - Whether or not the package supports pop-up windows and
 ----- --------------   manages the redisplay of occluded form data when the
			windows disappear.

	   Any number of pop-up windows can be called.  JAM manages the
	   restoration of occluded portions of the screen, automatically.


   3   Form Documentation - Type of form documentation provided, if any:  form
 ----- ------------------   screen images, field documentation, form cross
			    reference listings, and/or documentation in a form
			    language.

	   These types of documentation are available.  Separate utility 
           programs or the editor itself can produce the outputs.


   3   User Friendliness - Difficulty (???) for operator.
 ----- -----------------

	   Very straight forward.


   3   Form Emulation - How much of the form can be displayed.  How much does 
 ----- --------------   the form look like it should on the screen.

	   By default a displayed form can be no larger than the presentation
	   display.  High resolution graphics are not supported, but block 
	   graphic characters are.


   3   Portability/Multiple Platforms - Self explanatory.
 ----- -----------------------------

	   Portability is limited to the platform for which the product was
	   ordered, since the source code is not included for re-compilation.


   5   Form Type - Whether the form is interpreted or compiled, and/or whether
 ----- ---------   the form files produced are in binary or ASCII format. 
		   Whether they are disk or memory-resident.  Whether they 
		   contain executable code or form definition language 
                   commands that have to be interpreted at run-time.

	   The form editor compiles the form into a binary format that is 
           processed by JAM executable images.  These images can contain 
           developer written code that is linked with JAM object files.  The 
           forms can also contain procedures that are interpreted at run time 
           for field validation and query processing.


   5   Data Field Storage/Format - How the data is stored in the forms package
 ----- -------------------------   and returned to the application:  in one
				   contiguous ASCII buffer, in a data 
                                   dictionary that returns data by field name 
                                   or number in ASCII format, or in a data 
                                   dictionary that returns data in binary 
                                   format.  

	   JAM/DBi uses a one-to-one correspondence for form field names to  
	   database columns.  Currently, the data types supported by JAM 
           include integer, character, and float.  In addition the JAM data 
           dictionary can provide a contiguous ASCII buffer or binary buffer 
           that is accessible by developed application code.  It is purely a 
           developers choice.
 

   3   Maximum number of fields - How many fields can be created on a form?
 ----- ------------------------

           The maximum number of fields is limited only by the physical size of
           the display screen.


   4   Maximum field size - 
 ----- ------------------

           Field size is limited to the length visible "on-screen" plus 999
           bytes of "shiftable" off-screen data.  Fields can also have 
           array characteristics with up to 999 array elements.
 

   2   Can "filled-out" forms be saved by page or form? - 
 ----- ------------------------------------------------

           By definition a form is limited to one screen of data; however,
           multiple forms can be daisy-chained to create a multiple page
           effect.  Multiple pages can be saved together _provided_ all
           fields within the pages are identified in the JAM Data Dictionary. 


   3   What is the maximum form size? - 
 ----- ------------------------------

           Forms are limited in size by the physical limits of the display 
           screen (eg.  VT320: 25 * (80|132); VR2xx: 55 * (80..166)
                               ^^    ^^^^^^
                              lines * columns


   2   Can "filled-out" forms be directed to a printer? - 
 ----- ------------------------------------------------

           By way of logical definitions, JAM can print forms page at a time.


   2   Does the package allow forward and backward paging within a form? - 
 ----- -----------------------------------------------------------------

           If variables from different pages are stored in the JAM Data 
           Dictionary, then forward/backward paging is easily accomlished by 
           defining the names of previous and next forms.





--

  DISCLAIMER?  I don't know anything 'bout any ol' disclaimer!         

+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
| David Rackley		        |                                             |
| Applied Research Laboratories |        Remember, you can tuna fish,         |
| The University of Texas       |         But you can't tuna piano!           |
| Austin, TX.  78758            |                                             |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+