[comp.databases] ORACLE/UNIX development question?

kevin@u02.svl.cdc.com (Kevin Woodward) (06/15/91)

I have been assigned to a project to create an environment for ORACLE
developers working on UNIX workstations and servers. Unfortunately,
my ORACLE experience is limited to large-scale proprietary
mainframes. If you are currently writing SQL*Forms, SQL*Menu,
SQL*ReportWriter, or Pro*ORACLE applications on UNIX, I could
really use your help answering some questions:

o  What 3rd generation language (C, COBOL, FORTRAN, etc.) is most 
   common/important when developing ORACLE applications on UNIX? Any 
   non-ORACLE 4GLs?

o  Does a developer primarily work with only one of the ORACLE products
   (SQL*Forms, SQL*ReportWriter, etc.) or do they typically write 
   applications for several ORACLE products?

o  Do developers primarily use the ORACLE products for development or
   do they frequently edit the source files directly. For example, to 
   to create a SQL*Forms application, would they use IAD or edit 
   the INP files?

o  How is ORACLE application code typically stored on UNIX? Are all 
   user exits and application modules stored in the developer's
   directory or stored in some project directory grouped by application.
 
o  Do developers typically use version control for user exits and 
   applications? If so, which product (SCCS, RCS, etc.) is most common
   or best?

o  Do most UNIX/ORACLE developers work in a window environment 
   (X, SunView, etc.)? If so, what windows are typically open when 
   developing ORACLE applications? (For example, 1 SQL*Plus window, 
   1 SQL*Forms, 1 UNIX prompt, 1 editor) 

o  Do most developers use a printed copy of the ORACLE data dictionary 
   when developing ORACLE applications or do they query the database as
   needed?

o  When creating a new user exit, is it common to use an existing user exit 
   as a base? If so, approximately how many sample user exits would it 
   take to provide a useful set of templates?

o  How important is database security in a development environment? 
   For example, are developers allowed to enter their ORACLE usernames
   and passwords on the command line even though this can be seen 
   using ps -f?

o  How are ORACLE applications usually built on UNIX? Is it most common to
   use a Make file, a script, or enter the commands by hand to generate 
   the new product modules (IAP, etc.) and compile applications?

o  Do developers usually use local versions of the product module 
   (IAP, etc.) or do they typically work with the production version?
   Do developers often have their own kernel and database?

o  What third-party development tools work well with ORACLE? Which do not? 

As you can see, I have a lot to find out before I can begin working on the 
project. If you have any other comments or suggestions, or you know of 
a successful development environment for ORACLE on UNIX, please let me 
know. Thank you for your help.

Kevin Woodward 
jkw@svl.cdc.com 

cjackso@uswnvg.UUCP (Clay Jackson) (06/20/91)

In article <34164@shamash.cdc.com> kevin@u02.svl.cdc.com (Kevin Woodward) writes:
>
>mainframes. If you are currently writing SQL*Forms, SQL*Menu,
>SQL*ReportWriter, or Pro*ORACLE applications on UNIX, I could
>really use your help answering some questions:
>
I'm a DBA in shop that does a fair amount of this stuff...

>o  What 3rd generation language (C, COBOL, FORTRAN, etc.) is most 
>   common/important when developing ORACLE applications on UNIX? Any 
We use C (Pro*C), but I suspect that the COBOL and FORTRAN implementations
are equally good/bad (depends on your point of view).  We use embedded SQL
(as opposed to the OCI (Oracle Call Interface), and, quite honestly, our
biggest problem has been teaching folks who are good FORMS/SQL programmers
the nuances of C.  I suspect that that same would be true if one tried
to take a C programmer off the street and teach 'em SQL.  The 'interface'
is actually fairly simple to learn and understand, until and unless you
need to get into dynamic SQL (ie, changing the SQL statement SYNTAX at
execute time).  Another thing we've found is that the Oracle documentation
is skimpy at best.
>
>o  Does a developer primarily work with only one of the ORACLE products
>   (SQL*Forms, SQL*ReportWriter, etc.) or do they typically write 
We used Reportwriter for one task (for which it was admittedly NOT the
right choice of tool) and threw it away.  So, no experience there, other 
than a comment that Reportwriter seems fine for stuff that Oracle
anticipated you might do (like Master/Detail reports), but for complex
reports, you're often better off in C.  To their credit, Reportwriter
1.1 is LIGHTYEARS better than 1.0, and it is a VERY full-featured product.
>
>   to create a SQL*Forms application, would they use IAD or edit 
>   the INP files?
With Forms version 2.3, we edited INP files.  We're just starting
Forms 3.0 development, and our developers LOVE it.  We will be using
the forms designer from now on.
>
>o  How is ORACLE application code typically stored on UNIX? Are all 
>   user exits and application modules stored in the developer's
>   directory or stored in some project directory grouped by application.
Not sure I understand this one - we store application code (ie, complete Pro*C
programs, with a main() somewhere) SOURCE in project specific dirs, and
keep the executables in /usr/local/bin.  We beleive strongly that there should
only be ONE copy of runformx (just got bit by that as a matter of fact ;-) ),
and it's kept in $ORACLE_HOME/bin.  The SOURCES for user exits are also
controlled by the DBA group (once the developers have written 'em).
> 
>o  Do developers typically use version control for user exits and 
>   applications? If so, which product (SCCS, RCS, etc.) is most common
>   or best?
We use RCS.
>
>o  Do most UNIX/ORACLE developers work in a window environment 
Most of our developers use tty emulators on PCs.
>
>o  Do most developers use a printed copy of the ORACLE data dictionary 
Both - as needed.
>
>o  When creating a new user exit, is it common to use an existing user exit 
Yes - we do this all the time.  We started with the Oracle provided samples and
went from there.  User exits are not rocket science, but then they're not
for someone fresh from a 2 week Oracle/C course either.
>
>o  How important is database security in a development environment? 
We use OPS$ accounts exclusively, except on accounts that own production
(or controlled) tables, in which case we try to make users aware of the
problems.
>
>o  How are ORACLE applications usually built on UNIX? Is it most common to
>   use a Make file, a script, or enter the commands by hand to generate 
We do both, but prefer makefiles for the more complex stuff.
>
>o  Do developers usually use local versions of the product module 
>   (IAP, etc.) or do they typically work with the production version?
>   Do developers often have their own kernel and database?
We INSIST that everyone use the same tools, but do have a separate (and
very differently laid out) test database kernel.
>
>o  What third-party development tools work well with ORACLE? Which do not? 
No experience here.
>
>As you can see, I have a lot to find out before I can begin working on the 
>project. If you have any other comments or suggestions, or you know of 
>a successful development environment for ORACLE on UNIX, please let me 
>know. Thank you for your help.
Good luck - let us know from time to time how you're doing.

You're welcome.
>

-- 
Clay Jackson - N7QNM
US WEST NewVector Group, Inc
clayj@cjsysv.wa.com | ...uunet!uswnvg!cjackso