Entradas

Mostrando las entradas etiquetadas como arquitectura

Gestión de proyectos para novatos

Sé que en un post escrito el día 31 de diciembre se debería hacer retrospectiva del año, pero hay veces que es mejor tener una cierta perspectiva, que solo el tiempo te da, para analizar todas las aristas de una historia, por eso he decidido escribir sobre otras cuestiones. Recientemente un amigo que se disponía a encarar su proyecto fin de carrera, después de tenerlo bastante tiempo parado, me pidió consejos que le sirvieran para encarar con éxito los trabajos a realizar. Se trataba de un proyecto para un cliente real, y externo a la Universidad. A partir de aquí me pareció que podría ser interesante escribir sobre ello, ya que podría haber otras personas en su misma situación, también podría interesarle a nuevos freelances, que nunca se han enfrentado en solitario a todas las fases de un desarrollo de software, o a jefes de proyecto juniors. La mayoría de cuestiones que voy a escribir pueden resultar obviedades, pero en este tipo de tareas hay que ser muy metódico, disciplinado y...

Conociendo iPhone/iPod Touch

Imagen
Después de algunos posts sobre movilidad, hay algunos de vosotros que me habéis preguntado por la programación del iphone y iPod Touch. Las plataformas más usuales son Symbian (Nokia, Sony Ericsson, PSION, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp), Rim (Blackberry), Windows Mobile (varios fabricantes, como HTC, Samsung, HP), Google Android (HTC, Samsung), iPhone OS (iPhone / iPod Touch). Con Java, podemos desarrollar aplicaciones para Symbian, Rim, Android (con su SDK) y Windows Mobile. Cierto es que para Windows Mobile, por ejemplo, yo prefiero usar .NET, siempre que no tengamos como Requisito No Funcional que la aplicación sea desarrollada en software libre. Para el iPhone resulta muy complejo el desarrollo en Java, más por problemas de licencia, que por cuestiones técnicas. Por ello, lo mejor es usar Objective-C. Particularidades del iPhone / iPod Touch - Pantalla con resolución de 480x320px - Una sola aplicación capta el fo...

Introducción a J2ME

Imagen
J2ME es la plataforma enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o electrodomésticos inteligentes. Esta edición tiene unos componentes básicos que la diferencian de las otras versiones, como el uso de una máquina virtual especial (debido a que requiere sólo unos pocos Kilobytes de memoria para funcionar) en vez del uso de la JVM clásica, inclusión de un pequeño y rápido recolector de basura y algunas otras diferencias. Es una buena opción en software libre para movilidad. Este esquema, puede considerarse un poco simplista, ya que cada plataforma está orientada a distintos ámbitos de aplicación, pero en cualquier caso nos sirve para poder afirmar que J2ME usa hasta 37 clases provenientes de java.lang, java.io y java.util (J2SE). La principal diferencia es aportada por las clases de javax.microedition (que están en J2ME, pero no en J2SE). Entorno de Ejecución J2ME...

Venta en Gradas

Imagen
Venta en Gradas fue el proyecto que me mantuvo ocupado (muy ocupado) durante el verano pasado. El objetivo era que los asistentes a un partido de fútbol pudieran realizar pedidos desde sus asientos en las gradas del Ramón Sánchez-Pizjuán. Actualmente, varios operarios repartidos por las gradas, portan PDAs y mediante una interfaz sencilla e intuitiva realizan pedidos de productos asociados a una zona del estadio, una fila y un asiento. Simultáneamente se imprime un ticket-resguardo para el cliente (a través de una impresora portátil bluetooth que lleva cada operario) con estado pendiente, y un ticket análogo en la impresora de la barra más próxima. En ésta se prepara el pedido, que otro operario lleva a la Zona-Fila-Asiento indicados. En el momento de entregar el pedido, se realiza el intercambio de tickets, quedándose el cliente con el que tiene estado "entregado". La arquitectura de la aplicación es la siguiente: El software del cliente se desarrolló en .NET C#, y se usó un...

Portales Colaborativos II

Imagen
El pasado 20 de Marzo, estuve en el Seminario: "Gestión de Portales Colaborativos" que organizó Avante en sus intalaciones del Parque Tecnológico Cartuja 93. Ignacio Montoya García de Emergya, realizó una ponencia bastante interesante sobre la tecnología relacionada con el trabajo compartido Online. En este post, hablaré sobre ello, y aportaré mi visión particular sobre el tema. Según temática y/o objetivos podemos hacer la siguiente división: - Portales horizontales (de carácter general): Facebook, Tuenti, Second Life,... - Portales verticales (temáticos): - Redes Profesionales: Xing, Neurona, Linkedln - Redes de Blogs: Blogger, MySpaces, Weblogs, Teoriza - Redes Comerciales: Ciao!, Ebay - Redes de Imágenes: Flickr, Picasa, Natuba - Redes de Participación Ciudadana: Participa en Andalucía - ... Del estudio realizado por The Coktail Analysis en 2008, se extrae que las redes sociales están en plena ebullición, y son usadas masivamente por los internautas, pero, ¿qué pasa con...

Arquitectura J2EE - Patrón MVC

Imagen
El concepto de reutilización del software, no se ciñe solo a usar las mismas funciones, clases, o métodos para resolver problemas similares, sino que se extiende a otras fases del desarrollo del software como puede ser, como es el caso que nos ocupa en este post, la arquitectura. En la reutilización a nivel de arquitectura interna, adquieren especial relevancia los patrones de diseño. En concreto, hoy quiero hablar del Patrón Modelo-Vista-Controlador. El MVC es un patrón muy usado en distintos tipos de aplicativos. He escuchado comentarios de programadores, en los que asocian este patrón a J2EE, dado que hay varios frameworks que lo implementan, como por ejemplo Spring MVC, pero MVC, como el resto de patrones, no es exclusivo de una tecnología. De hecho en las primeras iteraciones de diseño, abstraemos la arquitectura de la tecnología de programación. En Soltel hemos adoptado este patrón en multitud de desarrollos de muy distinta naturaleza: movilidad J2ME, movilidad .NET, C#, y por s...