On Fri, 2009-06-19 at 19:47 -0400, Gene Amtower wrote:

> On Sat, 2009-06-20 at 02:14 +0300, Burak Arslan wrote:
> 
> > Gene Amtower wrote: 
> > 
> > > On Fri, 2009-06-19 at 18:15 +0300, Burak Arslan wrote:
> > > 
> > > > Gene Amtower wrote: 
> > > > 
> > > > > I'd really like to be able to have an RPC server for these
> > > > > applications that is accessed through the modplsql module.  I
> > > > > think I could create the RPC server in an Oracle package using
> > > > > the guidelines for writing an RPC server and based on the
> > > > > existing PHPRPC server approach, but I wonder if anyone has
> > > > > already looked at doing this in Oracle.
> > > > > 
> > > > 
> > > > what rpc protocol(s) does mod_plsql support ?
> > > 
> > > 
> > > Burak,
> > > 
> > > Your question is just short enough to be vague to me 0- I'm not
> > > sure if you mean data protocols or connection protocols.  
> > > 
> > > If you mean connection protocols, modplsql is just a module loaded
> > > into the Apache daemon environment, so it supports whatever the
> > > Apache server supports.  I think it would have the same
> > > capabilities that we have with our PHPRPC system on the Qooxdoo
> > > project, providing http GET/POST support to the Qooxdoo client
> > > libraries.  The requests themselves are just passed on to the
> > > Oracle procedural environment by the modplsql module, so any
> > > details of the communication are going to depend on the Oracle
> > > environment rather than the modplsql module itself.
> > 
> > 
> > so mod_plsql is oracle's response to php? heh :)
> 
> 
> Maybe more appropriately, PL/SQL (the embedded Oracle programming
> language) is Oracle's response to PHP, and mod_plsql just provides the
> gateway from the Internet to the embedded procedural language within
> the database environment.  I don't know when PL/SQL began, but it's
> been around since at least 2000 as a part of Oracle 8i, which is when
> I started developing in Oracle.
> 
> PL/SQL stands for Procedural Language / SQL, which means it's a union
> of the two.  I can write procedures and functions with control
> structure and embed the SQL statement in plain language right within
> the code statements.  The query statements can include variables from
> the code, and the code can read the row/column results by query
> variable names.  Besides writing implicit queries this way, you can
> also construct a query command string and run explicit queries much
> like in PHP.  
> 
> The Oracle database provides a large number of utility code packages
> for a variety of purposes, including XML handling, output control, and
> various internal database manipulations.  Unfortunately, the latest
> version doesn't seem to have JSON support, but I've found an add-on
> code package that adds that capability to the existing functionality.
> Of course, since it already has XML support, the only missing piece
> might be the SOAP component you mentioned.  I don't know if the other
> Qooxdoo backends have that type of support, so it might not be
> necessary to include it in my Oracle backend.
> 
> The real power of Oracle is that it handles extremely large datasets
> with ease and aplomb.  The PL/SQL code is actually compiled on first
> use, and all later calls to the compiled code packages runs it in
> native Oracle code, as compared to a raw interpreted language.
> 
> For large-scale application development, the performance just can't be
> beat.  But I really want to be able to leverage the Qooxdoo framework
> within my Oracle projects, which is the reason for my interest in an
> RPC server in Oracle.
> 
>   Gene
> 
> 
> > 
> > anyway i was trying to ask about an rpc protocol it might be
> > supporting, something like jsonrpc, xmlrpc, soap, etc. which work
> > over any transport layer including http. qooxdoo supports a few
> > important rpc protocols.


Burak,

OK, I've done a little more thinking about the rpc protocols you
mentioned, including a closer look at PHPRPC.

While it appears that SOAP, by definition, does not specify the
transport layer and can be implemented over more than HTTP and HTTPS,
most implementations of SOAP limit themselves to these two options (both
of which would be supported through an Apache module such as mod_plsql)
by using an XML message body in the HTTP or HTTPS communication that
conforms to SOAP specs.

However, it appears that PHPRPC only supports jsonrpc out of the list
you've provided.  While it might be nice to implement an Oracle RPC
server for Qooxdoo that provides more than the jsonrpc protocol, I am
not so ambitious as to bite off that much work right out of the gate.
For convenience sake at this point, I think I would just try to develop
a backend implementation that provides what PHPRPC provides today -
jsonrpc.  That would get something working sooner rather than later.

Oracle can support reading and writing of XML strings, so it would
conceivably be easy to add both xmlrpc and soap support at some later
point in time.  I don't know how much demand there is for XML formats
over JSON within the current Qooxdoo community.  I also think SOAP might
be too heavy for a standalone application.  I think it's more
appropriate where several existing applications need to be able to query
each other to minimize re-development effort.

I see that your SOAP contribution uses Python on the server.  So does it
just add another layer into the request/response process that would call
Oracle via HTTP through mod_plsql or would it connect to the Oracle
database through an Oracle client driver within Python, providing all of
the RPC processing internally?  Do you provide for more than HTTP
transport protocols?  That sounds too complicated to me when I can
include GET/POST support right in the database itself, so it might be
easier to try to write something in Oracle to implement the SOAP
protocols by reading and writing the XML for the appropriate SOAP
message formats.  Again, I think it's more than I need right now, but it
might be something nice to leave on the table for discussion.

Am I missing any critical issues in my thought process?

Thanks,

   Gene



> > 
> > i was asking because i'd imagine there would be an adapter for soap
> > protocol from oracle, (probably something outside mod_plsql) in
> > which case you can use my contrib that implements it. maybe i should
> > have mentioned it in the first mail, sorry about that.
> > 
> > it's not yet part of mainstream qooxdoo (yet?) but it's been working
> > in our dev environment w/o problems so far. it's more mature than a
> > beta quality code, but i think it needs more testing.
> > 
> > hope you find it useful,
> > 
> > best regards,
> > burak
> > 


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to