FW: Mysql over HTTP

FW: Mysql over HTTP

am 07.04.2006 21:33:57 von Jangita

True, I could write a browser app with apache/mysql/php - but there are some
things that just can't be done with a browser, for example back to my chat
example; having a web based yahoo chat is fun and will work; but those
notifications at the bottom of the screen the sounds etc. Or another example
like a news popup program that sits on the system tray. You probably agree
that there is stuff that an application is better (and more secure as
doing).Frankly I'm not that good in http and php - can whip up a Delphi app
in seconds tho :) )

I'm thinking packing it well enough (the way you can download a regular file
from a website) should hide the traffic well enough;

As for the client and server conversion apps I could probably sell then :)

-----Original Message-----
From: Daniel da Veiga [mailto:danieldaveiga@gmail.com]
Sent: 07 April 2006 10:18 p
To: MySQL Win32 List
Subject: Re: Mysql over HTTP

On 4/7/06, Jangita wrote:
> Hi all,
>
> It's all well and good having mysql using port 3309 (or any other port for
> that matter); I'm writing an application that will be used by loads of
users
> off the internet - so I'm expecting firewall issues.
>
> One easy way is to have the mysql traffic flow over port 80; that works
> sometimes but not with intelligent firewalls that only allow http traffic
or
> companies that have only http ports open (yes there are many of these)
>
> One method I've thought about that goes around this is to write an
interface
> that sits in-front of the mysql client and translates the mysql traffic
into
> http get or put requests and use wininet.dll to send these requests to the
> server. Since these are get and put requests I'll have to write and
install
> a cgi or isapi dll on the webserver which translates these requests into
> normal traffic and relays it to the mysql server and vice versa.
>
> This would in effect produce an environment where as long as you can
browse
> you can use the mysql client application (with iexplore because of
wininet)
> - and with linux to some extent and this will also be able to go thru http
> proxies etc (basically anything that ie can go thru)
>
> Before I get my hands dirty; is there anything like this that exists out
> there? I have a week leave from Monday and if there isn't well im about to
> start writing one.
>

Is there any specific reason for you not to write your application
using a web language like PHP, Perl, ASP, .NET or anything like that?
You mentioned some weird convertions regarding TCP packages headers
and filtering, while searching for a solution to let an app access
MySQL trough firewalls and/or proxies, why not simply write a CGI or
server-side based app?

You'll have LOTS of problems while dealing with TCP/IP packaging and
headers and converting it all to HTTP traffic, besides, you'll
probably load your server a LOT while still having to write a
client-side AND a server-side conversion tool for traffic. Besides, it
won't be fail proof as you can still step in some routers that may
block your converted packages.

If you want to use a browser-like app, why not let the browser do its work?

--
Daniel da Veiga
Computer Operator - RS - Brazil
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V-
PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++
------END GEEK CODE BLOCK------

--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=jangita@jangita.com



--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=gcdmw-win32@m.gmane.org

Re: FW: Mysql over HTTP

am 07.04.2006 21:38:33 von Brandon Schenz

--------------010708060806010304050901
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ok, not sure how much this will help, but here goes.....

Instead of writing something that adds http headers to mySQL requests,
it might be easier to write a Web Service. A webservice uses http to
send XML over the wire in a very open format. The hardest part will
actually learning the JAVA or .NET to actually write the web service
with mySQL as the backend.


*Brandon Schenz*
Midwest Sports Supply
IT Manager
Phone: 513-956-4900
Fax: 513-956-4910
E-mail: brandons@midwestsports.com


Jangita wrote:
> True, I could write a browser app with apache/mysql/php - but there are some
> things that just can't be done with a browser, for example back to my chat
> example; having a web based yahoo chat is fun and will work; but those
> notifications at the bottom of the screen the sounds etc. Or another example
> like a news popup program that sits on the system tray. You probably agree
> that there is stuff that an application is better (and more secure as
> doing).Frankly I'm not that good in http and php - can whip up a Delphi app
> in seconds tho :) )
>
> I'm thinking packing it well enough (the way you can download a regular file
> from a website) should hide the traffic well enough;
>
> As for the client and server conversion apps I could probably sell then :)
>
> -----Original Message-----
> From: Daniel da Veiga [mailto:danieldaveiga@gmail.com]
> Sent: 07 April 2006 10:18 p
> To: MySQL Win32 List
> Subject: Re: Mysql over HTTP
>
> On 4/7/06, Jangita wrote:
>
>> Hi all,
>>
>> It's all well and good having mysql using port 3309 (or any other port for
>> that matter); I'm writing an application that will be used by loads of
>>
> users
>
>> off the internet - so I'm expecting firewall issues.
>>
>> One easy way is to have the mysql traffic flow over port 80; that works
>> sometimes but not with intelligent firewalls that only allow http traffic
>>
> or
>
>> companies that have only http ports open (yes there are many of these)
>>
>> One method I've thought about that goes around this is to write an
>>
> interface
>
>> that sits in-front of the mysql client and translates the mysql traffic
>>
> into
>
>> http get or put requests and use wininet.dll to send these requests to the
>> server. Since these are get and put requests I'll have to write and
>>
> install
>
>> a cgi or isapi dll on the webserver which translates these requests into
>> normal traffic and relays it to the mysql server and vice versa.
>>
>> This would in effect produce an environment where as long as you can
>>
> browse
>
>> you can use the mysql client application (with iexplore because of
>>
> wininet)
>
>> - and with linux to some extent and this will also be able to go thru http
>> proxies etc (basically anything that ie can go thru)
>>
>> Before I get my hands dirty; is there anything like this that exists out
>> there? I have a week leave from Monday and if there isn't well im about to
>> start writing one.
>>
>>
>
> Is there any specific reason for you not to write your application
> using a web language like PHP, Perl, ASP, .NET or anything like that?
> You mentioned some weird convertions regarding TCP packages headers
> and filtering, while searching for a solution to let an app access
> MySQL trough firewalls and/or proxies, why not simply write a CGI or
> server-side based app?
>
> You'll have LOTS of problems while dealing with TCP/IP packaging and
> headers and converting it all to HTTP traffic, besides, you'll
> probably load your server a LOT while still having to write a
> client-side AND a server-side conversion tool for traffic. Besides, it
> won't be fail proof as you can still step in some routers that may
> block your converted packages.
>
> If you want to use a browser-like app, why not let the browser do its work?
>
> --
> Daniel da Veiga
> Computer Operator - RS - Brazil
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.1
> GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V-
> PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++
> ------END GEEK CODE BLOCK------
>
>

--------------010708060806010304050901--

RE: Mysql over HTTP

am 07.04.2006 21:42:12 von bullijr

------=_NextPart_000_0030_01C65A59.D69E5E10
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

Maybe you should start looking into AJAX.

AJAX (Asynchronous Javascript and XML) does exactly what you are looking
for, and can use a MySQL data connector.

I currently write in AJAX and MySQL with ASP, giving applications the
richness of desktop apps on the web.

Yes, AJAX is a pain to learn, and you have to spend a lot of time wrapping
your head around the Asynchronous part (writing code variants to do one
thing while the server/client wait for other code to finish its execution).
However, when you get it right, you can do a lot with it.

Take a look into that, and please, from a data security standpoint, DO NOT
open your MySQL (or any database) to the real world by using port 80. This
is what Web Servers, functions, triggers, and stored procedures are for.

Just my $0.02...

J.R.




-----Original Message-----
From: Jangita [mailto:jangita@jangita.com]
Sent: Friday, April 07, 2006 3:34 PM
To: win32@lists.mysql.com
Subject: FW: Mysql over HTTP


True, I could write a browser app with apache/mysql/php - but there are some
things that just can't be done with a browser, for example back to my chat
example; having a web based yahoo chat is fun and will work; but those
notifications at the bottom of the screen the sounds etc. Or another example
like a news popup program that sits on the system tray. You probably agree
that there is stuff that an application is better (and more secure as
doing).Frankly I'm not that good in http and php - can whip up a Delphi app
in seconds tho :) )

I'm thinking packing it well enough (the way you can download a regular file
from a website) should hide the traffic well enough;

As for the client and server conversion apps I could probably sell then :)

-----Original Message-----
From: Daniel da Veiga [mailto:danieldaveiga@gmail.com]
Sent: 07 April 2006 10:18 p
To: MySQL Win32 List
Subject: Re: Mysql over HTTP

On 4/7/06, Jangita wrote:
> Hi all,
>
> It's all well and good having mysql using port 3309 (or any other port
> for that matter); I'm writing an application that will be used by
> loads of
users
> off the internet - so I'm expecting firewall issues.
>
> One easy way is to have the mysql traffic flow over port 80; that
> works sometimes but not with intelligent firewalls that only allow
> http traffic
or
> companies that have only http ports open (yes there are many of these)
>
> One method I've thought about that goes around this is to write an
interface
> that sits in-front of the mysql client and translates the mysql
> traffic
into
> http get or put requests and use wininet.dll to send these requests to
> the server. Since these are get and put requests I'll have to write
> and
install
> a cgi or isapi dll on the webserver which translates these requests
> into normal traffic and relays it to the mysql server and vice versa.
>
> This would in effect produce an environment where as long as you can
browse
> you can use the mysql client application (with iexplore because of
wininet)
> - and with linux to some extent and this will also be able to go thru
> http proxies etc (basically anything that ie can go thru)
>
> Before I get my hands dirty; is there anything like this that exists
> out there? I have a week leave from Monday and if there isn't well im
> about to start writing one.
>

Is there any specific reason for you not to write your application using a
web language like PHP, Perl, ASP, .NET or anything like that?
You mentioned some weird convertions regarding TCP packages headers and
filtering, while searching for a solution to let an app access MySQL trough
firewalls and/or proxies, why not simply write a CGI or server-side based
app?

You'll have LOTS of problems while dealing with TCP/IP packaging and headers
and converting it all to HTTP traffic, besides, you'll probably load your
server a LOT while still having to write a client-side AND a server-side
conversion tool for traffic. Besides, it won't be fail proof as you can
still step in some routers that may block your converted packages.

If you want to use a browser-like app, why not let the browser do its work?

--
Daniel da Veiga
Computer Operator - RS - Brazil
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V- PS PE
Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++ ------END GEEK CODE
BLOCK------

--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=jangita@jangita.com



--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=bullijr@innovatim.com


------=_NextPart_000_0030_01C65A59.D69E5E10
Content-Type: application/x-pkcs7-signature;
name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH AQAAoIII2DCCAmAw
ggHJoAMCAQICEFdqdG4l2KlQzoxWJ6yU7f0wDQYJKoZIhvcNAQEEBQAwYjEL MAkGA1UEBhMCWkEx
JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNV BAMTI1RoYXd0ZSBQ
ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA1MTIzMDE2MzYyOFoX DTA2MTIzMDE2MzYy
OFowRzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEkMCIGCSqG SIb3DQEJARYVYnVs
bGlqckBpbm5vdmF0aW0uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQC9uZOCke26GxbG
Vu6VuKVCouVEDXbHH0Xp+Z7zTtmel9mYXrukD0ZtC3iBNJEiA+5gexBnjReS Ofd/Sh41kFpt/ufH
NP7Pn/vjBA0k/B9edeThM/AJlK9Q6B5/q/Cno/BKQqkZZvSIuQd81XMkQ57A jys6qz712qCSxZ5L
beMJwQIDAQABozIwMDAgBgNVHREEGTAXgRVidWxsaWpyQGlubm92YXRpbS5j b20wDAYDVR0TAQH/
BAIwADANBgkqhkiG9w0BAQQFAAOBgQBXPFp5W1W/+pLe/JG7K/8jGn8SgDoF mcaq+E59UqhXgR60
8rtD3vqgfIIg9TDdARlcXdIASzdMsj2Y7TPe4VT704TYN5jRgWO5xbLkxVKr h0p3RFGHjyAGuAb8
v6I/aQPK5u2J6UKMObKiGJd0wO15RoSvkEPPkByb86M6hU0M6DCCAy0wggKW oAMCAQICAQAwDQYJ
KoZIhvcNAQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJu IENhcGUxEjAQBgNV
BAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAm BgNVBAsTH0NlcnRp
ZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQ ZXJzb25hbCBGcmVl
bWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhh d3RlLmNvbTAeFw05
NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHRMQswCQYDVQQGEwJaQTEV MBMGA1UECBMMV2Vz
dGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0 ZSBDb25zdWx0aW5n
MSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQw IgYDVQQDExtUaGF3
dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNv bmFsLWZyZWVtYWls
QHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANRp19Sw lGRbcelH2AxRtupy
kbCEXn0tDY97Et+FJXUodDpCLGMnn5V7S+9+GYcdhuqj3bnOlmQawhRuRKx8 5o/oTQ9xH0A4pgCj
h3j2+ZSGXq3qwF5269kUo11uenwMpUtVfwYZKX+emibVars4JAhqmMex2qOY kf152+VaxBy5AgMB
AAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAx+yS fk749ZalZ2IqpPBN
EWDQb41gWGGsJrtSNVwIzzD7qEqWih9iQiOMFw/0umScF6xHKd+dmF7SbGBx XKKs3Hnj524ARx+1
DSjoAp3kmv0T9KbZfLH43F8jJgmRgHPQFBveQ6mDJfLmnC8Vyv6mq4oHdYsM 3VGEa+T40c53ooEw
ggM/MIICqKADAgECAgENMA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQGEwJa QTEVMBMGA1UECBMM
V2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRo YXd0ZSBDb25zdWx0
aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u MSQwIgYDVQQDExtU
aGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBl cnNvbmFsLWZyZWVt
YWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5 WjBiMQswCQYDVQQG
EwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEs MCoGA1UEAxMjVGhh
d3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJ
AoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HO AdTlUAow1wJjWiyJ
FXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsYPge/QIAC ZNenprufZdHFKlSF
D0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB /wIBADBDBgNVHR8E
PDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlUGVyc29u YWxGcmVlbWFpbENB
LmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVBy aXZhdGVMYWJlbDIt
MTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FD lpSdf0whuPg2H6ot
nzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRix9sncVcljd2p nDmOjCBPZV+V2vf3
h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9dX2VPMYIC+DCCAvQC AQEwdjBiMQswCQYD
VQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRk LjEsMCoGA1UEAxMj
VGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEFdqdG4l2KlQ zoxWJ6yU7f0wCQYF
Kw4DAhoFAKCCAdgwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG 9w0BCQUxDxcNMDYw
NDA3MTk0MjEyWjAjBgkqhkiG9w0BCQQxFgQU09Oy5PIsxq4HBge5/1SBshRw jbEwZwYJKoZIhvcN
AQkPMVowWDAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcN AwICAUAwBwYFKw4D
AgcwDQYIKoZIhvcNAwICASgwBwYFKw4DAhowCgYIKoZIhvcNAgUwgYUGCSsG AQQBgjcQBDF4MHYw
YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAq
BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhBX anRuJdipUM6MVies
lO39MIGHBgsqhkiG9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNV BAoTHFRoYXd0ZSBD
b25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h bCBGcmVlbWFpbCBJ
c3N1aW5nIENBAhBXanRuJdipUM6MVieslO39MA0GCSqGSIb3DQEBAQUABIGA P61EFe017d9dskNc
xxFbsmXrSqeqCVnVbokeJoJk2G4GefKZUcgmsn9DHAWntwRxXQibJs1jV+Os rEd/Qi711fl5hO2O
3xCtQXbZNmpY6EDKSyxYq6t5vGrFw9/ddjf4ZAvedHOBNTG6njfU29311YYs x6vazzpVDrhUw/05
FrUAAAAAAAA=

------=_NextPart_000_0030_01C65A59.D69E5E10--

Re: FW: Mysql over HTTP

am 07.04.2006 21:44:40 von Daniel da Veiga

On 4/7/06, Brandon Schenz wrote:
> Ok, not sure how much this will help, but here goes.....
>
> Instead of writing something that adds http headers to mySQL requests,
> it might be easier to write a Web Service. A webservice uses http to
> send XML over the wire in a very open format. The hardest part will
> actually learning the JAVA or .NET to actually write the web service
> with mySQL as the backend.
>

Not really, you can simply write your client app, make it send all
requests (queries) over HTTP to apache or any other server with PHP or
any other MySQL enabled web language, and get the return in any format
your server-side language can output, parse it to your language types
and use it... Delphi can have an object written to to all this
transparently...


--
Daniel da Veiga
Computer Operator - RS - Brazil
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V-
PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++
------END GEEK CODE BLOCK------

--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=3Dgcdmw-win32@m.gmane.org