Re: 4D Application as a 3-tier System

2020-01-30 Thread Tim Nevels via 4D_Tech
On Jan 28, 2020, at 3:44 PM, Tom Benedict  wrote:

> Tim, is this an automatic failover or do you have to down the clients and 
> make a quick config change or relaunch with a different 4DLink file?


Hi Tom,

It is currently a manual process to switch to the mirror. But it is certainly 
something that could be automated. We just have not committed the time to build 
that out. You could do it with 4DLink files, or with dns changes on Amazon. 

A person could also automate spinning up new 4D Client instances to handle big 
increases in traffic. Amazon had a powerful scripting system you can use to 
clone, spin up and shut down instances. You just have to commit the time to 
build it. 

Balinder Walia is an expert in this area. He has automation tools built with 4D 
that you can use to build the automation scripts for doing this on Amazon. He 
did a session at a 4D Summit a few years ago about this. 

Tim

*
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
*

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-29 Thread Tarawerkz via 4D_Tech
Hi, thanks to all for the input.

Regards,
Ronnie



**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-29 Thread Paul Dennis via 4D_Tech
I use nginx running on windows from this source 
http://nginx-win.ecsds.eu/

Combine this with nssm.exe and you can have nginx sitting behind the
firewall acting as a proxy or load balancer for 4D server and or 4D clients.
I use 4d Clients to serve different websites but using the same 4D server.

The 4D server connects to Joomla websites via mysql running in hyperv
machine on same win server so you can secure the connection between 4D and
Mysql via the virtual switch.

Been working fine for a few years. The only snag now with V18 is that 4D
client create its own folder in users/profile so not as easy to manage where
the website root is located.

Regards
Paul



--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-28 Thread Stephen J. Orth via 4D_Tech
John,

Thank you for this information.  We have looked at NGINX previously, but in a 
different role.  I'll do some additional research on this, because as an OEM I 
may have more control installing this on our customer's hardware, than telling 
them they need to purchase load balancing hardware.

Best,


Steve


-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of John DeSoi via 4D_Tech
Sent: Tuesday, January 28, 2020 6:06 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: John DeSoi 
Subject: Re: 4D Application as a 3-tier System

NGINX is also a popular option as a load balancer. Free and open source.

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

It can also proxy non-http protocols. I wonder if the silly "must be 3 tier" 
requirement could be satisfied by putting NGINX in in between 4D Client and 4D 
Server :).

John DeSoi, Ph.D.


> On Jan 28, 2020, at 4:50 PM, Dennis, Neil via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
>>1. What options are available?
>>2. How it works with 4D?
>>3. Has anyone done this as an OEM and what issues/obstacles have you run 
>> into?
>>   4. and so forth...
> 
> ... As was said before a load balancer... it is a device that is put in front 
> of a pool of machines. It balances the load between applications:
> 
> https://www.f5.com/services/resources/glossary/load-balancer
> 
> 1 - There are many different types and prices for load balancers
> 2 - They work with 4D by same as other web servers, they route requests 
> between servers... each 4D client would be a pool member.
> 3 - Yes
> 4 - Not really much more to say... load balancers can be configured in a 
> round robin type setup or keep persistence for a user so they follow the same 
> path.

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread John DeSoi via 4D_Tech
NGINX is also a popular option as a load balancer. Free and open source.

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

It can also proxy non-http protocols. I wonder if the silly "must be 3 tier" 
requirement could be satisfied by putting NGINX in in between 4D Client and 4D 
Server :).

John DeSoi, Ph.D.


> On Jan 28, 2020, at 4:50 PM, Dennis, Neil via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
>>1. What options are available?
>>2. How it works with 4D?
>>3. Has anyone done this as an OEM and what issues/obstacles have you run 
>> into?
>>   4. and so forth...
> 
> ... As was said before a load balancer... it is a device that is put in front 
> of a pool of machines. It balances the load between applications:
> 
> https://www.f5.com/services/resources/glossary/load-balancer
> 
> 1 - There are many different types and prices for load balancers
> 2 - They work with 4D by same as other web servers, they route requests 
> between servers... each 4D client would be a pool member.
> 3 - Yes
> 4 - Not really much more to say... load balancers can be configured in a 
> round robin type setup or keep persistence for a user so they follow the same 
> path.

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-28 Thread Dennis, Neil via 4D_Tech
> 1. What options are available?
> 2. How it works with 4D?
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into?
>4. and so forth...

... As was said before a load balancer... it is a device that is put in front 
of a pool of machines. It balances the load between applications:

https://www.f5.com/services/resources/glossary/load-balancer

1 - There are many different types and prices for load balancers
2 - They work with 4D by same as other web servers, they route requests between 
servers... each 4D client would be a pool member.
3 - Yes
4 - Not really much more to say... load balancers can be configured in a round 
robin type setup or keep persistence for a user so they follow the same path.

Neil




--

Privacy Disclaimer: This message contains confidential information and is 
intended only for the named addressee. If you are not the named addressee you 
should not disseminate, distribute or copy this email. Please delete this email 
from your system and notify the sender immediately by replying to this email.  
If you are not the intended recipient you are notified that disclosing, 
copying, distributing or taking any action in reliance on the contents of this 
information is strictly prohibited.

The Alternative Investments division of UMB Fund Services provides a full range 
of services to hedge funds, funds of funds and private equity funds.  Any tax 
advice in this communication is not intended to be used, and cannot be used, by 
a client or any other person or entity for the purpose of (a) avoiding 
penalties that may be imposed on any taxpayer or (b) promoting, marketing, or 
recommending to another party any matter addressed herein.
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Jeffrey Kain via 4D_Tech
For a load balancer, you shouldn't care.  There's nothing special about 4D's 
web server.

> On Jan 28, 2020, at 4:54 PM, Stephen J. Orth via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> As an OEM, I do not get to dictate how the network is configured, or what 
> hardware can/cannot be purchased.  How, as an OEM solution provider, do I 
> build a web based solution knowing I cannot control these critical aspects?

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Jeffrey Kain via 4D_Tech
I don't manage them, but we use A10 load balancers for our 4 4D Client 
instances running as virtual machines that serve web service requests from our 
website and a variety of other non-4D applications. The 4D Clients are running 
an HTTP server based on NTK (very very similar to the sample HTTP server 
provided with NTK). It's pretty easy to add and remove clients if we need to 
beef up the number of 4D Client instances for a big event, or scale back if a 
VM goes offline or whatever

https://www.a10networks.com/products/thunder-adc/

I remember at Orchard that some of our more advanced customers also installed 
load balancers in front of 4D Client-based 4D web servers, pretty much on their 
own.  Your 4D code has no idea that there's a load balancer running, so you 
don't have to write anything special for it.

HTH (better) :)

Jeff

> On Jan 28, 2020, at 4:34 PM, Stephen J. Orth via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I was hoping for more specifics like:
> 
> 1. What options are available?
> 2. How it works with 4D?
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into?
> 4. and so forth...
> 
> This may be an ignorant request, but it's an area I know very little about, 
> but want to learn more.

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-28 Thread Stephen J. Orth via 4D_Tech
Tom,

Thanks for the feedback, but my question (as an OEM) is still not really 
answered.

As an OEM, I do not get to dictate how the network is configured, or what 
hardware can/cannot be purchased.  How, as an OEM solution provider, do I build 
a web based solution knowing I cannot control these critical aspects?

I understand how this can be implemented in a situation for a non-OEM, since 
they work for that company.  However, I'm guessing there are not many, if any, 
OEM's trying to attempt this?

Best,


Steve

-Original Message-
From: Tom Benedict  
Sent: Tuesday, January 28, 2020 3:48 PM
To: s.o...@the-aquila-group.com; 4D iNug Technical <4d_tech@lists.4d.com>
Subject: Re: 4D Application as a 3-tier System

Steve Orth writes:

> 1. What options are available?  -> Many routers and server OS have 
> round-robin load balancing built in. Bigger hardware devices, like F5 BigIP 
> are available.
> 2. How it works with 4D?  -> 4D doesn’t know about it, so there is no 
> impact.
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into? -> shouldn’t be a problem, since 4D doesn’t know about the load 
> balancer.
> 4. and so forth...

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tom Benedict via 4D_Tech
Steve Orth writes:

> 1. What options are available?  -> Many routers and server OS have 
> round-robin load balancing built in. Bigger hardware devices, like F5 BigIP 
> are available.
> 2. How it works with 4D?  -> 4D doesn’t know about it, so there is no 
> impact.
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into? -> shouldn’t be a problem, since 4D doesn’t know about the load 
> balancer.
> 4. and so forth...

> On Jan 28, 2020, at 13:34, Stephen J. Orth via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Jeff,
> 
> Duh...
> 
> I was hoping for more specifics like:
> 
> 1. What options are available?
> 2. How it works with 4D?
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into?
> 4. and so forth...
> 
> This may be an ignorant request, but it's an area I know very little about, 
> but want to learn more.
> 
> I'm also looking at this from an OEM perspective, where I don't get to 
> control much from a technology standpoint at our customer sites.
> 
> Thanks!
> 
> 
> Steve
> 
> *
>  Stephen J. Orth
>  The Aquila Group, Inc.  Office:  (608) 834-9213
>  P.O. Box 690   Mobile:  (608) 347-6447
>  Sun Prairie, WI 53590
> 
>  E-Mail:  s.o...@the-aquila-group.com
> *
> 
> -Original Message-
> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Jeffrey Kain via 
> 4D_Tech
> Sent: Tuesday, January 28, 2020 3:29 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Jeffrey Kain 
> Subject: Re: 4D Application as a 3-tier System
> 
> You stick a load balancer in front as the public-facing IP and let the load 
> balancer, uh, balance the load.
> 
>> On Jan 28, 2020, at 4:22 PM, Stephen J. Orth via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> So, what is the solution for balancing multiple 4D Client web servers?
> 
> 

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tom Benedict via 4D_Tech
>To complete the fault tolerance system, we have another Amazon instance that 
>is running another copy of 4D Server as a mirror. Production 4D Server sends 
>log files to Mirror 4D Server every 10 minutes. If Production 4D Server goes 
>down, we can switch to Mirror 4D Server and have the 4D Clients connect to 
>that. 

Tim, is this an automatic failover or do you have to down the clients and make 
a quick config change or relaunch with a different 4DLink file? 

Tom Benedict

> On Jan 28, 2020, at 13:38, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> On Jan 28, 2020, at 3:22 PM, Stephen J. Orth  
> wrote:
> 
>> I've always wondered, when people recommend using 4D Client as a web server, 
>> how you go about load balancing.  It's one thing if your user base is small, 
>> however when you have 50-100 users, you cannot send them all to one 4D 
>> Client web server.
>> 
>> So, what is the solution for balancing multiple 4D Client web servers?
> 
> 
> Hi Steve,
> 
> We run 4D instances on Amazon and use it’s load balancing features. I didn’t 
> set it up, but we have 2 copies of 4D running that respond to web requests. 
> Amazon decides which machine to send the web requests to. 
> 
> In addition to load balancing you get fault tolerance too. If one 4D crashes 
> or goes deaf to web requests, the other 4D instance is still there. We have a 
> process that runs on 4D Server that pings the 4D Client web servers every 2 
> minutes to notify us if one goes down. 
> 
> To complete the fault tolerance system, we have another Amazon instance that 
> is running another copy of 4D Server as a mirror. Production 4D Server sends 
> log files to Mirror 4D Server every 10 minutes. If Production 4D Server goes 
> down, we can switch to Mirror 4D Server and have the 4D Clients connect to 
> that. 
> 
> So a basic system consists of 4 Amazon instances: Production 4D Server 
> machine, Mirror 4D Server machine, 4D Client Web Server 1 and 4D Client Web 
> Server 2. 
> 
> You max out the 2 4D Client web server instances, just add more instances. 
> You max out Production 4D Server, reconfigure the instance with more CPU and 
> resources. 
> 
> Tim
> 

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tim Nevels via 4D_Tech
On Jan 28, 2020, at 3:22 PM, Stephen J. Orth  
wrote:

> I've always wondered, when people recommend using 4D Client as a web server, 
> how you go about load balancing.  It's one thing if your user base is small, 
> however when you have 50-100 users, you cannot send them all to one 4D Client 
> web server.
> 
> So, what is the solution for balancing multiple 4D Client web servers?


Hi Steve,

We run 4D instances on Amazon and use it’s load balancing features. I didn’t 
set it up, but we have 2 copies of 4D running that respond to web requests. 
Amazon decides which machine to send the web requests to. 

In addition to load balancing you get fault tolerance too. If one 4D crashes or 
goes deaf to web requests, the other 4D instance is still there. We have a 
process that runs on 4D Server that pings the 4D Client web servers every 2 
minutes to notify us if one goes down. 

To complete the fault tolerance system, we have another Amazon instance that is 
running another copy of 4D Server as a mirror. Production 4D Server sends log 
files to Mirror 4D Server every 10 minutes. If Production 4D Server goes down, 
we can switch to Mirror 4D Server and have the 4D Clients connect to that. 

So a basic system consists of 4 Amazon instances: Production 4D Server machine, 
Mirror 4D Server machine, 4D Client Web Server 1 and 4D Client Web Server 2. 

You max out the 2 4D Client web server instances, just add more instances. You 
max out Production 4D Server, reconfigure the instance with more CPU and 
resources. 

Tim

*
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
*

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tom Benedict via 4D_Tech
When I was supporting an enterprise app which had 4D as its core, we had four 
4D Clients running as Web Services Clients and used ‘round robin’ DNS load 
balancing. We also tried BigIP from F5, which is much smarter about load 
balancing but I don’t recall why we went back to round robin. 

It’s hard to say whether we ever had enough traffic to justify the set up, so I 
can’t tell you whether it made a difference. It was easy to manage, and we 
could down any given Web Services Client without interrupting service.

HTH,

Tom Benedict

> On Jan 28, 2020, at 13:22, Stephen J. Orth via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Tim,
> 
> I've always wondered, when people recommend using 4D Client as a web server, 
> how you go about load balancing.  It's one thing if your user base is small, 
> however when you have 50-100 users, you cannot send them all to one 4D Client 
> web server.
> 
> So, what is the solution for balancing multiple 4D Client web servers?
> 
> Thanks!
> 
> 
> Steve
> 
> *
>  Stephen J. Orth
>  The Aquila Group, Inc.  Office:  (608) 834-9213
>  P.O. Box 690   Mobile:  (608) 347-6447
>  Sun Prairie, WI 53590
> 
>  E-Mail:  s.o...@the-aquila-group.com
> *
> 
> -Original Message-
> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Tim Nevels via 
> 4D_Tech
> Sent: Tuesday, January 28, 2020 3:13 PM
> To: 4d_tech@lists.4d.com
> Cc: Tim Nevels 
> Subject: Re: 4D Application as a 3-tier System
> 
> 
> If a “3 tier system” a hard requirement, then introduce another 4D Client 
> layer running a web server. You create some kind of API — maybe a REST 
> interface — that would be accessed by running 4D Web Server — or NTK — on 4D 
> Client. Then you have end user 4D Clients connect to this new 4D Client web 
> server. 
> 

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-28 Thread Stephen J. Orth via 4D_Tech
Jeff,

Duh...

I was hoping for more specifics like:

 1. What options are available?
 2. How it works with 4D?
 3. Has anyone done this as an OEM and what issues/obstacles have you run 
into?
 4. and so forth...

 This may be an ignorant request, but it's an area I know very little about, 
but want to learn more.

I'm also looking at this from an OEM perspective, where I don't get to control 
much from a technology standpoint at our customer sites.

Thanks!


Steve

*
  Stephen J. Orth
  The Aquila Group, Inc.  Office:  (608) 834-9213
  P.O. Box 690   Mobile:  (608) 347-6447
  Sun Prairie, WI 53590

  E-Mail:  s.o...@the-aquila-group.com
*

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Jeffrey Kain via 
4D_Tech
Sent: Tuesday, January 28, 2020 3:29 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Jeffrey Kain 
Subject: Re: 4D Application as a 3-tier System

You stick a load balancer in front as the public-facing IP and let the load 
balancer, uh, balance the load.

> On Jan 28, 2020, at 4:22 PM, Stephen J. Orth via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> So, what is the solution for balancing multiple 4D Client web servers?

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Jeffrey Kain via 4D_Tech
You stick a load balancer in front as the public-facing IP and let the load 
balancer, uh, balance the load.

> On Jan 28, 2020, at 4:22 PM, Stephen J. Orth via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> So, what is the solution for balancing multiple 4D Client web servers?

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-28 Thread Stephen J. Orth via 4D_Tech
Tim,

I've always wondered, when people recommend using 4D Client as a web server, 
how you go about load balancing.  It's one thing if your user base is small, 
however when you have 50-100 users, you cannot send them all to one 4D Client 
web server.

So, what is the solution for balancing multiple 4D Client web servers?

Thanks!


Steve

*
  Stephen J. Orth
  The Aquila Group, Inc.  Office:  (608) 834-9213
  P.O. Box 690   Mobile:  (608) 347-6447
  Sun Prairie, WI 53590

  E-Mail:  s.o...@the-aquila-group.com
*

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Tim Nevels via 4D_Tech
Sent: Tuesday, January 28, 2020 3:13 PM
To: 4d_tech@lists.4d.com
Cc: Tim Nevels 
Subject: Re: 4D Application as a 3-tier System


If a “3 tier system” a hard requirement, then introduce another 4D Client layer 
running a web server. You create some kind of API — maybe a REST interface — 
that would be accessed by running 4D Web Server — or NTK — on 4D Client. Then 
you have end user 4D Clients connect to this new 4D Client web server. 



**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tim Nevels via 4D_Tech
On Jan 28, 2020, at 2:00 PM Ronnie wrote:

> I have an application running in a hospital environment for a number of years.
> In the light of the increasing awareness of data security, the client’s IT in 
> their own words are looking at "redoing the whole 4dcis database onto 2 or 3 
> tier system where there is a database separation from application layer”
> 
> The current setup is a v15 client-server application, with about 80 
> concurrent client licenses serving users located at 2 separate locations.
> 
> As it stands, a 4D application already has a 2-layer architecture being a 
> client-server application.  
> We could perhaps enhance it a little to make it a 2-tier environment by 
> moving the segregating the 4D Server software and the 4D structure files 
> (business logic) on to one server and the 4D data files (database) on to a 
> separate server.  Doing that however has no effect on the 4D database 
> architecture, it still remains a 2-layer database architecture.
> 
> Apart from re-developing the application into a complete web-based 
> application, how can a 4D application be refreshed into a 3-tier system?
> 
> I would like to tap on the collective wisdom of the forum to gather some 
> views on the plausibility of the above.

If a “3 tier system” a hard requirement, then introduce another 4D Client layer 
running a web server. You create some kind of API — maybe a REST interface — 
that would be accessed by running 4D Web Server — or NTK — on 4D Client. Then 
you have end user 4D Clients connect to this new 4D Client web server. 

The new 4D Client web server machines connects to 4D Server directly and act as 
a relay between the 4D Client at the user end.  You would run 2 4D Server 
instances. Probably on different machines. One stores the data and it what the 
4D Client web server machines connect to. 

Your end user 4D Clients connect to another 4D Server and this is purely an 
application server. It just serves the 4D structure to 4D Clients. The database 
would be empty. 

Looks something like this:

4D Client End User —> 4D Client Web Server —> 4D Server with data
  |
  |---> 4D Server 
with no data (serving the application layer)

That’s a complex system. You’ve got too good of a system. Too easy. You need to 
add more layers and complexity. But maybe that is what IT wants. More layers 
because they think that means more places to add more control and more security 
protections. 

You could also make the case that your new API web server interface — that will 
be running on 4D Client — could be used by a newly created web app running in 
the browser. The web app would connect to 4D Client web server using the same 
API that the 4D Client end user machines use. That way, if IT really has the 
idea they want to move to a pure web app front end, you could provide this with 
your 4D backend. And your 4D backend is a 2 tier system — 4D Client -> 4D 
Server. 

Setting up a system like this would allow end users to continue to use 4D 
Client and keep the same UI they are used to. Once you have your REST API 
working, you switch out all SAVE RECORD and QUERY and database access commands 
that 4D Client now uses to use your new REST API. 

Get that all working and then you can provide that API to the web app 
developers. They build a web app using the same calls that 4D Client is using. 
The 4D Client web server does not know or care if requests are coming from a 4D 
Client doing an HTTP Request or from a web browser. 

Tim

*
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
*

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: 4D Application as a 3-tier System

2020-01-28 Thread Stephen J. Orth via 4D_Tech
Ronnie,

We have done several options which others have mentioned:

1. We moved certain aspects of our system into a browser for the front end, 
using REST calls to access the data.

2. We have moved certain aspects of the system out of the 4D database into 
either MySQL or SQL Server.

Both of these options were "work" but allowed us to reuse the 25 years of 
business logic already written.

Best,


Steve

*
  Stephen J. Orth
  The Aquila Group, Inc.  Office:  (608) 834-9213
  P.O. Box 690   Mobile:  (608) 347-6447
  Sun Prairie, WI 53590

  E-Mail:  s.o...@the-aquila-group.com
*

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Tarawerkz via 4D_Tech
Sent: Monday, January 27, 2020 9:48 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Tarawerkz 
Subject: 4D Application as a 3-tier System

Hi All,

I have an application running in a hospital environment for a number of years.
In the light of the increasing awareness of data security, the client’s IT in 
their own words are looking at "redoing the whole 4dcis database onto 2 or 3 
tier system where there is a database separation from application layer”

The current setup is a v15 client-server application, with about 80 concurrent 
client licenses serving users located at 2 separate locations.

As it stands, a 4D application already has a 2-layer architecture being a 
client-server application.  
We could perhaps enhance it a little to make it a 2-tier environment by moving 
the segregating the 4D Server software and the 4D structure files (business 
logic) on to one server and the 4D data files (database) on to a separate 
server.  Doing that however has no effect on the 4D database architecture, it 
still remains a 2-layer database architecture.

Apart from re-developing the application into a complete web-based application, 
how can a 4D application be refreshed into a 3-tier system?

I would like to tap on the collective wisdom of the forum to gather some views 
on the plausibility of the above.
Thank you.

Regards,
Ronnie
Tarawerkz

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-28 Thread Paul Dennis via 4D_Tech
Simple solution would be to decide which data needed protection. Move that
into Mysql or Postgres and use Pluggers Mysql plugin to access the data. 
Regards
Paul



--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D Application as a 3-tier System

2020-01-27 Thread Neil Dennis via 4D_Tech
As you already know a textbook three tier application would be web based…

HTML/Javascript/CSS - Front End
PHP/JS/ASP… many others - Middleware
MySQL, Oracle etc - Backend

The key points being:
Front end handles the presentation
Middle ware handles the business logic and application flow talks between the 
front end and any other resources needed
Backend a connection to permanent data usually through SQL

There is no reason that 4D couldn’t be used in all three, but it really doesn’t 
make sense…
Front End - 4D handling the presentation with screens (but no database nor 
tables) making calls to the middle layer… and accepting data and navigation 
from the middle layer (via REST or some other communication)
Middleware - Use 4D code to handle requests from the front end, validate data, 
handle the controller part (again no database nor tables)… make calls the 
backend (REST etc. or using v18 ORDA to make direct queries)
Backend - Use 4D structure with data but no code (expose with REST or ORDA)

A couple of possibilities maximizing 4D use:
Web Browser -> 4D middleware server -> 4D backend
Web Browser -> 4D Client -> 4D Server

Anyway in short I don’t know of a way to go three tier without a lot of work. 
And for a true 3 tier, web is a good way to do it.

Neil


> On Jan 27, 2020, at 8:48 PM, Tarawerkz via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi All,
> 
> I have an application running in a hospital environment for a number of years.
> In the light of the increasing awareness of data security, the client’s IT in 
> their own words are looking at "redoing the whole 4dcis database onto 2 or 3 
> tier system where there is a database separation from application layer”
> 
> The current setup is a v15 client-server application, with about 80 
> concurrent client licenses serving users located at 2 separate locations.
> 
> As it stands, a 4D application already has a 2-layer architecture being a 
> client-server application.  
> We could perhaps enhance it a little to make it a 2-tier environment by 
> moving the segregating the 4D Server software and the 4D structure files 
> (business logic) on to one server and the 4D data files (database) on to a 
> separate server.  Doing that however has no effect on the 4D database 
> architecture, it still remains a 2-layer database architecture.
> 
> Apart from re-developing the application into a complete web-based 
> application, how can a 4D application be refreshed into a 3-tier system?
> 
> I would like to tap on the collective wisdom of the forum to gather some 
> views on the plausibility of the above.
> Thank you.
> 
> Regards,
> Ronnie
> Tarawerkz
> 
> 
> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

4D Application as a 3-tier System

2020-01-27 Thread Tarawerkz via 4D_Tech
Hi All,

I have an application running in a hospital environment for a number of years.
In the light of the increasing awareness of data security, the client’s IT in 
their own words are looking at "redoing the whole 4dcis database onto 2 or 3 
tier system where there is a database separation from application layer”

The current setup is a v15 client-server application, with about 80 concurrent 
client licenses serving users located at 2 separate locations.

As it stands, a 4D application already has a 2-layer architecture being a 
client-server application.  
We could perhaps enhance it a little to make it a 2-tier environment by moving 
the segregating the 4D Server software and the 4D structure files (business 
logic) on to one server and the 4D data files (database) on to a separate 
server.  Doing that however has no effect on the 4D database architecture, it 
still remains a 2-layer database architecture.

Apart from re-developing the application into a complete web-based application, 
how can a 4D application be refreshed into a 3-tier system?

I would like to tap on the collective wisdom of the forum to gather some views 
on the plausibility of the above.
Thank you.

Regards,
Ronnie
Tarawerkz




**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**