Sharp Architecture Contrib – What’s next?

It’s been 2 months since I became the leader of the Sharp Arch Contrib project, and I have meant to write the post since.

Tom Cabanski has done a great job in the contrib project, yet since the initial announcement of contrib, there hasn’t been much contributions by the community to the project, even the contributions I made have been limited, mostly because I am not that creative and don’t know what features to add!

The next release of the contrib project will come out sometime after Sharp Architecture 2.0 is released, and has the following feature planned:

  • NHibernate.Search – Generic implementation for adding indexing and searching to Sharp Architecture using NHibernate.Search
  • Rhino.Security – Haven’t decided on this yet, I am open to suggestions.
  • A Windsor managed MembershipProvider based on Mauricio Scheffer’s solution.
  • Change the registration of logging, transaction and exception interceptors to use hooks and selectors. This functionality might be completely removed if Postsharp is added to Sharp Architecture with similar functionality.
  • Clean up and update documentation.

All these features are inspired by repeated question on the mailing list, as I said, I am not very creative!๐Ÿ™‚

So as you can see, there isn’t much planned, what comes next will largely depend on you, the community. The main repository is here, fork and work on the ‘develop’ branch or if you have any suggestions, or an idea that you want to discuss, please do so on theย  mailing list.

  1. #1 by fpachon on December 20, 2010 - 1:40 pm

    I vote for Rhino Security. It would be great to have an integrated Entity level version!

  2. #2 by seifattar on December 20, 2010 - 1:53 pm

    @fpachon Do you mean something like a SecuredEntity that will have SecurityKey and a Generic Extractor to extract the Key and Description?

  3. #3 by fpachon on December 20, 2010 - 4:25 pm

    Hi Seif. I would not know how to implement it, but the idea is to enable the following scenario

    // I'm authenticated as an user who belongs to 'Users from Paris' group

    // I register an entity group called "Delegations" and inside an child entity group "Paris"
    authorizationRepository.CreateEntitiesGroup("Delegations ")

    //I register an entity client
    Client _cliente =clientsRepoistory.Save(new client{[...]});

    // and I associate an entity to entity group
    authorizationRepository.AssociateEntityWith(_cliente, "DelegationParis ")

    //I set permissions for Get clients to 'Users from Paris'
    .Allow("/Client/Index") // show a list of clients
    .For('Users from Paris') // user group
    .On('DelegationParis') // an entity group

    //After. Deny persmissions for others Delegations to ''Users from Paris'

    //this returns for ''Users from Paris' --> only clients in 'DelegationParis'

    This is what I like to have in SharpArchitecture … I do not know if it is possible to implement.

  4. #4 by seifattar on December 20, 2010 - 4:34 pm

    I understand, so you want to apply the security criteria on any call to a secured entity repository. I will think about a way to implement this, thanks for the suggestion.

    • #5 by fpachon on December 20, 2010 - 4:46 pm

      I would like to help but do not know where to start. I’m really newbie in Castle Windsor, Rhino Security and SharpArchitecture…๐Ÿ˜ฆ

  5. #6 by Alen Siljak on December 30, 2010 - 1:46 am

    Hi Seif!

    I have a strong desire to use NHibernate and Sharp Architecture in a WCF service. It feels that this has not been extensively covered so far. Apparently, the WCF support is moving to Contrib project and I would really like to see a better implementation of WCFSessionStorage. I’m currently having issues using the data layer tied with Sharp Architecture in a WCF service.

    Best regards and congratulations on leading the project!


    • #7 by seifattar on December 30, 2010 - 11:36 am

      Alen, there had been talk in the past about moving the WCF functionality to contrib, the wiki page was written before me or Alec took lead of SA/Contrib and there hasn’t been much talk about moving WCF functionality to contrib, will bring this up with the rest of the team and update the wiki accordingly.

      We are already using SharpArch in WCF applications and haven’t had any problems with it. If you post the problems you are having to stackoverflow and notify on the mailing list, then someone will be able to help.


      • #8 by Alen Siljak on December 30, 2010 - 11:54 am

        Thanks! I’ve actually had some time today (as it is a period between holidays) and had a closer look at Northwind sample. Now that I implemented everything the way it was supposed to be, everything seems fine.๐Ÿ™‚
        I see Sandor’s code’s in the repo, as well.

        Best regards!

  6. #9 by Tango on January 11, 2012 - 3:59 pm

    Hi Seif,

    Any idea when the beta or final version of SharpArch 2.0 will release? I don’t know why but I am not seeing much talks, chat or blogs about the SharpArch 2.0? Can you point me to some recent discussions? Does the architecutre support CQRS i.e. total separation of concerns from top to bottom with two databases? Any other architecture that you might want to suggest for implementing CQRS based enterpise apps?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: