You are on page 1of 10

Evaluacin plataformas de desarrollo

Realizado por:
Erick Senz Montoya

Curso:
Arquitectura de software

Docente:
lver Surez lzate

Ingeniera Ude@
Medelln
2015

Aplicacin a desarrollar:
Sistema de ventas y actualizacin de inventario para el Centro de Esttica Belleza
y Estilo.

1. Seleccionar y describir las plataformas

LAMP
Criterio de eleccin:
La eleg porque es una plataforma de desarrollo libre, ideal para pequeos
proyectos que sea desean implementar de manera rpida y no requieren altas
prestaciones.
Es una solucin ideal para las pequeas y medianas empresas, ya que no genera
ningn costo.

Caractersticas

Marco de trabajo serio para el desarrollo web, contraparte de las


plataformas propietarias .Net, J2EE, ColdFusion, etc. para aplicaciones de
pequea envergadura.
Es una plataforma de desarrollo libre.
Nos garantiza rapidez, flexibilidad, estabilidad.
cuenta con una Comunidad que lo respalda y existe bastante
documentacin.
Ideal para el desarrollo de aplicaciones para pequeas y medianas
empresas.
Caractersticas de las tecnologas utilizadas

Apache

Altamente flexible.
Estable.
Robusto.
Seguro.
Cdigo de libre distribucin.
Permanente desarrollo
Altsima popularidad: 60% de los servidores web son Apache.

MySQL

El ms popular SGBD (Sistema Gestor de Base de Datos).


Garantiza velocidad y estabilidad.
Rpido, fcil de administrar y usar.
Opciones especiales para web (Paginacin y funciones en SQL).
Flexibilidad: funcionalidad bsica extensible.
Licencia GNU/GPL o Comercial.

PHP
Es un lenguaje de programacin del lado del servidor gratuito e independiente de
plataforma, rpido, con una gran librera de funciones y mucha documentacin.
Hay muchas startups de xito basadas en PHP, incluidas algunas de las de mayor
trfico como Wikipedia, Yahoo o Facebook.
La curva de aprendizaje es menor en comparacin con otros lenguajes ejm Java.

.NET
Criterio de eleccin:
Lo eleg porque es una de las plataformas ptimas para el desarrollo de robustas
aplicaciones empresariales las cuales deben garantizar alta disponibilidad,
rendimiento, escalabilidad y seguridad.
Tambin al ser una tecnologa de Microsoft la plataforma cuenta con un gran
respaldo, lo que da cierta confianza y seguridad respecto al producto que se est
implementando.
Tiene la ventaja de que soporta mltiples lenguajes como como C#, Visual
Basic.NET, Jscript.NET, COBOL, Python, Perl. La desventaja que encontr en
.NET es que solo se ejecuta en sistemas operativos Windows.

Caractersticas

Basado en el paradigma de orientacin a objetos


Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de
programacin que se ajuste a .NET como C#, Visual Basic.NET,
Jscript.NET, COBOL, Python, Perl, etc.
proveer un nico modelo de programacin, uniforme y consistente, para
todo tipo de aplicaciones como formularios Windows, de consola,
aplicaciones Web, aplicaciones mviles, etc.
Las aplicaciones .net se ejecutan en cualquier dispositivo de hardware
PCs, SmartPhones, Tablet etc.
Hace posible integrar las aplicaciones con otras creadas en la plataforma
anterior COM, en plataformas de Microsoft, en otras plataformas de
software, sistemas operativos o lenguajes de programacin, haciendo uso
de estndares globales como XML, HTTP, SOAP, WSDL y UDDI

J2EE
Criterio de eleccin:
Al igual que .NET esta plataforma es ptima para el desarrollo de robustas
aplicaciones empresariales las cuales deben garantizar alta disponibilidad,
rendimiento, escalabilidad y seguridad.
Las aplicaciones JAVA pueden correr en distintos sistemas operativos y distintas
arquitecturas de hardware. Tambin cuenta con un gran respaldo, ya que aunque
es un producto creado por Sun Mycrosystems, es construido y mantenido por
muchas empresas.
J2EE solo soporta el lenguaje de programacin java.

Caractersticas

portabilidad Escrbelo una vez, crrelo en cualquier parte


API JDBC para el acceso a base de datos
Tecnologa CORBA para la interaccin con los recursos existentes, y un
modelo de seguridad que protege los datos incluso en las aplicaciones de
internet.
Agrega soporte completo para las aplicaciones con componentes de
JavaBeans, Java Servlets API, Java Server pages y tecnologa XML.

El modelo de la aplicacin encapsula las capas de funcionalidad en


funcionalidad en tipos especficos de componentes.
La lgica de negocio se encapsula en componentes Enterprise Java Beans
(EJB).
La Interaccin con el cliente puede darse a travs de simples pginas web
HTML, a travs de las pginas web impulsadas por los applets, Java
Servlets, tecnologa JavaServer Pages, o a travs de aplicaciones
independientes de Java.
Los componentes se comunican de forma transparente usando varios
estndares: HTML, XML, HTTP, SSL, RMI, IIOP, entre otros.

2. Seleccin de las caractersticas a evaluar:


Curva de aprendizaje: Cada lenguaje de programacin tiene un nivel de
complejidad diferente, lo cual va directamente a afectar el rendimiento inicial de un
proyecto.
Esta caracterstica es importante ya que debemos tener en cuenta cuales son las
capacidades de nuestro equipo de desarrollo, en caso de que elijamos un
lenguaje que no sea de nuestro dominio esto acarreara unos tiempos de
desarrollo ms altos.

Documentacin disponible: es vital que la herramienta en la que se est


trabajando tenga informacin disponible en la cual se puedan resolver dudas de
programacin en un momento determinado.
Si elegimos plataformas que tengan poca documentacin en caso de que se
presente algn problema ser mucho ms difcil resolverlo y esto puede acarrear
retrasos en el desarrollo.

Escalabilidad: Es la propiedad de un sistema para agregar caractersticas a s


mismo, para incrementar sus capacidades de trabajo sin que tenga que
redisearse.
Es sper importante cumplir con esta premisa, no podemos desechar nuestro
sistema y crear uno nuevo cada que requerimos ampliar su funcionalidad y
rendimiento.

Estabilidad: Propiedad de un sistema de mantenerse trabajando correctamente


Requerimos que nuestro sistema siempre est disponible.

Portabilidad: se refiere a la capacidad muy particular en algunos programas, que


es poder ejecutarse independiente de la plataforma en la que estemos trabajando,
as poder librarse un poco de la dependencia del hardware en el que estemos
trabajando.
Si elegimos determinada plataforma debemos ser conscientes que estaramos
sujetos a usar determinado sistema operativo ejm .NET.

Robustez (solidez): Es la caracterstica de un sistema que puede ejecutar


diversos procesos de manera simultnea sin generar fallos o bloquearse
(colgarse).
Siempre se requiere que el sistema responda de manera ptima en todo
momento, y en caso de que se presente un fallo este debe de recuperarse
rpidamente.

Rendimiento: Expresa la manera o la eficiencia con que un sistema cumple sus


metas, puede hablarse de nmeros de trabajos atendidos por unidad de tiempo,
tiempo de respuesta, tiempo de reaccin, capacidad de ejecucin
Es de vital importancia garantizar tiempos de respuesta cortos. El mundo lo exige

Respaldo: Es necesario evaluar qu empresa, empresas, grupos de investigacin


o entidades estn soportando la plataforma en la cual se desea trabajar.
Sper importante contar con un buen respaldo, en aras de tener confianza en el
producto que se va a usar y de tener la seguridad que esta herramienta no va ser
descontinuada en el corto tiempo.

Costo: este es uno de los factores ms importantes, ya que la solucin


implementada depende del presupuesto con el que cuente la organizacin cliente.

3. Valoracin de las caractersticas:


Caracterstica

Peso

Curva de aprendizaje

Documentacin disponible

Escalabilidad

Estabilidad

Portabilidad

Robustez (solidez

Rendimiento

Respaldo

Costo

10

A la curva de aprendizaje le asigno 8 debido a que se requiere que el proyect se


ejecute en el menor tiempo posible, por lo tanto se requiere el uso de lenguajes de
programacin que tengan una curva de aprendizaje ms baja.
A la documentacin le asigno 8 debido a que se requiere contar con buena
documentacin de las tecnologas utilizadas, esto nos permitir solucionar las
dificultades que se presenten de una manera ms rpida.
A la escalabilidad le asigno 6 debido a que considero que el proyecto a
implementar no variaran en gran medida los requisitos con el tiempo.
A portabilidad le asigno 8 ya que es deseable que nuestra aplicacin funcione en
distintas plataformas de hardware, no estar obligados a usar una determinada
tecnologa.
A los tems estabilidad, robustez y rendimiento les asigno 8 ya que son
caractersticas deseables en todo tipo de aplicacin, por lo tanto siempre se debe
garantizar que se acerquen al mximo posible.

Al respaldo le asigno 6 debido a que el proyecto no es de mucha complejidad por


lo tanto no se requerir un acompaamiento tan personalizado como en proyectos
de mayor complejidad.
Al costo le asigno el puntaje de 10 ya que mi proyecto est pensado para una
pequea empresa, entonces la solucin implementada est sujeta al presupuesto
con el que se cuente.
4. Calificacin de cada plataforma:

Caracterstica

Peso

LAMP

J2EE

.NET

Curva de aprendizaje

Documentacin disponible

Escalabilidad

10

10

Estabilidad

Portabilidad

10

Robustez (solidez

10

10

Rendimiento

Respaldo

10

10

Costo

10

10

En curva de aprendizaje el mejor puntaje se lo doy a Lamp, ya que php es un


lenguaje menos estricto, por lo tanto ms fcil de aprender que los dems.
En documentacin disponible asigne el mismo puntaje a todos, ya que todas las
plataformas cuentan con abundante documentacin.
En escalabilidad le asigne los puntajes mximos a .NET y J2EE ya que ellos nos
garantizan que nuestras aplicaciones sern completamente escalables cuando
sea requerido.
En estabilidad todas las plataformas nos garantizan estabilidad as que le asigne
el mismo puntaje a las tres.
En portabilidad asigne el mximo puntaje a J2EE ya que java se ejecuta en
cualquier tipo de plataforma y sistema operativo, mientras que .NET solo se
ejecuta en servidores con sistema operativo Windows.
Robustez asigne el mximo puntaje a J2EE y .NET ya que son plataformas
pensadas para el desarrollo de robustas aplicaciones empresariales.

En cuanto a rendimiento todas nos garantizan un alto rendimiento as que asigne


el mismo puntaje a las tres.
En cuanto a Respaldo asigne el mximo puntaje a J2EE y .NET ya que ambas
plataformas cuentan con el respaldo de empresas reconocidas y de amplia
trayectoria en el mercado. En cuanto a LAMP cuenta con el respaldo de una
comunidad de usuarios por eso asigne un menor puntaje.
Por ultimo en la parte de costo le asigne un puntaje de 10 a LAMP ya que es una
plataforma de desarrollo libre, lo cual no acarreara ningn costo. En cambio la
plataforma de Microsoft al ser privativa supone un alto costo y as mismo J2EE.

5. Cmputo de totales y seleccin de la mejor plataforma

Caracterstica

Pes
o

LAMP

Puntaje
LAMP

J2EE

Puntaje
J2EE

.NET

Puntaje
.NET

Curva de aprendizaje

64

40

56

Documentacin
disponible

64

64

64

Escalabilidad

36

10

60

10

60

Estabilidad

64

64

64

Portabilidad

48

10

80

56

Robustez (solidez

56

10

80

10

80

Rendimiento

64

64

64

Respaldo

48

10

60

10

60

Costo

10

10

100

30

30

TOTAL

544

542

534

Al realizar el clculo de los puntajes obtenidos por cada plataforma la de mejor


puntaje es la plataforma LAMP.

Conclusin

Considero que el resultado es el indicado para este proyecto, primero porque la


organizacin cliente es una pequea empresa con menos de 10 empleados,
entonces esta organizacin no est en la capacidad de hacer inversiones elevadas
en plataformas de alto costo como J2EE y .NET. Segundo tampoco amerita
realizar una inversin elevada, ya que perfectamente con las tecnologas soportas
por la plataforma LAMP, se podr desarrollar una aplicacin slida y estable que
satisfaga las necesidades de la empresa. Por ltimo el tiempo de desarrollo ser
relativamente corto y la organizacin podr recuperar en un corto plazo la
inversin que haya realizado en el proyecto.

BIBLIOGRAFIA

LAMP La plataforma web de libre desarrollo


http://cesarcabrera.info/blog/wp-content/uploads/2010/06/lamp.pdf

CRITERIOS DE EVALUACIN DE PLATAFORMAS DE DESARROLLO DE


APLICACIONES EMPRESARIALES PARA AMBIENTES WEB
http://recursosbiblioteca.utp.edu.co/tesisd/textoyanexos/0053T787.pdf

Comparativa J2EE vs .Net


http://joseperezlozano.com/wpcontent/uploads/2010/05/J2EEOPuntoNetVersionWeb.pdf

You might also like