2010-06-01 23 views
5

Voy a crear un nuevo servicio web asp.net (.NET framework 2.0), la funcionalidad del servicio web es recibir entrada xml, realizar la operación relevante (agregar/modificar/borrar) en función de los códigos de entrada y retorno que indican el estado de la operación. Estoy planeando implementar una arquitectura de dos capas (capa empresarial y capa de base de datos) para este servicio web. ¿Alguien podría aconsejar si esta es la estructura correcta o cualquier otra estructura funcionaría mejor que esta? Básicamente, necesito algunas entradas para diseñar el servicio web.arquitectura/estructura del servicio web ASP.NET

Gracias de antemano.

Gracias, Muru

Respuesta

3

El modelo de dominio debe expresar la lógica de negocio de una manera que es independiente sobre las tecnologías de frontera como WCF o servicios web ASP.NET.

esto se suma la exigencia de una tercera capa:

  • Servicio
  • modelo de dominio
  • acceso a los datos

Si usted no hace una capa separada para la tecnología de interfaces específicas (Servicio), también podría hacer una sola aplicación monolítica, porque de todos modos no podría reutilizar la lógica comercial.

Mientras estamos en esto: use WCF, no ASMX, para servicios web.

0

Escribo un servicio web usando ASMX porque es más fácil empezar a usarlo.

Implemente DAL utilizando ADO o LINQ (podría ser una opción más fácil ya que hace todo el mapeo por usted y es bueno aprender algo nuevo).

¿Cómo vas a llamar a un servicio web? ¿Consideró cómo devolverá el código de estado? Puede consultar JavaScript y Ajax para poder devolver objetos personalizados al cliente, o puede buscar en SOAP, que está basado en xml.

También se puede recomendar una buena lectura: ASP.Net y Ajax: aplicaciones web de arquitectura. Podría darle una mejor idea sobre qué opciones tiene.

0

siempre uso el mismo modelo: capa de servicio/negocio y una capa de base de datos. Cuando se trata de Visual Studio, tengo 4 o 5 proyectos:

1 con el servicio web denominado project.webservice (que SOLAMENTE la tarea es recibir la entrada y dar esa entrada a la capa que hace el pensamiento (business layer), por lo que la prueba se realiza facilmente a la capa de negocio

1 con el project.service llamada capa de servicio que hace el trabajo real (decidir cuál debe ser la operación, llamar a los métodos adecuados db etc)

1 con la lógica de la base de datos llamada project.datalayer que podría ser el código ADO.Net o el marco Entity.

1 con las clases de datos llamadas project.model. Estas clases son las devueltas por el código ADO.Net y utilizadas por el servicio y el proyecto del servicio web. Si utilizo un marco de entidad, normalmente omito este proyecto, porque el propio EF me da las clases de datos que el EF genera.A veces los clientes no quieren usar los dataclasses EF, a continuación, i crear el proyecto project.model y dejar que la capa de datos traducir los dataclasses EF a project.model dataclasses

1 con el TestProject llamado project.test

hop esto ayuda,

Michel

Cuestiones relacionadas