Business Layer Software Architecture (Part 2 of N)

In a previous article about “Layered Software Architecture Part 1″ I shared my thoughts about it isn’t enough just applying any of the MvC, MvvM or MvP patterns to build a good Software Architecture.

For non CRUD applications where there are business logic in the app I think it’s a good idea if  :

  • Api Rest (Communication) Layer shouldn’t have business logic neither have  access directly to the Data with an ORM.
  • Api Rest (Communication) Layer should only limited to have simple data validations.
  • Business layer should avoid to have direct access to data via ORM or SqlQueries since the Data Access Layer is the responsible
  • We should try to build thin Api Rest (Communication) Layer and fat Business Logic Layer

responsibility

Here below we have a list of points of what I think it should be done  in business logic :

Continue reading “Business Layer Software Architecture (Part 2 of N)”

How to be sure you Web App works fine for N users – Load Testing (Part 1 of N)

Load Testing from my real work experience in enterprise companies.

This is the presentation which I did in this Meetup in dotnetMalaga 2017

Link to the presentation :
“How to be sure you Web App works fine for N users – Load Testing

Ads: curso práctico de testing automático presencial y también online

testing_tools.png

Continue reading “How to be sure you Web App works fine for N users – Load Testing (Part 1 of N)”

Feature Toggle (Part 1 of N)

Do you have a variable flag which depending of the configuration the flag will enable/disable (toggle) to execute some lines of code of a feature.? are you tired of this approach?

This patterns was known as “Feature Toggle” which is a set of patterns which can help a team to deliver new functionality to users rapidly but safely.

“Feature Toggling” could be done with t just a variable flag but there are other better way to do it but of course it will require more time to implement it.

Working with toggle feature it will help in:

  • Adopt new technologies as part of feature toggles
  • Clean Code (if don’t use just simple variable flags)
  • Reduce Risk branch merges issues “feature branch”
  • other more things!

overview-diagram.png

Image source from this great “Feature togglingarticle

“Feature Toggling” could be used when

Continue reading “Feature Toggle (Part 1 of N)”

Layered Software Architecture (Part 1 of N)

There are different architecture patterns like MVC , MVP or MvvM but I’m convince that it’s required more artefacts to build a good Software Architecture.

Do you think if it’s enough just applying any of the previous patterns to build a good Software Architecture ?

mvc_mvp_mvvm_

MVC , MVP or MvvM are architecture patterns to structure code and those patterns was common has been used by Developers with experience to reduce the coupling between layers.

For example:

Continue reading “Layered Software Architecture (Part 1 of N)”