2010-03-02 18 views
6

Procedente de Java, ahora estoy trabajando en una tienda de Microsoft donde solo utilizamos tecnologías MS. ¿Puede por favor mapear esta pila de arquitectura al mundo de MS? No estoy buscando equivalentes para capas específicas de la pila, sino una pila probada de extremo a extremo que se sabe que funciona en el mundo real:Asignar pila de arquitectura Java a Microsoft

¡Gracias!

arquitectura de pila:
Hibernate
Spring DAO
primavera declarativos de gestión de transacciones
dominio POJOs modelo
Spring MVC
BlazeDS
Flex
visualización de datos Flex interactivo para la cartografía y los datos interactiva análisis

preocupaciones transversales:
de seguridad utilizando Acegi + ACL (autorización de contenido de datos para funciones de usuario)
de pruebas con Mock Objetos
de despliegue mediante la hiedra + Ant
registro con Log4J

+1

¿Qué es un "pl mapa"? – Gabe

+0

Significa "por favor mapear" – danben

Respuesta

2

arquitectura de pila:

  • Hibernate -> NHibernate
  • POJOs modelo de dominio -> dominio modelo POCOs
  • Spring MVC -> ASP.net MVC
  • BlazeDS -> RIA Servicios
  • Flex -> Silverlight

Por DI, se puede ir a por spring.net si eso es lo que usted está familiarizado. Spring y Castle Windsor son probablemente los más maduros, seguidos de cerca por StructureMap.

preocupaciones transversales:

Seguridad usando Acegi + ACL (datos de autorización de contenido para roles de usuario)

probablemente han de rodar su propia.

de pruebas con Mock Objetos

métodos .net no son virtuales por defecto como Java, lo que limita drásticamente lo que es un proxy dinámico (el ingrediente secreto que hace que burlarse de los marcos de trabajo en lenguaje estático) puede hacer. O bien Rhino.Mocks o Moq serían los más utilizados que son gratuitos, y usan el enfoque de proxy dinámico. También hay Typemock Isolator que se burlará de casi cualquier cosa, pero cuesta 800 $ por asiento.

de despliegue mediante la hiedra + Ant

Ivy sería el control de crucero si quieres libre, y TeamCity si quieres buena (advertencia: Soy un JetBrains fanboi ;-) hormiga sería de NAnt o MSBuild (virtualmente lo mismo)

registro con Log4J

dos opciones principales, ya sea log4net o la biblioteca Microsoft Enterprise Logging Block (ama sus nombres) log4net es sin duda el más ligero de las dos opciones, pero depende w sombrero que quiere hacer

0

Conozco a un par de éstos tienen equivalentes:

log4j ->log4net

Hibernate ->NHibernate

primavera ->Spring.net

Además, parece como un POJO no es realmente tan específica de Java (bueno, supongo que la parte J es :)). Supongo que un "objeto simple de C# antiguo" podría considerarse un equivalente ...

+0

Supongo que log4net es bueno si quiero minimizar mi curva de aprendizaje. ¿Qué se considera bueno en el mundo .net, si estoy dispuesto a aprender el "camino .NET"? Lo mismo con otros componentes: ¿Spring.net es realmente lo mejor que tiene .NET para ofrecer? ¿O debería usar algo como el Castillo de Windsor? – user284094

+0

@ tx10 - log4net, NHibernate y Spring.net son todos productos muy maduros en el mundo .NET. No dudaría en usar ninguno de ellos para un proyecto .NET (y a menudo los utilizo) –

1

Los siguientes no son tanto equivalentes exactos, sino más alternativas utilizadas en el mundo de .NET.

Spring MVC -> ASP.NET MVC

Flex -> Silverlight (sólo lado del cliente)

Flex de datos interactiva -> gráficos de Silverlight o ASP.NET de gráficos

Hibernate -> ADO. NET entidad marco.

EDIT:

Creo que la siguiente sería un buen punto de partida (I han dejado de lado las cosas que no sé nada acerca de, como "gestión de transacciones declarativa").

SQL Server
ADO.NET Entity Framework
.NET RIA Services
Silverlight (componentes de gráficos se incluyen en el Silverlight toolkit)

Para el registro prefiero log4net.

En cuanto a la generación de informes y el análisis de datos, es posible que desee consultar SQL Server Analysis Services y Reporting Services.

Consulte también Team Foundation Server para pruebas, compilaciones automáticas e implementación.

+0

No encuadre mi pregunta correctamente, la he editado ahora. Lo que realmente necesito es una pila de extremo a extremo que se sepa que funciona no solo equivalentes de cada componente. – user284094

+0

Ok, ya veo. He agregado más información ahora. –

+0

Incluso con .NET podemos usar Flex, por lo que Flex-Sliverlight no es una gran comparación de IMO. – Vivek

1

. Las tiendas .NET tienden a ser un poco más preceptivas en lo que está "permitido", así que pregúnteles a sus compañeros de trabajo antes de sumergirse y simplemente elegir algo.

He utilizado Spring.NET, y el Proyecto del Castillo y ambos son bastante sólidos pero no 1: 1 característicos con sus contrapartes de Java. Las tiendas de MS a menudo tienden a permanecer cerca de la nave nodriza, por lo que es más probable que utilicen cosas como MS Enterprise Library/Unity (sólida pero prolija), ASP.NET MVC, Silverlight y Entity Framework.

Para CI hay TFS (Team Foundation Server, una versión gratuita ahora se envía con Visual Studio), pero si quiere seguir con el software libre, hay un proyecto Java que convierte la "j" en un software libre de nAnt. y "n" y es probable que haya un producto;)

+0

Veo tu punto. Pero puedo convencer al equipo de que salga de la nave nodriza, si hay buenas razones. En este momento, estoy aprendiendo y no estoy seguro. – user284094

0

Una cosa que me gustaría añadir en el, ya que no creo que se ha mencionado, sin embargo, es que la unidad es (! y más simple) una posible alternativa a la primavera:

http://www.codeplex.com/unity/

+0

Unity proporciona soporte para inyección e intercepción de dependencias. Para todo lo demás, como el registro, el manejo de excepciones y la validación, considere usar bloques de aplicaciones correspondientes de Enterprise Library. (http://msdn.microsoft.com/entlib) –

Cuestiones relacionadas