viernes, 9 de abril de 2010

Benchmark

El benchmark es una técnica utilizada para medir el rendimiento de un sistema o componente del mismo, frecuentemente en comparación con el que se refiere específicamente a la acción de ejecutar un benchmark. La palabra benchmark es un anglicismo traducible al castellano como comparativa. Si bien también puede encontrarse esta palabra haciendo referencia al significado original en la lengua anglosajona, es en el campo informático donde su uso está más ampliamente extendido. Más formalmente puede entenderse que un benchmark es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto o la totalidad de la misma, y poder comparar los resultados con máquinas similares. En términos de ordenadores, un benchmark podría ser realizado en cualquiera de sus componentes, ya sea CPU, RAM, tarjeta gráfica, etc. También puede ser dirigido específicamente a una función dentro de un componente, por ejemplo, la unidad de coma flotante de la CPU; o incluso a otros programas.
La tarea de ejecutar un benchmark originalmente se reducía a estimar el tiempo de proceso que lleva la ejecución de un programa (medida por lo general en miles o millones de operaciones por segundo). Con el correr del tiempo, la mejora en los compiladores y la gran variedad de arquitecturas y situaciones existentes convirtieron a esta técnica en toda una especialidad. La elección de las condiciones bajo la cual dos sistemas distintos pueden compararse entre sí es especialmente ardua, y la publicación de los resultados suele ser objeto de candentes debates cuando éstos se abren a la comunidad.
También puede realizarse un "benchmark de software", es decir comparar el rendimiento de un software contra otro o de parte del mismo, por ejemplo, comparar distintas consultas a una base de datos para saber cuál es la más rápida o directamente partes de código.
El Benchmark es también un proceso continuo de medir productos, servicios y prácticas contra competidores más duros o aquellas compañías reconocidas como líderes en la industria.

Control de gestión. Balance score card

Balanced Scorecard (BSC) es un concepto que le ayudará a traducir la estrategia en acción. El BSC empieza en la visión y estrategia de la compañía y define los factores críticos de éxito. Los indicadores le ayudarán a medir los objetivos y las áreas críticas de la estrategia. De esta forma, el Balanced Scorecard es un sistema de medida del rendimiento, derivado de la visión y la estrategia, que refleja los aspectos más importantes de su negocio.
El concepto de Balanced Scorecard (BSC) soporta la planificación estratégica ya que alinea las acciones de todos los miembros de la organización con los objetivos y facilita la consecución de la estrategia.
Los sistemas tradicionales de medida, centrados únicamente en elementos financieros, han sido desplazados. Kaplan & Norton introdujeron cuatro diferentes perspectivas para evaluar la actividad de una compañía:
Perspectiva Financiera.
Perspectiva del Cliente.
Perspectiva de Procesos.
Perspectiva de Aprendizaje e Innovación.




martes, 6 de abril de 2010

¿Que es la Ingenieria de Información?

La ingenieria de la informacion se define como :

La aplicación de una serie de tecnicas formales integradas para el planteamiento, análisis, diseño y construcción de sistemas de información para la totalidad de una empresa, o un sector importante de ella.

La ingenieria del software aplica técnicas estructuradas a un proyecto. La ingenieria de la información aplica técnicas estructuradas a la empresa, o un amplio sector de la empresa, como un todo. Las tecnicas de la ingenieria de la información contienen a las de la ingeniería en una forma modificada.

Dado que una empresa es tan compleja, el paneamiento, análisis, diseño y construcción para la totalidad de la empresa, no puede ser logrado sin herramientas automatizadas. La ingeniería de la información (IE) ha sido definida en referencia a técnicas automatizadas.

La ingeniería de la Información a veces ha sido definida como: una serie de disciplinas automatizadas hechas para la totalidad de una organización, para darle la información oportuna a las personas adecuadas, en el tiempo adecuado.

¿Que es Analisis Prospectivos?

La prospección tecnológica o análisis prospectivo, es un conjunto de conceptos y técnicas para la previsión del comportamiento futuro de variables socioeconómicas, políticas, culturales y tecnológicas, como proceso básico de identificación de demandas. Los estudios prospectivos son herramientas importantes para la gestión de la ciencia y la tecnología. Entre muchas aplicaciones posibles, la prospección tecnológica puede indicar oportunidades y amenazas al desarrollo tecnológico, señalando las demandas para las tecnologías. Sin embargo, la pregunta se debe enfocar en términos de funcionamiento de los sistemas sociales y económicos donde la tecnología va a funcionar. Esto implica la necesidad de adoptar una visión holística para apoyar la prospección tecnológica.

¿Cuantos registros soporta una tabla de MySQL?

Infinitos. no depende del servidor, sino del hardware en el cual este instalado el servidor. Ademas, con multiples indices las busquedas se hacen increiblemente rapidas.
Lo importante no es la cantidad, sino la logica de las lecturas

Para que te des una idea MYSQL y la tabla mas grande es la que tiene los mensajes y tiene mas de 900.000 registros y si te fijas en la velocidad del sitio te daras cuenta que ni se entera...

El tiempo de respuesta al cargar esta pagina:
Página generada en 0.83754504 segundos (38.20% PHP - 61.80% MySQL) con 59 consultas.

Con 900000 registros estas cerca de los 100000, que es aceptable, y mas para una aplicacion web

martes, 30 de marzo de 2010

Procesos Batch

Se conoce como procesamiento por lotes, o modo batch, a la ejecución de un programa sin el control o supervisión directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan por que su ejecución no precisa ningún tipo de interacción con el usuario.
Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película.
Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar.

Ejemplos:

AUTOXEC.BAT

El siguiente archivo AUTOEXEC.BAT contiene algunos de los comandos más comúnmente usados:

@ECHO OFF

PATH C:\;C:\DOS;C:\WINDOWS

SET TEMP=C:\TEMP

DOSKEY

WIN

Este archivo AUTOEXEC.BAT hace lo siguiente:

El comando PATH le indica al MS-DOS que busque archivos ejecutables en los directorios C:\ , C:\DOS y C:\WINDOWS. Un punto y coma (;) separa los nombres de los directorios.

El comando SET TEMP=C:\TEMP, crea una variable de entorno llamada TEMP, y la establece como equivalente al directorio C:\TEMP. Varios programas, incluso el MS-DOS usan esta variable para almacenar archivos temporales.

El comando DOSKEY carga el programa "doskey" en la memoria.

El comando WIN inicia el entorno gráfico WINDOWS.

Se puede también utilizar el archivo AUTOEXEC.BAT para asegurar que están disponibles los programas adecuados.

Por ejemplo, supongamos que el programa “BANNER.EXE” es necesario para nuestro trabajo diario en la construcción de afiches y que además debe estar en la unidad A.

El archivo AUTOEXEC.BAT que sigue, esperara hasta que se ingrese el disquete con el programa en la unidad A.

@ECHO OFF

DATE

TIME

SET TEMP=C:\TEMP

:BUCLE

IF EXIST A:\BANNER.EXE GOTO BIEN

ECHO Colocar el Disquete con el programa BANNER

PAUSE

GOTO BUCLE

:BIEN

A:\BANNER


viernes, 26 de marzo de 2010

Business Intelligence & e - Business

Business Intelligence

Es la habilidad para transformar los datos en información, y la información en conocimiento, de forma que se pueda optimizar el proceso de toma de decisiones en los negocios.


Desde un punto de vista más pragmático, y asociándolo directamente con las tecnologías de la información, podemos definir Business Intelligence como el conjunto de metodologías, aplicaciones y tecnologías que permiten reunir, depurar y transformar datos de los sistemas transaccionales e información desestructurada (interna y externa a la compañía) en información estructurada, para su explotación directa (reporting, análisis OLTP / OLAP, alertas...) o para su análisis y conversión en conocimiento, dando así soporte a la toma de decisiones sobre el negocio.

Los principales productos de Business Intelligence que existen hoy en día son:

  • Cuadros de Mando Integrales (CMI)

  • Sistemas de Soporte a la Decisión (DSS)

  • Sistemas de Información Ejecutiva (EIS)

Por otro lado, los principales componentes de orígenes de datos en el Business Intelligence que existen en la actualidad son:

  • Datamart
  • Datawarehouse

e-business

El comercio electrónico, también conocido como e-commerce (electronic commerce en inglés), consiste en la compra y venta de productos o de servicios a través de medios electrónicos, tales como Internet y otras redes informáticas. Originalmente el término se aplicaba a la realización de transacciones mediante medios electrónicos tales como el Intercambio electrónico de datos, sin embargo con el advenimiento de la Internet y la World Wide Web a mediados de los años 90 comenzó a referirse principalmente a la venta de bienes y servicios a través de Internet, usando como forma de pago medios electrónicos, tales como las tarjetas de crédito.

Ventajas para las empresas

  • Mejoras en la distribución: La Web ofrece a ciertos tipos de proveedores (industria del libro, servicios de información, productos digitales) la posibilidad de participar en un mercado interactivo, en el que los costos de distribución o ventas tienden a cero, como por ejemplo en la industria del software, en la que los productos pueden entregarse de inmediato, reduciendo de manera progresiva la necesidad de intermediarios.
  • Comunicaciones comerciales por vía electrónica: Actualmente, la mayoría de las empresas utiliza la Web para informar a los clientes sobre la compañía, aparte de sus productos o servicios, tanto mediante comunicaciones internas como con otras empresas y clientes; esto facilita las relaciones comerciales, así como el soporte al cliente, ya que al estar disponible las 24 horas del día, las empresas pueden fidelizar a sus clientes mediante un diálogo asincrónico que sucede a la conveniencia de ambas partes.
  • Beneficios operacionales: El uso empresarial de la Web reduce errores, tiempo y sobrecostos en el tratamiento de la información. Los proveedores disminuyen sus costos al acceder de manera interactiva a las bases de datos de oportunidades de ofertas, enviar éstas por el mismo medio, y por último, revisar de igual forma las concesiones; además, se facilita la creación de mercados y segmentos nuevos, el incremento en la generación de ventajas en las ventas, la mayor facilidad para entrar en mercados nuevos, especialmente en los geográficamente remotos, y alcanzarlos con mayor rapidez.
  • Facilidad para fidelizar clientes: Mediante la aplicación de protocolos y estrategias de comunicación efectivas que le permitan al usuario final del portal web de la compañía plantear inquietudes, levantar requerimientos o simplemente hacer comentarios con relación a los productos o servicios de la misma, y si y solo si estos comentarios son debidamente procesados se puede crear un elemento importante para lograr la fidelización de los clientes, y en consecuencia aumentar la re-compra de productos y servicios, asi como también la ampliación del rango de cobertura en el mercado.


Ejemplos de aplicaciones para comercio electrónico [

  • OpenXpertya es un ERP libre en español, especialmente adaptado para la legislación y el mercado español e hispanoamericano. Incluye solución de CRM y comercio electrónico a tres niveles, con soporte EDI, B2B y B2C.
  • EDIWIN es un software de comunicaciones EDI multiformato (EDIFACT, XML, ODETTE, etc.) y multiprotocolo (SMTP, VAN, AS2, etc.). Permite la integración con la mayoría de ERP's del mercado y sitios Web. Desarrollado por la empresa EDICOM, está homologado para factura telemática con firma electrónica por la organización privada AECOC. Ediwin es Software privado
  • Interges Online Es un sencillo programa muy eficaz para implementar comercios electrónicos de forma sencilla y rápida.
  • NIC E-commerce de Grupo Netcom es un software de comercio electrónico, enlatado, muy simple, completo y económico, se puede integrar con cualquier software de gestión interno de las empresas automatizando todo el proceso del comercio electrónico, desarrollado por Grupo Netcom .


ERP,CRM,ETL,OLPT,DSS,EIS

ERP
Son sistemas de información gerenciales que integran y manejan muchos de los negocios asociados con operaciones de protección y de los aspectos de distribución de una compañía comprometida en la producción de bienes o servicios.

Los ERP típicamente manejan la producción logistica, distribución, inventarios envíos, facturas y contabilidad de la compañía, pero también pueden intervenir en actividades de negocios como ventas, entregas, pagos, producción, administración de inventarios y recursos humanos.

Ejemplos:

  • Adempiere.- Es código abierto, ofrece las funcionalidades de planificación de Recursos Empresariales, administración de la relación con los clientes(CRM) y la administración de la cadena de suministro(SCM) .
  • AbanQ.- Es un ERP modular disponible para Linux, Mac OS X y Windows 2000/NT. Incluye su propia plataforma de desarrollo rápido para adoptar la plicación.
  • CK-ERP.- Es un ERP que incluye administración de la relación con los clientes (CRM).De código abierto consta de veinte módulos o aplicaciones que incluyen facilidades para la contabilidad de la compañía.
  • Compiere.- es un ERP software libre realizado para el mercado anglosajón por lo que encaja en muchas de las necesidades legislativas hispanoamericanas.
  • Openbravo.-ERP desarrollado como software libre basado íntegramente en WEB.Dispone de soporte para bases de datos PostgreSQL y Oracle. Disponible en español.

CRM
Administración basada en la relación con los clientes CRM, es un modelo de gestión de toda la organización, basada en la orientación al cliente .
CRM se refiere al sistema que administra un Dataware house (Almacén de Datos) con la información de gestión de ventas y de los clientes de la empresa.
Es parte de la estrategia de negocio centrada al cliente.
Ejemplos:

  • Opentaps: Open Source + CRM te brinda características avanzadas y el poder de CRM y ERP, puede usarce como alternativa a soluciones ERP costosas e inflesibles.
  • Tunesta: es gratuito y basado en web y escrito en C# para plataforma .NET, las características avanzadas son: Administración de empresa y contacto, Administración de Actividades, Administración de costos, Listas de correo y correos de marketing.
  • Ohio Edge: Es un software online de CRM, diseñado para empresas centralizadas, multinacionales y coordinación global de las generaciones de venta y actividades de negocio.

ETL (Extraer, trasformar y cargar)
Es un proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos, limpiarlos y cargarlos en otra base de datos para apoyar un proceso de negocio.
Los procesos ETL también se pueden analizar para la integración con sistemas heredados.
Ejemplo:
Algunas de las herramientas utilizadas en ETL son:

  • Ab Initio
  • Barracuda Software (Integrator)
  • MakeWare soluciones Tecnológicas, su Pág. Web es : http://www.makeware.net
  • Benetl
  • Biable, su Pág. Web http://www.visiontecnologica.com
  • BITool-ETL Software http://www.bitool.com/

OTPL(Procesamiento de transacciones en Línea)
Tipo de sistemas que facilitan y administran aplicaciones transaccionales usualmente para entrada de datos y recuperación y procesamiento de transacciones(gestor transaccional).- Los paquetes de software para OPTL se basan en arquitectura cliente- servidor ya que son utilizados por empresas con una red informática distribuida.
Ejemplo:
Adventure Work.- Es una base de datos OTPL. Describe con detalle la base de datos OTPL como Adventure Works.

DSS (Sistema de Soporte a Dediciones)
Se ha utilizado de formas muy diversas y se ha definido de diferentes maneras. Entre las cuales son:

  • Un sistema basado en computador que ayuda en el proceso de toma de dediciones.
  • Un SI, basado en un computador interactivo, flexible y adaptable desarrollado para apoyar la solución de un problema de gestión no estructurado para mejorar la toma de dediciones.

Función

  1. Permite extraer y manipular información de una manera flexible.
  2. Permite al usuario definir interactivamente que información necesita.
  3. Suele incluir herramientas de simulación, modelización.

Ejemplo:
Un ejemplo muy claro podemos encontrar en la compañía MCI. Esta empresa tiene un valor de 19.7 billones de dólares, compro productos desarrollados por MicroStrategy y crea dataSmartMCI.
Este DSS que ofrece visitas interactivas, históricas, de datos tales como trafico en llamadas, tipo de llamadas, circuito de datos. Utilizando dataSmartMCI ellos detectan las verdades causadas detrás de determinados eventos.

EIS (Sistema de Informacion Ejecutiva)
Es una herramienta basada en un DSS, que provee a los gerentes de un acceso sencillo a información interna y externa de su compañía, y que es relevante para sus factores clave de éxito.
La finalidad principal es que el ejecutivo tenga a su disposición un panorama completo del estado de los indicadores de negocio que le afectan al instante manteniendo la posibilidad de analizar con detalle aquellos que no estén cumpliendo con las expectativas para determinar el plan de acción más adecuado.
Ejemplos:

  • Cadena de Supermercado.- Una cadena de supermercados gallegos a recurrido a un EIS para averiguar cual era el perfil de los cliente más rentables e interactuar, hacer lo posible para fidelizarlos. Para esto llevo a cabo diferentes tipos de estrategias, como descuentos eventuales de compras. Pidió datos personales de los clientes. Tras haber acumulado un relevante cantidad de datos, extraen la información requerida mediante un Sistema de Soporte a la dedición.






martes, 16 de marzo de 2010

Persistencia

El término persistencia puede referirse a:

La persistencia visual, una característica del sentido de la vista;

La persistencia acústica, una característica del sentido del oído;

La persistencia de objetos, una característica de los objetos dentro de la programación orientada por objetos;

La persistencia (informática), una característica de los datos en informática.

Persistencia (informática)
Persistencia en informática de modo genérico, se refiere a la propiedad de los datos para que estos sobrevivan de alguna manera.
De forma sencilla puede entenderse que los datos tienen una duración efímera, desde el momento en que estos cambian de valor se considera que no hay persistencia de los mismos. Sin embargo en informática hay varios ámbitos donde se aplica y se entiende la persistencia.


Tipos de persistencia de datos

Se consideran varios tipos de persistencia en informática, según a qué persistencia nos refiramos. Se describen a continuación:

Persistencia en memoria

La persistencia en memoria es la capacidad de un dato u objeto para seguir existiendo tras determinadas operaciones. La operación más común que se presta a la persistencia en memoria es la asignación. Existen 2 ideas respecto de lo que debe suceder con un dato, estructura u objeto una vez asignado desde el original.

En unos casos lo que se desea es que haya 2 referencias a los mismos datos. Es decir un mismo dato tiene 2 punteros desde el que es posible acceder a ellos. Un tipo de dato que utiliza este método se dice que tiene persistencia si cuando se elimina uno de los punteros, los datos siguen aún en memoria, en este caso, el tipo de datos utiliza un contador de referencias, de modo que cada vez que se crea una referencia se aumenta la cuenta en 1 y cuando se elimina una referencia se disminuye el contador en 1. El tipo de datos por tanto sólo es realmente eliminado cuando la cuenta del contador llega a 0, es decir cuando no tiene referencias apuntando a los datos.

Veamos un ejemplo: Se crea un objeto de tipo colección, se le asignan 2 datos, luego se crea otro objeto al que se le asigna la colección previa.

Dim x As Collection
Dim y As Collection
Dim dia As String
 
Set x = New Collection
 
x.Add ("Domingo")
x.Add ("Jueves")
Set y = x
dia = y.Item(1)
MsgBox dia
 
y.Add ("Sábado")
dia = x.Item(3)
MsgBox dia
 
Set X = nothing
 
dia = y.Item(1)
MsgBox dia


Persistencia de aplicación

Es la capacidad para que los datos sobrevivan a la ejecución del programa que los ha creado. Sin esta capacidad, los datos solo existen en memoria RAM, y se pierden cuando la memoria pierde energía, como cuando se apaga el computador.

Este tipo de persistencia requiere que los datos sean almacenados en un medio secundario, no volátil, para su posterior reconstrucción y utilización, por lo que su tiempo de vida es independiente del proceso que los creó. Por lo tanto, deberán permanecer almacenados en memoria que no sea volátil. Es decir, que en caso de interrupción de la energía que alimenta al computador, una copia de estos datos deben permanecer almacenados.

Se puede citar modo ejemplo, un fichero que está almacenado en disco. Es común a muchas aplicaciones guardar a disco una copia de las opciones de configuración de un programa, cada vez que el usuario realiza cambios. Si dichos cambios no se guardaran a disco, la proxima vez que el usuario ejecutare la aplicación, tendría que volver a definir las opciones de preferencia.

Persistencia de objetos

La persistencia de objetos puede ser fácilmente confundida con la persistencia en memoria, incluso con la persistencia de aplicación. La persistencia de objetos consiste en la inicialización de objetos con sus atributos por defecto. Esto es posible con 2 maneras de proceder.

•Sobre un medio (de almacenamiento) fijo se guarda (cuando el objeto fue definido) un conjunto de datos que son recuperados cuando el tipo de objeto en cuestión es creado, dichos datos son transferidos a las propiedades del objeto.

•Otro objeto mantiene los datos que serán transferidos a las propiedades del nuevo objeto creado. En este caso los datos están en memoria.

Hay muchos ejemplos, para este tipo de persistencia, un caso típico son los controles ActiveX. Cuando, el control es compilado junto al código se guarda una copia de los datos que el programador definió por defecto. Cuando se instancia una referencia al control, éste lee del disco (donde está almacenada la librería asociada al control), los datos que definen configuran sus propiedades.

Otro ejemplo, son las primitivas que se utilizan para recrear objetos 3D a partir del cual pueden crearse objetos más complejos. Supongamos que vamos a crear un avión con geometría 3D, inicialmente podemos crear cada primitiva que compone el mismo, desde memoria, el motor de la aplicación puede definir un nuevo objeto con las medidas que el usuario define y posicionado igualmente en las cordenadas que el usuario señala para crear el objeto, sin embargo a medida que el objeto crece y tiene más datos, se hace necesario guardar el objeto a disco. Este objeto puede ahora ser guardado y ser utilizado en las próximas veces como una primitiva, un punto a partir del cual iniciar la creación de otros objetos más complejos basados en éste. Si ahora quiero crear un nuevo modelo de avión posiblemente sea más sencillo modificar la primitiva definida que crear uno totalmente nuevo, por tanto es necesaria la persistencia de la primitiva, para recrear nuevos objetos basados en ella. Las primitivas complejas se acoplan a la primera manera definida y las primitivas sencillas se ajustan a la 2ª manera definida.

Para guardar los datos de objetos a disco, se recurre a un mecanismo conocido como serializar que dispone en una secuencia de bytes todos los datos (o sólo aquellos que se desee) que definen el objeto.