Posteado por: elcocoenzo | 17/09/2011

Enseñanza Presencial vs Enseñanza a Distancia (online)

Ahora que se acerca el fin de los examenes de Septiembre y la selectividad y es momento de matricularse en alguna carrera para aquellos que empiezan con ilusión unos estudios de Grado, os voy a contar mi experiencia en dos modelos de universidad distintos por si aún estáis en duda sobre dónde apuntaros.

Introducción
¿Cómo es estudiar en ambos tipos de Universidad?
Pros y contras
Mis conclusiones

Introducción

Hace ya unos años terminé una carrera de Ingeniería Técnica en la Universidad de Zaragoza, más concretamente en La Almunia de Doña Godina, en la facultad de la Escuela Universitaria Politécnica la Almunia (EUPLA), que está a 50 km. de Zaragoza en dirección Madrid, por esos tiempos (y ahora también) vivía en casa de mis padres en Zaragoza. Lo que implicaba tener que coger un autobús diario para recorrer 100Kms. diarios para asistir a las clases de la universidad (algunos días íbamos a clase y otros nos quedábamos en la cafetería, pero ya que te habías levantado a las 7.00 para coger el bus lo normal era aprovechar el viaje) y volver luego a casa.

Hace relativamente poco tiempo empecé en otra Universidad con una metodología totalmente distinta a la que conocía, y que para mí ha resultado un fracaso puesto que decidí continuar con la superior de mi Ingeniería Técnica (el segundo ciclo) y me matriculé, ingenuo de mí, en la Universidad Nacional de Estudios a Distancia (UNED), que tiene una gran cantidad de sedes repartidas por las comunidades autónomas, pero lejos de las capitales de provincia para poder potenciar el acceso al estudio de las carreras universitarias y descentralizar la Universidad.

¿Cómo es estudiar en ambos tipos de Universidad?

 

En la presencial, es como un colegio, en reprografía tienes los apuntes o en otras tienes que tomarlos tú cuando el profesor está explicando, te los compras si quieres, y vas a clase si quieres (a no ser que tengas restricción de asistencia obligatoria o asistencia forzada mediante bajar puntuación en la nota final o alguna cuestión del estilo).

En la educación a distancia, ahora que está Internet y más novedoso Web 2.0 se realiza mediante comunidades virtuales o Sistemas interactivos de enseñanza aprendizaje que han evolucionado de manera muy notoria en los últimos años, ejemplos de estos pueden ser Moddle, Blackboard, Desire To learn … donde los profesores cuelgan el material que quieren que usen los estudiantes, suben las fechas de entrega de prácticas, ponen las notas de los exámenes/prácticas, hay un foro en el cual los estudiantes pueden hablar o debatir sobre temas propuestos por el profesorado o por el contrario a elección de los estudiantes (aquí se incluye el preguntar dudas sobre el temario).

En algunas asignaturas te colgaban en la plataforma que fuera los apuntes que tú tenías que descargar e imprimir, o estudiartelos mediante el ordenador, y en otras asignaturas, casi todas, te daban la referencia a uno o dos libros de editorial que cada uno cuesta entre 25€ y 60€, que servirían como base del temario del curso y sobre el que tú te examinarías. Esto implica que primeramente te lo tienes que leer para saber de que va la cosa, luego entenderlo y finalmente estudiarlo, aunque siempre se puede acortar y empezar a estudiarselo sin habérselo leído ni entendido. Y finalmente ir a los parciales (o Septiembre en su defecto) y examinarte de cada una de las materias, porque aquí el «cambio el examen por una práctica que tenéis que entregar» no vale, hay examen en todas las asignaturas, ya sea más o menos fácil, o por lo menos es lo que yo he visto en mi Ingeniería.

Pros y contras

 

Enseñanza presencial

Pros

  • La asimilación del temario es más fácil para el estudiante puesto que se lo explican
  • Las tutorías y explicaciones de conceptos se realizan en persona, que facilita el aprendizaje del concepto
  • Tienes compañeros de clase que te ayudan a estudiar, hacer prácticas, entender conceptos y a tener VIDA SOCIAL
  • Puedes tener exámenes parciales para quitar materia
  • Puede haber una entrega de una práctica en vez de un examen.

Contras

  • A veces la asistencia es obligatoria
Enseñanza a distancia

Pros

  • En teoría al examen llegas mejor preparado porque has tenido un mayor trabajo propio para preparartelo
  • Llevas tu propio ritmo de aprendizaje
  • No hay ítems intermedios hasta el examen final/parcial (esto puede ser un contra puesto que no se asimile parte del temario, de la otra forma con exámenes intermedios se puede ir comprobando el aprendizaje)

Contras

  • El esfuerzo que tienes que invertir como estudiante es mucho mayor que en una presencial.
  • El tiempo necesario para cada asignatura es grande.
  • Las tutorías son a través de email, teléfono o un foro.
  • No conoces, a priori, al resto de tus compañeros, solo tras un foro.
  • Siempre hay un examen, ya sea de desarrollo o de test.
  • Necesitas comprarte cada libro y supone un exceso de dinero en material, a no ser que se pueda conseguir a través de Internet o luego lo puedas revender.
  • Si se necesita academia de refuerzo deberán ser más específicas (por lo menos en Ingeniería)

Mis conclusiones

 


Después de lo expuesto aquí y de mis experiencias vividas, yo me quedo con la enseñanza presencial puesto que es mucho más fácil que la enseñanza online y además uno puede aumentar sus capacidades sociales con las amistades que haga, enriqueciendo su vida y sus experiencias y habilidades con el grupo que se junte. Puesto que al fin y al cabo, los temarios y exámenes son pasajeros y terminas con un título y olvidando gran parte de lo que has aprendido, pero lo que realmente le queda a uno es las experiencias sociales que ha tenido y que ha podido vivir. En el caso que la carrera que se quiere empezar a estudiar no esté en la ciudad donde se vive o no alcance la nota para empezar, yo personalmente me buscaría otra ciudad donde estudiarla y me metería en una residencia de estudiantes antes que hacerla a distancia, creo que sería más fácil, se conocería a más gente y tendrías al alcance todos los medios.

Posteado por: elcocoenzo | 23/08/2011

Encendiendo las luces un verano más

Cada año es distinto, cada año toca hacer cosas nuevas, cada año como entrenador tienes un equipo diferente (aunque sigan casi todos los jugadores), empiezas con ilusión, empiezas pensando que será una gran temporada en la que se harán

canasta baloncesto

las cosas bien y por supuesto cada año tiene su pretemporada en la que te toca encender las luces del pabellón, reactivar a tus mellados jugadores por un verano de excesos en playas, barbacoas, fiestas, vacaciones … y un sin fin de actividades que depara la época estival pero que como entrenador lo tienes asumido y terminas soltando esa sonrisilla pícara mientras ellos empiezan con un físico veraniego a 35ºC a la sombra.

Este año temporal y personalmente dejo la pizarra de 1er entrenador para estar en dos proyectos muy ilusionantes, tocará invertir un sinfín de horas viendo vídeos de rivales, viajando a ciudades/pueblos para competir en las categorías, dejar a un lado la toma crítica en ciertos momentos de los partidos de decisiones difíciles para aconsejar a lo que yo haría en un momento dado y todo ello por un deporte que sin él no tendrían las cosas sentido

Así pues acepté ya en Junio el formar parte como nexo de unión de los dos equipos Séniors de la sección masculina de baloncesto del Stadium Casablanca en el cual uno es estar de ayudante en el 1ra Aragonesa y otro estar de Delegado de Equipo haciendo los scoutings, planificación de viajes, y todo lo que ello implica, con el EBA (enmarcados en el Grupo C, Cataluña y Aragón).

Como siempre salir en una categoría nacional es un proyecto complicado, puesto que se necesita mucho dinero para poder jugar, se está hablando de entorno a los 60.000€ (aprox. 20.000 para la FEB y el resto de sueldos y desplazamientos) anuales teniendo un presupuesto bajo para los 12 jugadores de la plantilla, es por ello que siempre se hace complicado el poder salir sino hay un proyecto económico que te respalde detrás. Y como siempre pasa en este país que se intenta regatear para no pagar, se escucha al principio esos ecos que no gusta a nadie «no hay dinero», «no nos podemos permitir salir» y blablabla, pero al fin y al cabo al propio club le interesa y se termina saliendo cobrando o no la plantilla pero se sale.

Este año es la primera vez que puedo notar en este grupo, puesto que una docena son amigos míos con los que tengo mucha relación desde hace años, que hay una enorme ilusión en jugar esta temporada juntos para hacer un buen año, si se puede y nos dejan los rivales, en la liga.

Todo son ganas, es ilusión, son palabras, gestos, actitudes que se puede denotar en ellos cada día que he estado en la piscina/playa o evento, siempre pensando en la pretemporada, en salir a correr para estar en forma en este inicio (y no morir el primer día). Se les puede ver felices y radiantes ante la idea de salir como grupo que ganó la primera nacional el año pasado (menos 2 que no han seguido y se ha fichado a 3 jugadores para completar la plantilla), que al principio les dijeran que no sabían si iban a cobrar, era un mero trámite, era necesario salir en EBA para poder jugar y forjarse como equipo un año más.

Espero que está ilusión que irradia cada uno de los componentes, que contagia todo aquél que está alrededor, dure toda la temporada y sirva poder divertirse en cada partido el cual vaya bien o mal, para hacer de este grupo un grupo más maravilloso si cabe, y para que sirva de guía conductora a la estabilidad si hay malos momentos deportivos.

pretemporada

Por ello, como equipo más madrugador de la sección se ha iniciado ya la pretemporada,teniendo que encender esas luces del pabellón para poder ver el balón mientras se hace una ligera sesión de tiro después de un intenso físico a 30º dentro del propio pabellón. Aunque siempre hay maneras de cambiar la forma de trabajo y hacerlo un poco más ameno para toda la plantilla, que al fin y al cabo estamos aún en verano y lo que apetece en verano es estar en la piscina y si se puede trabajar lo mismo o mejor, pues bienvenido sea.

Estoy seguro que desde la dirección deportiva del equipo se hace todo lo posible para llevar al grupo, como mínimo a la salvación (y a partir de ahí a donde se pueda). Por mi parte tocará desempolvar el manual de usuario del Final Cut Xpress para realizar los cortes a los vídeos de los rivales (por ahora me tendré que conformar con lo que hay colgado en youtube para ir tomando contacto.

El 17 de Septiembre echa a rodar nuestra liga, a nosotros no nos ha afectado ni el Lockout de la ñBA ni la huelga de la LFP, por lo cual nos tocará recibir en nuestro partido de presentación en liga al ENINTER-C.B. SANTFELIUENC(3ros a final de temporada). Esperemos que aunque será un partido complicado poder deleitar a nuestros aficionados con una victoria.

Mucha suerte compañeros en esta nueva temporada, mis mejores deseos para nuestro equipo:

A. Abián

J. Alcalá

D. Calvo

G. Colom

I. Delgado

C. Hidalgo

R. Nayas

P. Regueiro

A. Olivan

J. Olivan

J. Rocafort

A. Sanz

(1ro) J.C. Villanueva

(Ayu) J. Falcón

(Del) I. Elorriaga

(Prep. Físico) Aitor

pretemporada
Posteado por: elcocoenzo | 09/05/2011

Diseño Web con Google Sites

En el Máster de profesorado me pidieron que impartiera la Unidad Didáctica de Diseño de Páginas Web en 3ro y 4to de la ESO, por lo que pude ver previamente a empezarla como era cada grupo y decidí que con los primeros emplearía Google Sites, puesto que tenía solo tres clases y no se les veía tan avispados que 4to, y con los mayores codificación HTML + CSS (siguiente post que escriba será sobre esto).

Así pues os dejo un tutorial, que me hice para saber que puntos tratar en clase, que seguramente haya a patadas pero prefería ese toque personal, aunque no los expliqué todos puesto que había que experimentar la Competencia de Aprender a Aprender y la del Autoaprendizaje para que fueran ellos quienes experimentaran:

1. Registro

1.1. Darse de Alta en Google Sites

El primer paso de todos es darse de alta en la herramienta de Google, para ello primero se debe ir o bien en las opciones que hay en la parte superior primero a “Más” y luego a “Sites” o bien acceder a la URL : http://sites.google.com/ y a partir de ahí en la parte izquierda se puede observar dos tipos de registro:
• Con una cuenta de Google asociada
• O con cualquier otra cuenta de correo (Hotmail, Yahoo, AOL, …), que es la parte que se puede ver como “Registrarse en Sites”

PantInicio

La 1ra opción será para aquellos que tengan asignada una cuenta de Google o una vez que se hayan dado de alta con otra cuenta distinta a @gmail.com puedan acceder con ella.
Para la 2da opción se tiene la siguiente pantalla:
• Dirección de correo electrónico actual (E-mail al que se asociará la cuenta de Google Sites)
• Contraseña: será la requerida para acceder a Google Sites (no tiene porque ser igual a la del correo, de hecho es mejor que no se parezca en nada)
• Verificación de la palabra: Palabra Captcha que usa Google para ver que no eres un Robot

1.2. Confirmación de la cuenta

Una vez aceptado el formulario. Se procederá a la página de Confirmación de creación de cuenta y se deberá hacer clic en el enlace “Haga clic aquí para continuar” que está abajo del todo y se habrá enviado un correo a esa cuenta que se acaba de dar, por ello será necesario entrar en el email y el email que te envía account-verification-noreply @ google.com con Asunto: Verificación de correo electrónico de Google tendrá dentro un enlace a una página web en la segunda línea del cuerpo del mensaje del email, algo parecido a esto:

Te damos la bienvenida a Cuentas de Google. Para activar tu cuenta y verificar tu dirección de correo electrónico, haz clic en el siguiente enlace:

https://www.google.com/accounts/VE?service=jotspot&c=CLiz9Yaun-T4_wEQFvFvr5L22vFFTAF&hl=es

Y una vez que se haya hecho clic te envía a una página de confirmación, donde habrá un enlace con el texto “Haga clic aquí para continuar” abajo. Al haber clicado ahí te envía a está página donde habrá que hacer clic en el botón “CREAR SITIO” :

1.   Creación del sitio web

1.1. Datos del sitio

Una vez dentro, saldrá un primer formulario como este, donde habrá que indicar:

  • El nombre de tu sitio Web (como se titulará)
  • El nombre de la URL que tendrá (el que se podrá ver en la dirección web del sitio)
  • El tema (diseño) que quieras que tenga
  • La descripción de tu sitio
  • Un captcha como verificación


1.2. Página principal

Al ingresar las opciones y que el nombre URL no coincida con ningún otro existente se hará clic en el botón “Crear Sitio” que nos enviará a la página de inicio de tu propio sitio web :

paginaPrincipal

La cual se divide en tres partes:

  • La parte Superior.
  • La parte del menú Izquierdo.
  • La parte Central.

La parte Central:

Será donde irá el contenido de cada página del sitio web, editable desde la parte superior.

La parte Izquierda:

Será donde se sitúa el menú del sitio web (para acceder a las distintas páginas que un usuario podrá ver cuando acceda a él), y donde se podrán añadir Gadchets para el sitio, así como tiene un enlace que será visible sólo sí estamos dados de alta con nuestra cuenta para acceder a las opciones del sitio, que es el enlace “Editar Barra lateral” y cumple la misma función que el botón “Más opciones” de la parte superior

La parte Superior:

Será desde donde se podrá:

  • crear una página al sitio (con el Botón “Crear Página”)
  • Editar la página en la que se esté (con el Botón “Editar Página”)
  • Y el Botón “Mas acciones” con el cual se podrá acceder a todas las opciones del sitio Web, como son:
  • Editar el Contenido del sitio
    • Actividad reciente del sitio
    • Páginas
    • Archivos adjuntos
    • Plantillas de páginas
    • Secuencias de comandos de Apps
    • Elementos eliminados
    • Editar la Configuración del sitio
      • General
      • Compartir este sitio
      • Obtener ingresos
      • Dirección web
      • Editar la Apariencia del sitio
        • Presentación del sitio
        • Colores y fuentes
        • Temas

1.3. Crear una página nueva

Para ello será suficiente con pulsar el botón que hay en el marco superior de “Crear página” y saltará al siguiente formulario donde habrá que poner:

NuevaPagina

  • El nombre que tendrá esa página
  • En que nivel estará contenido, servirá para hacer subpáginas (por ejemplo si se tiene un menú que sea “Unidades Didácticas” y se quiere crear la página “Tema 1 – Arquitectura de Ordenadores” para introducirla dentro de “Unidades Didacticas” y no sobre “Página Principal
  • El tipo de plantilla para esa página (a elegir entre los cuatro posibles), este resumen de las posibles tipos de páginas ha sido sacado de la ayuda de Google:
  • Página web, Una página web es el tipo de página más simple. Permite escribir texto, insertar gadgets y disponer el contenido de la forma que quieras. La página web incluye controles de formato estándar como negritacursivasubrayado, viñetas, etc. Puedes adjuntar documentos del disco duro de tu ordenador en la parte inferior de la página y permitir que otros colaboradores del sitio comenten tus páginas. Google Sites guarda periódicamente las versiones de tu página a medida que la modificas, por lo que es muy fácil volver a las versiones anteriores para comparar y deshacer cambios.
  • Anuncios, de forma parecida a los blogs, las páginas de la plantilla Anuncios muestran entradas que has publicado en la página en orden cronológico, comenzando por la más reciente. Por ejemplo, una página de anuncios es la mejor forma de llevar un registro de las notas de las reuniones semanales; así se tiene acceso rápido a la información más reciente.
anuncio

anuncio

Esta será la página que se mostrará si se crea con una plantilla de “Anuncios” con el nombre de “MisAnuncios”, y si se quiere insertar una nueva entrada se deberá pulsar el botón “Nueva Entrada” el cual llevará a una página para realizar una entrada nueva en los anuncios que se realicen:


  • Archivador, las páginas de la plantilla Archivador te permiten almacenar y organizar los archivos del disco duro de tu ordenador. Es una forma de compartir fácilmente los archivos con otros usuarios del sitio. Cada vez que se añadan, se cambien o se eliminen archivos, se notificará debidamente a los usuarios que estén suscritos a la página.

Esta será la página que se creará si se selecciona un tipo de plantilla de tipo “Archivador”:

  • Página de lista, este tipo de plantilla permite crear y organizar listas de información. Es muy fácil añadir elementos a las listas, así como modificarlos y eliminarlos. Los lectores de la lista pueden ordenarlos por cualquiera de las columnas. Como ocurre con las páginas de la plantilla Archivador, se notifica a los suscriptores cada vez que se añadan, se cambien o se eliminen elementos.

Y esta será la página que se cree si se selecciona una plantilla de tipo “Lista”:

Al pulsar sobre el botón “Crear Página” nos redireccionará al modo de edición de esa página que se acaba de crear, quedando dividida la página en cuatro partes:

  • El marco, o parte, superior.
  • El marco Izquierdo,
  • El marco central
  • El marco inferior.

El marco central

Será donde esté situada la zona de edición del contenido de esta página.

Al haber creado una página nueva, salen dos recuadros, uno estrecho y alargado que se referirá al título que tenga esa página y otro más ancho e igual de largo que el anterior, que será donde vaya el contenido de la página.

El marco izquierdo

 Será donde esté situada el menú de navegación del sitio, con la lista de las páginas disponibles y los gadchets que se tengan. No es editable en esta ocasión.

El marco inferior

 Desde aquí se podrán subir los documentos relacionados que tenga esta página web o añadir los comentarios pertinentes.

El marco superior

Desde aquí se tendrá la opción de guardar el contenido que se ha introducido o el de cancelarlo, mediante los botones de “Guardar” y “Cancelar” que hay en la parte superior derecha.

Nota: Siempre que se cree o modifique una página se deberá pulsar el botón de guardar, sino se perderán los cambios introducidos.

Luego están dos partes más, una que son cuatro menús desplegables desde donde se podrá editar la información de la página:

1.3.1.     Menú Insertar

Donde se podrá insertar cualquier tipo de elemento, se agrupan por tipo:

De donde se destacará como insertar una imagen y un enlace, el resto es igual que estos pero cambiando el contenido a añadir, muy intuitivo todo. Depende de la necesidad que se tenga para insertar un tipo u otro de datos.

1.3.1.1.         Insertar una Imagen

Hay dos opciones de insertar una imagen:

  • Desde nuestro ordenador, después de buscarla en el ordenador la subirá a nuestro sitio y siempre que se muestre accederá a ella para enseñarla
  • Desde un sitio web externo, no estará en nuestro sitio (y por lo tanto no ocupará espacio) y siempre que se quiera mostrar se accederá al servidor donde está alojado para enseñarla

1.3.1.2.         Insertar un enlace

Nos mostrará esta página desde la cual se podrá crear un enlace de tres maneras posibles:

  • a una página de nuestro propio sitio, donde en la parte de debajo del cuadro de texto y el botón “buscar páginas” sale el listado de las páginas disponibles
  • a una dirección web externa a nuestro sitio, “Dirección Web”, incluso si es un enlace a una dirección de correo. Donde en el único recuadro disponible se insertará la URL del sitio (http://www…) o la dirección de correo que se desee. Se acepta con el botón de abajo a la izquierda y se verá en la parte central con el estilo http:// … y subrayado.
  • mediante un script que se tenga creado

1.3.2.     Menú Formato

Con un texto de la página seleccionado se le cambiará el formato al que se quiera del siguiente menú:

1.3.3.         Menú Tabla

Todo lo referente a las tablas:

1.3.4.         Menú Diseño

Referente al diseño del sitio web, para añadir columnas o quitar, o cambiar de posición la barra lateral.


1.4.  Editar una página

Para editar una página existente será suficiente con pulsar el botón de “Editar página” situado arriba a la derecha, el cual nos llevará al formato de edición de la página que se acaba de mostrar en el punto anterior 2.3 Crear una página por lo que las funciones de edición serán las mismas que las de crear una página nueva, a diferencia que aquí se modificará el contenido de una página pero frontal de edición es el mismo, con sus cuatro partes ya descritas.


2.   Opciones del sitio

Todas las opciones editables del sitio web estarán dividas en tres grupos los cuales son bastante intuitivos, si se desea editar alguna opción de un documento o de un archivo en concreto o cambiar la plantilla estará todo agrupado en Contenido del sitio.

Si se desea cambiar la información sobre el sitio o cualquier otra operación de datos sobre el global, se agrupa en Configuración del sitio, puesto que si se desea editar el estilo o diseño, todas esas operaciones irán sobre Apariencia del sitio.

De igual manera que al añadir una página, se recuerda que antes de salir de aquí se deberán guardar los cambios realizados con el botón “Guardar cambios” situado arriba a la derecha del menú lateral.

A continuación reseñamos con imágenes los más destacables, puesto que casi todos son inmediatos su uso o triviales.

2.1. Contenido del sitio

2.1.1.     Actividad Reciente del sitio

Últimos movimientos que se han realizado, añadir una página, editarla, darla de baja …

2.1.2.     Páginas

Listado de las páginas que tiene el sitio web. Se puede visualizar en forma de árbol o en lista. Si una página se arrastra sobre otra, esta cambiará y ahora dependerá de la página sobre la que se haya arrastrado (subpágina)

2.1.3.     Archivos Adjuntos

Listado de los documentos que están disponibles en el sitio web. Desde aquí también se puede subir, mover , cambiar el nombre o eliminar cualquier archivo.

2.1.4.     Plantillas de Páginas

Desde aquí se podrán ver las cuatro plantillas de páginas que hay por defecto, así como crear tu propia plantilla para páginas.

2.1.5.     Secuencias de Comandos de Apps

Desde aquí se podrá crear un script (en el lenguaje de JavaScript) como secuencia de comandos para alguna acción que se quiera realizar.

2.1.6.     Elementos Eliminados

Funciona a modo de “Papelera de reciclaje” donde se puede Recuperar la página o eliminarla de forma permanente.

2.2. Configuración del Sitio

2.2.1.     General

Desde aquí se podrá cambiar la información general del sitio:

  • Nombre del sitio
  • Descripción
  • si es contenido para adultos,
  • la página de inicio que se mostrará cuando un usuario abra la URL,
  • añadir un tag de verificación de Google (empleado para posicionamiento de Webs)
  • Cambiar el Idioma del sitio
  • Cambiar el tipo de configuración de acceso
  • Realizar acciones como:
    • Copiar este sitio a otro (todo el contenido que se tiene en este sitio web se copia y se crea otro nombre de sitio y se aloja ahí)
    • Publicar en el directorio de Google tu sitio como una plantilla
    • Eliminar definitivamente este sitio web y que deje de existir.

2.2.2.     Compartir este sitio

Saltará una ventana con la que se podrá añadir nombres o direcciones de correo a las que se enviará tu dirección URL para que la visiten o sepan de su existencia

2.2.3.     Obtener ingresos

Se trata de añadir Anuncios “Ad-sense” (publicidad de Google) en tu sitio para poder tener beneficios económicos

2.2.4.     Dirección Web

Mostrará la dirección URL de tu sitio web, así como la posibilidad de añadir alguna dirección más.

2.3. Apariencia del Sitio

2.3.1.     Presentación del sitio

Desde aquí se podrá modificar:

  • el tamaño de la cabecera y su alineación.

Desde estas opciones el ancho del sitio que ocupará es preferible dejarlo como “predeterminado” puesto que sino dependerá del tamaño que se ponga se visualizará más o menos grande según el navegador que use la persona que lo esté visualizando.

La cabecera se puede cambiar el tamaño y su alineación por una determinada.

La barra de navegación horizontal es como una barra de menú lateral, solo que esta se situará sobre el contenido de cada página y ahí se podrá mostrar las páginas que uno desee. Al hacer clic en la opción y aceptar, aparecerá el siguiente menú:

Si se pulsa el enlace se mostrará:

donde se podrán añadir las páginas que se deseen si se pulsa “Añadir página” o “Añadir URL” (página externa a nuestro sitio) y se podrán ordenar como nosotros deseemos.

Asimismo podremos darle el estilo que se quiera, que se muestren con cuadros o como pestañas o como simples enlaces.

  • el logotipo que haya (imagen que se muestra en diversas páginas en la parte superior, normalmente suele estar centrada al resto del documento.
  • el contenido que haya en la barra lateral además de poder añadir nuevos gadchets al menú lateral.

Si se hace clic sobre el “editar” de “Navegación”

se podrá cambiar:

  • el titulo que aparezca
  • Tener, o no, organizadas las páginas que se muestren en el menú lateral (si hay subpáginas, …)
  • Definir el nivel de niveles que se mostrarán
  • Añadir un enlace en el menú lateral al sitemap y/o a la actividad reciente.

2.3.2.     Colores y fuentes

Desde esta opción se podrá modificar cada color que se esté empleando para cada elemento, por citar (puesto que es una retahíla muy larga):

  • Cambiar la fuente del contenido
  • Cambiar el tamaño de la fuente del contenido
  • Cambiar el color de texto del contenido
  • Cambiar la fuente del titulo del contenido
  • Cambiar el color de fondo de la cabecera lateral
  • ….

2.3.3.     Temas

Desde esta opción se podrá modificar el tema que se ha empleado (tipo de color e imágenes asociadas al fondo), dependiendo del objetivo que se desee usar el sitio web interesará el uso de uno u otro.

Puesto que en el deporte hay tanta diversidad de categorías, empezaré aclarando que me refiero sobre todo a las categorías de formación, que es donde los chicos son más volubles Es sabido por todos que la práctica de un deporte, colectivo o individual, mejora muchos aspectos psicológicos, sociales y físicos de la persona que lo practica.
Algunos ejemplos de ventajas que aportan en el físico del que lo practica son: (sacado de puntofape.com):

1. Un cuerpo más delgado
Si te mantienes activo físicamente te resultará más fácil bajar de peso y mantenerlo. La actividad física es la clave para un peso saludable.
2. Un estilo de vida activo protege la salud
Disminuye el riesgo de sufrir enfermedad cardíaca, presión arterial alta, niveles elevados de colesterol en sangre y algunos tipos de cáncer, se reducen mucho si dedicas treinta minutos por día a la actividad física, cuatro o más veces por semana.
3. Huesos más fuertes
Esto disminuye el riesgo de sufrir fracturas y en última instancia baja el riesgo de osteoporosis.
4. Músculos más fuertes
Las actividades de fuerza, como levantar pesas o usar máquinas por lo menos dos veces por semana, ayudan al desarrollo muscular y a fortalecer el corazón.
5. Más resistencia
Cuando se tiene un buen estado físico, el cansancio es menor y también se tiene mayor energía durante el día.
6. Disminuye el estrés y mejora el sueño
Permite una mayor relajación y una menor tensión nerviosa lo que ayuda a dormir mejor.
7. Mejor coordinación y flexibilidad
El cuerpo se mueve con más elasticidad permitiendo un nivel más amplio de estiramiento o elongación.

Entre otros cientos de mejoras físicas que se pueden encontrar navegando un poco por internet, no es cuestión de citarlas.

Además, solo por el mero hecho de estar practicando un deporte colectivo el propio jugador aprende una serie de valores propios, que sino es capaz de autoadquirirlos ahí es donde estamos los entrenadores, como pueden ser el compañerismo, compartir, ayudar a los demás, saber convivir en grupo, integrarse en una mini sociedad, etc … y más allá de esos valores que se adquieren de manera automática, están esos peligrosos valores como el ganar y la competitividad (e implícitamente el respeto al rival), porque a veces a algunos entrenadores se les olvida que están tratando con niños pequeños que a ellos realmente el ganar o perder les es lo de menos o si les importa es hasta la hora de la siesta y luego ya se olvidan porque se ponen a jugar a la Wii o a la PlayStation o …


Foto tomada de ZonaBasket

¿Qué sentido tiene para la formación de los chavales de las categorías base que se bajen (sisi, bajar del equipo A al B o al C) 2/3/4 jugadores/as buenos para que ese equipo que está en B o C pueda ganar uno/dos/tres partidos más que sin ellos no podrían? ¿No sería mejor dejar el ego ganador innato que se tiene como jugador/entrenador de ganador dentro y perder los partidos que fueran necesarios para que los chavales aprendan que tienen que esforzarse más en los entrenamientos o que tienen que mejorar ciertos aspectos para que así puedan ver por sus propios ojos como si ellos se esfuerzan para realizar una acción tiene su recompensa? A más a más cuando se supone, o por lo menos es lo que me enseñaron en los dos cursos de entrenador que llevo hechos, que se debería tener en cuenta que lo realmente importante es la progresión del propio jugador, a largo plazo, no el ganar y/o quedar en la parte alta de la clasificación final (A no ser que se esté en una liga escolar de competición como las que dan acceso a cto. de españa y se tenga posibilidades de entrar, pero al fin y al cabo sigue siendo formación.

Puesto que no tiene sentido que a esas edades se les baje o se les haga jugar 2-3 partidos con diferentes equipos (y llevarlos de un lado para otro) porque son mejores que otros de sus compañeros, ¿qué valore le estás transmitiendo al jugador? ¿Qué valores, indirectos, le estás transmitiendo al equipo contrario?¿No es mejor que se dedique más esfuerzo a lo largo de la semana para que ellos hagan aquello que les conviene y que está planificado que hagan a lo largo de un microciclo (o al menos debería estar planificado)?

Dejemos a los integrantes de cada equipo juntos para que se formen como personas, para que mejoren juntos, para que vean sus propios progresos, para que se DIVIERTAN (puesto que al fin y al cabo son niños y deben pasarlo bien, a poder ser con sus compañeros de clase), que ya llegará la edad (editado, gracias a ja! por su comentario 😉 si sólo sí el propio jugador quiere marcharse por los motivos que sean ) en que se separe de sus compañeros de clase y se vaya a un colegio / club mejor porque es mejor que sus compañeros, fomentemos la consecución de objetivos con el esfuerzo propio y no con la inyección externa de mejoras.
Se debería dejar atrás esa droga llamada competitividad y fomentar el juego limpio del baloncesto con todos los buenos valores transversales que contiene este sano deporte, ahora bien, esto es utópico y cada uno tiene su forma de pensar y le interesará una u otra opción. Y tú de que lado estás ¿formación o competición en benjamines / alevines ?

Posteado por: elcocoenzo | 04/01/2011

Seleccion Aragonesa en el Cto España de Cordoba

Bueno pues este año nuevo del 2011, entre bromas me caes muy bien, has empiezado en Sábado, nos trae ya la primera semana unas intensas jornadas de baloncesto para empezar bien la temporada.
Nuestras selecciones Infantiles y Cadetes, están ahora mismo en Córdoba (ciudad preciosa donde las haya, por cierto), disputando el campeonato de españa de comunidades. Torneo que empezó el 3 de Enero y que se extiende hasta el 9, que suerte tienen estos colegiales que se perderán el lunes 10 de clase pero por contra tendrán que abrir los regalos de los reyes magos en el hotel, espero que les dejen estar al lado de sus familias.
Ojala pudiera estar a pie de pista o banquillo animando (y así poder poner un mejor resumen del partido) o porque no, dirigiendo los encuentros, algún año estaré ahí.
Bueno al tema interesante de los partidos. Hoy Martes 4, nuestras queridas selecciones Cadetes e Infantiles ya han disputado sus primeros partidos:
Las fotos son las que tiene la FAB colgadas en su web, si hubiera de esta temporada las pondría.

Infantil Femenino 2009 – 2010:
FemeninoInfantil

Aragón vs Castilla La Mancha 52 – 70 por lo que puedo leer de las estadísticas a primera vista hay algo mal, es que Aragón no ha terminado con ventaja en el marcador. Pero lo realmente importante es que se les ha debido escapar el partido sobre todo en el último cuarto puesto que han tenido un parcial de 5 – 20 en contra. En la primera parte por lo que parece ser han terminado 5 ptos arriba con un parcial de 37 – 32, y en la segunda parte en el tercer cuarto nos lo han ganado de 8, terminando el cuarto con un 47 – 50.
Como buen papel hecho por las nuestras de Miriam Navarro, terminando con 9 ptos (máxima anotadora) y 11 rebotes obteniendo una valoracion de +17 y Sonia Trujillano, con un +6.

una pena este inicio de Campeonato, seguro que en próximos encuentros tenemos más suerte con las chicas de Jorge Serna.
Próximo mañana Miércoles a las 16:00 contra Madrid (¿Complicado? Mañana lo veremos!!! Ánimo)

Infantil Masculino 2009 – 2010:
MascInfantil

Aragón vs Ceuta 55 -5, facil inicio para los chicos de Perez, un equipo flojo que solo pudo oponer resistencia en el primer cuarto, segun se puede ver de sus estadísticas. Ya tuve oportunidad de ver de primera mano el Campeonato del año pasado en mi ciudad y hablando con el seleccionador recuerdo que nos dijo «estamos aquí para que los chavales se diviertan y aprendan», espero que les sirva para crecer como jugadores y que aprovechen estas oportunidades los chavales.
Ánimo con el resto de partidos chicos!!!
Próximo mañana Miércoles a las 10:00 contra Navarra (¿Complicado? Mañana lo veremos!!! Ánimo)
Cadete Femenino 2009 – 2010:
FemCadete

Canarias vs. Aragón 77 – 50, una pena para el inicio de nuestras chicas, por lo que se puede ver, en nuestros 2do y 3er cuartos metiendo 7 puntos en cada uno, suele ser complicado ganar un partido y más si estas en un campeonato de España.
Se sale bien, centradas y haciendo el buen papel de jugar y terminando ganando con un 19 – 21, que no es una diferencia significante, pero en el segundo cuarto Canarias consigue irse hasta los 42 puntos y nosotros alcanzamos los 28 puntos (un -14), que no debería ser preocupante, son 14 ptos factible de remontar en dos cuartos. Pero una mala salida de cuarto en el 3ro, les sitúa a Canarias en 59 puntos mientras que Aragón consigue llegar solo a los 38 puntos y finalmente para terminar el partido con un 77 – 50 (parcial igualado de 18 – 15). Seguro que para el siguiente si al descanso salimos centrados, se gana!!!
De nuestras chicas Carolina Esparcia, que termina con 11 puntos, 4 recuperaciones y un total de 13 de valoración. Y Rebeca Navarro con 8 puntos, 4 rebotes y un total de 8 de valoración.
Próximo mañana Miércoles a las 12:00 contra C. Valenciana (¿Complicado? Mañana lo veremos!!! Ánimo)

Masc. Cadete 2009 – 2010:
MasCadete

Cadete Masculino:
Aragón vs. Galicia 47 – 63
Por lo que me ha podido comentar un buen amigo mío, que entrené durante dos años, Diego Alvarado, el cual lo tenemos por esas tierras viendo el torneo, nada más empezar les han corrido mucho al contrataque y se han puesto 8 arriba.luego no han corrido tanto pero un «gallego» de raza negra ha metido la vida…saltaba por encima de todos palmeando bastantes rebotes. Aragón ha tenido muy mala suerte en el tiro…y han ido a remolque todo el partido no despegándose de más de 6 – 8 puntos…hasta que en el tercer cuarto se han ido de 14…y así hasta el final.
Sus parciales según dice las estadísticas :(11-14, 10-20, 15-12, 11-17)
Ánimo Beto && Charly!!!

Próximo mañana Miércoles a las 12:00 contra Madrid (Complicado, Ánimo)

Toda la información se puede consultar en la web oficial del torneo.

Posteado por: elcocoenzo | 15/12/2010

Aplicaciones para móviles (y mi primera aplicación)

Para parece ser que este mundo vuelve a cambiar con los nuevos sistemas operativos para telefonía móvil, desde hace ya unos meses cuando un buen amigo con el que he compartido toda la carrera universitaria, y del cual he aprendido un montón de cosas, incluso la pasión por programar en Java, me dejó perplejo con la frase que me soltó «Java ha muerto, a partir de ahora aprende a programar para iPhone o para Android«, para mi que Java era mi pilar básico de lenguaje de programación (después de haber estado tuteándome con VisualBasic.NET y C/C++) se cayó un mito para mí, pero al poco comprendí que tenía razón el jodio, algo normal teniendo en cuenta que se dedica al desarrollo de eso y sabe que es lo que está en la onda y lo que no, al fin y al cabo, tome ya la decisión hace más de un año de no seguir la mala (o buena) vida de Informático y dedicarme al mundo de la Educación, por lo que a partir de entonces las aplicaciones que hago son por gusto propio y por facilitarme mi vida, por ahora deportivamente para la gestión de clubs y la toma de las estadísticas en pleno partido como Ayudante de entrenador o Delegado de Equipo, en un corto plazo haré traspasaré la aplicación que tengo para PC de llevar estadísticas a Android y algo para facilitarme cosillas del día a día de profesor.

Por lo que a partir de entonces decidí, hace aproximadamente un mes, aprender a programar en Android y en Objective-C, Android por su casi semejanza a Java y me resulta mucho más fácil su comprensión y por lo tanto mi curva de aprendizaje es mayor, aunque ahora mismo no poseo un móvil con Sistema Android, y tonto fuí de no haber pedido hace 2 meses a mi compañía un Samsung Galaxy que llevaría Android … y aquí dejo mi primera aplicación para el que le interese o le sea útil.

Poker Timer

Como aficionado al Poker en las reuniones de sábado noche, previas a salir por la ciudad, muchas veces empezamos a echar un Poker entre los amigos y siempre tenemos el problema que o no nos acordamos del tiempo que llevamos con la misma apuesta mínima o se nos pasa el tiempo máximo por apuesta, y tenemos rondas larguísimas, por ello decidí hacer una aplicacioncilla que lleve la cuenta atrás del tiempo que te queda y vibre cuando llega al fin, a la vez que indique las apuestas mínimas.

la he subido como JPG (porque solo se pueden subir imágenes o documentos de Word/Excell), cambiable la extensión a ZIP y lo descomprimes donde quieras

Descargar

Y espero comentarios (buenos y malos pero razonados! que hay que mejorar todo lo que se pueda)

Un saludo!!!

Todo WS es el envío en texto plano de datos en el estándar XML, como ya se ha podido ver.
El problema reside en el momento en que se están enviando datos sensibles de un servidor a otro, como DNI’s, Cuentas Bancarias, contraseñas, … Puesto que el protocolo HTTP es fácilmente observable a terceras personas que esténobservando la red con los medios determinados.

Por ello es bueno incluir seguridad en los WS, de manera rápida y sencilla, aunque a veces no es trivial y da más de un quebradero de cabeza.

Con WS-Security se está firmando o bien la cabecera del mensaje SOAP o bien el cuerpo o bien el Envelope SOAPentero, mediante algún tipo de procedimiento de esta manera se está asegurando la integridad del mensaje, del emisor y del receptor y sí hay algún cambio en el Mensaje al ir firmado con una clave privada dará un error en el receptor, por ejemplo:

  • Mediante Usuario y contraseña
  • Mediante Certificado (soporta certificados X509 y rutas de certificados)
  • Mediante el TimeStamp
  • Combinación de estos anteriores.

WS-Security no es más que la implementación del estándar de OASIS Web Services Security TC, con lo cual está implementando los siguientes estándares:

«Teóricamente» WS-Security no es más que añadir tres JARs a la librería del proyecto, añadir al root del classpath un archivo WSDD(client-config.wsdd), editar el server-config.wsdd y en la parte del cliente del WS añadir un EngineConfiguration.
Y digo teóricamente, porque luego siempre hay algún problema con las firmas.

Implementación de WS-Security (Para Axis 1.x)

Requisitos Previos

1.-Servidor Apache Tomcat (Parte II del artículo de WS)

2.- Servlet Axis (Parte II del artículo de WS)

3.- WSS4j

4.- XML Security

Clases a Implementar

Será necesario implementar la clase PWCallback o al menos crear una clase que la sobreescriba(se puede también utilizar la que viene por defecto en wss4j, pero no es aconsejable). Por ello se crea una tal que:

package com.charlybro.example.ws.security;
import java.io.IOException;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import org.apache.ws.security.WSPasswordCallback;

public class PWCallback implements CallbackHandler {
public void handle(Callback[] callbacks) throws IOException,     UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof WSPasswordCallback) {
            WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
            // set the password given a username
            if ("charlybro".equals(pc.getIdentifer())) {
                pc.setPassword("security");
            }
        } else {
            throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback");
        }
    }
}
}

Archivos de Configuración

Edición del server-config.wsdd

En el lado del servidor habrá que editar el archivo de configuración de los WS, para indicarle que WS van a llevar seguridad integrada, añadiendo un simple tag de requestFlow para las peticiones de los clientes:

<service name="Bienvenido" provider="java:RPC">
    <requestFlow>
           <handler     type="java:org.apache.ws.axis.security.WSDoAllReceiver">
            <parameter name="passwordCallbackClass" value="com.charlybro.example.ws.security.PWServerCallback"/>
            <parameter name="action" value="UsernameToken"/>
           </handler>
      </requestFlow>
      [...]
</service>

Como se puede observar sólo es necesario añadir un handler, org.apache.ws.axis.security.WSDoAllReceiver, para el manejo de la seguridad en el Servidor, en este caso se establecerá con Usuario y contraseña.(debe ser consistente entre el usuario que se pone en el PWCallback y el del server-config.wsddclient-config.wsdd)

client-config.wsdd
Estará colocado en el directorio raíz del classpath del proyecto que se tenga. servirá para que el cliente sepa enviar una petición al servidor indicando que incluye cabeceras de seguridad.

Un ejemplo del mismo puede ser:

<deployment xmlns="http://xml.apache.org/axis/wsdd/" 
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <transport name="http"     pivot="java:org.apache.axis.transport.http.HTTPSender"/>

    <globalConfiguration>
    <requestFlow>
    <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
        <parameter name="user" value="charlybro"/>
        <parameter name="passwordCallbackClass" value="com.charlybro.example.ws.security.PWCallback"/>
        <parameter name="action" value="UsernameToken"/>
    </handler>
</requestFlow>
<responseFlow>
    <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver" >
        <parameter name="user" value="charlybro"/>
        <parameter name="passwordCallbackClass" value="com.charlybro.example.ws.security.PWCallback"/>
        <parameter name="action" value="UsernameToken"/>

    </handler>
    </responseFlow>
   </globalConfiguration>

</deployment>

Con la misma idea que antes se ha añadido un manejador, en este caso para el envio de información al servidor y para la recepción del mismo.

Ahora si se compila la clase PWCallback creada y se pone en el directorio correspondiente, y los archivos de configuración están bien escritos, bastaría con reiniciar el servidor y probar el WS.

Es algo casi trivial el uso de UsernameToken, pero sí se tiene más de un usuario, se podria establecer un handler por usuario, el problema (como puede que se esté planteando ahora) vendrá sí se tienen 30 usuarios, que no será útil, por la cantidad de requestFlows que se tendrá.

Así pues será más viable el uso de SignatureSignature Encrypt (Certificados) para firmar los mensjaes SOAP XML.

 

Posteado por: elcocoenzo | 03/11/2010

WebServices en Axis (II) fácil y sencillo. Implementación

WebServices en Axis (II) fácil y sencillo. Implementación

En la primera parte se ha visto una descripción general sobre que es un WS, de que estandares está compuesto y como se descubre al resto del mundo.

Ahora se va a describir el proceso de creación de un WS con el servlet de Axis 1.0

Como ya se indica se desarrollará con el Servlet de Axis perteneciente a apache, el cual se puede descargar de su pagina web.

Pasos previos

Para la realización del mismo será necesario tener previamente descargado:

  • Un Servidor de aplicaciones, como por ejemplo Apache Tomcat, la instalación del mismo se deja a cargo de la sección de instalación de su pagina web.
  • El servlet de Axis. Para el uso de cualquier WS, será como cualquier otro Framework (Struts, Spring, Hibernate, …), es decir añadir al path los jars que se deben descargar, axis.jar y los contenidos en la carpeta lib

Clases Java del Servidor

Una clase que genere automaticamente un «Hola Mundo»:

package com.charlybro.example.ws;

public class EchoWS{

public java.lang.String echoService(String user){
    return "Hola " + user + ", bienvenido a la aplicación";
}
}

Esta clase será la parte del servidor del WS, que se ejecutará en el servidor (luego está las clases correspondientes al cliente).
Es fácil, una clase que devuelve un texto. Se deberá compilar la misma para poder usarlo.

Archivos de Configuración

web.xml

En todo proyecto Web, será necesario simplemente indicar el mapeo del Servlet de Axis, tal que:

<servlet>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>
<mime-mapping>
    <extension>wsdl</extension>
    <mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
    <extension>xsd</extension>
    <mime-type>text/xml</mime-type>
</mime-mapping>

Sí se tiene algo de experiencia en hacer proyectos Web, es algo trivial este trozo de código del web.xml, simplemente indicar de donde debe cargar el servlet de axis y por donde pasará (url) y será ejecutado y luego se ha añadido algunos mapeos de tipos de datos y como deben ser tratados

Web Service Deployment Descriptor (WSDD)

Los WS necesitan de un archivo llamado server-config.wsdd -Web Service Deployment Descriptor (WSDD)- que será el archivo que indicará al servidor de aplicaciones que clases definen un WS y como están configuradas, aquí será donde se pueda integrar cualquier tipo de configuración y manejadores(handlers) para los WS. Este archivo deberá estar en el directorio «/WEB-INF/» de la aplicación.

Por ejemplo para el caso que nos abarca se tendrá el siguiente WSDD:

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<globalConfiguration>
    <parameter name="sendMultiRefs" value="false" />
    <parameter name="disablePrettyXML" value="true" />
    <parameter name="adminPassword" value="admin" />
    <parameter name="dotNetSoapEncFix" value="true" />
    <parameter name="enableNamespacePrefixOptimization"
        value="false" />
    <parameter name="sendXMLDeclaration" value="true" />
    <parameter name="attachments.implementation"
        value="org.apache.axis.attachments.AttachmentsImpl" />
    <parameter name="sendXsiTypes" value="true" />
    <requestFlow>
        <handler type="java:org.apache.axis.handlers.JWSHandler">
            <parameter name="scope" value="session" />
        </handler>
        <handler type="java:org.apache.axis.handlers.JWSHandler">
            <parameter name="scope" value="request" />
            <parameter name="extension" value=".jwr" />
        </handler>
    </requestFlow>
</globalConfiguration>
<handler name="LocalResponder"
    type="java:org.apache.axis.transport.local.LocalResponder" />
<handler name="URLMapper"
    type="java:org.apache.axis.handlers.http.URLMapper" />
<handler name="Authenticate"
    type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />

 <service name="Bienvenido" provider="java:RPC">
    <parameter name="allowedMethods" value="*" />
    <parameter name="className" value="com.charlybro.example.ws.EchoWS" />
</service> 
<transport name="http">
    <requestFlow>
        <handler type="URLMapper" />
        <handler
            type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
    </requestFlow>
</transport>
<transport name="local">
    <responseFlow>
        <handler type="LocalResponder" />
    </responseFlow>
</transport>
</deployment>

Por norma general se suelen añadir además de los tags definiendo los servicios, unos handlers para axis.
Véase que se ha definido aquí el servicio como:

 <service name="Bienvenido" provider="java:RPC">
    <parameter name="allowedMethods" value="*" />
    <parameter name="className" value="com.charlybro.example.ws.EchoWS" />
</service>

Dándole un nombre de Bienvenido, es importante que cada WS tenga un nombre distinto puesto que sí se dan dos WS con el mismo nombre se ejecutarán secuencialmente.
A continuación se ha indicado que tipo de WS es, pudiendo ser:

  • RPC Es el tipo por defecto que utiliza Axis, y en él se emplean las convenciones definidas para mensajes SOAP RPC.
  • Document, no utiliza ningún tipo de codificación especial pero si que enlaza en la serialización los datos entre XML y Java
  • Wrapped es parecido en su funcionamiento al estilo Document, pero cogiendo el cuerpo del mensaje SOAP y lo desmenuza en parámetros individuales.
  • Message Este estilo recibe y devuelve el XML tal cual, no utiliza ningún enlace de mapeo de tipo – y datos. Sí es necesario trabajar con los mensajes SOAP en formato XML tal cual, este es el estilo que se debe usar.

Luego también se le indica que métodos serán publicados como «WebMethod» para el WS, sí se tiene algún método que no se quiera publicar (como puede ser un getObject o métodos de comprobación que son internos) se deberían poner uno detrás de otro separados por un espacio.
Y finalmente se le indica que clase será el WS, como se puede ver se ha puesto la ruta completa con package incluido.

Hay que tener en cuenta que si algún WebMethod se le está pasando como parámetro un tipo complejo, que no es trivial para Axis, se deberá incluir una entrada para saber serializarlo/deserializarlo y de esta manera Axis lo pueda entender.
Los tipos de datos que no necesitan serializador en Java son:

  • Todos los datos simples (int, double, float, …)
  • Los objetos de datos simples (Integer, Double, Float, …)
  • Los Arrays de Objetos simples (Integer[], Double[], Float[])

Al resto de Objetos será necesario aplicarle un serializador, el cual será(para el caso que se trata):

(Si se tuviera un Bean, llamado Usuario, con un atributo String nombre)

<service name="Bienvenido" provider="java:RPC">
    <beanMapping qname="ns:usuario" xmlns:ns="Usuario"     languageSpecificType="java:com.charlybro.example.dto.Usuario"/>
...
</service>

A continuación si se quiere probar que todo esta correctamente montado, primeramente se debera comprobar que la estructura es la correcta dentro de la carpeta webapps:

+ejemplo
  |
  |
  +WEB-INF
          |
          -server-config.wsdd
          -web.xml
          +classes
                +com/charlybro/example/ws/EchoWs.class
          +lib
               - axis.jar
               - demas jars descargados

Sí se tiene así ahora se puede acceder a la URL: http://localhost:8080/ejemplo/services/Bienvenido y deberá ver los metodos que tiene su WS (en este caso uno). Sí es así esque su WS está bien configurado.

Parte Cliente

Para la generación de código del cliente del WS, desde aquí se recomienda por simplicidad de uso la clase de axis (se encuentra en axis.jar) org.apache.axis.wsdl.WSDL2Java
Para ello con Tomcat iniciado en línea de comandos:

java org.apache.axis.wsdl.WSDL2Java --package com.charlybro.client.ws.echo  http://localhost:8080/ejemplo/services/Bienvenido?wsdl 

Con ello nos generará cuatro clases, se compilan y se meten a la carpeta classes. Son:

  • EchoWS_PortType.java
  • EchoWSService.java
  • EchoWSServiceLocator.java
  • EchoWSSoapBindingStub.java

Para poder generar una llamada al cliente web se deberá montar la llamada así:

Desde el punto de vista de la arquitectura se recomienda el uso de la creación de un Agente de Acceso para todas las llamadas a Servicios Web, que no es más que una clase que encapsula todas las llamadas web, como por ejemplo:

package com.charlybro.example.aa;
import org.apache.log4j.Logger;
public class AgentWS{
    public static Logger log = Logger.getLoger(AgentWS.class);
protected EchoWS_PortType service = null;
public AgentWS(){}
public String echo(String string){
         EchoWSServiceLocator locator = new EchoWSServiceLocator();
        locator.setEchoWSEndpointAddress("http://localhost:8080/ejemplo/services/Bienvenido");
        service = locator.getEchoWS();
        try{
            return service.echoService(string);
        }catch(Exception e){
            log.error("Error in the Web Service call", e);
        }
}
}

Pagina JSP

para ver el resultado del proceso, se crea una JSP simple y sencilla sin entrar en parametros de seguridad o accesibilidad:

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head/>
<body>
<%com.charlybro.example.aa.AgentWS agent = new com.charlybro.example.aa.Agent();
        out.print(agent.echo("CharlyBro");
%>
</body>
</html>

 

Posteado por: elcocoenzo | 03/11/2010

Webservices en Axis (I)

Un Servicio Web (WS), es una arquitectura que permite la conexión de varias aplicaciones corriendo en servidores y / o plataformas distintas, es decir, una relación directa de maquina a maquina a traves de la red.

Para conseguir la unión de tan heterogeneidad en servidores y aplicaciones deben basarese en el estandar HTTP y XML, ya que son frontales en XML desde los que se puede acceder a través de una dirección URL.

Así pues cualquier empresa estará enseñando como frontal de su programa un XML que podrá ser entendido por cualquier otra empresa, y que a la hora de la generación de código para el cliente será algo casi trivial, con la definición de tipos.

Para poder conseguir esta estandarización están OASIS y W3C, velando para que los distintos sean cumplidos:

  • SOAP (Simple Object Access Protocol): Protocolo sobre los que se establece el intercambio.
  • XML (Extensible Markup Language): Formato estándar sobre el cual se intercambiarán los datos.
  • WSDL (Web Services Description Languages): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.
  • UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.
  • WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados… (De este punto se hablará en la tercera parte de Servicios Web).

Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
Ventajas del uso de WS

Máxima prioridad a la Interoperabilidad

Cuando todo el mundo puede acceder a la Web usando navegadores, las plataformas distintas pueden interactuar. Para que estas plataformas puedan trabajar juntas, las aplicaciones Web son desarrolladas.
Aplicaciones orientadas a la web son simplemente aplicaciones que corren sobre la red. Estas son construidas alrededor de los estándares del navegador y pueden casi siempre ser usados por cualquier navegador en cualquier plataforma.

El éxito de esta tecnología reside en que se basa en estándares conocidos en los que ya se tiene una gran confianza, como el XML.

Web Services llevan a las aplicaciones Web a un nivel más

Usando WS, las aplicaciones pueden publicar sus funciones o mensajes al resto del mundo.
WS, usa XML para codificar y descodificar los datos, y SOAP para transportarlo.
Con WS, el departamento de cuentas con un servidor Windows 2000 Server puede conectarse con un servidor Unix.

WS tienen 2 tipos de uso

1.- Código reusable
Hay cosas que las aplicaciones necesitan casi siempre, entonces, ¿por qué hacerlas una y otra vez?

WS pueden ofrecer componentes de aplicaciones como reportes meteorologicos, traducción de lenguajes, … como servicios.

2.-Conexión con software existente

WS ayudan a solventar el problema de la interoperabildad dando a diferentes aplicaciones un camino de enlace en sus datos.
Con WS se peude intercambiar datos entre aplicaciones y plataformas diferentes.
Esto ayudará a las compañías a escalar sus negocios, reduciendo el coste en desarrollo y mantenimiento de software, y sacando los productos al mercado con mayor rapidez. La integración de aplicaciones hará posible obtener la información demandada en tiempo real, acelerando el proceso de toma de decisiones. La evolución de Internet hacia los WS, mejorará los resultados globales de las empresas, reduciendo sus gastos y guiándolas hacia una mejora progresiva de la calidad. Al apoyarse en HTTP, los WS pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado.

PARTES DE UN WEB SERVICE

1.- WSDL
Como ya se ha especificado, la parte pública de la aplicación de una empresa es un XML, ese tipo de dato se denomina WSDL (Web Service Description Language), no es más que:

En formato XML para describir los servicios como una serie de puntos de acceso operativos, conteniendo cada uno su información orientada hacia el documento o procedimiento.
Las operaciones y mensajes están descritos abstractamente, atados a un protocolo de red concreto y formato de mensaje para definir su punto de acceso.
Estos puntos de acceso están combinados en puntos de acceso abstractos(servicios). Un WSDL es extensible para permitir la descripción de servicios y sus mensajes en el formato de mensaje que tenga o protocolo usado para comunicarse.

Véase a continuación un WSDL ejemplo:

<?xml version="1.0"?>
<definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
      xmlns:tns="http://example.com/stockquote.wsdl"
      xmlns:xsd1="http://example.com/stockquote.xsd"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
   <schema targetNamespace="http://example.com/stockquote.xsd"
          xmlns="http://www.w3.org/2000/10/XMLSchema">
       <element name="TradePriceRequest">
          <complexType>
              <all>
                  <element name="tickerSymbol" type="string"/>
              </all>
          </complexType>
       </element>
       <element name="TradePrice">
          <complexType>
              <all>
                  <element name="price" type="float"/>
              </all>
          </complexType>
       </element>
   </schema>
</types>
<message name="GetLastTradePriceInput">
    <part name="body" element="xsd1:TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput">
    <part name="body" element="xsd1:TradePrice"/>
</message>
<portType name="StockQuotePortType">
    <operation name="GetLastTradePrice">
       <input message="tns:GetLastTradePriceInput"/>
       <output message="tns:GetLastTradePriceOutput"/>
    </operation>
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetLastTradePrice">
       <soap:operation soapAction="http://example.com/GetLastTradePrice"/>
       <input>
           <soap:body use="literal"/>
       </input>
       <output>
           <soap:body use="literal"/>
       </output>
    </operation>
</binding>
<service name="StockQuoteService">
    <documentation>My first service</documentation>
    <port name="StockQuotePort" binding="tns:StockQuoteBinding">
       <soap:address location="http://example.com/stockquote"/>
    </port>
</service>
</definitions>

 

 

Más información sobre el estandar de WSDL se puede encontrar en W3C.

Este esquema será generado automaticamente por servidor de aplicaciones una vez estén completados todos y cada uno de los pasos para la realización de un servicio Web (segunda parte del documento)

2.- Codificación de las clases y archivos de configuración en el lado del servidor.

Posteado por: elcocoenzo | 03/11/2010

monstruo máster de profesorado

Sisi, «monstruo máster de profesorado» has leído bien. ¿Y por qué? Pues muy fácil, no se exactamente que le pasa a la Universidad de Zaragoza y en concreto a su facultad de educación pero tiene grandes fallos de seriedad y profesionalidad.

El año pasado ya se inició el cambio del antiguo CAP (Curso de Aptitud Pedagógica) y en vez de ofertarlo, sacaron la adaptación del CAP a Bolonia llamado Máster Universitario de Profesorado de Educación Secundaria, Bachillerato, formación profesional, enseñanzas de idiomas, artísticas y deportivas, para el cual era necesario tener un nivel mínimo de ingles certificado, el B1,y por cierto tela con el nombre, siempre tengo que mirarlo en la web porque nunca consigo recordarlo entero, total ¿para qué? para decir que tienes una parte del mismo, puesto que tú entras y eliges especialidad, en mi caso al ser Ing. Téc. Informático de Sistemas (ITIS) o elegía la rama de Tecnología e Informática o Formación Profesional.

El año pasado ya hubo un montón de problemas con una de las tantas especialidades que se ofertan, puesto que para una rama en concreto no había profesores suficientes y estuvieron casi todo el curso sin dar clase, deambulando por la city, de hecho ¡¡ hasta sacaron un grupo de facebook «Damnificados por el máster» !!, así que les tuvieron que dar el título sin haber dado clase de sus especialidades propias (eso es lo que tengo entendido), una gran «faena» para luego presentarse a oposiciones por cierto (porque no puedes prepararte parte de las mismas que se imparten aquí).

Y este año sigue habiendo problemas, como no, empezó todo en secretaría con el tema del nivel de inglés, que no se sabía si en el caso de no tener un certificado poder sacarse el mismo durante el transcurso del mismo o si por el contrario era obligatorio presentarse al examen de nivel, continuó en la preinscripción con el retraso de la publicación oficial de las actas de preinscritos, puesto que la criba que hicieron de 8-9 folios de gente que no llegaba al nivel mínimo exigido debió «copar» al departamento entero de inglés, que seguramente en los principios de Julio iría muy agobiada con la carga de su trabajo propio, seguro …
Y ya en el inicio de curso, en la presentación nos comentan que en una especialidad no hay profesores suficientes y que no se pueden impartir, por ahora, las clases ( ¡vaya esto me suena! ), afortunadamente a principios de Noviembre ya están dando esas 2 asignaturas.

Y digo monstruo porque se supone que te matriculas de 60 créditos ECTS, que son 10 asignaturas más 3 asignaturas de practicas y más el Trabajo Fin de Máster. Pero es que resulta que ya en el primer cuatrimestre se tienen asignaturas que son impartidas por dos o más profesores, y en casi todas de ellas cada profesor lleva su temario y es distinto a lo que da el otro, así pues en vez de tener 6 asignaturas que tenemos ahora son 4 duplicadas, así que salen de repente más trabajos de la nada !!!!! Y algún examen de gratis también, lo podían haber dejado estar con un solo profesor y que diera toda la materia con un solo trabajo o examen (afortunadamente algunos tenemos sólo dos exámenes en febrero, pero eso sí muuuuuchos trabajos que presentar)

Y lo que no me parece serio y de recibo es la actitud de cierta parte del profesorado en su manera de dar clase. Es que son muchos malos detalles que tienen y que restan calidad al propio Máster, como por ejemplo:
Pasarse casi toda la hora de la clase divagando sobre banalidades para dar poco temario y soltar muchas tonterías, sí estás es para dar clase y enseñarnos cosas no para que me cuentes el sexo de los ángeles, que esto es un Máster Universitario, no una clase de la carrera, que es algo un poquito más serio, se supone que se nos debe dar ejemplo «a los futuros profesores», pero no de estas maneras para quedarnos con el «que no haré yo cuando esté en el atril» y por poder contar, un montón más de cosas pero mejor me las quedo para mí.

Por anécdotas de cosas que nos han pasado no será no, por poder se pueden contar unas cuantas más y eso que llevamos 2 meses de curso pero detalles feos ya ha habido unos cuantos.

Espero que esto, como el vino, mejore con el tiempo.

Older Posts »

Categorías