Servicios web

18/10/2006 - 11:18 por Catalin Lungu | Informe spam
Hola,
Llevo poco tiempo leyendo sobre servicios web, he hecho algunos ejemplos y
la cosa no parece nada complicada. Sin embargo tengo algunas dudas que les
ruego que me aclaren.

1. Siempre que en el navegador se va a poner http://miwebserv/miserv.asmx
van a salir los metodos implementados en la clase? No es posible que sea
invisible porque tampoco sirve para nada llamandolo desde el navegador.

2. Puedo llamar a estos metodos desde una aplicación desktop y tambien desde
una web (ASP.NET)

3. Si puedo llamarlo desde ASP.NET cuales serian las ventajas, desventajas?

4. Para hacer una aplicación Cliente-Servidor me sirve como servidor un
servicio web que conecte con una base de datos, trabaje con ficheros, etc.

5. Hay alguna diferencia entre una clase y un servicio web ademas de la
forma de invocarla?

Venga, un saludo.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
18/10/2006 - 11:52 | Informe spam
"Catalin Lungu" wrote in message
news:
1. Siempre que en el navegador se va a poner http://miwebserv/miserv.asmx
van a salir los metodos implementados en la clase? No es posible que sea
invisible porque tampoco sirve para nada llamandolo desde el navegador.



Hay una opción para desactivarlo, pero desgraciadamente no me acuerdo de
cuál es.

2. Puedo llamar a estos metodos desde una aplicación desktop y tambien
desde una web (ASP.NET)



Sí, sin ningún problema. Y también se puede desde una aplicación de
consola y desde un servicio windows.

3. Si puedo llamarlo desde ASP.NET cuales serian las ventajas,
desventajas?



La ventaja es que desde dentro de tu aplicación asp.net puedes hacer una
llamada a OTRO servidor asp.net. Si el servicio que llamas está en la misma
máquina, probablemente sea mejor dejarlo en una DLL y llamarlo directamente
en lugar de usar un servicio web.

4. Para hacer una aplicación Cliente-Servidor me sirve como servidor un
servicio web que conecte con una base de datos, trabaje con ficheros, etc.



Sí, de hecho es bastante frecuente encontrar aplicaciones que trabajen de
esta manera.

5. Hay alguna diferencia entre una clase y un servicio web ademas de la
forma de invocarla?



Bueno, el servicio web siempre está programado dentro de una clase. La
principal diferencia entre llamar directamente a la clase y llamarla por
medio del servicio web es que el servicio web no guarda estado (se pierden
todas las variables de clase entre una llamada y otra), y otra diferencia es
que con el servicio web todos los parámetros se pasan por valor, mientras
que con una llamada directa a la clase se pueden pasar parámetros por
referencia.
Respuesta Responder a este mensaje
#2 Catalin Lungu
18/10/2006 - 12:48 | Informe spam
Muchas gracias Alberto. Me quieres decir que el servicio web es como si
fuera una clase estatica le pasas algo y te devuelve algo, nada mas.

Bueno otra cosilla si no es mucha molestia.
Estoy probando desde el emulador de PDA(s) invocar al servicio web en local
y tambien en remoto y me salta una exception "No se controló web exception",
"No se pudo establecer conexión con la red". Es porque hay que hacer alguna
cosa mas, especifica para PDA(s) o porque lo hago desde el emulador?

Un saludo,
Catalin
Respuesta Responder a este mensaje
#3 Alberto Poblacion [MVP]
18/10/2006 - 13:21 | Informe spam
"Catalin Lungu" wrote in message
news:%
Muchas gracias Alberto. Me quieres decir que el servicio web es como si
fuera una clase estatica le pasas algo y te devuelve algo, nada mas.



No exactamente. La clase estática sí que guarda estado entre llamada y
llamada (aunque el estado es el mismo para todos los llamantes). El servicio
web no guarda estado en absoluto.

Bueno otra cosilla si no es mucha molestia.
Estoy probando desde el emulador de PDA(s) invocar al servicio web en
local y tambien en remoto y me salta una exception "No se controló web
exception", "No se pudo establecer conexión con la red". Es porque hay que
hacer alguna cosa mas, especifica para PDA(s) o porque lo hago desde el
emulador?



No creo que tenga nada que ver con el servicio web. Más bien parece como
si el emulador no tuviera configurada la conexión de red y no se pudiese
comunicar con el servidor. ¿Has probado a navegar desde el explorador de la
PDA a una página del mismo servidor que tiene el servicio web, a ver si es
capaz de comunicarse correctamente?
Respuesta Responder a este mensaje
#4 Roberto M. Oliva
18/10/2006 - 13:27 | Informe spam
Hola!

Yo solo añadiria una cosa a la estupenda respuesta de Alberto:

3. Si puedo llamarlo desde ASP.NET cuales serian las ventajas,
desventajas?



La ventaja es que desde dentro de tu aplicación asp.net puedes hacer una
llamada a OTRO servidor asp.net. Si el servicio que llamas está en la misma
máquina, probablemente sea mejor dejarlo en una DLL y llamarlo directamente
en lugar de usar un servicio web.



Hay otra ventaja y es la reutilizacion del servicio. Si tu pones un
servicio que realiza una accion a disposicion de distintas
aplicaciones, estas podran beneficiarse del mismo.
Es como usar una libreria DLL, pero distribuida. Y la gran ventaja es
que el canal de comunicacion es el protocolo HTTP, luego puede estar
distribuida a traves de Internet.

Un saludo
Roberto M. Oliva



Alberto Poblacion [MVP] ha escrito:

"Catalin Lungu" wrote in message
news:
> 1. Siempre que en el navegador se va a poner http://miwebserv/miserv.asmx
> van a salir los metodos implementados en la clase? No es posible que sea
> invisible porque tampoco sirve para nada llamandolo desde el navegador.

Hay una opción para desactivarlo, pero desgraciadamente no me acuerdo de
cuál es.

> 2. Puedo llamar a estos metodos desde una aplicación desktop y tambien
> desde una web (ASP.NET)

Sí, sin ningún problema. Y también se puede desde una aplicación de
consola y desde un servicio windows.

> 3. Si puedo llamarlo desde ASP.NET cuales serian las ventajas,
> desventajas?

La ventaja es que desde dentro de tu aplicación asp.net puedes hacer una
llamada a OTRO servidor asp.net. Si el servicio que llamas está en la misma
máquina, probablemente sea mejor dejarlo en una DLL y llamarlo directamente
en lugar de usar un servicio web.

> 4. Para hacer una aplicación Cliente-Servidor me sirve como servidor un
> servicio web que conecte con una base de datos, trabaje con ficheros, etc.

Sí, de hecho es bastante frecuente encontrar aplicaciones que trabajen de
esta manera.

> 5. Hay alguna diferencia entre una clase y un servicio web ademas de la
> forma de invocarla?

Bueno, el servicio web siempre está programado dentro de una clase. La
principal diferencia entre llamar directamente a la clase y llamarla por
medio del servicio web es que el servicio web no guarda estado (se pierden
todas las variables de clase entre una llamada y otra), y otra diferencia es
que con el servicio web todos los parámetros se pasan por valor, mientras
que con una llamada directa a la clase se pueden pasar parámetros por
referencia.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida