martes, 30 de octubre de 2012

Seguidores en Facebook, Twitter, Google+ y LinkedIn

En diversas webs y sobretodo blogs habréis visto una sección de

seguidores

(también llamada

followers / fanbox

donde salen se muestran los

seguidores

de tu blog/web y es fácil convertirse en uno de ellos pulsando un simple botón. A continuación os detallo cómo añadir una sección

seguidores

según la red social de la que sean.

  • Seguidores en Facebook



    Este

    plugin

    lo facilita directamente

    facebook

    , es bastante sencillo, simplemente es añadir el siguiente código allá donde quieras añadir la sección:
    <div class="fb-like-box" data-href="http://www.facebook.com/areatic.net" data-width="300" data-height="260" data-show-faces="true" data-border-color="#eeeeee" data-stream="false" data-header="false"></div>
    
    El resultado sería el siguiente:



    En el caso anterior se muestran los

    seguidores de facebook

    de

    areaTIC.net

    ; tan sólo es poner en el atributo "data-href" del tag "div" la URL de la página en

    facebook

    de tu blog/web; el botón "Me gusta" permite que se te añadan fácilmente nuevos

    seguidores

    . En la siguiente URL puedes encontrar más información para personalizar tu

    plugin de seguidores de facebook

    :

    Seguidores de facebook


  • Seguidores en Twitter



    Este

    plugin

    no es facilitado por

    twitter

    sino que son la gente de Mopz quienes lo han desarrollado. Debes añadir el siguiente código allá donde quieras añadir la sección:
    <iframe  frameborder="0" allowtransparency="true" src="http://s.moopz.com/connect.html?user=areaticnet" scrolling="no" style="width: 300px; height: 260px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial;"></iframe>
    
    El resultado sería el siguiente:


    En este caso se muestran los

    seguidores en twitter

    de

    areaTIC.net

    ; tan sólo es poner en el nombre de tu usuario de

    twitter

    (areaticnet en el ejemplo anterior) en el parámetro "user" del atrituto "src" del tag "iframe"; el botón "Follow" permite que se te añadan fácilmente nuevos

    seguidores

    . Importante destacar que este

    plugin

    te muestra únicamente (independientemente de la medida) los últimos 10

    seguidores

    que tengas de

    twitter

    .


  • Seguidores en Google+



    Plugin

    facilitado directamente

    Google

    , tan sólo debes añadir el siguiente código allá donde quieras añadir la sección (insignia según

    Google

    ):
    <div class="g-plus" data-width="300" data-href="https://plus.google.com/108401239273540298179" data-rel="publisher"></div>
    
    El resultado sería el siguiente:


    En el caso anterior se muestra la insignia de

    Google+

    para

    areaTIC.net

    ; tan sólo es poner tu ID de usuario en la ruta del atributo "href" del tag "div" (108401239273540298179 en mi caso); el botón "Soy seguidor" permite que se te añadan fácilmente nuevos

    seguidores

    . En la siguiente URL puedes encontrar más información para personalizar tu

    plugin de seguidores de Google+

    :

    Seguidores de Google+


  • Seguidores en LinkedIn



    En este caso no disponemos de ningún

    plugin

    específico para añadir

    seguidores

    pero tenemos 2 opciones:

    1. Añadir un botón para acceder directamente a tu perfil, el código sería algo del estilo:
      <script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
      <script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/david-berdi%C3%A9-escolano/9/241/3b0" data-format="inline"></script>
      
      El resultado sería el siguiente para mi perfil:



      Para saber cómo crear tu propio botón puedes acceder a esta página de

      LinkedIn

      donde puedes configurar la apariencia del

      plugin

      :

      Perfil en LinkedIn


    2. Seguramente lo que más nos interesaría es poder tener

      seguidores

      de un grupo que tengamos creado en

      LinkedIn

      pero tras buscar por los diferentes foros de desarrolladores de

      LinkedIn

      lo único que he encontrado es mucha gente interesada en este

      plugin

      y la siguiente respuesta por parte de

      LinkedIn

      : "We do not have a groups plugin at this time. The API is available, so you could build one yourself if you would like (or contract a developer to do so)", vamos que si lo quieres utiliza el API para desarrollarlo o contrata a alguien que te lo desarrolle. Así que os dejo el link del foro correspondiente por si hubiera novedades y de la API que se menciona, a ver si alguien se anima (que nos avise!!!), quizás yo lo haga algún día.

      Foro plugin grupos en LinkedIn
      API para grupos en LinkedIn


Os podéis preguntar, ¿por qué en

areaTIC.net

no encontamos estos

plugins

? Buena pregunta, la verdad que facilitan la incorporación de

seguidores

pero aumentan bastante el tiempo de carga de la página; en nuestro caso hemos priorizado una carga rápida a aumentar

seguidores

pero cada cuál que elija lo que más le convenga. Recordad también que dentro de

areaTIC

puedes encontrar otros artículos interesantes, no dudeis en consultar nuestro archivo.


viernes, 26 de octubre de 2012

ASP.global_asax The file 'XXX.aspx' does not exist at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)

Tenemos un site

ASP.NET

hospedado en

IIS

configurado con canalización clásica y si probamos a acceder a http://www.mydomain.com/paginaquenoexiste.aspx nos devuelve el error que más abajo detallamos :

Se podría dar el caso que recibamos el error en horas en las que sabemos que nadie está conectado. En este caso seguramente sea algún robot de google u otra compañia que intenta acceder a un recurso que tiene indexado. A parte de aplicar la solución que se explica en el artículo no estaría de más enviar un sitemap actualizado mediante las herramientas webmasters que nos proporcionan la mayoría de buscadores para que eliminen el rastro de páginas que ya no existen en sus indices de búsqueda.

ASP.global_asax The file 'XXX.aspx' does not exist at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
Origen: ASP.global_asax 
Message: The file 'XXX.aspx' does not exist. 
StackTrace: at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
   at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
   at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
   at System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
   at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
   at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 
Type: System.Web.HttpException 
TargetSite: Void CheckVirtualFileExists(System.Web.VirtualPath) 
Identity: SERVIDOR\IUSR_SERVIDOR

IIS

si está configurado con canalización clásica no comprueba si la página existe sino que delega la petición a aspnet_isapi.dll.

ASP.NET

por defecto fuerza la ejecución de la página y se genera esta excepción.

La solución más rápida y sencilla es configurar el site desde

IIS

para que

aspnet_isapi.dll

compruebe si existe la página y en caso que no exista devuelva un 404 como resultado de la petición. Veamos como hacerlo:

Abrimos la consola de administración de

IIS

, accedemos a las propiedades del site, nos situamos en la pestaña "Directorio Particular" y pulsamos "Configuración".


En la siguiente pantalla seleccionamos la extensión correspondiente, en este caso ".aspx" y pulsamos "Modificar".


Finalmente en el siguiente formulario hemos de marcar la casilla "Comprobar si el archivo existe".


Hasta aquí el post de esta semana, os recordamos que podéis seguir

areaTIC

en las redes sociales o vía RSS!


martes, 23 de octubre de 2012

WCF - Problemas interoperabilidad con el nodo Wsa:Policy en WSDL

Hemos desarrollado un servicio

WCF

publicado en

IIS

que consumirán clientes de cualquier plataforma (principalmente java) y al configurar desde

IIS

que el servicio solo responderá a peticiones https los clientes java dejan de funcionar (asumimos que han modificado la URL http por https).

Sabemos que

WCF

se basa en el protocolo soap y que W3C define las reglas y estas van evolucionando. Actualmente la versión más reciente del estandar

soap

es la 1.2. En un mundo ideal cuando se plantea un proyecto de este tipo a nivel empresarial ambas partes responsables de cada plataforma deberían establecer el estandar por el que se regirán o si más no debería estar estipulado en algún tipo de documento. En el mundo real no siempre es así y se pueden dar situaciones de "imcompatibilidad" entre servicio y cliente. Este tipo de situaciones suele darse porque

WCF

se basa en el estándar soap 1.2 (W3C) pero el uso de herramientas tanto Java como Microsoft que se basan en soap 1.1 siguen estando bastante extendidas en estos momentos y depedendiendo del escenario es complicado determinar quien debería adaptarse a quien si no está especificado en la definición del proyecto. En este caso por lógica el servidor es 1 y los clientes son N por tanto es más eficiente hacer compatible

WCF

con

soap

1.1 que no obligar a nuestros clientes a adaptarse a 1.2.

Nos alejamos del debate de quien sigue o no el estandar y nos centramos en como solucionar el problema que se plantea en el escenario inicial. Algunos clientes se quejan que hay un nodo más en el

wsdl

que su cliente 1.1 no entiende desde que hemos configurado el tráfico seguro en

IIS

, es el nodo

Wsa:Policy

. La versión 1.2 permite a través de este nodo definir en el documento

wsdl

que tipo de seguridad tiene configurada el servicio a nivel de transporte y mensaje por tanto al configurar https en

IIS

se añaden automáticamente los nodos correspondientes al wsdl.

Una solución es eliminar el nodo problemático, para ello es interesante saber que la clase del Framework que se encarga de generar el documento wsdl de nuestro servicio es

WsdlExporter

y que podemos suplantarla para manipular los nodos del documento

wsdl

que publicamos.

Veamos como hacerlo, en primer lugar crearemos una clase AreaTICWsdlExporter:
namespace areaTIC.WCF
{
    public class AreaTICWsdlExporter : WsdlExporter  
    {
        public override void ExportContract(ContractDescription contract)
        {
            base.ExportContract(contract);
        }

        public override void ExportEndpoint(ServiceEndpoint endpoint)
        {
            base.ExportEndpoint(endpoint);
        }

        public override MetadataSet GetGeneratedMetadata()
        {

            MetadataSet md = base.GetGeneratedMetadata();
            
            //adaptamos wsdl al formato que espera que el cliente java eliminando los nodos que están generando conflicto entre plataformas;

            System.Web.Services.Description.ServiceDescription sd = (System.Web.Services.Description.ServiceDescription)md.MetadataSections[0].Metadata;
            sd.Bindings[0].Extensions.RemoveAt(0);

            if (sd.Bindings.Count > 0)
            {
                if (sd.Bindings[0].Extensions.Count > 0)
                {
                    
                    SoapBinding ele = (SoapBinding)sd.Bindings[0].Extensions[0];
                    ele.Style = SoapBindingStyle.Document;

                    ServiceDescriptionCollection a = base.GeneratedWsdlDocuments;
                    a[0].Extensions.RemoveAt(0);
                }
            }

            return md;
        }
    }
}
El siguiente paso será suplantar

WsdlExporter

en el servicio conflictivo para ello necesitaremos tener control de la instancia

ServiceHost

de nuestro servicio. En este artículo explica como controlar la instacia de

ServiceHost

en IIS usando

ServiceHostFactory

. Una vez tengamos configurado ServiceHostFactory tendremos que añadir en el método CreateServiceHost el código para suplantar

WsdlExporter

por el nuestro personalizado.
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
   switch (serviceType.Name)
   {
       case "ServicioConflictivo":
            ServiceMetadataBehavior smb = customServiceHost.Description.Behaviors.Find();
                    smb.MetadataExporter = new DgestWsdlExporter();
       break;
   }
}
Hasta aquí el artículo, si tenéis alguna duda o queréis hacer algún comentario no os cortéis. También podéis seguir

areaTIC

en las redes sociales, esperamos os haya sido útil.


viernes, 19 de octubre de 2012

No se puede realizar la conversión implícita del valor varchar a varchar porque la intercalación...

Al realizar una consulta sobre

SQL Server

podemos encontrarnos con el error

"No se puede realizar la conversión implícita del valor varchar a varchar porque la intercalación del valor no está resuelta a causa de un conflicto de intercalación"

; esto se debe a que estamos operando con columnas con diferente intercalación. Veamos algunos ejemplos de consultas que pueden originar este mensaje, supongamos que las columnas "c1" y "c2" tienen distinta

intercalación

, obtendremos el mensaje

"No se puede realizar la conversión implícita del valor varchar a varchar porque la intercalación..."

anteriormente mencionado en consultas del estilo:
-- Uso de UNION ALL...
SELECT t1.c1 AS c 
FROM t1
UNION ALL
SELECT t2.c2 AS c 
FROM t2

-- Uso de JOINs...
SELECT t1.c1 
FROM t1 
LEFT JOIN t2 on (t1.c1 = t2.c2)

-- Operaciones con columnas, por ejemplo, concatenación...
SELECT t1.c1 + ' ' + t2.c2
FROM t1
LEFT JOIN t2 on (t1.c3 = t2.c3)

-- ...
Bien, ¿y cómo solucionamos el problema? Principalmente encontramos 2 opciones:
  1. Cambiar la

    intercalación

    a 1 de las columnas siempre y cuando sea posible: nuestro usario de

    SQL Server

    tiene los permisos adecuados y el cambio no supone una pérdida de datos (el caso, por ejemplo, de 2 columnas con diferente

    intercalación

    porque guardan información en distintos idiomas). Podemos cambiar la

    intercalación

    de una columna con la consulta:
    -- Cambiar intercalación base una columna
    ALTER TABLE t1
    ALTER COLUMN c1 tipo_columna_c1 COLLATE intercalacion_columna_c2
    GO
    
  2. Especificar la

    intercalación

    en la consulta sin modificarla en las columnas. Volviendo a uno de los ejemplos iniciales, especificando la intercalación tendríamos:
    -- Uso de UNION ALL...
    SELECT t1.c1 COLLATE intercalacion_columna_c2 AS c 
    FROM t1
    UNION ALL
    SELECT t2.c2 AS c
    FROM t2
    
Relacionado con este tema os recomiendo que consultéis la entrada Búsquedas con acentos en SQL Server ya que encontraréis información al respecto. Recordad también que dentro de areaTIC puedes encontrar otros artículos interesantes, no dudes en consultar nuestro archivo.


LECTURAS RELACIONADAS RECOMENDADAS POR AREATIC.NET

martes, 16 de octubre de 2012

Ocultar barra superior en Blogger

Cuando creas un

blog en Blogger

de lo primero en que piensas es en

quitar la barra superior

que aparece, al menos eso pensé yo y es lo que hice en este

blog

.


Os explicaré en dos sencillos pasos cómo

quitar la barra superior en Blogger

.
  1. Entramos en

    Blogger

    , vamos al apartado Plantilla y pulsamos sobre el botón "Edición de HTML".


  2. Buscamos dentro del HTML de la plantilla el código:
    ]]></b:skin>
    
  3. Justo encima del código anterior añadimos el código siguiente para

    quitar la barra superior en Blogger

    :
    #navbar-iframe { height:0px; display:none; visibility:hidden; }
    
    Básicamente, lo que estamos haciendo es poner altura 0 al estilo que se le aplica a la barra. Quedará así el código, tras los cambios guardamos la plantilla.

Listo, si recargas el

blog ya no aparecerá la barra superior de Blogger

. Espero que os sea útil este artículo, dentro de

areaTIC

puedes encontrar otros artículos interesantes, no dudes en consultar nuestro archivo.


viernes, 12 de octubre de 2012

WCF - ServiceHostFactory en IIS - ServiceHost

WCF

permite hospedar los servicios en

IIS

y a su vez nos ofrece la alternativa de autohospedar servicios en aplicaciones de consola, windows forms o incluso hospedarlo en un servicio windows.

En caso que hayamos optado por la opción

IIS

, en este tipo de aplicaciones generalmente no tenemos el control de la clase

ServiceHost

y por tanto si queremos modificar algún comportamiento del endpoint o customizar algún aspecto del servicio nos vemos obligados a hacerlo vía web.config.

En este post veremos como usar

ServiceHostFactory

para tomar el control en runtime de la clase

ServiceHost

cuando

IIS

arranca el servicio, de este modo podremos controlar la instancia de

ServiceHost

en tiempo de ejecución.

En primer lugar crearemos una clase areaTICHostFactory la cual haremos que herede de

ServiceHostFactory

y suplantaremos el método

CreateServiceHost

:
namespace areaTIC
{
   public class areaTICHostFactory : ServiceHostFactory
   {
      protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
      {
         ServiceHost areaTICHost = base.CreateServiceHost(serviceType, baseAddresses);
      }
    }
}

Una vez tenemos el control de la instancia de

ServiceHost

podríamos controlar prácticamente cualquier aspecto de nuestro servicio

WCF

en tiempo de ejecución.

Por último hemos de añadir el siguiente atributo al marcado (markup) del archivo .svc correspondiente al servicio:
<%@ ServiceHost Language="C#" Debug="true" Service="areaTIC.ServicioEjemplo" CodeBehind="ServicioEjemplo.svc.cs" Factory="areaTIC.areaTICHostFactory" %>
Hasta aquí el artículo, más y mejor la semana que viene en

areaTIC

no dudéis en consultar el archivo tal vez haya algún post que os pueda interesar!


martes, 9 de octubre de 2012

Consejos para elegir dominio pensando en SEO

Al crear una página web una de las primeras decisiones que hemos de tomar es la elección del

dominio

correspondiente, dicha decisión adquiere mayor importancia cuando uno de los objetivos es optimizar la web para

SEO

. Es en ese punto donde este artículo os dará ciertos

consejos

para

elegir

adecuadamente un

dominio

y poder aplicar

SEO

sin encontrarnos ya de entrada ciertas dificultades.

Es recomendable que la/s palabra/s clave con las que deseamos posicionarnos formen parte del

dominio

pero antes de

elegirlas

es conveniente analizar la competencia. A continuación se muestran algunas recomendaciones a tener en cuenta.

  • Páginas con la/s palabra/s clave en el título y en la URL.

    Todas las páginas que tengan la/s palabra/s clave en la etiqueta title o en la URL son posibles competidoras; con los comandos de Google "

    allintitle

    :palabra" y "

    allinurl

    :palabra" podemos obtener el número, cuanto menos mejor, menor competencia.

  • Páginas con enlaces externos entrantes con la/s palabra/s clave.

    El número y calidad de los enlaces con anchor que contengan la/s palabra/s clave a posicionar es un factor importante, debemos saber el número de páginas que compiten en este aspecto con nosotros. Con el comando de Google "

    allinanchor:

    palabra" podemos obtener el número, como en el caso anterior cuanto menos mejor, menor competencia.

  • Páginas con la/s palabra/s clave en el

    dominio.



    Tener incluido en el

    dominio

    la/s palabra/s clave es un factor muy importante para

    SEO

    . Por tanto, es importante evaluar para la/s palabra/s clave las webs de la primera página de resultados de búsqueda, serán nuestra competencia directa por los primeros puestos.

  • En los resultados de búsqueda de la palabra clave, ¿aparece Wikipedia en el primer puesto de los resultados?

    Si es así más vale que busquemos otra/s palabra/s clave o que nos resignemos a no conseguir la primera posición en los resultados de búsqueda ya que Wikipedia está fuertemente optimizada para

    SEO

    , tiene un elevado

    pagerank

    y difícilmente la vamos a desbancar de la primera posición.

  • En los resultados de búsqueda de la/s palabra/s clave, ¿cuál es el

    pagerank

    de las primeras páginas?

    Si en la primera página de los resultados de búsqueda para nuestra/s palabra/s clave aparecen páginas con

    pagerank

    mayor que 4 es que estamos trabajando con una/s palabra/s con gran competencia y va a costar posicionarnos por encima de éstas. Si es viable mejor buscar palabra/s alternativas.

  • En los resultados de búsqueda de la/s palabra/s clave, ¿cuál es la antigüedad del

    dominio

    de las primeras páginas?

    Otro factor importante en es la antigüedad del

    dominio

    ; como en los casos anteriores, si en la primera página de resultados hay páginas con mucha más antigüedad que la nuestra tendremos un trabajo importante para conseguir posicionarnos.

    Dominios

    de antigüedad igual o inferior al nuestro implican a priori menor competencia.

  • ¿

    Dominio

    nuevo o

    domino

    de "segunda mano"?

    El concepto

    dominio

    nuevo está claro, buscas un

    dominio

    disponible, lo compras y listo, tiene un bonito

    pagerank

    de 0 y toca trabajar para llevarlo a algún sitio... otra opción es comprar un

    dominio

    caducado que tenga un cierto

    pagerank

    (por supuesto cuanto más mejor) y ese trabajo que te evitas. Pero te preguntarás, ¿y eso cómo lo hago? Bueno, eso será otro artículo, si hay peticiones suficientes me dedicaré a explicarlo.

Con los puntos anteriores y las diferentes posibilidades de palabra/s clave podemos crear un cuadro y escoger aquella/s palabra/s donde sea menor la competencia, nuestro trabajo de aplicar

SEO

será más sencillo; el

dominio

haremos que incluya la/s palabra/s seleccionada/s. Espero que os sea útil este artículo, dentro de

areaTIC

puedes encontrar otros artículos interesantes, consulta nuestro archivo.


LECTURAS RELACIONADAS RECOMENDADAS POR AREATIC.NET

viernes, 5 de octubre de 2012

SQLite y otras técnicas de almacenamiento Javascript, HTML web Storage, Indexed Database API

Tiempo atrás cuando un desarrollador quería almacenar cierta información en cliente en ámbito

HTML

usaba las famosas cookies. Este sistema aún se sigue usando aunque a día de hoy han surgido alternativas como

SQLite

,

WebStorage

o

Indexed Database

que permiten al desarrollador trabajar con información almacenada en cliente de forma más óptima.

Si consultamos

W3C

veremos que trabajan en dos estándar para unificar criterios sobre almacenamiento y también existe una tercera definición que dejaron de mantener en noviembre del 2010: Conceptualmente las dos primeras son muy similares ya que se basan en el uso de colecciones indexadas (clave/valor) que permiten almacenar objetos y establecer una jerarquía sobre dichos objetos. Esta técnica mejora las cookies pero distan mucho de una base de datos relacional.

La tercera especificación (

SQLite

) la abandonaron en Noviembre del 2010 debido a que los fabricantes estaban de acuerdo en el uso de una librería de dominio público desarrollada en C, por tanto el trabajo de

W3C

dejó de tener sentido.

SQLite

es la técnica de almacenamiento

HTML

en cliente más parecida a una base de datos relacional ya que nos permite usar código SQL estándar. De esta forma podemos crear base de datos compatibles que podríamos llegar a importar/exportar entre

SQLite

y otras plataformas del mercado. También soporta conexiones concurrentes y definir niveles de aislamiento (ACID) así que podría usarse en una aplicación servidor (lo descartaría en escenarios donde se manejan grandes volúmenes de información y conexiones concurrentes).

SQLite

nos ofrece las funcionalidades típicas a las que estamos acostumbrados (triggers, transacciones, pk, fk,…) para más información recomiendo visitar su página oficial.

A día de hoy usando

Javascript

podemos trabajar contra una base de datos

SQLite

sin necesidad de instalar ningún plugin ni librerías de terceros, la he usado estos días y funciona perfectamente sobre Windows-Chrome y Android. La contra es que Internet Explorer no soporta SQLite. Microsoft parece que apuesta por SQL Server Compact para entornos de este tipo, aun así hay quien prefiere evitar una instalación cliente y trabajar con la librería SQLite desde código .NET. También hay quien ha desarrollado librerías cliente en java para

SQLite

lo cual es síntoma que su uso está bastante extendido.

Opino que un buen escenario para usar SQLite son las Smart App aunque matizando un poco. Muchas aplicaciones móviles acceden a datos en servidor usando REST/JSON, esto hace que la gestión de datos la haga un Oracle, MySQL, SQLServer o lo que sea que tengamos detrás del servicio al que llamamos. Ok, pero podría darse el caso que queramos que la información esté disponible sin conexión a internet o que directamente cada dispositivo mantenga su propia base de datos local sin necesidad de implementar una parte servidor.

Chrome

y

Mozilla

incorporan

SQLite

, así que dispositivos móviles

Android

y

Iphone

soportan este tipo de almacenamiento por defecto.

A continuación muestro algunas alternativas para administrar las bases de datos fuera del ámbito de aplicación:
  • Chrome

    permite administrar las bases de datos desde linea de comando.
  • Firefox

    permite incorporar modo de plug-in SQLiteManager, que proporciona una interficie para administrar las bases de datos.
  • En la página oficial de SQLite, podemos descargar gestores para entornos windows y mac.
Espero te haya resultado útil la información, puedes seguir

areaTIC

en la redes sociales y/o RSS para recibir avisos sobre artículos que podrían interesante!