Desarrollo de Aplicaciones Distribuidas con Servicios Web
Transcript of Desarrollo de Aplicaciones Distribuidas con Servicios Web
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Desarrollo de Aplicaciones Distribuidas con Servicios Web
Desarrollo de Aplicaciones Distribuidas con Servicios Web
Ing. Javier Aranda PantojaIng. Javier Aranda PantojaMicrosoft Certified ProfessionalMicrosoft Certified ProfessionalEmail: Email: [email protected]@softwareandina.com
La Plataforma .NETLa Plataforma .NET
TemaTema 11
Ing. Javier Aranda PantojaMicrosoft Certified Professional
AgendaAgendaMicrosoft .NETMicrosoft .NET
ComponentesComponentes.NET .NET frameworkframework
CommonCommon LanguageLanguage RuntimeRuntimeFrameworkFramework ClassClass LibraryLibraryBeneficiosBeneficios
EnsambladosEnsamblados
La Plataforma .NETLa Plataforma .NET
Servicios Web
Servidores
Soluciones
.NET Fram
ework
& H
erramientas
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Componentes de .NETComponentes de .NET.NET .NET FrameworkFramework
Windows Windows systemsystem serverserver
Web Web servicesservices
EnterpriseEnterprise ServersServers
Herramientas de desarrolloHerramientas de desarrollo
Problemas q resuelve .NETProblemas q resuelve .NET
Windows 98 Client Windows XP Client
1. Continuamente aprender nuevos lenguajes1. Continuamente aprender nuevos lenguajes2. Volver a escribir aplicaciones2. Volver a escribir aplicaciones
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Problemas q resuelve .NETProblemas q resuelve .NET
Common Language Runtime
.NET Framework.NET FrameworkEs una nueva plataforma de ejecuciEs una nueva plataforma de ejecucióón, n, sobre la cual corren servicios y sobre la cual corren servicios y aplicaciones.aplicaciones.Consistente modelo de programaciConsistente modelo de programacióón. n. Permite usar las mismas habilidades y Permite usar las mismas habilidades y conocimientos para implementar conocimientos para implementar aplicaciones Web, Windows, maplicaciones Web, Windows, móóviles o viles o distribuidas.distribuidas.Posee un robusto ambiente de Posee un robusto ambiente de ejecuciejecucióón. Maximiza seguridad, n. Maximiza seguridad, robustez, rendimiento. Minimiza robustez, rendimiento. Minimiza conflictos de versiconflictos de versióón y desplieguen y despliegue
Ing. Javier Aranda PantojaMicrosoft Certified Professional
.NET Framework.NET FrameworkSoporta estSoporta estáándares internacionales ndares internacionales como XML, SOAP, CLI, como XML, SOAP, CLI, C#C#Esta compuesto porEsta compuesto por
CommonCommon LanguageLanguage RuntimeRuntime (CLR)(CLR)FrameworkFramework ClassClass LibraryLibrary (FCL)(FCL)
Componentes .NET FrameworkComponentes .NET Framework
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Componentes .NET FrameworkComponentes .NET Framework
Win32
MessageQueuing
COM+(Transactions, Partitions,
Object Pooling)IIS WMI
Common Language Runtime
.NET Framework Class Library
ADO.NET and XML
Web Services User Interface
ASP.NET
Visual Basic C++ C# Perl Python ...
Common Language Runtime (CLR)Common Language Runtime (CLR)
.NET Framework Class Library Support
Thread Support COM Marshaler
Type Checker Exception Manager
MSIL to NativeCompilers
CodeManager
GarbageCollector
Security Engine Debug Engine
Class Loader
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Framework Class Library (FCL)Framework Class Library (FCL)
System System
System.DataSystem.Data System.XmlSystem.Xml
System.WebSystem.Web
GlobalizationGlobalizationDiagnosticsDiagnosticsConfigurationConfigurationCollectionsCollections
ResourcesResourcesReflectionReflectionNetNetIOIO
ThreadingThreadingTextTextServiceProcessServiceProcessSecuritySecurity
CommonCommonOleDbOleDb
SQLTypesSQLTypesSqlClientSqlClient
XPathXPathXSLTXSLT
RuntimeRuntimeInteropServicesInteropServicesRemotingRemotingSerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionStateCachingCaching SecuritySecurity
ServicesServicesDescriptionDescriptionDiscoveryDiscoveryProtocolsProtocols
UIUIHtmlControlsHtmlControlsWebControlsWebControls
System.DrawingSystem.Drawing
ImagingImagingDrawing2DDrawing2D
TextTextPrintingPrinting
System.Windows.FormsSystem.Windows.Forms
DesignDesign ComponentModelComponentModel
Beneficios de .NET FrameworkBeneficios de .NET Framework
Modelo de ProgramaciModelo de Programacióón consistente y n consistente y simplificadosimplificadoDespliegue simplificado (Despliegue simplificado (deploymentdeployment))MMúúltiples plataformasltiples plataformasIntegraciIntegracióón de lenguajesn de lenguajesReutilizaciReutilizacióón de cn de cóódigodigoManejo automManejo automáático de memoriatico de memoriaDepuraciDepuracióón mejoradan mejoradaConsistente modelo de fallasConsistente modelo de fallasInteroperabilidadInteroperabilidad
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Beneficios de .NET FrameworkBeneficios de .NET Framework
Soporta estSoporta estáándares de Internet (HTML, ndares de Internet (HTML, HTTP, XML, XSLT, SOAP)HTTP, XML, XSLT, SOAP)Una clase de .NET esta disponible para Una clase de .NET esta disponible para cualquier lenguaje de .NETcualquier lenguaje de .NET
¿ Cómo obtengo el .NET Framework ?¿ Cómo obtengo el .NET Framework ?
.NET .NET FrameworkFramework 1.0, 1.1, 2.0 es 1.0, 1.1, 2.0 es distribuido como un paquete distribuido como un paquete independiente de software.independiente de software.Es totalmente gratuito.Es totalmente gratuito.Se puede descargar desde:Se puede descargar desde:http://www.microsoft.com/downloadshttp://www.microsoft.com/downloadsWindows 2003 ya lo tiene incluido.Windows 2003 ya lo tiene incluido.
Ing. Javier Aranda PantojaMicrosoft Certified Professional
¿ Dónde debo instalar el .NET Framework ?¿ Dónde debo instalar el .NET Framework ?
.NET Compact FrameworkAplicaciónWinForms Mobile
Aplicación de Consola
AplicaciónASP.NET Mobile
AplicaciónASP.NET
AplicaciónWinForms
ServidorCliente
¿Qué beneficios obtengo de esta tecnología?¿Qué beneficios obtengo de esta tecnología?
Conocer la tecnologConocer la tecnologíía ma máás moderna s moderna para el desarrollo de aplicaciones de la para el desarrollo de aplicaciones de la nueva generacinueva generacióón.n.Realizar las tareas en menor tiempo, Realizar las tareas en menor tiempo, optimizando recursos y minimizando el optimizando recursos y minimizando el riesgo.riesgo.Poder crear aplicaciones distribuidas, Poder crear aplicaciones distribuidas, Web, Windows o dispositivos mWeb, Windows o dispositivos móóviles viles con una misma base de conocimiento.con una misma base de conocimiento.
Ing. Javier Aranda PantojaMicrosoft Certified Professional
RepasoRepaso¿¿Cual es el componente principal de Cual es el componente principal de
Microsoft .NET ?Microsoft .NET ?1.1. Es compatible con todos los productos Es compatible con todos los productos
de Microsoftde Microsoft2.2. Tiene una amplia colecciTiene una amplia coleccióón de n de
mméétodos y clases de varios lenguajestodos y clases de varios lenguajes3.3. Tiene una librerTiene una libreríía de clases que puede a de clases que puede
ser utilizada para tareas tser utilizada para tareas tíípicas.picas.4.4. Es un sistema independiente a la Es un sistema independiente a la
plataforma y dispositivo diseplataforma y dispositivo diseññado para ado para trabajar en Internet.trabajar en Internet.
RepasoRepaso¿¿ CuCuááles son ejemplos de componentes les son ejemplos de componentes
de .NET ?de .NET ?1.1. Internet Internet InformationInformation ServicesServices (IIS)(IIS)2.2. Windows Server 2003Windows Server 20033.3. VBScriptVBScript4.4. ExternalExternal hardhard drivesdrives5.5. Visual Studio .NETVisual Studio .NET
Ing. Javier Aranda PantojaMicrosoft Certified Professional
RepasoRepaso¿¿QuQuéé componente de .NET ejecuta componente de .NET ejecuta
““GarbageGarbage collectioncollection””??1.1. CommonCommon LanguajeLanguaje RuntimeRuntime2.2. Web Web ServicesServices3.3. PlataformaPlataforma4.4. .NET .NET frameworkframework classclass librarylibrary
RepasoRepaso¿¿CuCuáál es la relacil es la relacióón entre Microsoft .NET y n entre Microsoft .NET y
el el frameworkframework de .NET?de .NET?1.1. El El frameworkframework de .NET es un lenguaje que de .NET es un lenguaje que
crea aplicaciones de Microsoft .NETcrea aplicaciones de Microsoft .NET2.2. El El frameworkframework de .NET es la de .NET es la
infraestructura de infraestructura de MicrosfotMicrosfot .NET.NET3.3. El El frameworkframework de .NET es un conjunto de de .NET es un conjunto de
clases que forma la librerclases que forma la libreríía de a de MicrosfotMicrosfot.NET.NET
4.4. MicrosfotMicrosfot .NET es un sistema operativo .NET es un sistema operativo sobre el cual corre el sobre el cual corre el frameworkframework de .NETde .NET
Ing. Javier Aranda PantojaMicrosoft Certified Professional
RepasoRepaso¿¿CuCuááles de las opciones son problemas les de las opciones son problemas
que resuelve el que resuelve el frameworkframework de .NET?de .NET?1.1. No existen herramientas GUI que No existen herramientas GUI que
puedan construir y desplegar una puedan construir y desplegar una aplicaciaplicacióónn
2.2. Los desarrolladores son forzados a Los desarrolladores son forzados a usar usar C#C# para construir servicios Webpara construir servicios Web
3.3. Los desarrolladores tenLos desarrolladores teníían que an que rehacer las aplicaciones dirigidas a rehacer las aplicaciones dirigidas a distintos tipos de plataformasdistintos tipos de plataformas
4.4. Los desarrolladores debLos desarrolladores debíían aprender an aprender constantemente nuevos lenguajes.constantemente nuevos lenguajes.
Recursos de .NETRecursos de .NETMSDNMSDNhttp://www.gotdotnet.comhttp://www.gotdotnet.comhttp://www.ibuyspy.comhttp://www.ibuyspy.comhttp://www.asp.nethttp://www.asp.nethttp://www.msdn.microsoft.comhttp://www.msdn.microsoft.com
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Arquitectura del .NET FrameworkArquitectura del .NET Framework
CCóódigodigo FuenteFuenteCC##
CCompiladorompilador
Managed CodeManaged CodeIL y IL y metadatosmetadatos
Modulos ManejadosModulos Manejados
EnsambladoEnsamblado
HerramientaHerramienta quequecobinacobina multiples multiples mmóódulosdulos y y archivos de archivos de recursos en un recursos en un ensambladoensamblado
CC# compiler# compiler((csc.execsc.exe))
ManifiestoManifiesto
Ing. Javier Aranda PantojaMicrosoft Certified Professional
Compilación Just in Time (JIT)Compilación Just in Time (JIT)
El CLR Compila cada ensamblado la El CLR Compila cada ensamblado la primera vez que es invocado.primera vez que es invocado.El MSIL es compilado a cEl MSIL es compilado a cóódigo nativo digo nativo antes de ser ejecutadoantes de ser ejecutado
EnsambladosEnsambladosEs la unidad bEs la unidad báásica de sica de reusoreuso, control , control de verside versióón, seguridad y despliegue de n, seguridad y despliegue de los componentes usados en el los componentes usados en el frameworkframework de .NET de .NET Contienen un Manifiesto que almacena Contienen un Manifiesto que almacena sus sus metadatosmetadatos..
Nombre y versiNombre y versióón del ensambladon del ensambladoLos archivos que conforman los Los archivos que conforman los ensambladosensambladosLas dependencias del ensambladoLas dependencias del ensambladoLa cultura y el idiomaLa cultura y el idiomaLos permisos requeridosLos permisos requeridos
Ing. Javier Aranda PantojaMicrosoft Certified Professional
EnsambladosEnsambladosEnsambladosEnsamblados simplessimplesEnsambladosEnsamblados MultiarchivoMultiarchivocsccsc //t:modulet:module MiArchivo.csMiArchivo.cs
MiArchivo.netModuleMiArchivo.netModulecsccsc //t:libraryt:library //out:multiAssembly.dllout:multiAssembly.dll//addmodule:MiArchivo.netModule,OtroArcaddmodule:MiArchivo.netModule,OtroArchivo.netModulehivo.netModule
EnsambladosEnsambladosEnsamblados EstEnsamblados Estááticos ticos
Todos sus archivos estTodos sus archivos estáán almacenados n almacenados ffíísicamente en el discosicamente en el disco
Ensamblados DinEnsamblados DináámicosmicosSe crean en tiempo de ejecuciSe crean en tiempo de ejecucióónnSe puede crear Se puede crear programaticamenteprogramaticamenteusando las clases del usando las clases del namespacenamespaceSystem.Reflection.EmitSystem.Reflection.Emit
Ing. Javier Aranda PantojaMicrosoft Certified Professional
EnsambladosEnsambladosEnsamblados privadosEnsamblados privados
Si solo trabajan con una aplicaciSi solo trabajan con una aplicacióón en n en particularparticularSon copiadas bajo el mismo directorio de Son copiadas bajo el mismo directorio de la aplicacila aplicacióón que las usan que las usa
Ensamblados CompartidosEnsamblados CompartidosPuede ser usada por mPuede ser usada por máás de una s de una aplicaciaplicacióónnSon almacenadas en una ubicaciSon almacenadas en una ubicacióón n especial GACespecial GAC
Global Assembly CacheGlobal Assembly CacheTodos los ensamblados deben tener un Todos los ensamblados deben tener un strongstrong namename (nombre fuerte)(nombre fuerte)
Nombre del ensambladoNombre del ensambladoNNúúmero de la versimero de la versióónnCulturaCulturaLlave publicaLlave publicaFirma digitalFirma digital
CLR verifica la integridad del ensambladoCLR verifica la integridad del ensambladoGAC puede guardar varias copias del mismo GAC puede guardar varias copias del mismo ensamblado. Mismo nombre pero distinta ensamblado. Mismo nombre pero distinta versiversióónnUna aplicaciUna aplicacióón puede determinar que n puede determinar que versiversióón del ensamblado quiere usar con n del ensamblado quiere usar con ayuda del ayuda del web.configweb.config o o machine.configmachine.config
Ing. Javier Aranda PantojaMicrosoft Certified Professional
EnsambladosEnsambladosEnsamblados SatelitalesEnsamblados Satelitales
Agrupan en si mismas cAgrupan en si mismas cóódigo y recursos digo y recursos ((imagenesimagenes))Guardan informaciGuardan informacióón de los recursos en n de los recursos en un archivo .un archivo .resxresxEste archivo .Este archivo .resxresx es compilado con es compilado con resgen.exeresgen.exe y crea otro archivo .y crea otro archivo .resourcesresourcesEl archivo .El archivo .resourcesresources es incluido en el es incluido en el ensamblado (ensamblado (csccsc //resourceresource))
EnsambladosEnsambladosEnsambaldosEnsambaldos solo de Recursossolo de Recursos
SSóólo agrupan recursoslo agrupan recursosSe crean usando la herramienta Se crean usando la herramienta AssemblyAssemblyLinkerLinker tooltool ((al.exeal.exe))El El namespacenamespace System.ResourcesSystem.Resourcescontiene clases para manipular recursoscontiene clases para manipular recursosGuardan informaciGuardan informacióón del idioma y culturan del idioma y cultura