Home > Microsoft .Net Development News > Java application frameworks come to .NET
Microsoft .Net Development News:
EMAIL THIS

Java application frameworks come to .NET

By Yuval Shavit, Associate Editor
03 Dec 2008 | SearchWinDevelopment.com

.NET News Channel
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

The .NET world has always had some things in common with Java -- both technologies rely on compiled bytecode that's executed in a runtime virtual machine -- so it should perhaps be no surprise that some of Java's tools are migrating to .NET. Several established Java-based frameworks are making serious efforts to push into the .NET community, and they're bringing with them methodologies that Java programmers have been using for years.

Many of these frameworks address issues like object-relational mapping (ORM), which provides a layer of abstraction between databases and object-oriented programming languages, and domain driven design (DDD), a programming methodology that tries to separate code into independent levels. The goal is to help programmers create code that's more stratified, so that developers working on business logic don't need to worry about communicating with databases on one end and the GUI on the other.

One such framework is Spring for .NET, a port of the popular Java framework. The latest release, Spring for .NET 1.2 came out last month and has two major additions, said Mark Pollack, the project's principal engineer: configuration of WCF services using dependency injection, and support for aspect-oriented programming (AOP). AOP is a way of compartmentalizing sections -- called aspects -- of your code and identifying functionality -- or "concerns" -- that cuts across several aspects. For instance, logging and exception handling are examples of concerns that touch practically every aspect in a business application, like customer relationship management or billing.

Like its Java counterpart, Spring for .NET is a modular framework; it doesn't force any architectural models, so programmers can use only the components they need. In fact, some Spring for .NET modules provide standard, traditional helper functions, like a wrapper for ADO.NET and NHibernate, a port of the Java ORM framework Hibernate.

Another relative newcomer to the .NET world from Java is Naked Objects, a framework that automatically builds an application's GUI from a set of domain objects that model business tasks. For instance, Naked Objects would render a product information object into a table view or tree in the GUI to expose that product in an inventory application. The Naked Objects framework also contains hooks to connect to data sources; in theory, you could build an entire application just by defining classes that model a business.

Adoption for these frameworks is relatively modest, but growing. Last year, SpringSource, the San Mateo, Calif.-based company in charge of Spring for .NET, held only a couple training sessions, Pollack said; this year it's had 15. And while Naked Objects was only released in November, it's already signed on the Irish government, which is using it for 1,000 internal users and plans to expand that to 4,000 users next year, said Richard Pawson, the company's managing director. Naked Objects is based in Henley-on-Thames, United Kingdom.

Part of that growth comes from senior architects who are familiar with both Java and .NET, Pawson said. This was the case at Viz Risk Management, a Bergen, Norway-based developer. When Viz Risk Management decided to rewrite one of its programs from scratch, the company's lead developer Steinar Dragsnes settled on the Spring for .NET framework as a way to separate concerns within the code and make sure dependencies don't leak in the wrong direction.

All of the developers on the project -- .NET programmers at the core -- like Spring for .NET now, but they were skeptical at first, Dragsnes said. While Java programmers have been using third-party frameworks for years, many .NET programmers are used to a predominantly Microsoft-only stack, he said. Accepting Spring for .NET meant that those programmers now had to branch out and explore online forums, blogs and developer communities they weren't familiar with -- and that they had to accept open source software. Spring for .NET and NHibernate are both open source.

The biggest pain point was in getting his team used to the XML-based configuration that Spring uses, Dragsnes said. To that end, Dragsnes broke the configuration file into several smaller files, each about 50 lines, and wrote wrapper classes for them. Although some of the new ideas, like AOP, took some initial explaining, the group generally embraced those new methods, and Viz Risk Management is now considering rewriting some of its other applications with Spring for .NET, Dragsnes said.

The shift from Java-based frameworks to .NET-based ports of those frameworks is part of a larger trend in which .NET is steadily becoming more innovative than Java, Pawson said. Until a couple years ago, Java had more features and a more vibrant community than .NET, he said. Now, Microsoft is becoming more open, and it's firing back with some unique features of its own -- like LINQ, which Pawson said is by itself a good reason to consider moving from Java to .NET.

Tags: .NET development community.NET Architecture Best PracticesObject Relational Mapping (ORM) in the .NET FrameworkVIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
.NET development community
Microsoft's message at TechEd: make the most of what you have
How to convince management to buy Microsoft Visual Studio 2008
Silverlight plug-in for Eclipse highlights Microsoft's work on interop
Microsoft sparks creativity with DreamSpark student developer program
Assessing Microsoft's bid for Yahoo
Microsoft offers to buy Yahoo for $44.6 billion
Try the Microsoft Download Center -- now powered by Silverlight
.NET User Groups Learning Guide: International
.NET User Groups Learning Guide: Canada
.NET User Groups Learning Guide: California

.NET Architecture Best Practices
Introduction to ASP.NET's Model View Controller (MVC) Design Pattern
Free book from Microsoft brings patterns and practices to .NET
The faces of .NET/Java interoperability
.NET Development coming to a Cloud near you
Distributed caching goes mainstream
A look at concurrency constructs and primitives in .NET
Designing Windows Communication Foundation service contracts
Scaling WCF applications can challenge development teams
Microsoft touts rich Internet app development at Mix08
Book excerpt: .NET Framework Design Guidelines
.NET Architecture Best Practices Research

Object Relational Mapping (ORM) in the .NET Framework
.NET Development coming to a Cloud near you
Distributed caching goes mainstream
Latest OR.NET release reduces generated code
ORM tool supports OLEDB and SQL functions
ORM tool EntitySpaces adds Join syntax
Quick Objects brings ORM to n-tier application development
Case Study: IdeaBlade DevForce object mapping
Shifts in .NET Object-Relational Mapping: Seismic and subtle
LightSpeed brings domain-driven ORM to .NET
TierDeveloper now supports nullable types, includes design tools

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
blog  (SearchWinDevelopment.com)
Programmer's Day  (SearchWinDevelopment.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Development Solutions - Silverlight, WinForms, ASP.NET
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2000 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts