PDA

View Full Version : Catnip: HME extensions to Apache Tomcat


s2kdave
02-02-2008, 03:35 PM
I've started a new project called Catnip that will let you create standard web applications out of your HME apps and use them in Apache Tomcat. I've done a lot of coding and have it mostly working. I started documenting it in a Google Code project. Basically you can take any HME application and make it into a web app by bundling it up and creating a web.xml.

My hope is that this will become the standard way of deploying applications. It will also make administering multiple apps much easier as you won't have to punch a firewall hole for every single app. And you can use standard web tools to manage it.

Galleon is a big monolithic bloat and Tomcat is a proven industry standard for servers. I plan to keep Catnip as small as possible. It will not provide any applications (except maybe a TiVoToComeback interface), just the integration pieces.

http://code.google.com/p/catnip/

I would like to get other developers input on the integration points so if you have any suggestions to make it easier, just speak up.

David

jbcooley
02-02-2008, 09:25 PM
I think that's a great idea. When I first started working on the .net sdk I tried to use IIS to host the HME apps. Unfortunately the ASP.NET classes wouldn't let me hold on to the socket. I believe that's changed with Windows Activation Service in the next server os from Microsoft. It would be great to be able to use a web hosting service rather than have to own the entire server.

wmcbrine
02-02-2008, 10:10 PM
It looks like this is only useful for Java.

I designed my HME for Python with the idea of being able to use the apps with a different server, but I haven't tried it yet. Basically, you'd add a few lines like this to turn an app into a cgi script:


if __name__ == '__main__':
import sys
print 'Content-type: application/x-hme'
print
app = AppClass(sys.stdin, sys.stdout)
app.mainloop()


I don't have a lot of experience in this area, so I may be overlooking some things.

s2kdave
02-03-2008, 12:28 AM
wmcbrine is right, Tomcat is only for Java so for the python and .net work you guys are doing it probably won't be much use. I guess I misspoke when I said you can "take any HME application". What I meant was any HME application that uses the IFactory/IApplication interfaces that tivo provided.

jbcooley
02-03-2008, 12:23 PM
At least it proves that Apache can be made to work even if current versions of IIS can't.

s2kdave
02-07-2008, 03:07 PM
I've just released the first beta version of the application server. It includes a sample web application. Check it out!

http://code.google.com/p/catnip/downloads/list

David