![]() |
El diseño de 3 capas es veloz? ¿Pros y contras?
Compañeros, buen día/tarde/noche, según aplique.
Les platico. En mi lugar de trabajo tenemos una aplicación de agroingeniería y control administrativo de préstamos (si la conocen, se llama SIAGRI de Biosalc), la cual hasta hace un par de semanas funcionaba de maravilla en lo general. Recientemente se propuso hacer un cambio de modelo de 2 capas a tres capas y nos deslumbraron con las "ventajas", entre ellas la velocidad de proceso... No quiero hacer muy largo el cuento, pero hasta el momento NO HEMOS VISTO ningún incremento en la velocidad de procesamiento, antes bien, ahora las conexiones a la base de dato duran tanto como la vida de una mosca, lentas como el servicio burocrático y eso solamente en caso que logre conectarse a la base de datos. Así que regresaremos a dos capas, pero mi jefe estará muy atento a todos sus aportes en éste tema... Por favor, ayúdenme a convencerlo que tres capas es muy útil, o que usar dos capas es lo mejor para usar nuestra aplicación... |
Pienso que un modelo 2 capas, cliente/servidor, bien diseñado es funcionalmente mucho más simple y rápido, ya que 3 capas implica una capa más, y cuantas más capas, más lento.
Aparte de que la inmensa mayoría de diseños 3 capas son realmente 2 capas, porque finalmente acaban acumulando la "vista" y "controlador" en uno mismo. Además, si el sistema que tenéis es funcional, ágil y trabaja bien, ¿para qué cambiarlo? Para que sea más rápido, lo dudo, ahora bien, si es por alguna funcionalidad que se necesite, pues bien, no quedaría más remedio. |
|
Mientras mas componentes y puntos de "contacto" MENOR sera la velocidad LINEAL del proceso.
Eso es de lo mas obvio y elemental. Lo que se puede mejorar (y eso es un posible que depende de...) es la ESCALABILIDAD de tipo HORIZONTAL, o sea, la capacidad de distribuir entre multiples procesos/equipos la carga. Pero eso aumenta la complejidad. Hay carias "capas" y si uno tiene encuenta la arquitectura de los equipos de computo: https://gist.github.com/jboner/2841832 Cita:
Cita:
Lo cual apunta a un esquema 1/2 niveles maximo. 3 y mas es para explotar el 3/4 nivel de paralelismo (equipos y centros de datos). Pero si manejas POQUITOS DATOS, como menos de lo que cabe en RAM o disco local, osea, poquito como terabytes? Mejor simple que complejo. |
Cita:
Es posible que no hayan aplicado todas las buenas prácticas o por ahorrar esfuerzo, hayan coservado algunas funcionalidades o vicios del modelo de dos capas. (No se si sea el caso) Hay que comprender que es un nuevo paradigma y por tanto hay que aceptarlo con sus reglas. Uno de los temas principales es la dependencia que tenemos con los DataSets y las conexiones vivas que nos permiten editar, eliminar e insertar con un minimo esfuerzo. DataSnap y DCOM nos permiten a traves de Datamodulos remotos conservar esta dinàmica, pero esto implica también un tráfico de datos importante, de ahi que deba pensarse en cosas como consultas paginadas, si es necesario. En cuanto a que los "deslumbraron con la velocidad de proceso", es relativo, se supone que si ganas velocidad al trasladar toda tu logica al servidor y dejar que allí suceda la magia, en lugar de hacer procesos en el cliente consultando repetidamente el servidor. Las ventajas son claras, habria que revisar si la implementación es la correcta, o hasta que punto realmente se implementaron las tres capas. Seria interesante concoer algo mas de la arquitectura, Saludo, |
La franja horaria es GMT +2. Ahora son las 09:37:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi