| 
					
						 I think most of the "examples" you will find on the web, including Gemini and Cuyahoga will seem a bit complex, but in actuality there are fairly simple, especially older versions of Cuyahoga (like 0.9).
 
 Basically, imho, you will want a Facade that is a Singleton that wraps the ISessionFactory interface. You can see a fine example of this in Cuyahoga. Then you can go the "Facade-wraps-Services" model for implementing business logic that needs access to the NHibernate session, or the "DAO" model for implementing basic CRUD operations. In my app, I use both DAOs and Services since some of my business logic needs to wrap a transaction around changes to many distinct entities.
 
 Web services with NH has seemed to be somewhat of an issue based on the posts I've read. I personally, haven't used Web Services yet, but you will run into a stumbling block in the fact that NH uses proxies for everything lazy loaded. Search this message board for "Web Service" and see what you find.
 
 -devon 
					
  
						
					 |