Archive for enero 24, 2011


24/01/11

WEB SERVICES

Es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet.

VENTAJAS:

  • Utlizan Estandares de Internet
  • Un cliente puede acceder independiente del Lenguaje.
  • Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar y abiertos.
  • Se pueden utilizar cualquier protocolo como : HTTP, FTP, etc

ESTANDARES WEBSERVICES

  • UDDI
  • SOAP
  • WSDL

PYTHON

Se trata de un lenguaje de programación multiparadigma ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un interpretado, usa tipado dinámico, es fuertemente tipado y es multiplataforma.

Python usa tipado dinámico y conteo de referencias para la administración de memoria.

Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa .

Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.

Python está en movimiento y en pleno desarrollo, pero ya es una realidad y una interesante opción para realizar todo tipo de programas que se ejecuten en cualquier máquina. El equipo de desarrollo está trabajando de manera cada vez más organizada y cuentan con el apoyo de una comunidad que está creciendo rápidamente.

TURBO GEAR SERVICES

  • Proporciona un API que sirve para crear servicios Web
  • Genera informacion para lenguajes estaticos.
  • Genera  adicionalmente un API VSDI de forma automatica.

APACHE

El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP.

Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración.

Ventajas

  • Multi-Modular
  • Código abierto
  • Multi-plataforma
  • Extensible

CALIDAD DEL SOFTWARE

ARQUITECTURA DEL SOFTWARE

Es la organizacion fundamental de un sistema formado por sus componentes, las relaciones entre ellos y el contexto en el que se implantaron y los principios que orientan su diseño y evolucion.

La  Arquitectura del Software aporta una visión abstracta de alto nivel, posponiendo el detalle de cada uno de los módulos definidos a pasos posteriores del diseño.

El objetivo principal de la Arquitectura del Software es aportar elementos que ayuden a la toma de decisiones y, al mismo tiempo, proporcionar conceptos y un lenguaje común que permitan la comunicación entre los equipos que participen en un proyecto. Para conseguirlo, la Arquitectura del Software construye abstracciones, materializándolas en forma de diagramas comentados.

INFLUENCIA DE INTERESADOS

FACTORES EXTERNOS

CORRECION

  • Capacidad de un producto de software para realizar con exactitud  las tareas y como se definen las rectificaciones.
  • Correccion automatizada del software
  • Los métodos que aseguran la corrección son usualmente condicionales.

ROBUSTEZ

  • capacidad y proceso de reacción apropiada ante condiciones que se encuentren fuera del alcance del software.
  • no todo software se adapta a las correcciones establecidas.

COMPATIBILIDAD

  • Es la facilidad de combinar elementos de un software con otros.
  • Se consigue bazado en homogenidad en el diseño y adaptando estandares.

EFICIENCIA

  • Es la capacidad de un sistema de software para exiguir la menor cantidad posible de recursos de hardware.
  • Optimizacion de los componentes.
  • Correccion de eficiencia.

PORTABILIDAD

  • Es la facilidad  de transferir los productos de software a diferentes entornos.
  • se puede adaptar a diferentes sistemas operativos como: UNIX, WINDOWS, LINUX, etc..

FACILIDAD DE USO

  • Es la cualidad de las aplicaciones por lo  cual usuarios con diferentes formacion son capaces de realizar las Areas que desean.
  • afecta a la interfaz del usuario

Areas de interes:

  • Usabilidad.
  • Diseño centrado del usuario.

BLENDER

Blender es un software de animación 3D. Con el podemos crear escenas y vídeos generados por computadora, con muchas prestaciones y facilidades.

 

  • Es un software profecional.
  • Existe una gran cantidad de soporte en todo el mundo.
  • Es una herramienta libre.

El objetivo de Blender es de integrar a muchas personas a la utilizacion de este software para diseñar sus videos, juegos, etc..

VIDEO:

SOFTWARE LIBRE PARA UNA SOCIEDAD LIBRE

 

GNU LINUX SOFTWARE LIBRE

Capitulo II Manifiesto GNU.

El Manifiesto GNU fue escrito por Richard Stallman en los comienzos del Proyecto GNU, con el fin de pedir participación y apoyo.GNU, que significa Gnu No es Unix, es el nombre de un sistema de software completamente compatible con Unix que estoy escribiendo para poder regalarlo (la expresión”palabra” era desafortunada. La intención era decir que nadie tendría que pagar por el permiso de usar los sistemas GNU. Pero las palabras no aclaran, y la gente interpreta a menudo que las copias de GNU deberían ser distribuido a un costo bajo o sin costo) libremente quien pueda utilizarlo.

Software que se tomo para empezar el Proyecto GNU

Hasta el momento tenemos un editor de texto Emacs con Lisp para escribir comandos de edición, un depurador de código fuente, un generador compatible con yacc,un comunicador y alrededor de 35 utilidades. Un shell (intérprete de comandos) se encuentra casi terminado. Un nuevo compilador portable de C ha sido compilado y será lanzado este año. Existe un kernel inicial pero requiere muchas más características para emular a Unix. Cuando el núcleo y el compilador estén completos, será posible distribuir un sistema GNU apropiado para el desarrollo de programas. Usaremos el procesador de documentos TeX, pero también se está trabajando en un nroff. Usaremos también el sistema libre de ventanas X que se puede migra. Después de esto agregaremos un Lisp portable, un juego Empire, una hoja de cálculo y cientos de otras cosas, además de documentación en línea. Esperamos proporcionar, con el tiempo, todas las utilidades que vienen normalmente con un sistema Unix, y más

Por que debo escribir GNU.

Considero que la regla de oro requiere que si a mi me gusta un programa, lo debo compartir con otra gente que le guste. Los vendedores de software quieren dividir a los usuarios y seducirlos, haciendo que cada usuario acuerde no compartir su software conotros. Yo rehúso a romper mi solidaridad con otros usuarios de esta manera. No puedo en buena conciencia firmar un acuerdo de no divulgación o un acuerdo de licencia desoftware. Durante años trabajé dentro del Laboratorio de Inteligencia Artificial para impugnar estas tendencias y otras descortesías, pero al final ellos fueron demasiado lejos: no podía permanecer en una institución donde hiciera estas cosas en contra de mi voluntad. De manera que para poder continuar usando ordenadores sin vergüenza, he decidido agrupar un cuerpo suficiente de software libre de tal manera que pueda seguirán dando sin ninguna clase de software que no sea libre

Porque GNU será compatible con UNIX.

Unix no es mi ideal de sistema, pero no es del todo malo. Las características esenciales de Unix parecen ser buenas y pienso que puedo añadir lo que le falta a Unix sin echarlas a perder. Un sistema compatible con Unix sería conveniente para que otras personas puedan adoptarlo.

Cómo estará disponible GNU.

GNU no es de dominio público. Todos tendrán permiso para modificar y redistribuir GNU, pero a ningún distribuidor se le permitirá restringir su redistribución posterior. Es decir, no estarán permitidas modificaciones propietarias. Quiero asegurarme de que todas las versiones de GNU permanezcan libres.

Porque se beneficiaran todos los usuarios de ordenadores.

Una vez que se haya escrito GNU, todos podremos obtener un buen sistema de software libre, al igual que obtenemos aire.

Esto significa mucho más que el simple ahorro del precio de una licencia Unix. Significa que se evitará mucho del derroche de esfuerzos en la duplicación de la programación de sistemas. Este esfuerzo puede enfocarse mejor para hacer avanzar el estado de la técnica.

Los códigos completos del sistema estarán disponibles para todo el mundo. Como resultado, un usuario que necesite modificar el sistema será siempre libre de hacerlo por sí mismo, o de contratar a cualquier programador o empresa disponible para hacerlo por él. Los usuarios no estarán ya a merced de un programador o una empresa que sea dueña del código fuente y que sea la única en posición de realizar modificaciones. Las escuelas podrán proporcionar un ambiente bastante más educativo, animando a todos los estudiantes a estudiar y mejorar el código del sistema. En el laboratorio de programación de Harvard solían tener la política de que ningún programa podía ser instalado en el sistema si su código fuente no estaba a disposición del público; la ejercitaban a base de negarse a instalar ciertos programas. En buena medida, yo me inspiré en esto.

Algunas objeciones fácilmente rebatibles a los objetivos de GNU:

  • Nadie lo usará debido a que es gratuito, ya que esto significa que no cuenta con ninguna asistencia
  • Se tiene que cobrar por el programa para pagar el servicio de soporte.

En relación a la primera no se puede depender del vendedor de software. Si tu problema no es compartido por un número suficiente de clientes, el vendedor lo ignorará.

Si la gente prefiriera pagar por GNU y su servicio en vez de obtener GNU libre y sin servicio, una empresa que ofrezca servicio a las personas que obtuvieron GNU libre debiera tener beneficios. Debemos distinguir entre asistencia bajo la forma de un verdadero trabajo de programación y lo que es meramente llevar de la mano al usuario.

  • No se puede llegar a mucha gente sin publicidad y uno debe cobrar por el programa para mantener esto.
  • No tiene sentido dar publicidad a un programa que la gente puede obtener gratuitamente

Existen varias formas de publicidad gratuita o de bajo costo que pueden usarse para informar a numerosos usuarios de ordenadores acerca de algo como GNU. Pero quizá sea verdad que se puede llegar a más usuarios de microordenadores a través dela publicidad. Si realmente es así, un negocio que haga publicidad del servicio de copia y envío de GNU por un precio, debería ser lo suficientemente exitoso como para pagar como mínimo su publicidad. De esta forma, sólo los usuarios que se beneficien de la publicidad pagarán por ella. Por otro lado, si mucha gente obtiene GNU a través de sus amistades y estas empresas no resultan ser un buen negocio, esto demostraría que la publicidad no era realmente necesaria para divulgar GNU.

  • Mi compañía necesita un sistema operativo propietario para tener una ventaja competitiva

GNU sacará al software de sistema operativo del entorno de la competencia. Usted no podrá obtener una ventaja en esta área, pero tampoco la competencia podrá tenerla frente a usted. Usted y ellos competirán en otras áreas, mientras se benefician mutuamente en ésta. Si tu negocio es vender un sistema operativo, no te gustará GNU, pero ese es tu problema. Si tu negocio es otra cosa, GNU puede salvarlo de ser arrojado al costoso negocio de la venta de sistemas operativos. Me gustaría ver que el desarrollo de GNU se mantuviera gracias a donaciones de algunos fabricantes y usuarios, reduciendo el costo para sí mismos.

  • No merecen los programadores una recompensa por su creatividad

Si hay algo que merezca una recompensa es la contribución social. La creatividad puede considerarse una contribución social, pero sólo si la sociedad es libre de aprovechar sus resultados. Si los programadores merecen ser recompensados por la creación de programas innovadores, bajo esta misma lógica deben ser castigados si restringen el uso de estos programas.

Capitulo III

LA  DEFINICIÓN DEL SOFTWARE LIBRE

Conservamos esta definición de software libre para expresar claramente el verdadero significado de los programas de software libre. El «software libre» es una cuestión de libertad, no de precio. Para comprender este concepto, debemos pensar en la acepción de libre como en «libertad de expresión» y no como en «barra libre de cerveza».Con software libre nos referimos a la libertad de los usuarios para ejecutar, copiar,distribuir, estudiar, cambiar y mejorar el software. Nos referimos especialmente a cuatro clases de libertad para los usuarios de software:

  • Libertad 0: la libertad para ejecutar el programa sea cual sea nuestro propósito.
  • Libertad 1: la libertad para estudiar el funcionamiento del programa y adaptarlo a tus necesidades —el acceso al código fuente es condición indispensable para esto.
  • Libertad 2: la libertad para redistribuir copias y ayudar así a tu vecino.
  • Libertad 3: la libertad para mejorar el programa y luego publicarlo para el bien de toda la comunidad —el acceso al código fuente es condición indispensable para esto.

Capitulo IV

PORQUE EL SOFTWARE NO DEBE TENER PROPIETARIOS

El sistema de copyright permite que los programas de software tengan «propietarios», la mayor parte de los cuales pretende privar al resto del mundo del beneficio potencial del software. Los propietarios desearían ser los únicos que pueden copiar y modificar el software que usamos.

Los propietarios usan palabras difamatorias como «piratería» y «robo», al igual que terminología experta como «propiedad intelectual» y «daño», para sugerir una cierta línea de pensamiento al público —una analogía simplona entre los programas y los objetos físicos.

Los propietarios dicen que sufren un «daño» o «pérdida económica» cuando los usuarios copian programas por su cuenta. Pero copiar no tiene un efecto directo sobre el propietario, y no hace daño a nadie. El propietario sólo puede perder si la persona que hizo la copia hubiese pagado por otra del propietario en su lugar.

Los propietarios a menudo describen el estado actual de la ley, así como las duras sanciones con las que nos amenazan. Implícita en este enfoque va la sugerencia de que la ley actual refleja un punto de vista moral incuestionable y aun así al mismo tiempo, se nos insta a considerar estas sanciones como hechos naturales por los que no se puede responsabilizar a nadie.

El último argumento que se emplea para justificar la existencia de propietarios de software es que esto conduce a la producción de más software. A diferencia de los demás, éste argumento por lo menos adopta un enfoque legítimo sobre el tema. Se basa en un objetivo válido —satisfacer a los usuarios de software. Y empíricamente está claro que la gente producirá más de algo si se les paga bien por ello. Pero el argumento económico tiene un defecto: se basa en la presunción de que la diferencia es sólo cuestión de cuánto dinero debemos pagar. Asume que la «producción de software» es lo que queremos, tenga el software propietarios o no.

Capitulo V

QUE ENCIERRA UN NOMBRE

Los nombres transmiten significados; nuestra elección de los nombres determina el significado de lo que expresamos. Un nombre inadecuado dará a la gente una idea equivocada. Una rosa, llámese como se llame, destilaría el mismo olor, pero si la llamamos «lápiz», la gente podría sentirse decepcionada al intentar escribir con ella. Y si llamamos «rosas» a los lápices, la gente no entendería para qué sirven. Si llamamos «Linux» a nuestro sistema operativo, esto conduce a una idea equivocada sobre el origen del sistema, su historia y su propósito. Si lo llamamos «GNU/Linux», esto conduce—aunque no en detalle— a una idea precisa.

Pero ¿importa esto en nuestra comunidad? ¿Es importante que la gente conozca el origen del sistema, su historia y su propósito? Sí, porque quienes olvidan la historia están condenados a repetirla. El Mundo Libre que se ha desarrollado en torno a GNU/Linux no es un lugar seguro; los problemas que nos llevaron a crear GNU no han sido completamente erradicados y amenazan con volver .Cuando explico por qué es apropiado llamar al sistema operativo «GNU/Linux» en vez de «Linux», la gente en ocasiones responde de esta manera:

Aunque es indudable que el proyecto GNU merece el reconocimiento por esta labor, ¿merece la pena protestar si no existe tal reconocimiento? ¿No es lo importante que el trabajo se hizo, y no quién lo hizo? Usted debería relajarse, sentirse orgulloso de la labor realizada y no preocuparse por el reconocimiento.

Este podría ser un sabio consejo si esa fuera la situación- si el trabajo estuviera terminado y fuera tiempo de descansar. ¡Si tan solo eso fuera cierto! Pero los desafíos abundan y no es el momento para suponer que el futuro está garantizado. La fuerza de nuestra comunidad descansa sobre un compromiso con la libertad y la cooperación. Usar el nombre de GNU/Linux es una forma de que la gente lo recuerde e informe a los demás de nuestros objetivos. Es posible escribir buen software libre sin pensar en GNU; muchos buenos programas se desarrollaron en nombre de Linux. Pero «Linux» se ha asociado, desde que fuera acuñado, con una filosofía que no se compromete con la libertad para cooperar. Como el nombre se emplea cada vez más en el mundo de las empresas, resultará incluso más difícil asociarlo con el espíritu comunitario.

Un gran reto para el futuro del software libre es la tendencia de las empresas de distribución de Linux a agregar software no libre a GNU/Linux en nombre de la conveniencia y la potencia. La mayor parte de los desarrolladores de distribución comercial hacen esto; ninguno produce una distribución completamente libre. Muchos de ellos no identifican claramente los paquetes no libres de sus distribuciones. Muchos, incluso, desarrollan software no libre y lo añaden al sistema. Algunos se atreven a anunciar, deforma injuriosa, sistemas «Linux», «licenciado por puesto», lo que proporciona tanta libertad como el Windows de Microsoft.

Capitulo VI

PORQUE SOFTWARE LIBRE ES MEJOR QUE OPEN SOURCE

Dado que el software libre te daría la misma libertad con cualquier otro nombre, qué nombre usemos marca una gran diferencia: palabras distintas transmiten distintas ideas. En 1998, algunos dentro de la comunidad del software libre empezaron a usar el término «software open source» en lugar de «software libre» para describir lo que hacían. El término open source se asoció rápidamente con un enfoque distinto, una filosofía distinta, e incluso diferentes criterios para decidir que licencias son aceptables. El movimiento de software libre y el movimiento open source son hoy en día movimientos separados con diferentes puntos de vista y objetivos, aunque podamos y trabajemos juntos en algunos proyectos prácticos.

La diferencia fundamental entre los dos movimientos está en sus valores, en su visión del mundo. Para los movimientos open source, la cuestión de si el software debe ser de fuente abierta es una cuestión práctica, no ética. Como lo expresó alguien, «el open source es un método de desarrollo; el software libre es un movimiento social». Para los movimientos open source, el software no libre es una solución ineficiente. Para el movimiento de software libre, el software no libre es un problema social y el software libre es la solución.

Relación entre movimiento del software libre y open source

El movimiento del software libre y el movimiento open source son como dos campos políticos dentro de la comunidad del software libre.

Estamos en desacuerdo en los principios básicos, pero estamos más o menos de acuerdo en las recomendaciones prácticas. Así que trabajamos juntos en muchos proyectos específicos. No pensamos los movimientos open source como enemigo. El enemigo es el software propietario. No estamos en contra de los movimientos open source, pero no queremos que se nos mezcle. Reconocemos que han contribuido a nuestra comunidad, pero nosotros creamos esta comunidad, y queremos que la gente lo sepa. Queremos que la gente asocie nuestros logros con nuestros valores y filosofía, no con los de ellos. Queremos que se nos oiga, no estar difuminados detrás de un grupo con puntos de vista diferentes.

Capitulo IX

EL SOFTWARE LIBRE NECESITA DOCUMENTACIÓN LIBRE

La mayor deficiencia en los sistemas operativos libres no se encuentra en el software, sino en la falta de buenos manuales libres que podamos incluir en esos sistemas. Muchos de nuestros programas más importantes no vienen acompañados de manuales completos. La documentación es una parte esencial de cualquier paquete de software; cuando un paquete de software libre relevante no está acompañado de un manual libre, se da una tremenda laguna. Hoy en día tenemos muchas de estas lagunas.

El criterio con los manuales libres es bastante parecido al del software libre: se trata de proporcionar ciertas libertades a todos los usuarios. La distribución —incluyendo la distribución comercial— debe ser permitida, de modo que el manual pueda acompañar a cada copia del programa, en papel o en la Red. El permiso de modificación es también crucial .Como norma general, no creo que tener permiso para modificar todo tipo de artículos y libros resulte esencial para la gente. Los problemas para el texto impreso no son necesariamente los mismos que los del software. Por ejemplo, no me parece que tú o yo estemos obligados a dar permiso para modificar artículos como éste, que describen nuestras prácticas y nuestros puntos de vista.

Al desarrollar y utilizar GNU en lugar de programas propietarios, nosotros podemos ser hospitalarios con todos y obedecer la ley. Además, GNU sirve como ejemplo de inspiración  y  como bandera para conminar a otros a unirse a nosotros en el acto de compartir. Esto puede darnos una sensación de armonía que es imposible cuando utilizamos software que no es libre. Porque para cerca de la mitad de los programadores con quienes he hablado, este es un motivo de felicidad importante, que el dinero no puede reemplazar.