Ejercicio 14.5 - Clase servidor de aplicaciones
Reescribe el programa Aplicación web hola mundo'' usando clases, y reutilizándolas, haz otro que devuelva
Adiós mundo cruel'' en lugar de ``Hola mundo''. Para ello, define una clase webApp que sirva como clase raíz, que al especializar permitirá tener aplicaciones web que hagan distintas cosas (en nuestro caso, holaApp y adiosApp).
Esa clase webApp tendrá al menos:
- Un método Analyze (o Parse), que devolverá un objeto con lo que ha analizado de la petición recibida del navegador (en el caso más simple, el objeto tendrá un nombre de recurso)
- Un método Compute (o Process), que recibirá como argumento el objeto con lo analizado por el método anterior, y devolverá una lista con el código resultante (por ejemplo, ``200 OK'') y la página HTML a devolver
- Código para inicializar una instancia que incluya el bucle general de atención a clientes, y la gestión de sockets necesaria para que funcione.
Una vez la clase webApp esté definida, en otro módulo define la clase holaApp, hija de la anterior, que especializará los métodos Parse y Process como haga falta para implementar el ``Hola mundo''.
El código main de ese módulo instanciará un objeto de clase holaApp, con lo que tendremos una aplicación ``Hola mundo'' funcionando.
Luego, haz lo mismo para adiosApp.
Conviene que en el módulo donde se defina la clase webApp se incluya también código para, en caso de ser llamado como programa principal, se cree un objeto de ese tipo, y se ejecute una aplicación web simple.