For today's WebService development, we have at least two options: SOAPWSDLUDDI series; REST-style architecture series !!! In the field of Bioinformatics (Bioinformatics), WebService is an important data exchange technology and will be more important in the future. Currently, EBI provides two types of services: SOAP and REST, whether data service or computing service (computing task submission ).
1 Python + SOAP/WSDL/UDDI
The most common practice (personal opinion) is to use python ZSI2.0, and ZSI also relies on LIB such as SOAPpy and pyXML.
Many people are familiar with the SOAP protocol, and many existing applications also use Java and other languages to develop the server. in addition to java, most of the script languages on the client are also competent.
For the use of python ZSI, refer to this article on ibm dw: Using python to develop Web Service
2 Python + REST
Currently, the word "REST" is quite popular. how can we select a technology for REST development using Python ???
Anyone who has been familiar with python web should know Django, a typical REST-style WEB framework !!!
In actual development, how should we choose?
(1. if you are not an architect and do not excessively pursue the REST-oriented resource-oriented concept and experience the specific practices of the REST-style architecture, you should still follow your own business needs and scale, select a suitable WEB framework or python web server. for example, common Django and web. py, cherrypy, Zope, Twisted, Quixote, spyce, webware for python... of course, there are also many domestic frameworks.
(2. if you really want to experience the REST-style architecture and resource-oriented design, you may choose to use web. py for your purpose;
Here is a blog article about RESTfull development using web. py: Getting RESTful with web. py. I believe it is of great reference value.
Here is another Chinese blog post: Using Python to implement the CRUD function REST service
(3. you can select eurasia !!! Address: http://code.google.com/p/eurasia/
Eurasia is something worth your understanding. it is a server and also contains a framework. it also has the following features:
"Eurasia is a low-level Python Web framework which follows the Tao
Eurasia3 is designed as an HTTP server for handling millions of concurrent online users, or a conventional Web application server that processes tens of thousands of CGI requests per second.
Eurasia3 is backward compatible with AJAX (does AJAX have requirements for servers ?), However, she does not recommend that you use the outdated AJAX mode to destroy users and programmers. she is trying to use Pushlet (Comet is the hyped version of Pushlet) one type of interesting technology is used to change the Web development landscape.
"
The Eurasia3 mentioned here is relative to Eurasia2. it's not a bit of a problem!
Here is its documentation for understanding and learning: http://eurasia.googlecode.com/files/Eurasia-3.0.0a6.2-snapshot.tar.bz2
(4) other solutions.
Conclusion:
When selecting a technology, there are two prerequisites: 1. you fully understand your project requirements, and you are very clear about what you want to make and what scale you want to achieve; 2. you have a good understanding of the technologies and theories related to project implementation, a wide range of knowledge, and a clear understanding of the main characteristics of the main genre.
Then, you can make different plans for comparison and selection! For IT project development, the technology is mainly reflected in the implementation stage, but IT completely affects the entire project lifecycle! Selecting appropriate theories and methods to solve the problem can improve the efficiency and quality of solving the problem.