Calling exe in Windows from Linux
I can think of some ways to do this:  

Use web services with real REST protocol and cross-site scripting protection
Use WINE (As OneOfOnes suggested in his comment)
But this is very risky for real production and might not work at all (or just when the load will become heavier) 
Write some code in the windows machine and call this code using something like Zero-MQ (ZMQ) or similar product 

Depending on the way your are using this library, One solution can fit better than the others.
For most cases, I would suggest to go with ZMQ
This way you can use much more complex models of communication (subscription-subscribers, send-response, and more)
Also, using ZMQ would let you to scale in a very easy way if the need will come (you will be able to put few windows machines to process the requests)
Edit:
To support file transfer between machines, you have few options as well.

Use ZMQ. File can be just a stream of data.
No problem to support such a stream with ZMQ
Use file server with some Enq. procedure
Enq. can be done via ZMQ msg to inform the other side that the file is ready
You can use folder share instead of a file server, but sharing files on the windows machine will not be a scale-able solution  
Windows program can send the file via FTP or SSH to the Linux server.
Once again, signaling (file ready, file name,...) can be done with ZMQ
Background knowledge: Website in Django run under apache. 
Briefly speaking, I need to call an .exe program in a windows machine from a Linux machine. 
The reason for this is our website runs on Linux, but one module relies on Windows DLL. So we plan to put it on a separate windows server, and use some methods to call the exe program, and get the result back. 
My idea is: setup a web service on that windows machine, post some data to it, let itself deals with the exe program, and return some data as response. Notice that request data and response data will both contains files. 
I wonder if there is any neater way for this? 
EDIT: Thanks for @fhs, I found I didn't make my main problem clearly enough. Yes, the webservice could work. But the main disadvantages for this is: basically, I need to post several files to windows; windows receive files, save them, call the program using these files as parameters, and then package the result files into a zip and return it. In linux, receive the file, unpack it to local file system. It's kind of troublesome. 
So, is there any way to let both machines access the other one's files as easily as in local file system?