martes, 21 de julio de 2015

Núcleo de .NET Framework y la CLR - Parte 3: Programación Dinámica, Seguridad, Threading Avanzado, Programación Paralela, Dominios de Aplicación, e Interoperavidad Nativa y COM

Índice

0. Introducción
1. Programación Dinámica
2. Seguridad
3. Threading Avanzado
4. Programación Paralela
5. Dominios de Aplicación
6. Interoperabilidad Nativa y COM
7. Conclusiones
8. Glosario
9. Literatura & Enlaces

0. Introducción

Tercera y última parte de la serie de introducción a los componentes núcleo de .NET Framework. Finalizamos esta entrega describiendo otros de los importantes temas de estudio en futuras series de artículos C# y .NET: programación dinámica, seguridad, threading avanzado, programación paralela, dominios de aplicación, e interoperabilidad nativa y COM.

1. Programación Dinámica

Entre los temas avanzandos que discutiremos en series de artículos .NET y C#, están los patrones de programación, estudio de Dynamic Language Runtime (DLR). Para ello tendremos que concentrarnos en el namespace System.Dynamic.

Una vez tengamos bajo dominio los temas relacionados con la programación dinámica, seremos capaces de:
  • escribir objetos dinámicos personalizados, e
  • interoperar con lenguajes dinámicos como IronPython, IronRuby.

2. Seguridad

La seguridad es un asunto transversal y común en aplicaciones críticas de negocio. Para comprender cómo funciona y como debe ser arquitecturizada en una aplicación .NET, deberemos centrarnos en entender y llevar a la práctica el estudio de los siguientes namespaces:
  • System.Security
  • System.Security.Permissions
  • System.Security.Policy, y 
  • System.Security.Cryptography
Luego ya estaremos preparados para incorporar funcionalidad de encriptación y protección de datos de usuario y aplicación.

3. Threading Avanzado

A pesar de que en la recetas multithreading en C# estemos progresando en comprender las construcciones para crear programas capaces de atender solicitades y ejecutar operaciones de forma concurrente, en la nueva serie de artículos .NET y C# iremos más a fondo; eso significa que necesitaremos estudiar y comprender las técnicas avanzadas de threading:
  • envío de notificaciones a objetos, 
  • almacenamiento local para threads
  • bloqueos de lectura y escritura.
Para entender los temas anteriores debemos hacer mayor énfasis en el nombre de espacio System.Threading.

4. Programación Paralela

Hoy por hoy la disponibilidad de dispositivos con procesadores multi-núcleo nos conlleva a idear mecanismos de implementación de funcionalidad capaz de operar en paralelo. Esta necesidad implica aprender cómo funciona en .NET técnicas como:
  • tareas paralelas, 
  • paralelismo imperativo, y 
  • paralelismo funcional (PLINQ)

5. Dominios de Aplicación

En la serie de artículos .NET y C# que corresponde a dominios de aplicación estudiáremos la necesidad de este tipo de entorno para la ejecución de aplicaciones de forma segura, y sus propiedades (threading, control de errores y excepciones, niveles de acceso de seguridad, interrelación entre dominios de aplicación.)

6. Interoperabilidad Nativa y COM

La infraestructura de .NET nos brinda el poder de poder de interoperación con componentes COM y código nativo. Cuando estemos explorando con artículos y recetas .NET y C# será mandatorio que estudiemos temas de interoperabilidad como:
  • callbacks de registros, 
  • estructuras de mapa de datos, 
  • tipos de datos nativos, 
  • invocación de tipos COM
  • exposición de tipos .NET a COM.
Namespace de estudio en esta serie: 
  • System.Runtime.InteropServices.

7. Conclusiones

Ya veremos que una vez comprendamos todos estos temas y otros relacionados, habremos desarrollado las capacidades intelectuales y prácticas con las que podemos concebir una arquitectura a nivel de plataforma. Debemos seguir siendo juiciosos, ambiciosos, persistentes, y tenaces.


En el próximo artículo conoceremos las tecnologías aplicadas de .NET.

8. Glosario

  • .NET
  • Aplicación
  • Dominio de aplicación
  • Concurrencia
  • Interoperabilidad
  • Programación dinámica
  • Seguridad

9. Literatura & Enlaces

[1]: C# 5.0 in a Nutshell by Joseph Albahari and Ben Albahari. Copyright 2012 Joseph Albahari and Ben Albahari, 978-1-449-32010-2.

V

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.