Acerca de Google App Engine for Java
Con mucha sorpresa, asombro y alegría leía hace un par de semanas sobre el nuevo servicio de Google para el Despliegue de Aplicaciones Java en su Infraestructura, cualquier curioso de laWeb y mucho mas aun un desarrollador Java se interesa por esta noticia, como fue el caso de su servidor, rápidamente comencé a hacer los registros necesarios paraconceguirme una cuenta, d

espues de un par de contratiempos en vista que las operadoras de telefonía móvil de mi país
El Salvador no esta registradas en google y esto me imposibilitaba recibir en mi móvil el SMS de activación para mi cuenta, pero charlando con los chicos de google logre que me activaran mi cuenta si necesidad del SMS, como todo ufano de la web, lo primero que hice fue registra me en
Grupo de discusión(fui el desarrollador numero 302 a la fecha ban 1293), leer sobre la cuotas gratis (uno dillitas después, se anuncio que serian reducidas drasticamente apartir del 1 Mayo), después de pasar un par desveladas logre tener todo listo: La cuenta creada con 2 de las 10 aplicaciones que te permiten registradas, Eclipse listo con el
Pluging de Google , y mejor aun ya habia hecho mis primeros despliegues en la infraestructura de google, probando los frameworks de JSF, Spring,y JDO utilizando los servicios de DataStore y Mail Service de Google, emocionado con los servicios continué leyendo y creí que tenia la solución para el requerimiento de las infraestructura para mis StartUp’s.
Pero de manera que seguía documentan dome sobre que Frameworks y tecnologías soportadas empezaba a ver la realidad sobre la conveniencia o no de adoptar la solución de google para mis StartUps, con Spring estabamos bien, JSF por lomenos MyFaces y la RI de Sun, todo bien, JDO bueno solo era de buscarse un buen tutorial, Pero empezaron las preguntas sobre la persitencia, Viniendo de trabajar con Hibernate por un buen rato me encuentro con que solo soportaba JDO y JPA, claro ambas con restricciones de las mas fundamentales, las Funciones de Agregación (Que Cosa!). Las tecnologías de Modelo y la Vista estaba bastante bien, pero que pasa con los Reportes(JasperReport?), que pasa con las Aplicaciones que necesita al menos unos cuantos reportes simples digamos, simplemente supe que actualmente no hay soporte parareportear de alguna manera sobre Google AppEngenie for Java, pregunte sobre los Reporting Services para google pero todos callaron , hasta que pregunte sobre las Funciones de Agregación pensando que si estas estaban soportadas sin problema predirá manualmente elaborar algunos reportes básicos, pero recibí la respuesta menos esperada; básicamente la gente de Google me decía que “Dura cosa estas pidiendo” ya que el servicio deDataStore de Google no se basaba en un Motor Relacional sino que un modelo BigTable, esto no estaba soportado ni en JDO ni en JPA .(Que!!) En mi ambiente por el tipo de aplicaciones que desarrollo pensar en una aplicación sin reportes es casi imposible, por lo tanto y en conclusión mis ilusiones se espumaron basado en lo que conocía sobre la plataforma GAE supe que Google App Engine for Java no era suficiente para los requemientos de mi aplicacion. Sin embargo esta fue mi experiencia, por el requemiento de mi StartUps, no se descarta que la gente de google esta trabajando baste incluyendo nuevas cosas, pero lo de la persitacia usando la BigTable y no modelos ER al parecer esto se mantendra.
¿Qué no se puede hacer utilizando Java en Google AppEngenie for Java? segun Anand Ganesan en byteonic
1. No puedes escribir a El Sistema de Archivos. Debes usar el DataStore.
2. No puedes abrir un Socket o accesar a otro Host directamente.
3. No se puede generar un sub-proceso o hilo.
4. No puede hacer otro tipo de llamadas al sistema.
5. No puedes crear un nuevo java.lang.ThreadGroup o un nuevo new java.lang.Thread. Sin embargo, las operaciones contra el flujo actual, tales como Thread.currentThread().dumpStack() están permitidas.
6. La funcionalidad de la clase java.lang.System esta desabilitada.
7. Los metodos del Sistema tales como: exit(), gc(), runFinalization() y runFinalizersOnExit() no hacen nada.
8. No se puede invocar directamente codigo JNI.
9. La aplicación tiene acceso completo, libre y refexivo a ella misma y a las clases del JRE. However, An application cannot reflect against any other classes not belonging to itself, and it can not use the setAccessible() method to circumvent these restrictions.
Me gusta:
Sé el primero en decir que te gusta esta post.
Cuando iba a medio post viendo el tema de los reportes pense “tal vez solamente sea para aplicaciones web 2.0″ pero al final me ha quedado la duda ¿y para que tipo de aplicaciones te sirve entonces ell app engine de google?
En teoria cualquier tipo de aplicaciones, unicamente que tendras que ajustarte a los frameworks que Google a decidido soportar, estos los puedes encontrar en post anterior en el enlace “Listado Oficial de Frameworks soportados” y ademas tomando encuenta las restriciones que arriba describo, pienso para algun StartUp podria funcionar, Las restricciones empiezan a salir al descubierto cuando piensas en desarrollar aplicaciones empresariales, transaccionales.
Pues por ejemplo GWT creo que funciona
Pingback: Podcast grails.org.mx: Episodio 8 de la Temporada 0 | GrailsMX