viernes, 28 de agosto de 2015

SISTEMA OPERATIVO ANDROID:
Como sabemos en los últimos años este Sistema es uno de los más utilizados en dispositivos móviles como Tablet, celulares. También podemos decir que el usuario tiene un fácil acceso al Sistema Operativo con su interfaz gráfico práctico y didáctico para todos.
Android es un conjunto de herramientas y aplicaciones vinculadas a una distribución Linux para dispositivos móviles. Por sí solo no es un Sistema Operativo Android es de código abierto, gratuito y no requiere pago de licencias. Es una stack de software para dispositivos móviles que incluye un Sistema Operativo, Middleware y aplicaciones de base. Los desarrolladores pueden crear aplicaciones para la plataforma usando el SDK de Android.

HISTORIA:
Fue desarrollado inicialmente por, una firma comprada por google en el año 2005. Es el principal producto de la open handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los estados unidos. A nivel mundial alcanzó una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo (os de Apple). (Wikipedia, 2014)
El Sistema Operativo más usado en Smartphone actualmente en el mundo no es una idea que se le ocurrió a alguien un día y tuvo un camino fácil para empezar a funcionar, sino que surge poco a poco y vive diferentes etapas hasta que el primer Android ve la luz. Hoy nos vamos a centrar en esa etapa de la historia de Android


Características:
Framework de aplicaciones: Habilitando para la reutilización y el reemplazo de componentes.
Estructura:
Los componentes del Sistema Operativo de Android, cada sección se describe en detalle a continuación:
Aplicaciones:
Las aplicaciones base incluyen un cliente de email, programa de SMS, calendario, mapas, navegador, contactos, y otros. Todas las aplicaciones son escritas en el lenguaje de programación Java.
DISEÑO Y DESARROLLO:
Android es considerado como uno de los modelos de negocio más exitosos, pues su desarrollo estratégico contempla los factores que más se tienen en cuenta dentro de las herramientas y metodologías desarrollados por expertos en negocios. Este sistema operativo se ha convertido en un modelo a seguir por desarrolladores de tendencias y negocios de alto impacto.
El que se tenga acceso al código fuente no significa que se pueda tener siempre la última versión de Android en un determinado móvil, ya que el código para soportar el hardware (controladores) de cada fabricante normalmente no es público, así que faltaría un trozo básico del firmware para poder hacerlo funcionar en dicho terminal, y porque las nuevas versiones de Android suelen requerir más recursos, por lo que los modelos más antiguos quedan descartados por razones de memoria (RAM), velocidad de procesador, etc.



ARQUITECTURA:
Los componentes principales del sistema operativo de Android :
Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de programación Java.
Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades. Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.
Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android; algunas son: System C library, bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras.
Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable, el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida.

Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.

jueves, 27 de agosto de 2015

COMPUTACION EN NUBE

CONCEPTO:
El concepto de la computación en la nube empezó en proveedores de servicio de Internet a gran escala, como Google, Amazon AWS, Microsoft y otros que construyeron su propia infraestructura. Es un sistema informático basado en internet y centro de datos remotos para gestionar servicios de información y aplicaciones. Permite que las empresas gestionen archivos sin necesidad de instalar en cualquier computadora, esta tecnología ofrece un uso más eficiente de recursos. La computación en nube es un modelo para habilitar el acceso a internet en todas partes, también son servidores encargados de atender peticiones en cualquier momento.
HISTORIA:
La idea de una "red de computadoras intergaláctica" la introdujo en los años sesenta a JCR Licklider, cuya visión era que todo el mundo pudiese estar interconectado y poder acceder a los programas y datos desde cualquier lugar. La computación en nube se ha desarrollado a lo largo de una serie de líneas, es la evolución más reciente, esta sufrió un desarrollo tardío y que en 1999  fue pionero de la entrega de aplicaciones empresariales a través de una página web simple.
Un hito importante se produjo en 2009, cuando Google y otros empezaron a ofrecer aplicaciones basadas en navegador. La contribución más importante a la computación en nube ha sido la aparición de 'aplicaciones asesinas' de los gigantes de tecnología como Microsoft y Google. Dichas compañías llevan a cabo sus servicios de una manera que resulta segura y sencilla para el consumidor.
Otro de los factores claves que han permitido evolucionar a la computación en la nube han sido según el pionero  Jamie Turner, quien dijo: "A medida que la computación en nube se extiende, su alcance va más allá de un puñado de usuarios de Google Docs. Sólo podemos empezar a imaginar su ámbito de aplicación y alcance. Casi cualquier cosa puede ser utilizado en la nube".


CARACTERISTICAS:
·         Agilidad: Capacidad de mejora para ofrecer recursos tecnológicos al usuario.
·         Costo: los proveedores de computación en la nube afirman que los costes se reducen.
·         La tecnología de virtualización permite compartir servidores y dispositivos de almacenamiento y una mayor utilización. Las aplicaciones pueden ser fácilmente migradas de un servidor físico a otro.
·         Seguridad: puede mejorar debido a la centralización de los datos. La seguridad es a menudo tan buena o mejor que otros sistemas tradicionales.
·         Mantenimiento: en el caso de las aplicaciones de computación en la nube, es más sencillo, ya que no necesitan ser instalados en el ordenador de cada usuario y se puede acceder desde diferentes lugares.

BENEFICIOS:
Integración probada de servicios Red. Por su naturaleza, la tecnología de cloud computing se puede integrar con mucha mayor facilidad y rapidez con el resto de las aplicaciones empresariales, ya sean desarrolladas de manera interna o externa.
Prestación de servicios a nivel mundial. Las infraestructuras de cloud computing proporcionan mayor capacidad de adaptación, recuperación completa de pérdida de datos  y reducción al mínimo de los tiempos de inactividad.
Una infraestructura 100% de cloud computing permite también al proveedor de contenidos o servicios en la nube prescindir de instalar cualquier tipo de software, ya que éste es provisto por el proveedor de la infraestructura o la plataforma en la nube.
 Un gran beneficio del cloud computing es la simplicidad y el hecho de que requiera mucha menor inversión para empezar a trabajar.
Implementación más rápida y con menos riesgos, ya que se comienza a trabajar más rápido y no es necesaria una gran inversión. Las aplicaciones del cloud computing suelen estar disponibles en cuestión de días u horas en lugar de semanas o meses, incluso con un nivel considerable de personalización o integración.
Actualizaciones automáticas que no afectan negativamente a los recursos de TI. Al actualizar a la última versión de las aplicaciones, el usuario se ve obligado a dedicar tiempo y recursos para volver a personalizar e integrar la aplicación. Con el cloud computing no hay que decidir entre actualizar y conservar el trabajo, dado que esas personalizaciones e integraciones se conservan automáticamente durante la actualización.
Contribuye al uso eficiente de la energía. En este caso, a la energía requerida para el funcionamiento de la infraestructura. En los datacenters tradicionales, los servidores consumen mucha más energía de la requerida realmente. En cambio, en las nubes, la energía consumida es sólo la necesaria, reduciendo notablemente el desperdicio.

DESVENTAJAS:
La centralización de las aplicaciones y el almacenamiento de los datos originan una interdependencia de los proveedores de servicios.
La disponibilidad de las aplicaciones está sujeta a la disponibilidad de acceso a Internet.
Los datos "sensibles" del negocio no residen en las instalaciones de las empresas, lo que podría generar un contexto de alta vulnerabilidad para la sustracción o robo de información.
La confiabilidad de los servicios depende de la "salud" tecnológica y financiera de los proveedores de servicios en nube. Empresas emergentes o alianzas entre empresas podrían crear un ambiente propicio para el monopolio y el crecimiento exagerado en los servicios.
La disponibilidad de servicios altamente especializados podría tardar meses o incluso años para que sean factibles de ser desplegados en la red.
La madurez funcional de las aplicaciones hace que continuamente estén modificando sus interfaces, por lo cual la curva de aprendizaje en empresas de orientación no tecnológica tenga unas pendientes significativas, así como su consumo automático por aplicaciones.
Seguridad. La información de la empresa debe recorrer diferentes nodos para llegar a su destino, cada uno de ellos (y sus canales) son un foco de inseguridad. Si se utilizan protocolos seguros, HTTPS por ejemplo, la velocidad total disminuye debido a la sobrecarga que éstos requieren.

Escalabilidad a largo plazo. A medida que más usuarios empiecen a compartir la infraestructura de la nube, la sobrecarga en los servidores de los proveedores aumentará, si la empresa no posee un esquema de crecimiento óptimo puede llevar a degradaciones en el servicio o altos niveles.