Carlos Chavez

Video Tutorial : MSMQ & WCF mas practico ,fácil y en detalle no se puede !!!!

MSMQ permite que las aplicaciones que se ejecutan en distintos momentos se comuniquen a través de redes y sistemas heterogéneos que pueden estar sin conexión temporalmente. MSMQ proporciona entrega de mensajes garantizada, enrutamiento eficaz, seguridad y mensajería basada en la prioridad. Se puede usar para implementar soluciones para escenarios de mensajería asincrónicos y sincrónicos.

Este video tutorial busca que los lectores puedan entender la importancia de su uso en los escenarios descritos líneas anteriores y su aplicación a través de WCF.  El video esta dividido en 2 partes el configurar msmq y usarlo a través de una aplicación sencilla que demuestre su uso y como segunda parte la implementación de este servicio a través de WCF configurando y demostrando su uso en un ejemplo desarrollado.

Como siempre menciono , el video tutorial esta detallado y no busca ser extremadamente técnico ni hacer gala de amplitud o profundidad y tener como resultado algo que no puedan hacer , todo lo contrario la intención es que conozcan y tengan una buena experiencia usando MSMQ y WCF a través de este material , disfrútenlo.

Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (3-4) Creando Host

Esta esta la tercera entrega del video tutorial Web Service SoftWare Factory 2010 & VS 2010 veremos  “Creando Service Contract”,  si usted llego a este link directamente le recomiendo revisar las entregas anteriores  , las mismas las encontrara en los siguiente enlaces:

Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (1-4) Introducción , Data Contracts
Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (2-4) Creando Service Contract

Como siempre el Video tutorial esta detallado y no busca ser extremadamente técnico ni hacer gala de amplitud o profundidad y tener como resultado algo que no puedan hacer , todo lo contrario la intención es que conozcan y tengan una buena experiencia usando WSSF a través de este material , disfruten esta segunda parte y como siempre espero sus comentarios.

Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (2-4) Creando Service Contract

Esta esta la segunda entrega del video tutorial Web Service SoftWare Factory 2010 & VS 2010  veremos “Creando Service Contract” ,  si usted llego a este link directamente le recomiendo revisar la primera parte de este tutorial , el mismo lo encontrara en el siguiente enlace:

Video Tutorial: Web Service SoftWare Factory 2010 & Visual Studio 2010 (1-4)

Como siempre el Video tutorial esta detallado y no busca ser extremadamente técnico ni hacer gala de amplitud o profundidad y tener como resultado algo que no puedan hacer , todo lo contrario la intención es que conozcan y tengan una buena experiencia usando WSSF a través de este material , disfruten esta segunda parte y como siempre espero sus comentarios.

Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (1-4) Introducción ,Creando Data Contracts

Hola , quiero compartir con ustedes este video tutorial de Web Services SoftWare Factory 2010 & Visual Studio 2010 , espero que sea de su agrado y espero como siempre sus comentarios , en el video verán algunos requisitos los cuales se encuentran a continuación para su descarga.

Visual Studio 2010 SDK
Web Service Software Factory 2010
GAX 2010
GAT 2010

El Video tutorial esta detallado y no busca ser extremadamente técnico ni hacer gala de amplitud o profundidad y tener como resultado algo que no puedan hacer , todo lo contrario la intención es que conozcan y tengan una buena experiencia usando WSSF a través de este material , disfrútenlo.

Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (4-4) Implementando y consumiendo el Servicio

Esta esta la cuarta entrega del video tutorial Web Service SoftWare Factory 2010 & VS 2010 , en esta ultima entrega veremos “Implementando y consumiendo el servicio” , si usted llego a este link directamente le recomiendo revisar las entregas anteriores , las mismas se encuentran en los  siguientes enlaces:

Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (1-4) Introducción ,Creando Data Contracts
Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (2-4) Creando Service Contract
Video Tutorial: Web Service SoftWare Factory 2010 & VS 2010 (3-4) Creando Host

Como siempre el Video tutorial esta detallado y no busca ser extremadamente técnico ni hacer gala de amplitud o profundidad y tener como resultado algo que no puedan hacer , todo lo contrario la intención es que conozcan y tengan una buena experiencia usando WSSF a través de este material , disfruten esta ultima entrega y bienvenidos serán vuestros comentarios.



 

Código para la implementación y consumir el servicio

 

Product.cs
----------------------------------
public class Product
{
    public int ProductId { get; set; }
    public String ProductName { get; set; }
    public int CategoryId { get; set; }
}


ConnectionManager.cs
------------------------------------

   internal sealed class ConnectionManager
    {
        public static SqlConnection GetConnection()
        {
            string connectionString = ConfigurationManager.ConnectionStrings["NorthWind"].ConnectionString;
            SqlConnection connection = new SqlConnection(connectionString);
            connection.Open();
            return connection;
        }

 


ProductDataAccess.cs
------------------------------------------
  public List<Product> GetAllFromProducts()
        {
            SqlDataReader readerproduct;
            List<Product> products = new List<Product>();
            using (SqlCommand cmdGetAllFromProducts = new SqlCommand("Select ProductId,ProductName,CategoryId From Products", ConnectionManager.GetConnection()))
            {
                cmdGetAllFromProducts.CommandType = CommandType.Text;
                readerproduct = cmdGetAllFromProducts.ExecuteReader(CommandBehavior.CloseConnection);
                while (readerproduct.Read())
                {
                    Product obj = new Product();
                    obj.ProductId = readerproduct.GetInt32(0);
                    obj.ProductName = readerproduct.GetString(1);
                    obj.CategoryId = readerproduct.GetInt32(2);

                    products.Add(obj);
                }
            }
            return products;

        }
     
    }

 

ProductBusinessLogic.cs
-------------------------------
    public List<Product> GetAllFromProducts()
        {
            ProductDataAccess objProducto = new ProductDataAccess();
            return objProducto.GetAllFromProducts();
        }


NWService.cs
------------------------------
  ResponseMessage respuesta = new ResponseMessage();
            ProductBusinessLogic objlogic = new ProductBusinessLogic();
            List<Product> listaProductos = objlogic.GetAllFromProducts();
            ProductDataContract objProducto;
            respuesta.ListaProductosPart = new ProductDataContractCollection();

            foreach (Product item in listaProductos)
            {
                objProducto = new ProductDataContract();
                objProducto.ProductId = item.ProductId;
                objProducto.ProductName = item.ProductName;
                objProducto.CategoryId = item.CategoryId;
                respuesta.ListaProductosPart.Add(objProducto);
            }
            return respuesta;

 

Web.Config
----------------------
    <connectionStrings>
        <add name="NorthWind" connectionString="Data Source=CARLOS-PC\SQLEXPRESS;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=P@$$w0rd"

providerName="System.Data.SqlClient"/>
    </connectionStrings>

 

ResultGrid

--------------------

//Close();
NWServiceContractClient Proxy1 = new NWServiceContractClient();
this.dataResults.DataSource = Proxy1.SelectAllOperation();
List<Product> listaProductos = new List<Product>();
Product objProducto;
var resultado = Proxy1.SelectAllOperation();

foreach (var item in resultado)
{
    objProducto = new Product();
    objProducto.ProductId = item.ProductId;
    objProducto.ProductName = item.ProductName;
    objProducto.CategoryId = item.CategoryId;
    listaProductos.Add(objProducto);
}

this.dataResults.DataSource = listaProductos;

ScreenCast: Consumiendo un Servicio WCF desde un equipo Móvil

Antes de ver el ScreenCast debo comentarles:

Hace algún tiempo me consultaban como comunicar un dispositivo móvil con un servicio WCF[Windows Communication Foundation] , sin embargo me escribieron indicándome que habían seguido los pasos de algunos post pero sin éxito.

Trate de revisar el caso ya que aparentemente revisando los pasos todo estaba correcto y efectivamente no se generaba el proxy  devolviendo  un error de :

C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin\NetCFSvcUtil http://192.168.137.1:8001/ServicioMantenimiento
Microsoft (R) .NET Compact Framework Service Model Metadata Tool [Microsoft (R) Windows (R) Communication Foundation, Version 3.5.0.0] Copyright (c) Microsoft Corporation.  All rights reserved.
Attempting to download metadata from
http://192.168.137.1:8001/ServicioMantenimiento  using WS-Metadata Exchange or DISCO.
Error: An error occurred in the tool.
Error: Error in the application.

Bueno revisando NetCFSvcUtil de los Power Toys for .NET Compact Framework 3.5 que nos permite crear un proxy para WCF para poder consumir el servicio me di con la sorpresa que solo se puede usar en XP, 2003 y no esta disponible en Vista o Windows 7 , eso quiere decir que se recomendaba usar estas otras opciones para generar nuestro proxy , sin embargo el equipo actualizo el ejecutable NetCFSvcUtil  así que solo tenemos que ir a la dirección  C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin y remplazar NetCFSvcUtil.exe por la nueva versión de NetCFSvcUtil .exe que si corre en Windows 7 que lo pueden bajar de esta dirección  http://download.microsoft.com/download/6/2/0/6205ED05-E435-44FC-AA82-B763CA5F8B1A/NetCFSvcUtil.exe y listo así que después grabe un ScreenCast para que vean como quedan los pasos , espero les sea útil en el momento que quieren conectar su equipo móvil a un servicio WCF.

Estaré atento a todas sus consultas y comentarios , saludos desde Lima-Perú .

Video Tutorial 1 –ADO Net Sync FrameWork

En el post anterior  de SQL Server CE comentamos como podria usarse en entornos OCS; ya sea en aplicaciones mobile o incluso en proyectos Winform , en este ejemplo sencillo de 2 niveles  veremos como usar una cache local (.sdf) y como puese sincronizarse con un servidor de base de datos SQL Server usando ADO Net Sync Services , puede descargar el video paso a paso de este link , pretendo que quien este iniciando en temas de Sync Services pueda serle de utilidad luego veremos otros escenarios  como en mobile projects.

Saludos Carlos

SQL Server Compact Edition, Embedded Database y como usarla para las construccion de aplicaciones desktops y mobile devices

Cuando conversamos sobre aplicaciones de tipo embedded no necesariamente moviles , podria ser una aplicacion de linea industrial , un equipo medico un dispensador de combustible , etc , la pregunta es que base de datos podrian usar esos dispositivos.
Bueno en algunos casos estos sistemas usan base de datos tipo dbf , otros manejan ficheros , otros SQL Lite , otros Microsoft SQL ,  – Microsoft SQL ? –  que version ? , pues en estos casos la base de datos incrustada es la de SQL Server Compact Edition y sobre esta saltan muchas preguntas sobre sus requisitos , capacidades de almacenamiento etc , veamos algunas.

Vamos a ver SQL Server Compact Edition es una base de datos compacta ideal para ser incrustada en aplicaciones móviles y de escritorio ofrece funcionalidad de base de datos relacional en un espacio reducido necesita menos de 2 MB de espacio en disco y sólo 5 MB de memoria. Además de administrar datos locales, SQL Server Compact Edition admite la sincronización con otras ediciones de Microsoft SQL Server. SQL Server Compact Edition proporciona características que permiten a los programadores crear aplicaciones que funcionen eficazmente en el entorno actual, cada vez más “conectado ocasionalmente” .

La tabla a continuacion despejara cualquier duda con repecto a las siguientes categorias Features ,Programmability y  Data Files, espero que algunas dudas puedan depejarse.

New Picture

New Picture bbNew Picture aa

Unboxing Phidget Intro Kit – Embedded Development y la vuelta de Net fuera dela PC

Esta en marcha Imagine Cup 2010 , la competición a nivel internacional que persigue la aplicación creativa de la tecnología a la vida real.

Algunas de las categorías del  Imagine Cup 2010 son :
Diseño de software
Reto IT,
Desarrollo embebido,
Robótica

Algoritmos,
Desarrollo de juegos
Diseño

Es la segunda vez que participo en el Imagine Cup la primera como jurado y esta segunda oportunidad indirectamente en la difusión de las categorías remarcadas , como digo siempre , si desarrollar aplicativos o software es apasionante para muchos , implementar sistemas para dispositivos como por ejemplo televisión, xbox, celulares, equipos industriales es mucho mas apasionante .

Esta es la crónica de la llegada de este Kit a el laboratorio.

Capitulo 1 : “El día que nunca termina “

Ayer 2 de Febrero  intercambiando unos emails ,mensajes  con Ronald Armas  , me comento que ya se encontraba en las oficinas de Microsoft Peru el Kit de Phidged y que podía pasar por el  para la preparación de algunas demostraciones para lo que se denominara el “Embedded Development Imagine Cup 2010 Demoshow” , bueno después de ver el Kit de MicroFrameWork en manos de Fernando Perez *El Bull” un colega peruano  ,esto se ponía aun mas interesante , otro kit para el laboratorio por fin  en nuestras manos .

Capitulo 2: “El Kit en la mesa”

Casi las 12 am y toca realizar el unboxing respectivo tenemos ya el Phidget Intro Kit  este incluye entre otras cosas RFID Tag ,disc RFID Tags , Credit card sized RFID Tags ,Keyfob RFID Tags , un servo motor , sensores de movimiento , sensores de luz , sensores de rotación , potenciómetros , entre muchas cosas interesantes para el desarrollo de aplicaciones incrustadas.

Les dejo algunas de las fotos , esperando que no se notara la emoción del post jeje , si así espero vuestra compresión .

 

000_0001a000_0002c000_0007h000_0006y000_0005t000_0004f000_0003f\

 

En futuros post estaremos documentado el uso que le daremos a este Kit así como a el Kit de MicroFrameWork y todo lo que tenga que ver con Windows y Net fuera de la PC, Saludos.

Solo para Peru: Interesados en Embedded Development pueden acompañarnos en los diferentes eventos sobre esta categoría , los datos a continuación:

La ruta empieza en:

Conferencia : Embedded Development Imagine Cup 2010 Demoshow

Miercoles 17 de Febrero 2010 6:30 PM-9:30 PM.
Conf Room  Microsoft Peru
Av. Avenida Victor Andres Belaunde #147
Centro Empresarial Lima / Lima / San Isidro

Agenda:

6:30-7:00 PM :keynote Microsoft en el mundo de las soluciones industriales
7:00-8:00 PM :Desarrollo Embebido : Windows Embedded CE 6.0 R3
8:00-9:00PM :NET MicroFrameWork

Todas las PPT y videos de las demostraciones las estaré publicando prometo no dejar el Blog descuidado , lo prometo Saludos CCH

Modelando y Asegurando Servicios {WebCast}

El Domingo 5 , 9:30 am fui invitado a un WebCast sobre como modelar  y asegurar Servicios , donde explicamos paso a paso lo descrito en las anteriores entregas sobre el modelamientode servicios asi como el aseguramiento  de los mismos viendo los principales modelos , en las siguientes entregas veremos como asegurar los Servicios aprovecho para entregar la PPT , un saludo Carlos Chavez.

Implementar Services Software Factory Modeler Edition en nuestras aplicaciones (Parte 2 de 3)

Continuamos con el post acerca de Services Factory Modeler Edition 2-3  los post anteriores podra encontrarlos en los siguientes enlaces:

Modelar servicios con Web Services Software Factory Modeler Edition
Implementar Services Software Factory Modeler Edition en nuestras aplicaciones (Parte 1)

Para continuar con nuestra implementacion abriremos el modelo de contratos de datos creado y generaremos  el codigo como muestra el siguiente grafico:

3407931384

Luego abriremos el modelo de servicio y generaremos el codigo ,lo generado se implementara en la estructura de proyectos generada que vimos en el post Implementar Services Software Factory Modeler Edition en nuestras aplicaciones (Parte 1) ,en el siguiente grafico se muestra el modelo de servicios.

3407123803

Para completar nuestra aplicacion puede descargar las clases que corresponden en las diferentes capas de nuestras aplicacion las puede descargar desde aqui ,Ya que podra descargarlas clases e ir completando la implementacion vale resaltar justo la implementacion “ServicesImplementation” donde toma la informacion de la entidad y la pasa al mensaje y finalmente enviandola ,  el codigo se muestra a continuacion.

public virtual NorthWindWCFService.MessageContracts.ResponseProductsMessage SelectAllOperation()
      {
          ResponseProductsMessage respuesta = new ResponseProductsMessage();
          ProductBusinessLogic objlogic = new ProductBusinessLogic();
          List<Products> listaProductos = objlogic.GetAllFromProducts();
          ProductDataContract objProducto;
          respuesta.ProductDataContractMessagePart = new ProductDataContractCollection();
          foreach (Products item in listaProductos)
          {
              objProducto = new ProductDataContract();
              objProducto.ProductId = item.ProductID;
              objProducto.ProductName = item.ProductName;
              objProducto.CategoryID = Convert.ToInt32(item.CategoryID);
              respuesta.ProductDataContractMessagePart.Add(objProducto);
          }
          return respuesta;
      }

 

Finalmente desde la aplicacion cliente podemos invocar al servicio y hacer la conversion del mensaje a un tipo entidad para poder finalmente mostrar la informacion  , Descargue el ejemplo completo desde este link   , Saludos Carlos

Implementar Services Software Factory Modeler Edition en nuestras aplicaciones (Parte 1)

Siguiendo con la entrega anterior Modelar Servicios con Web Services Software Factory Modeler Edition  ,  en esta parte revisaremos como hacer la implementacion , luego nos dirigimos a la solucion pulsamos un click derecho y seleccionamos WCF implementation Project..

3402693857

en el instante que pulsa el click sobre la opcion WSSF empezara a construir una estructura para su Servicio  , al finalizar la construccion su servicio contara con la siguiente estructura:

3403505854

Por mensionar alguno de los proyectos encontrados en la construccion de nuestro servicio:

1-BusinessEntities .- Que corresponde a nuestras entidades de negocio las entidades que usamos dentro de nuestros proyectos.
2-BusinessLogic .- Nuestro proyecto que contiene la plomeria de la logica de negocio.
3-DataAccess .- Proyecto que implementa los metodos de acceso a datos.
4-Data Contracts .- Son las estructuras m interfaces o clases que permite que el servicio envie informacion que se pasa hacia y desde un servicio , en pocas palabras vealo como la estructura y el tipo de mensaje que se intercambiaran entre servicios.

[DataContract(Name="PersonType")]
public class Person{
[DataMember]
public string Name;

[DataMember(IsRequired=true)] // Por defecto es false
public string Age;
}

5-FaultContracts.-Los contratos de fallas se pueden asumir como las exepciones en nuestra aplicacion , quiere decir son reportes de errores usando Fault Objects.

[OperationContract]
[FaultContract(typeof(System.Exception))]
void MyMethod();

6-MessageContracts- Describe todo el formato de los mensajes SOAP ,También permiten controlar los Head y Body de los mensajes SOAP de forma explicita.

[MessageContract]
public class MyRequest {
[MessageHeader] public string field1;
[MessageBody] public MyClass field2;
}

6-Services Contracts.- Define las operaciones que el servicio soporta y mapea las operaciones en WSDL.

[ServiceContract]
public interface IMyContract { ...}

7-Services Implementation .- Donde se encuentra la implementacion del Servicio es decir aca es donde colocamos la plomeria o el lugar donde podamos amarrarlo a nuestra capa logica y ejecutar nuestros metodos.

8-Host.- Se refiere al entorno en el que se crea y expone el servicio y la forma en que se controla su tiempo de vida.
Pude consultar este interesante Link de como se puede hostear servicios WCF

Resumen.

Si revisamos la documentacion de WSSF Modeler Edition notara como se asocian los diferentes proyectos y su relacion con los modelos elaborados en el post anterior.

3404775793

 

En el Siguiente post veremos la segunda parte de como implementar WSSF en nuestras aplicaciones un saludo , Carlos Chavez

Modelar servicios con Web Services Software Factory Modeler Edition

Para integrar aplicaciones  como en el caso de Dynamics (CRM , AX)  se puede hacer uso de Servicios Web para Windows sea WCF o ASMX .
Web Service Factory  Modeler Edition es un conjunto de herramientas , patrones , codigo  y guias  que ayudara mucho en la creacion de  Servicios ASMX o WCF.

En esta primera parte aprenderemos en como podemos  generar un servicio web mediante la creación de tres modelos diferentes: el modelo de contrato de datos, el modelo de contrato de servicio y el modelo de host.

Bueno luego de instalar Web Service Factory  Modeler Edition , crearemos un nuevo proyecto , el tipo de proyecto sera Guidance Package /Model Project en la vista de templates.

3403502948

 

Luego de crear el proyecto nos dirigimos al menu Tools / Guidance Package Manager /Enable /Disabled Package y seleccionamos Service Factory Modeling Edition.

Nota- Concuerdo con algo que lei  en un post que el nombre correcto es Services Factory sin la palabra Web , “por que todo el trabajo se basa en WCF y uno de los principales objetivos WCF es el constrir servicios independientemente de su implementación en transporte y serializacion.

3403503908

 

En la solucion vera un nodo con el nombre de su proyecto cuando le un click derecho vera que puede agragarle un nuevo modelo , para este caso crearemos un modelo de Datos.

Modelo de contrato de Datos

En este caso estamos agregando un DataContract model ingresamos un ModelNamey un XML NameSpace.

3403509776

El modelo de contrato de datos permite modelar conjuntamente diferentes clases de datos. Además de definir los tipos básicos como elementos de contrato, puede definir también colecciones, enumeraciones y contratos con errores. Los contratos con errores pueden devolverse cuando se produce un error en el servicio.

Para nuestro caso creamos un DataContract Para Product con sus respectivos miembros , luego agregamos un DatacontractCollection que representa la coleccion (Products)  .

3403507256

Finalmente para terminar de revisar  la documentacion de WSSF y revisar el Modelo de Contrato de Datos encontrara con este interesante grafico del sisenio de actividades dentro de este modelo.

 3402697573

 

Modelo de Contrato de Servicios

Ahora crearemos un modelo de Servicio Contract Model de la misma manera agregamos un nuevo modelo ingresamos el nombre y el XML NameSpace.

3403510388

 

En el diseniador creamos nuestro modelo para el servicio en este caso contamos con un servicio “Service” NorthWindService1 , este servicio cuenta con un Service Contract , este cuenta con 2 Operaciones “Operation”de nuestro servicio una es para SelectBy y la otra es SelectAllOperation , la primera nos devolvera un Producto de una determinada categoria por eso tiene un mensaje “Message”  de entrada para pasarle el parametro y un mensaje de salida Response Product que devolvera la coleccion Products.

Sin encambio SelectAllOperation solo devuelve un mensaje de salida de todos los productos ,es este un ejemplo de como modelar nuestros servicios.

3402696861

Cada operación de un modelo de contrato de servicio puede tener un máximo de dos contratos de mensajes asociados: un contrato de mensajes para el mensaje de solicitud y otro para el mensaje de respuesta. Puede agregar partes a un contrato de mensajes haciendo clic en él con el botón secundario del mouse. Una parte puede ser un tipo primitivo, como por ejemplo System.Decimal, o bien un contrato de datos como el definido en el modelo de contrato de datos.

Finalmente para terminar de revisar  la documentacion de WSSF y revisar el Modelo de Contrato de Datos encontrara con este interesante grafico del sisenio de actividades dentro de este modelo.

3403506628

 

En el siguiente Post haremos un resumen y pasaremos a conversar del modelo de host y como generar en base a todo esto nuestro proyecto para el servicio y como implementarlo en una aplicacion.

Posted: 1/4/2009 18:40 por Carlos Chavez | con 1 comment(s)
Archivado en:
BITS (Background Intelligent Transfer Service) , Jobs , .NET y una de las respuestas de como pasar archivos grandes por http


Inicio

Hace algunas semanas conversando con mi amigo Ricardo Masabel sobre alternativas de como poder transmitir informacion “Con ciertos kilos de peso” via http , es de repente unas de las preguntas mas frecuentes al hablar de transmitir informacion,  para dar solución  evaluamos  alternativas , una de ellas es  BITS (Microsoft Background Intelligent Transfer Services) para el manejo de transferencia de archivos de forma asíncrona.

Caso:

El marco del problema fue la de procesar y validar  informacion para su manejo local y transmitir los resultados -archivos entre  250mb y 4gb – via http para su posterior ingreso a tablas en el servidor.

3373842193

Detalle del Servicio Utilizado:

Nombre: Servicio de transferencia inteligente en segundo plano.
Nombre en Inglés: Background Intelligent Transfer Service (BITS).
Ejecutable o DLL: qmgr.dll
Modo: Utiliza los espacios disponibles en la conexión para la transferencia de datos.

Comportamiento:

Maneja transferencias de archivos de forma asíncrona en primer plano o de fondo,  y  así preservar la capacidad de respuesta de otras aplicaciones de red, Se  crearan  Jobs o y transferencia para  supervisar el progreso de la transferencia de Jobs  en la cola.

3374697082

Algunas Caracteristicas:

Transferencia Reiniciables - Para transferir archivos, requiere una conexión de red y el usuario que ha creado el Job  que se registran en el ordenador. Si la conexión de red se pierde o el usuario cierra la sesión, se suspende el trabajo. Luego reanuda automáticamente el job desde donde lo dejó previamente cuando la conexión de red se restablece.

Seguridad-La solución podrá ir apoyada  básicamente de  NTLM, Negotiate, Recopilación, y la autenticación de Passport. apoya los protocolos HTTP y HTTPS cuando la privacidad y la integridad del trabajo es una preocupación.

Instalacion y Prueba Inicial

Primero instalaremos las extensiones BITS en el servidor IIS.

1-Nos dirigimos a Add/Remove Programs del panel de control.
2-Luego Add/Remove Programs y click en Add/Remove Windows Components del menú de la izquierda.
3-Click en Application Server y darle un click Details.
4-Click en Internet Information Services (IIS) y click en Details.
5-Marque Background Intelligent Transfer Service (BITS) Server Extensions y click en OK como se muestra en el siguiente grafico.

3375783250

6-Ahora nos dirigimos al IIS y creamos un directorio virtual “upload”, que apunte a un directorio físico “Upload”.

Consideraciones:

a)-El nombre del directorio físico y virtual puede renombrarse.
b)-Se tiene que colocar permisos al directorio virtual “Upload” de lectura y escritura.
c)-En el directorio virtual tomar en cuenta en la ficha Directory Security /Edit Deshabilitar la opción Enabled Anonymous Access , de no tomar en cuenta este paso cualquier usuario sin “autentificarse” podría transmitir archivos al servidor.
e)-Para acompañar la configuración en el paso (c), deberá asignar un usuario o grupo a la carpeta física así solo los usuarios del AD (Active Directory), pueden autentificarse y transmitir archivos al servidor.

*Para nuestro demostracion inicial puede trabajarlo de manera anonima

El siguiente grafico nos muestra  lo indicado en la consideracion (a) verificar que la opción read y write estén marcadas en el directorio virtual.

3374979019

El siguiente grafico nos muestra  lo indicado en la consideracion (c) verificar que el Check enabled anonymous Access se encuentre desmarcada, para que solo los usuarios autentificados puedan transmitir archivos.

Si está realizando pruebas iníciales puede mantenerlo activado para aceptar usuarios anonimos y la carpeta física encontrarse en “everyone”  control total , para que inicialmente pueda ver la prueba de la transmisión de manera anónima.

3374988609

7-para activar la opción de BITS en el directorio virtual nos dirigimos a la ficha BITS Server Extensión y marcamos las siguientes opciones:

a-Allow clients to transfer data to this virtual directory.
b)-Marque la opción Customize Settings
c)-La opción Maximum file Size indica el tamaño máximo de un archivo a transmitir por defecto en el cliente no se definió el tamaño exacto por que el requerimiento era de 300mb , 400mb , 1GB o NGB , no se marca la opción.
d)-Marcamos la opción Delete incomplete Jobs after e indicar en qué momento quiere que se eliminen los Jobs que quedaron suspendidos por algún error, esta configuración tiene como valor por defecto 14 días.

El siguiente grafico nos muestra las propiedades de  BITS en el servidor.

3374992851

8-Verificar en el servidor start/administrative tools/Services , para verificar el servicio de BITS se encuentre activo como se muestra en la siguiente grafico.

3375813668

Pruebas de transmisión

Para realizar las pruebas de transmisión usaremos el comando bitsadmin.exe desde la línea de comandos.

Requisitos:

1-Windows Vista (Incluido)
2-Windows XP (Herramientas de soporte técnico de Windows XP Service Pack 2)
http://www.microsoft.com/downloads/details.aspx?familyid=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=es

3-Windows 2003 (Windows Server 2003 Service Pack 1 Support Tools).
http://www.microsoft.com/downloads/details.aspx?FamilyId=6EC50B78-8BE1-4E81-B3BE-4E7AC4F0912D&displaylang=en

Prueba 1:

Asumiendo que la carpeta está aceptando everyone y el directorio virtual está aceptando autentificación anónima ejecutamos el siguiente comando:

bitsadmin /transfer MEMJob1 /Uploads /priority normal http://MIAMI/Uploads/archivo.dbf "D:\ArchivoOriginal.dbf"

Donde:
/transfer – es el comando de transferencia MEMJob1 el nombre del Job
/Upload o /Download – Parámetro que indica si se sube o descarga un archivo.
/Priority  - Prioridad.
http://MIAMI/Uploads/archivo.dbf - archivo.dbf nombre del archive que tendrá en el servidor.
D:\ArchivoOriginal.dbf – Ruta y archivo original en el cliente.

Resultado de la Prueba:

El grafico siguiente nos muestra la prueba del servicio transmitiendo un archivo de 1GB , cuando termine el proceso de envió en el servidor se deberá encontrar el archivo , con esta prueba tendremos claro que el servicio está corriendo sin problemas.

*Para ver el estado de la transmision solo invocamos al siguiente comando bitsadmin /monitor

3375830204

Prueba 2:

Carpeta física está asociado a un grupo o usuario.
En este caso el directorio virtual desactivaríamos la opción acceso anónimo y ejecutamos de la siguiente manera Bitsadmin con autentificación:

bitsadmin /create /upload PruebaCarga1
bitsadmin /addfile PruebaCarga1 http://MIAMI/Uploads/archivo.dbf "D:\archivooriginal.dbf"
bitsadmin /setcredentials PruebaCarga1 SERVER NEGOTIATE DOMINIO\userCarlos P@$$w0rd
bitsadmin /setpriority PruebaCarga1 NORMAL
bitsadmin /resume PruebaCarga1

Conclusiones:

El servicio BITS ya implementa toda la plomeria de trabajo con Jobs , Colas para temas de disponibilidad , manejo de transferencias reiniciables , el siguiente comando reiniciaria la transferencia.

bitsadmin /resume PruebaCarga1

Con esta prueba solo mostramos el uso del servicio logicamente existen “Background Intelligent Transfer Service .NET Wrapper” para la manipulacion de esta api desde nuestras aplicaciones NET pero segun sus comentarios y si fue de su interes enviamos la segunda parte , Saludos Carlos Chavez

Posted: 22/3/2009 16:35 por Carlos Chavez | con 1 comment(s)
Archivado en:
TechNet Summit 08

El día 25 de Septiembre se llevo a cabo el Technet Summit 08 en el cineplanet Alcazar en Lima Perú , estuve asignado a el track 2 y junto con Jorge Oblitas compartimos con los presentes lo mejor de IIS 7, como siempre me dio gusto compartir nuevamente los escenarios con Elias Mereb de Venezuela , Jose Espinoza (JELP) , Alex Le Bienvenu , Juan Mestas , Eduardo Valdivia , Javier Ron de Ecuador y Jorge Oblitas .
Luego de un par de amanecidas todo quedo OK como siempre , a las 6 am del mismo día del evento todo quedo OK regresamos a Microsoft nos cambiamos y regresamos al evento , ese mismo día no pudimos celebrar solo almorzar y dormir , hasta el día sábado que por fin pudimos reunirnos ya que horas después nuestro amigo Javier Ron tenia que tomar un vuelo, todas las cosa que pasan previos a un evento pruebas y ensayos , para darles a todos un evento que salió a mi parecer muy bueno.


Dejo esta foto para el recuerdo : Centro Cultural Peruano Japones – Lima Perú

 

friends

Elias Mereb,Percy Reyes , Javier Ron,Juan Mestas , Carlos Chavez , Julio Campos , Daniel De La Haza

Posted: 29/9/2008 20:45 por Carlos Chavez | con 2 comment(s)
Archivado en:
I'm {HERO}

A pesar que este post esta un poco pasadito de tiempo igual queriamos compartirlos este anno 2008 como Percy Reyes lo comento http://geeks.ms/blogs/ozonicco/archive/2008/02/28/75170.aspx estuvimos muy contentos de estar como invitados en el evento del lanzamiento Launch 2008 que se realizo el 4 de Marzo en el SwissHotel Evento  importante de este año organizado por Microsoft donde se lanzará los nuevos productos estrellas como Visual Studio 2008,  Windows Server 2008 y SQL Server 2008. 

Detalles Evento:

  • Fecha: Martes 4 de marzo
  • Lugar: Swissotel, segundo nivel
  • Dirección: Vía Central 150, Centro Empresarial Real, San Isidro, Lima
  • Hora: 12:30 p.m.

Los temas que vimos fue las novedades de Visual Studio 2008 , Evento que tomo sus días de internamiento para tener todo listo , Amanecidas , Pizza , Gaseosa , mas Pizza , mas amanecidas pero todo con mucho cariño para ustedes , unas fotos de Ciudad de {HEROES} en Lima Peru - 2008

 

Todos los ponentes, Alex ,Juan , Jorge Castillo,J Obitas,su servidor , Rafael y Oscar {HEROES} Mauricio Sougarret,Juan Pablo y Yo despues del evento.
heroes2 heroes3
Jorge Castillo {HEROES} tomandose fotos ,BackStage
heroes4 heroes1
Enpieza el evento {Ciudad de Heroes} {HEROES} Cenando despues del evento.
Foto1 foto4
Mauricio Sougarret



{Ciudad de Heroes} Nos vemos hasta la proxima

Posted: 16/3/2008 1:06 por Carlos Chavez | con 1 comment(s)
Archivado en: