1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Catnip: HME extensions to Apache Tomcat

Discussion in 'Developers Corner' started by s2kdave, Feb 2, 2008.

  1. s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    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
     
  2. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    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.
     
  3. wmcbrine

    wmcbrine Ziphead

    10,368
    22
    Aug 2, 2003
    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:

    Code:
    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.
     
  4. s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    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.
     
  5. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    At least it proves that Apache can be made to work even if current versions of IIS can't.
     
  6. s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005

Share This Page