jueves, 5 de marzo de 2015

Computación en la nube

El nuevo concepto de negocio en Internet también conocido como "computación en la nube"

La computación en nube es una tecnología nueva que busca tener todos nuestros archivos e información en Internet y sin depender de poseer la capacidad suficiente para almacenar información.
El cloud computing explica las nuevas posibilidades de forma de negocio actual, ofreciendo servicios a través de Internet, conocidos como e-business (negocios por Internet).

Procedimiento

Ventajas del cloud computing

  • Bajo coste: Productos gratuitos o pagos mensuales fijos por utilización, sin costes adicionales, dado que no hay que invertir en gran infraestructura, ni en licencias
  • Seguridad: Los datos siempre están seguros - Lee la política de seguridad de Debitoor
  • No hay necesidades de poseer una gran capacidad de almacenamiento
  • Mayor rapidez en el trabajo al estar basado en web
  • Información a tiempo real
  • Fuerte inversión en innovación
  • Acceso a toda la información
  • Acceso cuando quiera y donde quiera, sólo con una conexión a Internet

SAAS (Software as a Service)

Debitoor es un programa 100% online de facturación y contabilidad simple. Gratis para siempre:

  • Envía facturas y presupuestos sin límite
  • Crea plantillas profesionales para facturas en menos de 1 minuto
  • Gestiona tu lista de clientes y productos
  • Exporta tus facturas a PDF y Excel
  • Almacena automáticamente todos tus documentos
  • Gestiona tus gastos sin límite

Más de 200.000 pymes y autónomos gestionan gratis su negocio con Debitoor.
El cloud computing consiste en la posibilidad de ofrecer servicios a través de Internet.
Toda la información, procesos, datos, etc. se localizan dentro de la red de internet, como en una nube, así todo el mundo puede acceder a la información completa, sin poseer una gran infraestructura.
El software como servicio es una de las modalidades más importantes de la computación en nube. Consiste en una aplicación de software ofrecida totalmente por Internet, con todas las funcionalidades y para todos los clientes que lo solicten.

domingo, 1 de marzo de 2015

Middleware

Middleware o logical de intercambio de información entre aplicaciones o interlogical, es un software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, o paquetes de programas, redes, hardware y/o sistemas operativos. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones y sincronizaciones que son necesarias en los sistemas distribuidos. De esta forma, se provee una solución que mejora la calidad de servicio, así como la seguridad, el envío de mensajes, la actualización del directorio de servicio, etc.1
Funciona como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, serán útiles diferentes tipos de servicios de middleware. Por lo general el middleware del lado cliente está implementado por el Sistema Operativo, el cual posee las bibliotecas que ejecutan todas las funcionalidades para la comunicación a través de la red.

Hilo de ejecución

En sistemas operativos, un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.
La creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea.
Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente.
Lo que es propio de cada hilo es el contador de programa, la pila de ejecución y el estado de la CPU (incluyendo el valor de los registros).
El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.
Algunos lenguajes de programación tienen características de diseño expresamente creadas para permitir a los programadores lidiar con hilos de ejecución (como Java oDelphi). Otros (la mayoría) desconocen la existencia de hilos de ejecución y éstos deben ser creados mediante llamadas de biblioteca especiales que dependen del sistema operativo en el que estos lenguajes están siendo utilizados (como es el caso del C y del C++).
Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta manera el programa responde de manera más ágil a la interacción con el usuario. También pueden ser utilizados por una aplicación servidora para dar servicio a múltiples clientes.

Sistema operativo de red

Un sistema operativo de red, también llamado NOS (del inglés, Network Operating System), es un software que permite la interconexión de ordenadores para poder acceder a los servicios y recursoshardware y software, creando redes de computadoras. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Consiste en un software que posibilita la comunicación de un sistema informático con otros equipos en el ámbito de una red.

Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o venir integrado con él.
NetWare de Novell fue un ejemplo, de amplia difusión, de sistema operativo de red donde el software que le permitía trabajar en red se debía instalar en el cliente sobre elsistema operativo del equipo. El equipo personal necesitaba ambos sistema operativos para gestionar conjuntamente las funciones de red y las individuales.
El software del sistema operativo de red se integra en un número importante de sistemas operativos, incluyendo: casi todas las distribuciones de Linux; los sistemas operativos de Microsoft y Apple para portátilesservidores y equipos de sobremesa;, sistemas operativos de dispositivos móviles, como AndroidIOSWindows Phone, etc.

Arquitectura de Red

Arquitectura de la Red es el diseño de una red de comunicaciones. Es un marco para la especificación de los componentes físicos de una red y de su organización funcional y configuración, sus procedimientos y principios operacionales, así como los formatos de los datos utilizados en su funcionamiento.
En la telecomunicación, la especificación de una arquitectura de red puede incluir también una descripción detallada de los productos y servicios entregados a través de una red de comunicaciones, y así como la tasa de facturación detallada y estructuras en las que se compensan los servicios.
La arquitectura de red de internet se expresa de forma predominante por el uso de la Familia de Protocolos de Internet, en lugar de un modelo específico para la interconexión de redes o nodos en la red, o el uso de tipos específicos de enlaces de hardware.

Multiprocesadores y multicomputadores

Multiprocesadores y multicomputadores

Los multicomputadores propiamente dichos son los sistemas formados a partir de una granja de ordenadores, habitualmente con las mismas capacidades y características de rendimiento. De esta manera, las tareas se pueden distribuir entre los diferentes ordenadores que integran la granja y hacer el trabajo más rápido. Por ejemplo, en una productora de cine de animación por ordenador, una escena se podría dividir en pequeños trozos, y cada uno de ellos pasaría a ser tratado por un ordenador. Por otra parte, con sistemas multicomputador se pueden llegar a atender peticiones de miles de usuarios. Por ejemplo, los grandes servicios de búsqueda de Internet disponen de decenas de miles de ordenadores para atender los millones de peticiones que reciben cada minuto.


Ejemplo de multicomputación

Los ordenadores personales con procesadores de varios núcleos son un ejemplo de multicomputación. Un microprocesador de doble núcleo contiene duplicados muchos de los elementos que forman un procesador, es decir, es como tener dos microprocesadores en uno. De esta manera, si se están realizando dos tareas al mismo tiempo (por ejemplo, trabajando con el campus virtual de la UOC y generando un pase de fotografías para ser registrado en un DVD), cada uno de los procesadores se dedicará a una de las tareas. En un sistema con un único procesador, al igual que los primeros ordenadores principales, se tardaría mucho más tiempo que con dos núcleos.

Se denomina multiprocesador a un computador que cuenta con dos o más microprocesadores (CPUs).
Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes.
Los ordenadores multiprocesador presentan problemas de diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dosprogramas pueden ejecutarse simultáneamente y, potencialmente, pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
  • La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria.
  • La arquitectura SMP, donde todos los procesadores comparten toda la memoria.


Esta última debe lidiar con el problema de la coherencia de caché. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una dirección de memoria, lo hace únicamente sobre su copia local en caché. Si otro microprocesador tiene almacenada la misma dirección de memoria en su caché, resultará que trabaja con una copia obsoleta del dato almacenado.
Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseñado para ello. La mayoría de los sistemas operativos actuales poseen esta capacidad.