none
Comenzando con WCF RRS feed

  • Pregunta

  • Hola

    Tengo varias aplicaciones (WinForm) y un servidor de Base de Datos, el acceso entre ellas es a traves de internet, en un principio las consultas a la BD las estoy haciendo directo contra la BD... y es este justo el motivo por el que hoy les molesto, se que esa no es la forma correcta, entre las aplicaciones cliente (WinForm) y el servidor de BD debería existir una capa intermedia, y gracias a los consejos que me han brindado en el foro de C#, llegue a la conclusión que esa capa intermedia debería ser implementada con WCF... pero me encuentro conque WCF es enorme y como que me pierdo un poco, así que les agradecería si pudieran indicarme que camino tomar para poder lo que me planteo:

    Resumiendo: para acceder a las funciones de la aplicación cliente(WinForm) es necesario loguearse (user y Pass.... las credenciales están almacenadas en la BD). Luego de haber realizado un login existoso, las operaciones que se realizan son Consultas, altas, bajas y modificaciones a la BD. 

    Saludos y muchas gracias por la ayuda que puedan brindarme

    jueves, 5 de julio de 2012 18:03

Respuestas

Todas las respuestas

  • para acceder a las funciones de la aplicación cliente(WinForm) es necesario loguearse (user y Pass.... las credenciales están almacenadas en la BD). Luego de haber realizado un login existoso, las operaciones que se realizan son Consultas, altas, bajas y modificaciones a la BD.

    o sea eso que planteas es loguearse a la aplicacion, o es que debes autenticar cada oepracion que se realiza ?

    porque sino solo es cuestion de un servicio que autentique y diga si pasa o no las credenciales y depues otros para las operaciones que necesites, pero son metodos separados

    no se si es esto lo que planteas, o quizas no entendi bien

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 5 de julio de 2012 20:58
  • Hola Leandro

    La idea seria loguearse a la aplicación, por lo que básicamente seria consultar las credenciales y validar el log-in si estas son correctas, el resto de las consultas, pueden retornar 1000 o 2000 (por poner un numero) registros, el problema es que ignoro que camino debería tomar dentro de todas las vías posibles dentro de WCF para hacer esta capa intermedia... y pues me gustaría, de ser posible, me indicaras el camino correcto a seguir (teniendo en cuenta que esto será lo primero que haga en WCF o sea experiencia 0 ).

    Saludos y muchas gracias por la ayuda.

    viernes, 6 de julio de 2012 12:33
  • pero si es un login no seria simplemente crear el contract para implementarlo ?

    o sea el

    [OperationContract] public bool Autenticacion(string usuario, string password){

    //codigo

    return true; }


    la aplciacion invocaria mediente WCF a este metodo para autenticar y poder usar la aplicacion

    o es que cada invocacion a cada metodo es que requiere autenticacion?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 6 de julio de 2012 15:23
  • Hola lenadro

    Gracias por la respuesta... Con el tema del log-in no lo había visto de esa manera (que cada invocación de un método requiera autenticacion) seria interesante, aunque de momento seria así de simple como lo planteas arriba. Realmente lo que mas me preocupa es en el caso que una consulta necesite retornar muchos registros... mas por el hecho de que pueden haber múltiples clientes (WinForm) consultando la BD a través del servicio WCF (No se como se manejaría WCF en ese caso, con muchos clientes), que por lo que he leído puede instalarse como servicio de windows, pero en este caso, lo recomendarías como servicio de Windows? Disculpa que me abuse con tantas preguntas, pasa que es mi primer contacto con esta tecnología.

    Nuevamente te agradezco la ayuda... Saludos

    viernes, 6 de julio de 2012 15:32
  • que sea un servicio o no el tema de enviar un volumnen importante de datos es lo mismo

    quizas podrias ver de paginar la info, digo al metodo de WCF agregarle el tipico parametro de nro pagina y nro por pagina

    de esta forma limitas la cantidad de datos que se envian podrias paginar en el server usando linq y los metodo Take y Skip

    pero que sea servicio o iis, o algun otro es indistinto en todos los casos habra problems de performance por el transporte

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 6 de julio de 2012 15:46
  • Gracias leandro...

     Eh estado viendo que hay varias formas de realizar la conexión, ahora mismo no recuerdo exactamente los nombres, pero si no recuerdo mal alguno utiliza socket, también http... recuerdo algo de comunicacion duplex, en fin para seguir molestando que seria lo mas acertado para utilizar? No pretendo tener el IIS, lo menciono pues he visto que podria servirme también para hostear el servicio, pero no es el caso.

    No me queda mas que agradecerte por tu ayuda y por la paciencia :D. Saludos

    viernes, 6 de julio de 2012 15:53
  • pero porque mencionas socket o http, no es la idea usar WCF?

    porque por esto que comentas pareciera que la idea es buscar alterntivas para no usar WCF, o entendi mal?


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 6 de julio de 2012 16:16
  • No no, quiero usar WCF me refiero a la manera de establecer la comunicación entre el cliente que va a consumir el servicio WCF.
    viernes, 6 de julio de 2012 16:18
  • pero sino vas a usar WCF que cliente va a establecer comunicacion con WCF ?

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 6 de julio de 2012 16:43
  • No me entendiste te decía que si quiero usar WCF... :D mi respuesta te confundió, disculpa.

    viernes, 6 de julio de 2012 16:51
  • ahh ok, como decia no no, quiero usar WCF ....

    pense que no querias usar, jeje

    -----

    pero la comunicacion de forms estandar es una sola por medio de un proxy que se crea mediante una service reference

    invocarlo por socket lo veo imposible, y crear todo el mensaje soap quizas se pueda pero no lo veo muy simple

    si el servicio se expone por http, se podria ver de usar la libreria de xmlhttprequest

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Cruznick martes, 10 de julio de 2012 12:26
    viernes, 6 de julio de 2012 17:10
  • Servicios de Windows Communication Foundation y servicios de datos WCF en Visual Studio

    Verificate este Tutorial: Usar servicios de aplicaciones cliente, para ver si puede dar luz a los que busca


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    • Marcado como respuesta Cruznick martes, 10 de julio de 2012 12:25
    viernes, 6 de julio de 2012 17:56
  • Hola Leandro y Angel

    Muchas gracias por la ayuda, me dispongo a estudiar un poco el tema... Saludos

    martes, 10 de julio de 2012 12:25