[Python-es] .NET Remoting en Python

Hernan M Foffani hfoffani en gmail.com
Jue Mayo 27 18:22:22 CEST 2010


>> Pero a ver, ¿Es .NET Remoting o WCF? Son cosas distintas.
>
> No, para nada. WCF es una API para RPC, multi-protocolo, que tiene un
> binding para MS-NRBF sobre TCP y HTTP , otro para SOAP con diferentes
> transportes, otro para los WS-* , ... , más los que se le puedan
> ocurrir a alguien que haga sus propios bindings o los que resulten de
> ensamblar binding elements existentes o nuevos. Mientras que .NET
> Remoting Binary format (código del estándar MS-NRBF ;o) es un
> protocolo binario para serializar mensajes RPC .
>
> Para que quede más claro : NRBF es un protocolo (o tecnología de
> serialización) para RPC, mientras que WCF es una API . Como me diría
> alguien alguna vez «oranges and apples, Olemis» ;o)

.NET Remoting también es una API, fue introducida en 2002. WCF es la
nueva y la que ha dejado obsoleta a la anterior.
El protocolo a que te refieres es de hace menos de tres años. Que
Microsoft reutilice nombres para cosas distintas no es una novedad. Mi
sugerencia es que si hablas de protocolo usa las siglas, porque .NET
Remoting es como se conoce la API original.

........
>>> Q:
>>>  - ¿Porqué está pasado de moda?
>>
>> Ni idea. Pregúntale a Microsoft.
>
> Bueno MS no fue quién lo dijo en mensajes anteriores ;o) . ¿Al menos
> recuerda Ud donde es que MS lo dijo?

Lo que he aprendido con los años es que cuando MS (bueno, no es solo
Microsoft, eso vale para todos) introduce un nuevo conjunto de APIs
para hacer lo mismo (dicho en términos generales) que hacían las
anteriores en vez de corregirlas o extenderlas, lo que están diciendo
es que mas pronto que tarde las dejarán morir. "Read my lips".

...........
>> No, no me he olvidado. Estaba implícita cuando te dije que el
>> protocolo de comunicación no es el problema mayor. Insisto, la
>> dificultad está en la serialización y deserialización de objetos .NET
>> a Python y vuelta. El tiempo que necesitarías para implementarlo es
>> enorme... Además, ¿Cómo vas a probar que tu interfaz funciona sin
>> programar en IronPython, C# o VisualBasic.NET?
>
> De la misma forma que se puede utilizar HessianPy , PyAMF et al (i.e.
> todos protocolos para RPC diseñados para lenguajes que no tienen nada
> que ver con Py ;o) sin necesitar Java, ni ActionScript, ni ... ;o)
>
> El papel de C# et al en este caso solo lo veo relacionado con algún
> tipo de suite de pruebas + CI para verificar interoperabilidad con
> esas plataformas .

Claro, a eso me refiero.

Si ya tienes implementado JSON-RPC, hacer un gateway a WCF en
cualquier lenguaje .NET nativo no tiene dificultades.

Pero si te apetece implementar tu el protocolo ¡Adelante!
De paso, mientras depuras tu interfaz mediante ingeniería reversa y
tcp-sniffing, le informas a MS de los errores en la documentación del
NRBF. ;-)



Más información sobre la lista de distribución Python-es