Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 12 total
Thread C/S without an running ElevateDB server
Mon, Jan 22 2018 8:14 AMPermanent Link

AndreasL

Hi all,

I'm familiar with Elevate and how to configure clients, the sever etc. But I have a specific question for C/S apps without using the ElevateDB Server.

If I don't want to have an extra EDBServer running, can I create a business app that includes a Engine (EngineType=etServer) with local connection plus access to other remote users (in my case up to 5)? Is it just enough to add the Engine or do I have to copy the code from the EDBServer that is related to session events?

Thanks, best regards
Andreas
Mon, Jan 22 2018 8:43 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

AndreasL


I have no idea why you want to do what you describe, and without having access to the source code I can only say its very unlikely.

If I'm understanding it correctly you want a five user access to a database on a server somewhere but without the server, but running your own application. If I'm correct all you will end up doing is duplicating the server.

What's wrong with just going for local access and using UNC paths?

Roy Lambert
Mon, Jan 22 2018 10:05 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Andreas,

I can't see any advantage on that design, you are creating problems that are already solved - if you install EDB Server.
What you can do is to have one of the computers acting both as a server and a client.
The only drawback is that that 'special' user should be aware that he can't restart or turn off the computer whenever he likes.

--
Fernando Dias
[Team Elevate]
Mon, Jan 22 2018 10:17 AMPermanent Link

Matthew Jones

AndreasL wrote:

> can I create a business app that includes a Engine (EngineType=etServer) with local connection plus access to other remote users (in my case up to 5)?

Like the others, I'm not entirely clear, but I suspect the answer is "yes". If your purpose is to create a server application that offers some sort of API to client applications, where the server part does all the database stuff, and the client's only make calls to ask for things to be done, and don't talk SQL or anything, then yes, that's a normal thing to do. But perhaps more info might confirm that this is what you are wanting.

--

Matthew Jones
Tue, Jan 23 2018 4:31 AMPermanent Link

AndreasL

Thanks to all! Perhaps I wasn't clear enough in the description...

I fully understand the advantage of having the EDBServer running, but there are several stupid customers in the targeted market for my product. You won't see file server or even dedicated windows server running there in many cases. But it isn't my job, to build their IT infrastructure and I have to deal with the given circumstances. A configuration without a EDBServer is one component less to support...


Let me rephrase my question:

I have 3 PC running, A, B and C...

On PC A, I have my program running with a EDBEngine and local config.

On PC B and C, I would like to have exactly the the same program running but instead of using a local config, I would like to remote connect to the Engine in my program on PC A.

I'm fully aware of the fact that PC A with my program has to run, but this is not the question here. And yes, I know that is possible to share the config files but I expect a much higher network traffic then.

So the question is: can my program on PC A act as a EDBServer by just adding the Engine or do I have to add "server" specific code (session handling etc...)?

Best regards
Andreas
Tue, Jan 23 2018 6:05 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

AndreasL

>Let me rephrase my question:
>
>I have 3 PC running, A, B and C...
>
>On PC A, I have my program running with a EDBEngine and local config.
>
>On PC B and C, I would like to have exactly the the same program running but instead of using a local config, I would like to remote connect to the Engine in my program on PC A.
>
>I'm fully aware of the fact that PC A with my program has to run, but this is not the question here. And yes, I know that is possible to share the config files but I expect a much higher network traffic then.
>
>So the question is: can my program on PC A act as a EDBServer by just adding the Engine or do I have to add "server" specific code (session handling etc...)?

The answer to the question is you will have to add server specific code - or to put it another way, if you want to have a piece of software hat does what the server does you have to have the software from the server in there. You can't have client/server without the server. If Tim could have managed that trick he would have been raking it in.

I don't know how sensitive your application is, or your customers are to network traffic but you loose a lot of the advantage of c/s when you have a machine accessing locally as well - the database is no longer single user.

Thinking about it your application on PC A will run lumpily - ie whenever its servicing a major query from B or C.

Unless network traffic is a problem then I'd save yourself a world of hurt and just use simple filesharing with UNC paths.

Roy

Tue, Jan 23 2018 9:37 AMPermanent Link

Matthew Jones

Roy Lambert wrote:

> Unless network traffic is a problem then I'd save yourself a world of hurt and just use simple filesharing with UNC paths.

I'd go client server all the time! It protects your database more than the alternatives, and puts the data where it should be - in the database server. And it makes all the clients the same too.

--

Matthew Jones
Tue, Jan 23 2018 11:33 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Andreas,

<< If I don't want to have an extra EDBServer running, can I create a business app that includes a Engine (EngineType=etServer) with local connection plus access to other remote users (in my case up to 5)? Is it just enough to add the Engine or do I have to copy the code from the EDBServer that is related to session events? >>

Yes, you can do this.

As for configuration, the only thing you need to do is to add the TEDBEngine component to your main form and then make sure that you start the engine in a controlled manner after configuring it appropriately for your setup:

https://www.elevatesoft.com/manual?action=viewtopic&id=edb2&product=rsdelphiwin32&version=10T&topic=Configuring_Starting_Engine

You want to start the engine in a controlled manner so that you can handle server start errors, etc. in a way that isn't just random or based upon opening a database or table.

In keeping with "starting the engine in a controller manner", make sure that you set this property to False:

https://www.elevatesoft.com/manual?action=viewprop&id=edb2&product=rsdelphiwin32&version=10T&comp=TEDBEngine&prop=StoreActive

Finally, you don't need any of the session events, etc. unless you want to provide an interface for displaying the sessions, etc. in your application.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Jan 24 2018 2:20 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Colour me absolutely gobsmacked.

Roy Lambert
Wed, Jan 24 2018 3:41 AMPermanent Link

AndreasL

Tim Young [Elevate Software] wrote:

Andreas,

<< If I don't want to have an extra EDBServer running, can I create a business app that includes a Engine (EngineType=etServer) with local connection plus access to other remote users (in my case up to 5)? Is it just enough to add the Engine or do I have to copy the code from the EDBServer that is related to session events? >>

Yes, you can do this.

As for configuration, the only thing you need to do is to add the TEDBEngine component to your main form and then make sure that you start the engine in a controlled manner after configuring it appropriately for your setup:

https://www.elevatesoft.com/manual?action=viewtopic&id=edb2&product=rsdelphiwin32&version=10T&topic=Configuring_Starting_Engine

You want to start the engine in a controlled manner so that you can handle server start errors, etc. in a way that isn't just random or based upon opening a database or table.

In keeping with "starting the engine in a controller manner", make sure that you set this property to False:

https://www.elevatesoft.com/manual?action=viewprop&id=edb2&product=rsdelphiwin32&version=10T&comp=TEDBEngine&prop=StoreActive

Finally, you don't need any of the session events, etc. unless you want to provide an interface for displaying the sessions, etc. in your application.

Tim Young
Elevate Software
www.elevatesoft.com


Thanks a lot Tim, you made my day!
Page 1 of 2Next Page »
Jump to Page:  1 2
Image