Yo lo implementaria en Java porque es portable, tiene frameworks muy 
interesantes, es opensource y sobre todo porque es el lenguage de programacion 
que mejor manejo.

Como dicen en otros mails el hecho de que java este de moda tiene grandes 
ventajas, si tu aplicacion esta hecha en java la gente que te lo compre lo va 
prejuzgar positivamente como algo sofisticado y de calidad aunque en la 
realidad no necesariamente lo sea.

 

Tu aplicacion "servidor" deberia dividirse en una capa de persistencia, en 
donde tenes el codigo para el acceso a la base de datos, la cual implementaria 
con Hibernate y JPA (java persistence API). Esto resuelve el conflicto 
relacional-objeto y algo tambien muy interesante es que tu aplicacion 
funcionaria para la gran mayoria de base de datos simplemente cambiando dos 
datos de un archivo xml (driver y dialecto).

 

A la capa de persistencia la consultas mediante la capa de servicios, en donde 
tenes los servicios que expones al cliente, por ejemplo dar alta un usuario o 
algo asi. En esta capa tambien manejas las transacciones y van las reglas de 
negocio que no puedan ponerse en el modelo por problemas de cohesion o 
acoplamiento, aunque siempre hay que tratar de ponerlas en el modelo. Esta capa 
es interesante implementarla con Spring, mas que nada porque te resuelve el 
tema de las transacciones y te alienta a utilizar interfaces en lugar de clases.

 

Por ultimo queda la capa del modelo, en donde estan realmente tus objetos y 
haces la hermosa POO con la que implementaras las reglas de negocio, calculos y 
demas cosas que necesites. Esta capa es consultada tambien por la capa de 
servicios.

 

Para que este servidor quede independiente de la tecnologia de los clientes yo 
agregaria una capa mas para webservices, que lo unico que haria es exponer como 
webservices a los metodos de la capa de servicios que quiera exponer a los 
clientes.

 

Todo esto en java. La ventaja del webservice es que esta muy bien soportado 
tanto por java como por la gran mayoria del resto de tecnologias y puede ser 
consumido por .NET, PHP, python, C++, incluso visual basic. Obviamente tambien 
podes hacer un cliente usando tecnologia java, con swing para desktop o JSF 
para web (aunque Wicket es mas lindo que JSF).

 

En fin, lo malo de java es que hay mucho y uno no sabe que elegir ni que 
aprender. Como dije antes, yo lo haria en java utilizando webservices, Spring, 
Hibernate y Wicket pero porque son tecnologias muy poderosas que ya las se 
manejar. Si las usas vas a tener el resultado que queres, multiplataforma y con 
clientes bien genericos, pero aprender cada una de esas tecnologias puede 
llevarte un tiempito.

 

Mi consejo, trata de seguir esa arquitectura de webservices con las tecnologias 
y lenguajes que conozcas salvo que quieras aprovechar este proyecto para 
aprender a usar la ultimas tecnologias que se estan usando y que van a tener 
soporte por un tiempo informaticamente mas que aceptable.

 

 
> Date: Sat, 21 Feb 2009 11:05:37 -0200
> From: [email protected]
> To: [email protected]
> Subject: [Prog] desarrollo applicacion linux - win - web
> 
> Hola, quisiera hacer el desarrollo de una aplicacion que pueda correr
> en linux y windows, y ademas
> que pueda ser web.
> 
> Se me ocurre separar servidor y cliente.
> El servidor podria hacerlo en python, C o cualquier lenguaje portable.
> Los clientes podrian ser PyGtk, o hacer distintas versiones (VB, Qt, 
> Curses...)
> El cliente web lo haria en Javascript, por ejemplo.
> 
> Lo importante sera el protocolo para intercambiar datos entre servidor
> y clientes. Aqui creo que deberia
> usar JSON-RPC ya que es el formato mas apropiado para el cliente web,
> y se puede usar en varios lenguajes.
> 
> Les parece esto algo viable o existen soluciones mejores ?
> 
> Gracias
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion

_________________________________________________________________
El doble de diversión: con Windows Live Messenger compartí fotos mientras 
charlas.
http://download.live.com/messenger
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a