martes, 27 de octubre de 2015

Atento aviso

Hola a todos, bien desde hoy cambiaré un poco la dinámica de este blog, ya no será solamente de temas de programación, igual me dedicaré a algunos temas relacionados al nivel medio superior y tal vez superior especializándome en el área tecnológica e informática, bien, lo haré para ayudar, gracias y pronto vendré publicando los nuevos temas de este blog.

sábado, 4 de abril de 2015

SOA, SOAP, RPC, WSDL, REST, web service, XML, JSON, WPF, WCS

A partir de esta entrada serán más informales, ya que antes eran para calificación escolar, aun así, trataré de publicar lo que vaya aprendiendo a lo largo de este semestre


SOA

¿Qué es?
Es un paradigma de arquitectura para diseñar sistemas distribuidos.
Satisface objetivos de negocios  los cuales son fáciles y flexibles al momento de la integración de sistemas con legados, lineación directa a los procesos de negocios, innovación de artículos a clientes y adaptación ágil ante cambios.
¿Cómo Funciona?
Funciona proporcionando una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación, que permite la creación de sistemas de información altamente escalables que reflejan el negocio de al organización, a su vez brinda una forma bien definida de exposición e innovación de los servicios, facilitando la interacción entre los servicios

SOAP

¿Qué es?
Es un protocolo que define como dos objetos en diferentes procesos se pueden comunicar intercambiando datos XML.
¿Cómo funciona?
Funciona a través de una comunicación entre SOAP Sender y SOAP Reciver, esta comunicación se lleva a cabo en nodos que varían según el rol que desempeñen. Los nodos son:

RPC

¿Qué es?
Es un protocolo que permite que un programa de ordenador ejecute código en una máquina remota sin tener que preocuparse por las comunicaciones entre ambos.
¿Cómo funciona?
Inicia con el envio de unapetición por el cliente al servidor y se queda a la espera de un tiempo determinado, en caso de que la respuesta no llegue la ejecución continua, en caso de que falle el cliente no sabe el porqué de ese error.

WSDL

¿Qué es?
Es una interfaz pública a los servicios Web, este 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
¿Cómo funciona?
Funciona por medio de protocolos. Funciona por medio de archivos XML con una estructura ya determinada. Estos se componen por una colección de puertos, un puerto con una definición abstracta (tipo de puerto) y otro con una definición concreta (lazo), los puertos funcionan como la interfaz del software, y componen diferentes operaciones que son las que definen los intercambios de mensajes, los lazos son los protocolos para cada puerto y el mensaje es el tipo de dato enviado.

REST

¿Qué es?
Es una técnica de arquitectura de software para sistemas hipermedia distribuidos, aunque también se refiere a un conjunto de principios de arquitectura
¿Cómo funciona?
Funciona a través de mensajes del cliente hacia el servidor donde envía la información necesaria para comprender la petición del cliente.

Web Service

¿Qué es?
Es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones
¿Cómo funciona?
Este funciona mediante una aplicación del cliente vinculada con una comunicación SOAP y/o WSDL que comunica al servicio web, este último transmite los datos del usuario al servicio solicitado comunicado de igual manera con SOAP o WSDL.

XML

¿Qué es?
Es un lenguaje de marcas que se utiliza para almacenar datos de forma legible
¿Cómo funciona?
Este funciona a partir de etiquetas similares a las de html, solo que, aquí, el usuario define las etiquetas a su gusto.

JSON

¿Qué es?
Es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.
¿Cómo funciona?
Funciona mediante objetos y variables haciendo uso de javascript.

WPF

¿Qué es?
Es un modelo de programación unificado con el que compilar experiencias de cliente inteligentes de Windows, incorpora la interfaz de usuarios, multimedia y documentos.
¿Cómo funciona?
Desarrolla aplicaciones visuales atractivas por medio el lenguaje XAML, lenguajes de programación de “.net” y con la arquitectura del modelo vista controlador para el desarrollo de estas.

WCS

¿Qué es?
Es una tecnología que sale junto con el “.net Framework 3.0”, este provee a los usuarios un servicio de privacidad digital.
¿Cómo funciona?

Funciona a través del manejo de las identidades digitales en la red, haciendo que cada uno maneje un token de seguridad que expresa la información de dicha identidad en un conjunto de bytes.



Disculpen la tardanza, no había tenido demasiado tiempo para completarlo.

jueves, 26 de febrero de 2015

Websocket

Introducción

Los websockets son una tecnología que tiene un canal bidireccional y full-duplex, es decir, que puede enviar y recibir datos de manera simultanea (como los hilos en un socket normal), que se aplica a un socket normal. Este esta diseñado principalmente para emplearse en navegadores y servidores web, aunque, como todas las tecnologías de este tipo, se pueden implementar en las aplicaciones de cliente servidor.

Desarrollo

Los websockets son dirigidos a las aplicaciones en tiempo real, de esta manera el usuario de entera de lo que sucede en el sistema en el momento que el usuario esta usándolo. La mayoría de las aplicaciones que los usan (o los usaban en la mayoría de las aplicaciones) son juegos multijugador, aplicaciones de monitorización, chats, herramientas de trabajo colaborativo entre otras más.

Este tipo de aplicaciones solo permite una comunicación cliente servidor en tiempo real, por lo que, si se intenta una comunicación con algún usuario que no esté disponible en ese momento la comunicación podrá no fallar, pero no será la adecuada para lo que el cliente necesita, el ejemplo más sencillo de este tipo de aplicaciones es un chat, si no hay algún "cliente" y el servidor envía mensajes, el cliente a quien van dirigidos no serán recibidos y solo serán recibidos si este esta conectado al servidor en ese momento.

Conclusión

Los websockets son aplicaciones útiles en tiempo real para la comunicación cliente-servidor, el inconveniente de estos son si uno intenta comunicarse de forma urgente con un usuario y este no está en ese momento.

RMI

Introducción

RMI (Remote Method Invocation) es un mecanismo de Java que, como su nombre en inglés lo indica, llama métodos de manera remota.
RMI se caracteriza por la facilidad de su uso en la programación por estar específicamente diseñado para Java

Desarrollo

Es parte de  un estándar de ejecución de Java y proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java.

Con este método se crean aplicaciones distribuidas en el que los métodos de los objetos creados en Java se puedan invocar desde máquinas virtuales y hasta en hosts. Los RMI serializan los objetos para reunir parámetros que apoyen el polimorfísmo de los objetos.

En un RMI se crea un STUB (sustituto de alguna funcionalidad de código) y un esqueleto. En las aplicaciones RMI el servidor contará con los STUBs y con los esqueletos, mientras que el usuario tendrá la clase que llama esas clases para que funcionen de manera correcta.

Conclusión

Las aplicaciones RMI son aplicaciones que llaman objetos de manera remota, osea, visto desde el esquema cliente servidor, el cliente llama al servidor y el servidor le responde con un objeto, este objeto posteriormente es devuelto y convertido en algun parametro que el usuario desea.

martes, 24 de febrero de 2015

Certificado Digital, funcionamiento del certificado en una página web



Introducción

El certificado digital, también conocido como certificado digital, se genera en entidades de servicios de certificación que asocia.

Un certificado digital es una forma digital de identificación, como un pasaporte o el permiso de conducir. Un certificado digital es una credencial digital que proporciona información acerca de la identidad de una entidad, así como otra información auxiliar.

Desarrollo

Los certificados digitales los emiten las autoridades competentes, denominadas entidades emisoras de certificados. Como un certificado digital está emitido por una entidad emisora de certificados, dicha entidad garantiza la validez de la información contenida en el certificado. Además, un certificado digital sólo es válido durante un período específico de tiempo.

Los certificados digitales permiten la criptografía mediante claves públicas, ya que contienen la clave pública de la entidad identificada en el certificado. Como el certificado hace coincidir una clave pública con un individuo determinado y la autenticidad de ese certificado está garantizada por el emisor, el certificado digital aporta una solución al problema de cómo averiguar la clave pública de un usuario y saber que es válida. Estos problemas se resuelven cuando un usuario obtiene la clave pública de otro usuario a partir del certificado digital. El usuario sabe que es válida porque una entidad emisora de confianza ha emitido el certificado.

Además, los certificados digitales se basan en la criptografía mediante claves públicas para su propia autenticación. Cuando se emite un certificado digital, la entidad emisora firma el certificado con su propia clave privada. Para validar la autenticidad de un certificado digital, un usuario puede obtener la clave pública de dicha entidad emisora y utilizarla sobre el certificado para determinar si fue firmado por esa entidad emisora.

Para que un certificado digital sea útil, tiene que estar estructurado de una forma comprensible y confiable, de manera que la información contenida en el certificado se pueda recuperar y entender fácilmente. Por ejemplo, los pasaportes tienen una estructura similar que permite a la gente entender fácilmente la información contenida en un tipo de pasaporte que quizás nunca hayan visto antes. Del mismo modo, siempre y cuando los certificados digitales estén estandarizados, se pueden leer y entender independientemente que quién emitiera el certificado.

Conclusión

Los certificados digitales autentican que una página web es segura, aunque, es un tanto facil corromperla, pues, como hay personas de por medio, pueden dar el certificado así la página no cumpla con lo requerido. Los certificados permiten la criptogafía en los sitios web, por lo que, dan la fiabilidad de que la información que circula el el sitio estará protegida.

lunes, 16 de febrero de 2015

Diferencias entre la certificación y firma digital y examen seguridad web y aplicaciones, tambien el significado de https

Examen

1.-¿Cuáles son las diferencias entre el cifrado asimétrico y el cifrado simétrico? (4 diferencias)

a)El cifrado simétrico usa una clave secreta, el asimétrico usa una clave privada y otra pública.
b)El resultado simétrico da un texto cifrado de la misma longitud, el asimétrico da un texto cifrado de mayor longitud.
c)La seguridad del cifrado simétrico radica en la clave secreta, en el asimétrico radica en la confidencialidad de la clave privada.
d)El cifrado simétrico es rápido en cifrar, mientras que el asimétrico es lento y requiere un proceso bastante amplio

2.-¿Cuáles son las diferencias entre la autenticación y el cifrado asimétrico? (todas)

-La autenticación cifra con la calve privada y se descifra con la clave pública, en el cifrado es al revés.


Certificación y firma digital y definición de https

Introducción

Empecemos definiendo ambos términos...

Certificación: Es el comprobante de que alguna página es segura o cumple con ciertas normas que hacen más convincente la garantía del proveedor. Esta es realizada por terceros, aun así, esto no garantiza la imparcialidad o la ausencia de incompatibilidades o conflictos de interés.

Firma digital: Este es un servicio digital que identifica a la empresa o al usuario permitiendo le realizar algun trámite o cumplir con un proceso adecuado y verídico, dando a entender que la persona es quien realiza dicho proceso, en pocas palabras es un método de autenticación.

https: Significa "Hypertext Transfer Protocol Secure", esta es una combinación entre el protocolo http y protocolos criptográficos que se emplea para lograr que las conexiones en el www (world wide web) sean más seguras.

Desarrollo

Tanto la certificación como la firma digital son métodos de seguridad y atienden varias funciones importantes en la seguridad, la confidencialidad, la integridad y la autenticación.

La firma digital hace el uso de un cifrado asimétrico, mientras que los certificados son documentos digitales que verifican ambas claves (la pública y la privada) que son usadas para la autenticación.

El certificado salvaguarda la seguridad y fiabilidad de las firmas digitales, pues sin este una firma digital puede ser falsificada fácilmente.

La firma digital verifica la integridad del mensaje transmitido comprobando la identidad del remitente. Este garantiza la confidencialidad de la información transmitida mediante el empleo de un algoritmo para codificar el mensaje transmitido.

Pata https...

El uso principal de esto es en las transacciones monetarias o cuando se trata con información "sensible" que su mal uso afectará a quien la envía.
Este tipo de protocolo más seguro hace menos probable que la información sea captada por un tercero, o si es captada esta le será muy difícil obtener lo enviado, pues esta cifrada.
Se han empleado varios sistemas de cifrado en este protocolo, iniciando por el SSL, posteriormente sustituido por el TLS.
Este trabaja en la penultima capa del protocolo TCP/IP

Conclusión

La firma digital depende de la certificación para ser fiable, pero para que este se obtenga se debe demostrar que el sitio es seguro, aun así, ambas tienen casi la misma función, lo que las diferencia es la forma de obtenerlas, la certificación es por terceros y la firma es por un cifrado asimétrico

Para el https se puede decir que es un sistema de seguridad que no solo maneja cifrados, de igual manera maneja control de enrutamiento para que el dato (no se si peda ser reelevante para mi, por eso manejo dato en lugar de información) sea difícilmente obtenible, en caso contrario, este estará fuertemente cifrado. Este protocolo se lleva a cabo para proteger datos que nos son útiles en muchos ambitos.

domingo, 7 de septiembre de 2014

Modelo OSI de la ISO/Cliente-Servidor

Introducción a los sistemas distribuidos

Introducción
Modelo OSI
El Modelo OSI (en inglés, Open System Interconnection  o sistemas de interconexión abiertos en español) es un modelo de red descriptivo, que fue creado por la Organización Internacional para la Estandarización (ISO) en el año 1980.
Este es un marco de referencia para la definición de arquitecturas en la interconexión de los sistemas de comunicaciones.
El modelo OSI se divide en 7 capas que definen las diferentes fases por las que deben pasar los datos para viajar de un dispositivo a otro sobre una red de comunicaciones.


Cliente-servidor
Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones(múltiples clientes) al mismo tiempo.



Desarrollo
Modelo OSI
Capa 1: Capa física
Esta capa se encarga de la topología de la red y de las conexiones globales de la computadora hacia la red, tanto en lo que se refiere al medio físico como a la forma en la que se transmite la información.
En esta capa se define el medio o medios físicos por los que va a viajar la comunicación, define las características materiales y eléctricas que se van a usar en la transmisión de los datos por los medios físicos, establece las características funcionales de la interfaz, transmite el flujo de bits a través del medio, maneja las señales eléctricas del medio de transmisión y garantiza la conexión.

Capa 2: Capa de datos
Esta capa se ocupa del direccionamiento físico, del acceso al medio, de la detección de errores, de la distribución ordenada de tramas y del control del flujo. Es uno de los aspectos más importantes que revisar en el momento de conectar dos ordenadores, ya que está entre la capa 1 y 3 como parte esencial para la creación de sus protocolos básicos para regular la forma de la conexión entre computadoras así determinando el paso de tramas, verificando su integridad, y corrigiendo errores, por lo cual es importante mantener una excelente adecuación al medio físico,  con el medio de red que redirecciona las conexiones mediante un router. Dadas estas situaciones cabe recalcar que el dispositivo que usa la capa de enlace es el Switch que se encarga de recibir los datos del router y enviar cada uno de estos a sus respectivos destinatarios

Capa 3: Capa de red
Se encarga de identificar el enrutamiento existente entre una o más redes. Las unidades de información se denominan paquetes, y se pueden clasificar en protocolos enrutables y protocolos de enrutamiento.
El objetivo de la capa de red es hacer que los datos lleguen desde el origen al destino, aún cuando ambos no estén conectados directamente. Los dispositivos que facilitan tal tarea se denominan encaminadores o enrutadores (o routers en ingles), estos dispositivos trabajan en esta capa, aunque pueden actuar como switch de nivel 2 en determinados casos.

Capa 4: Capa de transporte
En esta capa se efectua el transporte de datos de la máquina origen a la de destino

Capa 5: Capa de sesión
Se encarga de mantener y controlar el enlace establecido entre dos computadores que están transmitiendo cualquier tipo de datos.
Esta capa provee la capacidad de asegurar que una sesión establecida entre dos maquinas se pueda efectuar para las operaciones definidas de principio a fin, reanudándolas en caso de interrupción.

Capa 6: Capa de presentación
Se encarga de la representación de la información, de tal manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres, los datos lleguen de manera reconocible a los diferentes equipos .

Capa 7: Capa de aplicación
Esta capa ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, tales como son el correo electrónico,  gestores de bases de datos y servidores de ficheros (servidores que intercambian documentos e información)



Cliente servidor
El Cliente-Servidor es un sistema distribuido entre múltiples Procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. La Tecnología Cliente/Servidor, es un modelo que implica productos y servicios enmarcados en el uso de la Tecnología de punta, y que permite la distribución de la información en forma ágil y eficaz a las diversas áreas de una organización

Conclusión
Las diferentes capas ayudan a que la comunicación que exista entre el cliente y el servidor sean adecuadas y tengan el menor margen de error.