miércoles, 24 de febrero de 2010

Sistema de Seguridad para Desarrolladores Web

Las aplicaciones Web estan mas expuestas a ataques. Se pueden tener tres niveles de ataque:
1. A la computadora del usuario.
2. Al servidor.
3. A la informacion en transito.

La seguridad Web tiene tres etapas primarias:
I. Seguridad de la computadora del usuario.
II. Seguridad del servidor Web y de los datos almacenados ahi.
III. Seguridad de la informacion que viaja entre el servidor Web y el usuario.



SEGURIDAD DE LA COMPUTADORA DEL USUARIO.
Los usuarios deben de utilizar sus navegadores y plataformas seguras, libres de virus y vulnerabilidades. Tambien debe garantizarse la privacidad de los datos del usuario.

SEGURIDAD DEL SERVIDOR WEB Y DE LOS DATOS ALMACENADOS AHI.
Se debe garantizar la operacion continua del servidor, que los datos no sean modificados sin autorizacion (integridad) y que la informacion solo sea distribuida a las personas autorizadas (control de acceso).

SEGURIDAD DE LA INFORMAION QUE VIAJA ENTRE EL SERVIDOR WEB Y EL USUARIO.
Garantizar que la informacion en transito no sea leida (confidencialidad), modificarla o destruida por terceros, tambien es importante asegurar que el enlace entre el cliente y servidor no pueda interrunpir facilmente (Disponibilidad).





RECOMENDACIONES DE SEGURIDAD.

ASEGURAR EL SERVIDOR.
Se deben considerar los siguientes puntos:
- Asegurar el servidor en una forma fundamental el sistema operativo, ya sea por medio de partes o actualizaciones.
- Garantizar la seguridad propia del servidor (IIS, Apache, etc.).
- Auditar las aplicaciones que interactuan en las 2 capas anteriores (modulos, bibliotecas).

ASEGURAR LA INFORMACION EN TRANSITO.
Esto se puede lograr mediante diversos medios:
- Asegurando la red fisicamente (switches en lugar de hubs).
- Esconder la informacion (esteganografía).
- Cifrar la informacion (criptografia) por medio de algoritmos diversos (SSL, VPN's).

ASEGURAR EL EQUIPO DEL USUARIO.
Vulnerar el equipo del usuario quiza no tenga el impacto de vulnerar el servidor, sin embargo es un problema mas dificil de erradicar (1 servidor, 5000 clientes).
- Aplicar actualizaciones (parches) al sistema operativo.
- Uso de antivirus, firewalls personales.
- Educacion de los usuarios.

martes, 16 de febrero de 2010

XML

XML significa por sus siglas en ingles eXtensible Markup Language o lenguaje de anotación extensible. XML no es sólo un lenguaje, es una forma de especificar lenguajes, de ahí lo de extensible. Todo lenguaje que se exprese de una forma determinada puede ser XML. Por lo tanto, XML no es un lenguaje para hacer mejores páginas web, sino un lenguaje para información auto-descrita, o al menos, auto-descrita si las etiquetas están bien puestas.

Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las demandas mas frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar információn.


WORKING GROUPS.
La mayoria de los grupos de trabajo tienen 2 páginas, una pública y otra mas privada el cual es solo accesada por miembros WZC (consorcio de la WWW). La pagina privada tiene numero telefonicos, agenda de citas y llamadas de conferencia, enlaces a un editor de borrador interno, y otra informacion administrativa.
1. Grupo de Coordinacion XML.
2. Grupo de trabajo núcleo XML.
3. Grupo de trabajo XML.
4. El intercambio eficiente de grupos de trabajo XML.
5. Grupo de trabajo de caracterizacion binario XML.
6. Grupo de trabajo modelo de procesamiento XML.
7. Grupo de trabajo enlace XML.
8. Grupo de trabajo de consultas XML.
9. Grupo de trabajo esquema XML.
10. Grupo de trabajo servicio de modelado de lenguaje.


TECNOLOGIAS XML DISPONOBLES.

XSL.
Lenguaje extensible de hojas de stilo, cuyo objetivo principal es mostrar como deberia estar estructurado el contenido, como deberia estar diseñado el contenido, el origen, y como deberia estar paginado en un medio de presentación como lo podria ser en un navegador Web.

XPATH.
Lenguaje de rutas XML, es un lenguaje para acceder a partes de un documento.

XLINK.
Lenguaje de enlace XML, es un lenguaje que permite insertar tecnologias disponibles en las cuales se pueden destacar:
  • XPOINTER. Lenguaje de direccionamiento XML, es un lenguaje que permite el acceso a la estructura interna de un documento XML, esto es, a sus elementos, atributos y contenido.
  • XQL. Lenguaje de consulta XML, es un lenguaje que facilita la extracción de datos desde documentos XML. Ofrece la posibilidad de realizar consultas flexibles para extraer datos de documentos XML en la Web.

Pasos basicos de XML:

https://docs.google.com/fileview?id=0B0yuwnuthY9DZWVhYjk1NTAtMjQwNi00MzU5LTk2M2MtNWNkZWI3MmY4MWIw&hl=en



CARACTERISTICAS DEL XML.

o Texto que cumple ciertas reglas.
o Las reglas tienen puntos en común con HTML.
o Abierto a sistemas operativos.
o XML es un sub-conjunto de SGML (Standart Generalized Mark-up Language).
o Es mas fácil que el SGML.
o Mas pequeño.
o Pensado para ser utilizado en Internet.
o XML es un lenguaje utilizado para estructurar y describir datos de forma que puedan ser entendidos o interpretados por diferentes aplicaciones.
o Pueden ser utilizados cualquier lenguaje y/o sistema operativo.
o XML es un meta-lenguaje que nos permite difenir lenguajes de marcado, adecuados a unos determinados.
o XML es un estándar de Internet, aprobado por la W3C.
o Los proveedores tratan de ajustarse a las especificaciones.
o Microsoft (MSXML.DLL) e IBM ofrecen un conjunto de objetos para manejar XML.

¿Dónde está la revolución?
Para entender la revolución que plantea XML, hay que entender las tecnologías circundantes.
o XSL
o XSLT
o DTD
o Schema
o XPATH
o Etc.


Ventajas del XML.
* Facil de procesar/entender por el software o por las personas.
* Pensado para ser utilizado en cualquier lenguaje o alfabeto.
* Separa radicalmente la informacion o contenido de su presentacion.

Un documento en XML, puede tener varias formas de presentacion:
HTML
WML
RTF
PDF
VRML


* Formato ideal para transaciones B2B (Bussines to Bussines).
* Permite poderosas tecnicas de extraccion y busqueda de informacion (XSL y XPATH).
* Las estrictas reglas para la composicion de un documento XML, permite su facil analisis sintatico.
* A diferencia de HTML, XML es sensitivo a mayusculas y minusculas.


Algunas definiciones.
XML --> eXtended Mark-up Language
DTD --> Document Type Definition
XSLT --> eXtended Style Sheet Language
Parser --> Analizador sintatico
DOM --> Document Object Model
XMTML --> eXtended HTML



Algunas Tecnologias XML.

Especificacion actual.
XML 1.0

Definicion de documentos.
DTD o Schemas

Definicion de estilos.
XSL= XSLT + XPATH

Enlazado de documentos.
XLL= XLINK + XPOINTER



Reglas y pautas del XML.

Se dice que un documento XML es "bien formado" (Web formed), cuando cumple una serie de reglas escritas en XML v1.0
* Los elementos deben seguir una estructura de árbol (estrictamente jerarquica).
* Los elementos deben estar correctamente anidados.
* Los elementos no se pueden superponer entre ellos.

viernes, 12 de febrero de 2010

Unidad 2. Bases de Datos y Tecnologias Web.



HERRAMIENTAS Y TECNOLOGIAS DE DESARROLLO DE LA WEB.

Para el desarrollo web se hará la implementación de los recursos de la arquitectura web, ya que este es una de las herramientas fundamentales para el desarrollo web.

La arquitectura cliente – servidor consiste básicamente en que el cliente (digamos que en este caso es una computadora personal de un usuario) le pide alguna petición al servidor mediante un navegador (el cliente pide una página Web), y el servidor le dará respuesta (mostrándole en la pantalla del usuario la página web).


Como tecnologías cliente se pueden mencionar los navegadores web, ejemplo: Internet Explorer, Opera, Mozilla, NetScape, etc.

Como tecnologías Servidor tenemos como ejemplo el Internet Information Server (IIS), Apache, motores Java y PHP, etc.


Como herramientas de la tecnología Cliente en lenguaje de programación podemos mencionar: HTML, Java Scritp, componentes Active X en Visual C++, Visual Basic o plataforma .NET

Como herramientas para la tecnología Servidor encontramos los lenguajes de programación como: PHP, ASP, JSP, Servlets, CGI’s, entre otros. En algunos casos, existen algunos lenguajes que funcionan como Cliente y Servidor a la vez, como lo es en el caso de PHP.






INTERCAMBIO ELECTRONICO DE DATOS.

EDI (por sus siglas en ingles, Electronic Data Interchange), su utiliza para el intercambio de datos de computadora a computadora entre socios comerciales, con el objetivo de minimizar el tiempo al eliminar los tradicionales métodos de preparación y envío.


Estándares EDI.
EDIFACT.

SEDAS

VDA

ODETTE

TRADACOM

ANSI X12


Definición personal de e-COMMERCE & e-BUSSINNES.

e-Commerce.
El comercio electrónico se refiere a que alguna organización aprovecha las nuevas tecnologías como el Internet, para ampliar su campo mercantil hacia nuevos socios y usuarios.

e-Bussinnes.
El negocio electrónico se define a algún comercio on-line, es decir una tienda en línea, donde existen negocios en el Internet basada en redes públicas.

Diferencia.
El e-Commerce lo aplica una empresa que ya existe con métodos ya establecidos solamente aprovechando el Internet, y el e-Bussinnes en una tienda virtual, donde no existe físicamente pero existe en la red, pero al igual que cualquier empresa ofrece los servicios de envio, servico al cliente, etc.







e-Bussinnes


e-Bussinnes es una forma de conducir negocios que utilizan la Internet y que involucra todos los aspectos de la empresa. Una empresa puede caracterizarse como e-Bussinnes solo cuando apunta a las oportunidades de hacer negocios a través de los nuevos canales electrónicos que giran a través del Internet.


En detalle.
Un negocio e-Bussinnes toco 4 aspectos básicos o principales del negocio:

1. El modelo de negocio.
Se refiere a que algún negocio amplié sus ofrecimientos a los clientes por medio del Internet, por ejemplo si una empresa está establecida en ‘x’ lugar, podría ofrecer una página en Internet para darse a conocer en el estado, país e incluso global.

2. El comercio.
Combinación de un negocio con tecnologías. Sistemas y medios. Por ejemplo, existen empresas comerciales como lo son WalMart que ofrece una tienda virtual, donde trata de mejorar su aspecto de ventas y un mejor servicio hacia los clientes, donde incluso se les envían sus productos hasta su hogar.

3. Las relaciones internas y externas.
Para tener un buen e.Bussines hay que tener relaciones que beneficien tanta a la empresa tanto como a los clientes. Por ejemplo, si dicha empresa no tiene los medios para enviar dicho pedido, la empresa se asociara con una paquetería por ejemplo, para enviar el pedido del cliente.

4. La capacidad de responder.
Se refiere a la capacidad de respondes a las peticiones del cliente. Por ejemplo, procurar que el tiempo de envio del producto sea menor o igual al tiempo de envio, mas no mayor al tiempo que le tomaria al cliente ir personalmente al establecimiento.

"En la nueva economía, la empresa que exitosamente implementa una estructura de e-Bussinnes utilizando tantos factores como sean necesarios, según el negocio; tendrá una ventaja en el mercado frente a la competencia."









e-Learning

Es un sistema que utiliza los recursos del Internet para permitir la formación educativa no presencial, es decir, que este nuevo modelo de aprendizaje se adapta al tiempo y necesidad del estudiante, el cuál el estudiante podrá estudiar a su propio ritmo de aprendizaje.

Sinónimos.

*Educación a Distancia.

*Educación Telemática.

*Aprendizaje Electrónico.

*Web based training (Aprendizaje basado en la Web).

PLATAFORMA e-Learning

Es una página Web compuesta por diferentes lenguajes de programacion y aplicaciones, los cuales permiten gestionar el proceso formativo de sus usuarios a través de modelos educativos a distancia.

LMS(Learning Management System - Sistema de Destión de Aprendizaje)

El LMS es un sistema que está enfocado precisamente al área educativa, permite llevar un control tanto sobre los contenidos como de los distintos usuarios que interactúan dentro de el. Los contenidos cargados son creados de manera externa con alguna herramienta de autoría como Frontpage, Golive o Dreamweaver.
Cuenta con la mayoría de las herramientas de comunicación y seguimiento de actividades de los usuarios.

jueves, 11 de febrero de 2010

Cubos & Hipercubos.


Los cubos de Información o Cubos OLAP.
Los cubos OLAP pueden ser comparados con los cubos de rubik donde en estos el juego es tratar de poner los colores de un solo lado y cuenta con tres dimensiones, y en los BDMD se trata de organizar los datos por tablas o relaciones y este no tiene un número definido de dimensiones, también pueden ser llamados como Hipercubos.
Características.
El cubo OLAP contiene datos de una determinada variable que se desea consultar proporcionando una vista lógica de los datos.


Operaciones en los cubos de datos.

Dice.
Se realiza una reducción de los datos mediante las consultas.
Pivotaje o Rotación.
Se realiza un cambio de la visión dimensional de los datos.



Dimensiones.
Las dimensiones de un cubo son los atributos de los datos, son las vistas de las dimensiones, es decir, las variables de las tablas que forman el cubo.

Las dimensiones de un cubo se utilizan para indexar, ordenar, agrupar o abreviar los valores de las variables.



Variables.
También llamadas ‘Indicadores de Gestión’, son los datos que están siendo analizados, los cuales forman parte de una tabla.

Normalmente las variables son representadas por valores detallados para cada instancia del objeto o evento medido.



Corte y Corte del Cubo.
Las operaciones de corte y corte consiste básicamente para analizar subconjuntos de cubos, el resultado de estas operaciones llevan el nombre de subcubos o cuboides. La operación Corte, como la palabra lo dice, realiza un corte del cubo.

Por ejemplo, si una dimensión de tiempo de un cubo únicamente tomamos es mes de Marzo y dejamos ver el resto de las dimensiones, entonces con la operación de corte y corte la rebanada corresponderá al mes de marzo nada más.


P
ero si además de ese corte, queremos otro corte de la dimensión Proveedor, seleccionando algún proveedor ‘X’ de un cubo de compras, entonces estaríamos visualizando un “subcubo” como resultado de la operación corte y corte.



Filtrar y Pivotear.
La operación Filtrar consiste en hacer una consulta de los datos de un cubo utilizando una constante, mientras que Pivotear permite visualizar el cubo desde distintos ángulos.


Ejemplos.

Un gerente de una zona estría interesado en visualizar la información para todos los productos que distribuye, lo podría tener en una representación gráfica como:

Un director de producto, sin embargo quería examinar la distribución geográfica de sus productos para toda la información histórica almacenada en el Dataware House.

O se podría también examinar los datos en un determinado momento o una visión particularizada.

jueves, 4 de febrero de 2010

Cubos OLAP

¿Qué son los Cubos OLAP?

Un cubo OLAP (por sus siglas en ingles OnLine Analytical Processing o Procesamiento Analítico En Línea), es una base de Datos Multidimensional, en la cuál el almacenamiento físico de los datos se realiza en un vector multidimensional, es decir, podemos ver la base de datos como una sola tabla, su característica principal es que, por cada dimensión tiene un campo (o columna), y otro campo por cada métrica, es decir que las tablas almacenan registros de tal forma en que se ajusten de modo que los usuarios puedan analizarlos por categorías, jerarquías e incluso por valores de resumen previamente calculados. Los cubos OLAP se pueden considerar como una ampliación de las dos dimensiones de una tabla.



¿En que consiste?
El objetivo de los cubos OLAP es agrupar los datos, en vez de una gran cantidad de registros individuales, con el propósito de facilitar su posterior análisis, de forma que sean útiles para acceder y analizar información, de esta forma no se tendrían que manejar grandes recursos del sistema.

Cuando se crea un cubo OLAP a partir de los datos de una base de datos relacional, se llevan a cabo los pasos iniciales de la creación de informes que necesiten los usuarios.


¿Cómo funciona?
Una consulta OLAP permite elegir una serie de datos, aplicar una organización jerárquica a los campos y definir los valores de resumen que se deseen ver, es decir, realizar consultas para obtener aquellos datos específicos de la base de datos.

Ventajas de los Cubos OLAP.
Las ventajas de un sistema OLAP a través de “CUBOS” permitirá realizar un análisis multidimensional de un modo más fácil, eficiente y a un menor costo para alguna empresa.

· Mayor performance en el procesamiento de Query (Consultas).
· Poco tiempo de cálculo realizado en el momento.
· Poder escribir sobre la base de datos.
· Posibilita hacer cálculos más complicados.
· Es de fácil uso y acceso flexible para los usuarios.
· Los datos están organozados en diferentes dimensiones los que permite un mejor análisis.
· Ahorro generado por productividad de personas altamente profesionales.
· Permite encontrar la historia en los datos.

Documento Completo.

http://docs.google.com/fileview?id=0B0yuwnuthY9DNjg2NzA5ODItY2YxNy00ZDA3LTg3NjItMzhlNmFiNjllZTk1&hl=en