SlideShare une entreprise Scribd logo
1  sur  17
GOOGLE APPS ENGINE
Proyecto: Sistema escolar administrativo
1 Aplicacion de Google Apps:SAE
Google App :Proyecto-Web
2 Aplicacion de Google Apps:SAE
Nuestro aplicación esta hecha en el lenguaje Python y fue
realizada para la infraestructura de Google
-los recursos que utilizamos para su realización fueron
-Google engine launcher
 -EasyEclipse for Python
Utilizamos 1 servidor para las imágenes
-http://tudescarga.net/upload/
Libros que nos sirvieron fueron
-Java 2 autor: Francisco Ceballos
-Dominando java script
Tutoriales
Paginas
Google engine code
http://mir.aculo.us/
Aplicacion de Google Apps:SAE3
Descripción de la aplicación
La aplicación tiene como objetivo inscribir a personas en especial
alumnos que quieras llevar la clase de programación web o lenguaje
de programación se pueden agregar mas clases dependiendo también
puedes hacer una búsqueda para verificar quienes están inscritos
también envía un correo atreves de una cuenta de Gmail envía la
confirmación de que la solicitud fue aprobada
Funcionamiento de la aplicación
Consta de paginas HTMLConsta de paginas HTML
Una pagina índex que es la principal de la aplicación como bienvenida
una principal que es donde esta el formulario de inscripción
Una datos que muestra los datos para verificar que estén correctos
Una pagina de inscripción donde se envían los datos ala cuenta de correos
Una pagina de búsqueda
1 carpeta donde se encuentra el css y java script
Se muestra en el orden mencionado
Aplicacion de Google Apps:SAE4
Tipos de archivos utilizados
Utilizamos CSS ,Java Script , python,
También consta de código realizado en python la función del código hace
que interactúen las paginas HTML .Así como también hace que se realice
la búsqueda que se envié el correo que guarde la información
CSS Que le da un estilo mas definido a los formularios
Java script que hace que funcione el relog de la pagina principal le añade
funciones que el HTML no puede se uso un prototipo que hace que el
formulario le añada la función de detectar cuando no es introducido al
campo el valor correspondiente
Aplicacion de Google Apps:SAE5
EXPLICACION DE LAS FUNCIONES Y ELABORACION DEL
CODIGO Y LOS ARCHIVOS NECESARIOS
Aplicacion de Google Apps:SAE6
Creación de un Documento .YAML
application: proyecto-web
version: 1
runtime: python
api_version: 1
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /.*
script: codigo.py
Una aplicación creada con Python App Engine debe incluir un
archivo de configuración denominado app.yaml que
especifique la manera en la que las rutas de URL se
corresponden con los controladores de solicitudes y con los
archivos estáticos. También debe contener información sobre
el código de la aplicación como, Nombre de la aplicación y el
identificador de la última versión. Es como el directorio de la
aplicación se crea en un block de notas con la extensión .yaml
Aplicacion de Google Apps:SAE7
Explicación del código
application: proyecto-web
version: 1
runtime: python
api_version: 1
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /.*
script: codigo.py
En application lleva el nombre la aplicación lo demás todos
los .yaml en handlers va Una lista de patrones URL y
descripciones de cómo se deben procesar. También va el
nombre de como se llamara el código nuestro código se llama
“codigo.py”
Aplicacion de Google Apps:SAE8
Explicación del código
import os
import datetime
import copy
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.ext import search
from google.appengine.ext.webapp import template
from google.appengine.api import mail
Tenemos que importar librerías y módulos necesarios así como también los
módulos de google appengine y python
Una aplicación webapp consta de tres partes:
una o varias clases RequestHandler que procesan solicitudes y generan respuestas,
una instancia de WSGIApplication que dirige las solicitudes entrantes a los controladores en función de su URL,
una rutina principal que ejecuta WSGIApplication con un adaptador de CGI.
Los frameworks de Webapp nos facilitan el trabajo ya que los CGI son laboriosos
y lo que hace los webapp es gestionar la información para no para hacer mas fácil
la programación
También importamos las plantillas de Django, y módulos como e-mail, búsqueda
Aplicacion de Google Apps:SAE9
Explicación del código
class Menu(webapp.RequestHandler):
def get(self):
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))
Como necesitamos hacer que interactué la aplicación creamos una clase
llamada menú o también se le puede llamar mainpage hace que se integre
índex.html y después self.response.out.write… hace que se muestre
Como necesitamos hacer que interactué la aplicación creamos una clase
llamada menú o también se le puede llamar mainpage hace que se integre
índex.html y después self.response.out.write… hace que se muestre
class Índex(webapp.RequestHandler):
def get(self):
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'principal.html')
self.response.out.write(template.render(path, template_values))
***Esta class hace visualizar el formulario de inscripciónEsta class hace visualizar el formulario de inscripción***
Aplicacion de Google Apps:SAE10
Explicación del código
classclass EstudianteEstudiante(search.SearchableModel):
matricula = db.StringProperty()
apellidos = db.StringProperty()
nombres = db.StringProperty()
fechaDeNacimiento = db.DateProperty()
direccion = db.StringProperty()
telefono = db.StringProperty()
ciudad = db.StringProperty()
nivel = db.StringProperty()
fecha = db.DateTimeProperty(auto_now_add=True)
correo = db.StringProperty()
Como necesitamos que se guarde la información usamos Almacenamiento
de datos Los objetos de datos incluidos en el almacén de datos de App
Engine se denominan entidades. Las entidades disponen de una o
varias propiedades, es decir, valores con denominación de uno de varios
tipos de datos compatibles, incluidos números enteros, valores de punto
flotante, cadenas, datos, datos binarios, etc.
Como necesitamos que se guarde la información usamos Almacenamiento
de datos Los objetos de datos incluidos en el almacén de datos de App
Engine se denominan entidades. Las entidades disponen de una o
varias propiedades, es decir, valores con denominación de uno de varios
tipos de datos compatibles, incluidos números enteros, valores de punto
flotante, cadenas, datos, datos binarios, etc.
La clase Model se proporciona a través del
módulo google.appengine.ext.db.
Aplicacion de Google Apps:SAE11
Explicación del código
classclass DatosPrincipales(webapp.RequestHandler):
def post(self):
template_values = {
'txtMatricula': self.request.get('txtMatricula'),
'txtApellidos': self.request.get('txtApellidos').upper(),
'txtNombres': self.request.get('txtNombres').upper(),
'txtFechaDeNacimiento': self.request.get('txtFechaDeNacimiento'),
'txtDireccion': self.request.get('txtDireccion').upper(),
'txtTelefono': self.request.get('txtTelefono'),
'txtCiudad': self.request.get('txtCiudad').upper(),
'txtCorreo': self.request.get('txtCorreo').lower(),
'cmbTipo': self.request.get('cmbTipo'),
}
path = os.path.join(os.path.dirname(__file__), 'datos.htmldatos.html')
self.response.out.write(template.render(path, template_values))
En esta class lo que hace es recibir lo que se escribe en el formulario del
HTML ejemplo si tu escribes 1451428 se guarda en txtMatricula es como si
fueran los contenedores de los campos del HTML Principal para eso usamos
el método POST porque se envía por la forma estándar después se
mostraran el HTML datos
En esta class lo que hace es recibir lo que se escribe en el formulario del
HTML ejemplo si tu escribes 1451428 se guarda en txtMatricula es como si
fueran los contenedores de los campos del HTML Principal para eso usamos
el método POST porque se envía por la forma estándar después se
mostraran el HTML datos
Aplicacion de Google Apps:SAE12
Explicación del código
defdef envia_mail(e):
para="%s %s <%s>" % (e.nombres,e.apellidos,e.correo)
cuerpo = """
COMO ESTAS QUERIDO ALUMNO : %s
APROBADA :
TU SOLICITUD PARA QUE ASISTAS A LA CLASE QUE SELECCIONASTES
A SIDO APROBADA PUEDES ASISTIR LA FECHA PROGRAMADA
NOTA:
No olvides presentarte un dia antes para que verifiques la hora y el
grupo asignado
ATENTAMENTE:Cordinador de Materia
""" % (e.nombres)
mail.send_mail(sender="rafaellopezgtz@gmail.com",to=para,subject="cordinacion",body=cuerpo)
La función mail.send_mail() envía un mensaje de correo electrónico desde
la aplicación.
La dirección From: puede ser tanto la dirección de correo electrónico de un
administrador registrado
La función mail.send_mail() envía un mensaje de correo electrónico desde
la aplicación.
La dirección From: puede ser tanto la dirección de correo electrónico de un
administrador registrado
Se importa el modulo
from google.appengine.api import mail
Aplicacion de Google Apps:SAE13
Explicación del código
class Guardar(webapp.RequestHandler):
def post(self):
estudiante = Estudiante()
estudiante.matricula = self.request.get('txtMatricula')
estudiante.apellidos = self.request.get('txtApellidos').upper()
estudiante.nombres = self.request.get('txtNombres').upper()
fecha = self.request.get('txtFechaDeNacimiento')
f = fecha.split('/')
estudiante.fechaDeNacimiento = datetime.date(int(f[2]),int(f[1]),int(f[0]))
estudiante.direccion = self.request.get('txtDireccion').upper()
estudiante.telefono = self.request.get('txtTelefono')
estudiante.ciudad = self.request.get('txtCiudad').upper()
estudiante.nivel = self.request.get('cmbTipo')
estudiante.escuela = self.request.get('txtEscuela').upper()
estudiante.correo = self.request.get('txtCorreo')
estudiante.put()
envia_mail(estudiante)
template_values = {
'txtApellidos': self.request.get('txtApellidos').upper(),
'txtNombres': self.request.get('txtNombres').upper(),
'txtCorreo': self.request.get('txtCorreo').lower(),
'tieneCorreo': (estudiante.correo != '')
}
path = os.path.join(os.path.dirname(__file__), 'preinscribir.html')
self.response.out.write(template.render(path, template_values))
En esta clase lo que hace es guardarnos los datos usa el método post Cada consulta
del almacén de datos utiliza un índice, una tabla que contiene los resultados de la
consulta en el orden deseado
En esta clase lo que hace es guardarnos los datos usa el método post Cada consulta
del almacén de datos utiliza un índice, una tabla que contiene los resultados de la
consulta en el orden deseado
La clase Model se proporciona a través del
módulo google.appengine.ext.db.
Aplicacion de Google Apps:SAE14
Explicación del código
class Buscar(webapp.RequestHandler):
def get(self):
txtFullText = self.request.get('txtFullText').upper()
if txtFullText <> '':
estudiantes = Estudiante.all().search(txtFullText)
template_values = {
'estudiantes': estudiantes
}
else:
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'buscar.html')
self.response.out.write(template.render(path, template_values))
En esta class lo que hace es buscar los datos que ingresamos en el
formulario hace una búsqueda a estudiantes dependiendo del valor que le
damos de búsqueda al campo txtfulltext que aparece en el html
En esta class lo que hace es buscar los datos que ingresamos en el
formulario hace una búsqueda a estudiantes dependiendo del valor que le
damos de búsqueda al campo txtfulltext que aparece en el html
Aplicacion de Google Apps:SAE15
Explicación del código
application = webapp.WSGIApplication(
[('/', Menu),
('/index', Index),
('/principal', DatosPrincipales),
'/buscar', Buscar),
('/preinscribir', Guardar)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
En nuestro objeto application debemos también indicar los nuevos
controladores
En nuestro objeto application debemos también indicar los nuevos
controladores
Aplicacion de Google Apps:SAE16
HTML
Aplicacion de Google Apps:SAE17
INTEGRANTES
Rafael López Gutiérrez
Blanca Alicia Rodríguez Rivas
Alejandro Josafat Loera Ramírez
Marco Antonio Carcini Mora
Jesús Alejandro Beltrán Reyna

Contenu connexe

En vedette

SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineEduardo Castro
 
Formacion SEO: Posicionamiento en buscadores
Formacion SEO: Posicionamiento en buscadoresFormacion SEO: Posicionamiento en buscadores
Formacion SEO: Posicionamiento en buscadoresElena García Herrera
 
Cómo generar ingresos con tu sitio Web (AdSense)
Cómo generar ingresos con tu sitio Web (AdSense)Cómo generar ingresos con tu sitio Web (AdSense)
Cómo generar ingresos con tu sitio Web (AdSense)Karen Martell
 
Del SEO a las Redes Sociales
Del SEO a las Redes SocialesDel SEO a las Redes Sociales
Del SEO a las Redes SocialesAbraham Villar
 
Ferran calpe b4_lag
Ferran calpe b4_lagFerran calpe b4_lag
Ferran calpe b4_lagFerran5
 
Them's the Rules - Using a Rules Engine to Wrangle Complexity
Them's the Rules - Using a Rules Engine to Wrangle ComplexityThem's the Rules - Using a Rules Engine to Wrangle Complexity
Them's the Rules - Using a Rules Engine to Wrangle ComplexityMicah Breedlove
 
MARKETING 2.0 Y REDES SOCIALES EN LA EMPRESA
MARKETING 2.0  Y REDES SOCIALES EN LA EMPRESAMARKETING 2.0  Y REDES SOCIALES EN LA EMPRESA
MARKETING 2.0 Y REDES SOCIALES EN LA EMPRESAJoan Clapés
 
Ad Vice: Ten Tips for Fledgling Digital Marketers
Ad Vice: Ten Tips for Fledgling Digital MarketersAd Vice: Ten Tips for Fledgling Digital Marketers
Ad Vice: Ten Tips for Fledgling Digital MarketersJason Theodor
 
anna university automobile engineering unit 1
anna university automobile engineering unit 1 anna university automobile engineering unit 1
anna university automobile engineering unit 1 suresh n
 
Blueprint to Search Engine Success
Blueprint to Search Engine SuccessBlueprint to Search Engine Success
Blueprint to Search Engine SuccessiContact
 
AUTOMOBILE BASICS
AUTOMOBILE BASICSAUTOMOBILE BASICS
AUTOMOBILE BASICSKUCH BHI
 
11 Things to Look For in a Hotel Booking Engine Provider
11 Things to Look For in a Hotel Booking Engine Provider11 Things to Look For in a Hotel Booking Engine Provider
11 Things to Look For in a Hotel Booking Engine ProviderNet Affinity
 
Hardware and Software Architectures for the CELL BROADBAND ENGINE processor
Hardware and Software Architectures for the CELL BROADBAND ENGINE processorHardware and Software Architectures for the CELL BROADBAND ENGINE processor
Hardware and Software Architectures for the CELL BROADBAND ENGINE processorSlide_N
 
Chapter 1 engine components and classification
Chapter 1   engine components and classificationChapter 1   engine components and classification
Chapter 1 engine components and classificationHafizkamaruddin
 
Cifras de incidentes de compañías aéreas durante el año 2012
Cifras de incidentes de compañías aéreas durante el año 2012Cifras de incidentes de compañías aéreas durante el año 2012
Cifras de incidentes de compañías aéreas durante el año 2012Iñaki Ruiz Vazquez
 
Six stroke-engine-presenation
Six stroke-engine-presenationSix stroke-engine-presenation
Six stroke-engine-presenationgunjan panchal
 
The Endocrine System - Chapter 13
The Endocrine System - Chapter 13The Endocrine System - Chapter 13
The Endocrine System - Chapter 13biol2074
 

En vedette (20)

SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
 
Formacion SEO: Posicionamiento en buscadores
Formacion SEO: Posicionamiento en buscadoresFormacion SEO: Posicionamiento en buscadores
Formacion SEO: Posicionamiento en buscadores
 
Cómo generar ingresos con tu sitio Web (AdSense)
Cómo generar ingresos con tu sitio Web (AdSense)Cómo generar ingresos con tu sitio Web (AdSense)
Cómo generar ingresos con tu sitio Web (AdSense)
 
Search Engine Optimization
Search Engine OptimizationSearch Engine Optimization
Search Engine Optimization
 
Del SEO a las Redes Sociales
Del SEO a las Redes SocialesDel SEO a las Redes Sociales
Del SEO a las Redes Sociales
 
Ferran calpe b4_lag
Ferran calpe b4_lagFerran calpe b4_lag
Ferran calpe b4_lag
 
Presentacion Blender
Presentacion BlenderPresentacion Blender
Presentacion Blender
 
Them's the Rules - Using a Rules Engine to Wrangle Complexity
Them's the Rules - Using a Rules Engine to Wrangle ComplexityThem's the Rules - Using a Rules Engine to Wrangle Complexity
Them's the Rules - Using a Rules Engine to Wrangle Complexity
 
KRITAL AUDIO ENGINE
KRITAL AUDIO  ENGINE KRITAL AUDIO  ENGINE
KRITAL AUDIO ENGINE
 
MARKETING 2.0 Y REDES SOCIALES EN LA EMPRESA
MARKETING 2.0  Y REDES SOCIALES EN LA EMPRESAMARKETING 2.0  Y REDES SOCIALES EN LA EMPRESA
MARKETING 2.0 Y REDES SOCIALES EN LA EMPRESA
 
Ad Vice: Ten Tips for Fledgling Digital Marketers
Ad Vice: Ten Tips for Fledgling Digital MarketersAd Vice: Ten Tips for Fledgling Digital Marketers
Ad Vice: Ten Tips for Fledgling Digital Marketers
 
anna university automobile engineering unit 1
anna university automobile engineering unit 1 anna university automobile engineering unit 1
anna university automobile engineering unit 1
 
Blueprint to Search Engine Success
Blueprint to Search Engine SuccessBlueprint to Search Engine Success
Blueprint to Search Engine Success
 
AUTOMOBILE BASICS
AUTOMOBILE BASICSAUTOMOBILE BASICS
AUTOMOBILE BASICS
 
11 Things to Look For in a Hotel Booking Engine Provider
11 Things to Look For in a Hotel Booking Engine Provider11 Things to Look For in a Hotel Booking Engine Provider
11 Things to Look For in a Hotel Booking Engine Provider
 
Hardware and Software Architectures for the CELL BROADBAND ENGINE processor
Hardware and Software Architectures for the CELL BROADBAND ENGINE processorHardware and Software Architectures for the CELL BROADBAND ENGINE processor
Hardware and Software Architectures for the CELL BROADBAND ENGINE processor
 
Chapter 1 engine components and classification
Chapter 1   engine components and classificationChapter 1   engine components and classification
Chapter 1 engine components and classification
 
Cifras de incidentes de compañías aéreas durante el año 2012
Cifras de incidentes de compañías aéreas durante el año 2012Cifras de incidentes de compañías aéreas durante el año 2012
Cifras de incidentes de compañías aéreas durante el año 2012
 
Six stroke-engine-presenation
Six stroke-engine-presenationSix stroke-engine-presenation
Six stroke-engine-presenation
 
The Endocrine System - Chapter 13
The Endocrine System - Chapter 13The Endocrine System - Chapter 13
The Endocrine System - Chapter 13
 

Similaire à Google apps engine

Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......SaulSalinasNeri
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxLuis775803
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAbimael Desales López
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
Neo Humano - GTUG Labs (12-12-2009)
Neo Humano - GTUG Labs (12-12-2009)Neo Humano - GTUG Labs (12-12-2009)
Neo Humano - GTUG Labs (12-12-2009)Neo Humano
 
Servicio web
Servicio web Servicio web
Servicio web Yael67
 
San Luis Oct 2008
San Luis Oct 2008San Luis Oct 2008
San Luis Oct 2008guest02b440
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 

Similaire à Google apps engine (20)

Curso Cloud Computing, Parte 2: Google App Engine
Curso Cloud Computing, Parte 2: Google App EngineCurso Cloud Computing, Parte 2: Google App Engine
Curso Cloud Computing, Parte 2: Google App Engine
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
RAML
RAMLRAML
RAML
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
DAM-S7.pptx
DAM-S7.pptxDAM-S7.pptx
DAM-S7.pptx
 
Servicios web
Servicios webServicios web
Servicios web
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Neo Humano - GTUG Labs (12-12-2009)
Neo Humano - GTUG Labs (12-12-2009)Neo Humano - GTUG Labs (12-12-2009)
Neo Humano - GTUG Labs (12-12-2009)
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Servicio web
Servicio web Servicio web
Servicio web
 
San Luis Oct 2008
San Luis Oct 2008San Luis Oct 2008
San Luis Oct 2008
 
San Luis Oct 2008
San Luis Oct 2008San Luis Oct 2008
San Luis Oct 2008
 
Ajax Huancayo
Ajax HuancayoAjax Huancayo
Ajax Huancayo
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 

Plus de Blanca Rodríguez (20)

Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Fase4
Fase4Fase4
Fase4
 
Adaptativos
AdaptativosAdaptativos
Adaptativos
 
Interfaz Gráfica
Interfaz GráficaInterfaz Gráfica
Interfaz Gráfica
 
Prefinal
PrefinalPrefinal
Prefinal
 
Proyecto
ProyectoProyecto
Proyecto
 
Catalan
CatalanCatalan
Catalan
 
Catalan
CatalanCatalan
Catalan
 
Prolog
PrologProlog
Prolog
 
Palíndromo.ppt
 Palíndromo.ppt  Palíndromo.ppt
Palíndromo.ppt
 
Palíndromo.ppt
 Palíndromo.ppt  Palíndromo.ppt
Palíndromo.ppt
 
Logico1
Logico1Logico1
Logico1
 
Logico1
Logico1Logico1
Logico1
 
Caballos
CaballosCaballos
Caballos
 
Caballos
CaballosCaballos
Caballos
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Levenshtein (2)
Levenshtein (2)Levenshtein (2)
Levenshtein (2)
 
Levenshtein (2)
Levenshtein (2)Levenshtein (2)
Levenshtein (2)
 
LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓNLENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN
 
LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓNLENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN
 

Dernier

Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 

Dernier (20)

Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 

Google apps engine

  • 1. GOOGLE APPS ENGINE Proyecto: Sistema escolar administrativo 1 Aplicacion de Google Apps:SAE
  • 2. Google App :Proyecto-Web 2 Aplicacion de Google Apps:SAE Nuestro aplicación esta hecha en el lenguaje Python y fue realizada para la infraestructura de Google -los recursos que utilizamos para su realización fueron -Google engine launcher  -EasyEclipse for Python Utilizamos 1 servidor para las imágenes -http://tudescarga.net/upload/ Libros que nos sirvieron fueron -Java 2 autor: Francisco Ceballos -Dominando java script Tutoriales Paginas Google engine code http://mir.aculo.us/
  • 3. Aplicacion de Google Apps:SAE3 Descripción de la aplicación La aplicación tiene como objetivo inscribir a personas en especial alumnos que quieras llevar la clase de programación web o lenguaje de programación se pueden agregar mas clases dependiendo también puedes hacer una búsqueda para verificar quienes están inscritos también envía un correo atreves de una cuenta de Gmail envía la confirmación de que la solicitud fue aprobada Funcionamiento de la aplicación Consta de paginas HTMLConsta de paginas HTML Una pagina índex que es la principal de la aplicación como bienvenida una principal que es donde esta el formulario de inscripción Una datos que muestra los datos para verificar que estén correctos Una pagina de inscripción donde se envían los datos ala cuenta de correos Una pagina de búsqueda 1 carpeta donde se encuentra el css y java script Se muestra en el orden mencionado
  • 4. Aplicacion de Google Apps:SAE4 Tipos de archivos utilizados Utilizamos CSS ,Java Script , python, También consta de código realizado en python la función del código hace que interactúen las paginas HTML .Así como también hace que se realice la búsqueda que se envié el correo que guarde la información CSS Que le da un estilo mas definido a los formularios Java script que hace que funcione el relog de la pagina principal le añade funciones que el HTML no puede se uso un prototipo que hace que el formulario le añada la función de detectar cuando no es introducido al campo el valor correspondiente
  • 5. Aplicacion de Google Apps:SAE5 EXPLICACION DE LAS FUNCIONES Y ELABORACION DEL CODIGO Y LOS ARCHIVOS NECESARIOS
  • 6. Aplicacion de Google Apps:SAE6 Creación de un Documento .YAML application: proyecto-web version: 1 runtime: python api_version: 1 handlers: - url: /stylesheets static_dir: stylesheets - url: /.* script: codigo.py Una aplicación creada con Python App Engine debe incluir un archivo de configuración denominado app.yaml que especifique la manera en la que las rutas de URL se corresponden con los controladores de solicitudes y con los archivos estáticos. También debe contener información sobre el código de la aplicación como, Nombre de la aplicación y el identificador de la última versión. Es como el directorio de la aplicación se crea en un block de notas con la extensión .yaml
  • 7. Aplicacion de Google Apps:SAE7 Explicación del código application: proyecto-web version: 1 runtime: python api_version: 1 handlers: - url: /stylesheets static_dir: stylesheets - url: /.* script: codigo.py En application lleva el nombre la aplicación lo demás todos los .yaml en handlers va Una lista de patrones URL y descripciones de cómo se deben procesar. También va el nombre de como se llamara el código nuestro código se llama “codigo.py”
  • 8. Aplicacion de Google Apps:SAE8 Explicación del código import os import datetime import copy from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.ext import db from google.appengine.ext import search from google.appengine.ext.webapp import template from google.appengine.api import mail Tenemos que importar librerías y módulos necesarios así como también los módulos de google appengine y python Una aplicación webapp consta de tres partes: una o varias clases RequestHandler que procesan solicitudes y generan respuestas, una instancia de WSGIApplication que dirige las solicitudes entrantes a los controladores en función de su URL, una rutina principal que ejecuta WSGIApplication con un adaptador de CGI. Los frameworks de Webapp nos facilitan el trabajo ya que los CGI son laboriosos y lo que hace los webapp es gestionar la información para no para hacer mas fácil la programación También importamos las plantillas de Django, y módulos como e-mail, búsqueda
  • 9. Aplicacion de Google Apps:SAE9 Explicación del código class Menu(webapp.RequestHandler): def get(self): template_values = {} path = os.path.join(os.path.dirname(__file__), 'index.html') self.response.out.write(template.render(path, template_values)) Como necesitamos hacer que interactué la aplicación creamos una clase llamada menú o también se le puede llamar mainpage hace que se integre índex.html y después self.response.out.write… hace que se muestre Como necesitamos hacer que interactué la aplicación creamos una clase llamada menú o también se le puede llamar mainpage hace que se integre índex.html y después self.response.out.write… hace que se muestre class Índex(webapp.RequestHandler): def get(self): template_values = {} path = os.path.join(os.path.dirname(__file__), 'principal.html') self.response.out.write(template.render(path, template_values)) ***Esta class hace visualizar el formulario de inscripciónEsta class hace visualizar el formulario de inscripción***
  • 10. Aplicacion de Google Apps:SAE10 Explicación del código classclass EstudianteEstudiante(search.SearchableModel): matricula = db.StringProperty() apellidos = db.StringProperty() nombres = db.StringProperty() fechaDeNacimiento = db.DateProperty() direccion = db.StringProperty() telefono = db.StringProperty() ciudad = db.StringProperty() nivel = db.StringProperty() fecha = db.DateTimeProperty(auto_now_add=True) correo = db.StringProperty() Como necesitamos que se guarde la información usamos Almacenamiento de datos Los objetos de datos incluidos en el almacén de datos de App Engine se denominan entidades. Las entidades disponen de una o varias propiedades, es decir, valores con denominación de uno de varios tipos de datos compatibles, incluidos números enteros, valores de punto flotante, cadenas, datos, datos binarios, etc. Como necesitamos que se guarde la información usamos Almacenamiento de datos Los objetos de datos incluidos en el almacén de datos de App Engine se denominan entidades. Las entidades disponen de una o varias propiedades, es decir, valores con denominación de uno de varios tipos de datos compatibles, incluidos números enteros, valores de punto flotante, cadenas, datos, datos binarios, etc. La clase Model se proporciona a través del módulo google.appengine.ext.db.
  • 11. Aplicacion de Google Apps:SAE11 Explicación del código classclass DatosPrincipales(webapp.RequestHandler): def post(self): template_values = { 'txtMatricula': self.request.get('txtMatricula'), 'txtApellidos': self.request.get('txtApellidos').upper(), 'txtNombres': self.request.get('txtNombres').upper(), 'txtFechaDeNacimiento': self.request.get('txtFechaDeNacimiento'), 'txtDireccion': self.request.get('txtDireccion').upper(), 'txtTelefono': self.request.get('txtTelefono'), 'txtCiudad': self.request.get('txtCiudad').upper(), 'txtCorreo': self.request.get('txtCorreo').lower(), 'cmbTipo': self.request.get('cmbTipo'), } path = os.path.join(os.path.dirname(__file__), 'datos.htmldatos.html') self.response.out.write(template.render(path, template_values)) En esta class lo que hace es recibir lo que se escribe en el formulario del HTML ejemplo si tu escribes 1451428 se guarda en txtMatricula es como si fueran los contenedores de los campos del HTML Principal para eso usamos el método POST porque se envía por la forma estándar después se mostraran el HTML datos En esta class lo que hace es recibir lo que se escribe en el formulario del HTML ejemplo si tu escribes 1451428 se guarda en txtMatricula es como si fueran los contenedores de los campos del HTML Principal para eso usamos el método POST porque se envía por la forma estándar después se mostraran el HTML datos
  • 12. Aplicacion de Google Apps:SAE12 Explicación del código defdef envia_mail(e): para="%s %s <%s>" % (e.nombres,e.apellidos,e.correo) cuerpo = """ COMO ESTAS QUERIDO ALUMNO : %s APROBADA : TU SOLICITUD PARA QUE ASISTAS A LA CLASE QUE SELECCIONASTES A SIDO APROBADA PUEDES ASISTIR LA FECHA PROGRAMADA NOTA: No olvides presentarte un dia antes para que verifiques la hora y el grupo asignado ATENTAMENTE:Cordinador de Materia """ % (e.nombres) mail.send_mail(sender="rafaellopezgtz@gmail.com",to=para,subject="cordinacion",body=cuerpo) La función mail.send_mail() envía un mensaje de correo electrónico desde la aplicación. La dirección From: puede ser tanto la dirección de correo electrónico de un administrador registrado La función mail.send_mail() envía un mensaje de correo electrónico desde la aplicación. La dirección From: puede ser tanto la dirección de correo electrónico de un administrador registrado Se importa el modulo from google.appengine.api import mail
  • 13. Aplicacion de Google Apps:SAE13 Explicación del código class Guardar(webapp.RequestHandler): def post(self): estudiante = Estudiante() estudiante.matricula = self.request.get('txtMatricula') estudiante.apellidos = self.request.get('txtApellidos').upper() estudiante.nombres = self.request.get('txtNombres').upper() fecha = self.request.get('txtFechaDeNacimiento') f = fecha.split('/') estudiante.fechaDeNacimiento = datetime.date(int(f[2]),int(f[1]),int(f[0])) estudiante.direccion = self.request.get('txtDireccion').upper() estudiante.telefono = self.request.get('txtTelefono') estudiante.ciudad = self.request.get('txtCiudad').upper() estudiante.nivel = self.request.get('cmbTipo') estudiante.escuela = self.request.get('txtEscuela').upper() estudiante.correo = self.request.get('txtCorreo') estudiante.put() envia_mail(estudiante) template_values = { 'txtApellidos': self.request.get('txtApellidos').upper(), 'txtNombres': self.request.get('txtNombres').upper(), 'txtCorreo': self.request.get('txtCorreo').lower(), 'tieneCorreo': (estudiante.correo != '') } path = os.path.join(os.path.dirname(__file__), 'preinscribir.html') self.response.out.write(template.render(path, template_values)) En esta clase lo que hace es guardarnos los datos usa el método post Cada consulta del almacén de datos utiliza un índice, una tabla que contiene los resultados de la consulta en el orden deseado En esta clase lo que hace es guardarnos los datos usa el método post Cada consulta del almacén de datos utiliza un índice, una tabla que contiene los resultados de la consulta en el orden deseado La clase Model se proporciona a través del módulo google.appengine.ext.db.
  • 14. Aplicacion de Google Apps:SAE14 Explicación del código class Buscar(webapp.RequestHandler): def get(self): txtFullText = self.request.get('txtFullText').upper() if txtFullText <> '': estudiantes = Estudiante.all().search(txtFullText) template_values = { 'estudiantes': estudiantes } else: template_values = {} path = os.path.join(os.path.dirname(__file__), 'buscar.html') self.response.out.write(template.render(path, template_values)) En esta class lo que hace es buscar los datos que ingresamos en el formulario hace una búsqueda a estudiantes dependiendo del valor que le damos de búsqueda al campo txtfulltext que aparece en el html En esta class lo que hace es buscar los datos que ingresamos en el formulario hace una búsqueda a estudiantes dependiendo del valor que le damos de búsqueda al campo txtfulltext que aparece en el html
  • 15. Aplicacion de Google Apps:SAE15 Explicación del código application = webapp.WSGIApplication( [('/', Menu), ('/index', Index), ('/principal', DatosPrincipales), '/buscar', Buscar), ('/preinscribir', Guardar)], debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main() En nuestro objeto application debemos también indicar los nuevos controladores En nuestro objeto application debemos también indicar los nuevos controladores
  • 16. Aplicacion de Google Apps:SAE16 HTML
  • 17. Aplicacion de Google Apps:SAE17 INTEGRANTES Rafael López Gutiérrez Blanca Alicia Rodríguez Rivas Alejandro Josafat Loera Ramírez Marco Antonio Carcini Mora Jesús Alejandro Beltrán Reyna