I've seen a lot of discussion lately on this list about upcoming API
changes and comments on said changes.  Also a recent comment from "Niel
H" regarding HTTP POST access to the server, which would give access to
a much wider range of clients than just stuff written in Perl.  Colin
Viebrock made some very interesting (IMHO) comments about XML a while
back, regarding the proposed changes Charles made on the list:

Colin Viebrock wrote:
> 
> All of those changes look like Good Things.
> 
> Infact, they look pretty darn close to XML structures.  Had any thought
> gone into using XML as the "language" to pass commands and data to the
> server?  Something like:
> 
>         <opensrs>
>                 <action>modify</action>
>                 <object>domain</object>
>                 <cookie>123456789:998877</cookie>
>                 <attributes>
>                         <contact_info which="admin">
>                                 <first_name>John</first_name>
>                                 <last_name>Smith</last_name>
>                                 ...
>                         </contact_info>
>                         <contact_info which="billing" sameas="admin"></contact_info>
>                         <contact_info which="tech" sameas="admin"></contact_info>
>                         <contact_info which="owner" sameas="admin"></contact_info>
>                 </attributes>
>         </opensrs>
> 
> I'm no XML expert, so no comments on the format of the above please.
> 
> However, using an open (and extensible) standard like XML would be fitting
> with the goals of the OpenSRS ... and would also make the API for
> communicating
> with the server more portable to other client platforms (i.e. non-Perl).
> 
> Thoughts?
 
My thoughts, like at least a few others I've seen on the list, are that
this is an incredibly good idea.  

Like at least a couple others who've chimed in on the list, I am not by
nature a Perl hacker.  Trying to wrap my brain around Perl to implement
a custom client for my company has been a chore. Add to the fact that
the API is at times inconsistent (domain or reg_domain? just a cookie,
or cookie, reg_username and reg_password?) and it's been quite a
challenge for me.  I much prefer, shall we say, a more strict and
structured language like Java or C.

Implementing the client/server API using XML data structures would be a
godsend, as far as I'm concerned.  For one thing, there would be a nice
consistent framework to follow when sending commands.  Even better, I'd
love to write a client class in Java and be able to do all the same
stuff I have to use Perl for currently.  (Sure, I could do the same
thing by "emulating" the Perl data structures, but it's something I'd
rather not have to do...)  I like Perl, I use Perl, but for something
the (potential) size of the client I've been asked to build, (lots of
extra functionality other than just the basic OpenSRS client/server API
implementation) I'd rather use something like Java that I can break
apart into a much more modular, and therefore much more managable state.

There are XML parsers/validators for every language I can think of in
popular use (with the possible exception of LISP but if you're writing
an OpenSRS client in LISP, well, you can write your own XML
parser/validator... :) so being able to handle XML structures in your
language-of-choice should not be an issue.  The biggest issue, as far as
I can see, is getting the OpenSRS server rewritten to handle XML in/out,
which of course is solely up to the OpenSRS fellows and really out of
our hands.  However, if there really is a call for it from the users,
the fact that it has been called _Open_ SRS I hope would have some
influence on the decision makers.

If nothing else, the argument that a proliferation of client code would
probably mean an equal proliferation of affiliates might be
convincing...

My $0.02.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
With Microsoft products, failure is not           Derek Glidden
an option - it's a standard component.      http://3dlinux.org/
Choose your life.  Choose your            http://www.tbcpc.org/
future.  Choose Linux.              http://www.illusionary.com/

Reply via email to