lunes, 11 de mayo de 2015

APLICACIONES






Los servicios de middleware proporcionan un conjunto más funcional de la API s para permitir una aplicación a:

  •  Localizar claramente a través de la red, proporcionando así una interacción con otro servicio o aplicación
  •  Los datos filtrados para que sean utilizables en un ambiente público a través de anonymization process para la protección de la privacidad(por ejemplo)
  • Ser independiente del servicio de red
  • Ser fiable y siempre disponible
  • Añadir los atributos complementarios como semántica en comparación con el sistema operativo y servicios de red.

Middleware ofrece algunas ventajas únicas tecnológicas para los negocios y la industria. Por ejemplo, los sistemas tradicionales de bases de datos suelen ser desplegados en entornos cerrados, donde los usuarios acceden al sistema sólo a través de una red restringida o intranet (por ejemplo, red interna de una empresa). Con el crecimiento de la World Wide Web, los usuarios pueden acceder a prácticamente cualquier base de datos para las que tengan derechos de acceso adecuados desde cualquier parte del mundo. Middleware aborda el problema de diferentes niveles de interoperabilidad entre las estructuras de base de datos diferente. Middleware facilita el acceso a la herencia de un sistema de gestión de bases de datos (DBMS) o aplicaciones a través de un servidor web, sin tener en cuenta las características específicas de base de datos.

Las empresas frecuentemente utilizan las aplicaciones de middleware para vincular la información de bases de datos de sus departamentos, tales como nóminas, ventas y contabilidad, o bases de datos alojadas en múltiples localizaciones geográficas. En el mercado de la salud que es altamente competitivo, los laboratorios hacen un amplio uso de aplicaciones de middleware para minería de datos y sistema informático del laboratorio (LIS), y para combinar los sistemas de información durante fusiones de hospitales. Los Middleware ayudan a reducir la brecha entre LISs separados en una red de salud recién formado a raíz de una compra del hospital.

Los desarrolladores de redes inalámbricas pueden utilizar middleware para afrontar los retos asociados a los de sensores inalámbricos de red (WSN), o tecnologías WSN. La implementación de una aplicación de middleware permite WSN (Los analistas Middleware desarrolladores). Para integrar los sistemas operativos y hardware con la amplia variedad de aplicaciones diferentes que están disponibles actualmente. 

Los middleware pueden ayudar a los desarrolladores de software a no tener que escribir APIs para todos los programas de control, que actúa como una interfaz de programación independiente para sus aplicaciones. Para la Internet del Futuro, el funcionamiento de la red a través del monitoreo de tráfico en escenarios multi-dominio, utilizando herramientas de mediación (middleware) es una poderosa ayuda, ya que permiten operadores, investigadores y proveedores de servicios para supervisar Calidad de servicio y analizar los eventuales fracasos en servicio de telecomunicaciones.

Por último, el comercio electrónico utiliza middleware para ayudar en el manejo de transacciones rápidas y seguras a través de muchos tipos diferentes de entornos informáticos. En resumen, el middleware se ha convertido en un elemento crítico en una amplia gama de industrias, gracias a su capacidad de reunir los recursos a través de diferentes redes o plataformas de computación.



En 2004 los miembros de la Unión Europea de Radiodifusión (UER), han realizado un estudio de Middleware con respecto a la integración de sistemas en entornos de difusión. Se trataba de sistema de expertos en ingeniería de diseño de 10 principales cadenas europeas, se trabajó durante un período de 12 meses para entender el efecto de productos, principalmente de software, basado en técnicas de producción de medios de comunicación y el diseño del sistema de radiodifusión. Los informes resultantes 3300S Tecnología 3300 y Tech fueron publicados y están disponibles gratuitamente desde el sitio web de la UER.

PROTOCOLOS MIDDLEWARE




Protocolos de nivel de transporte de Internet ambos permiten un paso de mensajes básico UDP: 
con fallos por omisión.


TCP: garantiza la entrega en condiciones normales, pero al coste de una bajada en el rendimiento.
 Generalmente, usamos TCP sobre IP, o TCP/IP 
Aunque TCP/UDP abstraen del nivel de red, no abstraen perfectamente de los niveles de hardware y SSOO
Distinto almacenamiento de números (little endian/big endian)
Distinta codificación de caracteres (ASCII/Unicode)

Bajo nivel:

Ofrece funcionalidades esenciales, generalmente relacionadas con cambios sobre el soporte básico TCP/UDP + IP:
·         Representación independiente de SSOO (marshalling)
·         Multicast sobre IP
·         Red virtual sobre la red IP subyacente.

 Alto nivel (invocación remota)

·         Centrada en el envío/recepción de datos
·         Remote Procedure Call (RPC)
·         Remote Method Invocation (RMI)

EVOLUCIÓN MIDDLEWARE



La arquitectura de los sistemas ha evolucionado con el tiempo. Acompaña los cambios tecnológicos y de paradigmas. Algunos tipos de arquitectura:
  • Centralizadas (Monolíticas).
  • Cliente/Servidor (2 niveles).
  • En múltiples capas (3 o más niveles).
  • Orientadas a servicios (Altamente desacopladas).


Modelo centralizado


También conocidas como “Mainframe architectures”. Toda la “inteligencia”, procesamiento de negocio, interfaces y persistencia, se realiza en un host central. Los usuarios interactúan a través de terminales tontas. 
Capturan el teclado, envían la información al host, este procesa y se retorna la pantalla a la terminal. 
La interacción puede realizarse tanto en terminales unix, dos/windows u otras. 
Fueron (y lo son todavía) muy exitosas en ámbitos donde se realizan procesamientos intensos de datos, Por ejemplo, entidades bancarias, procesamiento de tarjetas de crédito, etc. Es común encontrar hoy día mainframes en perfecto funcionamiento. Sus programadores se cotizan en el mercado (escasean).
  •        Posee limitantes.
  •        No soporta fácilmente el uso de interfaces gráficas.
  •        Se dificulta el acceso a repositorios de datos (DBMS) distribuidos.
  •       Hoy día existe un resurgimiento de las arquitecturas tipo mainframe.
  •     Como soporte para servidores en arquitecturas cliente servidor distribuidas.


Modelo Cliente/Servidor



  •         Como una evolución de las anteriores, surge este modelo.
  •         El servidor de archivos es reemplazado por una base de datos (relacional).
  •          Se tienen dos partes claramente diferenciadas, el cliente y el servidor.
  •          El cliente emite consultas, las cuales son respondidas por un servidor.
  •          En este caso, se recibe solo la respuesta, en vez de un archivo compartido.
  •           El procesamiento es dividido entre el cliente y el servidor, balanceando la carga entre ambos.
  •             Existen modelos basados en cliente servidor que extienden la idea.

  1.      Arquitecturas en 2 capas
  2.          Arquitecturas en 3 capas
  3.          Arquitecturas en 3 capas
  • · Monitores transaccionales
  • · Servidores de mensajes
  • · Servidores de aplicación

Arquitectura en 2 capas


La presentación y la lógica de negocio se encuentran en la maquina cliente.

  • Los datos y el acceso a los mismos, se resuelve en el servidor.
  • El servidor suele ser mucho más poderoso que las maquinas cliente.
  •  Este tipo de arquitecturas es buena cuando el volumen de los usuarios es alto.
  •  Ahora la lógica de negocio puede colocarse también dentro de la base de datos (nuevas herramientas).
  • Lenguajes de programación en el DBMS (Java, C).
  •  Procedimientos almacenados.
  • Triggers.

Todos estos enfoques limitan la portabilidad del sistema construido.
Sin embargo aumentan la eficiencia de los mismos, ya que el procesamiento:
Se hace más cerca de los datos. 
Se hace en un entorno más poderoso (servidor).

Arquitectura en 3 capas


También conocidas como arquitecturas multicapa (no están limitadas a 3)
Una capa intermedia se añade entre el ambiente del cliente y el servidor de base de datos.
Esta capa puede implementarse de múltiples formas. 

  • · Servidores de aplicación. 
  • · Monitores transaccionales. 
  • · Sistemas de mensajería.


TAXONOMÍA DE LOS SOFTWARE MIDDLEWARE

 


La taxonomía o clasificación del software middleware puede ser descrita en dos grandes categorías: una de integración y otra de aplicación. Éstas poseen a su vez diferentes clases. 

Categoría de integración


El tipo de integración que incluyen posee la capacidad de unirse con sistemas heterogéneos. Cada middleware posee diferentes protocolos de comunicación o formas de operar en diferente software. Los tipos de integración se pueden ver como: 

Orientados a procedimiento o procesos:


Los middleware que son orientados a procesos, utilizan una comunicación sincronizada (como por ejemplo el teléfono). Una de las características de estos, es que utilizan elclient stub y el server skeleton. El client stub convierte la petición en un mensaje que es mandado al servidor; luego el server skeleton recibe el mensaje, lo convierte en la petición y llama a la aplicación del servidor donde ésta es procesada. Terminado el procesamiento, ocurre el proceso inverso. El client stub chequea los errores, envía los resultados al software que inició la petición y entonces suspenden el proceso. Las ventajas de estos middleware es que usan un tipo estándar en nombres de servicios y procesos remotos, pueden retornar respuesta aun con problemas en la red y pueden manejar múltiples tipos de formatos para datos y niveles heterogéneos de sistemas de servicio. Las desventajas son que no poseen escalabilidad, no pueden retornar la información a un programa diferente del que realizó la solicitud (reflexión) y poseen procesos muy rígidos. 


Orientados a objetos:


Soportan pedidos de objetos distribuidos. La comunicación entre los objetos puede ser sincronizada, sincronizada diferida o no sincronizada. Soportan múltiples pedidos similares realizados por múltiples clientes en una transacción. La forma de operar es: 

1. El objeto cliente llama a un método lógico para obtener un objeto remoto. 

2. Un ORB Proxy (también conocido como stub) pone en orden la información y la transmite a través del agente (broker). 

3. El agente actúa como punto medio y contacta con diversas fuentes de información, obtiene sus referentes IDs, recolecta información y, en ocasiones, la reorganiza. 

4. El proxy remoto (también conocido como skeleton) desordena la información que le llega del agente y se la pasa al objeto servidor. 

5. El objeto servidor procesa la información y genera un resultado que es devuelto al cliente siguiendo los pasos inversos. 

Las ventajas son que permiten generar reflexión y escalabilidad, que opera con múltiples tipos de información y estados y que soporta procesos múltiples. Las desventajas consisten en obtener la existencia de vínculos antes de la ejecución y de un código contenedor para algunos sistemas heredados. 

Ejemplos representativos de este tipo de middleware son Java RMI, JavaBeans, DCOM, y CORBA. 

Orientados a mensajes (MOM, Message-oriented middleware): 


Se pueden dividir en dos tipos, espera y publicación/suscripción. El paso de espera se puede dividir en mensaje y espera. El paso de mensaje inicia con que la aplicación envía un mensaje a uno o más clientes, con el MOM del cliente. El servidor MOM, recoge las peticiones de la cola (Message Broker) en un orden o sistema de espera predeterminado. Los actos del servidor MOM son como un router y usualmente no interactúan con estas. El MOM de publicación y suscripción actúa de manera ligeramente diferente, es más orientado a eventos. Si un cliente quiere participar por primera vez, se une al bus de información. Dependiendo de su función, si es como publicador, suscriptor y ambas, este registra un evento. El publicador envía una noticia de un evento al bus de memoria. El servidor MOM envía un anuncio al subscriptor registrado cuando la información está disponible. 

Orientados a componentes: 


Un componente es un «programa que realiza una función específica, diseñada para operar e interactuar fácilmente con otros componentes y aplicaciones». El middleware en este caso en una configuración de componentes. Los puntos fuertes de este middleware es que es configurable y reconfigurable. La reconfiguración se puede realizar en tiempo de ejecución, lo que ofrece una gran flexibilidad para satisfacer las necesidades de un gran número de aplicaciones. 

Agentes:


Los agentes son un tipo de middleware que posee varios componentes: 

· Entidades. Pueden ser objetos o procesos. 

· Medios de comunicación. Pueden ser canales, tuberías, etc. 

· Leyes. Identifican la naturaleza interactiva de los agentes. Pueden ser la sincronización o el tipo de esquema. 

Las ventajas de los middleware agentes son que la capacidad de éstos para realizar una gran cantidad de tareas en nombre del usuario y para cubrir una amplia gama de estrategias basadas en el entorno que les rodea. Sin embargo su implementación es complicada debido a la complejidad y dificultades dadas por las operaciones que manejan. 

Categoría de Aplicación 


La clasificación por aplicación incluye los middleware que son ajustados para aplicaciones específicas. 

Middleware para acceso a información (DAM, Data Access middleware) 

Los middleware para acceso a información tienen la característica de poder interactuar con diversas fuentes de datos. En este tipo de middleware se encuentran los que procesan transacciones, gateways de bases de datos y sistemas distribuidos de transacción/procedimiento. Sus ventajas residen en la comunicación que tienen entre múltiples fuentes de datos, la conversión del lenguaje de programación de la aplicación a un lenguaje aceptado por la fuente de datos de destino y la capacidad de respuesta en un formato y lenguaje aceptable para el solicitante. 

Middleware de escritorio: 


Los middleware de escritorio pueden hacer variaciones en la presentación de la información pedida por el usuario por aplicaciones de rastreo y asistencia, controlar cualquier servicio de transporte y proveer una copia de seguridad y otras operaciones de fondo. Otras pueden ser manutención y gráficas, ordenamientos, directorios de servicios, manejo de información de la base de datos, manejo de procesos, calendarización de trabajos, notificación de eventos de servicios, manejo de instalación de software, servicios de cifrado y control de accesos. 

Middleware basados en la web: 


Este tipo de middleware asiste al usuario con la navegación web, el uso de interfaces que le permiten encontrar páginas de su interés y detectar cambios de interés del usuario basado en su historial de búsquedas. Provee de un servicio de identificación para un gran número de aplicaciones y comunicación entre procesos independiente del sistema operativo, protocolo de red y plataforma de hardware. Los middleware que se encuentran fuertemente unidos a la red se llaman servidores de aplicaciones, ya que mejoraran el rendimiento, disponibilidad, escalabilidad, seguridad, recuperación de información, y soportan la administración colaborativa y su uso. Los middleware pueden contactar directamente a la aplicación ganando mejor comunicación entre el servidor y el cliente. Otros servicios importantes dados por este tipo de middleware son servicios de directorios, emails, cadenas de suministros de gran tamaño, accesos remotos a información, descarga de archivos, accesos a programas y acceso a aplicaciones remotas. 


Middleware a tiempo real: 


La información en tiempo real es caracterizada porque la información correcta en un instante puede no serlo en otro. Los middleware en tiempo real soportan las peticiones sensibles al tiempo y políticas de planificación. Esto se realiza con servicios que mejoran la eficiencia de las aplicaciones de usuario. Los middleware en tiempo real se pueden dividir en diferentes aplicaciones: 

· Aplicación de base de datos en tiempo real. 

· Sensor de procesamiento. 

· Transmisión de información. 

La información que pasa a través de un middleware en tiempo real se ha incrementado dramáticamente con la introducción de Internet, redes inalámbricas, y las nuevas aplicaciones basadas en la difusión. Las ventajas de este tipo de middleware son que proveen un proceso de decisión que determina el mejor criterio para resolver procesos sensibles al tiempo, y la posibilidad de ayudar a los sistemas operantes en la localización de recursos cuando tienen tiempos límites de operación. Los middleware multimedia son una rama mayor en los middleware en tiempo real. Éstos pueden manejar una gran variedad de información. Estos tipos pueden ser textos, imágenes de todo tipo (GPS, imágenes, etc.), procesadores de lenguajes naturales, música y video. La información debe ser recopilada, integrada y entonces enviada al usuario sensible del tiempo. Los dispositivos multimedia pueden incluir una mezcla de dispositivos tanto físicos (parlantes, cámaras, micrófono) como lógicos. 


Middleware especialistas

En muchos casos los middleware proveen una tarea muy específica que no se puede ajustar a las categorías anteriores. Un ejemplo serían middlewares médicos.

HISTORIA DE MIDDLEWARE




    El origen de la palabra middleware se remonta al año 1968, en donde la palabra fue usada durante la '1968 NATO Software Engineering Conference', siendo una idea de cómo conectar el nuevo software con sistemas más antiguos. Durante las décadas previas a los 90s, fue solamente descrito como un software para la gestión de conexión en redes, pero para cuando las tecnologías en redes alcanzaron una penetración y visibilidad suficiente, el software middleware' había evolucionado en un conjunto de paradigmas y servicios. De esta forma se estaba ofreciendo una manera más fácil, robusta y controlable, para construir aplicaciones distribuidas. 

Los Middleware han aparecido de manera relativamente reciente en el mundo de la informática, hoy en día tecnologías móviles(celulares) están aplicando esta tecnología para el soporte de llamadas VOIP. En el pasado ganaron popularidad en la década de los 80, ya que eran la solución de cómo integrar las nuevas aplicaciones con los sistemas heredados (legacy systems), en todo caso, el termino ha sido usado desde 1968. 

Middleware es un software de computadora que conecta componentes de software o aplicaciones para que puedan intercambiar datos entre éstas. Es utilizado a menudo para soportar aplicaciones distribuidas. Esto incluye servidores web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares. Middleware es especialmente esencial para tecnologías como XML, SOAP, servicios web y arquitecturas orientada a servicios. Middleware es una incorporación relativamente reciente en la computación. Obtuvo popularidad en los 80 como una solución al problema de cómo conectar nuevas aplicaciones con viejos sistemas. De todas maneras el término ha sido usado desde 1968. También facilitaba el procesamiento distribuido: conexión de múltiples aplicaciones para crear una aplicación más grande, generalmente sobre una red.

Definiciones de middleware 



  •  Software de conectividad que consiste en un conjunto de servicios que permiten interactuar a múltiples procesos que se ejecutan en distintas máquinas a través de una red. Ocultan la heterogeneidad y proveen de un modelo de programación conveniente para los desarrolladores de aplicaciones.

  • La organización IETF (Internet Engineering Task Force) en mayo de 1997 lo definió como sigue: – “Un Middleware puede ser visto como un conjunto de servicios y funciones reutilizables, expandibles, que son comúnmente utilizadas por muchas aplicaciones para funcionar bien dentro de un ambiente interconectado”. 

  • Es un software que puede incrementar significativamente la reusabilidad mediante soluciones utilizables rápidamente y basadas en estándares aplicables a problemas y tareas comunes en programación. Permite concentrarse en asuntos propios de la aplicación y olvidarse de problemas comunes, estructurales o no, ya resueltos previamente de forma elegante y satisfactoria.

  • Middleware es un software de computadora que conecta componentes de software o aplicaciones para que puedan intercambiar datos entre éstas. Es utilizado a menudo para soportar aplicaciones distribuidas. Esto incluye servidores web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares. Middleware es especialmente esencial para tecnologías como XML, SOAP, servicios web y arquitecturas orientada a servicios.

  • El middleware define: el API que usan los clientes para pedir un servicio a un servidor, la transmisión física de la petición vía red, y la devolución de resultados desde el servidor al cliente. Ejemplos de middleware estándar para dominios específicos incluyen: ODBC, para bases de datos, Lotus para groupware, HTTP y SSL para Internet y CORBA, DCOM y JAVA RMI para objetos distribuidos.










miércoles, 29 de abril de 2015

PROGRAMACION ORIENTADA A OBJETOS

 Programación Orientada a Objetos




La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.

Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.

Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos). A su vez, dispone de mecanismos de interacción (los llamados métodos) que favorecen la comunicación entre objetos (de una misma clase o de distintas), y en consecuencia, el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben separarse) información (datos) y procesamiento (métodos).

Las clases son declaraciones o abstracciones de objetos, lo que significa, que una clase es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase.

Características


  • Abstracción: Cada objeto en el sistema sirve como modelo de un “agente” abstracto que puede realizar trabajo, informar y cambiar su estado, y “comunicarse” con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.

  • Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

  • Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.

  • Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en “tiempo de ejecución”, esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en “tiempo de compilación”) de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

  • Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple; esta característica no está soportada por algunos lenguajes (como Java).

Fuentes consultadas

https://frameworkphp.wordpress.com/2007/09/19/caracteristicas-de-la-programacion-orientada-a-objetos/


JAVA Y ALGO MAS


Historia del lenguaje Java

En Diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystems, reclutó a varios colegas entre ellos James Gosling y Mike Sheridan para trabajar sobre un nuevo proyecto conocido como "El proyecto verde".
Con la ayuda de otros ingenieros, empezaron a trabajar en una pequeña oficina en Sand Hill Road en Menlo Park, California. Y así interrumpió todas las comunicaciones regulares con Sun y trabajó sin descanso durante 18 meses.

Intentaban desarrollar una nueva tecnología para programar la siguiente generación de dispositivos inteligentes, en los que Sun veía un campo nuevo a explorar. Crear un lenguaje de programación fácil de aprender y de usar. 
En un principio se consideraba C++ como lenguaje a utilizar, pero tanto Gosling como Bill Joy lo encontraron inadecuado. Gosling intentó primero extender y modificar C++ resultando el lenguaje C++ ++ - (++ - porque se añadían y eliminaban características a C++), pero lo abandonó para crear un nuevo lenguaje desde cero al que llamo Oak (roble en inglés, según la versión mas aceptada, por el roble que veía através de la ventana de su despacho).
El resultado fue un lenguaje que tenía similitudes con C, C++ y Objetive C y que no estaba ligado a un tipo de CPU concreta. 
Mas tarde, se cambiaría el nombre de Oak a Java, por cuestiones de propiedad intelectural, al existir ya un lenguaje con el nombre de Oak. Se supone que le pusieron ese nombre mientras tomaban café (Java es nombre de un tipo de café, originario de Asia), aunque otros afirman que el nombre deriva de las siglas deJames Gosling, Arthur Van Hoff, y Andy Bechtolsheim.


Intentaban crear un lenguaje de programación fácil de usar y de utilizar, al principio consideraban el más útil C++ pero no todos estuvieron de acuerdo y lo encontraban inadecuado como Gosling. 
Gosling intentaba modificar C++, pero al final termino abandonando el proyecto y sus cambios y empezo desde cero al que llamo Oak, similar a C,C++. Luego Oak cambió el nombre a Java porque resultaba que ya existia un lenguaje llamado Oak, se dice que Java es originario de Asia, lo nombraron así mientras tomaban café.

En Agosto del 1991 Java ya tenía sus propios programas. Para 1992, el equipo o grupo desarrollo un sistema llamado Star7, parecido a PDA, cuyo nombre viene de la combinacion del "Proyect Green" o "Proyecto Verde" como mencionamos antes, que permitía a los usuarios responder al teléfono desde cualquier lugar. 


En Septiembre de 1992 se presentan los prototipos de bajo nivel del sistema, que continuaban desarrollando, incluyendo el sistema operativo. Y se termina a finales de Septiembre como el "Proyecto Verde"

De 1993 a 1994 el equipo de Naughton lanzó nuevas propuestas al mercado, las mismas que se fueron dando en el sistema operativo base. Sin embargo, este proyecto fracasó por sus ambiciones de ganar ofertas. Afortunadamente el Proyecto Verde coincidió con el fenómeno mundial WEB

Naughton procedió a la construcción del lenguaje Java y en Septiembre de 1994 se termina el prototipo de HotJava cuando se hace la demostración y se reconoce el potencial de Java y aceptan el proyecto.

EMULADORES

CONCEPTO

Un emulador es un software originalmente pensado para ejecutar programas de diversas índoles, en una plataforma o sistema operativo diferente al programa que deseamos abrir o ejecutar.

Un emulador es un software que permite ejecutar programas o videojuegos en una plataforma diferente a aquella para la cual fueron escritos originalmente. Los emuladores se utilizan para recrear la experiencia de los videojuegos de máquinas recreativas o videoconsolas, en computadoras personales u otras videoconsolas.


Emuladores más populares


Las siguientes compañías ofrecen emuladores para todos o algunos de sus dispositivos móviles (véase la lista a continuación no son exhaustivos):
  • Research in Motion (BlackBerry)
  • Apple (iPhone)
  • Samsung
  • Palm
  • LG

Emuladores para dispositivos móviles:
  • Device Anywhere
  • MobiReady
  • OperaMini
  • W3C Mobile OK Checker
  • dotMobi Emulator
  • iPhoney

Emuladores de funcionamiento del sistema están disponibles en:
  • Microsoft (Windows Mobile)
  • Google (Android)
  • Nokia (Series 40 and Series 60) 

Algunos emuladores de búsqueda disponibles son:
  • Opera Mini
  • Openware

DeviceAnywhere



es un innovador servicio diseñado por Mobile Complete que pone en manos de los desarrolladores la interacción con los dispositivos en tiempo real conectados a redes globales activas.

Creada a partir de la innovadora tecnología Direct- To-Device™ de interacción con dispositivos de Mobile Complete.

DeviceAnywhere permite conectarse y controlar dispositivos móviles en todo el mundo, con tan solo acceder a través de Internet.


Consta de una plataforma en tiempo real, no simulada, en la que se puede pulsar una tecla para los botones laterales del dispositivo, hablar por el micrófono del dispositivo a través del micro del ordenador, visualizar la pantalla LCD del dispositivo, escuchar el altavoz y timbres, conectar y desconectar la batería, cable eléctrico y cable de datos, hacer llamadas, navegar por sitios WAP, enviar y recibir mensajes y muchas más cosas.
DeviceAnywhere cuenta con un banco de dispositivos móviles en el que se incluyen dispositivos situados en los Estados Unidos, Canadá, Reino Unido, Francia, Alemania, España y Japón. También ofrece una variada cartera de compañías de telefonía y fabricantes de todo el mundo.

mobiReady


mobiReady se lanzó en noviembre de 2006 como herramienta gratuita para que los desarrolladores tuvieran un mejor conocimiento de su contenido web y sus posibilidades de funcionamiento en los dispositivos móviles.
El comprobador de sitios prueba las páginas web para comprobar su disponibilidad móvil, además del tiempo y coste de descarga, basándose en el tamaño del contenido y en otros elementos adicionales.
Desarrollado junto a W3C y las principales compañías de movilidad, mobiReady además proporciona asesoramiento sobre cómo solucionar los problemas para que el contenido funcione en la más amplia variedad de teléfonos móviles.
El crecimiento del uso de la herramienta se refleja en el crecimiento general de la web móvil. mobiReady ha demostrado ser una herramienta potente que ayuda a los desarrolladores a crear y mant



LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE APPS

Lenguajes para Programar en Android

Basic4Android


Basic4Android es una plataforma de programación para aplicaciones Android cuyo lenguaje base de programación es VisualBasic, el eterno rival de Java, ese lenguaje que está orientado a aquellas personas que empezamos en el mundo de la programación de una manera más gráfica y no tan abstracta. No es el mismo lenguaje de Microsoft, pero su sintaxis es la misma, lo cual tiene sus mismas ventajas como algunos de sus inconvenientes.
esta plataforma no es gratuita, encontramos desde la versión mínima pago que es de 49 dólares hasta la versión máxima de 249 dólares americanos.

App Inventor



Esta plataforma de desarrollo está basada en un lenguaje de desarrollo gráfico en donde no escribes ni una sola línea de código, tan solo arrastras bloques identificados con la acción que necesitas hacer y listo.
Esta plataforma de desarrollo fue impulsada por Google hace un tiempo con el fin de que más personas se unieran a la familia de Android.
LiveCode



El lenguaje de programación que usa LiveCode se llama “Programación Orientada a Eventos”, y se basa en arrastrar elementos a un área de trabajo y programar los eventos que estén vinculados a este elemento; por ejemplo, si arrastras un botón al área de trabajo, el evento que tienes vinculados es el click sobre ese botón, o por ejemplo si arrastras una imagen, el evento vinculado es por ejemplo moverlo sobre la pantalla.

Este programa también es de pago dependiendo de que alcance quieres tener en tus desarrollos, si quieres llegar a los sistemas operativos más populares, la licencia va a ser mucho más costosa que si solo necesitas programar por ejemplo solo para Android; la licencia mas económica es de 99 dólares americanos, pero tendrás también una versión de prueba de 30 días para que evalúes y puedas por ejemplo sustentar la compra haciéndole ver los beneficios de la misma a tus jefes.





FRAMEWORK PARA EL DESARROLLO DE APLICACIONES MÓVILES




En el desarrollo de aplicaciones para dispositivos móviles se puede indicar tres tipos de aplicaciones: aplicaciones basadas en tecnología web, aplicaciones nativas y aplicaciones híbridas.

Las aplicaciones basadas en tecnología web son básicamente páginas web que interactúan dinámicamente mediante Javascript y pueden presentar un diseño similar a una aplicación nativa, sin embargo tienen algunas limitaciones en cuanto a la interacción con el hardware del dispositivo debido a que deben ser ejecutados en un navegador instalado en el dispositivo además que requieren de acceso a internet.

Las aplicaciones nativas son desarrolladas en el lenguaje que es soportado por el sistema operativo del dispositivo móvil, por ejemplo Objective C para IOS o Java para Android, mediante el cual se puede tener acceso a todas las características del hardware del dispositivo, sin embargo la aplicación es ejecutada solo en el sistema operativo para el cual fue desarrollado.

Las aplicaciones híbridas es una fusión de los conceptos de aplicación basada en tecnología web y nativa. El código nativo es proporcionado por medio de un framework que tiene un API de Javascript con el cual el código Javascript de la aplicación puede acceder algunas funciones del hardware del dispositivo móvil, como ser tomar fotografías con la cámara, acelerómetro y otras. Los archivos de la aplicación híbrida son almacenados localmente, por lo cual no se requiere de un navegador y acceso a Internet para que la aplicación sea ejecutada.


JQUERY MOBILE

JQuery Mobile es un framework basado en HTML5 optimizado para todas las plataformas de dispositivos móviles, es uno de los más populares y está desarrollado a partir de JQuery y JQuery UI. Su implementación es sencilla y posee amplia documentación, además cuenta con ThemeRoller for Mobile para la creación la temas personalizados aprovechando las ventajas de CSS3.



SENCHA TOUCH 2 


Sencha Touch 2 es una framework para el desarrollo de aplicaciones móviles de alto rendimiento basados en HTML5. Este framework incluye soporte para Blackberry 10 e IE 10 y es compatible con iOS, Android, BlackBerry, Windows Phone y otros. Esta desarrollado a partir de la plataforma HTML5 de Sencha, por lo cual se puede emplearSencha Cmd, que es una herramienta de línea comando multiplataforma que permite realizar muchas tareas de manera automática como ser generar un nuevo proyecto.


PHONEJS 


PhoneJS es un framework que contiene lo necesario para crear aplicaciones usando HTML5 y Javascript para desarrollar aplicaciones compatibles con los más populares smartphones y tablets. Es compatible para aplicaciones de IOS, Android y WindowsPhone. PhoneJS aprovecha todas las funcionalidades de JQuery y opcionalmente se puede incluir Knockout para el desarrollo de las interfaces de usuario con el modelo MVVM (Model-View-ViewModel).

KENDO UI


Kendo UI es un framework para el desarrollo de sitios web con HTML5 y aplicaciones mobiles. Posee widgets basados en JQuery, una simple y consistente interfaz de programación, un framework MVVM, temas y templates. Permite construir aplicaciones que parecen y se usan igual que una aplicación nativa por medio de un simple código de interfaz de usuario usando solo HTML5 y JavaScript.



Fuentes consultadas
http://www.webbizarro.com/aplicaciones/594/frameworks-para-el-desarrollo-movil/
http://programacion.net/articulo/10_framework_para_desarrollar_aplicaciones_para_dispositivos_moviles_basadas_en_html_498
https://enboliviacom.wordpress.com/2013/08/23/frameworks-para-el-desarrollo-de-aplicaciones-para-dispositivos-moviles-basados-en-tecnologia-web/


EMPRESAS O FABRICANTES DE DISPOSITIVOS MÓVILES

APPLE


Apple es una empresa que diseña y produce, hardware y software de última generación, fundad en el año de 1971 por Steve Jobs y Steve Wozniak, quienes iniciaron diseñando computadoras que estuvieran acorde a los ideales propios de lo que debería ser un computador, trataron varios años antes de construir su primera computadora Apple I, la cual fue presentada en el HomebrewComputerClub y desde ese entonces se vio como un negocio lucrativo que les permitiría desarrollar nuevas ideas de computadores.

En el año de 1976 Steve Jobs conoció a Mike Markkula quien invirtió en la empresa para inyectarle capital y en ese momento se creó Apple Computer, con el dinero recogido con la venta de Apple I, se inicio en el desarrollo del proyecto de Apple II, una vez terminado el proyecto lo presentaron en el Personal Computing Festival, en donde conocieron otros fabricantes y otras ideas que más adelante aplicarían en el desarrollo de sus nuevos computadores.

Steve Jobs luego asistir a este festival tuvo una gran idea que marcaria el rumbo de la empresa, los computadores deberían ser y tener un funcionamiento más fácil y práctico para los usuarios, por tal motivo en su nuevo producto implemento una salida de video, un teclado y un ratón, lo que se convertiría en la forma más sencilla para que los usuarios interactuaran con el computador. El modelo final de Apple II se presento en el año de 1977 con una pantalla a color y todas las herramientas de entrada, es por eso que modifico su logotipo por el de la manzana coloreada.

En la década de los años 80 y 90 Apple desarrollo diferentes equipos de computación, pero algunos tuvieron costos elevados, o problemas en el funcionamiento de los equipos, sin embargo en estos equipos implementada innovaciones tecnológicas que fueron aportes importantes en el desarrollo de la computación moderna,

En este nuevo siglo Apple ha estado a la vanguardia de la revolución tecnológica innovando con la presentación de nuevos productos con los equipos Macintosh, iPod, iPhone y últimamente el iPad.


SAMSUNG 


Samsung es una empresa que diseña y produce equipos electrónicos, industriales, automotriz, servicios financieros, productos químicos, entretenimiento, entre otros, fue fundada en el año de 1938, como una empresa de exportaciones, es una de las empresas más reconocidas de Corea del Sur.

En el año de 1969 se fundó la empresa Samsung Electronics, encargada de producir todos los equipos electrónicos de Grupo Samsung, actualmente es una de las empresas más grandes y reconocidas a nivel mundial, además de tener una de las mayores ganancias en el mundo.

Samsung Mobile es la división comercial que produce teléfonos móviles e inteligentes de esta compañía, y es una de las divisiones que mayores ganancias le genera a la compañía.

Multinacional surcoreana líder en ventas desde el año de 2012. La mayoría de sus teléfonos celulares inteligentes funcionan con el sistema operativo Android, aunque ha probado Windows Phone 8 en dispositivos como el ATIV S. Introdujo el primer chipset de ocho núcleos (Exynos 5 Octa) como procesador de una versión del Samsung Galaxy S4, su principal dispositivo en el inicio del segundo semestre de 2013. Otros smartphones destacados para ese período: Galaxy SIII, Galaxy SII, Galaxy Note II,Galaxy Note, Galaxy Mega 6.3.



NOKIA 

La sede central de Nokia se encuentra ubicada en la ciudad Keilaniemi, Espoo en Finlandia, es una de las empresas más representativas de este país y del continente europeo. 

Fue creada en el año de 1865 por el Ingeniero Fredrik Idestam y su esposa Gladys Esther, quienes en sus inicios establecieron una fábrica de pulpa de madera para la producción de papel, después ampliaron los negocios de la empresa para producir caucho, calzado, llantas y más adelante derivados del caucho como pelotas, juguetes entre otros. 

Uno de los pasos más importantes que realizo la empresa para ingresar en el nuevos mercados fue la compra de una empresa de producción de cables para la creación de redes telegráficas y telefónicas. 

La empresa incursión en el área de la comunicaciones en la década de los 60 y creó un departamento de electrónica que dio sus primero frutos en el año de 1962 al producir artículos de tecnología como semiconductores que se utilizaron en la industria de esa época. 

Un aporte importante de la época que impulso a Nokia y lo colocarlo como el líder de los competidores, fue la introducción del sistema de modulación por pulsos y el desarrollo de los transmisores por microondas, en los años siguientes la innovación tecnológica digital mejoro el área de las telecomunicaciones y en especial la empresa. 

Nokia desarrollo el sistema DX200, el cual se convirtió en la plataforma base para los conmutadores, la telefonía fija y móvil, en este sistema se empleo un lenguaje de alto nivel computación y componentes tecnológicos como los microprocesadores Intel. 

La compañía Nokia es una empresa especializada en desarrollo de tecnología de telecomunicaciones que ha demostrado a lo largo de su trayectoria empresarial ser innovadora y competitiva. 



LG


LG Group es una empresa de Corea del Sur que fabrica productos electrónicos, teléfonos móviles y productos petroquímicos y opera filiales como LG Electronics. Creada en 1947, asumió el nombre abreviado de "LG", en 1995. LG es una abreviatura de "Lucky Goldstar" (Goldstar: Estrella dorada) en Corea del Sur, que ha sido traducido al inglés como Lucky Venus (Goldstar). Esta también es una compañía ampliamente reconocida por sus dispositivos móviles; en este caso con una cuota de mercado de 4.2% y 7.2 millones de teléfonos vendidos.
Escaló posiciones cimeras con el modelo LG Optimus G, número uno de nuestro escalafón anual de los mejores smartphones de 2012, con cuyo dispositivo marcó pauta al dotarlo de 2GB de memoria RAM. Ha trabajado en forma mancomunada con Google para fabricar el Nexus 4. Smartphones destacados segundo semestre 2013: Optimus G Pro, Optimus G, Lucid,Lucid 2, Optimus F7, Nexus 4, serie Optimus Vu.






PERSONAJES QUE APORTARON A LAS TECNOLOGÍAS DE COMUNICACIÓN

ANTONIO SANTI GIUSEPPE MEUCCI




Inventor y científico italiano nacido en Florencia en 1808 y muerto en Nueva York en 1889. Fue el inventor del teléfono, pese a que históricamente la "paternidad" del aparato se atribuyó al estadounidense de origen escocés, Alexander Graham Bell.

Meucci había cursado estudios de Ingeniería Mecánica en su Florencia natal y en la década de los años treinta emigró a Cuba en busca de fortuna. No tuvo suerte y después de trabajar durante algunos años como tramoyista y sanador en La Habana volvió a emprender viaje, esta vez con destino a Nueva York.



MARTÍN COOPER




Martin Cooper, el padre del teléfono móvil, nació en 1928 en Chicago, Illinois. Hijo de inmigrantes ucranianos, Cooper decidió que los teléfonos deberían ser lo suficientemente pequeños como para ser portáliles y su empeño dio lugar, en 1973, al primer prototipo de teléfono móvil. El inventor llegó a confesar que fue viendo al Capitán Kirk usar su comunicador en la serieStar Trek lo que le inspiró para desarrollar el aparato.Fue en Motorola donde desarrolló el primer prototipo de teléfono móvil al ser nombrado director corporativo de Investigación y Desarrollo . Se llamaba DynaTAC y su batería tenía una duración de 35 minutos de duración y pesaba un kilogramo. El equipo de Cooper consiguió reducir su peso a la mitad y en 1983 salió a la venta por un precio de 4.000 dólares (unos 2.900 euros).


TIMOTHY JOHN “TIM” BERNERS-LEE




Berners-Lee se coloca en primer lugar por haber dado origen a Internet, invento que ya se considera, en cuanto a comunicación humana se refiere, el más revolucionario desde la imprenta de Gutenberg.

Ante la necesidad de distribuir e intercambiar información acerca de sus investigaciones de una manera más efectiva, Berners-Lee desarrolló las ideas fundamentales que estructuran la web. Él y su grupo crearon lo que por sus siglas en inglés se denomina Lenguaje HTML (HyperText Markup Language) o lenguaje de etiquetas de hipertexto, el protocolo HTTP (HyperText TransferProtocol) y el sistema de localización de objetos en la web URL(UniformResource Locator).

Es posible encontrar muchas de las ideas plasmadas por Berners-Lee en el proyecto Xanadu (que propuso Ted Nelson) y el memex (de Vannevar Bush).

Es considerado el padre de la web.



VINTON 'VINT' GRAY CERF



Vinton Vint Cerf. Matemático.es un científico de la computación estadounidense, considerado uno de los 'padres' de Internet. Nacido en Connecticut (Estados Unidos) en 1943, se graduó en matemáticas y ciencias de la computación en la Universidad de Stanford(1965). Durante su estancia posterior en la Universidad de California (UCLA) obtuvo la maestría en ciencias y el doctorado.
Quien trabajo para la red militar cuyo objetivo era crear una red de redes. 
Así mismo las investigaciones lideradas por el llevaron al diseño del conjunto de protocolos que hoy son conocidos como TCP/IP (Transmission Control Protocol/Internet Protocol), que fue presentado por Vinton Cerf y Robert Kahn en 1972. 

Cerf diseñó el MCI MAIL, primer servicio comercial de correo electrónico que se conectaría a Internet.



RAY TOMLINSON 




Ray Tomlinson (nacido en 1941 en Amsterdam, Nueva York) es un programador estadounidense famosamente conocido por haber inventado el correo electrónico. 
Graduado en ingeniería eléctrica del Masachusetts Institute Tecnology (MIT). A poco de recibirse en 1967 ingresó a la empresa BBN (Bolt, Beranek and Newman), la cual recibió el encargo de trabajar para la red de computadoras "ARPANET" (Advanced Research Projects Agency Network) con un sistema de inter-comunicación militar. Una vez integrado al equipo de trabajo, desarrollaron un programa llamado SNDMSG para enviar mensajes entre las distintas terminales de una misma computadora. 
Al inicio de la década de 1970, los usuarios militares o de grandes empresas, utilizaban mayormente la informática mediante "terminales tontas o bobas" (una pantalla y un teclado, sin la capacidad de procesamiento ni almacenamiento), conectados a un servidor. 
En septiembre de 1971, cuando la BBN ya estaba conectada al ARPANET, Tomlison adaptó el programa SNDMSG de forma tal que sirviera para enviar mensajes entre diferentes usuarios conectados a una red más amplia, pero sin que sean conocidos (Lo que hoy día se conoce como correo electrónico o e-mail). Allí fue que se le ocurrió utilizar un símbolo, el @ (arroba), con este método uniría el nombre del usuario y del servidor.



BILL GATES


Empresario estadeunidense ( Seattle Washington 1955). Bill Gates nacio en una familia acomodada que le proporciono una educación en centros de Elite como la escuela de Lakeside(1967-73) y la Universidad de Harvard (1973-77).
En 1975 se traslado a Alburquerque (Nuevo México ) para trabajar suministrando programas suceptibles de ser utilizados con el primer micro ordenador el Altair. En 1976 fundo Microsoft corporation, su negocio era elaborar programas adaptados a las necesidades delos nuevos micro-ordenadores y ofrecerselos a las empresas fabricantes mas baratos que si los hubieran desarrollado ellas mismas. fue el inventor de Windows y de Microsoft
Bill Gates es el segundo hombre más rico de la Tierra, y esto no se logra reparando portátiles. Bill Gates como todos sabemos es el fundador de Microsoft la compañía que dominó el mundo de los sistemas operativos de todo el mundo en los inicios de la informática personal.

Hoy en día Microsoft cuenta con bastantes más enemigos y rivales potenciales que en sus inicios, de todas maneras ha conseguido seguir en la lucha renovando y agrandando su imperio hacia los videojuegos y los móviles.



STEVE JOBS 


( Los Altos California 1955- Los Ángeles 2011). Informático y empresario estadounidense. Padre de el primer ordenador personal ( el apple I) y fundador de apple computer provablemente la empresa mas innovadora del sector, este mago de la informática fue uno de los mas influyentes de la vertiginosa escalada tecnológica en que aun vive el mundo actual, contribuyendo desicivamente a la popularización de la informática. Sus ideas visionarias en el campo de los ordenadores personales, la música digital o la telefonía móvil revolucionaron los mercados y los hábitos de millones de personas durante mas de cuatro décadas.



MARCK ZUCKERBERG



Nacio en Dobbs Ferry, Westchester 1984. Empresario y programador informático estadeunidense. Creador y presidente de la comunidad virtual Facebook ,en el año 2008 con tan solo 23 años se convirtió en el multimillonario mas joven de al lista que publica anualmente la revista Forbbes.
Nacido en el ceno de una familia judía, su pasión por la informática se manifestó muy pronto,y ya a los doce años a programar. Creo la empresa de Facebook



LARRY PAGE Y SERGUÉI BRIN 


Larry Page y Serguéi Brin comenzaron Google como un proyecto universitario en enero de 1996 cuando ambos eran estudiantes de posgrado en ciencias de la computación en la Universidad de Stanford. El nombre original del buscador era BackRub, en 1997 los fundadores deciden cambiar el nombre a Google inspirados por el término matemático "gúgol" que se refiere al número uno seguido por 100 ceros en referencia a su objetivo de organizar la enorme cantidad de información en la Web. Page y Brin fundan, el 4 de septiembrede 1998, la compañía Google Inc., que estrena en Internet su motor de búsqueda el 27 de septiembre siguiente (considerada la fecha de aniversario). Contaban con un armario lleno de servidores (unos 80 procesadores), y dos routers HP. Este motor de búsqueda superó al otro más popular de la época, AltaVista, que había sido creado en 1995. En el 2000 Google presentó AdWords, su sistema de publicidad en línea y la llamada Barra Google.



CHAD HURLEY & STEVE CHEN 


Youtube fue la innovadora creación de 3 jóvenes emprendedores de los Estados Unidos. Estos jóvenes ahora forman parte de ese grupo de nuevos empresarios y millonarios del internet, que han formado grandes empresas prácticamente basados en una idea innovadora y sin demasiados recursos personales. 
Su historia simplemente es digna de admirar, puesto que en poco tiempo Youtube se ha convertido en la plataforma de vídeos más visitada del mundo, y los emprendedores que la crearon ahora disfrutan de una enrome fortuna. 
eran empleados de la famosa empresa de internet "Paypal" que se dedica a prestar servicios de cobros y pagos de dinero en linea. Según la teoría principal contada por dos de los fundadores, la idea de crear Youtube nació en una fiesta de la empresa, en donde ellos fueron los encargados de grabar los sucesos más importantes de la fiesta. 
Entonces, el dilema surgió cuando era necesario que todos los invitados recibieran una copia del recuerdo de aquella noche loca. Los emprendedores expresaron que seria buena idea que hubiera una forma de compartir el vídeo con todos los invitados de manera simultanea. Fue entonces que se propusieron crear Youtube como solución a ese problema que de seguro afectaba a más de uno en cualquier parte del mundo. 


Fuentes consultadas

http://blogthinkbig.com/antonio-meucci-verdadero-inventor-telefono/
http://www.rtve.es/noticias/20090617/martin-cooper-padre-del-telefono-movil/281130.shtml
https://sites.google.com/site/claudionevescef/coisas-de-familia/biogra
http://www.ricosyexitosos.com/2014/03/chad-hurley-steve-chen-y-jawed-karim.html
http://curiosidades.batanga.com/2010/11/07/los-10-cientificos-mas-importantes-de-la-historia
http://clopretecnologia.blogspot.mx/p/personajes-que-aportaron-la-tecnologia.html