Implantación de Aplicacións Web: Diferenzas entre revisións
(Non se amosan 17 revisións do historial feitas polo mesmo usuario.) | |||
Liña 24: | Liña 24: | ||
Un exemplo sería o seguinte: |
Un exemplo sería o seguinte: |
||
::# Un cliente pincha sobre unha URL como http://myapp.iesrodeira.com/almacenamento/imaxes/ficheiro |
::# Un cliente pincha sobre unha URL como http://myapp.iesrodeira.com/webstore.php?path=/almacenamento/imaxes/ficheiro&place=drive, ou http://myapp.iesrodeira.com/webstore.php?path=almacenamento/ficheiros/ficheiro&place=bitcasa |
||
::# A petición chega ao servidor, que detectará que se quere acceder á nube e a qué ficheiro, obtendo a URL do mesmo |
::# A petición chega ao servidor, que detectará que se quere acceder á nube e a qué ficheiro, obtendo a URL do mesmo |
||
::# Se redixirá o cliente para que descargue o ficheiro directamente da nube |
::# Se redixirá o cliente para que descargue o ficheiro directamente da nube |
||
Para redirixir a páxina, se enviará de volta ao cliente un contido similar ao seguinte: |
|||
<source lang='php'> |
|||
<?php |
|||
Header( "HTTP/1.1 301 Moved Permanently" ); |
|||
Header( "Location: http://www.bitcasa.com/imaxes/fotoHD.jpg" ); |
|||
?> |
|||
</source> |
|||
====Exercicio 2==== |
|||
O contrato MSDN de Microsoft facilita licencias de uso de diverso software a entidades educativas a un precio moi baixo co obxectivo de que estas podan ofrecer formación dos seus productos. Estas entidades educativas están autorizadas a facilitar estas licencias aos seus alumnos con validez ilimitada, pero é necesario xestionar que non se reparten números duplicados e establecer un medio de racionalizar o seu uso e evitar o acaparamento das licencias e o seu potencial esgotamento. |
|||
As licencias MSDN se obteñen da web en formato XML: |
|||
<source lang='xml'> |
|||
<YourKey> |
|||
<Product_Key Name=".NET Micro Framework Porting Kit v3.0"> |
|||
<Key ID="317" Type="Static Activation Key" ClaimedDate="">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
</Product_Key> |
|||
<Product_Key Name="Access 2007"> |
|||
<Key ID="185" Type="DreamSpark Retail Key" ClaimedDate="8/3/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
<Key ID="185" Type="DreamSpark Retail Key" ClaimedDate="8/3/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
<Key ID="185" Type="DreamSpark Retail Key" ClaimedDate="8/3/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
</Product_Key> |
|||
<Product_Key Name="Access 2010"> |
|||
<Key ID="578" Type="DreamSpark Retail Key" ClaimedDate="12/8/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
<Key ID="578" Type="DreamSpark Retail Key" ClaimedDate="12/8/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
</Product_Key> |
|||
<Product_Key Name="Exchange Server 2013 Standard (DreamSpark)"> |
|||
<Key ID="974" Type="Static Activation Key" ClaimedDate="">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
</Product_Key> |
|||
<Product_Key Name="Windows Vista Business"> |
|||
<Key ID="213" Type="DreamSpark KMS" ClaimedDate="6/17/2008">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
</Product_Key> |
|||
<Product_Key Name="Windows Vista Enterprise"> |
|||
<Key ID="273" Type="DreamSpark KMS" ClaimedDate="5/24/2008">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key> |
|||
</Product_Key> |
|||
</YourKey> |
|||
</source> |
|||
Se pretende realizar unha aplicación Web que permita aos usuarios autorizados reclamar e devolver chaves de productos. As chaves reclamadas se lle facilitarán nun documento XML e a solicitude quedará almacenada na base de datos xunto coa data da petición e o motivo e propósito da petición. Cada usuario dispoñerá dun historial de todas as súas operacións, e o usuario "administrador" poderá examinar o historial completo. Para devolver unha chave, o usuario a seleccionará do historial de peticións e indicará que quere realizar unha devolución. |
|||
As chaves dos productos estarán almacenadas nunha base de datos, e estarán cifradas. Para dar de alta as distintas chaves, o usuario "administrador" se limitará a importar o XML tal e como o facilita Microsoft dentro da aplicación. |
|||
====Exercicio 3==== |
|||
Hoxe en día dispoñemos de equipos de escritorio de gran capacidade, perfectamente capaces de executar sistemas virtualizados ao mesmo tempo que se realiza o traballo habitual con normalidade. |
|||
Se pretende crear un panel web no que un usuario autorizado poderá configurar, crear e lanzar unha instancia dunha máquina virtual funcionando baixo un sistema operativo. O usuario poderá elexir: |
|||
:*O número de CPUS |
|||
:*A cantidade de RAM |
|||
:*O disco a insertar (cun sistema preinstalado) |
|||
:*A configuración de rede |
|||
::-Número de tarxetas de rede, e por cada tarxeta, a dirección MAC, e a súa posición respecto a rede local: Rede Interna, Rede Local ou Rede Virtual. |
|||
Unha vez creada a instancia, o usuario poderá arrancar/pausar/parar a máquina virtual e acceder a ela mediante acceso remoto (VNC, RDP, ...) |
|||
====Exercicio 4==== |
|||
Se pretende xestionar a biblioteca dun centro educativo mediante unha aplicación Web. Esta aplicación terá dúas funcionalidades ben diferenciadas: |
|||
:*Os usuarios sen autorizar poderán buscar libros e ver a información gardada sobre os mesmos. A información dos libros se obterá recurrindo a servizos web como o de Amazon ou OpenLibrary si é posible |
|||
:*Os usuarios autorizados poderán xestionar préstamos e devolucións e realizar altas e baixas dos libros. Tamén poderán realizar a xestión dos socios e a obtención de estatísticas. |
|||
====Exercicio 5==== |
|||
A discográfica independente RocKeRollo pretende vender os seus discos directamente a través da Web, polo que encarga a realización dunha aplicación que permita a venta dos mesmos, e ao mesmo tempo sirva de promoción dos músicos e da propia discográfica. As características principais da aplicación Web serán: |
|||
:*A páxina terá un enlace á "cesta da compra" e a un "Login" para a xestión dos discos a vender por parte do administrador. |
|||
:*Na portada se amosarán de xeito destacado as últimas novedades (2 ou 3), ou os discos así marcados pola propia discográfica. |
|||
:*Dende a portada se visualizarán tamén os últimos discos por orden de data de edición, e paxinados de modo que o usuario poda recorrelos dun xeito sinxelo, e sen ocupar demasiada área. |
|||
:*Se poderá cambiar a orde a orde por número de ventas (Ranking de Ventas) ou data de saída (Novidades) |
|||
:*Se terá unha caixa de búsqueda por grupo e título. |
|||
:*Nunha marxe da páxina se amosará a lista de cancións máis vendidas. |
|||
:*O resto do área de traballo estárá ocupado polos distintos grupos da discográfica, tamén paxinados si é necesario. |
|||
#Cando o usuario faga click nun disco, se lle amosará a portada cun tamano aceptable, o precio do disco completo e a lista das cancións co precio de cada unha. Está prevista a escoita das cancións dende esta mesma páxina. En cada canción se dispoñerá dun enlace para a súa "compra", depositándoa na "cesta da compra". Tamén se disporá dunha descripción do disco e un enlace para a "compra" do disco completo, que o depositará nunha "cesta da compra". |
|||
#Cando o usuario faga click na cesta da compra, se lle indicará a lista de productos que ten na mesma, o precio de cada un con e sen IVE e o importe a pagar con e sen IVE. Cada producto da lista terá un enlace para a súa eliminación da cesta. Desde a cesta da compra será posible tamén formalizar a compra. |
|||
#Cando o usuario queira formalizar a compra, se lle solicitarán os seus datos persoais (si o DNI se atopa na BBDD se encherá o resto de xeito automático) e o medio de pago. Se efectuará o cargo (mediante a pasarela correspondente, como pode ser Visa ou PayPal) e se creará unha factura que quedará almacenada na base de datos e será remitida en PDF ao cliente, e enviada á súa dirección de correo. |
|||
A páxina de administración permitirá ao administrador eliminar discos da BBDD, cambiar as súas existencias, dar de alta novos discos e examinar a facturación. Tamén poderá marcar discos para a portada. |
|||
Cando un usuario formaliza unha compra, esta pasará a pendente. O "xestor de almacen" e o "administrador" poderán examinar os pedidos (facturas) e ir pasando as facturas "pendentes" a "enviadas" |
|||
=====Exercicio 6===== |
|||
Se pretende dar soporte de servidor a unha aplicación de control de gastos para smartphone. |
|||
O cliente suministra como información inicial os seus ingresos mensuais, a súa previsión de gastos fixos e cantidade que desexa aforrar. Os cartos restantes, divídense en Gastos Correntes (principalmente alimentación) e Gastos de Ocio. O cliente asigna unha cantidade aos Gastos Correntes. O que queda serán gastos de Ocio. Se calcularán os Gastos Correntes Diarios e os Gastos en Ocio Diarios. |
|||
Cando o cliente realiza un gasto que non pertence aos "gastos fixos", introducirá no smartphone a cantidade gastada, e pulsará no botón do concepto (Gastos Correntes - Ocio). Si quere poderá tamén especificar máis en concreto o tipo de gasto. A continuación, se recalcularán os gastos diarios intentando manter os gastos correntes no establecido, restando cartos dos gastos de ocio si é necesario. Si xa non quedaran cartos para o ocio, se restarían dos cartos a aforrar, e cando estes se agotan, se iría reducindo o gasto diario. |
|||
Cando os importes son inferiores ao gasto diario establecido se notificará no estado do smartphone, e aparecerá resaltado na pantalla principal da aplicación. |
|||
O usuario poderá observar en todo momento o gasto diario que pode realizar e analizar as estatísticas dos gastos realizado en comparación cos gastos previstos. Opcionalmente se lle poderá ofrecer un "consello financieiro". |
|||
Se pide realizar a parte da aplicación do servidor, que permitirá ademáis acceder a todas as funcionalidades e a configuración mediante unha páxina web. As distintas opcións serán ofrecidas mediante un servizo web basado en JSON e REST. |
Revisión actual feita o 21 de novembro de 2013 ás 18:46
Programación da Asignatura
- Tema 1.- Introducción aos Servizos Web
- Tema 2.- Servidores Web e Servidores de Aplicacións
- Tema 3.- Xestores de Contidos
- Tema 4.- Ferramentas Ofimáticas Web
- Tema 5.- Creación de Contido Web
- Tema 6.- Xestión e Creación de Contidos con Drupal
- Tema 7.- Xestión e Creación de Contidos con Mediawiki
- Tema 8.- Xestión e Creación de Contidos con WordPress
- Tema 9.- Programación e Mantemento de Aplicacións Web I
- Tema 10.- Estructura e Funcionamento das Aplicacións Web
- Tema 11.- Introducción a PHP
- Tema 12.- PHP: Acceso a Base de Datos
- Tema 13.- Os Servizos Web: AJAX, JSON, REST e SOAP
- Tema 14.- Adaptación de Drupal
- Tema 15.- Adaptación de Mediawiki
- Tema 16.- Adaptación de WordPress
Exercicios
Exercicio 1
Bitcasa é un servizo de almacenamento na nube que nos ofrece 5GB gratuitos ampliables a 20GB. Bitcasa tamén nos ofrece unha API (Servizo Web) para realizar as tarefas comúns sobre un sistema de almacenamento (Creacion, Borrado, Subida, Descarga.... etc). Drive, é un servizo similar de Google, que tamén ofrece unha API para o acceso ao almacenamento.
Se pretende poder utilizar este almacenamento na nube para acelerar o acceso aos sitios web albergados no servidor, e liberar ancho de banda na subida de datos. Se trata de implementar en PHP un sistema no que se mapeen URL's á web a ficheiros localizados nun servidor "na nube". En teoría estes ficheiros poderán ser de calqueira tipo, pero a idea e albergar únicamente imaxes, arquivos multimedia (videos, sons...) e ficheiros descargables polos clientes.
Un exemplo sería o seguinte:
- Un cliente pincha sobre unha URL como http://myapp.iesrodeira.com/webstore.php?path=/almacenamento/imaxes/ficheiro&place=drive, ou http://myapp.iesrodeira.com/webstore.php?path=almacenamento/ficheiros/ficheiro&place=bitcasa
- A petición chega ao servidor, que detectará que se quere acceder á nube e a qué ficheiro, obtendo a URL do mesmo
- Se redixirá o cliente para que descargue o ficheiro directamente da nube
Para redirixir a páxina, se enviará de volta ao cliente un contido similar ao seguinte:
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.bitcasa.com/imaxes/fotoHD.jpg" );
?>
Exercicio 2
O contrato MSDN de Microsoft facilita licencias de uso de diverso software a entidades educativas a un precio moi baixo co obxectivo de que estas podan ofrecer formación dos seus productos. Estas entidades educativas están autorizadas a facilitar estas licencias aos seus alumnos con validez ilimitada, pero é necesario xestionar que non se reparten números duplicados e establecer un medio de racionalizar o seu uso e evitar o acaparamento das licencias e o seu potencial esgotamento. As licencias MSDN se obteñen da web en formato XML:
<YourKey>
<Product_Key Name=".NET Micro Framework Porting Kit v3.0">
<Key ID="317" Type="Static Activation Key" ClaimedDate="">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
</Product_Key>
<Product_Key Name="Access 2007">
<Key ID="185" Type="DreamSpark Retail Key" ClaimedDate="8/3/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
<Key ID="185" Type="DreamSpark Retail Key" ClaimedDate="8/3/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
<Key ID="185" Type="DreamSpark Retail Key" ClaimedDate="8/3/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
</Product_Key>
<Product_Key Name="Access 2010">
<Key ID="578" Type="DreamSpark Retail Key" ClaimedDate="12/8/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
<Key ID="578" Type="DreamSpark Retail Key" ClaimedDate="12/8/2010">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
</Product_Key>
<Product_Key Name="Exchange Server 2013 Standard (DreamSpark)">
<Key ID="974" Type="Static Activation Key" ClaimedDate="">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
</Product_Key>
<Product_Key Name="Windows Vista Business">
<Key ID="213" Type="DreamSpark KMS" ClaimedDate="6/17/2008">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
</Product_Key>
<Product_Key Name="Windows Vista Enterprise">
<Key ID="273" Type="DreamSpark KMS" ClaimedDate="5/24/2008">CCCCC-CCCCC-CCCCC-CCCCC-CCCCC</Key>
</Product_Key>
</YourKey>
Se pretende realizar unha aplicación Web que permita aos usuarios autorizados reclamar e devolver chaves de productos. As chaves reclamadas se lle facilitarán nun documento XML e a solicitude quedará almacenada na base de datos xunto coa data da petición e o motivo e propósito da petición. Cada usuario dispoñerá dun historial de todas as súas operacións, e o usuario "administrador" poderá examinar o historial completo. Para devolver unha chave, o usuario a seleccionará do historial de peticións e indicará que quere realizar unha devolución.
As chaves dos productos estarán almacenadas nunha base de datos, e estarán cifradas. Para dar de alta as distintas chaves, o usuario "administrador" se limitará a importar o XML tal e como o facilita Microsoft dentro da aplicación.
Exercicio 3
Hoxe en día dispoñemos de equipos de escritorio de gran capacidade, perfectamente capaces de executar sistemas virtualizados ao mesmo tempo que se realiza o traballo habitual con normalidade. Se pretende crear un panel web no que un usuario autorizado poderá configurar, crear e lanzar unha instancia dunha máquina virtual funcionando baixo un sistema operativo. O usuario poderá elexir:
- O número de CPUS
- A cantidade de RAM
- O disco a insertar (cun sistema preinstalado)
- A configuración de rede
- -Número de tarxetas de rede, e por cada tarxeta, a dirección MAC, e a súa posición respecto a rede local: Rede Interna, Rede Local ou Rede Virtual.
Unha vez creada a instancia, o usuario poderá arrancar/pausar/parar a máquina virtual e acceder a ela mediante acceso remoto (VNC, RDP, ...)
Exercicio 4
Se pretende xestionar a biblioteca dun centro educativo mediante unha aplicación Web. Esta aplicación terá dúas funcionalidades ben diferenciadas:
- Os usuarios sen autorizar poderán buscar libros e ver a información gardada sobre os mesmos. A información dos libros se obterá recurrindo a servizos web como o de Amazon ou OpenLibrary si é posible
- Os usuarios autorizados poderán xestionar préstamos e devolucións e realizar altas e baixas dos libros. Tamén poderán realizar a xestión dos socios e a obtención de estatísticas.
Exercicio 5
A discográfica independente RocKeRollo pretende vender os seus discos directamente a través da Web, polo que encarga a realización dunha aplicación que permita a venta dos mesmos, e ao mesmo tempo sirva de promoción dos músicos e da propia discográfica. As características principais da aplicación Web serán:
- A páxina terá un enlace á "cesta da compra" e a un "Login" para a xestión dos discos a vender por parte do administrador.
- Na portada se amosarán de xeito destacado as últimas novedades (2 ou 3), ou os discos así marcados pola propia discográfica.
- Dende a portada se visualizarán tamén os últimos discos por orden de data de edición, e paxinados de modo que o usuario poda recorrelos dun xeito sinxelo, e sen ocupar demasiada área.
- Se poderá cambiar a orde a orde por número de ventas (Ranking de Ventas) ou data de saída (Novidades)
- Se terá unha caixa de búsqueda por grupo e título.
- Nunha marxe da páxina se amosará a lista de cancións máis vendidas.
- O resto do área de traballo estárá ocupado polos distintos grupos da discográfica, tamén paxinados si é necesario.
- Cando o usuario faga click nun disco, se lle amosará a portada cun tamano aceptable, o precio do disco completo e a lista das cancións co precio de cada unha. Está prevista a escoita das cancións dende esta mesma páxina. En cada canción se dispoñerá dun enlace para a súa "compra", depositándoa na "cesta da compra". Tamén se disporá dunha descripción do disco e un enlace para a "compra" do disco completo, que o depositará nunha "cesta da compra".
- Cando o usuario faga click na cesta da compra, se lle indicará a lista de productos que ten na mesma, o precio de cada un con e sen IVE e o importe a pagar con e sen IVE. Cada producto da lista terá un enlace para a súa eliminación da cesta. Desde a cesta da compra será posible tamén formalizar a compra.
- Cando o usuario queira formalizar a compra, se lle solicitarán os seus datos persoais (si o DNI se atopa na BBDD se encherá o resto de xeito automático) e o medio de pago. Se efectuará o cargo (mediante a pasarela correspondente, como pode ser Visa ou PayPal) e se creará unha factura que quedará almacenada na base de datos e será remitida en PDF ao cliente, e enviada á súa dirección de correo.
A páxina de administración permitirá ao administrador eliminar discos da BBDD, cambiar as súas existencias, dar de alta novos discos e examinar a facturación. Tamén poderá marcar discos para a portada.
Cando un usuario formaliza unha compra, esta pasará a pendente. O "xestor de almacen" e o "administrador" poderán examinar os pedidos (facturas) e ir pasando as facturas "pendentes" a "enviadas"
Exercicio 6
Se pretende dar soporte de servidor a unha aplicación de control de gastos para smartphone.
O cliente suministra como información inicial os seus ingresos mensuais, a súa previsión de gastos fixos e cantidade que desexa aforrar. Os cartos restantes, divídense en Gastos Correntes (principalmente alimentación) e Gastos de Ocio. O cliente asigna unha cantidade aos Gastos Correntes. O que queda serán gastos de Ocio. Se calcularán os Gastos Correntes Diarios e os Gastos en Ocio Diarios.
Cando o cliente realiza un gasto que non pertence aos "gastos fixos", introducirá no smartphone a cantidade gastada, e pulsará no botón do concepto (Gastos Correntes - Ocio). Si quere poderá tamén especificar máis en concreto o tipo de gasto. A continuación, se recalcularán os gastos diarios intentando manter os gastos correntes no establecido, restando cartos dos gastos de ocio si é necesario. Si xa non quedaran cartos para o ocio, se restarían dos cartos a aforrar, e cando estes se agotan, se iría reducindo o gasto diario.
Cando os importes son inferiores ao gasto diario establecido se notificará no estado do smartphone, e aparecerá resaltado na pantalla principal da aplicación.
O usuario poderá observar en todo momento o gasto diario que pode realizar e analizar as estatísticas dos gastos realizado en comparación cos gastos previstos. Opcionalmente se lle poderá ofrecer un "consello financieiro".
Se pide realizar a parte da aplicación do servidor, que permitirá ademáis acceder a todas as funcionalidades e a configuración mediante unha páxina web. As distintas opcións serán ofrecidas mediante un servizo web basado en JSON e REST.