domingo, 27 de marzo de 2016

Microservices

This article deals with the subject Microservice, which is to separate a program into small services where each of them running in their own process, I remembered the motto of a sorting algorithm "Divide and conquer" whose objective was the same. The purpose of this style is facilitate the updating and modification of our program. It is mentioned that in a monolithic programming style, you can't change a single module, needs to be updated whole the application or program every time a change is made.

On the other hand in a style based on Microservice we have the advantage that if we modify some modules of the application, we can go only to the module or service that will be updated and this is enough for the changes to be reflected the whole application.

Another advantage of this technique is that by putting each element as a separate service, in the situation where a replication of data related to the information stored in the database is required, only the data replication that is required are performed and not all the information as would be done in any other style. This allows to carry out this task effectively and without wasting resources.

Componentization (term ascribed to the action separating an application into services) has as main advantages:
  •  Allows services are independently deployable, so modification is simple and effective.
  • Minimize cohesion, which refers to the relationship maintained with other services and that both affect the changes made in one service to another service.

The industry related with information technology (IT) chooses to organize services depending on your skills or capabilities, this allows a group to be able to develop and operate the same product, and not as has been done in recent years, that people who develop applications are not responsible for the maintenance of it.

martes, 15 de marzo de 2016

The 4+1 View Model

Personally this blog activity I really liked, both videos and the reading, I found them very interesting and applicable to everyday life and, in our case to our coding methodologies.

In the first video we can observe how UML diagrams play important roles in each stage of software development . Each stage has a purpose, but we must not forget that each relate to each other and at the end the greatest relationship that they have is with the UML diagrams. The comparison with respect to the planes which a builder performs before a building is built, it is very accurate because as has been mentioned on many occasions, are the foundation of our program.

Moreover, what most caught my attention was the second video and the reading. Each of us has a different perspective on things, this depends precisely on how we observe things or attention that we put in some details. Relating this to programming practices, sometimes maybe we do not realize of certain aspects or details of a program, but someone else makes us see another perspective or, sometimes each person understands a different thing, but in the end you get the same result .

Another important aspect is the relationship of an all in a set or object. I think a very important weapon are groups of working where, before developing a project are presented to developers the necessary requirements, and once they are analyzed, each of the people involved gives ideas according to their view about the things. I think these practices also help create more powerful programs and it contribute to sharing knowledge, and gives us the opportunity to learn new things, we must not closing ourselves off  to our ideas. A person who does not open to new thoughts is like a blind man who clings to what is touching, its what he thinks or believes it is.