NTK-based open source web server

Graham Langley (3/19/14 7:32AM)
Bart Davis (3/19/14 11:00AM)
Bruno LEGAY (3/20/14 7:39AM)
Arnaud de Montard (3/20/14 8:48AM)
Jeffrey Kain (3/20/14 9:02AM)
Jeffrey Kain (3/20/14 9:38AM)
Keisuke Miyako (3/20/14 1:56PM)
Keisuke Miyako (3/20/14 2:14PM)


Graham Langley (3/19/14 7:32 AM)

Tom,

Please contact me at;

mail@...

... to discuss this. I do have a proprietary NTK production ready web
server
(built into Lightning) which is used commercially and is solid.

Regards,

Graham

--
View this message in context:

http://4d.1045681.n5.nabble.com/NTK-based-open-source-web-server-tp5729133
p5729136.html
Sent from the 4D Tech mailing list archive at Nabble.com.

Bart Davis (3/19/14 11:00 AM)

Graham,

I saw this posting and am also interested in a commercial-ready NTK
web server.

Can you send me some additional information?

Thank you,
Bart Davis

On Mar 19, 2014, at 10:47 AM, 4d_tech-request@... wrote:

color><param>00000,0000,DDEE/param>MMessage: 2

Date: Wed, 19 Mar 2014 07:32:20 -0700 (PDT)
From: Graham Langley <mail@...

Tom,

Please contact me at;

mail@...

... to discuss this. I do have a proprietary NTK production ready web
server
(built into Lightning) which is used commercially and is solid.

Regards,

Graham
/color>

Bruno LEGAY (3/20/14 7:39 AM)

Hi,

Interesting thread...

1. I think Rob provided a sample http implementation with NTK...
As always his examples are a great source of inspiration.
Have you identified what is missing for you ?
Have you identified what you want to achieve, what features you want
to include ?

2. NTK is a great plugin but 4D Internet Commands can also handle
basic TCP communication (and therefore an HTTP server)
What limitations do you see with 4D IC (features / speed) ?

3. License...
In the old days (previous century), there was a company (PDM?) selling
a plugin+code (Internet Tools) to do web server. It was very popular.
If I remember well there was a big argument about licencing. It came
down to : if you are doing web serving (with 4D internal web features
or not) you should pay for the "4D Web" license. Is my memory playing
tricks on me or has there been a change on this...
4D bought "Internet Tools" from PDM and this plug-in is now known as
"4D Internet Commands".
Has "4D Internet Commands" been "crippled" so you can't do an http
server with it ?

4. Portability vs dependency
There are only few tcp commands necessary to do basic http (listen,
state, receive, send, close).
Then there are extra features which may need extra commands
(gzip/deflate compression, certificates, etc...).
Maybe the http server code could be written with an "abstraction
layer" to allow a choice of plugin for the developer (for some IC may
be enough, for some others NTK will be preferred).

I have written a basic http client/server component with IC. I use it
to implement inter-application communication v12 (with a RESTful
layer).
I have written a deflate/gzip plugin for compression to try to speed
things up a little (did not feel like rewriting this in 4D).
The plugin is optional, so you can use the component without the
plug-in...

Speed is good enough for me (it is not public facing website), it is
used on a local network.

Talking about speed, I got the biggest improvement not necessarily in
the communication/transport side, but on generating the html response.
When building large text by small increment, it turned out 4D got
slower and slower (and beachballed). I rewrote the code to use blob
instead of text and I got a speed factor of x33 (build an raw text
response for ~47 000 records was taking 328s before optimization, 10s
after optimization).

Bruno

Arnaud de Montard (3/20/14 8:48 AM)

Le 20 mars 2014 ?=A0 07:39, Bruno LEGAY a ?=A9crit :

color><param>00000,0000,DDEE/param>33. License...
In the old days (previous century), there was a company (PDM?) selling
a plugin+code (Internet Tools) to do web server. It was very popular.
If I remember well there was a big argument about licencing. It came
down to : if you are doing web serving (with 4D internal web features
or not) you should pay for the "4D Web" license. Is my memory playing
tricks on me or has there been a change on this...
/color>
I remember we had to buy the 4d server license (4D 6.0 or 6.5) with a
web server made with itk; there was no 4D web license at this time.

--
Arnaud de Montard

Jeffrey Kain (3/20/14 9:02 AM)

Why hasn&iacute;t a robust TCP/IP command set been moved into 4D proper yet?
Isn&iacute;t it odd that something so important to nearly every type of
application these days requires a plug-in to provide the necessary
developer tools, and a 3rd-party plug-in to actually work with high
performance?

Version control is all well and good, but this is a gaping hole in the
basic feature set.

Jeff

On Mar 20, 2014, at 8:56 AM, Keisuke Miyako <Keisuke.Miyako@...
wrote:

color><param>00000,0000,DDEE/param>II am not dismissing IC as a whole.
The plugin is simply not designed to be used as an HTTP server.
/color>

Jeffrey Kain (3/20/14 9:38 AM)

I think it&iacute;s pretty fair. Name one language/development tool higher up
on the chain than Filemaker Pro that can&iacute;t open a socket connection or
send/receive a UDP packet without adding a plug-in?

On Mar 20, 2014, at 9:14 AM, Keisuke Miyako <Keisuke.Miyako@...
wrote:

color><param>00000,0000,DDEE/param>HHello, that is not fair...
/color>

Keisuke Miyako (3/20/14 1:56 PM)

Hello,

TCP_listen (Internet Commands) has no potential to work as an HTTP
server,
it will drop concurrent connections at a very low point.
NTK, on the other hand, is specifically written with such uses in mind.

There was a post from Rob some time ago on how NTK handles concurrent
connections.

Roger Vogt (who wrote the fabulous 4D Open emulation layer) described
how
IC lost packets at 128 connections,
while NTK was much more robust and of course, very fast.

I am not dismissing IC as a whole.
The plugin is simply not designed to be used as an HTTP server.

On 2014/03/20 15:39, "Bruno LEGAY" <b.legay@... wrote:

color><param>00000,0000,DDEE/param>22. NTK is a great plugin but 4D
Internet Commands can also handle basic
TCP communication (and therefore an HTTP server)
What limitations do you see with 4D IC (features / speed) ?
/color>

Keisuke Miyako (3/20/14 2:14 PM)

Hello, that is not fair...

a customer once called TCP_Listen a poor man?=80&ocirc;s web server;
but notice it is not named HTTP_Listen, so regardless of the
performance,
the idea in itself is an abuse of the plugin.

4D Web Server (HTTP, SOAP, REST), on the other hand, is threaded (v13),
lean and mean.

HTTP Get, HTTP Request, WEB SERVICE CALL are also excellent developer
tools.

miyako

On 2014/03/20 22:02, "Jeffrey Kain" <jeffrey.kain@... wrote:

color><param>00000,0000,DDEE/param>WWhy hasn?=80&ocirc;t a robust TCP/IP
command set been moved into 4D proper yet?
Isn?=80&ocirc;t it odd that something so important to nearly every type of
application these days requires a plug-in to provide the necessary
developer tools, and a 3rd-party plug-in to actually work with high
performance?
/color>

Reply to this message

Summary created 3/20/14 at 3:59PM by Intellex Corporation

Comments welcome at: feedback@intellexcorp.com