Corpartir logica de negocios con WS

07/06/2007 - 05:06 por Juan Carlos Umanzor | Informe spam
Saludos,

Actualmente estamos migrando al desarrollo en .net y
estamos pensando en la compañía en desarrollar todas las aplicaciones
internas en capas,
y compartir la lógica de negocios mediante web services, y que los mismos
sean reutilizados
por cualquier aplicación que la requiera. Todo para desarrollo interno y
nada para la INTERNET.
Esto por que se desarrollaba en ORACLE Forms y no queremos seguir
programando
con toda la lógica de negocios en cada aplicación.
Las bases de datos con ORACLE.

La idea es que en el cliente solo exista un cascarón en windows que no tenga
absolutamente ningúna lógica de negocios, todo sea invocando a los métodos
de los
diferente WS que interactuan con los DLL de la capa de acceso a datos.
Los ws tendrían tanto lógica de negocios como operaciones CRUD

Trabajar esto con WS trae algún inconveniente?
es recomendable?
existe una mejor forma de compartir la lógica de negocios?
qué tanto problema se podría tener con le nivel transaccional?

Les agradecería sus comentarios y recomendaciones.

gracias
 

Leer las respuestas

#1 carlosmsr
14/06/2007 - 18:21 | Informe spam
Web Services es el paradigma de arquitectura que Microsoft sugiere para estas
situaciones. En el framework 3 tienes tanto algunas mejoras para WS como
algunas nuevas opciones de remoting, pero de todos modos son soluciones que
apuntan a lo mismo: aplicaciones distribuidas.

Respecto del entorno transaccional, la operación de los webservices puede
realizarse exctamente con las mismas características que un cliente windows
forms. Si por transacciones te refieres a las de la base de datos, dispones
de todos los métodos y objetos del cliente Oracle para .NET. Si necesitas
capacidad transaccional por fuera de la Base de Datos y para coordinar las
operaciones de negocios, el framework 3 incluye las librearías Windows
Workflow Foundation.

Sí hay ciertas diferencias relacionadas con la tecnología que se utiliza: la
información se transfiere en formato XML lo cual implica un cierto aumento en
la cantidad total de bites transferidos si el mismo mensaje se enviara en
forma binaria, por ejemplo. El protocolo HTTP en sí es stateless, también
utilizar HTTP implica que se utiliza una capa que está por encima de la capa
TCP.

Con todo esto, yo tengo experiencia directa el desarrollo de aplicaciones
cuyos clietnes consumen webservices ubicados en USA desde clientes que se
ejecutan desde el caribe y ciudades tan lejanas como Buenos Aires, Hong Kong
y la respuesta es más que aceptable (claro, esto también va a depender mucho
del tipo y la calidad de soporte de las conexiones de red).

Aun así, y sobre todo en un entorno de conectividad local de alta velocidad,
las ventajas son muchas: seguridad estandarizada y propia de los WS (lo cuál
te permite pensar a futuro en integrar con otras tecnologías como Java),
soporte de seguridad desde el IIS y la posibilidad de integrarla con el
Sistema Operativo, etc...


A mí me parece una muy buena alternativa. Seguramente habrás estado buscando
información en otros medios y cualquier dato al respecto que puedas aportar,
será muy bienvenido.

"Juan Carlos Umanzor" wrote:

Saludos,

Actualmente estamos migrando al desarrollo en .net y
estamos pensando en la compañía en desarrollar todas las aplicaciones
internas en capas,
y compartir la lógica de negocios mediante web services, y que los mismos
sean reutilizados
por cualquier aplicación que la requiera. Todo para desarrollo interno y
nada para la INTERNET.
Esto por que se desarrollaba en ORACLE Forms y no queremos seguir
programando
con toda la lógica de negocios en cada aplicación.
Las bases de datos con ORACLE.

La idea es que en el cliente solo exista un cascarón en windows que no tenga
absolutamente ningúna lógica de negocios, todo sea invocando a los métodos
de los
diferente WS que interactuan con los DLL de la capa de acceso a datos.
Los ws tendrían tanto lógica de negocios como operaciones CRUD

Trabajar esto con WS trae algún inconveniente?
es recomendable?
existe una mejor forma de compartir la lógica de negocios?
qué tanto problema se podría tener con le nivel transaccional?

Les agradecería sus comentarios y recomendaciones.

gracias





Preguntas similares