Número Anterior | Buscar en TidBITS | TidBITS Home Page | TidBITS-es | Siguiente Número

De nuevo llega la MackHack, y Adam informa desde Dearborn acerca de la acogida del Mac OS X en la reunión anual de desarrolladores. Sigue leyendo para averiguar que "hacks" se llevaron los mayores galardones en el Concurso de "Hacks" del Grupo MacHax [MacHax Group's Hack Contest], y luego conecta con la segunda parte del análisis que Jonathan Rentzsch hace de WebObjects, el potente kit de desarrollo para aplicaciones Web de Apple. En las noticias, Mac OS X 10.0.4 soluciona numerosos problemas, y Extensis lanza Suitcase 10.
Temas:
Copyright 2001 TidBITS Electronic Publishing. Derechos reservados.
Información: <info@tidbits.com> Comentarios: <editors@tidbits.com>
Este número de TidBITS está patrocinado en parte por:
¡LECTORES COMO Tú! Puedes apoyar a TidBITS a través de nuestro ![]()
programa de contribuciones voluntarias. Esta semana agradecemos
especialmente el generoso apoyo de Judy Jack,
Cleve Callison, y Samuel Phillips.
<http://www.tidbits.com/about/support/contributors.html>
APS Tech -- 800/395-5871 -- <sales@apstech.com>
Tuesta un CD completo en menos de cinco minutos con la APS
CD-RW 16x10x40 FireWire Plus. Los puertos FireWire y USB
permiten conectarla rápidamente a cualquier Mac reciente.
Haz tu pedido en: <http://www.apstech.com/>
WinStar Northwest Nexus. Visítanos en <http://www.nwnexus.com/>.
Soluciones de Internet para empresas en toda la costa
noroeste del Pacífico.
Small Dog Electronics: Epson EPL-5700i USB Laser: 289 US$ ![]()
Servidor G4 500MHz - 36 GB Ultra SCSI y AppleShare NUEVO:
1649 US$. CD-RW SCSI Lacie 8x/8x/24x y Toast: 179 US$
USB: 119 US$ BookEndz para PB G4: 215 US$
<http://smalldog.com/> 802/496-7171
BBEdit 6.1 de Bare Bones Software -- Creado para Mac OS X
El premiado editor de texto y HTML es ahora nativo para
Mac OS X. Cómpralo, actualízate o descarga la demo desde
nuestra Web: <http://www.barebones.com/>. No te defraudará.
ConceptDraw v1.61 -- Crea tu concepto. Herramienta ideal
para diagramas interactivos, gráficas de organización,
construcción de esquemas, UML, diagramas de flujo.
Compatible Mac/PC.
Pruébalo en <http://www.conceptdraw.com/sp/>
Maximiza tu conexión a Internet. ¿Preocupado siempre por si ![]()
puedes obtener más velocidad de tu conexión a Internet? Obtén
IPNetTuner y exprime hasta el último bps de cualquier conexión
a Internet. Sólo 25 US$ desde Sustainable Softworks
<http://www.sustworks.com/tb/>
El equipo de TidBITS-es ha traducido este número de manera voluntaria y desinteresada, y está compuesto por:
Coordinadores del equipo
Si tú también quieres formar parte del equipo de traductores de TidBITS-es, ponte en contacto con el coordinador.
Lanzada la actualización a Mac OS X 10.0.4 -- Apple ha actualizado Mac OS X a la versión 10.0.4, mejorando la compatibilidad USB, el entorno Classic, y añadiendo soporte para el nuevo monitor Apple Studio Display de 17 pulgadas (ver "Mejor cuanto más plano" en TidBITS-es-581). La actualización está disponible a través del panel de control Actualización de Software, o en dos tipos de descarga diferentes: un paquete de 12 MB que actualiza Mac OS X 10.0.3, o uno de 19,3 MB que actualiza cualquier versión entre la 10.0.0 y la 10.0.3.
<http://www.apple.com/macosx/>
<TidBITS-es-581.html#lnk1>
<http://db.tidbits.com/getbits.acgi?tbart=06437>
<http://til.info.apple.com/techinfo.nsf/artnum/n75142>
<http://til.info.apple.com/techinfo.nsf/artnum/n75141>
Nos encanta poder informar que, a diferencia de las anteriores actualizaciones del Mac OS X, Apple ha documentado cuáles son los cambios en la versión 10.0.4. A destacar, mejoras al acceder a ficheros compartidos de FileMaker Pro 5.0 via TCP/IP en el entorno Classic, una mejor conservación de la batería de los PowerBook en el modo reposo, y la compatibilidad de iTunes con más unidades de CD-RW USB de terceras partes. Hay aún algunos aspectos frustrantemente vagos en las notas, como "se incluye una posterior versión de SSH" cuando no habría sido difícil decir qué versión se incluye y qué es lo que corrige. [JLC]
<http://til.info.apple.com/techinfo.nsf/artnum/n106360>
Suitcase 10 a la venta -- Extensis ha lanzado Suitcase 10, añadiendo una serie de características a su ya clásica herramienta de manejo de tipos. La nueva versión anade la capacidad de crear grupos para aplicaciones, que activan tipos automáticamente al lanzar muchos de los programas más populares; una Xtension de QuarkXPress también abre cualquier tipo utilizado en un documento QuarkXPress (incluyendo tipos insertados en gráficos). Suitcase 10 también es compatible con tipos Multiple Master, incluye la utilidad FontBook para previsualizar los tipos, añade un módulo para trabajar con grupos de tipos desde la Barra de Controles, busca tipos corruptos, y maneja conflictos entre tipos. Suitcase 10 necesita una máquina basada en PowerPC corriendo desde Mac OS 8.6 a 9.1, y tiene un coste de 100 US$. Las actualizaciones desde versiones anteriores o desde programas de la competencia, están disponibles por 50 US$. Los propietarios de Suitcase 10 recibirán una copia gratuita de la versión para Mac OS X cuando sea presentada durante este año. Suitcase 10 se puede descargar de Internet y ocupa 8,2 MB. [JLC]
<http://www.extensis.com/suitcaseten/>
por Adam C. Engst <ace@tidbits.com>
La conferencia de desarrolladores MacHack de este año marcaba lo que supuse sería un momento esencial en la industria del Macintosh. Mac OS X lleva ya en el mercado unos 90 días, por lo que los desarrolladores han tenido tiempo para familiarizarse con él, y los usuarios experimentados han empezado a identificar sus carencias y problemas. Sentía curiosidad por ver cuanta gente utilizaba Mac OS X, cuantos hacks se harían para él, y cual sería la tendencia general respecto al Mac OS X. A pesar de que MacHack fue como siempre muy divertida, tratar de usarla como una bola de cristal sobre Mac OS X solo trajo la respuesta: "El futuro es oscuro. Inténtalo más tarde."
MacHack empezó con el tradicional discurso de medianoche convertido en una mesa redonda con siete de los miembros del equipo que originalmente creó el Macintosh. A simple vista parecía una decisión extraña. ¿Porqué invitarías a gente cuyas contribuciones al Mac sucedieron hace 20 años a una conferencia donde uno de los temas principales iba a ser una versión del sistema operativo que salió hace 90 días? Aparte del valor como divertimento general, ya que los miembros de la mesa contaron anécdotas y bromearon entre ellos, me di cuenta gradualmente de que la charla inaugural trabajaba a un nivel más profundo - un paso simbólico de la antorcha de los primeros creadores del Macintosh a los desarrolladores del actual mundo Macintosh. La tecnología no acostumbra a tener una vida muy larga, pero en el mundo Mac, y particularmente en un evento como la MacHack, donde los asistentes vuelven año tras año, hay un profundo sentido de la historia. Traer a gente como Andy Hertzfeld, Bill Atkinson, Caroline Rose, Randy Wigginton, Donn Denman, Jef Raskin y Daniel Kottke para que nos contaran sus recuerdos, trae una conexión con el pasado en el mismo momento en que nos adentramos en el futuro del Mac OS X.
La conferencia de la segunda noche, a cargo del cofundador de Apple Steve Wozniak fue incluso más entretenida, porque Woz en carne y hueso resulta ser auténticamente cálido, cercano y divertido. Regaló los oidos de la audiencia con historias sobre sus "hacks", bromas y chistes prácticos (un buen número de ellos giraban alrededor de hojas perforadas de billetes de 2 US$ que utiliza siempre que hay ocasión de pasar un buen rato, ya que muchos norteamericanos no conocen los billetes de 2 US$, y muchos menos saben que puedes comprarlos en hojas perforadas). Curiosamente, Woz dijo que básicamente nunca le gastó una broma a Steve Jobs; yo salí con la impresión de que Jobs, simplemente, es el tipo de persona a la que no le puedes gastar bromas, y eso es algo que hasta un bromista inveterado como Woz reconocía.
<http://www.bep.treas.gov/store/uc2.htm>
Reflejos de personalidad -- Conocer a esta gente fue interesante no sólo desde un punto de vista histórico, sino también poque nos permitió reconocer la huella de sus personalidades en el Macintosh. Andy Hertzfeld inbuyó al Mac con su entusiasmo y comentó que explícitamente intentó que Woz trasladara su talante juguetón al proyecto. Bill Atkinson puso su pasión en el Mac, Jef Raskin aportó su rigor intelectual y deseo de elegancia, y las contribuciones de Caroline Rose añadieron claridad y atención a los detalles.
Es incuestionable que mucha más gente dejó su impronta en el Mac, siendo el más importante de todos, sin duda, Steve Jobs. Sin su forma de retar al resto a hacer cosas que parecían imposibles y el apoyo que prestó al proyecto (especialmente durante los primeros años de vacas flacas), no hay duda que el Macintosh no habría llegado a buen puerto. Muchas de las historias que escuchamos fueron sobre Steve Jobs, e incluso teniendo en cuenta las diferentes opiniones de los oradores, la imagen que surgió fué la de un hombre que necesita tener cuanto control sea posible sobre el mundo que le rodea.
El reto del Mac OS X -- La necesidad de control que tiene Jobs ha aumentado sin parar durante los años; como botón, ha pasado de insistir en que los programadores son artistas que tienen que firmar sus obras a eliminar sus nombres de los cuadros "Acerca de" en los programas actuales de Apple. Aquí subyace uno de los problemas más importantes para Mac OS X. Como el Macintosh original, es un trabajo de mucha gente, y a pesar de ello, la cara amigable que Mac OS X presenta al mundo, no parece incluir a esa gente. En su lugar, todo gira alrededor de Steve Jobs y su lugarteniente, Avie Tevanian. Demasiado a menudo, cuando hay algo sobre Mac OS X que es, como mínimo, discutible (como el nivel hasta el que usa las extensiones de los nombres de los archivos para vincular documentos con programas), la razón para la decisión viene a ser "porque Avi dijo que se hiciera así" o "porque Steve lo quiso así". Steve y Avie pueden ser brillantes, y puede que sean necesarios para el éxito del Mac OS X, pero eso no excluye que puedan cometer errores de bulto.
En general, no detecté un entusiasmo significativo hacia el Mac OS X entre la comunidad de desarrolladores de MacHack. Pocos lo usaban en su ordenador principal de trabajo, y tan solo un 10 por ciento aproximadamente de los programas presentados al concurso de "hacks" requerían Mac OS X. La gente a la que más emocionaba Mac OS X eran, previsiblemente, aquellos que usaban y a los que gustaban tanto el Mac como Unix, e incluso lo que para ellos marcaba la diferencia era el Unix y no los aspectos Macintosh de Mac OS X. Woz y los miembros del equipo original del Mac coincidieron en una postura común - tambien les gustaban los cimientos Unix del Mac OS X, pero hicieron comentarios negativos acerca de la interfaz Aqua. Woz estuvo particularmente franco cuando afirmó que le parecía que Mac OS X "no estaba listo para presentarse en sociedad".
Como lo expresó un amigo, ahora mismo Mac OS X parece un proyecto artístico, no un sistema operativo con un innovador diseño de interfaz amigable y rigurosas pruebas de manejabilidad. Si la demostración en MacHack y la discusión sobre el venidero Windows XP de Microsoft por parte de algunos ex-programadores Mac es indicativa de algo, es que Microsoft ha adoptado algunas de las actitudes de diseño que han hecho grande al Macintosh. Si eso es cierto, Apple necesita poner sus miras en cotas aún más altas, o se arriesga a ser vencida en su propio campo.
Apple es consciente de este asunto. En una de las sesiones los asistentes no tuvieron problemas en redactar una lista con los 100 problemas más importantes con el Mac OS X, pero al día siguiente en la sesión de intercambio de impresiones con Apple, Steve Glass y Tim Holmes, dos de sus empleados, fueron capaces de despachar casi todas las críticas menores con un "si, lo sabemos, y estamos trabajando en ello". Tal respuesta es, aunque no lo parezca, muy importante, pues otra posibilidad muy real para las flagrantes omisiones y errores en el Mac OS X podría haber sido que Apple no veía en ellos ningún problema. La pregunta que subyace es cuándo exactamente Apple corregirá los fallos conocidos, pero las cuatro actualizaciones de corrección de errores de Mac OS X que han aparecido en los primeros 90 días son indicativas de que la cosa está en marcha. Las fechas obvias para una actualización mayor serían la Macworld Expo de Nueva York en Julio, y tras ella, la Macworld Expo de San Francisco el próximo Enero.
Lo que Apple tiene - y creo que Microsoft nunca podrá replicar con Windows - es una superinformada e interesada comunidad de usuarios y desarrolladores Mac. Nos preocupa qué le suceda a Apple y al Macintosh, y sólo continuando la retroalimentación que inundó a Apple durante el ciclo de la beta de Mac OS X podremos contribuir a asegurar que el Mac OS X evolucione hacia una interfaz que queramos usar por encima de cualquier otra.
por Adam C. Engst <ace@tidbits.com>
Si bien hay mucho que contar de la conferencia de desarrolladores de MacHack, el meollo del evento es el Concurso anual de "Hacks" del Grupo MacHax, que brinda la oportunidad a los programadores de escribir código sin preocuparse de la utilidad, estabilidad, ni siquiera de que sea cómodo de usar. Y aún así, los programas que salen cada año muestran algo más que el lado bromista del Macintosh - una buena cantidad de ellos se han convertido posterioremente en productos de libre distribución o incluso comerciales. Por supuesto, tales "hacks" corren el riesgo de que la audiencia grite despectivamente "¡útil!", pero hasta ahora, eso nunca ha detenido a un programador con buenas ideas en MacHack.
NOTA -- Un "hack" en el mundo físico es algo que se improvisa, y que funciona con un alambrito, o con un chicle, o algo así. Lo que llamaríamos un parche, o una chapuza - pero ingeniosa -. Por extensión al mundo lógico/informático, "hack" es un programita que parchea el sistema operativo, una rutina ingeniosa o truco de programación, que permite que el sistema haga algo que no estaba preparado para hacer, "parcheando" las llamadas al sistema, esto es, poniendo la llamada nueva sobre las llamadas originales, aunque el truco puede perjudicar al resto del sistema. Un "hacker" es alguien que hace "hacks", y por eso puede meterse en un sistema aprovechando las debilidades del mismo. Sin embargo, en este artículo la palabra "hack" tiene un significado mas extenso, ya que abarca tanto a los parches al sistema operativo como a programas independientes que hacen algo curioso o muy ingenioso. Teniendo en cuenta lo anterior, hemos decidido no traducir "hack" ya que entendemos que en este caso particular el término en inglés es mas acorde con el sentido general del artículo. - [Equipo de TidBITS-es]
<TidBITS-es-537.html#lnk3>
<http://db.tidbits.com/getbits.acgi?tbser=1199>
Mis "hacks" -- Con mi primer "hack" no corrí peligro de que me gritasen "¡útil!". El año pasado, el premio por mi "hack" - que sacaba a la luz las capacidades de autocorrección del programa Eudora - fué una estaca de madera de 1,20 metros de largo (como las utilizadas en jardinería para evitar que se tuerzan los árboles jóvenes) sin desbastar, llena de astillas. La razón del porqué los organizadores del concurso eligieron un premio así, es algo que se me escapa, pero tal vez fuese para ver cómo me lo llevaría a casa, porque semejante objeto requiere dar alguna que otra explicación en el aeropuerto. Cuando me iba a ir, tuve una inspiración, y encajé firmemente mi estaca bajo el lavabo de mi habitación y anoté en mi calendario el volver a pedir la habitación 323 al año siguiente. Este año, al registrarme en el hotel, pedí esa habitación, me la dieron, y quedé encantado al encontrarme con que mi estaca todavía estaba allí. Ya en el concurso, me puse guantes de cuero y volví a contar esta historia, mientras blandía la estaca. Para hacerlo más interesante al público, mencionaba al hotel como un dispositivo de almacenamiento de datos, la estaca como los datos que había escrito bajo el lavabo, y luego cómo le preguntaba al sistema de archivos la dirección del bloque que guardaba mi información (el número de la habitación). Mi tiempo de acceso a los datos no fue demasiado bueno, pero conseguí risas en las primeras filas al anunciar que no había habido ninguna corrupción en los datos. Ah, y por si os lo estais preguntando, este año estoy viendo a ver si puedo copiar mis datos a otro lugar y, si es así, editarlos con el papel de lija que he obtenido como premio esta vez.
<TidBITS-es-546.html#lnk2>
<http://db.tidbits.com/getbits.acgi?tbart=06103>
Participé también en otro "hack" con Leonard Rosenthol y Richard Ford, para diseñar e implementar un servidor de estadísticas de modo que los usuarios de Eudora podamos comparar nuestras estadísticas de uso con otros (La versión 5.0 de Eudora y posteriores pueden mantener estadísticas detalladas en un archivo XML). Para Leonard, la idea era escribir un "plug-in" para Eudora que extrajese las cifras del archivo XML y las subiese a través de Internet a una serie de guiones hechos en Perl por Richard para agrupar y mostrar los resultados. Configuré mi iBook para ejecutar los guiones Perl en el servidor Web Apache del Mac OS X, y trabajé asimismo en la interfaz HTML.
El único problema fue que, como empezamos el viernes después de la cena, con el concurso de "hacks" comenzando a a medianoche, simplemente no tuvimos tiempo suficiente, incluso trabajando durante gran parte del propio concurso. El Mac OS X puso muchas pegas a nuestros esfuerzos, con un cuelgue durante la instalación de las herramientas de programación, problemas absurdos con los permisos y otros inconvenientes causados por su rígida estructura de directorios. Pero seguía siendo primoroso el ver correr la aplicación de Leonard, recién salida del compilador, enviando sus datos a una página web que yo había hecho con el TextEdit del Mac OS X, y ver los resultados, servidos por el Apache a partir de los guiones en Perl que Richard estuvo editando en mi máquina, en modo remoto, hasta un minuto antes de que yo empezase a hablar.
Los "hacks" de los más jóvenes -- Muchos de los 93 "hacks" de este año provinieron del gran número de jóvenes hackers que todavía están en la escuela, el más joven de los cuales tenía sólo siete años. Uno de estos "hacks", de Justin Christie y Paul Scandariato era incluso útil - una aplicación hecha en REALbasic llamada iWake que ejecuta ítems contenidos en una carpeta llamada "carpeta de ítems al despertar" (Wakeup items folder), cada vez que el Mac sale del estado de reposo. Un equipo de estos jóvenes, con Mark Johns, Justin Lee y Charles Melby-Thompson escribió Chia Windows X para devolver los rectángulos de zoom de las ventanas del Mac OS 9 a las aplicaciones "carbonizadas" en el Mac OS X. Daniel Fox escribió un guión AppleScript llamado Hackable AirPort Network Seeker, diseñado para alertar verbalmente si uno entra en el rango de alcance de una red AirPort. Finalmente, Andy Furnas modificó una copia de iTunes para hacerla guionizable, a base de copiarle varios recursos provenientes de su predecesor, SoundJam MP. Fue un espectáculo impresionante el de los más jóvenes este año, y es estupendo el ver como la experiencia de MacHack ayuda a estos chavales a aprender y progresar, año tras año.
Dejando a un lado mis pobres intentos y los "hacks" de los más jóvenes, aquí tienes los cinco mejores "hacks" del 2001, escogidos por los desarrolladores que asistieron a todas las demostraciones del concurso.
Quinto puesto: Palm Finder 2 -- Aunque casi todo lo que sucede en la MacHack gira en torno al Macintosh, las plataformas alternativas suelen ser bien recibidas, y el Palm OS recibe a menudo un fuerte respaldo en el concurso de "hacks". Este año, el Palm Finder 2 de Lucius Kwok consiguió el quinto puesto con su sorprendentemente exacta representación del Finder del Macintosh en la diminuta pantalla de la Palm. Y podría haber sido incluso mas impresionante si se hubiese combinado con HFS- de Jesse Donaldson, que aprovecha las nuevas capacidades del Palm OS 4.0 de acceso a ficheros y tarjetas de almacenamiento externas para usar el disco duro de un iBook como una tarjeta de almacenamiento de 10 GB.
Cuarto puesto: Crrrhaaack -- Para Jon Gotow, autor de Default Folder, Screen Catcher y otras utilidades de libre distribución, la inspiración surgió del desastre. Jon dejó caer por accidente su PowerBook el primer día de la conferencia, lo que provocó la rotura de la pantalla y dejó los dos tercios inferiores de ésta inservibles. En lugar de llorar sobre una pantalla de cristal líquido rota, Jon escribió Crrrhaaack, una extensión que redimensiona la pantalla justo a la sección utilizable (1024 por 260 en su caso). Una aplicación proporciona una interfaz que permite definir la zona funcional de la pantalla, y si Jon hubiera mencionado durante su presentación que también escribió el "hack" en su destrozado PowerBook, quizás hubiese obtenido una mejor clasificación.
<http://www.stclairsoftware.com/>
Tercer puesto: Airport Radar -- En la MacHack de hace tres años, cada una de las mesas del salón del hotel donde se reunían los programadores estaba decorada con un concentrador Ethernet. La mayoría de estos desaparecieron el año pasado, porque mucha gente tenía tarjetas Airport y pudieron usar en su lugar la red inalámbrica, y este año, casi todo el mundo se apoyó por completo en seis Estaciones Base Airport distribuidas por el hotel. Aprovechándose de la configuración de la red inalámbrica, Mike Neil y Eric Traut escribieron Airport Radar, que utilizaba la diferente intensidad de las señales emitidas por las Estaciones Base Airport para triangular e indicar en pantalla la situación de un PowerBook, aun cuando estuviera en movimiento.
Segundo puesto: AquaShade -- El "efecto genio" del Mac OS X cuando minimiza las ventanas en el Dock está bien como demo, pero muchísimos usuarios Macintosh han lamentado la pérdida del efecto persiana del Mac OS 9, que provoca que una ventana se enrolle sobre sí misma, dejando solo visible la barra de títulos. Nicholas Riley y Avi Drissman decidieron solucionar este problema con su "hack" Aquashade, que devuelve la funcionalidad persiana al botón minimizar del Mac OS X, al menos con las aplicaciones carbonizadas. Mantener pulsada la tecla Control mientras se hace clic en el botón minimizar consigue una minimización normal de la ventana al Dock, pulsar la tecla Opción activa o desactiva el efecto persiana en todas las ventanas abiertas, y pulsar la tecla Mayúscula hace que dicho efecto se ejecute más rápidamente. Gritos irónicos de "¡útil!" se escucharon durante toda la demostración, pero no evitaron los aplausos ni los votos que le concedieron el segundo puesto a AquaShade.
Primer puesto: Apple Turnover -- En la grandiosa tradición de "hacks" casi inútiles, Apple Turnover de Mac Murrett logró el primer puesto con una rotación dinámica y técnicamente impresionante de la imagen activa de la pantalla. Se puede girar la pantalla en sentido horario o anti-horario usando diferentes teclas modificadoras, o también pasar a ángulos específicos de rotación. Apple Turnover hace un buen uso del Velocity Engine, pero quizás el factor decisivo fue la demostración de compatibilidad con asciiMac, un programa de años anteriores que visualizaba toda la interfaz del Macintosh en gráficos de caracteres ASCII.
Si bien no había detalles cuando escribí esta reseña, por lo general se pueden comprar los CD-ROMs con todos los "hacks" (muchos de ellos con el código fuente) en la tienda de MindVision. Consulta el sitio Web de MacHack para más datos.
por Jonathan Rentzsch <tidbits@redshed.net>
La semana pasada tratamos sobre los aspectos fundamentales de los servidores de aplicaciones, de cómo fueron evolucionando a lo largo de los años y terminamos el artículo con el enfoque de la Era de la Información que usa la tecnología WebObjects de Apple. Consideremos ahora en detalle qué proporciona en realidad WebObjects.
<TidBITS-es-584.html#lnk3>
<http://db.tidbits.com/getbits.acgi?tbart=06465>
<http://www.apple.com/webobjects/>
La arquitectura de WebObjects -- Una aplicación WebObjects típica se ubica entre dos adaptadores. El primer adaptador conecta la aplicación a un servidor Web, mientras que el segundo la conecta a una base de datos:
Servidor Web <-> aplicación WebObjects <-> Base de datos
El servidor Web recibe y responde a las peticiones HTTP de usuarios en la Web - gestiona la transferencia de la interfaz de la aplicación, que son las páginas Web que ve el usuario. Apple suministra un adaptador que habilita al servidor Web para pasar peticiones a la aplicación WebObjects deseada. (Un único servidor puede ejecutar simultáneamente muchas aplicaciones WebObjects.) WebObjects se suministra con dos tipos de adaptadores para servidores Web: un adaptador Common Gateway Interface (CGI o Interfaz de Acceso Común), más lento y portable, y un conjunto de adaptadores más rápidos para servidores Web específicos, como el Apache o el Servidor de Información para Internet (IIS o Internet Information Server) de Microsoft. WebSTAR también se entrega con un adaptador para WebObjects.
La aplicación WebObjects se comunica con la base de datos por medio de otro adaptador. El adaptador de la base de datos es el responsable de generar el código SQL, enviarlo a la base de datos, recibir los resultados textuales y separarlos en objetos. Como la generación del SQL se hace a nivel del adaptador, es posible optimizar el SQL para una base de datos en particular.
Esta arquitectura permite a WebObjects separar el acceso a los datos, la interfaz y la lógica de una aplicación, ya que utiliza distintas herramientas para tratar cada aspecto. Ninguno de estos componentes necesita convivir en la misma máquina: un servidor Web con Mac OS 9 y WebSTAR puede dialogar con WebObjects en una máquina que utilice Mac OS X Server 10, que a su vez puede conectarse a bases de datos que estén sobre un sistema Windows 2000.
Acceso a los datos: EOModeler -- En el corazón de WebObjects se encuentra algo único: el Enterprise Objects Framework (EOF, o Entorno de Objetos Corporativos); no se parece a nada de lo que incluyen otras herramientas, que si son competitivas es por otra razón. Esta asombrosa tecnología permite a los programadores acceder a bases de datos a través de objetos de software de fácil manipulación (en lugar de un SQL textual de bajo nivel, que podría muy bien ser específico para la base de datos en cuestión).
El primer paso es crear un modelo de base de datos usando una potente aplicación llamada EOModeler, que crea y gestiona modelos de bases de datos. Un modelo es un archivo que contiene información sobre el diseño de una base de datos. Incluye datos como nombres de tabla, nombres de columna, tipos de datos, etc. No es tarea fácil, pero EOModeler ofrece varias formas directas de crear un modelo nuevo o un modelo derivado de una base de datos existente (a mí me parece magia).
Con el modelo ya entre manos, EOModeler genera automáticamente el código Java para crear, actualizar y eliminar objetos de una base de datos. Las tablas de la base de datos se convierten en clases de Java, las columnas en campos de la clase y las filas en instancias (o casos) de la clase. Estas clases hechas a medida utilizan el EOF para controlar la base de datos. El EOF, en cambio, emplea un adaptador para comunicarse con la base de datos. El adaptador genera código SQL, lo envía a la base de datos e interpreta sus respuestas.
Puede que parezca confuso, pero la gran conclusión es que la aplicación Web que se está desarrollando nunca necesitará tratar con SQL de bajo nivel - sólo trabaja con objetos de alto nivel. El EOF y el adaptador de bases de datos hacen todo el trabajo sucio de generar e interpretar SQL. Además, el EOF no está atado a ninguna base de datos en particular, ya que utiliza adaptadores para comunicarse con ellas. Como ejemplo, si trasladáis vuestro sistema de FrontBase a Oracle, no habrá ninguna necesidad de modificar la aplicación web.
Interfaz: WebObjects Builder -- Esta herramienta, conocida cariñosamente como "WOBuilder", consiste en un editor de HTML WYSIWYG, muy parecido al FileMaker Home Page, al difunto Visual Page de Symantec o a PageMill, de Adobe. Aunque WOBuilder es un editor más antiguo y no está totalmente actualizado (faltándole, por ejemplo, la incorporación de hojas de estilo en cascada), ofrece de hecho funcionalidades que no tiene ningún otro editor.
WOBuilder trabaja con objetos como algo natural. Por ejemplo, para crear una tabla HTML dinámica que muestre todos los registros de una base de datos, sólo hay que usar las herramientas gráficas de una forma trivial. Aunque sea habitual en otras herramientas, lo que lo hace único es que para crear dicha tabla, no haya que escribir absolutamente nada - sólo hay que hacer clic, arrastrar y soltar.
En WOBuilder, controlar el flujo de información hacia una aplicación es tan sencillo como arrastrar y soltar. Por ejemplo, la creación de una página Web que contenga un campo de texto modificable donde el usuario introduzca su nombre es tarea fácil. Al pulsar el botón Submit de la página, WebObjects coloca la información exactamente donde el programador quiere, como por arte de magia. Todo el análisis sintáctico de las respuestas, la descodificación de textos, el descubrimiento de objetos y la copia de los datos son tareas que ejecuta el entorno de WebObjects en lugar del programador, por lo que éste queda libre para concentrarse en las funciones únicas de la aplicación.
La intromisión de WebObjects en la página HTML es mínima: se limita a un par de etiquetas de comienzo-fin por cada componente. La etiqueta es un pequeño identificador que declara la existencia y nombre de un componente. El resto de la información necesaria para la tarea a realizar por el componente, se almacena en un archivo separado de enlaces ("bindings").
Lógica: Project Builder -- Project Builder es un Entorno Integrado de Desarrollo multilenguaje (C, C++, Objective C y Java). Es muy potente, pudiendo compararse a CodeWarrior de Metrowerks. Apple utiliza Project Builder para el desarrollo de buena parte de Mac OS X: es una herramienta que nunca entorpecerá un proyecto, por muy exigentes que sean las necesidades de procesamiento lógico.
Aunque cada una de estas herramientas es espléndida por sí sola, están creadas para utilizarse conjuntamente. Se puede arrastrar un objeto de base de datos de EOModeler a una página Web en WOBuilder. WOBuilder analiza el código Java del archivo de proyecto de Project Builder y ella misma genera el código. Haciendo doble clic en un archivo de modelo o un componente Web en Project Builder se arranca respectivamente EOModeler o WOBuilder.
Los puntos flacos de WebObjects -- No pretendo terminar dando la impresión de que en WebObjects todo es de color de rosa. En primer lugar, a diferencia de un número de herramientas cada vez mayor, WebObjects no es un programa gratuito, ni de código abierto (aunque el precio global de 700 US$ que cobra Apple es considerablemente más atractivo que los 50.000 US$ que costaba la licencia para conexiones ilimitadas). Sin embargo, esta circunstancia puede ser por sí sola el factor determinante que disuada a muchas pequeñas empresas y particulares.
Aunque en las presentaciones del producto se muestra que es posible crear aplicaciones Web a partir de bases de datos sin necesidad de escribir código, un uso serio de WebObjects necesita la programación. Por añadidura, el programa es muy difícil de aprender, incluso para programadores experimentados. Aunque el diseño de la Era de la Información (que estudiamos en la primera parte de este artículo) separa interfaz, lógica y datos, WebObjects subdivide estos conceptos básicos en centenares de pequeñas clases que interactúan. El programa resulta todavía más complejo porque utiliza el modelo de entorno de diseño de aplicaciones, lo que obliga a los programadores a localizar y anular algunas funciones a fin de personalizar una aplicación. La documentación de WebObjects es mejor de lo habitual pero, a menudo, no está claro cómo realizar una tarea determinada.
Una característica de la que WebObjects carece y que otros servidores de aplicaciones ofrecen es la recuperación automática de fallos. Esto significa que una aplicación puede colgarse, y otra aplicación se hará cargo de forma transparente de la sesión del usuario. ¡Para el usuario nunca hubo un cuelgue! La aplicación de respaldo podría estar incluso en un servidor totalmente diferente, de modo que si falló una fuente de alimentación, una máquina redundante podría encargarse del trabajo sin interrumpir el servicio.
Aunque se pueden desarrollar aplicaciones WebObjects tanto sobre Windows NT/2000 como sobre Mac OS X (y Mac OS X Server 10), las herramientas para Windows se han quedado en la versión 4.5 y no se actualizarán. Esto un golpe fuerte para muchos desarrolladores de WebObjects que trabajan para compañías que no permiten la compra de equipos Apple.
WebObjects 5.0, que está escrito completamente en Java y ha sido lanzado recientemente, demuestra enseguida que es una versión "punto cero". Hay que activar la cuenta root y luego abrir una sesión root para instalar el programa (se puede desactivar la cuenta root tras la instalación). Peor aún, no hay opción de desinstalación - para eliminar WebObjects, hay que borrar el disco. Hay características de la versión 4.5 que han desaparecido misteriosamente (como los adaptadores para acceder a fuentes de datos LDAP y los adaptadores FlatFile). La prometida opción de que Linux soportara aplicaciones WebObjects no se ha concretado, dejando sólo el Mac OS X (y Mac OS X Server 10), Windows NT/2000, HP/UX, y Solaris como plataformas servidoras soportadas. EOModeler 5 a menudo se atraganta con los archivos de modelo del EOModeler 4.5, y se cuelga con relativa facilidad, llevándose consigo los cambios no guardados. A no ser que seas un inveterado pionero, yo esperaría a que Apple saque la primera corrección de fallos antes de gastar tiempo y dinero con WebObjects 5.
Por qué WO soy yo -- WebObjects tiene sus cosas; sin embargo, encuentro que el acto de construir una aplicación utilizando WebObjects es disfrute en estado purto. Una vez que tu mente abarca los fundamentos de WebObjects, pasas a una zona en la que construyes páginas en horas, en lugar de los días que llevaría hacerlas con otras herramientas. La mejor forma de describirlo es esa sensación que se tiene cuando se conduce un coche de gama alta por una trozo curvo de carretera, flanqueado por árboles. Se aprecian las características de la máquina que te permiten navegar rápidamente hacia tu meta definitiva.
[Jonathan "Wolf" Rentzsch "es" Red Shed Software, y dirige una reunión mensual de programadores Mac en Illinois Noroeste.]
Las publicaciones no comerciales y sin ánimo de lucro tienen permiso para reproducir los artículos, siempre y cuando se de completa noticia del autor y la publicación originales. Para la reproducción en otro tipo de publicaciones, sírvanse en contactar con nosotros previamente. No se garantiza la exactitud del contenido de los artículos. Avertencia al lector!. Los nombres de cada publicación, producto o compañía pueden ser marcas registradas de sus respectivas compañías. TidBITS ISSN 1090-7017.
Número Anterior | Buscar en TidBITS | TidBITS Home Page | TidBITS-es | Siguiente Número