Ver Mensaje Individual
  #9  
Antiguo 06-09-2013
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 21
gatosoft Va camino a la fama
Cita:
Empezado por mjjj Ver Mensaje
Gracias Gatosoft, por tu pronta respuesta.

Entonces lo ideal es tener dos servidores, sin embargo, se podría utilizar uno solo que contenga el servicio de la aplicación y las propias base de datos... todos los ejemplos que he revisado el cliente y servidor de aplicaciones están en el mismo equipo,
Que el elservidor de aplciaciones y base de datos esten en el mismo equipo no es problema, es solo una estrategia de seguridad que ha sido norma en las empresas en las que trabajo (Sector Financiero), lo importante es que si utilizas DataSnap no acceses directamente a la base de datos desde tu aplicación cliente porque ahí comeinzan los problemas....

Lo importante de DataSanap es que puedes accesar a tu aplicación ya sea desde una red local o a través de internet, y ésto te servirá cuando comiences a proramar para tabletas.

Cita:
Empezado por mjjj Ver Mensaje
como y con que componentes se conectaría el cliente con el servidor de aplicación por medio de internet o red local?
Algún ejemplo??
Hay que tener presente que tu servidor datasanap, expone servicios a través de unas clases y tu cliente los consume a través de un "Datamodule" que el wizard te ayuda a cosntruir...

Para el caso específico de las consultas, Datasnap provee comoponentes homologos TDBXXonetion, TDSDatasetProvider, entre otros, que puedes conectar a tus datassources, o ClientDatasets para trabajar...


Y personalmente utilizo una técnica en la que hago todas las conexiones y consultas en el servidor, y envio los resultados de consultas al cliente en forma de XML o a traves de TDBXReader...

No tengo un ejemplo a mano, pues no estoy en casa y en mi trabajo no tengo delphi... pero te recomiendo que sigas el blog de Andreano lanusse, donde da tips interesantes para trabajar el interambio de datos entre cliente y servidor... lo que considero es el Quid de ésta tecnología..!!

http://www.andreanolanusse.com/en/ca...tasnap-server/
http://www.andreanolanusse.com/en/da...iving-objects/

Cita:
Empezado por mjjj Ver Mensaje
Como bien has dicho, no es un cambio menor traspasar mi aplicación a una de 3 capas, pero he tenido bastantes problemas de velocidad y principalmente desconección hacia la BD lo que provoca que la aplicación cliente se cuelgue... vale la pena hacer el esfuerzo y traspasar a este tipo de arquitectura? realmente mejorar la velocidad y principalmente el problema de que se cuelgue la aplicación?
¿Vale la pena hacer el esfuerzo y migrar a DataSanap?, yo considero que si lo vale y bastante..!! no es cuestion de entrar en una moda, es cuestion de potencializar tu aplicación y darle una mayor proyección...

Como en todos los cambios de paradigmas, el trabajo mas fuerte estará en tu cabeza y en vencer éste sentimiento que te hace pensar que es mayor trabajo... y si valdrá la pena la inversión para lograr "un resultado similar"... Como te digo el resultado no es similar y el esfuerzo es relativo y proporcional a éste resultado...

Es posible que la velocidad mejore, pues los servidores están hechos para trabajo pesado... si trabajas tu servidor en la nube (Amazon, Azure) podrás calibrar la potencia de tu servidor de acuerdo a tus necesidades...(con el respectivo costo, obviamente)..

Mejorar la velocidad tambien va a depender de la lógica que utilices y de sobre todo de no cometer el error de programar web con filosofía cliente /servidor... por ejemplo bombardear el servidor con consultas full a las tablas d ela BD... (error hasta para cliente /servidor)

Cita:
Empezado por mjjj Ver Mensaje
Como ya estoy pensando en modificar mi aplicación, valdrá la pena pensar en otra tecnología? cual?
DataSnap es una buena opción considerando que en el futuro el proyecto completo involucra desarrollar algunas aplicaciones para Tablet y páginas web, es compatible esta tecnología con esto?
Hartas preguntas, espero me puedan ayudar a decidirme.
Gracias
¿Otra tecnología?, puede ser, eso depende de cuanto código quieras salvar de tu aplciación actual, de cuales herramientas y tecnologías manejes... No soy quien para recomendarte una tecnología específica, pues soy un enamorado de Delphi y soy se que mi opinión puede ser bastante sesgada...

DataSnap es compatible (ahora) con dispositivos móviles, y con Web podrías utilizar tu servidor consumiendo tus métodos a tarvés de servicios SOAP/REST... Delphi permite crear servicios SOAP/REST de una forma similar a como trabaja con DataSanap Puro....
Responder Con Cita