Build a Java Architecture Stack

Based on the Java background, I now work in the Microsoft store, where we use only MS technology. Can you draw this architecture stack in the MS world? I'm not looking for equivalents for specific stack layers, but a proven end-to-end stack that is known to work in the real world:

Thanks!

Architecture Stack:
Hibernate
Spring dao
Spring Declarative Transaction Management
Domain Model POJO
Spring mvc
BlazeDS
Flex
Flex Interactive data visualization for mapping and interactive data analysis

Cross media issues:
Security using Acegi + ACL (authorization of data content for user roles)
Testing with Mock Objects
Deploy using Ivy + Ant
Log4J Registration

+6
java flash architecture silverlight
source share
6 answers

Architecture stack

  • Hibernate โ†’ NHibernate
  • POJO domain model โ†’ POCOs domain model
  • Spring MVC โ†’ ASP.net MVC
  • BlazeDS โ†’ RIA Services
  • Flex โ†’ Silverlight

For DI, you can just go to spring.net if that is what you are familiar with. Spring and Windsor Castle are probably the most mature, followed by StructureMap.

Cross media issues:

Security using Acegi + ACL (authorization of data content for user roles)

may have to roll on their own.

Testing with Mock Objects

.net methods are not virtual by default, like java, which sharply limits dynamic proxies (the secret sauce that makes mocking frameworks work in a static language). Either Rhino.Mocks or Moq will be the most common ones that are free, and use a dynamic proxy approach. There is also a Typemock Isolator that will scoff at anything, but it's $ 800 / place.

Deploy using Ivy + Ant

Ivy is cruise control if you want free, and TeamCity if you want good (caution: I'm jetbrains fan coils ;-) Ant will be NAnt or MSBuild (pretty much the same)

Log4J entry

Two main options: log4net or the Microsoft Enterprise logging unit (like their names) log4net is, of course, the easiest of the two options, but it depends on what you want to do

+2
source share

The following are not so much exact equivalents as alternatives used in the .NET world.

Spring MVC โ†’ ASP.NET MVC

Flex -> Silverlight (client side only)

Flex mining โ†’ Silverlight charts or ASP.NET charts

Sleep โ†’ ADO.NET entity framework.

EDIT:

I think the next starting point would be good (I forgot something that I donโ€™t know anything about, such as "declarative transaction management").

SQL Server
ADO.NET Entity Framework
.NET RIA Services
Silverlight (chart components are included in the Silverlight toolkit )

For logging, I prefer log4net.

For reporting and data analysis, you can also look at SQL Server Analysis Services and Reporting Services.

Also check out Team Foundation Server for testing, automated builds, and deployments.

+1
source share

. NET stores tend to prescribe what is โ€œallowed,โ€ so ask your employees first before diving and just pick something.

I used Spring.NET and the Castle project, and both of them are pretty solid, but not 1: 1, but their Java counterparts. MS stores often tend to stay close to motherhood, so they are more likely to work with things like MS Enterprise Library / Unity (solid but verbose), ASP.NET MVC, Silverlight, and Entity Framework.

There is TFS for CI (Team Foundation Server, the free version now comes with Visual Studio), but if you want to stick with the free software theres CruiseControl.NET, nAnt, nUnit basically accepts a Java project, converts "j" and "n" and, possibly a product;)

+1
source share

I know that a couple of them have equivalents:

log4j โ†’ log4net

Sleep โ†’ NHibernate

Spring โ†’ Spring.net

Also, it seems like POJO is not really Java specific (well, I suppose the J part is this :)). I assume that the "plain old C # object" can be considered equivalent ...

0
source share

I found something, Sharp + Silverlight got me 80%? Is this considered current best practice in the .NET world?

http://wiki.sharparchitecture.net/MainPage.ashx

The biggest missing element that I see is the Acegi + ACL function ...

0
source share

One thing that I would add, since I don't think it has already been mentioned, is that Unity is a possible (and simpler!) Alternative to Spring:

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

0
source share

All Articles