Multi Banks / Cache / Client Layer

Asked

Viewed 466 times

4

We are studying ways to develop some features for a system, which will be in C# . Net.

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

  1. Access to multiple banks

We need the system to work in several databases. For example, in PHP using framework Codeiginiter, you write the darlings in the language of framework and he "rides" the darlings to the bank you choose. We can use Nhibernate to do this?

  1. Cache

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

  1. Client Development Layer

We need to be able to develop some features in the system specifically for a client. For example, have an extra button on a screen that can be updated and keep these changes.

  • 1

    It’s important to say that questions here at Stack Overflow should not be based on opinions. I’ll give an opinion trying to be as technical and impartial as possible.

  • Have you decided which database to use? this is very important for grouping which technology to use.

2 answers

2

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

1

We can use Nhibernate to do this?

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

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

Maybe we’re talking about second-tier caches. Here’s an article explaining how to use second-tier caches in Nhibernate. The idea is analogous to Hibernate.

We need to be able to develop some features in the system specifically for a client. For example, have an extra button on a screen that can be updated and keep these changes.

Therefore, one must first choose an approach to follow.

If we’re talking about the approach Multi-tenant (Multi-tenant, in free translation), we have a product for multiple customers, and all customers share the same database and the same functionalities, save environment settings.

If we’re talking about the approach Multi-instance (Multi-instance, in free translation), we have a product for each customer. 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 repository layer another DLL (I’m guessing Nhibernate to state this); The presentation layer must be a Web Application;
  • For a MVC system, the presentation layer (Views) must be a Web Application and the other layers a DLL.

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

Browser other questions tagged

You are not signed in. Login or sign up in order to post.