Foros del Web » Programación para mayores de 30 ;) » Programación General »

Soa, Servicios Web y XML

Estas en el tema de Soa, Servicios Web y XML en el foro de Programación General en Foros del Web. Hola a tod@s. Os paso mi situaicón y mi duda haber si alguien puede echrarme una mano: Hemos de desarrollar un proyecto basándonos en una ...
  #1 (permalink)  
Antiguo 08/04/2008, 09:30
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Soa, Servicios Web y XML

Hola a tod@s.

Os paso mi situaicón y mi duda haber si alguien puede echrarme una mano:

Hemos de desarrollar un proyecto basándonos en una Arquitectura Orientada a Servicios. La aplicación será tan grande que habrá que dividirla en diferentes módulos, de tal manera que cada persona se ocupará de uno de los módulos, y la comunicación entre ellos se realizará a través de los servicios web.

El problema, o la duda la tenemos a la hora de comunicar los diferentes sistemas: Si mi módulo devuelve un objeto de la clase LIBRO (por ejemplo) el cliente ha de conocer mi clase LIBRO (importada literalmente desde la referencia web), por lo que no puede desarrollar su solución mientras no tenga mi clase. Y lo mismo pasará en mi lugar si yo necesito usar un objeto que me devuelva cualquiera de los otros servicios web que yo no haya desarrollado. Y si cada uno de nosotros implementamos nuestras propias clases LIBRO, estas son incompatibles pues no son la misma clase.

Una solución sería tener una dll con todas las clases básicas e importar dicha dll en todos los proyectos, pero el solapamiento es excesivo.

Una segunda solución que se nos ocurrió (y de hecho, quisiéramos enfocarlo por esa parte) es tener un conjunto de interfaces comunes (por ejemplo la interfaz ILIBRO) y que cada cual implemente sus clases basándose en dichas interfaces(cada cual implementa su clase LIBRO que implemnta la interfaz ILIBRO), pero en este caso tenemos el problema de que al publicar un servicio web, con un método web cuya signatura dice que devuelve un objeto cuyo tipo básico es una interfaz, da una excepción pues no puede serializar una interfaz.

He descubierto en en C# .net si en la interfaz se declaran propiedades dicho problema desaparece, pero el problema de nuestro proyecto sigue estando presente. Nuestra intención es construir una aplicación que esté implementada tanto en C# como en Java y nuestro principal problema es la búsqueda de esas 'interfaces' que nos permitan implementar nuestras clases de negocio de manera totalmente independientes pero que sean compatibles a través del uso de servicios web.

¿Alguien puede ayudarme?

¿Alguen sabe si existe la posibilidad de definir una interfaz en XML y usarla como base, o como interfaz para implementar nuestras propias clases?
¿Es decir una interfaz básica y estandar que pueda usarse desde cualquier plataforma como se hace con los ficheros WSDL, pero para las clases de negocio?

Muchas gracias por todo.

Saludos.
  #2 (permalink)  
Antiguo 05/05/2009, 18:45
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Soa, Servicios Web y XML

Que tal JoseIsidro


Antes que nada hay que recordar que la comunicación con SOA se hace mediante mensajes XML (si es que utilizas Web Service), no puedes pasar/enviar clases u objetos entre un servicio desarrollado con SOA y una aplicacion cliente, por lo tanto lo unico que puedes pasar son mensajes serializados en XML...

En tu post veo que utilizas .NET, pues bien, .NET trae incorporada una tecnologia llamada WCF, la cual te ayuda a crear los servicios Web sin que tu escribas una linea de codigo, me imagino que ya creaste algun servicio, entonces ya sabes acerca de la Interfaz de Servicio, y su contrato... dentro de los contratos existe una division que se llama Contrato de Datos, los cuales te ayudan para la transferencia de informacion, que es lo que tu quieres hacer con el envio de clases u objetos....


Ojala te sirva esta info....


Saludos.-
  #3 (permalink)  
Antiguo 02/07/2009, 10:44
 
Fecha de Ingreso: julio-2009
Mensajes: 6
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Soa, Servicios Web y XML

Efectivamente, la idea de usar servicios web es la de encapsular la implementación de los servicios, no puedes considerar que tienes un objeto o una clase al detrás de los servicios que se exponen. Otra idea de los servicios web es trabajar con un nivel de acoplamiento muy bajo, esto es, que las dependencias entre las partes de una aplicación sean las menores posibles. Cuando se desarrolla con equipos de trabajo convienen que se hagan convenios sobre la forma en que se van a comunicar los módulos, esto quiere decir que necesitan diseñar interfaces que deben mantenerse lo más estables posibles aunque la implementación cambie todo lo que quieras, esa es un poco la idea que esta detrás del desarrollo en capas, un equipo desarrolla una capa, presenta su interfaces y el otro equipo desarrolla otra capa y trabaja contra la interface que presentó el anterior.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:48.