Archivo por meses: enero 2007

SSRS: Filtros dinamicos segun permisos

En Reporting Services (SSRS) se tiene la capacidad de agregar filtros a los reportes con relativa sencillez.

Ahora, si se tienen tres filtros los cuales estan relacionados entre sí y se quiere que al cambiar uno, el contenido de los otros cambien se debe hacer un pequeño e ingenioso truco.

En este articulo aparece cómo hacerlo.

SOA: Natural evolution of integration solutions

Esta es mi propuesta de conferencia para para TECHED 2007.
 

The ever changing world of business today poses some difficult challenges on IT departments. As a result of shifting strategies and process automation, organizations are forced to integrate different heterogenous technologies with seamless efficiency. Traditionally the approach has emphasized point to point integration, that is, the practice of two systems communicating directly to each other using a proprietary interface. Yet this method has some serious shortcomings, such as a lack of standardization and excessive complexity, and high modification costs.

Service Oriented Architecture stands as an alternative and more robust solution, by providing managed integration and a better infrastructure, resulting in increased reliability, reduced change impact and lower integration cost. We develop this idea highlighting its advantages and present some of the core technologies that aid organizations in implementing this approach. Furthermore, we postulate that an evolution between point to point and SOA integration strategies is a natural maturing process that organizations undergo as they become more complex and are forced to adopt more sophisticated solutions, and we attempt to describe this evolution.

Yet it is not enough that IT departments understand and acquire a new technology or a new paradigm; they must come up with a plan to set their improvements in motion. We analyze the recommended strategy to do this, which includes diagnosing the current organization’s situation, establishing guidelines and standards, identifying the appropriate tools needed, and making the adjustments in internal processes. We also mention the key benefits of moving to this new platform, especially in terms of ROI/TCO.

Finally, we address some of the major challenges that beset an IT department when moving to SOA, and we attempt to isolate the main variables for each of them.


Serie de Conferencias Técnicas: WCF en MSDN, El equipo

Tenemos una iniciativa que busca la difusión de la nueva tecnología WCF del Framework DotNet 3.0
 
Detalles generales pueden verlos en este post
 
 
Para poder realizar de manera exitosa esta serie de conferencia se ha armado un equipo de relatores. Todos son gente de la industria, con experiencia en proyectos y desarrollo en .NET.

Reclutar el equipo ha sido la primera tarea de un montón que quedan por delante para llegar al 12 de abril con todo listo.

Bueno este es el equipo que “entra a la cancha” (En orden de aparición). Cada uno de ellos ya ha confirmado y estamos de acuerdo en que conferencia estará cada cual.

Conferencia I: Introducción

A.- Eduardo Portugues, Developer, Novared, eportugues@novared.cl

B.- Juan Pablo García, Software Developer Manager, Datco, juanpablo.garcia@datco.cl

Conferencia II: Intermedia

A.- Mauricio Lobos, Analyst-Programmer Senior. Citibank (Chile Technology Services Center). lobos.mauricio@gmail.com

B.- Eduardo Sepulveda, System Analyst Senior. Citibank (Chile Technology Services Center). eduardo.sepulveda@citigroup.com

C.- Juan Pablo García, Software Developer Manager, Datco, juanpablo.garcia@datco.cl

Conferencia III: Avanzada

A.- David Jirón, Subgerente de Desarrollo, 3GMotion, djiron@3gmotion.cl

http://haciendocodigo.blogspot.com/

B.- Juan Pablo García, Software Developer Manager, Datco, juanpablo.garcia@datco.cl

Bueno bienvenidos a todos, gracias por su colaboración.

Todos son nuevos en esto, menos David con quien ya hemos dado varias sesiones en temas relacionados a esto.

 

IIS: Error 403 ¿Es error de la aplicación?

Me pregunta un cliente si el error 403 es de la aplicación que le hemos construido o no.

El error 403 es un error de permisos sobre una aplicación. En rigor no es un error de la aplicación sino de la configuración de los accesos a está. Existen sub tipos de errores de acceso, los cuales se muestran en la siguiente lista.

 

HTTP 403 Substatus Codes

403

Description

None

 Access is denied.

1

Execute access is denied.

2

Read access is denied.

3

Write access is denied.

4

SSL is required to view this resource.

5

SSL 128 is required to view this resource.

6

IP address of the client has been rejected.

7

SSL client certificate is required.

8

DNS name of the client is rejected.

9

Too many clients are trying to connect to the Web server.

10

Web server is configured to deny Execute access.

11

Password has been changed.

12

Client certificate is denied access by the server certificate mapper.

13

Client certificate has been revoked on the Web server.

14

Directory listing is denied on the Web server.

15

Client access licenses have exceeded limits on the Web server.

16

Client certificate is ill-formed or is not trusted by the Web server.

17

Client certificate has expired or is not yet valid.

18

Cannot execute requested URL in the current application pool.

19

Cannot execute CGIs for the client in this application pool.

20

Passport logon failed.

Este error ocurre típicamente cuando el IIS no recibe junto con el Request las credenciales del usuario apropiadas.

Típicamente este error ocurre cuando es llamado un directorio que no tiene permisos de “Script Access”. Por ejemplo si se llama a una URL de está forma:

http://liarjo.spaces.live.com/

Si no se ha definido un documento por defecto (Enable Defualt Document) para ese directorio, el IIS interpreta que el cliente quiere ver los archivos que contiene ese directorio. Es entonces cuando ocurre el error 403 porque por defecto los directorios de IIS no tienen habilitado “Script Access”.

La solución para esto es:

A.- Definir un documento por defecto para ese directorio.

B.- Permitir “Script Access”.

Cuando se hace el Deploy de una aplicación, claramente la solución es la alternativa A u no la B.

En IIS la configuración de la primera opción se hace en la consola de administración.

La siguiente imagen muestra dónde se hace.

 

La segunda opción, “Script Access” se configura en la pestaña “Virtual Directory”, como se muestra en la segunda imagen.

 

Control de Acceso Cubos en SSAS

Un cliente me pidió que hiciéramos un reporte utilizando Reporting Services que mostrara información de gestión de sus obras y proyectos.

La idea es que dependiendo del rol los usuarios tengan acceso a diferente información. Analysis Services (SSAS) combinado con Reporting Services puede hacer esto sin necesidad de programar si se definen roles y se configuran los permisos en SSAS Services.

Hasta ese momento todo bien, el problema surge porque no se administran los permisos usando roles AD, por lo que no se pueden mapear a SSAS directamente.

El cliente tiene una base de datos donde maneja los permisos.

Solución

Incluir en los procesos de carga del cubo una tarea de sincronización de permisos. Lo que debe hacer está tarea es:

Ø Leer los permisos desde la base de datos.

Ø Actualizar los roles y asignarlos en Analisys Server.

Para esto se puede usar AMO Security Objetcs. Con estos objetos de manera programática con código dotnet se pueden administrar los roles de SSAS. Una referencia en el siguiente link.

http://msdn2.microsoft.com/en-us/library/ms345081.aspx

Serie de Conferencias Técnicas: WCF en MSDN

 
Tenemos una iniciativa que busca la difusión de la nueva tecnología WCF del Framework DotNet 3.0
 
Lo novedoso de esto es que será un ciclo de 3 conferencias, dictadas en un período de tres semanas. La idea es comenzar con una conferencia introductoria orientada a dar a conocer que es WCF y para que sirve.
 
En la segunda reunión se explicará con mucho mas detalle las principales características de WCF, mostrando ejemplos de código muy del estilo HOW-TO.
 
Por último, en la tercera conferencia se explicarán temas avanzados de está tecnología, con mucho código y orientado a desarrolladores avanzados y arquitectos. En este punto queremos hacer una y trasferencia de conocimientos avanzados.
 
¿Por que el formato de tres semanas?
 
La  razón de esta propuesta es hacerse cargo del feedback de los participantes de las conferencias de MSDN. Por ejemplo alguno de estos comentarios:
 
  • 09-03-2006: "La presentación estuvo muy bien, pero no se dimensionó correctamente la presentación, versus el tiempo que se indicaba en la invitación"
  • 29-06-2006: "Me pareció buena la presentación pero creo que el tiempo fue muy corto ya que faltaron demasiadas cosas por hacer"
  • 31-08-2006: "demasiados tópicos a tocar. Perfectamente, se pudo haber dividido la charla en 2 para lograr mayor entendimiento de los ejemplos"
  • 31-08-2006: "Me gusto mucho, se noto que eran buenos los dos oradores, la materia pasada en la capacitación es muy interesante pero era muy poco el tiempo y los ejemplos se pasaron muy rápidos"

La fecha propuesta para esta serie de conferencias es la siguiente.

Abril

Chile

Conferencia Técnica

12

Jueves

18:30 a 22:00

Santiago

Abril

Chile

Conferencia Técnica

19

Jueves

18:30 a 22:00

Santiago

Abril

Chile

Conferencia Técnica

26

Jueves

18:30 a 22:00

Santiago

Ahora estoy reclutando al equipo para hacer el material y las demos. Por lo menos esto lo vamos ha hacer entre unos 5 personas, por lo que estará muy bien preparado.

Un tema necesario sí, donde necesitamos feedback, es qué contenidos debemos incluir. Es aquí donde se reciben comentarios para armar está iniciativa.

Desde ya les pido ayuda con esto, todos sus comentarios son bienvenidos.

Nos vemos en abril…

Seguridad: Uso de la variable HTTP_REFERER

 

Hoy un cliente me preguntó si era seguro el uso de la variable HTTP_REFERER. Me mandó su código de prueba para pedir mi opinión.

EL código es el siguiente.

<HTML>
<HEAD>
</HEAD>
<BODY>
<% if request.servervariables("HTTP_REFERER")= "http://164.77.11.29/Prueba/pp.htm" then %>
<P>Si tiene acceso</P>
<% else%>
<P>No tiene acceso</P>
<% end if%>
</BODY>
</HTML>

Es muy cómodo usar HTTP_REFERER para preguntar desde donde viene un cliente Web. Ojo que dije preguntar y no validar, porque en rigor es el cliente Web que declara desde donde viene. No es un dato confiable.

Alguien con algunas habilidades de programación puede hacer un script que cambie el valor de está variable, y el servidor Web no tiene como validar si el valor es real o no. Está es la técnica conocida como SPOOF.

Está validación puede ser usada en aplicaciones triviales pero no en aplicaciones WEB Seguras.

El siguiente script es un ejemplo de cómo engañar al servidor Web.

 

% telnet your.website.example.com 80
  GET / HTTP/1.1
  Host: your.website.example.com
  Referer: http://www.google.com/
  Connection: close
  (contents will be displayed here)

En conclusión no se debe confiar en las variables que entrega el cliente: campos de formularios o http headers. Incluso las cookies deben ser consideradas como información no confiable, en aplicaciones Web reales.</P


Obra Divinas Palabras

DIVINAS PALABRAS ADAPTACIÓN

 
ANUNCIAMOS QUE A PARTIR DE ESTE MIECOLES 10 DE ENERO COMIENZAN LAS FUNCIONES DE LA OBRA DIVINAS PALABRAS, PROYECTO GANADOR DE FONDART 2006. EN EL MARCO DEL FESTIVAL SANTIAGO A MIL. LAS FUNCIONES SON LOS MIERCOLES, JUEVES Y VIERNES DE ENERO DESDE EL 10 HASTA EL 26. LA ENTRADA ES GRATUITA.
LOS ESPERAMOS EN LA BIBLIOTECA DE SANTAGO (MATUCANA 151, METRO QUINTA NORMAL) A LAS 19 HRS.
PARA MAYOR INFORMACION PUEDEN VISITAR NUESTRA PAGINA WEB WWW.LAOTRA.CL
ATTE
LA OTRA COMPAÑÍA
 
PD: LA BIBLIOTECA CUENTA CON ESTACIONAMIENTO
      SE RECOMIENDA LLEVAR UN COJÍN