Buscardor

lunes, 30 de diciembre de 2013

Problemilla SDK - Android

Bueno, esta entrada es muy sencilla. Solo iniciando con android me he tropezado con un problema al reinstalar el SDK la excepción es

parseSdkContent failed
java.lang.NullPointerException

La solución aunque sencilla no era obvia, basta con eliminar el directorio de configuración del SDK que se encuentra en

C:\Users\${USER}\.android

Donde ${USER} es el nombre de usuario de tu pc en Windows.

Espero les sirva como me funcionó  a mi.

Fuente:

http://stackoverflow.com/questions/5019051/android-sdk-content-loader-failing-with-nullpointerexception

sábado, 28 de septiembre de 2013

Business Process Management BPM


Definición      
                                                                                                                     
Para comenzar es mejor entender que es un proceso de negocio, este es una serie de actividades que basadas acotadas por políticas, normas, buenas practicas actúan en conjunto para alcanzar un objetivo que genera valor a la empresa, estos procesos son mostrados y diseñados en diagramas de flujos.

BPM significa en español Administración de procesos de negocio, es una disciplina que busca tratar a los procesos de negocio como activos de la empresa, creando, mejorando u optimizando los procesos de negocio dentro de una empresa. Todo esto para poder obtener un gobierno sobre el ambiente de procesos y así mejorar la agilidad y rendimiento de los procesos.

Tecnológicamente al definir un proceso de negocio se debe diagramar tanto los procesos que se realizan manualmente como los procesos que son realizados por aplicaciones dentro de la empresa como envíos de correo, consumo de servicios web, ERPs entro otros.



Alcance

El alcance de BPM es de creación, monitoreo, análisis, mejoramiento y simulación de los procesos de la empresa.

Normalmente al diseñar un proceso BPM se comienza diagramando las actividades de alto nivel, y cada una de ellas se puede ir detallando hasta llegar al nivel de granularidad deseada, no importa si estas actividades son realizadas por personas o máquinas.

En los procesos BPM no solo se puede modela procesos internos si no también interacción con otros sistemas.

ECM


 Definición 


Por sus siglas en ingles Enterprise Content Managment, es una herramienta informática usada para crear, almacenar, distribuir, descubrir, organizar y administrar datos no estructurados (como por ejemplo documentos escaneados, emails, reportes, imágenes y documentos de oficina), esto para que al final se le pueda entregar el contenido importante donde y cuando los empleados lo necesiten.

Un ECM también nos permite cubrir la gestión documental de una forma colaborativa, haciendo la información fácil de compartir y mejorando el trabajo colectivo empresarial.

ECM en si es un conjunto de herramientas, cada una le da al ECM varias capacidades que lo hacen una herramienta completa en cuanto administración del contenido, todo esto para contener el ciclo de vida de un documento administrandolo desde difernetes puntos de vista. En algunos casos también puede son vendidos separadamente sus componentes dependiendo de la necesidad de la empresa .

Caracteristicas


Las características que debe cubrir una buena suite de ECM son:

·         Administración del documento: Esta funcionalidad básica del ECM está encargada de dar el versionamiento de los documentos, algunas características avanzadas de estos administradores son documentos compuestos y replicación de contenido  para dar una alta disponibilidad de los documentos a la empresa.
·         Aplicaciones de procesamiento de imágenes: Este sirve para la captura, transformación  y administración de imágenes como documentos de texto. Para esta característica se deben implementar dos cosas aparte del ECM, la primera contar con hardware (Scanner) y software para que tengan tecnología de captura y reconocimiento de caracteres en imágenes, y lo segundo es habilitar el almacenamiento de documentos escaneados en el repositorio.
·         Implementación de procesos de negocio BPM: Permite crear y/o personalizar procesos de negocio como por ejemplo, enrutando contenido de  documentos, asignando tareas y estado de archivos, agregando los archivos a revisión y aprobación entre otros. Los mejores proveedores de ECM soportan creación gráfica de procesos de negocio y estos tiene compatibilidad con algunos frameworks.
·         Gestión de documentos: Característica que permite mantener a lo largo del tiempo los contenidos asegurando el cumplimiento de políticas, de reglas legales y regulatorias de la industria, el requerimiento mínimo de estos es habilitar el forzamiento de retención de los documentos considerados críticos dentro del ECM.
·         Gestión de contenidos Web:  Esta característica permite manejar la experiencia de interacciones mediante la parte web basándose en un repositorio central, permitiendo la creación de recursos como plantillas, formularios,  flujos de trabajo y gestión del cambio, funciones de distribución de contenido pre empaquetado o creados bajo demanda en los servidores web, algunos de los mejores proveedores en gestión de contenidos web tienen su propio producto en el cuadrante de Web Content Managment en Gartner.
·         Contenido social: Esta característica permite compartir de forma colaborativa los contenidos almacenados, esto para tener una administración del conocimiento dentro de las empresas, también esto permite soportar equipos dentro de las empresas trabajando de forma más eficiente. Este tipo de características dentro del ECM permite crear blogs, wikis y tener un soporte de interacción en línea agregando contenido como videos e imágenes, normalmente este es una categoría dentro del ECM, el nombre de este componente puede ser cambiado por “Documentos colaborativos” o “Contenido social”.
·         Componentes extendidos: Esto puede incluir uno o más de las siguientes características: Digital Asset Management (DAM), composición de documentos, e-forms, análisis de contenidos, almacenamiento de correos electrónicos, administración de   e-mails.


Gartner magical cuadrant ECM, 2012:




domingo, 26 de mayo de 2013

Instalar JDK en Windows

Contexto


Primero que todo es bueno saber que es el JDK, sus siglas significan Java Developmen Kit, es decir que contiene los archivos necesarios para realizar desarrollo de aplicaciones Java.

Instalación


1. Debemos descargar el instalador de JDK de la página de Oracle, del siguiente enlace:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html?ssSourceSiteId=otnes

Debemos aceptar la licencia del aplicativo para proseguir con la descarga del mismo, luego seleccionamos la versión para nuestro sistema operativo y la arquitectura del mismo (32 o 64 bits).


2. Una vez descargado, tendrá un archivo con nombre "jdk-7 u21-windows-x64.exe", obviamente esto depende de para cual sistema operativo lo hayas descargado y que versión.

Recomiendo instalar el jdk como administrador del sistema, para esto hacemos click derecho sobre el archivo y seleccionamos la opción ejecutar como administrador.

Después de esto aparece un cuadro de dialogo preguntando si realmente quiere ejecutar este archivo, damos click en si, y la instalación como tal del jdk en windows es muy fácil solo damos siguiente, en la segunda ventana podremos seleccionar si queremos instalarlo en otro lugar del disco: 



Si no es así haga click en siguiente, espere un momento mientras se instala  y por último nos informa que la instalación a sido exitosa y hacemos click en close  para cerrar la ventana.

3. La mayoría de personas piensan que ahí finaliza la instalación del jdk, pero falta el paso más importante y es hacer el jdk accesible por todo el sistema para esto debe crear una variable de entorno que apunte al ejecutable del java.

Vaya a inicio -> Equipo haga click derecho y seleccione propiedades:



Se abrirá una ventana con las propiedades del sistema, en la parte derecha haga click en el enlace llamado configuración avanzada del sistema.


Se abrirá una ventana con varias pestañas, en una de ellas "Opciones avanzadas" se encuentra el botón de variables de entorno, al hacer click ahí se mostrará una ventana en la que podemos crear nuevas variables., modificarlas. eliminarlas y ver el listado de las mismas:


Una vez ahí, hag click en nueva nos pedirá un nombre el cual pondremos JAVA_HOME y el valor de la variable que será la ruta donde se encuentra el jdk.


Una vez hecho esto pasamos a agregar la variable JAVA_HOME a la variable path, esta variable es la encargada de dar las rutas de los archivos ejecutables del sistema, para agregarla agregué lo siguiente al final de la variable path %JAVA_HOME%\bin



 4. Por último debe probar que la instalación fue correcta para esto vamos a una consola de comando de Windows y escribimos el comando java -version, esto debe retornar la version del jdk que se tiene instalado en el sistema operativo.



Si obtiene el mismo resultado es por que la instalación fue exitosa, si no fue así recomiendo revisar los pasos anteriores.




domingo, 19 de mayo de 2013

Guia configuración encoding Linux

Contexto:


Primero que todo debemos saber que es el encoding. Este es el proceso mediante el cual el sistema operativo transforma la información ingresada en bits a un lenguaje humano para ser manipulada, existen varios tipos de encoding en los S.O.

Uno de los más comunes es el UTF-8 que está por defecto en la mayoría de S.O. con lenguaje Ingles US, que a pesar de ser muy bueno no reconoce los símbolos latinos como la  "ñ" o los caracteres acentuados y otros como los caracteres chinos, entre otros, para nuestro caso nosi estas leyendo esta entrada es por que no te sirve mucho y lo quieres cambiar por un estándar latino como ISO-8859-1 el cual nos permitirá codificar los caracteres mencionados anteriormente.

Pasos a seguir:  


1. Debe entrar al sistema operativo como un usuario con privilegios de rootes decir que este en el grupo de sudoers en Linux.

2. Estando en la terminal, con nuestro usuario ejecutamos el comando.

sudo dpkg-reconfigure locales

Primero nos pedirá el password de nuestro usuario y luego esto nos abrirá un modo un poco mas interactivo para realizar la configuración algo así:



3. Una ves ahí utilizamos las flechas de desplazamiento para buscar nuestra localidad y el enconding que deseemos, y lo seleccionamos con la barra espaciadora, nos movemos con tabulaciones hasta la opción de Ok ó Aceptar y presionamos enter.




En mi caso el texto que se ve esta en español ya que yo ya lo tengo configurado así.


4. Pasaremos a otra pantalla muy parecida en la cual nos pediría que seleccionemos el idioma escogido por defecto para el sistema, seleccionamos la que escogimos anteriormente y aceptamos.




7. Luego volveremos a la consola y nos mostrará que el sistema esta configurando la nueva localidad.




8. Si deseamos verificar  lo realizado anteriormente ejecutamos en la consola el comando locale y nos mostrara que todo esta configurado de esta forma:



9. Si todo salio bien hasta aquí ya hemos cambiado nuestro idioma al de es_CO español Colombia y el encoding al latido ISO-8859-1, si no es así recomiendo verificar los pasos.









domingo, 12 de mayo de 2013

Guía de configuración y monitoreo para esquemas de replica SQL Server


1. Pasos a paso para configurar un ambiente de replica:


  1. Sql Server toma la replica de datos con base a la metáfora de una revista, donde el publicador es aquel que expone los artículos, existe un distribuidor el cual se encarga de entregar estas replicas y los suscriptores se encargan de recibir los artículos y usarlos.
  2. Diseño de roles para el esquema de 2 maquinas.




  1. En la instalación se debe definir como característica, el SQL Server Replication, que es la parte de SQL Server que nos permite realizar las configuraciones respectivas a la replica de datos.



  1.  Las instancias involucradas en el proceso deben tener habilitado el acceso remoto, es decir la comunicación TCP/IP.
Para configurar esto, busque el SQL Server Configuration Manager y en la instancia deseada habilité TCP/IP, luego reinicie el servicio para que tome los cambios.



Para una guía detallada de como hacerlo puede acceder a http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/

  1. Crear el distribuidor en la instancia de la base de datos de reserva.

   Abra el SQL Server Management Studio
   Clic derecho en el nodo “Replication”, y elija cofigure Distribution, clic en siguiente.
   Seleccione la primera opción para que esta instancia actué como distribuidor, clic en siguiente.
   Escoja el directorio donde se almacenaran los snapshot, si quiere déjelo por defecto.
   Escoja el nombre y la ubicación de la base de datos distribuida, si quiere déjelo por defecto y haga clic en siguiente.





  1. Crear el publicador en la base de datos de producción, asegurece que este apunte a el distribuidor creado anteriormente, el tipo de replicación de datos utilizado será transaccional, este crea un snapshot de los datos y los enviá a los suscriptores solo una vez, y luego actualiza al realizar inset, update, delete. Este esquema es el más indicado ya que mantiene una disponibilidad de datos mucho más alta que las demás opciones y no implica tener conflictos de datos por el tipo de replicación que se desea.

   Haga clic derecho sobre el nodo “Replication” luego elija new y por ultimo Publicator.
   Elija la base de datos la cual quiere replicar, clic en next.
   Elija el tipo de publicación como se dijo anteriormente usaremos Transaccional, clic en next.
   Luego elegiremos los articulos que no son más que los objetos de la base de datos que queremos que se repliquen, clic en siguiente.
   Luego se pasa a seleccionar los filtros, estos se usan cuando queremos que solo se repliquen unas columnas determinadas o ciertas filas, para este caso como se desea replicar toda la base de datos no crearemos ningún filtro, clic en siguiente.
   Aparecerá la opción del snapshot, seleccione el checkbox “Create a snapshot imediately and  keep the snapshot available to initialize subscriptions”, clic en siguiente.
   Se debe especificar la seguridad de los agentes haga click en “Security Settings”  y elija  “Run under the SQL Server Agent service account”, clic en ok y luego clic en siguiente.
   Para finalizar seleccione “Create the publication”, clic en siguiente.
   Le damos un nombre a la publicación y finalizamos.


  1. Crear la base de datos donde se replicaran los datos.
  2. Crear el suscriptor en la base de datos de creada anteriormente (reserva).

·         Haga click derecho en el nodo “Replication” y seleccione new, subscriptions.
·        




·         Seleccione la base de datos que es publicadora, si esta en otra instancia seleccione, “Find SQL Server publisher”, y conéctese con la instancia que desea, clic en next.
·         Sleccione la opción de que los agentes corran en el publicador, clic en siguiente.
·         Luego seleccione el suscriptor y la base de datos en la que se replicará la información.
·         Luego en la seguridad haga clic en los puntos suspensivos, y seleccione “Run under the SQL Server Agent service account”, clic en ok, y luego clic en siguiente.
·         En le Agent Schedule, deje la opción “Run continuosly”, clic en siguiente.
·         En la siguiente pantalla, en la opción Initialize When, seleccione Immediately, clic en siguiente.
·         Por ultimo seleccione “Create the subscriptor”, y haga clic en finish.


2.   Monitoreo del esquema de replica


  • Verificar con el replication monitor el estado de los agentes, haga click derecho sobre el nodo replication y seleccione “Launch Replication Monitor”




  • Podemos ver un historial de eventos si hacemos doble clic sobre cualquier de los agentes, este es muy útil para realizar algún tipo de verificación o auditoria.



3.   Consejos

3.1         Configurar memoria inicial

La documentación de Microsoft nos sugiere configurar una memoria inicial para SQL Server en los escenarios de replicación de datos, esto para que si llegaran muchas peticiones de tope este pueda responder un poco más rápido, para configurar la memoria inicial de una instancia debe:
  • Abrir el Microsoft SQL Server Managment.
  • Hacer clic derecho sobre la instancia que desea que tenga memoria inicial, y seleccionar propiedad.
  • Se abrirá una ventana con opciones, a la izquierda encontrará “Memory”
  • En el recuadro de “Minimun server memory”, pondremos un número el cual representara la cantidad de memoria asignada a la instancia de SQL Server en Mega Bytes, clic en Ok.

3.2        Archivos  Snapshot

Al realizar un snapshot de la base de datos, como el que se genera al principio en un tipo de replicación transaccional, se crean unos archivos en el directorio provisto para este almacenamiento.

Estos archivos tiene diferentes extensiones como .BCP (datos), .SCH (esquema), .IDX (Índices), .PRE (Scripts de limpieza).

Los archivos .BCP, no son necesariamente para el snapshot. Con estos también podemos hacer restauraciones de tablas especificas, con el comando :

bpc tabla in fichero.bcp -d database -S instancia -T



miércoles, 20 de febrero de 2013

Restaurar una base de datos de gran peso en mysql

En LINUX

Aveces restaurar una BD mysql parece una tarea trivial, pero cuando es una BD de mucho tamaño nos vemos con muchos errores como que el motor se cae, arrojando errores como:

ERROR 2006 (HY000) at line 68: MySQL server has gone away

O simplemente el proceso se detiene por un time out.

Para solucionar esto debe seguir estos pasos : 
  •  vaya al archivo my.cnf, podemos editarlo utilizando el comando vi, que es un editor de texto:
                        vi /etc/mysql/my.cnf
  • Una vez abierto el archivo con en el editor vaya a editar la linea que dice
                     max_allowed_packet = 16M
  • Esta variable controla el máximo tamaño del buffer de comunicación, es decir número de megaBytes que pasaran en una comunicación con mysql.

  • Mueva las flechas para posicionarse sobre el numero 16 y oprima la tecla "x" para borrar el valor luego la tecla "i", para insertar texto a la izquierda del cursor luego cuando ya ingrese el tamaño deseado presione la tecla Esc ; luego ":w" para guardar y por ultimo ":q" para salir.
  • Luego de esto ya podrá realizar restauraciones y back-ups de bases de datos mysql en menos tiempo, evitando los errores antes mencionados.



En WINDOWS

Para realizar este mismo procedimiento en Windows debemos editar el mismo archivo.
  • Para esto vaya la ruta de instalación de mysql por ejemplo:
                     C:\Archivos de programa\MySQL\MySQL Server 5.1
  • Busque el archivo " my-huge.ini ", este archivo contiene la variable 
                     max_allowed_packet = 1M, 
  • Con su editor de texto preferido cambie este tamaño pro uno que sirva para el proceso.
  • Luego reinicie mysql dependiendo de la instancia el comando puede variar:
                        net stop MySQL;
                        net start MySQL;

Una vez reiniciados los servicios podrá restaurar sus bases de datos sin problema.