Hello- I have a Rails web app that is database-centric (go figure). What I would like to do is expose certain parts of this database to an application running on a Windows box (or whatever). For the moment, let''s consider the read-only case, but authentication will be required. Is SOAP what would be used for something like this? Are there better alternatives? The existing Windows app already has an interface to a local database using ODBC. Would it be reasonable to write an ODBC wrapper for the SOAP connection and essentially re-use this existing interface? The alternative (that I see at the moment) is to write the interface to my db as a plugin for that application. I''m very new to some of this terminology, but would be interested in hearing more of it! Jake -- Posted via http://www.ruby-forum.com/.
On Sun, Dec 25, 2005 at 05:42:43AM +0100, Jake Janovetz wrote: } Hello- } } I have a Rails web app that is database-centric (go figure). What I } would like to do is expose certain parts of this database to an } application running on a Windows box (or whatever). For the moment, } let''s consider the read-only case, but authentication will be required. } } Is SOAP what would be used for something like this? Are there better } alternatives? } } The existing Windows app already has an interface to a local database } using ODBC. Would it be reasonable to write an ODBC wrapper for the } SOAP connection and essentially re-use this existing interface? The } alternative (that I see at the moment) is to write the interface to my } db as a plugin for that application. [...] It very much depends on your environment. In particular, it depends on the level of trust and your business requirements. If you have strong security requirements and do not trust the client (e.g. this client will be distributed outside your company), SOAP is a plausible solution. Likewise, if you don''t trust the transportation mechanism (e.g. you need SSL because you are going over untrusted network links), SOAP is plausible. If, however, this is an intranet client (e.g. a weekly report generator or something) that deals with the same database as the web-facing Rails app, I''d go with a straight connection between the client app and the database itself, without Rails being involved. Even if you do have strong security requirements, a direct database connection may be the right choice. If you give the client a DB login with very limited permissions (e.g. can run a limited set of stored procedures, each of which requires authentication tokens in its arguments) and run all connections over SSL (or other encrypted network transport), that can work equally well. If it''s a matter of business rules that are already implemented in Ruby, however, you will want some variety of RPC (remote procedure call, e.g. SOAP) implemented in Ruby. } Jake --Greg
Gregory Seidman wrote:> It very much depends on your environment. In particular, it depends on > the > level of trust and your business requirements. If you have strong > security > ... > --GregThanks for your comments Greg. In my case, this will be a web deployment to a number of businesses and other customers, so security is important. Although I''m not very well versed in SOAP, I''ve looked at its XML syntax and some very rudimentary implementations and it seems quite appropriate for what I''d like to do. My main questions now are how to develop the server and client software. The server would ideally be implemented as a plugin of sorts (or first-class citizen, really) to my existing Rails application. Would it be implemented in Ruby? Better as another accessor to the MySQL backend in some other language? As for the client, what development environments are favored? .NET? C++? Others? Jake -- Posted via http://www.ruby-forum.com/.
On Mon, Dec 26, 2005 at 07:21:19PM +0100, Jake Janovetz wrote: } Gregory Seidman wrote: } > It very much depends on your environment. In particular, it depends on } > the } > level of trust and your business requirements. If you have strong } > security } > ... } > --Greg } } Thanks for your comments Greg. In my case, this will be a web } deployment to a number of businesses and other customers, so security is } important. Although I''m not very well versed in SOAP, I''ve looked at } its XML syntax and some very rudimentary implementations and it seems } quite appropriate for what I''d like to do. Ideally, you shouldn''t have to think about the SOAP syntax at all, and the Ruby (or other) framework should just deal with it. } My main questions now are how to develop the server and client software. } The server would ideally be implemented as a plugin of sorts (or } first-class citizen, really) to my existing Rails application. Would it } be implemented in Ruby? Better as another accessor to the MySQL backend } in some other language? Ruby, and part of your Rails app. } As for the client, what development environments are favored? .NET? } C++? Others? It depends on your taste. If I were writing a Windows app that made SOAP calls, I''d almost certainly use .NET. Then again, I develop .NET apps for a living, so YMMV. } Jake --Greg
Gregory Seidman wrote:> It depends on your taste. If I were writing a Windows app that made SOAP > calls, I''d almost certainly use .NET. Then again, I develop .NET apps > for a > living, so YMMV. > > } Jake > --GregThanks again, Greg. Last question -- any good examples of this? The "soap4r" thing that many folks point to is a client-side application. Are there any good server side samples? Jake -- Posted via http://www.ruby-forum.com/.