Suitable software stacks for simple python web service
Steve Petrie
spetrie at gmail.com
Sat Nov 24 07:52:03 EST 2012
On Thursday, November 22, 2012 1:42:42 AM UTC-5, Kev Dwyer wrote:
> Steve Petrie wrote:
>
>
>
> > On Wednesday, November 21, 2012 2:32:40 AM UTC-5, Kev Dwyer wrote:
>
> >> Hello List,
>
> >>
>
> >>
>
> >>
>
> >> I have to build a simple web service which will:
>
> >>
>
> >>
>
> >>
>
> >> - receive queries from our other servers
>
> >>
>
> >> - forward the requests to a third party SOAP service
>
> >>
>
> >> - process the response from the third party
>
> >>
>
> >> - send the result back to the original requester
>
> >>
>
> >>
>
> >>
>
> >> >From the point of view of the requester, this will happen within the
>
> >> >scope
>
> >>
>
> >> of a single request.
>
> >>
>
> >>
>
> >>
>
> >> The data exchanged with the original requester will likely be encoded as
>
> >>
>
> >> JSON; the SOAP service will be handled by SUDS.
>
> >>
>
> >>
>
> >>
>
> >> The load is likely to be quite light, say a few requests per hour, though
>
> >>
>
> >> this may increase in the future.
>
> >>
>
> >>
>
> >>
>
> >> Given these requirements, what do you think might be a suitable software
>
> >>
>
> >> stack, i.e. webserver and web framework (if a web framework is even
>
> >>
>
> >> necessary)?
>
> >>
>
> >>
>
> >>
>
> >> Candidates should be compatible with Python2.7, though I'd be happy to
>
> >>
>
> >> consider Python 3 if anyone knows of a Python3 SOAP library that has good
>
> >>
>
> >> WSDL support.
>
> >>
>
> >>
>
> >>
>
> >> Cheers,
>
> >>
>
> >>
>
> >>
>
> >> Kev
>
> >
>
> > I'm using the Bottle web framework (http://bottlepy.org) to integrate
>
> > requests and replies originating in a Drupal site, a Beanstream (payment
>
> > processor) account, and a Salesforce instance.
>
> >
>
> > Communication with Salesforce is done through the Salesforce Python
>
> > Toolkit (http://code.google.com/p/salesforce-python-toolkit/), which uses
>
> > Suds.
>
> >
>
> > Communication with the Drupal site uses Python's (and PHP's on the Drupal
>
> > side) native JSON support.
>
> >
>
> > This is under Python 2.6.8 and Apache 2.2.23 running on an AWS EC2
>
> > instance.
>
> >
>
> > No (major) problems so far, though still in the early stages of this
>
> > project.
>
> >
>
> > Steve
>
> >
>
> >
>
> >
>
> > I chose Bottle after trying a few other frameworks because, well, I can't
>
> > remember exactly why, though thinking back it's probably because of the
>
> > clarity of Bottle's approach and the simplicity of the documentation.
>
>
>
>
>
> Hello Steve,
>
>
>
> Thanks for your comment.
>
>
>
> I'm curious, did you consider any web servers other than Apache?
>
>
>
> Kev
You're telling me that there are other web servers? ;)
I didn't try any others seriously, no. My experience is with Apache and IIS, and I try to stay away from Windows.
I should mention, given Dieter Maurer's comment, that Bottle is a (fairly thin) layer built over WSGI. I've built applications directly over WSGI as well; that's another way to go, it's quite straightforward. mod_python is no longer supported: http://blog.dscpl.com.au/2010/05/modpython-project-soon-to-be-officially.html.
More information about the Python-list
mailing list