Ricardo Bermúdez Piñeiro

De ASIRodeira

Índice

A IDEA (Versión Breve)

O meu proxecto consiste en crear unha empresa adicada á venda de camisetas e outros accesorios estampados con deseños de tematica variada.

CASOS DE USO E MODELO ENTIDADE-RELACIÓN

Modelo Entidade-Relación
Modelo Entidade-Relación
Casos de Uso Cliente
Casos de Uso Cliente
Casos de Uso Administrador e Xestor
Casos de Uso Administrador e Xestor

Casos de uso

O PROXECTO

No seguinte link pode baixarse o que levamos feito:

Baixar o proxecto

A distribución do produto levarase a cabo por medio dunha páxina web, na que ademáis de amosar os deseños, os visitantes poderán facer un pedido do alí ofertado.

Realizada en HTML con folla de estilos(CSS) con Java cando o requira a aplicación(Xestión do cátalogo,Manexo de rexistro e de clientes rexistrados,etc.).

SERVIDOR:Apache con módulo Tomcat(para a xestión do Java) sobre un distribución Debian Etch.

BASE DE DATOS: MySQL(Nela almacenarase o catálogo de produtos,os usuarios, proveedores,etc.)


PRIMEIROS PASOS

Instalación módulo Tomcat e enlace co Apache

Instalación do Tomcat

Creación do novo host no Tomcat e posta en marcha

  1. Creamos o host no administrador do tomcat(Pódese acceder a través do http://localhost:8180 e clickando en administrador) escribindo a ruta predeterminada do noso host.
  2. Engadimos o novo host nas direccións coñecidas do Apache(/etc/apache2/sites-avaliables).
  3. Enlazamos esta dirección cos sitios habilitados(sites-enabled) con: ln -s ../sites-avaliable/nomedohost ../sites-enabled
  4. Poñemos en /etc/host a nosa dirección e o nome do host virtual.
  5. Poñemos na ruta do host sinalada anteriormente un cartafol chamado ROOT que será onde se acceda directamente cando se introduza a dirección no navegador. Poderemos poñer outros cartafoles para servir, so haberá que poñerlle na dirección URL do navegador o nome do cartafol (/nomedocartafol)
  6. Dentro do cartafol ROOT (e dos que queiramos servir no host) temos que poñer a carpeta WEB-INF (vale a que trae o exemplo modificada)
  7. Reiniciamos Apache e Tomcat (e en principio está listo...)

Traballando con struts

Para este proxecto utilizaranse struts de java, que facilitarán o traballo na web, o seu mantemento, a sua actualización, etc.Isto é posible xa que con struts divídense as aplicacións a crear en 3 partes(MVC):

  • Modelo
  • Vista
  • Controlador

Para profundizar máis pódese consultar algunha destas páxinas ou calquera outra sobre o tema:

Páxina de apache(inglés)

Páxina programación.net(castelán)

A versión de Tomcat que vimos de instalar ven por defecto con struts 1.2, pero é frecuente atopar a versión 1.3.5 ou inclusive coa 2.0.1. Se se precisa unha versión máis nova basta con baixala (apt-get install ...)e configurala segundo a axuda.

É interesante e didáctico baixar os exemplos que de struts se ofrecen no sistema apt-get("apt-cache search struts apps" por exemplo). Os que baixamos (da versión 1.3.5) veñen cunha estructura de páxina web en blanco que usa struts moi útil para ter organizada a aplicación que desexamos crear dende o principio.

A estructurae os ficheiros máis importantes da aplicación web son os seguintes:

  • META-INF(Información do Maven e do compilados ant.Aquí de inicio non temos que tocar nada...)
  • pages(Neste cartafol almacenaránse tódalas páxinas da nosa web)
  • index.jsp(Ésta é a páxina á que accedemos cando iniciamos, que redirixe cara as páxinas de pages)
  • WEB-INF(Cartafol no que se atopa a configuración da aplicación e onde se almacenarán as clases)
    • lib(Almacén dos ficheiros .jar da aplicación)
    • struts-config.xml(Como o seu propio nome indica e o ficheiro de configuración de struts.Aquí aparecen os ficheiros que se han de consultar para cada caso)
    • validation.xml(É un ficheiro no que se introducen as validacións e as limitacións que se queren introducir nos formularios)
    • web.xml(Ficheiriño común a tódolos java no que se almacenan o nome da aplicación, a páxina de inicio, etc.)
    • classes(Aquí van as clases xa compiladas e as mensaxes da páxina)
      • MessageResources.properties(Tódolos Textos da aplicación. Ó telos todos xuntos é máis sinxelo cambiar a linguaxe por exemplo)
    • src(Aquí é ónde deberiamos traballar cos ficheiros .java da aplicación pendentes de compilar e o resto de ficheiros a editar)
      • build.xml(Ficheiro de configuración no temos que cambiar o nome da aplicación)

Para compilar as clases de java utilizaremos o comando :

javac -classpath "(ruta dos struts contra os que a queremos compilar,no meu caso:)/usr/share/struts1.2/struts.jar"(nome do .java a compilar:) ficheiro.java

PÁXINA WEB

Na páxina aparecerá unha breve presentación da web xunto coa opción de autentificación e rexistro e cun menú no que se permitirán as seguintes opcións:

  • CATÁLOGO
    • Accederemos a unha lista de produtos.
  • COMO COMPRAR
    • Explícarase o procedemento para adquirir a mercadoría.
  • ONDE ATOPARNOS
    • Aquí iranse introducindo as tendas que ofrecen as nosas creacións.
  • INFORMACIÓN SOBRE AS CAMISETAS
    • O tamaño das tallaxes, colores, calidades, etc.
  • ACONSELLAMOS...
    • Recomendacións de todo tipo (libros, películas, páxinas web,etc.)

De momento por cuestión de traballo a páxina web unicamente co nome proxecto.riqee.com/camisetas

CONEXIÓN Á BBDD

Para realizar certas funcións da páxina web (como a identificación de usuarios, a carga do catálogo de produtos,etc.)é necesario recoller a información dispoñible na base de datos.

A conexión de java con MySQL, que como se dixo con anterioridade é o programa que utilizaremos, precisa baixar un ficheiro chamado libmysql-java (Java database (JDBC) driver for MySQL)(con apt-get...).

Loxicamente haberá que ter creado a BBDD previamente.(A miña chámase "proxecto").

O MySQL conéctase por defecto no porto 3306, ese é o que usaremos.

Os ficheiros a editar para a configuración son

  • web.xml
    • No que se introducirá (no meu caso) o seguinte código:
<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/proxecto</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
</resource-ref>
  • server.xml
    • Dentro do Host(neste caso "proxecto.riqee.com") no context:

 
<Context path="/camisetas" docBase="camisetas"
       debug="5" reloadable="true" crossContext="true">
       <Resource name="jdbc/proxecto" auth="Container" 
         type="javax.sql.DataSource" maxActive="100" maxIdle="30"
         maxWait="10000" username="root" password=""
         driverClassName="com.mysql.jdbc.Driver"
         url="jdbc:mysql://localhost:3306/proxecto?autoReconnect=true"/>
</Context>

No meu caso(pode ser por problemas coa versión ou así) a a extracción da librería de que instalamos cando facemos o apt-get non da todo o bo resultado que debera, polo que debemos copiar a man co seguinte comando un ficheiro a carpeta do java:

cp usr/share/java/mysql.jar /usr/lib/jvm/java1.1.5.0-sun/jre/lib/ext

Se seguise a dar problemas, habería que revisar os permisos de execución en /etc/tomcat5.5/policy.d.

Para xestionar a conexión da nosa aplicación coa BBDD haberá que crear un conxunto de clases que se encarguen.

Para facer navegar como usuario rexistrado a un usuario normal creamos a clase LOGIN.class mediante a que autenticamos o usuario cos datos dispoñibles na BBDD

EDITADO: Si, existía un problema de permisos, solucionado engadindo un grant para a conexión o socket da base de datos

Ferramentas persoais