Board index » delphi » Delphi for a serious Client Server development?

Delphi for a serious Client Server development?

We are about to start the development of a big Client Server project.  
Delphi is one of the serious candidates.  We have some Delphi experiance,
but still have our own doubts.  Can anybody comment on the following
questions:

1.  Performance.  Our tables are going to be fairly big, with up to million
    rows in several of them, complex joins on the others.  Are there any
    prefered servers:  Sybase, Oracle, Informix, Interbase (we have to
    choose a server as well, but it will probably run on a Unix
    environment).
2.  This one relates to performance as well. I didn't see any way of    
    limitting the result set in a query, returning only 20-30  rows or
    at a time (when I want to display the result, this is the maximun
    amount that can be displayed, and I would like to fetch another
    chunk as the user scrolls
3.  In an MDI application, it seems to me that a separate transaction
    is required for each window that performs multi table update.  
    I didn't see, however, any means that such a scheme can be
    implemented (I tried it on Delphi C/S 1.0 on the local Interbase
    server to no avail).
4.  I've read many comments about not using the BDE in serious applications.
    any reasons for this?  Also, it seems like throwing all th RAD
    advantages away.
5.  Delphi 2.0 vs. PowerBuilder 5.0:  PowerBuilder 5.0 is another
    serious possibility.  Any comments or experiance with these two?
6.  Any other comments that may help me make the 'right' choice.

Thanks in anvance for everybody who is going to take the time and response.
Please e-mail responses to tal...@actcom.co.il or posr response here.

Avy.

 

Re:Delphi for a serious Client Server development?


Quote
Avy Strominger wrote:

> We are about to start the development of a big Client Server project.
> Delphi is one of the serious candidates.  We have some Delphi experiance,
> but still have our own doubts.  Can anybody comment on the following
> questions:

> 1.  Performance.  Our tables are going to be fairly big, with up to million
>     rows in several of them, complex joins on the others.  Are there any
>     prefered servers:  Sybase, Oracle, Informix, Interbase (we have to
>     choose a server as well, but it will probably run on a Unix
>     environment).
> 2.  This one relates to performance as well. I didn't see any way of
>     limitting the result set in a query, returning only 20-30  rows or
>     at a time (when I want to display the result, this is the maximun
>     amount that can be displayed, and I would like to fetch another
>     chunk as the user scrolls
> 3.  In an MDI application, it seems to me that a separate transaction
>     is required for each window that performs multi table update.
>     I didn't see, however, any means that such a scheme can be
>     implemented (I tried it on Delphi C/S 1.0 on the local Interbase
>     server to no avail).
> 4.  I've read many comments about not using the BDE in serious applications.
>     any reasons for this?  Also, it seems like throwing all th RAD
>     advantages away.
> 5.  Delphi 2.0 vs. PowerBuilder 5.0:  PowerBuilder 5.0 is another
>     serious possibility.  Any comments or experiance with these two?
> 6.  Any other comments that may help me make the 'right' choice.

> Thanks in anvance for everybody who is going to take the time and response.
> Please e-mail responses to tal...@actcom.co.il or posr response here.

> Avy.

Here are my opinions (excuse me if I misunderstood some of the questions):

1. I like Oracle - performance with Delphi can't be beat.

2. The BDE does this for you - it only retrieves what it needs to fill in the
data aware controls, not the entire result set. As the user scrolls (either up
or down), it fetches records/fields as needed.

3. No, you are not limited to one form per transaction. I don't fully
understand the problem you're having.

4. You're right - you'd be throwing a lot away by doing that. I think ditching
the BDE would be a mistake.

5. Two big advantages of Delphi - flexibility and speed. Also, the Delphi IDE
is great - it makes programming a real pleasure.

6. Start using Delphi and you'll decide for yourself in no time.

-Bryan

Re:Delphi for a serious Client Server development?


On Sun, 09 Jun 1996 19:19:39 -0700, Bryan Keller <br...@seigler.com>
wrote:

Quote
>Avy Strominger wrote:

>> We are about to start the development of a big Client Server project.
>> Delphi is one of the serious candidates.  We have some Delphi experiance,
>> but still have our own doubts.

Just to say Delphi came 1st in Byte Magazines Client/Server
development tools review - not just first but first by a very big
margin on all fronts - development speed, performance etc etc take a
look. Reported in this months issue

Russell Weetch
and UK Index is at http://www.ukindex.co.uk

Re:Delphi for a serious Client Server development?


Quote
tal...@actcom.co.il (Avy Strominger) wrote:
>We are about to start the development of a big Client Server project.  
>Delphi is one of the serious candidates.  We have some Delphi experiance,
>but still have our own doubts.  Can anybody comment on the following
>questions:
>1.  Performance.  Our tables are going to be fairly big, with up to million
>    rows in several of them, complex joins on the others.  Are there any
>    prefered servers:  Sybase, Oracle, Informix, Interbase (we have to
>    choose a server as well, but it will probably run on a Unix
>    environment).

Sybase is great for large scale databases when run on a Unix platform.

Quote
>2.  This one relates to performance as well. I didn't see any way of    
>    limitting the result set in a query, returning only 20-30  rows or
>    at a time (when I want to display the result, this is the maximun
>    amount that can be displayed, and I would like to fetch another
>    chunk as the user scrolls

The DBGrid seems to do this.  I have noticed that when displaying
large databases that when you scroll, you get the SQL hourglass
cursor.  You might want to look into the code for the DBGrid for
ideas.

Quote
>3.  In an MDI application, it seems to me that a separate transaction
>    is required for each window that performs multi table update.  
>    I didn't see, however, any means that such a scheme can be
>    implemented (I tried it on Delphi C/S 1.0 on the local Interbase
>    server to no avail).

I'm not sure exactly what you mean by this.  Perhaps an example of
what you are trying to accomplish?

Quote
>4.  I've read many comments about not using the BDE in serious applications.
>    any reasons for this?  Also, it seems like throwing all th RAD
>    advantages away.

We use the BDE for all our applications and it works great.  For
Sybase it has native drivers so we don't get the overhead of ODBC.

Quote
>5.  Delphi 2.0 vs. PowerBuilder 5.0:  PowerBuilder 5.0 is another
>    serious possibility.  Any comments or experiance with these two?

I saw a demo and the product was the absolute pits.  Millions of speed
buttons that you have to memorize.  Dialog boxes all over the place.
Code hidden behind objects (delete an object and say goodbye to the
code you worked on for 3 hours)  etc.          

Quote
>6.  Any other comments that may help me make the 'right' choice.

We have had great success using Delphi/BDE/Syabse to develop real
world / large scale applications.  You could do a lot worse than going
that way.
-------------------------------
Thomas Paul
TOMG...@Pipeline.Com
Dean Witter, Discover & Co.
New York City, NY USA
----------------------------------

Re:Delphi for a serious Client Server development?


Quote
In article <Dso7tu....@actcom.co.il>, tal...@actcom.co.il (Avy Strominger) writes:
> We are about to start the development of a big Client Server project.
> Delphi is one of the serious candidates.  We have some Delphi experiance,
> but still have our own doubts.  Can anybody comment on the following
> questions:

> 1.  Performance.  Our tables are going to be fairly big, with up to million
>     rows in several of them, complex joins on the others.  Are there any
>     prefered servers:  Sybase, Oracle, Informix, Interbase (we have to
>     choose a server as well, but it will probably run on a Unix
>     environment).
> 2.  This one relates to performance as well. I didn't see any way of
>     limitting the result set in a query, returning only 20-30  rows or
>     at a time (when I want to display the result, this is the maximun
>     amount that can be displayed, and I would like to fetch another
>     chunk as the user scrolls
> 3.  In an MDI application, it seems to me that a separate transaction
>     is required for each window that performs multi table update.
>     I didn't see, however, any means that such a scheme can be
>     implemented (I tried it on Delphi C/S 1.0 on the local Interbase
>     server to no avail).
> 4.  I've read many comments about not using the BDE in serious applications.
>     any reasons for this?  Also, it seems like throwing all th RAD
>     advantages away.
> 5.  Delphi 2.0 vs. PowerBuilder 5.0:  PowerBuilder 5.0 is another
>     serious possibility.  Any comments or experiance with these two?
> 6.  Any other comments that may help me make the 'right' choice.

> Thanks in anvance for everybody who is going to take the time and response.
> Please e-mail responses to tal...@actcom.co.il or posr response here.

> Avy.

Here's my 2 bits worth.

We have just finished developing an app that took 12 months of total effort
using Delphi 2.0 and interbase on NT and 6 clients.

The largest table contains 500,000+ records and is joined with one other
on occasion.  It is extremely fast even with only 8Mb on a WIN95 machine
with a 586 100Mz CPU.  My clients are very happy with the speed.

One of the tables is growing at a rate of 5,000 records per week so it will
be bigger than the other soon.  SPeed of access (many multi-joins to joins
to joins with this one) is still extremely good.

The main problem with this form of programming is the lack of information
available in the form of 3rd-party books.  SAMS announced one, but it failed.

The information about details of what to connect to what and when simply
does not exist.  There are no books nor help as to *why* some parameters
should be set one way or the other.

In particular,

        1. how to start a transaction with
                read write wait read committed no record_version
           from withing Delphi using SQL Passthrough mode.

           $50 to the first person who can provide me with a method which
           allows me to do this.

        2. how to write blob filters in Delphi.

        3. why cast(0.05 as char(9)) gives "0.5" but
               cast(0.05 * 1 as char(9)) give "0.05"

        4. how to code to make sure the SQL cursor disappears when one
           wants it too.  How one codes this depends on whether the BDE
           alias for your database is set up for NO SHARE, SHARED AUTOCOMMIT,
           or SHARED NO AUTOCOMMIT.  DOes this matter if one uses SQL LINKS
           or not?

Be prepared to have to read 3 thousand pages of reference books and on-line
help even before you begin.

The charges for instances of technical support are $180 for each question
on a one-of basis from Borland Australia.

On the other hand, during development we have made several stuff-ups in
our code - but no matter what we have done, the database has remained in
perfect condition.  Turning the computers off in the middle of transactions,
rebooting a client or the server, etc., has no detrimental effect on the
database.

It is also scalable to multiple disks when one disk fills up.  IB has
lots of nice maintenance functions, backup facility, auto-mirroring, etc.

Good luck.

--
Raymond Kennington

ma...@levels.unisa.edu.au

Other Threads