<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-21225562</id><updated>2009-09-14T15:56:01.663-06:00</updated><title type='text'>Blog Técnico de Arí Kassín</title><subtitle type='html'>Este blog está orientado a toda la gente que quiera ver y participar en temas de ing. de software, TI, redes y otras áreas de la computación.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21225562.post-114848655896238395</id><published>2006-05-24T09:42:00.000-06:00</published><updated>2006-05-24T10:07:15.846-06:00</updated><title type='text'>¿Quieres aprender JAVA?</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Estudiando JAVA para realizar proyectos personales me encontré con este libro:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="color:#66ffff;"&gt;Java For Artists: The Art, Philosophy, and Science of Object-Oriented Programming&lt;br /&gt;by Rick Miller and Raffi Kasparian&lt;br /&gt;ISBN: 1932504052&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;La verdad quedé sorprendido. Este libro habla de muchos temas interesantes como el paradigma de Programación Orientada a Objetos, de las diferentes metodologías para crear sistema completos, Extreme Programming, entre otros. Lo que hace a este libro excepcional es que esta dirigido a estudiantes de carreras como Ing. en Sistemas, Electrónica o cualquier otra en que necesites programar. El material que provee es avanzado pero ya quisiéramos muchos habernos encontrado con un libro dirigido a estudiantes que tocara estos temas. El autor explica todo tan sencillo que hace que los temas ya no luzcan tan avanzados o complejos. La verdad hace ver a muchos tutoriales, libros y sitios oficiales un poco rolleros e inalcanzables.&lt;br /&gt;Ya sea para aprender algo nuevo o reforzar tus conocimientos, te recomiendo le des una checada a este libro. Para aquellos que tienen cuenta en &lt;/span&gt;&lt;a href="http://www.books24x7.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;www.books24x7.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; ahí lo pueden encontrar. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114848655896238395?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114848655896238395/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114848655896238395' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114848655896238395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114848655896238395'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/05/quieres-aprender-java.html' title='¿Quieres aprender JAVA?'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114780426010931330</id><published>2006-05-16T12:22:00.000-06:00</published><updated>2006-05-16T12:44:49.090-06:00</updated><title type='text'>Introducción a ASP.NET – Formularios Web</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Quiero mostrarles como funcionan los formularios Web y algunas de sus características. Primero vamos a crear un proyecto de Web utilizando &lt;strong&gt;Visual Studio .NET&lt;/strong&gt;. Bajo el menú principal de &lt;em&gt;File -&gt; New -&gt; Project&lt;/em&gt; se encuentra la opción de &lt;strong&gt;ASP.NET Web Application&lt;/strong&gt;. Aquí Visual Studio nos pregunta por un directorio virtual en vez de una ruta física ya que estamos trabajando con un sitio Web. Esto es interesante porque como podemos ver ya de un inicio estamos trabajando bajo un ambiente Web y se nota que todo va encaminado a que funcione en Internet.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/1789/2144/1600/aspNet01.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/aspNet01.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="justify"&gt;Lo primero que nos damos cuenta al ver nuestra pantalla es que aparece una forma muy parecida a la que sale cuando creamos una aplicación de Windows. En un proyecto de Web este control se llama &lt;em&gt;Web Form&lt;/em&gt;.&lt;br /&gt;Dibujar una forma es tan sencillo como arrastrar controles a donde se requieran y acomodarlos con el ratón. Solo arrastrando controles (es decir, sin tener que codificar aun nada) podemos dibujar una forma así:&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/1789/2144/1600/aspNet02.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/aspNet02.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;br /&gt;Si nos fijamos bien, hay una pestaña que dice &lt;strong&gt;HTML&lt;/strong&gt; abajo del lado izquierdo. Si nos vamos ahí podemos ver mucho código parecido al lenguaje de marcación &lt;strong&gt;HTML&lt;/strong&gt;. Esto no es solamente lenguaje de &lt;strong&gt;HTML&lt;/strong&gt; sino que tiene etiquetas de controles de asp. Como podemos ver, Visual Studio se encargo de poner el código necesario para mostrar nuestro formulario.&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/1789/2144/1600/aspNet03.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/aspNet03.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;br /&gt;Pero ¿qué es lo interesante de esto? &lt;strong&gt;ASP.NET&lt;/strong&gt; divide una página Web en dos archivos distintos. Uno de presentación (Es el que hemos estado viendo y consta de las pestañas: diseño y &lt;strong&gt;HTML&lt;/strong&gt;) y otro del código para poder visualizar y manipular los controles. Cada archivo es único e interactúan entre sí.&lt;br /&gt;El archivo de presentación es en realidad una página &lt;strong&gt;HTML&lt;/strong&gt; en formato &lt;strong&gt;XML&lt;/strong&gt;, y etiquetas de &lt;strong&gt;ASP.NET&lt;/strong&gt;. Estas etiquetas se utilizan para asignar a cada control de &lt;strong&gt;ASP.NET&lt;/strong&gt; (como una caja de texto, etiqueta de texto, botón de radio, etc.) sus propiedades y localización en la página Web. Cuando un cliente o explorador solicita una página Web, &lt;strong&gt;ASP.NET&lt;/strong&gt; se encarga de reemplazar las etiquetas por los controles verdaderos de &lt;strong&gt;HTML&lt;/strong&gt; y regresarlo en forma de página Web al explorador del cliente. Esto sirve para que &lt;strong&gt;ASP.NET&lt;/strong&gt; pueda identificar el tipo de Explorador usado por el cliente y mandarlo adecuadamente para que la página sea compatible 100% con el cliente.&lt;br /&gt;En el archivo de código se escribe toda la lógica de la página Web. Aquí se escriben las acciones o eventos de cada control. Como podemos ver, el tener 2 archivos separados evita el código mezclado y nos ayuda a tener separada el código lógico de lo gráfico.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Si vienes de desarrollar en &lt;strong&gt;ASP&lt;/strong&gt; clásico o alguna vez tuviste que crear una página Web en &lt;strong&gt;ASP&lt;/strong&gt; a mano, podrás apreciar todas estas características y regocijarte por todo el tiempo extra que te va a quedar utilizando Visual Studio y las ventajas proporcionadas por &lt;strong&gt;ASP.NET&lt;/strong&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114780426010931330?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114780426010931330/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114780426010931330' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114780426010931330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114780426010931330'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/05/introduccin-aspnet-formularios-web.html' title='Introducción a ASP.NET – Formularios Web'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114779191894507576</id><published>2006-05-16T08:57:00.000-06:00</published><updated>2006-05-16T09:05:18.946-06:00</updated><title type='text'>Introducción a ASP.NET – ASP vs ASP.NET</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Empecé a escribir acerca de &lt;em&gt;Web Services&lt;/em&gt;  pero me di cuenta que va ligando con &lt;strong&gt;ASP.NET&lt;/strong&gt;. &lt;strong&gt;ASP.NET&lt;/strong&gt; es muy extenso e importante porque abarca casi todo lo necesario para hacer proyectos de Web con el &lt;em&gt;framework&lt;/em&gt; de .NET.&lt;br /&gt;Veamos de donde viene esta tecnología. Hace ya algunos años atrás cuando el auge del Internet iba creciendo y creciendo, los desarrolladores de aplicaciones se vieron con la necesidad de crear o traspasar sus aplicaciones a Internet.&lt;br /&gt;La primera opción que funcionó fue cuando Microsoft sacó el producto &lt;strong&gt;Visual InterDev&lt;/strong&gt;. Este permitía crear páginas Web que contenían código para ser ejecutado por el &lt;em&gt;Internet Information Server (IIS)&lt;/em&gt;. Estas aplicaciones debían ser instaladas en el servidor para que cuando un explorador (Internet Explorer, Netscape, etc.) hiciera una petición de ejecución al servidor, este procesara la aplicación y regresara el resultado al explorador. Estos fueron los inicios de &lt;em&gt;&lt;strong&gt;ASP&lt;/strong&gt;&lt;/em&gt; o &lt;em&gt;Active Server Pages&lt;/em&gt;.&lt;br /&gt;Las desventajas eran que los desarrolladores tenían que rediseñar y reconstruir sus aplicaciones para migrarlas al modelo de Web y que el código dentro de una página Web (archivo con extensión .asp) estaba mezclado con &lt;strong&gt;HTML&lt;/strong&gt; y Script, situación que hacía muy difícil mantener el código ya que no era legible o amigable. (A esto se le llama código spaghetti porque en un párrafo estaban mezclados varios lenguajes).&lt;br /&gt;Otra desventaja importante es que una solución en &lt;strong&gt;ASP&lt;/strong&gt; debe llevar consigo mismo toda la lógica de negocio ya que el servidor se va a encargar solamente de interpretar su contenido. Tomando esto en cuenta, es obvio que la reutilización de código es casi nula ya que cada archivo de &lt;strong&gt;ASP&lt;/strong&gt; se comporta como una isla, situación poco deseadas para la reutilización y administración eficaz de código.&lt;br /&gt;La arquitectura en capas con la tecnología &lt;strong&gt;ASP&lt;/strong&gt; era muy complicada ya que los controles de presentación (formas, cajas de texto, etiquetas, etc) debían ir dentro de cada archivo .asp. Esto ocasionaba tener una mezcla de código de capas de presentación, negocio y hasta de datos.&lt;br /&gt;&lt;br /&gt;Cuando &lt;strong&gt;Microsoft&lt;/strong&gt; lanza la tecnología &lt;strong&gt;.NET&lt;/strong&gt; incorpora los proyectos de Web dentro de Visual &lt;strong&gt;Studio .NET&lt;/strong&gt;. Esto provee una interfaz para desarrollar aplicaciones de Web muy sencilla. La construcción de la capa de presentación es similar a un proyecto de Windows. Se arrastran controles hacia el área deseada y se acomodan con facilidad. La lógica para que estos controles interactúen es separada (como en las formas de Windows) en otro archivo a parte. Esto da como resultado un archivo de presentación y un archivo de lógica o negocios. ¿Qué tiene esto de maravilloso? Que la parte que contiene la lógica de la página Web es compilado y tratado como ensamble permitiendo incorporar conceptos tales como clases, espacios de nombre, etc.&lt;br /&gt;Otra característica importante de &lt;strong&gt;ASP.NET&lt;/strong&gt; son las mejoras sustanciales con respecto al manejo de la persistencia de la información (estado), ya que brinda la posibilidad de que los diferentes componentes que integran una página puedan mantener en forma automática su contenido a través de las diversas peticiones de la misma.&lt;br /&gt;Por último, en bes más sencillo la depuración y detección de errores ya que utiliza herramientas del &lt;em&gt;framework&lt;/em&gt; &lt;strong&gt;.NET&lt;/strong&gt; para ayudar al buen manejo de errores y excepciones.&lt;br /&gt;Ahora que entendemos los maravilloso que es &lt;strong&gt;ASP.NET&lt;/strong&gt; y sus ventajas con respecto a su antecesor, podemos meternos más a fondo y hasta desarrollar una pequeña aplicación como demostración.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114779191894507576?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114779191894507576/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114779191894507576' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114779191894507576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114779191894507576'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/05/introduccin-aspnet-asp-vs-aspnet.html' title='Introducción a ASP.NET – ASP vs ASP.NET'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114184226056764186</id><published>2006-03-08T11:20:00.000-07:00</published><updated>2006-05-12T10:47:29.293-06:00</updated><title type='text'>Introducción a Web Services.</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Voy a presentar una situación. Imaginen una empresa donde hay varios sistemas y cada uno hace funciones distintas. Es necesario que trabajen entre si para cumplir con un objetivo. Ahora bien, en un mundo ideal todas las aplicaciones estarían hechas en la misma plataforma y lenguaje de programación y sería muy fácil hacer que se comunicaran los sistemas. Pero esto casi nunca sucede. Un sistema puede estar en Delphi de Borland, otro en C# con la plataforma de .NET y otro en Visual Basic 6. Como vemos, sería complicado hacer que los sistemas se hablen directamente ya que están hechos con herramientas distintas y no muy compatibles. Hay muchas formas de hacerlos comunicarse pero la óptima y la que voy a tratar es a través de &lt;em&gt;Web Services&lt;/em&gt;. (Servicios de Web). El chiste es que siguiendo estándares preestablecidos y una forma de comunicación que todos puedan entender cada sistema (sin importar el lenguaje en que esta construido) ofrezca un servicio para que otro lo pueda utilizar. La forma en que los &lt;em&gt;WS&lt;/em&gt; se comunican es por &lt;em&gt;HTTP&lt;/em&gt; el cual utiliza &lt;em&gt;TCP/IP&lt;/em&gt; que es un protocolo de Red muy famoso y estándar en el mundo. El estándar para pasar datos mas utilizado es &lt;em&gt;SOAP&lt;/em&gt; que incorpora a &lt;em&gt;XML&lt;/em&gt;. &lt;em&gt;XML&lt;/em&gt; es un lenguaje con el cual se pueden leer e interpretar datos. &lt;em&gt;XML&lt;/em&gt; también goza de reglas y estándares que lo hacen muy fácil de entender y de adoptar por todas las plataformas y lenguajes de programación. Entonces ya tenemos el medio de comunicación (&lt;em&gt;TCP/IP&lt;/em&gt;) y el lenguaje universal (&lt;em&gt;XML&lt;/em&gt;). Ahora el objetivo es que cada &lt;em&gt;WS&lt;/em&gt; sea autónomo y pueda hacer sus tareas sin que tenga dependencias. Es decir, Si nuestro sistema necesita la lista de empleados de una empresa lo mas probable es que un &lt;em&gt;Web Service&lt;/em&gt; del sistema de Recursos Humanos la proporcione. Si necesita saber los sueldos de los empleados un &lt;em&gt;Web Service&lt;/em&gt; del sistema de finanzas será el encargado de dar la información. A nuestro sistema no le importa como le hizo cada &lt;em&gt;WS&lt;/em&gt; para generar su información. Solo le interesa que lo mande en el formato adecuado (&lt;em&gt;XML&lt;/em&gt;) y que le llegue correctamente (por &lt;em&gt;HTTP&lt;/em&gt; y &lt;em&gt;TCP/IP&lt;/em&gt;). Como ven la idea general es muy clara. Desarrollar una herramienta que proporcione información o tareas a varios sistemas montados en diferentes plataformas. Existen varias reglas y otras cosas interesantes de &lt;em&gt;Web Services&lt;/em&gt; las cuales voy a tratar en mis siguientes publicaciones. Voy a hacer un &lt;em&gt;Web Service&lt;/em&gt; e ir poniendo como lo hice. Después de entender bien los &lt;em&gt;WS&lt;/em&gt; hablare de &lt;em&gt;SOA&lt;/em&gt; que es una arquitectura basada en servicios.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114184226056764186?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114184226056764186/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114184226056764186' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114184226056764186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114184226056764186'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/03/introduccin-web-services.html' title='Introducción a Web Services.'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114184199361082835</id><published>2006-03-08T11:18:00.000-07:00</published><updated>2006-03-08T11:19:53.626-07:00</updated><title type='text'>Cambiando de tema…</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Hola, ¿qué les parecieron las publicaciones de los dispositivos móviles y J2ME? Yo la verdad aprendí mucho. Hay todavía mucho que debo estudiar y la verdad es que tengo por ahí un proyecto en desarrollo pero por el momento voy a dejar este tema. Me llama mucho la atención lo que es &lt;strong&gt;Web Services&lt;/strong&gt; y &lt;strong&gt;SOA&lt;/strong&gt;. En mi trabajo hemos estado viendo estos dos conceptos y me di cuenta que necesito entenderlos bien. La mejor forma para lograrlo es publicar en mi blog. Asi que espero la siguiente serie les guste. Va a ser muy interesante.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114184199361082835?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114184199361082835/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114184199361082835' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114184199361082835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114184199361082835'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/03/cambiando-de-tema.html' title='Cambiando de tema…'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114127667633677122</id><published>2006-03-01T22:02:00.000-07:00</published><updated>2006-03-01T22:21:11.850-07:00</updated><title type='text'>J2ME Wireless Toolkit y Mi 1er. Programa.</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Para desarrollar mi primera aplicación para mi celular voy a utilizar el &lt;em&gt;J2ME Wireless Toolkit&lt;/em&gt;. Existen otros IDEs (Integrated Development Environment) pero el &lt;em&gt;J2ME Wireless Toolkit&lt;/em&gt; es el más sencillo de usar y es totalmente gratis. Lo primero que debes hacer es bajarlo &lt;a href="http://java.sun.com/products/sjwtoolkit/" target="_blank"&gt;aquí&lt;/a&gt;.&lt;br /&gt;Ahora bien, para nosotros los nuevos en el mundo Java hay que saber que para escribir código fuente basta con escribirlo en cualquier editor de texto. Solo hay que asegurarse que la extensión de ese archivo sea &lt;em&gt;.java&lt;/em&gt; y listo.&lt;br /&gt;Vayamos paso por paso para crear un programita sencillo. Primero abre el &lt;em&gt;J2ME Wireless Toolkit&lt;/em&gt;. Escoje “New Project” y ponle nombre a tu proyecto y al MIDlet. Yo nombre “Firma” a mi proyecto y “MiFirma” al MIDlet class.&lt;br /&gt;Cuando creas un nuevo proyecto El toolkit crea una estructura de folders para tu proyecto como se ve en la imagen de abajo.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/FolderStructure.2.jpg" border="0" /&gt;&lt;br /&gt;El fólder de &lt;strong&gt;bin&lt;/strong&gt; contiene el MIDlet compilado (archivo &lt;em&gt;.jar&lt;/em&gt;) y la descripción del MIDlet (archivo &lt;em&gt;.jad&lt;/em&gt;). El fólder de &lt;strong&gt;lib&lt;/strong&gt; esta ahí para que pongas archivos &lt;em&gt;.jar&lt;/em&gt; adicionales que le quieras agregar a tu proyecto. El fólder de &lt;strong&gt;res&lt;/strong&gt; contiene imágenes, archivos de textos u otros recursos del proyecto. Por último el fólder &lt;strong&gt;src&lt;/strong&gt; contiene todo tu código fuente.&lt;br /&gt;Ya verán que fácil es hacer un programita. Pueden copiar y pegar el código que presento abajo.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Georgia;font-size:100%;"&gt;&lt;br /&gt;&lt;span style="color:#99ffff;"&gt;&lt;span style="font-family:lucida grande;font-size:85%;"&gt;import javax.microedition.lcdui.*;&lt;br /&gt;import javax.microedition.midlet.*;&lt;br /&gt;&lt;br /&gt;public class MiFirma&lt;br /&gt;extends MIDlet&lt;br /&gt;implements CommandListener {&lt;br /&gt;private Form mMainForm;&lt;br /&gt;&lt;br /&gt;public MiFirma() {&lt;br /&gt;mMainForm = new Form("Firma");&lt;br /&gt;mMainForm.append(new StringItem(null, "Ari Kassin"));&lt;br /&gt;mMainForm.addCommand(new Command("Exit", Command.EXIT, 0));&lt;br /&gt;mMainForm.setCommandListener(this);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void startApp() {&lt;br /&gt;Display.getDisplay(this).setCurrent(mMainForm);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void pauseApp() {}&lt;br /&gt;&lt;br /&gt;public void destroyApp(boolean unconditional) {}&lt;br /&gt;&lt;br /&gt;public void commandAction(Command c, Displayable s) {&lt;br /&gt;notifyDestroyed();&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Nombren el archivo “MiFirma” y recuerden ponerlo bajo el fólder &lt;strong&gt;src&lt;/strong&gt; de su proyecto y con la extensión &lt;em&gt;.java&lt;/em&gt;.&lt;br /&gt;Ahora regresando al Toolkit solo aprieten el botón de &lt;strong&gt;Build&lt;/strong&gt; y si no tienen errores en el código o en los nombres de sus archivos verán un mensaje de “Build Complete”.&lt;br /&gt;Ahora falta que aprieten el botón de &lt;strong&gt;Run&lt;/strong&gt; para lanzar un fabuloso simulador de un teléfono celular. Debe quedar algo como la imagen siguiente:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/MiFirmaSample.0.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Que tal? Ahora pueden correr los demos que vienen en el &lt;em&gt;J2ME Wireless Toolkit&lt;/em&gt; y ver varios ejemplos de lo que pueden hacer.&lt;br /&gt;Pero hablemos un poco de que sucede al hacer una aplicación como esta. Primero, al apretar el botón de &lt;strong&gt;Build&lt;/strong&gt; el Toolkit agarra todos los archivos &lt;em&gt;.java&lt;/em&gt; dentro del fólder de &lt;strong&gt;src&lt;/strong&gt; y los compila. Esta es una compilación especial ya que como sabemos, los archivos fuente deben ser compilados a un ambiente MIDP (Perfil de un dispositivo de telefonía celular). Después de compilar, ocurre una preverificación que se hace en 2 partes. La primera la hace el Toolkit a la hora de compilar y la segunda la hace en tiempo de ejecución justo antes de cargar el MIDlet al dispositivo. Con esto se corre la clase MiFirma que es la que se ve en el simulador.&lt;br /&gt;&lt;br /&gt;Espero se les haya hecho interesante. En las siguientes publicaciones voy a profundizar en el tema y a hacer una aplicación mas grande con varias características interesantes. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;¡Hasta pronto!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114127667633677122?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114127667633677122/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114127667633677122' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114127667633677122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114127667633677122'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/03/j2me-wireless-toolkit-y-mi-1er.html' title='J2ME Wireless Toolkit y Mi 1er. Programa.'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114011775057196923</id><published>2006-02-16T10:59:00.000-07:00</published><updated>2006-02-16T12:22:30.756-07:00</updated><title type='text'>Blogs que te gustaría visitar</title><content type='html'>&lt;p align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;En mi sección de links enlisto varios blogs de personas que publican conocimiento e ideas dentro del mundo de TI y desarrollo de software. Primero que nada es gente que conozco, colegas de primera mano por así decirlo. Me agrada también que viendo la lista como un conjunto podemos darnos cuenta que existe la diversidad de temas e ideas.&lt;br /&gt;&lt;br /&gt;Esta el blog de &lt;a href="http://pozotecnico.carlosmadrigal.com/" target="_blank"&gt;Carlos Madrigal&lt;/a&gt; que lleva un tiempo ya publicando y habla de muchos temas que normalmente soporta con sus mundialmente famosos (¡aunque no lo crean!) &lt;a href="http://podcastpozotecnico.carlosmadrigal.com/" target="_blank"&gt;Podcasts&lt;/a&gt; del Pozo Técnico. Es buen cuate y publica casi diario así que leer TODOS sus blogs es el verdadero reto.&lt;br /&gt;&lt;br /&gt;Efrén González sabe bastante del mundo de la tecnología. Tanto que tiene 2 blogs: &lt;a href="http://ityprogramacion.blogspot.com/" target="_blank"&gt;tecnología&lt;/a&gt; y &lt;a href="http://theopensourcetalk.blogspot.com/" target="_blank"&gt;opensource&lt;/a&gt;. Mi favorito es el de opensource ya que en mi entorno es poca la gente que sabe de opensource así que bienvenido sea su blog.&lt;br /&gt;&lt;br /&gt;El Raider o &lt;a href="http://oasis-luisenrique.blogspot.com/" target="_blank"&gt;Luis Morales&lt;/a&gt; es muy bueno trabajando con SQL Server 2000. Puedes preguntarle acerca de queries, tablas, índices, etc. Yo lo hago a cada rato. Además siempre publica errores con los que se encontró en el trabajo y da una explicación muy buena de cómo los resolvió.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spaces.msn.com/josedevora/" target="_blank"&gt;José Dévora&lt;/a&gt; esta preparando varios cursos de .NET y los quiere publicar en su blog. Cuidado con la piratería así que si los quieren usar pregúntenle. Seguro serán de mucha utilidad.&lt;br /&gt;&lt;br /&gt;El blog de &lt;a href="http://dev-tecno.blogspot.com/" target="_blank"&gt;Teo Ortega&lt;/a&gt; habla de varias cosas útiles para entender mejor el desarrollo de software. El tiene experiencia en sistemas de .NET así que sería un buen recurso si algún día se te ofrece.&lt;br /&gt;&lt;br /&gt;Como pueden ver, son una buena fuente de información y sobre todo &lt;strong&gt;EXPERIENCIA&lt;/strong&gt; acumulada que te pueden ayudar. Lo mas importante es que al leernos nos motiva a seguir aprendiendo y pelear contra el mal de todos los Ing. en Sistemas: El quedarte atrás. Así que si quieres que tu blog aparezca en mi lista mándamelo y con gusto te obsequio un espacio.&lt;/span&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114011775057196923?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114011775057196923/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114011775057196923' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114011775057196923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114011775057196923'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/02/blogs-que-te-gustara-visitar.html' title='Blogs que te gustaría visitar'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114006479257234724</id><published>2006-02-15T21:34:00.000-07:00</published><updated>2006-02-15T21:39:52.586-07:00</updated><title type='text'>Perfiles y MIDP</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Que tal, ¿cómo vamos con todo esto de la arquitectura de J2ME? La verdad es que ya he publicado una buena cantidad de blogs de teoría. Creo es importante ver que es un Perfil y un MIDP para poder ir con las armas adecuadas a tratar de escribir una aplicación en J2ME. Empecemos entonces.&lt;br /&gt;Una vez que tenemos una configuración (un conjunto de APIs y una definición de una Virtual Machine) debemos seleccionar el perfil adecuado para el dispositivo móvil al que vamos a desarrollar la aplicación. El Perfil viene dando una serie de bibliotecas, clases y APIs específicas para programar en un aparato en particular. Todo lo que conforma un Perfil es lo único (ni mas ni menos) de cosas que soporta un celular o pager, por ejemplo. De ahí que el Perfil viene siendo la última capa de la arquitectura y la que tiene una interacción directa con el aparato al que se le esta ejecutando la aplicación.&lt;br /&gt;Hoy en día ya existen varios perfiles para las configuraciones mas comunes pero es el perfil MIDP el mas famoso y al que yo me voy a enfocar.&lt;br /&gt;MIDP viene de las siglas en inglés Mobile Information Device Profile y esta dirigido para utilizarse con la Configuración CLDC. Como podrán imaginarse el MIDP es un perfil para celulares, pagers y otros dispositivos pequeños.&lt;br /&gt; Recuerden que una razón por la que quiero aprender a programar en J2ME es para hacer una aplicación y correrla en mi celular. Ya vimos mucha teoría y creo que estamos listos para algo más práctico. Para mi aplicación voy a utilizar la configuración CLDC con el Perfil MIDP 2.0. Voy a bajar el Wireless Toolkit de Java y empezar a ver como funciona. Mis siguientes publicaciones serán de el ambiente que debes tener para escribir tu aplicación y llevarla a tu celular. Hasta pronto.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114006479257234724?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114006479257234724/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114006479257234724' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114006479257234724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114006479257234724'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/02/perfiles-y-midp.html' title='Perfiles y MIDP'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-114004171756587300</id><published>2006-02-15T15:11:00.000-07:00</published><updated>2006-02-15T15:15:17.576-07:00</updated><title type='text'>Algunos comentarios y Perfiles.</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Para mi buen amigo Poncho Flores, comento que efectivamente una KVM trabaja igual que la JVM solo que para un dispositivo móvil. Estas maquinas virtuales lo que hacen es interpretar un programa de Java de acuerdo al sistema operativo que invoca el programa. El proceso completo es el siguiente: Primero se escribe el código fuente en un archivo de texto con extensión &lt;em&gt;.java&lt;/em&gt; , luego se compila ese archivo y se forma otro nuevo con extensión &lt;em&gt;.class&lt;/em&gt;. Este archivo esta en &lt;em&gt;bytecodes&lt;/em&gt;, lo que hace que la JVM lo lea e interprete de acuerdo al sistema operativo anfitrión. Asi se corren los programas con la tecnología Java. Pasa lo mismo con KVM, se sigue todo el proceso hasta que el SO del dispositivo móvil ejecuta el programa que invoca.&lt;br /&gt;&lt;a href="http://pozotecnico.carlosmadrigal.com/" target="_blank"&gt;Carlos Madrigal&lt;/a&gt; tenía inquietudes acerca del KVM y la situación que no soporta JNI. El JNI sirve para poder combinar bibliotecas y aplicaciones escritas en el lenguaje Java y otras en código nativo. El que la configuración CLDC no soporte JNI solo significa que no se pueden combinar bibliotecas y aplicaciones de diferentes lenguajes. La forma en que se definen funcionalidad, aplicaciones, bibliotecas, etc. Para cada dispositivo móvil es escogiendo el &lt;strong&gt;Perfil&lt;/strong&gt; correcto.&lt;br /&gt;Hablare más de &lt;strong&gt;perfil&lt;/strong&gt; en mi siguiente entrada de blog.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-114004171756587300?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/114004171756587300/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=114004171756587300' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114004171756587300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/114004171756587300'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/02/algunos-comentarios-y-perfiles.html' title='Algunos comentarios y Perfiles.'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-113891904932181143</id><published>2006-02-02T15:14:00.000-07:00</published><updated>2006-02-02T15:24:46.890-07:00</updated><title type='text'>Características de CLDC</title><content type='html'>&lt;p align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Voy a extenderme en esta configuración porque es la que se usa para hacer aplicaciones para teléfonos celulares. Recuerden que mis primeros pininos en dispositivos móviles van a ser en mi cel así que por eso la atención especial a esta configuración.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;p align="justify"&gt;&lt;br /&gt;Los dispositivos que encajan en CLDC tienen las siguientes características:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;160Kb y 512Kb de memorial total disponible.&lt;/li&gt;&lt;li&gt;Procesador de 16 bits ó 32 bits.&lt;/li&gt;&lt;li&gt;Poco manejo de energía y el uso constante de una batería.&lt;/li&gt;&lt;li&gt;Conexión a una red, casi siempre inalámbrica y con ancho de banda limitada.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Como podemos ver en la figura de abajo&lt;span style="font-size:78%;"&gt;(1)&lt;/span&gt;, CLDC se compone de &lt;em&gt;las bibliotecas de CLDC, el Kilobyte Java Machina (KVM) y el lenguaje de programación Java&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://photos1.blogger.com/blogger/1789/2144/1600/cldc.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/cldc.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;em&gt;El lenguaje de programación Java.&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;¿Ya ven como insisto en estudiar bien toda la arquitectura detrás de un lenguaje de programación? Pues aquí les va otra buena razón para hacer esto…&lt;br /&gt;Debido a que el ambiente en el que corren las aplicaciones con configuración CLDC es muy limitada, hay cosas de Java que no son soportadas. Esto es que hay cosas que si puedes hacer normalmente en ambientes como J2SE y J2EE pero NO en J2ME y con la conf. CLDC. ¿Ven? Si no sabemos esto podríamos estar utilizando erróneamente el lenguaje de programación Java y se nos haría muy difícil saber porque en unas plataformas sirve y en otras no.&lt;br /&gt;Estos son las principales cosas que NO puedes hacer en Java para configuración CLDC:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No hay soporte de tipo flotante. Esto es porque la cantidad requerida para este tipo de variables es muy alta.&lt;/li&gt;&lt;li&gt;No hay método finalize(). Ningún objeto debe esperar limpiarse antes de ser eliminado.&lt;/li&gt;&lt;li&gt;Hay limitaciones al trabajar con manejo de errores. El manejo de excepciones esta totalmente soportado pero el de errores si esta limitado.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;JVM.&lt;/em&gt;&lt;br /&gt;En CLDC el Java Virtual Machina se cambio a Kilobiye Virtual Machina. Esto es porque es una versón mas reducida de la original para poder encajar con el hardware de los dispositivos móviles. Sus limitantes principales son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No hay soporte para Java Native Interface (JNI) es decir, no puedes escribir en otro código que no sea Java.&lt;/li&gt;&lt;li&gt;No soporta clases cargadoras a nivel java definidas por el usuario.&lt;/li&gt;&lt;li&gt;No soporta reflexión.&lt;/li&gt;&lt;li&gt;No hay soporte para referencias débiles.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;em&gt;Bibliotecas Java.&lt;/em&gt;&lt;br /&gt;J2SE y J2EE contienen muchas bibliotecas que le otorgan al programador clases, métodos, funciones, etc. que puede usar y ahorrar tiempo de codificación y mas importante, evitar reinventar la rueda. En J2ME, no es posible poner todas estas bibliotecas así solamente un mínimo de bibliotecas están disponibles para el usuario.&lt;br /&gt;&lt;br /&gt;Con esto podemos entender las características principales de CLDC y ahora podemos escoger el perfil para el dispositivo que quiero hacer mi aplicación. Mis siguientes publicaciones hablarán del perfil MIDP 2.0&lt;br /&gt;&lt;br /&gt;¡Hasta pronto!&lt;/span&gt; &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;span style="font-family:times new roman;"&gt;(1) bibliografia: &lt;/span&gt;&lt;a href="http://www.cs.helsinki.fi/u/campa/teaching/j2me/papers/J2ME.pdf"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.cs.helsinki.fi/u/campa/teaching/j2me/papers/J2ME.pdf&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-113891904932181143?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/113891904932181143/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=113891904932181143' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113891904932181143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113891904932181143'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/02/caractersticas-de-cldc.html' title='Características de CLDC'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-113890672143803016</id><published>2006-02-02T11:53:00.000-07:00</published><updated>2006-02-02T15:24:26.940-07:00</updated><title type='text'>Más sobre arquitectura de J2ME.</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Que tal, ¿está interesante esto de la arquitectura? A mi en lo particular me esta gustando mucho. Yo solía estudiar solamente un lenguaje de programación y conforme iba avanzando en un proyecto estudiaba lo que necesitaba de la arquitectura en que estaba basado ese lenguaje. La mayoría de las veces me funcionaba este método pero creo que es mejor hacerlo bien. Me refiero a entender primero las especificaciones de una idea o plataforma (como lo es J2ME) y luego poder aprender el lenguaje de programación y usarlo como herramienta de trabajo para diseñar verdaderos sistemas. &lt;a href="http://pozotecnico.carlosmadrigal.com/" target="_blank"&gt;Carlos Madrigal&lt;/a&gt; en sus ya famosos &lt;a href="http://podcastpozotecnico.carlosmadrigal.com/" target="_blank"&gt;Podcasts del Pozo Técnico&lt;/a&gt; habla de este fenómeno y otros temas relacionados como el programador pragmático y lo que hace un verdadero arquitecto de software, los invito a darle una checada.&lt;br /&gt;Pronto empezaré a hacer mis primeras pruebitas en J2ME. Por lo pronto vamos a ver más a fondo el bloque de configuración.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;Existen 2 tipos de Configuración:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;Connected Limited Device Configuration (CLDC)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Connected Device Configuration (CDC)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Cada dispositivo móvil entra en una de estas configuraciones. Dependiendo de las características de hardware de los aparatos se sabe que configuración es la adecuada.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-113890672143803016?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/113890672143803016/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=113890672143803016' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113890672143803016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113890672143803016'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/02/ms-sobre-arquitectura-de-j2me.html' title='Más sobre arquitectura de J2ME.'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-113865850850718729</id><published>2006-01-30T15:00:00.000-07:00</published><updated>2006-01-31T10:27:37.360-07:00</updated><title type='text'>Introducción a la Arquitectura de J2ME</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;J2ME es muy interesante para aprender porque tiene características muy especiales. Como ya sabemos, J2ME esta dirigido al desarrollo de sistemas para dispositivos móviles y debe seguir manteniendo las cualidades principales de la tecnología Java.&lt;br /&gt;Estas son:&lt;br /&gt;• Soporte multiplataformas mediante la idea de “escríbelo una vez y córrelo en donde sea”.&lt;br /&gt;• El poder de un lenguaje de programación orientado a objetos (Java).&lt;br /&gt;• Reutilización y portabilidad de código.&lt;br /&gt;• Un ambiente seguro de trabajo en la red.&lt;br /&gt;&lt;br /&gt;Ahora bien, cuando hablamos de dispositivos móviles tenemos que tomar en cuenta sus limitantes, como por ejemplo:&lt;br /&gt;• Poca capacidad de memoria (128Kb – 2Mb).&lt;br /&gt;• El poder computacional de sus procesadores (16 – 32 bit).&lt;br /&gt;• La importancia del uso de energía ya que los aparatos utilizan baterías.&lt;br /&gt;&lt;br /&gt;Como podemos ver, J2ME tiene el reto de proveer todas las cualidades de la tecnología Java e implementarla en aparatos con limitantes considerables.&lt;br /&gt;¿Cómo lo hace? J2ME se divide en 3 bloques principales. &lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;1. Java Virtual Machine (JVM)&lt;br /&gt;2. Configuración (Configuration)&lt;br /&gt;3. Perfiles (Profiles) &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/1789/2144/1600/J2ME%20Blocks.0.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/1789/2144/320/J2ME%20Blocks.0.jpg" border="0" /&gt;&lt;/a&gt;El dibujo anterior muestra a grandes rasgos los 3 bloques de la arquitectura de J2ME &lt;span style="font-size:78%;"&gt;(1)&lt;/span&gt;.&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="color:#3366ff;"&gt;El JVM&lt;/span&gt;&lt;/strong&gt; se encuentra encima del sistema operativo y se encarga de interpretar el código de Java para que se pueda ejecutar por el sistema operativo.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3366ff;"&gt;Configuración&lt;/span&gt;&lt;/strong&gt; se refiere a una serie de especificaciones mínimas para un grupo de dispositivos que tiene características de memoria y procesamiento similar. La configuración esta compuesta del JVM, el lenguaje de programación Java y un conjunto de bibliotecas de clase especiales para el dispositivo en cuestión.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3366ff;"&gt;Perfil.&lt;/span&gt;&lt;/strong&gt; El perfil extiende la configuración agregando bibliotecas de clases más específicas para un dispositivo en particular. &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Los 3 bloques conforman toda la ciencia detrás de la arquitectura de J2ME y el poder comprenderla es un gran avance para crear sistemas para dispositivos móviles. En las siguientes publicaciones voy a hablar más a fondo de cada bloque. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Por lo pronto sabemos que J2ME provee todas las cualidades de la tecnología Java a un ambiente en el que las características de hardware de la plataforma final son muy limitadas. ¿Interesante verdad?&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;(1) &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;Bibliografía: &lt;/span&gt;&lt;a href="http://www.cs.helsinki.fi/u/campa/teaching/j2me/papers/J2ME.pdf"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.cs.helsinki.fi/u/campa/teaching/j2me/papers/J2ME.pdf&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-113865850850718729?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/113865850850718729/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=113865850850718729' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113865850850718729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113865850850718729'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/01/introduccin-la-arquitectura-de-j2me.html' title='Introducción a la Arquitectura de J2ME'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-113796730466345527</id><published>2006-01-22T14:58:00.000-07:00</published><updated>2006-01-22T17:48:53.276-07:00</updated><title type='text'>¿J2ME o .NET Compact Framework?</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Si buscas tecnologías de desarrollo de aplicaciones para dispositivos móviles te vas a encontrar principalmente con dos opciones: J2ME y .NET Compact Framework.&lt;br /&gt;Vamos a ver de donde proviene cada opción y algunas de sus principales características.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;J2ME proviene de la línea &lt;a href="http://java.sun.com/" target="_blank"&gt;Java de Sun&lt;/a&gt;. Para entender mejor a J2ME hay que ver como encaja en la plataforma de soluciones de Java. Esta plataforma comprende J2SE, J2EE y J2ME.&lt;br /&gt;Java 2, Standard Edition (J2SE) esta diseñado para hacer aplicaciones en computadoras personales. Corre sobre diferentes sistemas operativos como OS X, Linux, Solaris, o Microsoft Windows.&lt;br /&gt;Java 2, Enterprise Edition (J2EE) esta diseñado para hacer aplicaciones multiusuarios y de tamaño empresariales. Abarca el J2SE y le agrega APIs para trabajar con operaciones del lado del servidor.&lt;br /&gt;Java 2. Micro Edition (J2ME) es un conjunto de tecnologías y especificaciones diseñadas para desarrollar aplicaciones en dispositivos móviles. J2ME utiliza parte de las características de J2SE pero adaptadas a aparatos como celulares, radios, etc.&lt;br /&gt;Con esta información nos damos cuenta que J2ME es Java y que debes de tener las bases de como funciona su armazón. Esto implica saber el lenguaje de programación Java, entender que es Java Virtual Machine y como utilizar las diferentes APIs con los que cuenta la plataforma Java.&lt;br /&gt;&lt;br /&gt;Por otro lado, &lt;a href="http://msdn.microsoft.com/netframework/programming/netcf/default.aspx" target="_blank"&gt;.NET Compact Framework&lt;/a&gt;.&lt;br /&gt;Proviene directamente de .NET Framework de Microsoft incluyendo las librerías de clase base y otras adicionales utilizadas específicamente para interactuar con dispositivos móviles. El CLR (Common Language Runtime) del Compact Framework es diferente al del .NET Framework. Esta hecho para manipular eficientemente los recursos de los dispositivos móviles ya que estos tienen características muy particulares que requieren de un cuidado especial. Esto puede ser la memoria limitada de un teléfono celular, la interface del usuarios de una PDA o el consumo de batería de un radio.&lt;br /&gt;De entrada, para aprender Compact Framework concluimos lo siguiente: Es necesario conocer como funciona el armazón .NET (.NET Framework), saber que es el CLR y programar en algún lenguaje soportado por .NET como C# o VB.NET, entre otras cosas.&lt;br /&gt;&lt;br /&gt;Ahora bien, ya tenemos suficiente información para escoger una opción y empezar a desarrollar nuestra aplicación. Eso creemos, pero hace falta un último análisis. Debemos ver la compatibilidad de cada opción para los diferentes dispositivos móviles.&lt;br /&gt;A grandes rasgos, las aplicaciones hechas en J2ME corren en casi todos los dispositivos de teléfonos celulares ya que J2ME esta hecho muy pegado a las especificaciones del hardware de los dispositivos y Compact Network solo corre en PocketPC u otros dispositivos que tengan Windows CE o se le pueda instalar el Compact Framework.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;De entrada podemos asumir que si quieres desarrollar una aplicación para un teléfono celular Nokia es muy probable que utilices J2ME y si quieres hacer una aplicación para una PocketPC de Hewlett-Packard debes utilizar Compact Framework.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Para empezar, me he decidido por aprender J2ME y realizar en un teléfono celular mis primeras aplicaciones. En los siguientes posts voy a hablar de J2ME más a fondo y espero pronto hacer mi primer programa.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-113796730466345527?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/113796730466345527/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=113796730466345527' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113796730466345527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113796730466345527'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/01/j2me-o-net-compact-framework.html' title='¿J2ME o .NET Compact Framework?'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21225562.post-113771174435524334</id><published>2006-01-19T15:56:00.000-07:00</published><updated>2006-01-19T16:02:24.576-07:00</updated><title type='text'>Dispositivos Móviles</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Muchos de nosotros nos encontramos enganchados a los teléfonos celulares. Vemos personas caminando por ahí con 2, 3 o hasta 4 teléfonos colgados de su cinturón. Es muy común ver a alguien jugando con su celular en la parada del camión, mientras espera a que empiece su clase en la universidad o al hacer la fila del banco. El teléfono celular es sin lugar a duda el dispositivo móvil mas común hoy en día pero no es el único.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;Existen varios dispositivos móviles como los Beepers, PDAs (Personal Digital Assistant, sirven como organizadores electrónicos), PocketPCs (son más como una computadora de bolsillo), Email portátil blackberry, teléfonos celulares, Reproductores de MP3 y las Laptop por mencionar algunos.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;De entre todos estos, ¿porqué es el teléfono celular el más común y fácil de entender? Para empezar es obvio que el precio de un teléfono celular no se puede comparar con el de una Laptop o PDA. Ahora puedes comprar celulares desechables o de fichas prepagadas a un precio muy bajo. Pero es la simplicidad de uso y la adaptación de complejos conceptos de comunicación a un nivel en el que un usuario promedio pueda entender lo que en realidad hace que el teléfono celular tenga tanto éxito.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Recientemente compre un celular y platicando con Gerardo mi primo estábamos viendo todas las cosas que traía y vimos que soporta conectividad mediante Bluetooth. Casualmente mi sobrino Germán de 11 años también tiene un celular que soporta Bluetooth. Para experimentar le preguntamos a Germán: ¿Oye, tu cel tiene algún protocolo de comunicación que le permita transmitir voz y datos simultáneamente a una frecuencia de radio determinada y que lo haga de una forma segura e inalámbrica? El nos ve perplejo por unos segundos y luego contento responde: ¡No, pero puedo pasar tonos y canciones a la computadora de mi papá y hasta puedo utilizar mi teléfono como control remoto aunque solo funciona con algunas Teles (TVs)! Y se va corriendo muy orgulloso de su celular. Sin saber, Germán nos dijo varios ejemplos de cómo utilizar Bluetooth y demostró que entiende a grandes rasgos varios conceptos de comunicaciones.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;¿No es genial, que cosas como protocolos de comunicación, compatibilidad entre dispositivos, soporte de transferencia de diferentes tipos de datos y otros conceptos que solían usar exclusivamente profesionales de TI, Sistemas o Redes estén hoy en día comprendidos por niños de 11 años aún cuando éstos no lo sepan? Esto se da gracias a la diversificación de aparatos como el celular que a parte de barato es muy fácil de entender y manipular. El teléfono celular no es el único aparato que cuenta con tecnología Bluetooth pero sí es el más fácil de entender.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Un teléfono celular puede realizar muchas tareas diferentes pero es la de correr aplicaciones como alarmas, agendas, buscadores de Internet y claro juegos, la que más me llama la atención. Por esto, he decidido aprender a desarrollar aplicaciones para teléfonos celulares y en los próximos días voy a platicarles cosas útiles de J2ME de Java y Compact Framework de .NET. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;La meta es aprender los conceptos básicos, herramientas para la programación móvil y desarrollar aplicaciones para celulares u otros dispositivos parecidos. Acompáñenme, será divertido y podemos aprender cosas interesantes. Sus comentarios y participación son bienvenidos.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Saludos!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21225562-113771174435524334?l=blogtecnico-arikassin.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogtecnico-arikassin.blogspot.com/feeds/113771174435524334/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=21225562&amp;postID=113771174435524334' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113771174435524334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21225562/posts/default/113771174435524334'/><link rel='alternate' type='text/html' href='http://blogtecnico-arikassin.blogspot.com/2006/01/dispositivos-mviles.html' title='Dispositivos Móviles'/><author><name>Arí Kassín</name><uri>http://www.blogger.com/profile/09188921483353946733</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12162309967302338434'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry></feed>