Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   DataSnap vs Web Service (https://www.clubdelphi.com/foros/showthread.php?t=89579)

Osorio 16-12-2015 19:53:55

DataSnap vs Web Service
 
Hola compañeros.

Hace unos 3 o 4 años empece a ver el tema de DataSnap y vi que suponia algunas ventajas con respecto a las aplicaciones cliente servidor que estaba desarrollando hasta entonces.

Todo comenzó por que en cierto proceso funcionando en Cliente Servidor contra una SQL SERVER 2000 el tiempo de respuesta era considerablemente alto sin embargo al realizar el mismo proceso con DataSnap el tiempo de respuesta quedo en un estado optimo.

Hace unas semanas me he empezado a interesar en el tema de webservice y veo que en php, java y en mi delphi (que es el lenguaje que realmende medio domino) se pueden contruir webservice y un cliente hecho en delphi puede consumir un webservice sin importar en que lenguaje fue construido este.

Ahora mis inquietudes son:

1. Es DataSnap una especie de webservice? o es DataSnap un concepto diferente al concepto de WebService?
2. En la vida real (ambientes de produccion) cual es mas veloz en tiempo de respuesta? aun no construyo mi primer webservice pero he visto bastantes ejemplos en diferentes lenguajes y no parece tan complejo.
3. Me autorespondo que el web service es mas escalable por aquello q se pueden construir y consumir desde diferentes lenguajes.


En resumen no se si encarar mis futuros proyectos con datasnap o me encamino para webservice.


Bienvenidos comentarios, opiniones, enlaces, y demas.

giulichajari 18-12-2015 17:58:14

Bueno pues la misma pregunta me surgio a mi...

http://clubdelphi.com/foros/showthread.php?t=86827

y tambien pregunte en da: http://delphiaccess.com/foros/index....as-sucursales/

En mi opinion datasnap permite la creacion de un servidor de aplicaciones, el cual accede a los datos (al server de bd), y los usuarios lo llaman. De esta forma se logra mayor escalabilidad sobre todo horizontal, la posibilidad de agregar mas servers...

En cambio los webservice permiten crear servicios o servidores tambien, pero se utilizan para proveer una interfaz de acceso a datos de una entidad. Osea yo veo a datasnap como mas propio de cada empresa, y a los webservices mas publicos.. Por ejemplo la AFIP en argentina no te muestra internamente su sistema, sino que te da como herramienta el ws de pago de impuestos o generacion de facturas.. esto sumado a que los webservices se pueden utilizar desde cualquier lenguaje simplemente llamando a la direccion donde esta alojado. DataSnap es solo delphi.
Es solo mi opinion.

Saludos

AgustinOrtu 18-12-2015 18:18:34

No, se puede acceder a DataSnap desde otros lenguajes, sobre todo si se crea un servidor DataSnap REST, desde el cual desde un simple browser se puede acceder

Nunca lo explore a fondo, pero por algo estan los Mobile Connectors

Osorio 18-12-2015 21:59:14

Gracias por los comentarios. Para ir dandole forma a las ideas voy a empezar a responder las preguntas.

Cita:

1. Es DataSnap una especie de webservice? o es DataSnap un concepto diferente al concepto de WebService?
Diria que son dos formas diferentes de enfrentar el problema pero al final el objetivo es el mismo. Hacer publicos datos o procesos que se pueden acceder remotamente. Asi las cosas DataSnap es Exclusivo de Delphi y los Web Service ya dijimos que se construyen y consumen desde diferentes lenguajes.


Cita:

2. En la vida real (ambientes de produccion) cual es mas veloz en tiempo de respuesta?
Aqui si tendremos que hacer un ejercicio de construir la solucion de las dos maneras y publicar resultados.


Cita:

3. Me autorespondo que el web service es mas escalable por aquello q se pueden construir y consumir desde diferentes lenguajes.
Reafirmando lo dicho. Pues Web Service = Muchos lenguajes. DataSnap = Delphi


Cita:

En resumen no se si encarar mis futuros proyectos con datasnap o me encamino para webservice.
Vuelve la respuesta genial que muchas veces decimos por acá. DEPENDE. jiji:D:D:D En serio. Depende de...

Uds que opinan.

AgustinOrtu 18-12-2015 22:38:49

Donde dice que DataSnap solo puede ser consumido desde Delphi?

mamcx 18-12-2015 23:00:33

El nivel de confusion es alto en este hilo.

Un servicio web es simplemente exponer funcionalidad usando uno(s) protocolos web. Tipicamente, http(s)+(JSON | XML), pero es tambien un servicio web si se usa UDP, Binario, TCP, WebSocket, etc. Hay combinaciones mucho mas esotericas que DataSnap...

Por lo tanto, DataSnap ES un servicio web.

El que pueda o no usarse en otros lenguajes? Es una funcion de que haya o no el codigo de acceso a servidor en esos lenguajes.

Ahora es cierto que es mas simple crear un cliente si se usa un protocolo conocido (ej: HTTP) combinado con un formato de intercambio popular (ej: JSON). Pero aparte de combinar un canal de comunicacion y un formato de intercambio igual hay que ajustar el cliente al servidor.

Ahora, cuando se tiene un metodo establecido para combinar ambos, se ahorra tiempo. DataSnap hace simple armar el combo cliente/servidor con Delphi.

Asi que que hacer? Si DataSnap te hace lo que quieres, pues usa ese. Si te preocupa los clientes, pues haces los clientes! Si crees que es mejor re-hacer parte de lo que DataSnap hace automatico pues lo haces.

Sin embargo: A menos de que estemos hablando de un servicio que HONESTAMENTE requiere acercar a un amplio conjunto de comunidades de programadores y su lenguajes... es mas simple y practico si usas las mismas herramientas entre clientes/servidores. Y de llegar el caso de que necesites abrir? Puede que DataSnap te permita eso, o simplemente re-expones el servicio con otro conjunto de transporte+formato.

Osea: Es comun que tengas varios "canales" con distintos "formatos" a la vez corriendo sobre la misma logica.

Osorio 18-12-2015 23:02:13

Cita:

Donde dice que DataSnap solo puede ser consumido desde Delphi?
Pues no he visto nada que diga que si. (tutorial, ejemplo, cosas asi) por lo que por encima imagino que no.

Como el proposito del foro es que todos estemos bien informados de la herramientas inicie con:

Cita:

Para ir dandole forma a las ideas
y finalice con

Cita:

Uds que opinan.
Por lo pronto eso de que DataSnap se puede consumir desde otros lenguajes suena interesante. Si alguien tiene algo por alli de referencia que pueda compartir.

Osorio 19-12-2015 14:06:33

Cita:

Empezado por mamcx (Mensaje 500658)

Por lo tanto, DataSnap ES un servicio web.

Muy bien explicado. Mario, gracias por tu tiempo para hacernos estos aportes tan valiosos.

Saludos.

mamcx 19-12-2015 18:39:42

De acuerdo a

http://docwiki.embarcadero.com/RADSt...aging_Protocol

Es posible usar datasnap con cualquier cliente usando REST.

AgustinOrtu 19-12-2015 23:47:29

Cita:

Empezado por mamcx (Mensaje 500669)
De acuerdo a

http://docwiki.embarcadero.com/RADSt...aging_Protocol

Es posible usar datasnap con cualquier cliente usando REST.


Cita:

Empezado por AgustinOrtu
si se crea un servidor DataSnap REST, desde el cual desde un simple browser se puede acceder


Delphi Labs: DataSnap XE - REST Web Application

StartKill 05-01-2016 17:00:47

Holas a todos, leí rápidamente pero no estoy seguro si alguien comentó lo siguiente:

- Con Delphi podrias tus clases y las puedes pasar como parámetros a los metodos Datasnap// pueden ser por referencia o por valor.

- Puedes crear tus módulos de datos remotamente y trabajar en tiempo de diseño con ellos.

----> Esto es excelente no <--------


Your friend

Startkill
Lima-Perú


La franja horaria es GMT +2. Ahora son las 16:49:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi