webserver using RESTFUL API and responsive
webserver using RESTFUL API and responsive
Hello friends,
I am working on a new project. An ANDROID APP is posting against a webserver using RESTFUL API. This work is done and fully functional.
At the moment the backend is written in SYMFONY. As I read about the “RestFul server with Harbour” I thought if it would be possible to use Harbour and FIVEWEB instead of Symfony for the WEB development.
Responsive design is a must because the ANDROID APP is used from different devices.
What do you think.
Best regards,
Otto
I am working on a new project. An ANDROID APP is posting against a webserver using RESTFUL API. This work is done and fully functional.
At the moment the backend is written in SYMFONY. As I read about the “RestFul server with Harbour” I thought if it would be possible to use Harbour and FIVEWEB instead of Symfony for the WEB development.
Responsive design is a must because the ANDROID APP is used from different devices.
What do you think.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Antonio Linares
- Site Admin
- Posts: 37485
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: webserver using RESTFUL API and responsive
Otto,
FiveWeb uses CGIs. For little amount of users it may be fine but not sure how it may behave for many users.
Can you use CGIs ?
FiveWeb uses CGIs. For little amount of users it may be fine but not sure how it may behave for many users.
Can you use CGIs ?
Re: webserver using RESTFUL API and responsive
Dear Antonio,
thank you for your answer. Can you please tell me what number a little amount of users is.
Best regards,
Otto
thank you for your answer. Can you please tell me what number a little amount of users is.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Antonio Linares
- Site Admin
- Posts: 37485
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: webserver using RESTFUL API and responsive
Dear Otto,
Each time a CGI is invoked (a CGI is an EXE), the server executes it. Lets imagine 20 users simultaneously invoke the CGI. It is exactly the same
as launching 20 EXEs at the same time, in terms of memory consume and loading time. More users will result in more memory and time consume.
If we use a web server instead of a CGI, for each user requirement, a new thread is created. This means much less memory and time consume.
Just an EXE is running. A single one.
Each time a CGI is invoked (a CGI is an EXE), the server executes it. Lets imagine 20 users simultaneously invoke the CGI. It is exactly the same
as launching 20 EXEs at the same time, in terms of memory consume and loading time. More users will result in more memory and time consume.
If we use a web server instead of a CGI, for each user requirement, a new thread is created. This means much less memory and time consume.
Just an EXE is running. A single one.
Re: webserver using RESTFUL API and responsive
Hi Otto,
It's really necessary ? Many times the customer explains that if an application isn't responsive, it's not worth anything.
What do you mean, with responsive?Otto wrote: Responsive design is a must because the ANDROID APP is used from different devices.
It's really necessary ? Many times the customer explains that if an application isn't responsive, it's not worth anything.
Salutacions, saludos, regards
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Re: webserver using RESTFUL API and responsive
Dear Antonio,
thank you for your answer.
I looked inside task manager of my server. My Fivewin programs consume in average 5 MB.
5 MB, 10000 user would be an amount of 50 Gigabyte.
I saw that the maximum of Windows Server 2016 Standard is 24 TB.
Is this calculation realistic.
Best regards,
Otto
thank you for your answer.
I looked inside task manager of my server. My Fivewin programs consume in average 5 MB.
5 MB, 10000 user would be an amount of 50 Gigabyte.
I saw that the maximum of Windows Server 2016 Standard is 24 TB.
Is this calculation realistic.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Antonio Linares
- Site Admin
- Posts: 37485
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: webserver using RESTFUL API and responsive
Otto,
Probably a real life test would solve the doubts about it. Here you have a guide to use CGIs with IIS:
http://forums.fivetechsupport.com/viewt ... 81#p171281
https://msdn.microsoft.com/en-us/librar ... 2147217396Common Gateway Interface (CGI) requests
For performance reasons, the use of CGI applications to serve requests is not recommended with IIS. Frequently creating and deleting CGI processes involves significant overhead. Better alternatives include using ISAPI application scripts and ASP or ASP.NET scripts. Isolation is available for each of these options.
Probably a real life test would solve the doubts about it. Here you have a guide to use CGIs with IIS:
http://forums.fivetechsupport.com/viewt ... 81#p171281
Re: webserver using RESTFUL API and responsive
Dear Antonio,
as you know I try to evolve the project where your son Manuel developed the ANDROID APP _ QRCodes.
The APP is working perfect.
I know it would be the best and easiest way to let him program the rest too.
But the problem is that I have no clear ideas about the final product at the moment.
So I would prefer to develop this step by step myself.
But I am sure that this ANDOID APP could be an interface like keyboard or touchscreen for all of us Fivewinners.
Therefore I asked for help.
It is not realistic to think that at the start there will be so many users. But if we see that there are then we have also the budget for developing.
I thought if I set up an internet server we could install HARBOUR RESTFUL and I could ask Manuels company to develop a extra APP which is working against this HARBOUR internet server.
That was my idea.
Best regards,
Otto
as you know I try to evolve the project where your son Manuel developed the ANDROID APP _ QRCodes.
The APP is working perfect.
I know it would be the best and easiest way to let him program the rest too.
But the problem is that I have no clear ideas about the final product at the moment.
So I would prefer to develop this step by step myself.
But I am sure that this ANDOID APP could be an interface like keyboard or touchscreen for all of us Fivewinners.
Therefore I asked for help.
It is not realistic to think that at the start there will be so many users. But if we see that there are then we have also the budget for developing.
I thought if I set up an internet server we could install HARBOUR RESTFUL and I could ask Manuels company to develop a extra APP which is working against this HARBOUR internet server.
That was my idea.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
Re: webserver using RESTFUL API and responsive
Otto,
C.
Have you used simphony ? do you know php ?Otto wrote:...Symfony for the WEB development.
C.
Salutacions, saludos, regards
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Re: webserver using RESTFUL API and responsive
Hello Carles,
no not really I am learning PHP and Symfony at the moment.
But I would prefer a Harbour/FiveWeb environment.
The Android QRCode APP is opening so many business opportunities.
Best regards,
Otto
https://www.bluelounge.com/products/quick-peek
no not really I am learning PHP and Symfony at the moment.
But I would prefer a Harbour/FiveWeb environment.
The Android QRCode APP is opening so many business opportunities.
Best regards,
Otto
https://www.bluelounge.com/products/quick-peek
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
Re: webserver using RESTFUL API and responsive
Otto,
Look at this little code and I'm sure you understand what this can try to do. All is a bit of php and javascript.
I think it's a very clean code, do you agree ?
Now I would like to run this little code from your Android phone with the following url:
http://itarraco.com/tweb.examples/tuto_app_movil_4.php
We are a species that always find solutions to our needs. I propose one of them...
Look at this little code and I'm sure you understand what this can try to do. All is a bit of php and javascript.
Code: Select all
<?php
include ( 'config.php' );
include ( TWEB_PATH . 'core.php' );
include ( TWEB_PATH . 'core.grid.php' );
define ( 'TITLE', 'App Bussines - Movil' );
$oWeb = new TWeb( TITLE );
$oWeb->Activate();
$oFont = new TFont( 'Verdana', 14, true, true, false, CLR_GRAY );
$oWnd = new TWindow( 'main', 0, 0, '100%', '100%' );
$oPanel = new TPanel( $oWnd, 'main_A', 0, 0, '100%', 25, CLR_BLACK );
$oImg = new TImage( $oPanel, null, 5, 5 , 'images/about.png', 16, 16 );
$oSay = new TSay( $oPanel, null, 2, 30, 'App Bussiness' );
$oSay->SetFont( $oFont );
$oPanel = new TPanel( $oWnd, 'main_B', 25, 0, '100%', '100%', CLR_HGRAY );
$oBar = new TBar( $oPanel, 'mybtnbar' );
$oBar->nBtnWidth = 100;
$oBar->AddButton( 'btn1', 'Consulta' , 'Consulta()' , 'images/db.png' );
$oImg = new TImage( $oPanel, 'photo', 97, 10, '', 120, 150 );
$oImg->lZoom = true;
$oImg->SetBorderInset();
$oImg->SetRight( 10, 120 );
new TSay( $oPanel, null, 60, 10, 'Id.', 100 );
$oGet = new TGet( $oPanel, 'my_id', 60, 80, '1' );
$oGet->SetRight( 140 );
$o = new TGroup( $oPanel, null, 90, 10, 'Datos Personales', 0, 160 );
$o->SetRight( 140 );
$oSay = new TSay( $o, 'first' , 30, 10, '' );
$oSay->lBorder = true;
$oSay->SetRight( 10 );
$oSay = new TSay( $o, 'last' , 60, 10, '' );
$oSay->lBorder = true;
$oSay->SetRight( 10 );
$oSay = new TSay( $o, 'street' , 90, 10, '' );
$oSay->lBorder = true;
$oSay->SetRight( 10 );
$oSay = new TSay( $o, 'city' , 120, 10, '', 120 );
$oSay->lBorder = true;
$oSay = new TSay( $o, 'state' , 120, 140, '', 40 );
$oSay->lBorder = true;
$oSay->cAlign = 'center';
$oGrid = new TGrid( $oWnd, 'mygrid', 280, 10, 350, 500 );
$oGrid->SetRight( 10 );
$oGrid->SetBottom( 60 );
$oCol = $oGrid->AddCol( 'fecha' , 'Fecha' , 100 );
$oCol = $oGrid->AddCol( 'service' , 'Servicio' , 150 );
$oCol = $oGrid->AddCol( 'total' , 'Total' , 100 );
$o = new TBar( $oWnd, 'mybtnbar' );
$o->SetBottom( 0, 50 );
$oBtn = $o->AddButton( null, 'Info' , "Info()", 'images/info.png' );
$oBtn->cAlign = 'right';
$oWnd->Activate();
$oWeb->End();
?>
<script>
function Consulta() {
Reset_Data();
var o = new TControl();
var oParam = new Object()
oParam[ 'accion'] = 'refresh'
oParam[ 'id' ] = o.Get( 'my_id' )
MsgServer( 'srv_app_movil.php', Escucha_Consulta, oParam )
}
function Escucha_Consulta( dat ) {
var o = new TControl();
if ( dat.cab ) {
var o = new TControl();
o.Set( 'my_id' , dat.cab.id )
o.Set( 'first' , dat.cab.first )
o.Set( 'last' , dat.cab.last )
o.Set( 'street' , dat.cab.street )
o.Set( 'city' , dat.cab.city )
o.Set( 'state' , dat.cab.state )
o.Set( 'photo' , 'images/data.img/' + dat.cab.photo, 'images/data.img/' + dat.cab.photo )
o.Set( 'mygrid', dat.pos );
} else {
MsgNotify( dat.msg, 'error' )
}
}
function Reset_Data() {
var o = new TControl();
o.Set( 'first' );
o.Set( 'last' );
o.Set( 'street' );
o.Set( 'city' );
o.Set( 'state' );
o.Set( 'photo' );
o.Set( 'mygrid' );
}
function Info(){
var oOptions = new Object();
oOptions[ 'title' ] = 'Información...';
oOptions[ 'centered' ] = true;
oOptions[ 'modal' ] = true;
oOptions[ 'resizable' ] = false;
oOptions[ 'closeOnEscape'] = false;
oOptions[ 'dialogextend'] = false;
TLoadDialog( null, 'tuto_app_version.php', null, oOptions )
}
</script>
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Now I would like to run this little code from your Android phone with the following url:
http://itarraco.com/tweb.examples/tuto_app_movil_4.php
We are a species that always find solutions to our needs. I propose one of them...
Salutacions, saludos, regards
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
- Antonio Linares
- Site Admin
- Posts: 37485
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: webserver using RESTFUL API and responsive
Dear Otto,
I understand what you mean![Smile :-)](./images/smilies/icon_smile.gif)
Please review this guide I wrote to use CGIs from Windows server:
viewtopic.php?p=171281#p171281
Once you review and apply those settings, we will try to run a Harbour EXE as a CGI. From there on, you can use Harbour (+ FiveWeb)
to build the server side and we will see how it behaves for your needs.
Carles advise could help you to simplify all very much, in case that you want to try php.
I understand what you mean
![Smile :-)](./images/smilies/icon_smile.gif)
Please review this guide I wrote to use CGIs from Windows server:
viewtopic.php?p=171281#p171281
Once you review and apply those settings, we will try to run a Harbour EXE as a CGI. From there on, you can use Harbour (+ FiveWeb)
to build the server side and we will see how it behaves for your needs.
Carles advise could help you to simplify all very much, in case that you want to try php.
Re: webserver using RESTFUL API and responsive
Dear Antonio,
thank you for your help. I will study your guide.
Please let me show you what I have so far.
As I said qr code reading is only an input device like the keyboard or touch. With this input device we have unlimited possibilities to develop commercial
APPs.
Here a little example for finding things you’ve packed quicker and easier
Managing my repair parts for my label printer
1. take a preprinted QRCode ( for e.g. Intern_1 ) label and attach it on your storage box or were you need the info in my case on the printer itself.
2. Take pictures of the box and I take also pictures of the article numbers
3. Store the pictures in a webpage – I use Wordpress
4. now you can scan with your smartphone the qrcode and you see the webpage with the stored pictures
One thing you have to do is to define in your software – like a DNS server – to which link the qr code label links.
Here I use a FIVEWIN SQL xBrowse.
That is all.
Best regards,
Otto
![Image](http://www.atzwanger-software.com/fw/qrscan.jpg)
![Image](http://www.atzwanger-software.com/fw/qrscan2.jpg)
![Image](http://www.atzwanger-software.com/fw/FW_SQL_remote_browser.jpg)
![Image](http://www.atzwanger-software.com/fw/FW_SQL_remote_browser_edit.jpg)
thank you for your help. I will study your guide.
Please let me show you what I have so far.
As I said qr code reading is only an input device like the keyboard or touch. With this input device we have unlimited possibilities to develop commercial
APPs.
Here a little example for finding things you’ve packed quicker and easier
Managing my repair parts for my label printer
1. take a preprinted QRCode ( for e.g. Intern_1 ) label and attach it on your storage box or were you need the info in my case on the printer itself.
2. Take pictures of the box and I take also pictures of the article numbers
3. Store the pictures in a webpage – I use Wordpress
4. now you can scan with your smartphone the qrcode and you see the webpage with the stored pictures
One thing you have to do is to define in your software – like a DNS server – to which link the qr code label links.
Here I use a FIVEWIN SQL xBrowse.
That is all.
Best regards,
Otto
![Image](http://www.atzwanger-software.com/fw/qrscan.jpg)
![Image](http://www.atzwanger-software.com/fw/qrscan2.jpg)
![Image](http://www.atzwanger-software.com/fw/FW_SQL_remote_browser.jpg)
![Image](http://www.atzwanger-software.com/fw/FW_SQL_remote_browser_edit.jpg)
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Antonio Linares
- Site Admin
- Posts: 37485
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: webserver using RESTFUL API and responsive
Otto,
What info will you send to the server ?
Just a string ?
What info will you send to the server ?
Just a string ?
Re: webserver using RESTFUL API and responsive
Dear Antonio,
KIBU APP sends handy ID and the content of the QR code.
Best regards,
Otto
KIBU APP sends handy ID and the content of the QR code.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************