ficheros de configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2fmemoria_vol1... ·...

33
Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración En este anexo vamos a ver el contenido de los ficheros utilizados para la configuración del servicio. Empezaremos viendo los ficheros necesarios para el despliegue del mismo en Eclipse. Continuaremos con la configuración de cabeceras y la base de datos. Veremos también los esquemas XML y terminaremos con los ficheros de internacionalización del servicio. 1 Despliegue del servicio Como ya se vio en el Capítulo III, para el despliegue del servicio en Eclipse es necesario la edición del descriptor de despliegue con el fichero sip.xml y la selección de un Servlet principal con el fichero package-info.java . En los siguientes apartados mostramos el contenido de estos dos ficheros. 1.1 sip.xml <?xml version="1.0"?> <!-- Titulo: sip.xml. --> <!-- Autor: Fernando Crespo Gravalos ([email protected] ) --> <!-- Version: 1.0 --> <!-- Fecha: 2012-09-24 --> <!DOCTYPE sip-app PUBLIC "-//Java Community Process//DTD SIP Application 1.0//EN" "http://www.jcp.org/dtd/sip-app_1_0.dtd"> <sip-app> 238

Upload: others

Post on 12-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

Anexo II

Ficheros de Configuración

En este anexo vamos a ver el contenido de los ficheros utilizados para la configuración del

servicio. Empezaremos viendo los ficheros necesarios para el despliegue del mismo en Eclipse.

Continuaremos con la configuración de cabeceras y la base de datos. Veremos también los

esquemas XML y terminaremos con los ficheros de internacionalización del servicio.

1 Despliegue del servicio

Como ya se vio en el Capítulo III, para el despliegue del servicio en Eclipse es necesario la

edición del descriptor de despliegue con el fichero sip.xml y la selección de un Servlet principal con

el fichero package-info.java. En los siguientes apartados mostramos el contenido de estos dos

ficheros.

1.1 sip.xml

<?xml version="1.0"?>

<!-- Titulo: sip.xml. -->

<!-- Autor: Fernando Crespo Gravalos ([email protected]) -->

<!-- Version: 1.0 -->

<!-- Fecha: 2012-09-24 -->

<!DOCTYPE sip-app PUBLIC "-//Java Community Process//DTD SIP Application

1.0//EN" "http://www.jcp.org/dtd/sip-app_1_0.dtd">

<sip-app>

238

Page 2: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

<servlet>

<servlet-name>Driverbid</servlet-name>

<servlet-class>com.carpooling.DriverbidServlet</servlet-class>

</servlet>

<servlet>

<servlet-name>Passengerbid</servlet-name>

<servlet-class>com.carpooling.PassengerbidServlet</servlet-class>

</servlet>

<servlet>

<servlet-name>User</servlet-name>

<servlet-class>com.carpooling.UserServlet</servlet-class>

</servlet>

<servlet>

<servlet-name>Carpool</servlet-name>

<servlet-class>com.carpooling.CarpoolServlet</servlet-class>

</servlet>

<servlet>

<servlet-name>LocationEnabler</servlet-name>

<servlet-class>com.carpooling.LocationEnabler</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Driverbid</servlet-name>

<pattern>

<and>

<equal>

<var>request.method</var>

<value>MESSAGE</value>

</equal>

<contains>

<var>request.to</var>

<value>driverbid@ericsson</value>

</contains>

</and>

</pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>Passengerbid</servlet-name>

239

Page 3: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<pattern>

<and>

<equal>

<var>request.method</var>

<value>MESSAGE</value>

</equal>

<contains>

<var>request.to</var>

<value>passengerbid@ericsson</value>

</contains>

</and>

</pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>User</servlet-name>

<pattern>

<and>

<equal>

<var>request.method</var>

<value>MESSAGE</value>

</equal>

<contains>

<var>request.to</var>

<value>userprofile@ericsson</value>

</contains>

</and>

</pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>Carpool</servlet-name>

<pattern>

<or>

<and>

<equal>

<var>request.method</var>

<value>MESSAGE</value>

</equal>

<contains>

<var>request.to</var>

240

Page 4: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

<value>carpool@ericsson</value>

</contains>

</and>

<equal>

<var>request.method</var>

<value>NOTIFY</value>

</equal>

</or>

</pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>LocationEnabler</servlet-name>

<pattern>

<or>

<and>

<equal>

<var>request.method</var>

<value>MESSAGE</value>

</equal>

<contains>

<var>request.to</var>

<value>location.ericsson</value>

</contains>

</and>

<equal>

<var>request.method</var>

<value>SUBSCRIBE</value>

</equal>

</or>

</pattern>

</servlet-mapping>

</sip-app>

241

Page 5: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

1.2 package-info.java

//package-info.java

//Autor: Fernando Crespo Gravalos ([email protected])

//Version: 1.0

//Fecha: 2012-09-24

@SipApplication(name="CarpoolingService",displayName="CarpoolingService",dis

tributable=true,mainServlet="Driverbid")

package com.carpooling;

import javax.servlet.sip.annotation.SipApplication;

2 Configuración de cabeceras y base de datos

Con estos dos ficheros mostrados a continuación, hemos querido independizar el valor de las

cabeceras SIP y la ubicación de la Base de Datos del código Java.

2.1 sipheaders.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- Titulo: sipheaders.xml. -->

<!-- Autor: Fernando Crespo Gravalos ([email protected]) -->

<!-- Version: 1.0 -->

<!-- Fecha: 2012-09-24 -->

<headers>

<method message="MESSAGE" subscribe="SUBSCRIBE"

notify="NOTIFY"></method>

<createURI ip_port="127.0.0.1:5082"></createURI>

<user_agent server="Application Server"></user_agent>

<content_type type="text/xml"></content_type>

<p_asserted_id uri="sip:[email protected]"></p_asserted_id>

<event location="location" presence="presence"></event>

<carpool_servlet sipuri="sip:[email protected]"></carpool_servlet>

<location_enabler sipuri="sip:location.ericsson.com"></location_enabler>

</headers>

242

Page 6: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

2.2 dbconfig.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- Titulo: dbconfig.xml -->

<!-- Autor: Fernando Crespo Gravalos ([email protected]) -->

<!-- Version: 1.0 -->

<!-- Fecha: 2012-09-24 -->

<dbaccess>

<url_info url="jdbc:mysql://localhost:3306/carpooldb"></url_info>

<admin_info user="root" password=""></admin_info>

<class_info class_name="com.mysql.jdbc.Driver"></class_info>

</dbaccess>

3 Esquemas XML

En esta sección veremos el contenido de todos los esquemas utilizados para validar el contenido

de los mensajes SIP entrantes en el servidor.

3.1 useraction.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:annotation>

<xs:documentation>

Titulo: usearaction.xsd.

Autor: Fernando Crespo Gravalos ([email protected])

Version: 1.0

Fecha: 2012-09-24

</xs:documentation>

</xs:annotation>

<xs:element name="useraction">

<xs:complexType>

<xs:choice>

<xs:element ref="create_profile" />

<xs:element ref="update_profile" />

<xs:element ref="register_car" />

243

Page 7: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:element ref="update_car" />

<xs:element ref="delete_user" />

<xs:element ref="delete_car" />

<xs:element ref="get_user_profile" />

<xs:element ref="get_user_car" />

<xs:element ref="get_user_statistics" />

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name="create_profile">

<xs:complexType>

<xs:attribute name="photo" type="xs:string" use="optional" />

<xs:attribute name="nick" type="xs:string" use="required" />

<xs:attribute name="country" type="xs:string" use="required" />

<xs:attribute name="lang">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="es"></xs:enumeration>

<xs:enumeration value="en"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="sex" type="xs:string" use="required" />

<xs:attribute name="smoker" type="xs:string" use="required" />

<xs:attribute name="twitter_ID" type="xs:string" use="optional" />

</xs:complexType>

</xs:element>

<xs:element name="update_profile">

<xs:complexType>

<xs:attribute name="photo" type="xs:string" use="optional"/>

<xs:attribute name="nick" type="xs:string" use="optional"/>

<xs:attribute name="country" type="xs:string" use="optional"/>

<xs:attribute name="lang" use="optional">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="es"></xs:enumeration>

<xs:enumeration value="en"></xs:enumeration>

244

Page 8: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="sex" use="optional">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="M"></xs:enumeration>

<xs:enumeration value="F"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="smoker" use="optional">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="YES"></xs:enumeration>

<xs:enumeration value="NO"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="twitter_ID" type="xs:string" use="optional" />

</xs:complexType>

</xs:element>

<xs:element name="register_car">

<xs:complexType>

<xs:attribute name="carplate" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="7"></xs:length>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="vendor" type="xs:string" use="required" />

<xs:attribute name="model" type="xs:string" use="required" />

<xs:attribute name="color" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="Blue"></xs:enumeration>

<xs:enumeration value="Red"></xs:enumeration>

245

Page 9: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:enumeration value="White"></xs:enumeration>

<xs:enumeration value="Yellow"></xs:enumeration>

<xs:enumeration value="Orange"></xs:enumeration>

<xs:enumeration value="Black"></xs:enumeration>

<xs:enumeration value="Grey"></xs:enumeration>

<xs:enumeration value="Green"></xs:enumeration>

<xs:enumeration value="Brown"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="purch_date" use="optional">

<xs:simpleType>

<xs:restriction base="xs:date">

<xs:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|

([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="update_car">

<xs:complexType>

<xs:attribute name="carplate" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="7"></xs:length>

<xs:pattern value="[0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z]">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="vendor" type="xs:string" use="optional" />

<xs:attribute name="model" type="xs:string" use="optional" />

<xs:attribute name="color" use="optional">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="Red"></xs:enumeration>

<xs:enumeration value="Blue"></xs:enumeration>

246

Page 10: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

<xs:enumeration value="Yellow"></xs:enumeration>

<xs:enumeration value="Green"></xs:enumeration>

<xs:enumeration value="Brown"></xs:enumeration>

<xs:enumeration value="Black"></xs:enumeration>

<xs:enumeration value="Grey"></xs:enumeration>

<xs:enumeration value="Orange"></xs:enumeration>

<xs:enumeration value="White"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="purch_date" type="xs:date"></xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="delete_user">

<xs:complexType>

<xs:attribute name="nick" use="required"/>

</xs:complexType>

</xs:element>

<xs:element name="delete_car">

<xs:complexType>

<xs:attribute name="carplate" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="7"></xs:length>

<xs:pattern value="[0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z]">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="get_user_profile">

<xs:complexType>

</xs:complexType>

</xs:element>

<xs:element name="get_user_car">

<xs:complexType>

<xs:attribute name="carplate" use="required">

247

Page 11: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="7"></xs:length>

<xs:pattern value="[0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z]">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="get_user_statistics">

<xs:complexType>

</xs:complexType>

</xs:element>

</xs:schema>

248

Page 12: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

3.2 driverbid.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:annotation>

<xs:documentation>

Titulo: driverbid.xsd.

Autor: Fernando Crespo Gravalos ([email protected])

Version: 1.0

Fecha: 2012-09-24

</xs:documentation>

</xs:annotation>

<xs:element name="driverbid">

<xs:complexType>

<xs:sequence>

<xs:element ref="search_engine"/>

<xs:element ref="route_info" />

<xs:element ref="sched_info" />

<xs:element ref="travel_info" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="search_engine">

<xs:complexType>

<xs:attribute name="type_of_search" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="SIMPLE"></xs:enumeration>

<xs:enumeration value="COMPLETE"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="route_info">

<xs:complexType>

<xs:attribute name="dest" type="xs:string" use="required" />

249

Page 13: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:attribute name="orig" type="xs:string" use="required" />

</xs:complexType>

</xs:element>

<xs:element name="sched_info">

<xs:complexType>

<xs:attribute name="aimed_arriv_time" use="required">

<xs:simpleType>

<xs:restriction base="xs:time">

<xs:minInclusive value="00:00:00"></xs:minInclusive>

<xs:pattern value="(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-

9]+)?">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="dept_time" use="required">

<xs:simpleType>

<xs:restriction base="xs:time">

<xs:minInclusive value="00:00:00"></xs:minInclusive>

<xs:pattern value="(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.

[0-9]+)?">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="dept_date" use="required">

<xs:simpleType>

<xs:restriction base="xs:date">

<xs:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|

([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))">

</xs:pattern>

<xs:minInclusive value="2012-01-01"></xs:minInclusive>

<xs:maxInclusive value="9999-12-31"></xs:maxInclusive>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="travel_info">

250

Page 14: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

<xs:complexType>

<xs:attribute name="n_seats" use="required">

<xs:simpleType>

<xs:restriction base="xs:int">

<xs:pattern value="[0-9]"></xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="n_lugg" use="required">

<xs:simpleType>

<xs:restriction base="xs:int">

<xs:pattern value="[0-9]"></xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="carplate" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="7"></xs:length>

<xs:pattern value="[0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z]">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="smoke" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="2"></xs:length>

<xs:enumeration value="YES"></xs:enumeration>

<xs:enumeration value="NO"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="reputation_req">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="ANY"></xs:enumeration>

<xs:enumeration value="BEGINNER"></xs:enumeration>

251

Page 15: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:enumeration value="AMATEUR"></xs:enumeration>

<xs:enumeration value="PROFESSIONAL"></xs:enumeration>

<xs:enumeration value="ADVANCED"></xs:enumeration>

<xs:enumeration value="EXPERT"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="cost" type="xs:int"></xs:attribute>

</xs:complexType>

</xs:element>

</xs:schema>

252

Page 16: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

3.3 passengerbid.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:annotation>

<xs:documentation>

Titulo: driverbid.xsd.

Autor: Fernando Crespo Gravalos ([email protected])

Version: 1.0

Fecha: 2012-09-24

</xs:documentation>

</xs:annotation>

<xs:element name="driverbid">

<xs:complexType>

<xs:sequence>

<xs:element ref="search_engine"/>

<xs:element ref="route_info" />

<xs:element ref="sched_info" />

<xs:element ref="travel_info" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="search_engine">

<xs:complexType>

<xs:attribute name="type_of_search" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="SIMPLE"></xs:enumeration>

<xs:enumeration value="COMPLETE"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="route_info">

<xs:complexType>

<xs:attribute name="dest" type="xs:string" use="required" />

253

Page 17: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:attribute name="orig" type="xs:string" use="required" />

</xs:complexType>

</xs:element>

<xs:element name="sched_info">

<xs:complexType>

<xs:attribute name="aimed_arriv_time" use="required">

<xs:simpleType>

<xs:restriction base="xs:time">

<xs:minInclusive value="00:00:00"></xs:minInclusive>

<xs:pattern value="(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-

9]+)?">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="dept_time" use="required">

<xs:simpleType>

<xs:restriction base="xs:time">

<xs:minInclusive value="00:00:00"></xs:minInclusive>

<xs:pattern value="(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-

9]+)?">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="dept_date" use="required">

<xs:simpleType>

<xs:restriction base="xs:date">

<xs:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|

([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))">

</xs:pattern>

<xs:minInclusive value="2012-01-01"></xs:minInclusive>

<xs:maxInclusive value="9999-12-31"></xs:maxInclusive>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="travel_info">

254

Page 18: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

<xs:complexType>

<xs:attribute name="n_seats" use="required">

<xs:simpleType>

<xs:restriction base="xs:int">

<xs:pattern value="[0-9]"></xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="n_lugg" use="required">

<xs:simpleType>

<xs:restriction base="xs:int">

<xs:pattern value="[0-9]"></xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="carplate" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="7"></xs:length>

<xs:pattern value="[0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z]">

</xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="smoke" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="2"></xs:length>

<xs:enumeration value="YES"></xs:enumeration>

<xs:enumeration value="NO"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="reputation_req">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="ANY"></xs:enumeration>

<xs:enumeration value="BEGINNER"></xs:enumeration>

255

Page 19: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

<xs:enumeration value="AMATEUR"></xs:enumeration>

<xs:enumeration value="PROFESSIONAL"></xs:enumeration>

<xs:enumeration value="ADVANCED"></xs:enumeration>

<xs:enumeration value="EXPERT"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="cost" type="xs:int"></xs:attribute>

</xs:complexType>

</xs:element>

</xs:schema>

256

Page 20: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

3.4 carpool.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:annotation>

<xs:documentation>

Titulo: carpool.xsd.

Autor: Fernando Crespo Gravalos ([email protected])

Version: 1.0

Fecha: 2012-09-24

</xs:documentation>

</xs:annotation>

<xs:element name="carpool">

<xs:complexType>

<xs:choice>

<xs:element ref="confirm"/>

<xs:element ref="start"/>

<xs:element ref="finish"/>

<xs:element ref="pick_up"/>

<xs:element ref="rate"/>

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name="confirm">

<xs:complexType>

<xs:attribute name="action" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="AGREE"></xs:enumeration>

<xs:enumeration value="REJECT"></xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="id_matched" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="8"></xs:length>

257

Page 21: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="pick_up_time" use="optional">

<xs:simpleType>

<xs:restriction base="xs:time">

<xs:pattern value="(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-

9]+)?">

</xs:pattern>

<xs:minInclusive value="00:00:00"></xs:minInclusive>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="start">

<xs:complexType>

<xs:attribute name="ref_number" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="8"></xs:length>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="finish">

<xs:complexType>

<xs:attribute name="ref_number" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="8"></xs:length>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="pick_up">

<xs:complexType>

258

Page 22: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

<xs:attribute name="ref_number" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="8"></xs:length>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="rate">

<xs:complexType>

<xs:attribute name="ref_number" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="8"></xs:length>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="nick" type="xs:string"></xs:attribute>

<xs:attribute name="score">

<xs:simpleType>

<xs:restriction base="xs:int">

<xs:minInclusive value="0"></xs:minInclusive>

<xs:maxInclusive value="10"></xs:maxInclusive>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:schema>

259

Page 23: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

3.5 publish.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:annotation>

<xs:documentation>

Titulo: publish.xsd.

Autor: Fernando Crespo Gravalos ([email protected])

Version: 1.0

Fecha: 2012-09-24

</xs:documentation>

</xs:annotation>

<xs:element name="publish">

<xs:complexType>

<xs:sequence>

<xs:element name="cp">

<xs:complexType>

<xs:attribute name="ref_number" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:length value="8"></xs:length>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

260

Page 24: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

4 Internacionalización del servicio

En esta sección mostramos a continuación los ficheros de idiomas que contienen mensajes de texto en Inglés y Español.

4.1 Messages_en.properties

###########################################################

#Title: Messages_en.properties #

#Author: Fernando Crespo Gravalos ([email protected]) #

#Version: 1.0 #

#Date: 2012-09-24 #

###########################################################

#User´s actions messages

profile_ok=Your profile was created.

name_err=The nick or the twitterID, already exists.Please, try again.

profile_err=Sorry, you can only have one profile created.

update_user_ok=User data updated.

car_ok=New car registered.

carplate_err=Car plate already exists.Please, try again.

update_car_ok=Car data updated.

user_deleted=User deleted.

car_deleted=Car deleted.

#Driverbid messages

no_passenger_compatible=You will be notified when the system finds a

passenger compatible.

carplate_not_registered=The carplate was not registered. Please, register

the car or try it with other registered carplate.

#Passengerbid messages

no_driver_compatible=You will be notified when the system finds a driver

compatible.

#Carpool closed

cp_completed=Sorry, the carpool has already been completed. You can´t

confirm this matching.

no_space_lugg_d=Sorry, not enough space for luggage. You can´t confirm this

matching.

261

Page 25: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

no_space_lugg_p=Sorry, not enough space for luggage. You can´t confirm this

matching. Please, try it again with less luggage.

#Confirmation

wait_conf=Waiting for the other poleer´s confirmation.

#Carpool created

cp_created=Carpool created.

ref_number=Reference number:

y_nick=Your nick is:

h_nick=His nick is:

p_up_site=Pick up site:

p_up_time=Pick up time:

orig=Origin:

dest=Destination:

sugg_r=Suggested Route:

#Matching rejected

matching=Matching

rejected=rejected

262

Page 26: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

4.2 Messages_es.properties

###########################################################

#Titulo: Messages_es.properties #

#Autor: Fernando Crespo Gravalos ([email protected]) #

#Version: 1.0 #

#Fecha: 2012-09-24 #

###########################################################

#Mensajes de acciones de usuario.

profile_ok=Su perfil fue creado.

name_err=O el nick o el twitterID ya existen. Por favor, intentelo de nuevo.

profile_err=Lo siento, solo puede tener un perfil creado.

update_user_ok=Sus datos de usuario fueron actualizados.

car_ok=Nuevo coche registrado.

carplate_err=Esta matricula ya existe en el sistema. Por favor, intentelo de

nuevo.

update_car_ok=Datos del coche actualizados.

user_deleted=Usuario borrado.

car_deleted=Coche borrado.

#Mensajes de las ofertas de conductor

no_passenger_compatible=Sera avisado cuando se encuentre un pasajero

compatible.

carplate_not_registered=Coche no registrado. Por favor registre el coche o

intentelo con otro coche registrado.

#Mensajes de solicitud de pasajero

no_driver_compatible=Sera avisado cuando se encuentre un conductor

compatible.

#Carpool cerrado

cp_completed=Lo sentimos, el carpool ya se ha completado. No puedes

confirmar este emparejamiento.

no_space_lugg_d=Lo siento, no hay suficiente espacio para mas maletas en su

vehiculo. No puedes confirmar este emparejamiento.

no_space_lugg_p=Lo siento, no hay suficiente espacio para mas maletas. No

puedes confirmar este emparejamiento. Por favor intentelo de nuevo con menos

equipaje.

#Confirmacion

263

Page 27: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

wait_conf=Esperando confirmación del otro participante.

#Carpool creado

cp_created=Carpool creado.

ref_number=Numero de Referencia:

y_nick=Tu nick es:

h_nick=Su nick es:

p_up_site=Punto de recogida:

p_up_time=Hora de recogida:

orig=Origen:

dest=Destino:

sugg_r=Ruta sugerida:

#Emparejamiento rechazado

matching=Emparejamiento

rejected=rechazado

264

Page 28: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

5 Creación de carpooldb

Por último, veremos el contenido del script sql que genera automáticamente la interfaz

phpMyAdmin para la creación de carpooldb en el servidor XAMPP. Así, sólo habrá que importarla

si se traslada a otro servidor.

5.1 carpooldb.sql

-- phpMyAdmin SQL Dump

-- version 3.4.5

-- http://www.phpmyadmin.net

--

-- Servidor: localhost

-- Tiempo de generacion: 16-09-2012 a las 11:40:35

-- Version del servidor: 5.5.16

-- Version de PHP: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

--

-- Base de datos: `carpooldb`

--

-- --------------------------------------------------------

--

-- Estructura de tabla para la tabla `carpool`

--

265

Page 29: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

CREATE TABLE IF NOT EXISTS `carpool` (

`ref_number` varchar(8) NOT NULL,

`uri_d` varchar(60) NOT NULL,

`uri_p` varchar(60) NOT NULL,

`nickD` varchar(20) NOT NULL,

`nickP` varchar(20) NOT NULL,

`origin` varchar(45) NOT NULL,

`destination` varchar(45) NOT NULL,

`pick_up_site` varchar(100) NOT NULL,

`date` date NOT NULL,

`time` time NOT NULL,

`aimed_arrival_time` time NOT NULL,

`pick_up_time` time DEFAULT NULL,

`carplate` varchar(7) NOT NULL,

`cost` int(11) NOT NULL,

`smoke` enum('SI','NO') NOT NULL,

`location_subscription` enum('true','false') NOT NULL DEFAULT 'false',

`started` enum('true','false') NOT NULL DEFAULT 'false',

`passenger_picked_up` enum('true','false') NOT NULL DEFAULT 'false',

`finished` enum('true','false') NOT NULL DEFAULT 'false',

PRIMARY KEY (`uri_d`,`uri_p`,`origin`,`destination`,`date`,`time`),

KEY `fk_CARPOOL_MATCHED1` (`ref_number`),

KEY `uri_p` (`uri_p`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--

-- Estructura de tabla para la tabla `driverbid`

--

CREATE TABLE IF NOT EXISTS `driverbid` (

`id_offer` varchar(8) NOT NULL,

`d_origin` varchar(45) NOT NULL,

`d_dest` varchar(45) NOT NULL,

`d_date` date NOT NULL,

`d_time` time NOT NULL,

`aimed_arrival_time` time NOT NULL,

`offer_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE

266

Page 30: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

CURRENT_TIMESTAMP,

`d_cost` int(11) NOT NULL,

`d_rep_req`

enum('ANY','BEGINNER','AMATEUR','PROFESSIONAL','ADVANCED','EXPERT') NOT

NULL,

`n_seats` int(11) NOT NULL,

`n_luggage` int(11) NOT NULL,

`uri` varchar(60) NOT NULL,

`carplate` varchar(7) NOT NULL,

`smoke` enum('YES','NO') NOT NULL,

PRIMARY KEY (`d_origin`,`d_dest`,`d_date`,`d_time`,`uri`,`carplate`),

UNIQUE KEY `id_offer_UNIQUE` (`id_offer`),

UNIQUE KEY `d_origin` (`d_origin`,`d_dest`,`d_date`,`d_time`,`uri`),

KEY `fk_DRIVERBID_USER1` (`uri`),

KEY `carplate` (`carplate`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--

-- Estructura de tabla para la tabla `matched`

--

CREATE TABLE IF NOT EXISTS `matched` (

`id_matched` varchar(8) NOT NULL,

`id_offer` varchar(8) NOT NULL,

`id_request` varchar(8) NOT NULL,

`driver_agree` enum('true','false') DEFAULT 'false',

`passenger_agree` enum('true','false') DEFAULT 'false',

`pick_up_time` time NOT NULL DEFAULT '00:00:00',

PRIMARY KEY (`id_matched`,`id_offer`,`id_request`),

KEY `id_request` (`id_offer`),

KEY `id_offer` (`id_request`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

267

Page 31: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

--

-- Estructura de tabla para la tabla `operators`

--

CREATE TABLE IF NOT EXISTS `operators` (

`cell_ID` varchar(20) NOT NULL,

`location` varchar(100) NOT NULL,

PRIMARY KEY (`cell_ID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--

-- Estructura de tabla para la tabla `owns_car`

--

CREATE TABLE IF NOT EXISTS `owns_car` (

`carplate` varchar(7) NOT NULL,

`vendor` varchar(10) NOT NULL,

`model` varchar(10) NOT NULL,

`color` varchar(20) NOT NULL,

`purch_date` date DEFAULT NULL,

`USER_uri` varchar(60) NOT NULL,

PRIMARY KEY (`carplate`,`USER_uri`),

UNIQUE KEY `carplate` (`carplate`),

KEY `fk_OWNS_CAR_USER` (`USER_uri`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--

-- Estructura de tabla para la tabla `passengerbid`

--

CREATE TABLE IF NOT EXISTS `passengerbid` (

`id_request` varchar(8) NOT NULL,

268

Page 32: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Anexo II: Ficheros de configuración

`p_origin` varchar(45) NOT NULL,

`p_dest` varchar(45) NOT NULL,

`pick_up_site` varchar(100) NOT NULL,

`p_date_min` date NOT NULL,

`p_date_max` date NOT NULL,

`p_time_min` time NOT NULL,

`p_time_max` time NOT NULL,

`luggage` int(11) NOT NULL,

`p_cost` int(11) NOT NULL,

`p_rep_req`

enum('BEGINNER','AMATEUR','PROFESSIONAL','EXPERT','ANY','ADVANCED') NOT

NULL,

`req_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE

CURRENT_TIMESTAMP,

`USER_uri` varchar(60) NOT NULL,

`smoke` enum('SI','NO') NOT NULL,

PRIMARY KEY

(`p_origin`,`p_dest`,`p_date_min`,`p_date_max`,`p_time_min`,`p_time_max`,`US

ER_uri`),

UNIQUE KEY `id_request_UNIQUE` (`id_request`),

KEY `fk_PASSENGERBID_USER1` (`USER_uri`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--

-- Estructura de tabla para la tabla `user`

--

CREATE TABLE IF NOT EXISTS `user` (

`photo` blob,

`uri` varchar(60) NOT NULL,

`nick` varchar(20) NOT NULL,

`country` varchar(45) NOT NULL,

`lang` enum('en','es') NOT NULL,

`sex` enum('M','F') NOT NULL,

`smoker` enum('YES','NO') NOT NULL,

269

Page 33: Ficheros de Configuraciónbibing.us.es/proyectos/abreproy/12078/fichero/pfc%2Fmemoria_vol1... · Servicio de Coche Compartido basado en el IMS Anexo II Ficheros de Configuración

Servicio de Coche Compartido basado en el IMS

`reputation`

enum('BEGINNER','AMATEUR','PROFESSIONAL','EXPERT','ANY','ADVANCED') NOT

NULL,

`twitter_ID` varchar(20) NOT NULL DEFAULT 'No defined',

`travels` int(11) NOT NULL,

`last_score` int(11) DEFAULT NULL,

`total_score` int(255) NOT NULL DEFAULT '0',

PRIMARY KEY (`uri`,`nick`),

UNIQUE KEY `nick` (`nick`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

270