Sitio Web del poderoso ChicoDotNet

Sitio Web del poderoso ChicoDotNet es el lugar donde puedes aprender todo lo nuevo sobre desarrollo de aplicaciones para Windows, ASP .NET, SmartClient y adquirir los súper poderes que te da la mejor plataforma de creación de programas: Microsoft .NET

20070821

Aprender Open Office XML

Vía Raúl Guerrero me entero que hay un nuevo libro gratuito en línea que te permite aprender en forma sencilla el nuevo formato de Microsoft Office de código abierto. El libro se llama Open XML Explained y el autor es Wouter Van Vugt. Raúl en la entrada que pone al respecto te recomienda visitar el blog del autor.

En lo particular el libro me pareció una muy buena referencia que es importante compartir ya que a pesar de que no lo he leído por completo la hojeada me ha dejado una muy buena impresión ya que está escrito a manera de tutorial con muchas ilustraciones que te permiten aprender rápidamente y empezar a crear documentos con Open Office XML desde el principio. Además de que contempla los cuatro tipos de documentos principales: DocumentML, SpreadsheetML, PresentationML y DrawingML. Una cosa que me hubiera gustado ver en la tabla de contenidos es lo referente a PDF's, VML y MathML pero altamente recomendable de cualquier manera.

Etiquetas: , , , , , ,

Aprender Open Office XML

Escrito por Alfonso Lara Ramos @ 22:13 0 comentarios

Busca Aprender Open Office XML en Technorati | Guarda Aprender Open Office XML en Yahoo | Guarda Aprender Open Office XML en Google Bookmarks | Envía Aprender Open Office XML a Furl | Envía Aprender Open Office XML a Newsvine | Guarda Aprender Open Office XML en Ma.gnolia.com | Envía Aprender Open Office XML a Reddit | Envía Aprender Open Office XML a BarraPunto | Envía Aprender Open Office XML a Digg | Envía un Meme sobre Aprender Open Office XML | Guarda Aprender Open Office XML en del.icio.us | Envía Aprender Open Office XML a Fresqui | Menea Aprender Open Office XML en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070819

Microsoft Open Source

Microsoft Open Source

El año pasado Microsoft iniciaba trabajos con Mozilla para ayudar a que Firefox y Thunderbird se pudieran ejecutar sin problemas en Windows Vista, como resultado hay ahora por ejemplo un plug-in para Windows Media Player compatible con Firefox disponible, en diciembre de 2006 se publicaba en ECMA el estándar ECMA 376 que define Office Open XML (OO-XML), además de esto desde la aparición de .NET 1.1 estamos viendo cada vez más la transcisión de cada vez más software de código abierto apoyado por Microsoft.

La discusión esta desde diciembre en la red. ¿Está Microsoft realmente convirtiéndose en una compañía que apoya el Open Source? En esta entrada de blog pretendo poner todas las cartas sobre la mesa, mi opinión sobre que plataforma es la mejor está en la descripción de la presente bitácora pero pretendo que esta entrada sea completamente un trabajo de investigación científica. El verdadero fin es que puedas conocer las opciones que Microsoft está ofreciendo y si te sirven las aproveches y si no pues busques otras opciones que te parezcan mejores pero con toda la información junta. Arrancamos.

Primeramente hay que hacer algunas definiciones importantes para evitar ambiguedades.

Open source

El término Open Source surge como desambiguación de la definición de software libre, que en inglés sería free software, lo cual daba lugar a entenderlo como software gratuito o libre dependiendo quien lo leyera. El software Open Source permite a los usuarios ver y modificar el código fuente. Su filosofía se rige por 10 principios básicos:

  1. Libre redistribución: el software debe poder ser regalado o vendido libremente.
  2. Código fuente: el código fuente debe estar incluido u obtenerse libremente.
  3. Trabajos derivados: la redistribución de modificaciones debe estar permitida.
  4. Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas solo como parches.
  5. Sin discriminación de personas o grupos: nadie puede dejarse fuera.
  6. Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
  7. Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa.
  8. La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
  9. La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
  10. La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.

Para que la licencia pueda ser considerada Open Source debe cumplir además cinco criterios que están definidos por la Open Source Initiative:

  1. No mantener secretos intencionales: El estándar no debe ocultar ningún detalle necesario para una implementación interoperable. Como los errores son inevitables, el estándar debe definir un proceso para reparar erores durante la implementación y pruebas de interoperabilidad e incorporar dichos cambios en una versión revisada o subsecuente del estándar bajo términos que no violen el deecho Open Source.
  2. Disponibilidad: El estándar debe estar disponible libremente y públicamente (por ejemplo en un sitio Web estable) bajo términos libres de derechos y a un costo razonable y no discriminatorio.
  3. Patentes: Todos los patentes esenciales para la implementación del estándar deben ser licenciados bajo derechos libres para uso irrestricto o ser cubiertos por una promesa de no afirmación cuando sean utlizados como software open source.
  4. Sin acuerdos: No debe haber ningún requisito para la ejecución de un acuerdo de licencia, de no revelación, de concesión, aceso de clic por ratón, o de ninguna otra forma de papeleo para desplegar las puestas en práctica que conforman el estándar.
  5. Ninguna dependencia incompatible con los derechos Open Source: La puesta en práctica del estándar no debe requerir ninguna otra tecnología que no pueda resolver los criterios de este requisito.

Algunos ejemplos de licencias Open Source son las siguientes:

  • Academic Free License
  • Adaptive Public License
  • Apache Software License
  • Apache License, 2.0
  • Apple Public Source License
  • Artistic license
  • Attribution Assurance Licenses
  • New BSD license
  • Computer Associates Trusted Open Source License 1.1
  • Common Development and Distribution License
  • Common Public Attribution License 1.0 (CPAL)
  • Common Public License 1.0
  • CUA Office Public License Version 1.0
  • EU DataGrid Software License
  • Eclipse Public License
  • Educational Community License
  • Eiffel Forum License
  • Eiffel Forum License V2.0
  • Entessa Public License
  • Fair License
  • Frameworx License
  • GNU General Public License (GPL)
  • GNU Library o "Lesser" General Public License (LGPL)
  • Historical Permission Notice and Disclaimer
  • IBM Public License
  • Intel Open Source License
  • Jabber Open Source License
  • Lucent Public License (Plan9)
  • Lucent Public License Version 1.02
  • MIT license
  • MITRE Collaborative Virtual Workspace License (CVW License)
  • Motosoto License Mozilla Public License 1.0 (MPL)
  • Mozilla Public License 1.1 (MPL)
  • NASA Open Source Agreement 1.3
  • Naumen Public License
  • Nethack General Public License
  • Nokia Open Source License
  • OCLC Research Public License 2.0
  • Open Group Test Suite License
  • Open Software License
  • PHP License
  • Python license (CNRI Python License)
  • Python Software Foundation License
  • Qt Public License (QPL)
  • RealNetworks Public Source License V1.0
  • Reciprocal Public License
  • Ricoh Source Code Public License
  • Sleepycat License
  • Sun Industry Standards Source License (SISSL)
  • Sun Public License
  • Sybase Open
  • Watcom Public License 1.0
  • University of Illinois/NCSA Open Source License
  • Vovida Software License v. 1.0
  • W3C License
  • wxWindows Library License
  • X.Net License
  • Zope Public License
  • zlib/libpng license

En el caso de Microsoft la licencia que está en proceso de validación es la Microsoft Open Specification Promise, que estalece desde el 16 de octubre de 2006 la apertura como software de código abierto en cumplimiento con los criterios de Open Source Initiative los alcances que Microsoft tenga en los esfuerzos realizados sobre las siguientes especificaciones:

Servicios Web

  • Identity Selector Interoperability Profile v1.0
  • WS-I Basic Profile
  • Remote Shell Web Services Protocol
  • WS-Management
  • SOAP
  • WS-Management Catalog
  • SOAP 1.1 Binding for MTOM 1.0
  • WS-MetadataExchange
  • SOAP MTOM / XOP
  • WS-Policy
  • SOAP-over-UDP
  • WS-PolicyAttachment
  • Web Single Sign-On Interoperability Profile
  • WS-ReliableMessaging
  • Web Single Sign-On Metadata Exchange Protocol
  • WS-RM Policy
  • WS-Addressing
  • WS-SecureConversation
  • WS-AtomicTransaction
  • WS-Security: Kerberos Binding
  • WS-BusinessActivity
  • WS-Security: Kerberos Token Profile
  • WS-Coordination
  • WS-Security: Rights Expression Language (REL) Token Profile
  • WS-Discovery
  • WS-Security: SAML Token profile
  • WSDL
  • WS-Security: SOAP Message Security
  • WSDL 1.1 Binding Extension for SOAP 1.2
  • WS-Security: UsernameToken Profile
  • WS-Enumeration
  • WS-Security: X.509 Certificate Token Profile
  • WS-Eventing
  • WS-SecurityPolicy
  • WS-Federation
  • WS-Transfer
  • WS-Federation Active Requestor Profile
  • WS-Trust
  • WS-Federation Passive Requestor Profile

Especificaciones de virtualización

Seguridad

Formatos Office XML

Robótica

Algunas de las características de la promesa son que estas especificaciones pueden ser utilizadas libremente y fácilmente desde ahora en adelante; no es necesario ni siquiera informar a Microsoft acerca de uso de la licencia open para la implementación de aplicativos o soluciones pero obviamente el uso de las especificaciones implícitamente indica su aceptación; la licencia es viral; existe el compromiso de mantener los estándares abiertos y darles soporte (no es una licencia "AS-IS", que sería como: no nos hacemos responsables si decides salir a producción con nosotros); permite la creación de obras libres o comerciales a partir del uso de las especificaciones sin restringir las tecnologías que deban implementarse con ellas.

La razón de la apertura de Microsoft al licenciamiento Open Source es simple: la comunidad de desarrolladores ha creado más de 79000 aplicaciones Open Source utilizando tecnologías Microsoft, además los clientes comunes de la compañía con empresas que utilizan tecnologías Open Source tales como SugarCRM, MySQL, Novell, JBoss, Zend, XenSource, Sun Microsystems, Mozilla, Aras, SpikeSource, y Xorp han generado un nicho de colaboración de negocios cada vez más grande para entregar valor a partir de la colaboración en el ámbito del código abierto.

Una gran gama y variedad de aplicaciones de código abierto basadas en tecnología Microsoft pueden encontrarse en sourceforge.net, CodePlex y Google Code. Se apoya bastante el trabajo de la comunidad de desarrollo a partir de sitios de la compañía tales como Coding4Fun.

Además algunos ejemplos importantes de código abierto de la compañía se pueden encontrar en los ejemplos de la librería MSDN, y en TechNet. Existen ya incluso implementaciones de aplicaciones de código abierto tales como:

  • IronPhyton. -Lenguaje Phyton para implementación de lenguajes ágiles bajo .NET
  • ASP.NET AJAX. - Implementación de código abierto de JavaScript para comunicación con objetos del lado del servidor.
  • SharePoint Learning Kit. - Un kit de código abierto que permit la colaboración de grupos académicos utilizando SharePoint Server.
  • WiX. - Instalador de aplicaciones de código abierto basado en XML.

Y bueno, el principal debate en la red es respecto a la estandarización ISO de Office Open XML, que es un estándar compuesto de 27 espacios de nombres y 89 módulos de esquema, todos abiertos, la especificación se divide en los lenguajes de marcado ennumerados a continuación:

  • WordprocessingML - Utilizado para procesamiento de textos.
  • SpreadsheetML - Utilizado para procesamiento de hojas de cálculo
  • PresentationML - Utilizado para definir presentaciones
  • DrawingML - Para dibujo
  • VML (en discusión) - Para dibujo con vectores
  • Office Math ML - Para notaciones matemáticas, distinto del estándar MathML de la W3C pero convertible fácilmente por XSLT

La especificación está dividida entro de ECMA en documentos que tratan acerca de tratamiento de documentos docx y pdf y su fin último es entregar a la comunidad un estándar de la industria que permita la interoperabilidad de Office con cualquier desarrollo libre.

Otro estándar abierto es XAML, que es el lenguaje de marcado utilizado en Windows Presentation Foundation, del cuál he escrito recientemente en varias entradas.

Si bien se puede discutir largamente en la red el tema lo importante, lejos de ser un tema de "estar a favor o en contra de Microsoft", la discusión es acerca de lo positivo que puede ser contar con un formato unificado para los documentos apoyado por toda la industria, algo que produciría sin duda un efecto tan positivo como el que experimentó anteriormente, por ejemplo, el HTML a partir de contar con un estándar ISO perfectamente documentado y aprobado en torno al cual construir, evitando un mundo con innecesarias incompatibilidades.

Etiquetas: , , , , , ,

Microsoft Open Source

Escrito por Alfonso Lara Ramos @ 12:55 0 comentarios

Busca Microsoft Open Source en Technorati | Guarda Microsoft Open Source en Yahoo | Guarda Microsoft Open Source en Google Bookmarks | Envía Microsoft Open Source a Furl | Envía Microsoft Open Source a Newsvine | Guarda Microsoft Open Source en Ma.gnolia.com | Envía Microsoft Open Source a Reddit | Envía Microsoft Open Source a BarraPunto | Envía Microsoft Open Source a Digg | Envía un Meme sobre Microsoft Open Source | Guarda Microsoft Open Source en del.icio.us | Envía Microsoft Open Source a Fresqui | Menea Microsoft Open Source en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070814

Interfases de usuario ricas basadas en lenguajes XML

En esta ocasión les platicaré acerca de las opciones que existen para programar interfases de usuario ricas a partir de archivos de texto con formatos XML.

Primeramente el favorito de los últimos tiempos: XAML (se pronuncia xamel o shamel), que es un estándar abierto de Microsoft para la creación de interfases basadas en Windows Presentation Foundation que es una de las partes que vienen con .NET 3.0. Normalmente puedes producir interfases XAML utilizando Visual Studio o Microsoft Expression pero también lo puedes hacer desde cualquier editor de texto, y esto es una gran ventaja ya que desde cualquier lugar podrías corregir un detallito en tu aplicación aunque no tengas tu computadora usual a la mano. La forma en la que funciona es que se interpreta por un subsistema de Windows Vista o de Windows XP/Server 2003 con .NET 3.0 que reemplaza al GDI tradicional de Windows, este subsistema conecta los diferentes elementos con el CLR permitiéndote crear eventos totalmente de capa de presentación que interactúen con tus clases tradicionales de .NET 2.0 y obviamente por diseño esto puede hacerse también con librerías legadas de .NET 1.1 o de COM por medio de encapsulamiento, por lo que la migración de la interfase común a la atractivamente bonita e interactiva no debería significar cambios mayores en tu arquitectura de aplicación. Los gráficos vectoriales creados por medio de XAML pueden ser creados en 2D y 3D.

XAML viene del acrónimo eXtensible Application Markup Language, aunque originalmente en la etapa de "nombre clave" era eXtensible Avalon Markup Language.

XAML puede implementar casi el mismo código del lado Web que del lado Windows, en el caso de los controles de presentación propios de Windows existe la opción de hacerlo mediante Silverlight o Moonlight, lo cual permite que pueda consumirse el contenido de WPF en cualquier lugar (WPF/e).

La opción competidora más famosa es Adobe Flash (antes Macromedia Flash), si bien ha sido por mucho tiempo un estándar líder en la industria el API está basado en una implementación propietaria de JavaScript llamada ActionScript que implementa los estándares ECMA. La parte XML de Flash se llama FJAX y se implementa utilizando AJAX por medio de HTTP, que comunicaría a Flash con DOM o directamente con .NET o cualquier otro lenguaje del lado del servidor.

Interacción FJAX

Otra opción es XUL, que viene de las siglas XML-based User-interface Language, es un lenguaje propuesto por Mozilla, no es un estándar, su lógica de negocio está basada en Javascript y su principal ventaja era precisamente esa, al ejecutarse sobre un lenguaje ECMA se puede ejecutar en distintos sistemas operativos, la desventaja es que está diseñado como lenguaje del lado del cliente. Está dividido en tres grupos de componentes: Content, Skin y Locale: Content contiene la definición de los objetos de interfase de usuario; Skin define los elementos de presentación como hojas de estilo CSS y XSL; Locale define los componentes de presentación por medio de uno o más DTD.

La última opción que comentaré en esta ocasión es SVG (Scalable Vector Graphics), que es una recomendación de W3C para generar gráficos en 2D vectoriales los cuáles pueden animarse utilizando SMIL (Synchronized Multimedia Integration Language) que es un estándar de W3C, lo cuál lo hace bastante confiable además de ser también un lenguaje basado en XML, sin embargo la desventaja de SVG es que no todos los navegadores soportan su uso sin conectores de terceros, que las gráficas de la interfase de usuario no pueden ser en 3D nativo y que su lógica también funciona del lado del cliente.

Todas las opciones expuestas en esta entrada permiten generar aplicaciones con interfases de usuario ricas que incluyan vídeo, datos, imágenes y gráficos vectoriales, sin embargo mi conclusión sobre la opción más poderosa y sencilla de implementar es XAML.

Etiquetas: , , , , , , , ,

Escrito por Alfonso Lara Ramos @ 13:38 0 comentarios

Busca Interfases de usuario ricas basadas en lenguajes XML en Technorati | Guarda Interfases de usuario ricas basadas en lenguajes XML en Yahoo | Guarda Interfases de usuario ricas basadas en lenguajes XML en Google Bookmarks | Envía Interfases de usuario ricas basadas en lenguajes XML a Furl | Envía Interfases de usuario ricas basadas en lenguajes XML a Newsvine | Guarda Interfases de usuario ricas basadas en lenguajes XML en Ma.gnolia.com | Envía Interfases de usuario ricas basadas en lenguajes XML a Reddit | Envía Interfases de usuario ricas basadas en lenguajes XML a BarraPunto | Envía Interfases de usuario ricas basadas en lenguajes XML a Digg | Envía un Meme sobre Interfases de usuario ricas basadas en lenguajes XML | Guarda Interfases de usuario ricas basadas en lenguajes XML en del.icio.us | Envía Interfases de usuario ricas basadas en lenguajes XML a Fresqui | Menea Interfases de usuario ricas basadas en lenguajes XML en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070513

Xml Notepad 2007

Navegación y edición de árbol XML en XML Notepad 2007

XML Notepad 2007 provee una interfase de usuario simple para navegar y editar documentos XML. Entre sus nuevas características tiene:

  • Búsqueda incremental (CTRL+I) tanto en la vista de árbol como en la de texto, conforme vas escribiendo va navegando a la etiqueta que más se parece.
  • Cortar, copiar y pegar con soporte para espacio de nombres completo en formato XML interoperable.
  • Arrastrar y soltar para manipular el árbol, incluso entre diferentes instancias de XML Notepad.
  • Rehacer y deshacer infinito.
  • Fuentes y colores configurables.
  • Búsqueda y reemplazo con soporte para expresiones regex y XPath.
  • Gran desempeño (un XML de 3 Mb se lee en un segundo)
  • Validación de esquema XML instantánea.
  • Soporte para editores personalizados de fecha, hora y colores.
  • Visor HTML para desplegar las transformaciones XSLT.
  • Herramienta de diferenciación de XML.

Está muy bien si no te quieres complicar con la escritura de documentos XML, una de las cosas más útiles es lo de la validación de esquemas, cualquier formato XML existente en una especificación de esquema tiene IntelliSense de inmediato.

Transformación XSLT en XML Notepad 2007

Puedes descargar XML Notepad 2007 en forma gratuita.

Etiquetas: , ,

Escrito por Alfonso Lara Ramos @ 08:13 0 comentarios

Busca Xml Notepad 2007 en Technorati | Guarda Xml Notepad 2007 en Yahoo | Guarda Xml Notepad 2007 en Google Bookmarks | Envía Xml Notepad 2007 a Furl | Envía Xml Notepad 2007 a Newsvine | Guarda Xml Notepad 2007 en Ma.gnolia.com | Envía Xml Notepad 2007 a Reddit | Envía Xml Notepad 2007 a BarraPunto | Envía Xml Notepad 2007 a Digg | Envía un Meme sobre Xml Notepad 2007 | Guarda Xml Notepad 2007 en del.icio.us | Envía Xml Notepad 2007 a Fresqui | Menea Xml Notepad 2007 en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070501

Sexto mapa del sitio

Este es el Primer mapa del sitio (De .NET Básico a BizTalk Server), otros mapas los puedes encontrar en las siguientes ubicaciones:

Etiquetas: , , , , , , , ,

Escrito por Alfonso Lara Ramos @ 12:06

Busca Sexto mapa del sitio en Technorati | Guarda Sexto mapa del sitio en Yahoo | Guarda Sexto mapa del sitio en Google Bookmarks | Envía Sexto mapa del sitio a Furl | Envía Sexto mapa del sitio a Newsvine | Guarda Sexto mapa del sitio en Ma.gnolia.com | Envía Sexto mapa del sitio a Reddit | Envía Sexto mapa del sitio a BarraPunto | Envía Sexto mapa del sitio a Digg | Envía un Meme sobre Sexto mapa del sitio | Guarda Sexto mapa del sitio en del.icio.us | Envía Sexto mapa del sitio a Fresqui | Menea Sexto mapa del sitio en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

Lecturas recomendadas


Suscripciones

Impulsado por FeedBurner
Impulsado por Feedburner
Suscríbete a ChicoDotNet utilizando Google Suscríbete a ChicoDotNet utilizando netomat Hub Suscríbete a ChicoDotNet utilizando Plusmo Suscríbete a ChicoDotNet utilizando Newsburst Suscríbete a ChicoDotNet utilizando Attensa Suscríbete a ChicoDotNet utilizando My Yahoo Suscríbete a ChicoDotNet utilizando NewsGator Suscríbete a ChicoDotNet utilizando netvibes Suscríbete a ChicoDotNet utilizando The Free Dictionary Suscríbete a ChicoDotNet utilizando Bitty Suscríbete a ChicoDotNet utilizando Excite MIX Suscríbete a ChicoDotNet utilizando Pluck Suscríbete a ChicoDotNet utilizando Webwag Suscríbete a ChicoDotNet utilizando podnova Suscríbete a ChicoDotNet utilizando ZapTXT Suscríbete a ChicoDotNet utilizando NewsAlloy Suscríbete a ChicoDotNet utilizando flurry Suscríbete a ChicoDotNet utilizando Pageflakes Suscríbete a ChicoDotNet utilizando ODEO Suscríbete a ChicoDotNet utilizando PodcastReady Suscríbete a ChicoDotNet utilizando Bloglines Suscríbete a ChicoDotNet utilizando My AOL Suscríbete a ChicoDotNet utilizando Rojo

Portal de contenidos impulsado por Blogger | Ejemplos de código impulsados por ASP .NET 2.0 | Sindicación Atom válida | Sindicación RSS 2.0 válida | ChicoDotNet es un portal impulsado por Aynkia Desarrollo: Aplicaciones Web, Windows y Smart Client | ©© Algunos derechos reservados 2006 Aynkia Systems Consultores. El contenido de este sitio Web está regulado por una licencia Creative Commons Attribution 2.5 License

Ranking de ChicoDotNet en Blogalaxia

Obtén vistas previas utilizando Snap.com