Está en la página 1de 11

UNIVERSIDAD METROPOLITANA

APLICACIONES DISTRIBUIDAS I NOMBRE: JAVIER VILLARREAL TEMA: Aplicaciones Distribuidas en la Tecnologa Macintosh SEMESTRE 2012-2013

1. GUI (WEB) Browsers.


Safari

A favor: Safari es veloz como un rayo tanto en la invocacin inicial, creacin de nuevas pestaas o ventanas como en el rasterizado. Maneja los objetos incrustados (Flash, QuickTime, etc.) sin despeinarse. En contra: Es difcilmente personalizable, cuando lleva mucho rato en ejecucin devora memoria sin piedad y se le resisten algunas pocas pginas (tpicamente las de los bancos, reservas de vacaciones, tiendas online, etc.)

Firefox

A favor: Firefox es personalizable hasta la extenuacin tanto en themes como en extensiones, tiene paulatinamente ms peso en la industria (no obstante es multiplataforma) y por ello cada vez ms desarrolladores cuidan que sus webs funcionen perfectamente sobre l. Desde la versin 3 gestiona la memoria muy dignamente. Recibe actualizaciones con frecuencia y los fallos de seguridad que van surgiendo se corrigen con transparencia. En contra: Es lento, no lento con maysculas pero s tiene una desventaja contra Safari.

Opera

A favor: Opera es muy personalizable e integra de serie un gestor de correo electrnico, lector de feeds, cliente BitTorrent y el ya famoso (y copiado por Microsoft y Google) Speed Dial. En contra: Tuvo fama de ser un avanzado en el cumplimiento de los estndares pero se est quedando rezagado, usa un motor propio (frente a los Gecko y WebKit de la competencia) y eso les da trabajo y cada vez les pasa ms factura.

Flock

A favor: Flock es un Firefox orientado a los servicios sociales, integra funciones como subir una foto a Flickr, marcar una web en delicious o publicar una entrada en un blog. Ideal para los adictos a estas modernices 2.0. En contra: Lo miso de Firefox.

Camino

A favor: Camino tiene una esttica muy cuidada, pero que desde Firefox 3 creo ya no tiene mucha razn de ser. En contra: Las de Firefox, adems, siempre va un paso por detrs de ste.

OmniWeb

A favor: OmniWeb plantea una navegacin por el historial que se agradece mucho, la forma en que gestiona las pestaas, acompaadas de una captura de imagen del sitio que estamos viendo. En contra: Las de Safari y es de pago.

Plainview

A favor: Plainview es un Safari a pantalla completa. Incorpora funcionalidades pensadas para hacer presentaciones en las que quieres centrar la atencin sobre la web y nada ms. En contra: No le veo ninguna ms all de las propias de Safari, hace lo que tiene que hacer, no est creado para ser el navegador de cabecera.

2. LENGUAJES DE PROGRAMACIN.
API totalmente orientada a objetos.
A diferencia de las API de otros sistemas operativos tradicionales como Windows, UNIX u OS/2, Mac OS X tiene una API totalmente orientada a objetos, con un diseo realmente bueno, que vamos a ir explicando. Como ha comentado varias veces Steve Jobs, una API totalmente orientada a objetos es una apuesta arriesgada ya que exige a los programadores un mayor nivel de formacin, aunque tiene la ventaja de que el tiempo de desarrollo se reduce mucho. Esto pudo ser un inconveniente a principios de los 90, cuando se empez a desarrollar NeXTSTEP, pero actualmente la mayora de las herramientas de programacin que se estn diseando usan metodologas de programacin orientadas a objetos. Una apreciacin curiosa, como consecuencia de esta clara orientacin a objetos, y de la reduccin del coste de desarrollo que implica, es que en el mundo de Mac OS X la mayora de las aplicaciones estn siendo desarrolladas por programadores individuales, a diferencia de los grandes equipos de trabajo que suelen desarrollar las aplicaciones ms conocidas en otros entornos.

Cocoa
La API de programacin de Mac OS X se llama Cocoa (chocolate, suponemos que para complementar el caf que tomaban los programadores de Java) y como dijimos antes es una API totalmente orientada a objetos, es decir formada bsicamente por clases. A esta API se la considera un framework en el sentido de que sus clases ayudan al programador a montar el esqueleto de su aplicacin. Una caracterstica importante de esta API es que es accesible tanto desde Objetive-C como desde Java, lo cual es muy til ya que reduce considerablemente el tiempo de aprendizaje del framework. Hay que tener en cuenta que en la actualidad las libreras de programacin son tan grandes, que su aprendizaje nos lleva mucho ms tiempo que el aprendizaje del lenguaje de programacin en s. La librera Cocoa est dividida en dos kits: Application Kit Este kit contiene todas las clases relacionadas con la interfaz grfica (ventanas, botones, cajas de texto, etc.). Pero el Application Kit es mucho ms que un conjunto de componentes de interfaz grfica, tambin nos da acceso a OpenGL, o tiene clases para gestin de documentos (mediante el patrn vista-documento usado tambin en otros muchos frameworks de programacin), o por ejemplo, tambin trae

clases que encapsulan fuentes, colores, impresin, correccin ortogrfica o drag and drop. Foundation Kit Este kit contiene todas las dems clases no visuales como son las clases de acceso a ficheros, de programacin multihilo, de trabajo en red, de utilidad, de gestin de cadenas, etc.

Carbon
Carbon es el nombre de la API que mantiene compatibilidad con la antigua API de Mac. Para facilitar la migracin al nuevo SO a las aplicaciones Mac actuales, Apple ha puesto esta API en Mac OS X. Se trata de un API programable basada en funciones C. Los nuevos programadores que lleguen a Mac OS X no deben de estudiar esta API, ya que con el tiempo Apple acabar dejando de darla soporte y luego quitndola. La estrategia es la misma que la que aplic Microsoft cuando migro de Win16 a Win32, pero con la diferencia de que Win32 est ah para quedarse, y Carbon acabar siendo sustituida por Cocoa.

Java
Por un lado la mquina virtual de Apple dispone de todas las libreras estndar del Java 2 SDK 1.4.2 (AWT, Swing, Servlets, JSP, J2EE), y de hecho est certificada por Sun como una mquina virtual 100% pure Java. Esto permite ejecutar aplicaciones Java hechas en otros entornos en Mac OS X, y viceversa. Pero adems desde Java podemos acceder a todas las clases de la API Cocoa (vase Figura 1), lo cual permite realizar aplicaciones Java prcticamente tan rpidas como sus correspondientes aplicaciones Objective-C.

Objective-C++
Objective-C++ es un lenguaje que surgi en los tiempos de NeXTSTEP. Este lenguaje permite mezclar cdigo fuente C++ y Objective-C en el mismo fichero, as como llamar a objetos C++ desde Objective-C y viceversa. Esto permite al programador ObjectiveC utilizar todas las libreras de C++ existentes, y al programador C++ acceder a todas

las libraras de Cocoa. Los ficheros Objective-C++ llevan la extensin .mm .M (extensin antigua que se mantiene por compatibilidad). Aunque inicialmente el compilador de Mac OS X no soportaba Objective-C++, a partir de Septiembre del 2001 Apple, tras las continuas peticiones recibidas por parte de los desarrolladores, anunci que lo incluira y as lo hizo metindolo como parte del gcc a partir del gcc 2.95.2, que vena con Mac OS X 10.1

3. DBMS (GESTORES DE BASES DE DATOS).


FileMaker.
FileMaker es una base de datos relacional completamente integrada con la interfaz que utilizamos para gestionarla, crear formularios, informes, etc., muy similar al modelo de Microsoft Access. Estenfocada a la sencillez de manejo, y aunque es lo suficientemente flexible para permitir un alto grado de personalizacin, destaca sobre todo por las soluciones prediseadas que incorpora. Funcionamiento bsico: lleva incorporadas 30 soluciones prediseadas para gestionar diversos tipos de informacin, gestin de contactos, inventarios, proyectos, etc., pero esto no significa que no podamos crear las nuestras o modificar las existentes para adecuarlas a nuestras necesidades. Existen adems soluciones ya diseadas que se pueden adquirir por separado e incluso empresas que se dedican a desarrollar a medida. Forma de trabajo: al igual que con otros sistemas de este tipo, trabajaremos fundamentalmente con formularios para introducir la informacin e informes para presentarla, bien sean stos prediseados bien personalizados por nosotros. Podemos crear bases de datos desde cero o utilizar fuentes creadas con otros programas para hacerlo. Compartiendo informacin: puede importar datos de excel, archivos xml o fuentes ODBC. Los informes generados se pueden exportar a excel o PDF. La versin servidor de la aplicacin permite publicar las bases de datos en la web y con la versin bsica tenemos la posibildad de compartir las bases de datos con otros usuarios de la red local, siempre que stos dispongan del programa.

Sequel Pro.
Sequel pro nos permite gestionar bases de datos MySQL, se encuentra escrito en Cocoa con una interfaz muy similar a lo habitual en Mac OS X, por lo que posee un entorno amigable. Entre sus caractersticas ms destacables encontramos que nos permite trabajar con varias tablas a la vez, ya sea local o remotamente. Permite hacer bsquedas indexadas dentro de la tabla e implementa una funcin de auto completado que ayuda a la hora de editar las tablas.

El programa compatible con bases de datos MySQL 3, 4 y 5 permite treinta opciones diferentes de codificacin. Podremos importar o exportar archivos SQL/CSV y si le aadimos que es un programa gratuito (aunque puedes realizar una donacin a sus creadores si lo deseas) contribuye a que nos encontremos ante una opcin a tener muy en cuenta si eres usuario de este tipo de programas.

Bento 4.
Con Bento 4 podemos organizar nuestros contactos, crear seguimiento de todo tipo de acciones que queramos crear. proyectos, llevar

Bento 4 automticamente inserta todos los datos que se tienen en Agenda y en iCal, para que no tengas que molestarte en meterlos uno a uno. Con ello puedes organizar tus contactos y saber qu eventos han realizado o tienen que realizar una persona o varias de las que se encuentran en tu Agenda. Tambin puedes incluir en las fichas de los contactos las posibles tareas que tienen que hacer y que las tienes incluidas en tareas de iCal. De este modo, en la pantalla del contacto puedes ver todo lo correspondiente a esa persona sin tener que desplazarte a ningn otro programa. Y todos esos cambios se reflejan automticamente en iCal y Agenda del Mac.

4. MIDDLEWARE.
JAVA REMOTE METHOD INVOCATION (JAVA RMI).
RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para invocar un mtodo de manera remota. Forma parte del entorno estndar de ejecucin de Java y proporciona un mecanismo simple para la comunicacin de servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se requiere comunicacin entre otras tecnologas debe utilizarse CORBAo SOAP en lugar de RMI. RMI se caracteriza por la facilidad de su uso en la programacin por estar especficamente diseado para Java; proporciona paso de objetos por referencia (no permitido por SOAP), recoleccin de basura distribuida (Garbage Collector distribuido) y paso de tipos arbitrarios (funcionalidad no provista por CORBA). A travs de RMI, un programa Java puede exportar un objeto, con lo que dicho objeto estar accesible a travs de la red y el programa permanece a la espera de peticiones en un puerto TCP. A partir de ese momento, un cliente puede conectarse e invocar los mtodos proporcionados por el objeto. La invocacin se compone de los siguientes pasos: Encapsulado (marshalling) de serializacin de Java). de los parmetros (utilizando la funcionalidad

Invocacin del mtodo (del cliente sobre el servidor). El invocador se queda esperando una respuesta.

Al terminar la ejecucin, el servidor serializa el valor de retorno (si lo hay) y lo enva al cliente. El cdigo cliente recibe la respuesta y contina como si la invocacin hubiera sido local.

CORBA.
En un sentido general, CORBA "envuelve" el cdigo escrito en otro lenguaje, en un paquete que contiene informacin adicional sobre las capacidades del cdigo que contiene y sobre cmo llamar a sus mtodos. Los objetos que resultan, pueden entonces ser invocados desde otro programa (u objeto CORBA) desde la red. En este sentido CORBA se puede considerar como un formato de documentacin legible por la mquina, similar a un archivo de cabeceras, pero con ms informacin. CORBA utiliza un lenguaje de definicin de interfaces (IDL) para especificar las interfaces con los servicios que los objetos ofrecern. CORBA puede especificar a partir de este IDL, la interfaz a un lenguaje determinado, describiendo cmo los tipos de dato CORBA deben ser utilizados en las implementaciones del cliente y del servidor. Implementaciones estndar existenpara Ada, C,C++, Smalltalk, Java, Python, Perl y Tcl. Al compilar una interfaz en IDL se genera cdigo para el cliente y el servidor (el implementador del objeto). El cdigo del cliente sirve para poder realizar las llamadas a mtodos remotos. Es el conocido como stub, el cual incluye un proxy (representante) del objeto remoto en el lado del cliente. El cdigo generado para el servidor consiste en unos skeletons (esqueletos) que el desarrollador tiene que rellenar para implementar los mtodos del objeto. CORBA es ms que una especificacin multiplataforma, tambin define servicios habitualmente necesarios como seguridad y transacciones. Y as este no es un sistema operativo en si, en realidad es un middleware. La OMG El Object Management Group (OMG) es responsable de la definicin de CORBA. El OMG comprende ms de 700 empresas y organizaciones, incluyendo casi todos los principales fabricantes y desarrolladores de tecnologa de objetos distribuidos, incluyendo la plataforma, base de datos y proveedores de aplicaciones, as como de herramientas de software y desarrolladores.

5. SERVIDORES WEB LOCALES


MAMP.
MAMP es uno de los servidores web para pruebas ms empleado por los desarrolladores web. Es muy til, por ejemplo, para iniciarse en tareas de gestin web de sistemas tipo CMS como Joomla, WordPress,etc permitiendo instalarlos, configurarlos y personalizarlos sin temor. Tambin es extremadamente util para el desarrollo de proyectos web. Sus siglas indican el contenido del software: Macintosh, Apache, Mysql y PHP, es decir, un servidor Web Apache, con soporte para bases de datos Mysql y php para Mac.

Su xito reside en su sencillez de instalacin y la facilidad que nos ofrece para la configuracin de todos los servicios. Una vez instalado se pueden activar sus servicios de dos formas distintas, ejecutando la aplicacin directamente desde el Finder o para los adictos a los widgets, MAMP posee un Widget para nuestro Dashboard, que nos permite activar/deactivar el Servidor Apache y el servidor de Bases de datos Mysql.

6. INFRAESTRUCTURA EN HARDWARE.
Hoy en da los sistemas distribuidos se basan en la existencia de una red de comunicaciones que conecta dispositivos de cmputo estndares. Actualmente, el mundo industrializado cuenta con amplias infraestructuras troncales (backbones), normalmente de fibra ptica, lo que ha permitido el despliegue de Internet. Tambin se utilizan enlaces por satlite para el acceso a lugares recnditos. El problema de acceso a los puntos de usuario (redes de rea metropolitana, MAN) se ha estado solucionando mediante la utilizacin eficiente del viejo muy altas (hasta 1 Gbps). En los ltimos aos han experimentado un gran avance las tecnologas inalmbricas, hasta el punto de que pueden competir (es el caso de WiFi IEEE 802.11) con Ethernet en las redes locales. Tambin hay soluciones para mbitos geogrficos de mayor rango. Finalmente, en sistemas ubicuos adquieren importancia las redes inalmbricas de corto alcance (redes de mbito personal, PAN). La Tabla 1.3 ilustra algunas caractersticas de las tecnologas de red actuales. cableado telefnico. Para redes locales especficas se ha venido utilizando Ethernet, que permite velocidades

7. CONCLUSIONES.
Al finalizar el trabajo investigativo sobre el Sistema Operativo MAC concluimos diciendo que: Es un sistema operativo apto para el diseo grfico; ya que cuenta con un

sistema compacto y muy estable para el desarrollo de proyectos que consumen mucha memoria y exigen mayores recursos de hardware. Es menos vulnerable en cuanto a virus en comparacin con otros sistemas Mac Os es un sistema operativo de poco uso en Amrica Latina, debido a su Es ms complicado encontrar tcnicos que la pueda arreglar en caso de fallas. operativos. alto costo.

Las caractersticas fundamentales para el diseo de un sistema distribuido son: La utilizacin efectiva de la memoria cach en el cliente para conseguir iguales prestaciones o mejores que la de los sistemas de archivos locales. El mantenimiento de la consistencia entre mltiples copias de archivos en las caches de los clientes cuando son actualizadas La recuperacin despus de un fallo en el servidor o en el cliente. El alto rendimiento en la lectura y escritura de archivos de todos los tamaos. La escalabilidad.

8. RECOMENDACIONES.
Como recomendaciones podemos decir que para realizar una aplicacin distribuida bajo la tecnologa macintosh, debemos investigar bastante, ya que es un sistema operativo muy bueno pero a la vez mas complejo, debemos indagar mucho sobre que herramientas usar, como realizar su correcta instalacin, y sobre todo podemos recomendar que para poder desarrollar bajo macintosh debemos tener conocimientos sobre el manejo de tecnologa UNIX, consultar mucho sobre UNIX y sobre la instalacin de servidores web, lenguajes de programacin y dbms para poder realizar una aplicacin distribuida de calidad.

9. WEBGRAFA.
http://www.todopocketpc.com/editoriales-y-opinion/bento-la-base-de-datos-para-mac-223335.html http://www.tecnologiapyme.com/software/filemaker-base-de-datos-para-mac http://www.applesfera.com/aplicaciones/sequel-pro-programa-gratuito-para-la-gestion-de-bases-de-datos http://es.wikipedia.org/wiki/CORBA http://startspoint.wordpress.com/2008/08/30/servidor-web-local-para-mac-mamp/ http://oldblog.jesusyepes.com/administracion-de-sistemas/el-servidor-web-perfecto-macos-mamp/ http://www.edujoomla.es/joomla-10x/servidores/16-instalacion-un-servidor-web-local-en-nuestro-ordenador http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/SISTAR02.html http://es.wikipedia.org/wiki/Java_Remote_Method_Invocation http://macprogramadores.org/documentacion/IntroProgMacOSX.pdf

También podría gustarte