martes, 23 de julio de 2019

SERVICIOS WEB

SERVICIO WEB 

       Un Servicio Web es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de Software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. 
    
       Un Servicio Web es un sistema de software diseñado para soportar la interacción máquina-a-máquina a través de una red, de forma interoperable.

           Para poder mejorar la interoperabilidad entre distintas implementaciones de servicios Web. Ya que los Servicios Web son aplicaciones autónomas modulares que se pueden describir, publicar, localizar e invocar a través de una red.

¿ QUE ES UN SERVICIO WEB ?

         Se define como Servicio Web como un sistema de software designado para dar soporte a la interacción de maquina a maquina interoprativa a través de una red. Ya que un servicio web realiza una tarea especifica o un conjunto de tareas, y se describe mediante una descripción de servicios en una notación XML. 

De una manera mas clara se podría decir que un web service es una función  que diferentes servicios o equipos utilizan; es decir, solo se envían parámetros al servidor ( lugar donde esta alojado el web service ) y este responde la petición.

¿ PARA QUE SIRVE LOS WEB SERVICE ?

Estos servicios nos proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones, que interactúan entre sí para presentar información dinámica al usuario.
  • Aportan interoprabilidad entre aplicaciones de Software independientemente de sus propiedades o de las plataformas sobre las que se instalan.
  • Los Servicios Web fomentan los estándares y protocolos basados en texto, que hacen mas fácil acceder a su contenido y entender su funcionamiento.
  • Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.
  • Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar y abiertos. Las especificaciones son gestionadas por una organización abierta, la W3C por tanto no hay secretismos por intereses particulares de fabricantes concretos y se garantiza la interoprabilidad entre aplicaciones.

CARACTERÍSTICAS DE UN WEB SERVICE

  1. Pueden ser consumidas desde cualquier tipo de aplicación sin importar el lenguaje.
  2. Nos permiten un acceso fácil y rápido al contenido y funcionamiento de la web.
  3. Esta orientado a la web.
  4. Pueden ser combinados fácilmente para proveer servicios integrados.
  5. Utilizan los principales protocolos de red.
  6. Combina las mejores tecnologías hoy en día. Para presentar una funcionalidad de caja negra que pueda ser reutilizada sin preocuparse de como se implementaran.
  7. Basados en tecnologías de mensajería instantánea. Para poder proveer una interacción cliente - servidor.
  8. Actualmente los Servicios Web son ampliamente aceptados por las empresas para el desarrollo de software interno. 

VENTAJAS Y DESVENTAJAS 

VENTAJAS
  • Los servicios web pueden ser muy útiles en ciertos casos de programación.
  • Basado en estándares.
  • Los servicios web fomentan los estándares y protocolos basados en texto ya que hacen mas comprensible su funcionamiento.
  • Permiten interconectividad entre aplicaciones de cualquier lenguaje.

DESVENTAJAS

  • Los Servicios Web usan las mismas tecnologías que han sido atacadas en tantas ocaciones.
  • La calidad de un servicio web es un parámetro que no queda demasiado claro, pero su medida es fundamental para desarrollar un servicio maduro.
  • Dependencia de la disponibilidad de servicios y comunicaciones.
  • Relativamente nuevo, algunos estándares no definidos.
  • No es la solución a todos los problemas.
  • La comunicación entre programas.

QUE ES XML

XML es un lenguaje de etiquetas, es decir cada paquete de información esta delimitado por dos etiquetas como se hace también en el lenguaje HTML, pero XML separa el contenido de la presentación. 

POR QUE ES ÚTIL EL LENGUAJE XML PARA LOS PROGRAMADORES INFORMÁTICOS


Resultado de imagen para QUE ES XML
XML proviene de Extensible Markup Language ("LENGUAJE DE MARCAS EXTENSIBLES"). Se trata de un metalenguaje ( un lenguaje que se utiliza para decir algo acerca de otro ) extensible de etiquetas que fue desarrollado por el Word Wide Web Consortium (W3C) una sociedad mercantil internacional que elabora recomendaciones para el Word Wide Web.

Un programa informático puede estar escrito en Java, Visual Basic y cualquier otro lenguaje. En esencia todos los programas procesan información entendiéndose por información " dato+significado". 



QUÉ ES SOAP

SOAP es un protocolo estándar que define como 2 objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.  Este protocolo deriva de un protocolo creado por Dave Winer en 1998.

SOAP es un formato de mensajería XML utilizado en interacciones de servicios web. Los mensajes SOAP habitualmente se envían sobre HTTP o JSM pero se pueden utilizar otros protocolos. El uso de SOAP es un servicio web específico se describe mediante la definición WSDL.





QUE ES WSDL

WSDL es un protocolo basado en XML que describe los acceso al Web Service. 

Resultado de imagen para que es wsdl

WSDL es un lenguaje propuesto por el W3C para la descripción de Servicios WEb y permite describir la interfaz de un servicio en formato XML.


WSDL es una notación XML para describir un servicio web. Una definición WSDL indica a un cliente como componer una solicitud de un servicio web y describe la interfaz que proporciona el proveedor del servicio web. 





QUE ES  UDDI

Resultado de imagen para que es uddi

UDDI es un registro público diseñado para almacenar de forma estructura información sobre empresas y los servicios que esta ofrece. A través de UDDI se puede publicar y descubrir información de una empresa y de sus servicios. Se puede utilizar sistemas taxonómicos estándar para clasificar estos datos y poder encontrarlos posteriormente en función de la categorización.



WS-SECURITY

Resultado de imagen para que es ws-securityEs un protocolo de comunicaciones que suministra un medio para aplicar seguridad a los Servicios Web. 

Este también describe mejoras para la mensajería SOAP para proporcionar calidad de protección a través de la integridad de mensajes, confidencialidad de mensajes y una sola autenticación de mensajes. Los mecanismos de WS-Security se pueden utilizar para acomodar dar cabida a una amplia variedad de tecnologías. 




QUE ES RESET

Seguramente no hacemos mucho uso de esta palabra, aunque a veces es un término ambiguo, que lo podemos encontrar tanto en dispositivos móviles, como también en el ordenador, aunque a veces suele confundirse con otro término parecido, que tiene cierta coincidencia, aunque no es lo mismo. Lo cierto es que el término Resetear es una forma en la que se suele llamar a la acción de Reset, que en idioma inglés consiste en el Reinicio, o bien, la Reposición hacia un estado inicial, una vuelta al principio o bien un nuevo comienzo, que en el caso de la informática, está ligado muy de cerca a la transmisión de impulsos eléctricos y claro está, también a la conexión con una Fuente de Alimentación, para poder obtener la necesaria Energía Eléctrica para el funcionamiento.



QUÉ ES JSON

JSON (acrónimo de JavaScript Object Notation, «notación de objeto de JavaScript») es un formato de texto sencillo para el intercambio de datos. Se trata de un subconjunto de la notación literal de objetos de JavaScript, aunque, debido a su amplia adopción como alternativa a XML, se considera (año 2019) un formato independiente del lenguaje.
Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos es que resulta mucho más sencillo escribir un analizador sintáctico (parser) para él. En JavaScript, un texto JSON se puede analizar fácilmente usando la función eval(), algo que (debido a la ubicuidad de JavaScript en casi cualquier navegador web) ha sido fundamental para que haya sido aceptado por parte de la comunidad de desarrolladores AJAX.




XML Vs JSON

Para los sistemas de comunicación entre máquinas se requiere una serie de características, básicamente marcadas porque las máquinas implicadas en la comunicación pueden tener sistemas muy diferentes. Pueden usar lenguajes de programación o bases de datos diferentes y hasta los sistemas operativos suelen ser distintos entre clientes y servidores. Por ello, para la comunicación de los datos se usa básicamente lenguajes escritos en archivos de texto plano.

Entre los lenguajes más usados para la comunicación de los datos en los servicios web, encontramos XML y JSON.

  • XML está basado en etiquetas, como HTML. Es más tradicional pero también es un lenguaje más avanzado, que presenta diversas utilidades para su extensión, validación de la información y sintaxis de los datos, etc.
  • JSON es un lenguaje más nuevo, basado en sintaxis Javascript. Generalmente, es más ligero y requiere mucho mejor carga del servidor para su procesamiento.

lunes, 28 de enero de 2019

SCRUM


QUE ES SCRUM


Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativa mente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos.
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.
Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiadolos costes se disparan la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.





¿Como Funciona?

Resultado de imagen para scrumAntes de iniciar cada iteración, el equipo revisa las tareas pendientes y selecciona la parte que entregará como un incremento de funcionalidad al finalizar la iteración (Sprint).

El equipo debe revisar los requisitos, considerar la tecnología a utilizar, evaluar su conocimiento y en forma colectiva determinar la forma en la que implementara la funcionalidad.











EL PROCESO DE SCRUM

En Scrum un proyecto se ejecuta en ciclos temporales cortos y de duración fija (iteraciones que normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta 4 semanas, límite máximo de feedback de producto real y reflexión). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.

diagrama-proceso-scrum

El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como plan del proyecto. En esta lista el cliente (Product Owner) prioriza los objetivos balanceando el valor que le aportan respecto a su coste (que el equipo estima considerando la Definición de Hecho) y quedan repartidos en iteraciones y entregas.  




El proceso de Scrum: cómo aplicar las iteraciones

Pero vayamos al proceso de diseño e implementación de la metodología Scrum, que está dividido en tres etapas:
1) Planificación de la iteración: Esta etapa tiene a su vez dos momentos. En el primero, los responsables del proyecto se reúnen con el cliente y éste les presenta la lista de requisitos y las prioridades. Con base en esto, las dos partes diseñan las iteraciones y definen los plazos de entrega.
Luego, en una reunión posterior, los miembros del equipo definen las tareas y designan los responsables para cada una de ellas.
2) Ejecución:
El equipo de trabajo realiza reuniones diarias (15 minutos como máximo) para poner en común la evolución de las tareas designadas, los obstáculos que han encontrado durante la ejecución y, a la vez, diseñar posibles adaptaciones o soluciones a los fallos. El líder se encargará de que sus colaboradores no bajen su productividad. A su vez, el cliente puede intervenir en las reuniones si lo considera necesario.
3) Inspección y adaptación:
Esta etapa tiene lugar el último día del proceso. El equipo de trabajo, en cabeza de su líder, presenta al cliente los resultados con base a la lista de prioridades que éste ha entregado en la primera instancia del proyecto. Teniendo en cuenta los cambios en el contexto y la eficacia de los resultados, el cliente decidirá si es suficiente o si deben ser adoptadas algunas medidas de adaptación.
Si los resultados son satisfactorios, el equipo de trabajo realizará una última reunión para evaluar lo que ha sido el proceso hasta ese momento.






ROLES DE SCRUM

En Scrum, el equipo se focaliza en construir software de calidad. La gestión de un proyecto Scrum se centra en definir cuáles son las características que debe tener el producto a construir (qué construir, qué no y en qué orden) y en vencer cualquier obstáculo que pudiera entorpecer la tarea del equipo de desarrollo.
Imagen relacionada
Solo existen tres ro tres roles dentro de Scrum 
  •  Product Owner 
  •  ScrumMaster 
  •  Scrum Team
Roles ( Product Owner) Representa a todos los interesados en el producto final. 
  • Marca las prioridades del producto 
  • Lleva el control de las estimaciones  
  • Retorno de Inversión Inversión (ROI)
Roles (Scrum Team rum Team) Debe transformar las tar r las tareas del Sprint Backlog en un incremento de funcionalidad en el software. 
  • Desarrollar el producto con calidad.  
  • Auto-gestionado 
  • Auto-organizado. 
  • Multi-funcional  
  • No mayor a ocho elementos.
Roles (ScrumMaster) Responsable del proceso de Scrum. 


  • Incorporación de Scrum en la cultura de la organización.  
  • Asegura el cumplimiento de los roles y responsabilidades. 
  • Formación y entrenamiento en el proceso.

Resultado de imagen para scrum