Mostrando entradas con la etiqueta Microsoft. Mostrar todas las entradas
Mostrando entradas con la etiqueta Microsoft. Mostrar todas las entradas

Microsoft .NET - Solución VS - Proyecto CS - Componentes CS

Componentes de una solución VS. 
Puede estar compuesta de diferentes proyectos con diferentes lenguajes. Cada uno sirve para diferentes fines!
Properties:
- Resource.resx: Recursos externos que puede utilizar la aplicación.
- AssemblyInfo.cs: Metadata de la aplicación.
- Settings.settings: Configuraciones que se pueden recuperar en la siguiente sesión.
Program.cs: Punto de entrada principal para la aplicación.
References: Librerías o namespaces que usa la aplicación.

El proyecto que se establece como proyecto de inicio se denota por la negrita que lo resalta.
Las dependencias de un proyecto se aplican cuando un proyecto está compuesto por n-capas
Ubicación de las librerías que se están usando para el código fuente.
En las propiedades de la configuración se puede cambiar las opciones de inicialización de un proyecto:
- Debug (Depuración): Permite parar, dar seguimiento, buscar errores de sintaxis, lógica, es decir permite probar la aplicación. Esta configuración es pesada.
- Release: Esta configuración no permite probar la aplicación o darle seguimiento, esta se la usa para ya generar una aplicación probada. Es mas liviana y rápida.
La plataforma permite configurar la compatibilidad de las arquitecturas.


Nombres que se manejan en VS.
Solución: Nombre de la solución o del conjunto de proyectos. "SoluciónGlobalAplicación"
Ensablado: Nombre del archivo físico ejecutable o release. "Aplicación.dll"
Namespace: Nombre lógico o de las bibliotecas, para acceder a las diferentes clases que están dentro del proyecto. "Aplicación"
Proyecto: Nombre físico de lo que estamos desarrollando. "Aplicación.csproj"

El tipo de resultado depende de los proyectos agregados en la solución.
Archivo de recursos son los recursos que el exclusivamente proyecto va a usar.

En Generar:
- Símbolos de compilación condicional permite agregar librerías o web services adicionales.
- Resultado:
- Generar ensamblados de serialización: Mediante un algoritmo de encriptación permite compactar y poder transmitirlo por la red.

En Depurar:
- Argumentos de la linea de comando: son variables que necesita para continuar con la ejecución.

En Rutas de acceso de referencia:
- Direccionar la ubicación de los componentes que permiten enlazar diferentes plataformas. ver: http://goo.gl/I2zGb

La diferencia entre Build y Rebuild: 
Al inicio ambos hacen lo mismo.
Rebuild: Genera o compila desde cero.
Build: Compila desde el anterior build. Menos pesado. Compila las modificaciones anteriores.
Limpiar/Clean: Borra completamente de la memoria el proyecto en cuestión y hace Rebuild.

Otra opción es borrar el bin y el debug pero previo al cierre de la solución o proyecto para que el VS al iniciar lo reconstruya.

- Las dependencias y el orden solo brindan información.
- En agregar referencia permite agregar las dll de otros componentes a usar en el proyecto: .NET, COM, Proyectos (proyectos adicionales), Examinar (dll, tlb, olb, ocx, exe, manifest).
- Agregar referencia de servicio: Web services externos.
- Ver diagrama de clases permite ver las clases y componentes que componen el proyecto.

Convenciones / Standares en el nombre de los componentes, variables y métodos:
Las tres primeras consonantes del control más el nombre de la clase a la que representa con la inicial en mayúscula.
Componentes (en singular):
- Form: frmCliente
- Button: btnGrabar
- Combobox: cmbSemestre

Variables:
- int: intEdad;
- string: strNombre;
- boolean blnValidar;

Métodos:
- validarCedula
- guardarFactura
- buscarCliente

Trabajando en un Formulario de Windows:
*.resx Archivo recurso del formulario.
*.Designer.cs Propiedades de inicio del formulario.
*.cs Programación de la clase.

Propiedades de los controles de CS
El name es el nombre al que se va a referir en la programación, mientras que el text es el nombre que se va a desplegar.

A partir de 2005 se generan en clases parciales, se dividen en la parte de diseño (Designer) y programación (cs), físicamente las clases están dividas en varias pero lógicamente son una sola (un solo Form).

ControlBox permite determinar si el formualrio tiene un cuadro de menú control o de sistema
Las propiedades mas usadas en un formulario son: WindowsState, StartPosition, ControlBox, Location.

Las propiedades más usadas en el txtBox son: Text, Name, textAlign, ReadOnly, Enabled, PasswordChar, Multiline (varias lineas de texto), MaxLength (tamaño máximo permitido), Location (Cordenadas de la ubicación actual del componente sobre el contenedor form), Size.



Realizar un informe que contenga: Título, nombre, desarrollo, comentario, recomendaciones.
Código: http://sdrv.ms/XokI9L
Proyecto Fuente: http://sdrv.ms/XokI9L
Corrida:



Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace PART
{
    static class Program
    {
        /// <summary>
        /// Punto de entrada principal para la aplicación.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmSitioTuristico());
        }
    }
}

frmSitioTuristico.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PART
{
    public partial class frmSitioTuristico : Form
    {
        public frmSitioTuristico()
        {
            InitializeComponent();
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Quiero visitar " + txtNombre.Text);
        }
    }
}
frmSitioTuristico.Designer.cs
namespace PART
{
    partial class frmSitioTuristico
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.txtNombre = new System.Windows.Forms.TextBox();
            this.lblNombre = new System.Windows.Forms.Label();
            this.lblProvincia = new System.Windows.Forms.Label();
            this.lblCanton = new System.Windows.Forms.Label();
            this.txtProvincia = new System.Windows.Forms.TextBox();
            this.txtCanton = new System.Windows.Forms.TextBox();
            this.btnGuardar = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // txtNombre
            //
            this.txtNombre.Location = new System.Drawing.Point(128, 75);
            this.txtNombre.Name = "txtNombre";
            this.txtNombre.Size = new System.Drawing.Size(100, 20);
            this.txtNombre.TabIndex = 0;
            //
            // lblNombre
            //
            this.lblNombre.AutoSize = true;
            this.lblNombre.Location = new System.Drawing.Point(53, 78);
            this.lblNombre.Name = "lblNombre";
            this.lblNombre.Size = new System.Drawing.Size(47, 13);
            this.lblNombre.TabIndex = 1;
            this.lblNombre.Text = "Nombre:";
            //
            // lblProvincia
            //
            this.lblProvincia.AutoSize = true;
            this.lblProvincia.Location = new System.Drawing.Point(65, 110);
            this.lblProvincia.Name = "lblProvincia";
            this.lblProvincia.Size = new System.Drawing.Size(54, 13);
            this.lblProvincia.TabIndex = 2;
            this.lblProvincia.Text = "Provincia:";
            //
            // lblCanton
            //
            this.lblCanton.AutoSize = true;
            this.lblCanton.Location = new System.Drawing.Point(65, 144);
            this.lblCanton.Name = "lblCanton";
            this.lblCanton.Size = new System.Drawing.Size(44, 13);
            this.lblCanton.TabIndex = 3;
            this.lblCanton.Text = "Cantón:";
            //
            // txtProvincia
            //
            this.txtProvincia.Location = new System.Drawing.Point(128, 107);
            this.txtProvincia.Name = "txtProvincia";
            this.txtProvincia.Size = new System.Drawing.Size(100, 20);
            this.txtProvincia.TabIndex = 4;
            //
            // txtCanton
            //
            this.txtCanton.Location = new System.Drawing.Point(128, 141);
            this.txtCanton.Name = "txtCanton";
            this.txtCanton.Size = new System.Drawing.Size(100, 20);
            this.txtCanton.TabIndex = 5;
            //
            // btnGuardar
            //
            this.btnGuardar.Location = new System.Drawing.Point(97, 190);
            this.btnGuardar.Name = "btnGuardar";
            this.btnGuardar.Size = new System.Drawing.Size(75, 23);
            this.btnGuardar.TabIndex = 6;
            this.btnGuardar.Text = "Guardar";
            this.btnGuardar.UseVisualStyleBackColor = true;
            this.btnGuardar.Click += new System.EventHandler(this.btnGuardar_Click);
            //
            // frmSitioTuristico
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Controls.Add(this.btnGuardar);
            this.Controls.Add(this.txtCanton);
            this.Controls.Add(this.txtProvincia);
            this.Controls.Add(this.lblCanton);
            this.Controls.Add(this.lblProvincia);
            this.Controls.Add(this.lblNombre);
            this.Controls.Add(this.txtNombre);
            this.Name = "frmSitioTuristico";
            this.Text = "Sitio Turístico";
            this.ResumeLayout(false);
            this.PerformLayout();
        }
        #endregion
        private System.Windows.Forms.TextBox txtNombre;
        private System.Windows.Forms.Label lblNombre;
        private System.Windows.Forms.Label lblProvincia;
        private System.Windows.Forms.Label lblCanton;
        private System.Windows.Forms.TextBox txtProvincia;
        private System.Windows.Forms.TextBox txtCanton;
        private System.Windows.Forms.Button btnGuardar;
    }
}





Microsoft .NET - SOA - BPM - CLR - CLS


SOA vs BPM
Permiten incrementar la agilidad de las organizaciones.
ALinear
Tiempo de respuesta sea oportuno e inmediato para la eficiencia de una empresa.

Gestión de Procesos de Negocio (BPM)
Permite mejorar la eficiencia de las organizaciones a través de la gestión de sus procesos de negocio.
Desde el punto de tecnología.
Bajo proyectos de TI es una técnica de alineamiento de procesos a la tecnología para la eficiencia de negocios.
Se dice que BPM es la versión mejorada de SOA.
La notación que maneja es BPMN (Notation) y su lenguaje de programación es BPEL.
Desde el punto de vista de procesos.
Se orienta más a la administración y gestión empresarial.

Arquitectura Orientada a Servicios (SOA)
No confundir que un web service es SOA, mas bien dicho un Web Service permite implementar SOA.

Ref: http://www.tecsisa.com/index.html?item=1555

Aplicaciones legacy - Cajas negras de programación, de tecnología, de información. Es decir anticuado o pasado de moda.

Alinear TI - Negocios
Integrar aplicaciones novedosas y actualizadas en el core de un negocio donde intervienen:

  • Servicios de negocio
  • Arquitectura de servicios de negocio
  • Arquitectura de procesos
Qué es el CLS es un Standar para ser soportado por el CLR.

RPG - Cobol - Foltran son lenguajes de desarrollo de validación de equipos AS400 y son bien pagados.

¿Qué son los componentes no manejados?

El código MSIL es el código intermedio.
Compilador Just In Time - Mediante el código manejado es el que permite llamar solo a las librerías que necesita.

Tabla GC - Tabla Garbage Collect.

Microsoft .NET- Assembly - CLR - CLS

Los recursos en esta dir: http://sdrv.ms/XokI9L
Sitio VS Portal Web

Un sitio puede ser dinámico o estático. Netamente es informativo. Por ejemplo Wikipedia.
Un portal web permite realizar transacciones por ejemplo el portal web de un banco.

Microsoft tiene su propia metodología de desarrollo de proyectos, pueden implementar o desarrollar diferentes tipos de proyectos.

El objetivo de TFS gestionar un proyecto, no importa si se usa cualquier metodología que pueden ser MSF, ágiles, pesadas. Sirve para gestionar las diferentes etapas del desarrollo. También permite usarlo con otras herramientas Microsoft.

Sharepoint permite gestionar documentos de office.

.NET es una plataforma de desarrollo.

Dentro del .NET Framework viene el CLR y el CL
En el .NET SDK incluye el .NET Framework, CLS y los lenguajes.

Que se abra una interfaz hace referencia al HW por lo que interviene el S.O. y los API.
Exactamente en el .exe hay el programa de máquina que hace que se ejecute el programa.
Cuando se generan los ejecutables se escriben las instrucciones en el lenguaje de máquina 0 y 1's, por lo que cada máquina tiene su propio CHIPSET, entonces por mas que sea la misma máquina y se use el mismo ejecutable en otra máquina de las mismas características no se va a ejecutar, entonces ahí interviene el CLS ahí se genera un archivo .MSI es un código intermedio, es un código generado a partir de la máquina donde se compiló el programa. El .net framework es el que interpreta el msi y lo traduce a lenguaje de máquina.

JIT llama a las librerías justo en el momento en que las necesita.

Las arquitecturas están compuestas por componentes. En .NET no se llaman Assemblies = componentes.

Se puede simular multithreading. 

Qué es un Assembly?
Es la únidad mínima de ejecución, distribución, instalación y versionado de aplicaciones .NET
Es como que fuera el átomo, no hay más división. Lo mínimo que debe existir para ejecutar, distribuir, instalar y versionado aplicaciones .NET.

La Metadata permite identificar al código MSIL.

Las aplicaciones de consola están conformadas por un solo assembly. En el caso de una aplicación de escritorio o web necesitará mas de uno porque ubica los componentes.

Namespace: Conjunto de clases y métodos relacionados por ejemplo IO (Teclado, Mouse, Impresora, Touch)
Pueden tener gerarquías.
Es similar a los packages en Java.

Diapositiva 26.

Leer SOA - BPM

Microsoft .NET - Introducción - WPF - WCF - WWF


WPF
Tecnología para implementción de interfaces en .net
se divide en 2 Silverlight(aplicaciones flash - aplic Windows) y WPF/XAML (aplicaciones Web)
Conjuntos de name spaces para implementar en las interfaces.

Cuando se tiene una interfaz muy sobrecargada de elementos gráficos se sobre carga y consume muchos recursos mientras que 

WCF
Marco de trabajo para el desarrollo de aplicciones enfocadas a la entrega de servicios, Aplicaciones bancarias, transacciones, chat en línea, sistemas asíncronos.

Sistemas asíncronos: Sistema distribuido, con arquitectura C-S pero no del sistema sino en los mensajes que se envían entre el cliente y listener.
Los mensajes se reciben sin excepción todos y envía un mensaje de que si recibió la instrucción, mientras el cliente puede seguir haciendo otras cosas, el servidor atiende el mensaje (es decir lo procesa) y devuelve un mensaje de que ya se procesó satisfactoria o negativamente.

Síncronos tiene que esperar necesariamente a una respuesta para continuar con el trabajo. El listener es uno a la vez.


VISUAL STUDIO
Los cambios de versión se han hecho porque se cambian los paradigmas de desarrollo, programación.

VS 6 aprox. HASTA EL 2000 framework 2.0 SE AGruparon las aplicaciones VB, VFox, XC, VJ

VS.net 
plataforma .net se la parcha en el 2003 y aparece una versión de framework.

VS2008 - fw 3.5 
Desempeño, escalabilidad, seguridad, ejecución, rendimiento
WPF, permite crear soluciones para distintos ambientes
Web developer.

VS2010 - FW 4.0
Cada uno brinda mas facilidades.
Ultimate: 
Premium: 
Professional: 
Developer: 

Team Foundation Server
Test
Everywher

VS 2012 - FW 4.5

Las herramientas de desarrollo no solamente brindan herramientas al programador, por lo que se preocupan en todo el ciclo de vida del desarrollo de software, por lo que complementó su entorno y creó TFS. TFS es una herramienta que permite manejar las fases ANÁLISIS  DISEÑO, IMPLEMENTACIÓN, PRUEBAS. Da una plantilla para la aplicación. También se preocupó por el control de versiones en anterioridad se manejaba VS ahora se llama Team Explorer.



API Capa de abstracción de los componentes, dll para la interacción entre el sistema y la aplicación.
COM Paradigma de programación, es un dll con mas características, por lo que evolucionó a MFC Microsoft Clases

Servidor de Aaplicaciones Tomcat, o el IIS.

JVM es multiplataforma mientras que .net no lo es.

JVM es similar a .NET framework
Compact para móviles 

Info extra WPF - WCF - WWF




Leer TFS
Identificar las nuevas características del VS2012.


Pwn2Own – 20.000 dólares por hackear Google Chrome


Hackear Google Chrome no es tarea sencilla y por eso incluso la propia compañía lo expone en Pwn2Own 2011 para dentro de unas semanas.
Los de Mountain View patrocinarán este año dicho evento y ten por seguro que harán todo lo posible porque no vuelva a ser hackeado con herramientas.
El gigante de las búsquedas y del software premiará al que lo consiga con hasta 20.000 dólares ( más de 14.000 euros al que pueda realizarlo en dicho acto ).
Lo mejor de todo es el dinero aportado que suma unos 104.999 dólares, casi 105.000 si nos ponemos así y en el que se someterá a todo sistema operativo a examen.
En Zdnet indican la prueba del software, en este caso los navegadores y son los siguientes por lista.
Navegadores
  • Google Chrome – Google
  • Safari – Apple
  • Opera – Opera Software
  • Firefox – Mozilla
  • Internet Explorer – Microsoft
Sistemas operativos
  • Android – Google
  • Windows Phone 7 – Microsoft
  • iOS – Apple
  • Blackberry OS – RIM
  • Symbian – Nokia
Se celebrará los días 9, 10 y 11 de Marzon en Vancouver ( Estados Unidos y habrá distintas jornadas, incluso con teléfonos móviles.