Implantación de Aplicacións Web

De Wiki do Ciclo ASIR do IES de Rodeira

Índice

Programación da Asignatura

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:

  1. 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
  2. A petición chega ao servidor, que detectará que se quere acceder á nube e a qué ficheiro, obtendo a URL do mesmo
  3. 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.
  1. 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".
  2. 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.
  3. 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.