martes, 10 de septiembre de 2019

Programación orientada a servicos



Investigación Servicios y estándares que se ofrecen en la nube


Funcionamiento de un servidor web
  • Que es servicio web
Por lo que investigue un servicio web en inglés es web service o web services bueno se  dice que es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.Estos quiere decir que un servicio web es un sistema software que esta diseñado para soportar la interacción maquina a maquina, a través de una red. También hay  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.

Algunos de sus estándares 
UDDI (Universal Description, Discovery and Integration): protocolo para publicar la información de los servicios web. Permite comprobar qué servicios web están disponibles.
WSDL Web Services Description Language: 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.
REST Representational State Transfer: arquitectura que, haciendo uso del protocolo HTTP, proporciona una API que utiliza cada uno de sus métodos (GET, POST, PUT, DELETE, etcétera) para poder realizar diferentes operaciones entre la aplicación que ofrece el servicio web y el cliente.
GraphQL, arquitectura alternativa a REST.


  • Que es servicio web XML

 Bueno un servicios web  XML son bloques de código ejecutable expuestos a través de protocolos estándar para su uso en la web.Por lo tanto un bloque es el  código que compone un servicio web XML  que parece más a un programa de consola sin interfaz esto se trata de una clase pública que define, principalmente en  métodos. Estos son llamados métodos de servicio web XML, mismos que podrán ser invocados por aquellos programas que consuman el servicio. También se dice que los servicios web XML que permite el manejo de componentes.

Estructura de servicio web XML 
Ejemplo:
De  un documento WSDL donde <message> específica el mensaje individual XML 


<?xml version="1.0" encoding="UTF8"?>
<definitions name="WeatherService"
targetNamespace="http://www.ecerami.com/wsdl/WeatherService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.ecerami.com/wsdl/WeatherService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<message name="getWeatherRequest">
<part name="zipcode" type="xsd:string"/>
</message>
<message name="getWeatherResponse">
<part name="temperature" type="xsd:int"/>
</message>
<portType name="Weather_PortType">
<operation name="getWeather">
<input message="tns:getWeatherRequest"/>
<output message="tns:getWeatherResponse"/>
</operation>
</portType>
<binding name="Weather_Binding" type="tns:Weather_PortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getWeather">
<soap:operation soapAction=""/>
<input>
     <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:weatherservice" use="encoded"/>
</input>
<output>
    <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:weatherservice" use="encoded"/>
</output>
</operation>
</binding>
<service name="Weather_Service">
<documentation>WSDL File for Weather Service</documentation>
<port binding="tns:Weather_Binding" name="Weather_Port">
<soap:address
location="http://localhost:8080/soap/servlet/rpcrouter"/>
</port>
</service>
</definitions>





  • Que es servicio web SOAP
Un servicios Web SOAP  es un protocolo estándar  que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML, tienen la propiedad de importar  en la plataforma o el lenguaje que se esté usando, siempre y cuando estos sean capaces de generar un Cliente Consumidor con el mismo estándar del protocolo SOAP, es por eso que la construcción del cliente varía dependiendo de la plataforma y el lenguaje de programación. 


  Estructura 


Características 



  • Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo).
  • Neutralidad (bajo protocolo de transporte TCP puede ser utilizado sobre cualquier protocolo de aplicación como HTTP, SMTP o JMS).
  • Independencia (permite cualquier modelo de programación).




  • Que es servicio web WSDL
 Un servicio web WSDL  se describe como  la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje. También  WSDL nos permite tener una descripción de un servicio web y  especifica la interfaz abstracta a través de la cual un cliente puede acceder al servicio y los detalles de cómo se debe utilizar.
El diagrama se describe en el texto anterior.

Estructura 

Tipos de datos

<types>: Esta sección define los tipos de datos usados en los mensajes. Se utilizan los tipos definidos en la especificación de esquemas XML.

Mensajes
<message>: Aquí definimos los elementos de mensaje. Cada mensaje puede consistir en una serie de partes lógicas. Las partes pueden ser de cualquiera de los tipos definidos en la sección anterior.
Tipos de puerto
<portType>: Con este apartado definimos las operaciones permitidas y los mensajes intercambiados en el Servicio.
Bindings
<binding>: Especificamos los protocolos de comunicación usados.
Servicios
<service>: Conjunto de puertos y dirección de los mismos. Esta parte final hace referencia a lo aportado por las secciones anteriores.

  • Que es servicio web REST
La transferencia de estado representacional que en ingles es  representational state transfer REST es un estilo de arquitectura software para sistemas que esta  distribuido como la world wide web. También un servidor wwb REST es  para manipular estos recursos, los componentes de la red (clientes y servidores) se comunican a través de una interfaz estándar (HTTP).



Servicio Web REST

Diseños fundamentales de REST 

  • Un protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda la información necesaria para comprender la petición. Como resultado, ni el cliente ni el servidor necesitan recordar ningún estado de las comunicaciones entre mensajes. Sin embargo, en la práctica, muchas aplicaciones basadas en HTTP utilizan cookies y otros mecanismos para mantener el estado de la sesión (algunas de estas prácticas, como la reescritura de URLs, no son permitidas por REST)
  • Un conjunto de operaciones bien definidas que se aplican a todos los recursos de información: HTTP en sí define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD en bases de datos (CLAB en castellano: crear,leer,actualizar,borrar) que se requieren para la persistencia de datos, aunque POST no encaja exactamente en este esquema.

  •  El Consumo de un API REST
Hoy en día la mayoría de las empresas utilizan API REST para crear servicios. Esto se debe a que es un estándar lógico y eficiente para la creación de servicios web.




Image title
Características 
  1. Las operaciones más importantes que nos permitirán manipular los recursos son cuatro: GET para consultar y leer, POST para crear, PUT para editar y DELETE para eliminar.
  2. El uso de hipermedios (término que en el ámbito de las páginas web define el conjunto de procedimientos para crear contenidos que contengan texto, imagen, vídeo, audio y otros métodos de información) para permitir al usuario navegar por los distintos recursos de una API REST a través de enlaces HTML.




  • Ejemplo de servicios API REST que se pueden consumir -Redes sociales, base de datos, etc.
  La API REST siempre es independiente del tipo de plataformas o lenguajes: la API REST siempre se adapta al tipo de sintaxis o plataformas con las que se estén trabajando, lo que ofrece una gran libertad a la hora de cambiar o probar nuevos entornos dentro del desarrollo. Con una API REST se pueden tener servidores PHP, Java, Python o Node.js.
  
EJEMPLO 
{
    "id": 78,
    "nombre": "Juan",
    "apellido": "García",
    "coches": [
           {
                       "coche": "http://miservidor/concesionario/api/v1/clientes/78/coches/1033"
           },
           {
                       "coche": "http://miservidor/concesionario/api/v1/clientes/78/coches/3889"
           }
    ]
}



  • Frameworks que se pueden emplear para desarrollar aplicaciones web basadas en servicios

Los frameworks de lado servidor (es decir, "los frameworks de aplicaciones web") son frameworks software que hacen más fácil escribir, mantener y escalar aplicaciones web. Proporcionan herramientas y bibliotecas que simplifican tareas comunes de desarrollo web, incluyendo enrutado de URLs a los manejadores apropiados, interactuación con bases de datos, soporte de sesiones y autorizaciones de usuario, formateado de la salida (ej, HTML, JSON, XML), y mejora de la seguridad contra los ataques web.


SOA: Una arquitectura SOA está formada por tres partes: un proveedor, un intermediario y un cliente que no representa ningún acoplamiento entre ellos.
El proveedor ofrece un servicio determinado y que el cliente no tiene porque conocer directamente.
El cliente aprende como utilizar el servicio a partir de la información que ofrece el intermediario que normalmente simplifica el uso de dicho servicio.



CONCLUSIÓN 


Bueno lo que yo entendí en estos temas fue la importancia de saber todo sobre esto ya que es lo fundamental para mi aprendizaje y que si los diferentes tipos de servicios web me lleva a entender mas a fondo de como se lleva a cabo todos los procesos que se tienen que hacer  para poder realizar todos mis ejercicios en esta materia como por ejemplo yo no sabia que era un XML ya que con esta investigación me doy cuenta que no es mas que   bloques de código que están  expuestos a través de protocolos estándar, también los servicios Web SOAP ,WSDL ,REST donde entiendo que son fundamentales  para determinar qué funciones están disponibles en el servidor.

















jueves, 22 de agosto de 2019

Tercer Parcial

¿Está usted de acuerdo en que el acceso a los servicios del gobierno y la movilidad del ciudadano depende de su evaluación ante un sistema de información?



  • Por una parte estoy de acuerdo con la gran tecnología que se esta estableciendo para la seguridad de los individuos  con esta nueva tecnología que se hace llamar "Red de Videovigilancia " me llama mucho la atención, con este tipo de avances que ese están implementando para las personas ya que se supone que es para evitar el crimen y se les haga mas fácil a los policías para detener la delincuencia.
  • Pero por otra parte no estoy de acuerdo por creo que solo es una mascara que disfraza todo tipo de corrupción  que existe en el país, como los créditos que se hacen que las personas almacenen puntos para tener una vida mejor pero no todo es así, ya que hay personas que no tienen buena puntuación pero no es por que  no cumplan con las normas  de pago si no por que han descubierto la gran corrupción que existe, y a esas personas los llaman ser terrorista  solo por que teme el gobierno quiere tapar lo que están haciendo mal , eso no me parece justo ya que también este tipo de tecnología puede ser una arma para las personas que  están en lo correcto y que no quieren ser como los corruptos que existen en su país. 


Usted considera que es factible la implementación de dicha sistema en nuestro país



  • No lo creo ya que no se establesería  bien y sabiendo que en este país existen muchos corruptos y que es propositos que tiene no es bueno para las personas.


Usted estaría dispuesto a vivir en una sociedad cuya método de gobierno se basará en un sistema de evaluación como el descrito en el documental
creo que ya me di cuenta cuanta corrupcion se encuentra en sistemas como eso anque si solo fuera para la seguridad tal vez si solo para que ya no exista mas la delincuencia solo seria en ese caso pero nada tapar las malas, por que es bonito tener tecnologia moderna pero no usar la para este tipo de casos.
Si usted tuviera una forma de difundir una política de protección de datos a nivel familiar.¿cuál sería?  
El respeto y la vida de cada uno.

jueves, 11 de julio de 2019

diferencias

¿Cuál es la diferencia entre una IP pública y una IP privada?





IP Pública

Es la que tiene asignada cualquier equipo o dispositivo conectado de forma directa a Internet.
Algunos ejemplos son: los servidores que alojan sitios web como Google, los router o modems que dan a acceso a Internet, otros elementos de hardware que forman parte de su infraestructura, etc.
Las IP públicas son siempre únicas. No se pueden repetir. Dos equipos con IP de ese tipo pueden conectarse directamente entre sí. Por ejemplo, tu router con un servidor web. O dos servidores web entre sí.

IP Privada

Se utiliza para identificar equipos o dispositivos dentro de una red doméstica o privada. En general, en redes que no sean la propia Internet y utilicen su mismo protocolo (el mismo "idioma" de comunicación).
Las IP privadas están en cierto modo aisladas de las públicas. Se reservan para ellas determinados rangos de direcciones.

ejemplos

ejemplos de IPv4 vs IPv6

Resultado de imagen para 5. De un ejemplo de una dirección empleando IPV4 y otro ejemplo empleando IPV6.





Resultado de imagen para 5. De un ejemplo de una dirección empleando IPV4 y otro ejemplo empleando IPV6.


Flujo de paquetes en la red
Todos los hosts de IPv4 entorno lógico se asignan direcciones IP únicas. Cuando un host desea enviar datos a otro host en la red, se necesita la física (MAC) del host de destino. Para obtener la dirección MAC, el host transmite un mensaje ARP y pide dar una dirección MAC quien es el propietario de dirección IP de destino. Todos los hosts que se encuentran en el segmento recibir el paquete ARP, pero sólo el host tiene su IP coincide con la del mensaje ARP, responde con su dirección MAC. Una vez que el emisor recibe la dirección MAC de la estación receptora, los datos se envían en el soporte físico

Imagen relacionada



ventajas y desventajas

Ventajas y desventajas de IPV4 e IPV6

Ventajas y desventajas

  • El motivo básico para crear un nuevo protocolo fue la falta de direcciones.
  • IPv4 tiene un espacio de direcciones de 32 bits, en cambio IPv6 ofrece un espacio de 128 bits para soportar: más niveles de jerarquías de direccionamiento y más nodos direccionales.

  • Otros de los problemas de IPv4 es la gran dimensión de las tablas de ruteo en el backbone de Internet, que lo hace ineficaz y perjudica los tiempos de respuesta.

  • Debido a la multitud de nuevas aplicaciones en las que IPv4 es utilizado, ha sido necesario agregar nuevas funcionalidades al protocolo básico, aspectos que no fueron contemplados en el análisis inicial de IPv4, lo que genera complicaciones en su escalabilidad para nuevos requerimientos y en el uso simultáneo de dos o más de dichas funcionalidades. Entre las más conocidas se pueden mencionar medidas para permitir la Calidad de Servicio (QoS), Seguridad (IPsec) y movilidad.

  • El IPv6 permite la conexión de millones de dispositivos con capacidad IP, que siempre están en funcionamiento y cada uno de ellos teniendo su propia y exclusiva dirección IP.
Desventajas

  • La necesidad de extender un soporte permanente para IPv6 a través de todo Internet y de los dispositivos conectados a ella.

  • Para estar enlazada al universo IPv6 durante la fase de transición, todavía se necesita una dirección IPv4 o algún tipo de NAT (compartición de direcciones IP) en los routers pasarela (IPv6<–>IPv4) que añaden complejidad y que significa que el gran espacio de direcciones prometido por la especificación no podrá ser inmediatamente usado.

  • Problemas restantes de arquitectura, como la falta de acuerdo para un soporte adecuado de IPv6 multihoming.
Similitud
Existen algo más de 4.000 millones de direcciones
IPv4. En cambio, existen más de
16 trillones de direcciones IPv6.
El funcionamiento técnico de Internet es
el mismo en ambas versiones y es probable
que ambas continúen funcionando
simultáneamente en las redes por
mucho tiempo más. En la actualidad, la
mayoría de las redes que usan IPv6 soportan
tanto las direcciones IPv4 como
las IPv6 en sus redes.

sistema de direccionamiento

¿Qué es un sistema de direccionamiento?

Las direcciones de Internet están formados por una dirección de red y una dirección de sistema principal (o local). Esta dirección de dos partes permite al remitente especificar la red así como un sistema principal específico de la red. Se asigna una dirección red oficial exclusiva a cada red cuando se conecta a otras redes de Internet. Sin embargo, si una red local no se va a conectar a otras redes de Internet, se le puede asignar cualquier dirección de red que sea cómoda para el uso local.
El esquema de direccionamiento de Internet consta de direcciones de Internet Protocol (IP) y dos casos especiales de direcciones IP: direcciones de difusión y direcciones de bucle de retorno.

protocolo ip

Define el protocolo IP

Internet Protocol o IP (en español Protocolo de Internet) es un protocolo no orientado a conexión usado tanto por el origen como por el destino para la comunicación de datos a través de una red de paquetes conmutados.

El protocolo de IP es la base fundamental de Internet. Porta datagramas de la fuente al destino. El nivel de transporte parte el flujo de datos en datagramas. Durante su transmisión se puede partir un datagrama en fragmentos que se montan de nuevo en el destino. Las principales características de este protocolo son: 
  • Protocolo orientado a no conexión. 
  • Fragmenta paquetes si es necesario. 
  • Direccionamiento mediante direcciones lógicas IP de 32 bits. 
  • Si un paquete no es recibido, este permanecerá en la red durante un tiempo finito. 
  • Realiza el ¨mejor esfuerzo¨ para la distribución de paquetes. 
  • Tamaño máximo del paquete de 65635 bytes. 
  • Sólo se realiza verificación por suma al encabezado del paquete, no a los datos que éste contiene. 
El protocolo de Internet proporciona un servicio de distribución de paquetes de información orientado a no conexión de manera no fiable. La orientación a no conexión significa que los paquetes de información, que será emitido a la red, son tratados independientemente, pudiendo viajar por diferentes trayectorias para llegar a su destino. El término no fiable significa más que nada que no se garantiza la recepción del paquete. 

Funionamiento

  • Los datos en una red basada en IP son enviados en bloques conocidos como paquetes o datagramas (en el protocolo IP estos términos se suelen usar indistintamente). En particular, en IP no se necesita ninguna configuración antes de que un equipo intente enviar paquetes a otro con el que no se había comunicado antes.
  • IP provee un servicio de datagramas no fiable (también llamado del mejor esfuerzo (best effort), lo hará lo mejor posible pero garantizando poco). IP no provee ningún mecanismo para determinar si un paquete alcanza o no su destino y únicamente proporciona seguridad (mediante checksums o sumas de comprobación) de sus cabeceras y no de los datos transmitidos. Por ejemplo, al no garantizar nada sobre la recepción del paquete, éste podría llegar dañado, en otro orden con respecto a otros paquetes, duplicado o simplemente no llegar. Si se necesita fiabilidad, ésta es proporcionada por los protocolos de la capa de transporte, como TCP .
  • Si la información a transmitir ("datagramas") supera el tamaño máximo "negociado" en el tramo de red por el que va a circular podrá ser dividida en paquetes más pequeños, y reensamblada luego cuando sea necesario. Estos fragmentos podrán ir cada uno por un camino diferente dependiendo de como estén de congestionadas las rutas en cada momento.
  • Las cabeceras IP contienen las direcciones de las máquinas de origen y destino (direcciones IP), direcciones que serán usadas por los conmutadores de paquetes (switches) y los enrutadores (routers) para decidir el tramo de red por el que reenviarán los paquetes.