domingo, 13 de febrero de 2011

MVC Modelo Vista Controlador


MVC (Modelo Vista Controlador)


Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón de llamada y retorno MVC (según CMU), se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista.

Descripción del patrón

• Modelo: Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado.
• Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.
• Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.

Frameworks MVC

Java / J2ee -- Apache -- Struts

PHP -- MIT -- CakePHP

PHP -- MIT -- Symfony



¿Qué es Symfony?

Symfony es un framework PHP que facilita el desarrollo de las aplicaciones web. Symfony se encarga de todos los aspectos comunes y aburridos de las aplicaciones web, dejando que el programador se dedique a aportar valor desarrollando las características únicas de cada proyecto.

Symfony es un framework para construir aplicaciones web con PHP. En otras palabras, Symfony es un enorme conjunto de herramientas y utilidades que simplifican el desarrollo de las aplicaciones web.

Para los iniciados en los frameworks, Symfony es una de las mejores copias para PHP del famoso framework Ruby on Rails. Symfony ha tomado las mejores ideas de Rails y de muchos otros frameworks, ha incorporado ideas propias y el resultado es un framework elegante, estable, productivo y muy bien documentado.
Symfony emplea el tradicional patrón de diseño MVC (modelo-vista-controlador) para separar las distintas partes que forman una aplicación web. El modelo representa la información con la que trabaja la aplicación y se encarga de acceder a los datos.
La vista transforma la información obtenida por el modelo en las páginas web a las que acceden los usuarios. El controlador es el encargado de coordinar todos los demás elementos y transformar las peticiones del usuario en operaciones sobre el modelo y la vista.

Características

• Fácil de instalar y configurar en sistemas Windows, Mac y Linux
• Funciona con todas las bases de datos comunes (MySQL, PostgreSQL, SQLite, Oracle, MS SQL Server)
• Compatible solamente con PHP 5 desde hace años, para asegurar el mayor rendimiento y acceso a las características más avanzadas de PHP
• Basado en la premisa de "convenir en vez de configurar", en la que el desarrollador solo debe configurar aquello que no es convencional
• Preparado para aplicaciones empresariales, ya que se puede adaptar con facilidad a las políticas y arquitecturas propias de cada empresa u organización
• Flexible hasta cualquier límite y extensible mediante un completo mecanismo de plugins
• Publicado bajo licencia MIT de software libre y apoyado por una empresa comprometida con su desarrollo
• Traducido a más de 40 idiomas y fácilmente traducible a cualquier otro idioma



¿Qué es CakePHP?

CakePHP es un marco de desarrollo [framework] rápido para PHP, libre, de código abierto. Se trata de una estructura que sirve de base a los programadores para que éstos puedan crear aplicaciones Web. Nuestro principal objetivo es que puedas trabajar de forma estructurada y rápida, sin pérdida de flexibilidad.

Con CakePHP el desarrollo web ya no es monótono porque ofrecemos las herramientas para que empieces a escribir el código que realmente necesitas: la lógica específica de tu aplicación. Consigue una copia de CakePHP, empieza con lo verdaderamente importante y no reinventes la rueda cada vez que te incorpores a un nuevo proyecto.

CakePHP tiene un equipo de desarrolladores y una comunidad activos, lo que añade valor al proyecto. Con CakePHP, además de no tener que reinventar la rueda, el núcleo de tu aplicación se mejora constantemente y está bien probado.
Esta es una lista breve con las características de las que disfrutarás al utilizar

CakePHP:

• Comunidad activa y amistosa
• Licencia flexible
• Compatible con PHP4 y PHP5
• CRUD integrado para la interacción con la base de datos
• Soporte de aplicación [scaffolding]
• Generación de código
• Arquitectura Modelo Vista Controlador (MVC)
• Despachador de peticiones [dispatcher], con URLs y rutas personalizadas y limpias
• Validación integrada
• Plantillas rápidas y flexibles (sintaxis de PHP, con ayudantes[helpers])
• Ayudantes para AJAX, Javascript, formularios HTML y más
• Componentes de Email, Cookie, Seguridad, Sesión y Manejo de solicitudes
• Listas de control de acceso flexibles
• Limpieza de datos
• Caché flexible
• Localización
• Funciona en cualquier subdirectorio del sitio web, con poca o ninguna configuración de Apache



¿Qué es strut?

Struts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrón MVC bajo la plataforma Java EE (Java Enterprise Edition). Struts se desarrollaba como parte del proyecto Jakarta de la Apache Software Foundation, pero actualmente es un proyecto independiente conocido como Apache Struts.

Struts permite reducir el tiempo de desarrollo. Su carácter de "software libre" y su compatibilidad con todas las plataformas en las que Java Entreprise esté disponible lo convierten en una herramienta altamente disponible.

Con la versión 2 del framework se introdujeron algunas mejoras sobre la primera versión, de cara a simplificar las tareas más comunes en el desarrollo de aplicaciones web, así como mejorar su integración con AJAX, etc.

Funcionamiento de Struts
Struts se basa en el Framework del Modelo-Vista-Controlador (MVC) el cual se utiliza ampliamente y es considerado de gran solidez. De acuerdo con este Framework, el procesamiento se separa en tres secciones diferenciadas llamadas el modelo, las vistas y el controlador.

jueves, 10 de febrero de 2011

CMS para Tiendas Virtuales


Linux, Unix o Windows

¿Qué es PrestaShop?

PrestaShop es un sitio web dinámico que permite la creación de tiendas para de comercio electrónico. Se encuentra disponible gratuitamente y está publicado bajo la licencia de Open Software3.0
PrestaShop integra un módulo de instalación automática, una interface de administración y una portada atractiva y minimalista. El software PrestaShop se distingue de otros por la simplicidad de uso y la flexibilidad de su arquitectura que contiene variedad de aplicaciones.

Con más de 50 000 sitios Web repartidos por todo el mundo y un aumento de su comunidad de más del 250 % en 2010, PrestaShop se encuentra entre los líderes mundiales de software de comercio en línea.

PrestaShop, fundada por dos apasionados de las tecnologías de Internet, ha adquirido rápidamente el puesto de líder en el campo de las soluciones e-comercio.

El éxito de PrestaShop se basa en 6 puntos esenciales:

Un modelo eficaz: una solución gratuita, Open-Source, un equipo de expertos de alto nivel acompañado por una comunidad de más de 50 000 desarrolladores, una solución de software que se mantiene constantemente a la vanguardia de la tecnología.
Una tecnología de primer plano: una solución muy rápida, abierta y evolutiva que recurre a las tecnologías más recientes.
Una solución potente: Una solución potente: PrestaShop realiza prestaciones excepcionales en términos de rapidez y es capaz de sobrepasar 10 000 pedidos por día.
La riqueza de la solución: La riqueza de la solución: más de 250 aplicaciones y más de 1 000 módulos complementarios se encuentran disponibles para adaptarse a cualquier sector de actividad.
La profesionalidad de nuestros socios: más de 500 socios de renombre en la creación de sitios e-comercio, en todo el mundo, personalizan PrestaShop adaptándola a las necesidades de cualquier empresa. Estos, han sido formados, acompañados y están seguidos por PrestaShop.
La calidad de los servicios: formación, soporte, consejo, se encuentran disponibles para ayudar a las empresas a lanzar su actividad en Internet.



Magento es uno de los programas de comercio electrónico más potentes, debido a la posibilidad de hacer una Configuracion muy detallada de cosas que importan al comerciante y a su filosofía promocional que permite construir ofertas sobre los productos usando criterios muy diversos definidos por el comerciante y al cliente hacer seguimientos y recibir alertas de sus productos favoritos.
No solo es la tienda perfecta, Magento permite hacer Multi-tiendas sobre uno o varios dominios (Con un unico set de Cuentas del Comerciante y pasarelas de pago o TPV virtuales que comparten todas las tiendas).
Comparado con otros programas de Comercio Electrónico como OSCommerce o X-Cart, Magento los deja en la línea de salida.

Su robustez y seguridad más que aceptables, el hecho de que sea un programa de código abierto distribuido gratuitamente, la extrema facilidad para hacer 'upgrades' y mantenerlo al día, así como la ya mencionada potencia comercial, junto con muchas comodidades para el cliente, hacen hoy de Magento el candidato a mejor software de comercio electrónico.

Magento es una aplicación web Open Source para comercio electrónico, lanzado oficialmente el 31 de marzo de 2008. Fue creado por Varien, y hace uso de componentes del Zend Framework.1 Magento está disponible bajo las licencias Open Software License Versión 3.0, OSL Ver. 3

Características generales

• Administración del sitio
• Comercio móvil
• Promociones y herramientas de marketing
• Soporte de internacionalización
• Aplicación de técnicas SEO (Search Engine Optimization)
• Pagos en línea
• Seguimiento de envíos
• Gestión de órdenes
• Servicio al cliente
• Cuentas de usuario para clientes
• Administración de catálogos
• Navegación en catálogos
• Navegación en productos
• Estadísticas y reportes
• Revisiones de clientes
• Ventas cruzadas entre negocios
• Etiquetas de clientes
• Comparación de productos
• Listas de deseos (Wishlists)
• Integración con Google Base y Google Website Optimizer



¿Qué es OsCommerce?

En el 2000 nació osCommerce, una aplicación web de código abierto (OpenSource) que te permite montar una tienda virtual en cuestión de minutos para vender en Internet.
Consta de dos partes principalmente el front y el back-end, es decir, la parte que vemos todo el mundo, la tienda virtual en si, y la parte de administración, donde podrás mantener tu propia tienda virtual, actualizando productos, insertando nuevas ofertas, categorías, idiomas, monedas, consultar los pedidos, los clientes.. y sin coste ninguno por parte del vendedor y sin necesidad ninguna de saber programación.

Las partes esenciales del CMS son:

Front o Página Principal

Back End o Administración de la Tienda

Uno de los beneficios de ser código abierto, es que está siendo diariamente actualizada por su comunidad, añadiendo contribuciones de todo tipo. Módulos de pago, de envío, contribuciones para el diseño, como templates, así como nuevas funcionalidades, noticias, lector de rss…
osCommerce es de las mejores soluciones de código abierto existentes para la creación de tiendas virtuales, además de ser gratuita y sencilla de administrar.

Programada en lenguaje PHP trabaja sobre un servidor Apache y usa MySQL como servidor de base de datos.
Actualmente casi todas las empresas de Hosting ofrecen una solución con OsCommerce ya instalada, aunque es realmente fácil instalar en cuestión de 5 clicks con el “install” que lleva incorporado.
El único pero que le podemos poner es que hay pocas contribuciones en español, casi todas en el universal inglés, aunque tenemos un buen soporte en la web española

Los CMS mencionados anteriormente pueden instalarse en Linux, una cualidad importante en nuestros dias.

jueves, 3 de febrero de 2011

La Importancia de Drupal como CMS


Drupal

Drupal es un sistema de gestión de contenidos Open Source que sirve para administrar recursos web. Es un sistema multiusuario, multiplataforma, multilenguaje, extensible, modular, etc.

Introduce el concepto de nodo como sinónimo de tipos de contenido, cualquier recurso que se ingrese al sistema pasa a ser un nodo, que puede ser variable e incluir artículos, historias, posts, encuestas, imágenes, libros colaborativos, reseñas, recetas, etcétera. Este nuevo concepto nos permite estandarizar la información asignándoles las mismas características a distintos objetos y la posibilidad de tener toda la información catalogada.

La clasificación de los nodos es un tanto arbitraria y está al servicio de los usuarios/administradores de contenidos que pueden construir los que necesite.
Drupal parece llevarse todas las palmas dada su flexibilidad para desarrollar las plantillas y su uso intensivo de CSS y XHTML, la responsabilidad encaja del lado del administrador.

Si hablamos de usabilidad, podemos decir que la gente de Drupal tiene gran conciencia y poco a poco van mejorando la herramienta. Tienen una lista de desarrolladores donde se discuten este tipo de temas, hace poco Jeffrey Veen escribió un artículo sobre la usabilidad de los CMS open source, la comunidad de desarrolladores de Drupal acusó recibo, pusieron las cartas sobre la mesa con una propuesta audaz. y Veen respondió, en cierto sentido tiene razón Jeffrey, pero hubiera sido lindo ver su nombre trabajando para la comunida Open Source.

Con respecto a lo malo, creo haber leido ya esta crítica en otros sitios que han migrado, y luego de mi experiencia, no puedo hacer otra cosa que afirmarla. Si bien no es un sistema integralmente complejo, cuesta trabajo entenderlo de entrada, sobre todo los que estamos acostumbrados a sistemas más rígidos como MovableType, Pmachine o incluso WordPress. Hay que tomarse el trabajo en serio y empezar a averiguar cómo eso de la taxonomía, de los nodos, los módulos, los themes, permisos, etc, etc. Pero mientras vamos superando los escollos del camino se va abriendo delante nuestro un horizonte de posibilidades muy vasto.

Taxonomías

El sistema de taxonomía de Drupal es robusto y potente, el contenido se organiza en categorías que se arman a través del módulo taxonomías, el cual permite generar vocabularios controlados con términos que pueden ordenarse jerárquicamente y asociarse a un tipo de nodo en particular si hiciera falta. Se puede configurar que un nodo pueda ser clasificado bajo uno o múltiples términos de un vocacbulario, flexibilidad que agradecemos quienes administramos sistemas de contenidos rígidos.

Modularización del crecimiento

Si bien las características básicas de Drupal son suficientes como para lanzar un sitio completo, el core incluye: administración de usuarios, páginas, vocabulario, comentarios y sindicación. Su potencialidad reside en su estructura modular que permite ser extendida y customizada a gusto y placer del administrador para distintas funciones por medio de módulos de fácil instalación. Entonces este multifacético CMS nos permitiría armar desde un blog personal hasta una intranet corporativa, pasando por bibliotecas digitales, wikis, sitios de e-commerce, álbumes de fotos y hasta recetas de cocina....

También checa esta página para saber más de todas las características de Drupal

http://www.pilos.com.co/drupal/27-caracteristicas-de-drupal/

Por último dejaremos una lista de páginas diseñadas en Drupal, para que veas el potencial y aceptación que tiene en todo el mundo.

http://www.universalmusic.com/
http://www.kriptopolis.org/
http://fresqui.com/
http://www.error500.net/
http://www.campana.gov.ar/
http://london.gov.uk/

Como podemos notar Drupal es utilizado hasta en el gobierno y el mejor ejemplo es que la pagina de la Casa Blanca lo haya elegido como base en su página oficial.

Aquí el link:http://www.whitehouse.gov/

martes, 1 de febrero de 2011

Como Suscribirse al Sistema RSS o FEEDS del Periódico el Universal

¿Qué es un feed RSS?

«Archivo RSS» o «Feed RSS» (o «XML») es un archivo generado por algunos sitios web (y por muchos weblogs) que contiene una versión específica de la información publicada en esa web. Cada elemento de información contenido dentro de un archivo RSS se llama "ítem".
Cada ítem consta normalmente de un título, un resumen y un enlace o URL a la página web de origen o que contiene el texto completo. Además puede contener información adicional como la fecha de publicación o el nombre del autor del texto.

El archivo RSS se reescribe automáticamente cuando se produce alguna actualización en los contenidos del sitio web. Accediendo al archivo RSS es posible saber si se han actualizado los contenidos y con qué noticias o textos, pero sin necesidad de acceder al sitio web salvo para leer la versión extendida.

Para Suscribirnos al sistema de Feed RSS de periodico Universal, lo primero que debemos hacer es abrir el sitio:
http://www.eluniversal.com.mx/noticias.html

Una vez ahi le daremos click al icono de RSS



Abrira la siguiente página y ahi le daremos click en suscribirse a esta fuente



Se abrira una ventana de diálogo donde le haras click en el botón Suscribirse y la pagina instalara un programa y finalizara.



Y listo estas suscrito a los RSS y Feeds del Universal