martes, 22 de julio de 2008

Un poco de defensa de SOA y XML

Otras malas noticias para SOA. Ahora declaran que su uso aumenta el costo de depurar sistemas. Eso es debido al aumento en la complejidad y por el hecho que el re-uso de los servicios no se esta dando como previsto (lo que habría permitido reducir los costos).

Voy a defender SOA en esta oportunidad. Creo que el problema proviene del hecho que cualquier sistema nuevo debe interoperar con sistemas pre-existentes. La interoperabilidad es un tema complejo y antes de SOA/Web Service/REST las soluciones eran caras, propietarias y requerían de ingenieros altamente especializados: quizás por eso, no se integraba tanto los sistemas como ahora. Entonces, creo que el costo de depuración aumento porque, ahora, hay capas de código a depurar que antes simplemente no existían.


XML bajo ataque. Google introduce Protocol Buffer el cual define un nuevo IDL y un protocolo binario para intercambio de datos en reemplazo de XML. Personalmente, no creo que Google tenga mucho éxito con esta iniciativa y tampoco se si es mejor que XML para los programadores. Este articulo tiene varios links relevantes y estoy 100% de acuerdo con la entrada de Ted Neward.

2 comentarios:

Jorge.Rodriguez.Suarez dijo...

Francois:

No sabia de BufferProtocol, gracias por la info.

De acuerdo contigo, y si tiene exito se debera en gran medida a la espalda que tiene con el gigante Google.

A mi me gustaria ver mas de estos intentos de humanizar los formatos de transferencias creando proyectos sobre JSON, que hoy ya soportan la generación de metadata en lenguajes dinamicos como Ruby, JavaScript (donde es nativo) o Python. Quisiera ver intentos por crear tools para generar parsers de JSON en lenguajes estaticos de forma que enviemos objetos JSON y recibamos del otro lado objetos JSON con wrappers en Java, C, C++ o Scala.

Francois dijo...

Jorge:

100% de acuerdo contigo.

En lugar de crear un protocolo más eficiente, donde ya hay soluciones alternativas como las mencionadas por InfoQ, Google debería preocuparse de fomentar protocolos más faciles de usar.

Se que /liftweb/ (el framework web de Scala) usa JSON y espero que sea fácil de usar. Voy a investigar el tema pronto.