Opinion de acceso a datos de las aplicaciones

29/09/2007 - 08:54 por [Juanjo] | Informe spam
Hola grupo:

Necesito hacer una aplicacion (no webform) que los datos deben de ser
accesibles desde
cualquier sitio, es decir, desde dentro de la Lan del cliente y desde
Internet.

Hasta el dia de hoy, cuando tenia que hacer un desarrollo generalmente
era dentro de
una LAN, tratando de desarrollarla siguiendo el modelo
Vista-Controlador-Modelo contra
una base de datos SQL Server.

La opinion que pido es, como conectarias la aplicacion al SQL Server:
- Si lo harias haciendo las consulta directamente sobre el SQL (simplemente
modificando las
cadenas de conexion a la base de datos) o es mejor usar algun otro
mecanismo como los
servlets de Java??
- En caso de recomendar los "servlet" cual es el equivalente a C#???alguna
web???
- Actualmente desarrollo en VS 2005, para el VS2008 sabeis si habra algun
mecanismo para
esto???

Muchas gracias por adelantado.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
30/09/2007 - 20:46 | Informe spam
"[Juanjo]" wrote in message
news:%
Necesito hacer una aplicacion (no webform) que los datos deben de ser
accesibles desde
cualquier sitio, es decir, desde dentro de la Lan del cliente y desde
Internet.
[...]
La opinion que pido es, como conectarias la aplicacion al SQL Server:
- Si lo harias haciendo las consulta directamente sobre el SQL
(simplemente modificando las
cadenas de conexion a la base de datos)



Esto es preferible evitarlo por razones de seguridad, ya que requiere
exponer al exterior el servidor sql, abriendo un puerto en el cortafuegos.

o es mejor usar algun otro mecanismo como los
servlets de Java??
- En caso de recomendar los "servlet" cual es el equivalente a C#???alguna
web???



Me inclino más bien por los Servicios Web, que son compatibles tanto con
clientes C# como con clientes Java. Se instalan en un servidor IIS cuyo
puerto se abre al exterior (pero está preparado para eso), y éste a su vez
es el que se comunica con el servidor sql, que no se abre directamente al
exterior.

- Actualmente desarrollo en VS 2005, para el VS2008 sabeis si habra algun
mecanismo para
esto???



Bueno, no exactamente en el VS2008, sino en el Framework 3.0 (que se
puede usar también desde VS2005), tienes WCF (Windows Comunication
Foundation) que te da múltiples posibilidades de comunicar un cliente con un
servidor, incluyendo entre dichas posibilidades los Servicios Web.
Respuesta Responder a este mensaje
#2 [Juanjo]
01/10/2007 - 12:30 | Informe spam
Muchas gracias por la opinion.

Sabes de alguna pagina/tutorial de servicios web que estan bien?
el Net Remoting va mejor que los servicios web?

Muchas gracias.

"Alberto Poblacion"
escribió en el mensaje news:Olr1%
"[Juanjo]" wrote in message
news:%
Necesito hacer una aplicacion (no webform) que los datos deben de ser
accesibles desde
cualquier sitio, es decir, desde dentro de la Lan del cliente y desde
Internet.
[...]
La opinion que pido es, como conectarias la aplicacion al SQL Server:
- Si lo harias haciendo las consulta directamente sobre el SQL
(simplemente modificando las
cadenas de conexion a la base de datos)



Esto es preferible evitarlo por razones de seguridad, ya que requiere
exponer al exterior el servidor sql, abriendo un puerto en el cortafuegos.

o es mejor usar algun otro mecanismo como los
servlets de Java??
- En caso de recomendar los "servlet" cual es el equivalente a
C#???alguna web???



Me inclino más bien por los Servicios Web, que son compatibles tanto
con clientes C# como con clientes Java. Se instalan en un servidor IIS
cuyo puerto se abre al exterior (pero está preparado para eso), y éste a
su vez es el que se comunica con el servidor sql, que no se abre
directamente al exterior.

- Actualmente desarrollo en VS 2005, para el VS2008 sabeis si habra algun
mecanismo para
esto???



Bueno, no exactamente en el VS2008, sino en el Framework 3.0 (que se
puede usar también desde VS2005), tienes WCF (Windows Comunication
Foundation) que te da múltiples posibilidades de comunicar un cliente con
un servidor, incluyendo entre dichas posibilidades los Servicios Web.


Respuesta Responder a este mensaje
#3 Alfredo Novoa
01/10/2007 - 13:51 | Informe spam
Hola Alberto.

On Sun, 30 Sep 2007 20:46:37 +0200, "Alberto Poblacion"
wrote:

Me inclino más bien por los Servicios Web, que son compatibles tanto con
clientes C# como con clientes Java. Se instalan en un servidor IIS cuyo
puerto se abre al exterior (pero está preparado para eso), y éste a su vez
es el que se comunica con el servidor sql, que no se abre directamente al
exterior.



¿Quiere decir esto que SQL Server no está preparado para poder abrir
un puerto al exterior?

Si es así menuda birria. Nos obligan a crear un servidor intermedio
aunque no tengamos necesidad.

Saludos
Alfredo
Respuesta Responder a este mensaje
#4 Alfredo Novoa
01/10/2007 - 14:11 | Informe spam
On Mon, 1 Oct 2007 12:30:57 +0200, "[Juanjo]"
wrote:

el Net Remoting va mejor que los servicios web?



El Net Remoting va por encima de los servicios web y por lo que he
visto es bastante ineficiente. Si necesitas muchas transacciones por
segundo y aprovechar bien el ancho de banda mejor no lo uses.

Yo uso sockets y mi propio formato binario, y así tengo control total
sobre la eficiencia. Y la verdad es que tampoco me costó mucho
esfuerzo. Hay ejemplos por la Web para cortar y pegar.

No necesito depender del IIS para nada y lo puedo hacer salir por el
puerto que me de la gana.


Saludos
Respuesta Responder a este mensaje
#5 Alberto Poblacion
01/10/2007 - 15:59 | Informe spam
"Alfredo Novoa" wrote in message
news:
On Sun, 30 Sep 2007 20:46:37 +0200, "Alberto Poblacion"
wrote:

Me inclino más bien por los Servicios Web, que son compatibles tanto
con
clientes C# como con clientes Java. Se instalan en un servidor IIS cuyo
puerto se abre al exterior (pero está preparado para eso), y éste a su vez
es el que se comunica con el servidor sql, que no se abre directamente al
exterior.



¿Quiere decir esto que SQL Server no está preparado para poder abrir
un puerto al exterior?



Bueno, vayamos por partes. ¿Está preparado? En teoría sí. Pero, ¿puede
garantizarse que no falle jamás? Lamentablemente, no: véase el ejemplo del
gusano Sql Slammer, que infectó miles de servidores Sql hasta que salió el
parche para corregir el fallo del Sql que permitía que el gusano se colase.
En la actualidad se supone que no hay ningún otro agujero, pero yo no me fío
de que los hackers no descubran alguna vez en el futuro otro agujero de
seguridad, así que mientras puedo procuro no dejar un Sql Server abierto al
exterior.
El IIS también podría tener (y de hecho ha tenido) agujeros de
seguridad, pero es mucho más común y habitual tener servidores web abiertos
a la Internet, con lo que los agujeros se descubren y tapan antes. Ningún
sistema es 100% seguro, así que lo que se hace es interponer múltiples capas
de seguridad para hacerles las cosas más difíciles a los hackers. Por eso
los servidores más críticos se ponen por detrás de una segunda capa de
servidores, preferiblemente con un cortafuegos adicional entre las dos
capas. Depende de cómo de crítico sea para tu negocio el servidor Sql y la
información almacenada en él.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida