Archivos Mensuales: diciembre 2006

SOA Worst Practices

En una discusión con mi jefe, le explicaba que una buena idea puede ser mal implementada y llevar al fracaso de la iniciativa. Esto aplica en todo ámbito de cosas, en una iniciativa SOA por ejemplo.
 
En este artículo se exploran 8 típicos errores en la ejecución de una iniciativa SOA.
 
Que los disfruten!!!
 

Tocata la Renga :)

Batuta

SEMANA DEL 18 AL 23 DE DICIEMBRE

Lunes 18.12. ¡LA RENGA SE LANZA CON FIESTA!
Debuta en Chile el nuevo disco de La Renga, el décimo de su carrera y el octavo de estudio, que fue grabado durante el segundo semestre de este año y que se lanza al mercado el próximo 16 de diciembre en Argentina y acá en Chile junto a esta fiesta.
proyección :: nuevo DVD “en el ojo del huracán”, temas y shows inéditos
en vivo ::
BASABDOS. rock&roll
extras :: varios “anuncios sorpresa”, regalos, sorteo de discos, dvds y poleras de la banda.
www.larenga.com
www.toma.cl

Apertura a las 22 horas;
show después de las 23 horas.
Entrada: $2.000 con cover;
mujeres entran gratis hasta las 24 horas.

Responde el mail, 10 tickets para regalar. Asunto: TOMA.

TRansaction NTFS

(Apuntes sin editar)
 
* Se trata de transacciones acidas en el uso de NTFS.
* Se implementó un controlador transaccional en el core.
* NTFS: se mantiene sin cambios
* La razón de hacer esto es:
 + Evitar problemas al trabajar con archivos.
* tener control transaccional en memoria viene en el futuro :O 🙂
  por ejemplo: en multi hilos, no hay que preocuparse por bloqueos porque, los otros hilos
  no acceden al mismo objeto hasta que se hace commit.
* Un ejemplo: Windows update si se para en la mitad, cuando se inicia el pc nuevamente puede dar blue screen porque el update quedo en estado inconsistente. Eso es lo que está tecnología busca solucionar.
* Componentes:
 + Transactional NTFS (TXF)
 + Kernel Transaction Manager (KTM)
 + Common Log File System (CLFS)

Events 6.0, CardSpace y Windows PowerShell

(Apuntes sin editar)
Events 6.0
———–
* Existen dos tipos de eventos, NT y Event 6.0 (Vista / Longhorn)
* Se distinguen 3 tipos de eventos: administrativos, Operacionales y  Tracing/Debug
* La metada de los eventos es la misma, 6.0 tiene extra XML DATA. (Source, ID, Category, Type)
* NT event, pueden ser escritos de manera simple (hardcore) o como recursos.
a segunda opción es mejor porque se pueden ca,biar los mensajes sin recompilar.
* Event 6.0
 + Mejor perfomance
 + Estructura declarativa XML
 + Los mensajes pueden ser enviados a través de firewall y dominios
 + La configuración consiste en>
  + Manifiesto: aquí esta toda la información (Metadata, Esquema, canal y provider)
 +Canal>
* Hya que usar la parte del log que corresponde
 + Applications = Application Log
 + Security = Security Log
 + System = Infrastructure Events
 + Custom = Debug y traking
 
CardSpace
—————
* La identidad tiene 3 factores> El sujeto, claims , token
* La identidad es un set de cliams en un token.
* Revisar http://sandbox.netfx3.com 
Windows PowerShell
——————-
* Get-help
* snapin>  🙂
 +Se pueden comandos para powershell en .NET, se llama pssnapin
 + Se hace la referencia a System.Managment.Automation. (assembly en dir de powershell)
 + Para escribir en la consola de powershell no se usa console sino Base.writeOject("");
 + Después de instalar de debe agregar usando add-PSSnapin
* Viene en el framework 3.0
* test this Stop-Process *  🙂
* Test this
 >Add-PSSnapin powergadgets
 >Get-Process| Out-chart  🙂
* test this
 >Get-PSDrive
 >cd HKCU:

WCF y WF overview

(Apuntes sin editar)
 
WCF
——
* Cuando se tiene un método que retorna void, y además es oneway=true quiere decir que no
recibirá tampoco excepciones SOAP.
* Para publicar un com+ hay que usar comsvcconfig.exe, que construye un wrapper
WF
—–
* Los workflow se identifican con un guid de instancia.
* Existen tres tipos: Flow Actividades, maquinas de estado y controlados por reglas.
* Maquinas de estados>  + son compuestos por Estados, Eventos, Acciones y transiciones.
   + Los estados pueden ser anidados.
   + Existen dos eventos inicialización y finalización de un estado,
muy útiles.
   + Se pueden hacer query a las maquinas de estados.
   + Las maquinas de estado tienen un estado inicial y uno final.
   + La maquina de estados guarda los estados "historia" de los estados
por los que pasó. 🙂
   + Existen dos tipos de actividades "básicas" y "compuestas"
   +
* La idea con las actividades es extender las actividades hasta llegar a Framework de
actividades para cada dominio.
* Las actividades en paralelo abren un hilo por cada secuencia de actividades. Pueden ser
coordinados.
* Hay un sitio llamado http://www.dotnetfx3.com
* Los workflow pueden ser modificados por código.
* Las actividades del tipo propias, pueden tener "dependency properties" (DependencyPropery)
para seater valores. Estos valores pueden ser leídos desde cualquier parte del workflow y el
contexto de ejecución.
* Ojo con la forma de hacer binding, hay que revisar en detalle las opciones.
* Local communication Architecture
 + Se usan interfaces para trasmitir datos.
 + Workflow Runtime tiene ExternalIDataExchangeService como canal de comunicación con
las instancias
 + ExternalIDataExchangeService tiene métodos para
* La persistencia de las instancias de los workflow puede ser hecha en SQL. PAra ello hay
que correr algunos script en SQL
y hacer código de configuración de la persistencia en el workflow  🙂
* Traking, se habilita para que mantenga la "historia" 🙂
 + Esto se habilita con solo una línea de código, y usa SQLserver.
 + Tiene una clase para hacer consultas desde los mismos workflow sobre la historia
de una instancia.
 + Se puede obtener información de eventos del workflow, actividades y eventos de
usuarios  🙂
 

Adminstración en Longhorn

Management Technologies (notas sin editar)
————————–
1.- DFO: Diseñado para operar, que pueden ser instaladas y operadas de manera sencilla.
* Las aplicaciones son hechas en un silo y después son mandadas a operaciones donde no saben que hacer con ellas.
* Modelo de "Health": la idea es obtener información del problema que tiene una app. Para ello se usa instrumentación.
* La instrumentación tiene 3 actores> WMI, LOG, contadores
 
2.- Windows Eventing 6.0
* Nuevo modelo de eventos. Soporta el uso de canales, donde mandar la información.
* Se pueden definir los esquemas de la información que se va a grabar en el LOG
* El esquema se define un "manifiesto". El manifiesto se interpreta y valida antes de crear un nuevo tipo de log.
* Es posible crear task si es que un tipo de evento ocurre, SUSCRIPCION   🙂
Estas task pueden ser un mail, mensaje en la pantalla o ejecutar una aplicación.
 
3.- GRoup Policy
* Las políticas son reglas que se definen en el dominio y bajan a los PC.
* Para los developer, sirve para forzar la configuración de las aplicaciones en los clientes de manera centralizada.\
* Esta información no esta en los archivos de configuración sino en la registry, es ahí donde la información de las políticas
se almacena.
 
4.- WMI
* Es una clase que expone información de diagnostico de las aplicaciones.
* Esta interfaz es solo lectura hasta ahora, en ORCAS es posible que cambien
* Para ahcer esto en .net solo se necesita agregar el atributo InstrmentationClass(InstrmentationType.Instance)
* Hay una herramienta nueva llamada "winrm", línea de comando  🙂
* hay una buena demo en http://channel9.msdn.com/Shows/The_DFO_Show
5.- MMC 3.0
* Desde puntoNet se usa el namespace Microsoft.Management para crear extensiones programaticamente.
* Es mucho más simple hacer consolas de administración ahora.

Internet Information Server 7

II7 (notas sin editar)
—-
1.- modular design
* Se puede sacar o reempezar los módulos 🙂
* Se pueden agregar módulos en código nativo o administrado
* Mejora de la UI de administración.
* Se construyó una pipeline único:
autentificación
autorización
Resolvecache
etc……
* Para cada módulo se puede elegir que piezas instalar,
por ejemplo Autentificacion (NTLM/BASIC/Anom)
* IIS 7 pone la configuración en un archivo de configuración  y no en metadata como antes.
La configuración de una aplicación se guarda en System.webserver en el web.config.
Existe una funcionalidad para delegar la configuración de estos archivos.
* IIS7 Módulos> si se cambia el orden de los módulos, todo queda en el web.config
 
2.- Extensibilidad
* iis7 modulos de código nativo o administrado
* Instrumentación de aplicaciones integrada, para hacer traza 🙂
* host servidor Web usando protocolos no HTTP :O
* El esquema de configuración de ii7 puede ser extendido 🙂
* Handler vs Modules:
 + Handler, se hace cargo de un tipo de archivo específico en IIS
 + Un módulo se ejecuta en el pipe siempre, cross cutting counsirng.  Estos tienen un
orden de ejecución.
* IIS7 tiene 40 módulos out of the box.
* Para crear un módulo se debe hacer una clase que implemente IhttpModule
 + EL objeto HttApplication contiene la información del contexto de ejecución.
* Existen 12 eeventos de Request
* applicationhost.config
 + Aquí se configura el host completo.
 + En la sección Módulo, se configura el orden de ejecución de los módulos.
* Si se usa el pipeline clásico no se usan los módulos del pipeline integrado, son
excluyentes.
* La interfaz de administración puede extenderse ( Esto es para las niñas )
 
3.- Integración con .net
* Es posible correr el pipe clásico
* En pipiline integrado, es el por defecto. Esto avita por ejemplo que se ejecute doble
autentificación.
* Los contenidos estáticos pasan por el mismo piplene, por lo que pueden ser administrados
por los módulos 🙂
 
4.- Administración
* Consola nueva de administración.
* Administración por línea de comandos: appcmd  🙂
* Script de administración
* Código manejado Microsoft.Web.Asminitration 🙂 Por ejemplo se pueden crear aplicaciones o
bajar el appdomain por código
* Manejo de errores y depuración mejorada> trae un motor de reglas que permite configurar
como y cuando hacer log.
Por ejemplo: tipo de contenido, código de respuesta, tiempo de respuesta. 🙂

Introduccion curso Longhorn

(Notras sin editar)
 
1.- Transactional Infraestructure
  • KTM: kernel transaction manager
    Puede manejar transaccionalemente NTFS y REgistry.
    Si se usa una app local no se necesita mas el DTC, este se usa sólo si hay mas de una
  • maquina.
  • KTM actúa como un manejador de recursos, no exactamente como controlador transaccional.
    No puede manejar varios archivos, en este caso hay que moverse al DTC.
  • KTM esta en longhorn y vista
2.- Recovery & Restart
  • Windows Error Reporting, pude ser usado por developers para sus aplicaciones.
  • Application Recovery & Restart, si una app crash puede reiniciarse.
    Recovery es una extensión, recupera los datos de la aplicación en el estado que estaba antes
  • de caer.
  • Restrat Manager, evita tener que reiniciar cada vz que se hace una instalación.
3.- Windows Server Core
  • Instalación mínima, sin interfaz ni código administrado.
    Todo línea de comando lo Linux ;)]
    Este sistema operativo es muy modular, por eso se puede instalar solo las funcionalidades
  • core.
    Esta es la inhalación ideal para una app server.
  • Por ejemplo para instalar una base de datos está de "pelos"
  • Tiene limitaciones: no soporta código administrado, soporte mínimo de roles(DNS, DHCP,
  • FILE,AD), no GUI

4.- NET Framework 3.5 “Orcas”

WF & WCF Integration
WCF partial trust support
Atlas/JSON
Deep integration with ASP.NET “Atlas” AJAX Framework.
JavaScript Object Notation (JSON) wire encoding
RSS/Atom support
Abstraction for RSS 2.0 and Atom 1.0
Richer REST/POX support
Programming Model support for resource-centric applications