Multi Banks / Cache / Client Layer

4

We are looking at ways to develop functionality for a system, which will be in C # .Net.

I would like to hear opinions on how we can do this, if we can use some frameworks or something else.

  • Access to multiple banks
  • We need the system to work across multiple databases. For example, in PHP using the framework CodeIginiter, you write the queries in the framework language and it "mounts" / em> to the bank you choose. Can we use NHibernate to do this?

  • Cache
  • The system must have a cache to store data in memory and have quick access to that data.

  • Development Client layer
  • We need to be able to develop some functionality in the system specifically for a customer. For example, having an extra button on a screen and can be upgraded and keep these changes.

        
    asked by anonymous 21.09.2014 / 01:43

    3 answers

    2

    I can suggest something related to cache, which in my view makes all the difference when it comes to handling high volumes of concurrent transactions / accesses. This is the framework AppFabric , which after a long time development is a stable and secure and free system.
    There's lots of support material, with videos and available documentation.

        
    22.09.2014 / 01:20
    1

    Can we use NHibernate to do this?

    Yes, they can. Here is the list of database technologies that NHibernate works .

    The system must have a cache to store data in memory and have quick access to that data.

    Maybe we're talking about second-level caches. Here is an article explaining how to use second-level caches in NHibernate . The idea is analogous to Hibernate.

    We need to be able to develop some functionality in the system specifically for a customer. For example, having an extra button on a screen and being able to update and keep these changes.

    So, you should first choose an approach to follow.

    If we are talking about the Multi-tenant approach , in free translation), we have a product for several clients, and all clients share the same database and the same functionality, save environment settings.

    If we are talking about the Multi-Instance approach, we have one product for each client. In this case, it is interesting to separate the presentation layer from the other layers.

    • For a 3 Layer system, the business layer (service) must be a DLL, and the other DLL repository layer (I'm assuming NHibernate to state this); The presentation layer must be a Web Application ;
    • For an MVC system, the Views layer should be a Web Application and the other layers a DLL.

    In both data, the Web Application should at least reference one of the DLLs, the service DLL being in the case of the system 3 layers.

        
    21.09.2014 / 07:33
    0

    BACK END:

    I'm considering that your project is a big project ... for example a complete ERP system. So I'm showing some technologies used by large companies ... This will guide you and maybe solve many doubts.

    I consider a great ORM for C # or Entity Framework .

    It supports multiple database, sqlserver, mysql .. I am aware that it already has an internally caching and lazyloading system that works alongside C # (today it is recommended and developed by microsoft) ... which is great ... For you that want to generate the entities before the database I suggest DatabaseFirst ... but I recommend CodeFirst.

    IwouldalsousealayercalledRepositoryPatternfordataaccessbetweenyourcontrollerandORM.Thereis This framework which is very recommended for ASP MVC / WEB API and there is a great documentation. (It also has a layer called Service Pattern , refers to the Business Logic Layer of an application already incorporated with the repository patter.)

    Nexttoitisusedthe Unity 3.0 for Dependency Injection.

    FRONT END

    I do not have much knowledge in the front end part, but I point out the ASP MVC ... But how is a new project so you look for ASP vNext. Being that this will be the next version of ASP and Microsoft is betting everything on it, will be released in 2015 but we already have some versions available. In it, ASP MVC 6 will be released, and Unity 3.0 will be integrated into this new development technology, in addition to ASP MVC self-contained, ie it will no longer be necessary to install IIS (WEB API already supports this since version 2.)

    I suggest you learn about DEVEXPRESS and TELERIK to see about "UI" for MVC VIEW, including report "UI" etc ... They are widely used but require an initial investment.

        
    21.09.2014 / 08:48