Taller No.1_ Plataforma_NET
PRESENTADO POR:
JENNY JACQUELINE DIAZ PALACIO
EDIT JOHANNA DIAZ PALACIO
OSCAR CARRILO FERNANDO AMAYA
ENTREGADO A:
SANDRA ESPERANZA SANCHEZ BARRAGAN
UNIVERSITARIA DE COLOMBIA
SISTEMA DE LA INFORMACION
INGENIERIA DE SISTEMAS
6º SEMESTRE
2016
Actividadesde Reflexióninicial.
¿Cómo la plataforma .NET mediante sus diferentescomponentesnospermite desarrollare
integrar aplicacionesde software?
Rta: La plataforma.NET noestá atada a un determinadolenguaje de programaciónni favorece
a uno determinadofrente aotros.En laactualidadexistenimplementacionesparavarias
decenasde lenguajesque permitenescribiraplicacionesparalaplataforma.NET.Los más
conocidossonVisual Basic.NET,C# y J#.
Actividadesde contextualizacióne identificaciónde conocimientosnecesariosparael
aprendizaje.)
En equiposde trabajode 2 estudiantesidentificarylistarlascaracterísticasde los diferentes
tiposde aplicacionesde software que utilizan comúnmente,observanoutilizan.
Actividadesde apropiación del conocimiento(ConceptualizaciónyTeorización).
- Consulte lasdiferentesdefinicionesde laplataforma .NET.
Rta: Definiciones:
La plataforma.NETde Microsoftes uncomponente de software que puedeserañadidoal
sistemaoperativoWindows.Provee unextensoconjuntode solucionespredefinidaspara
necesidadesgeneralesde laprogramaciónde aplicaciones,yadministralaejecuciónde los
programasescritosespecíficamente conlaplataforma. Estasoluciónesel productoprincipal
enla ofertade Microsoft,y pretende serutilizadaporlamayoría de las aplicacionescreadas
para la plataformaWindows.
NET Frameworkesunentornopara construir,instalaryejecutarserviciosWebyotras
aplicaciones.Se compone de trespartesprincipales:el CommonLanguage Runtime,lasclases
FrameworkyASP.NET"
El .NET Frameworkesel corazónde .NET, cualquiercosaque queramoshacerencualquier
lenguaje .NETdebe pasarporel filtrocualquierade laspartes integrantesdel .NETFramework.
- Busque cuál es la estrategia y objetivode la plataforma .NET?
Rta: Es claro entoncesque el objetivode laplataforma.NETessimplificarel desarrollode
aplicacionesWeb.Proveelasherramientasytecnologíasparatransformara Internetenuna
plataformade computacióndistribuidaengranescala.Estaplataformaademás soportalos
estándaressobre loscualesse basanlosserviciosWeb.
Plataforma.NETEstrategias
Estrategiasde Desarrollo
• Facilitarla integracióndel software permitiendoDiversasplataformas(Windows,UNIX,
Mainframe) (Windows,UNIX,Mainframe) Diferentesmiddleware de componentes (DDE,
COM, CORBA) (DDE,COM, CORBA) Diferentessistemassoperativos.
• HomogeneizarlenguajesmedianteSistemade TiposComúnBibliotecade Clasesbase
comunes.
• Redefinir solucionespreexistentescomosoluciones preexistentescomoservicios.
• Simplificarlaformade programar mediante Orientaciónaobjetos plena:clases,interfaces,
, constructores, atributos,métodos,herencia inter-lenguajes,…Herramientasyentorno
comunespara todoslosdesarrollos.Interoperabilidadpre-construida(conCOM,construida
(conCOM, DLL’s, etc.) Frameworkque liberaal programadorde muchas tareas:memoria,que
liberaal programadorde muchas tareas:memoria,seguridad,etc.
EstrategiasImplantación
• i Instalaciónde impactocero Aplicacionesycomponentescompartidosoprivados
• Ejecución“side-by-side”Coexistenciade variasversionesdelmismocomponente.
• Ensamblados (Assemblies) Colecciónde funcionalidadcreada,versionadae implantada
como unaunidadde implementaciónúnica(incluyendounoovariosarchivos) Sonauto
descriptivos tiempode ejecuciónse resuelvenlasreferenciasentre componentes,se
resuelvenlasreferenciasentre componentes,se garantizalapolíticade enlace de versionesy
se validala integridadde losensambladoscargados. El Manifiesto(Manifest)contiene los
metadatosdel ensambladoincluyendolosarchivosque implementanel ensamblado las
dependenciasentiempode compilaciónconotros ensamblados,los tiposyrecursosque
formanel ensamblado,el conjuntode permisosparaejecutarseapropiadamente.
- Describa todos sus componentesyde un ejemplode cada uno de ellos.
Rta: Los componentesdel.NetFramework
ASP.NET
Formulariosyservicios Web
Interfazde usuario
ADO:.NET:Datos y XML
Bibliotecade clasesdel.Net Framework
CommonLanguage Runtime
soporte de la bibliotecade clase base
soporte de hilos COMMarshaler
verificaciónde Tipos Gestorde excepciones
motor de seguridad motor de depuración
MSIL a compiladoresNativos gestorde código
recolectorde basura cargador de clases
EL CLR (CommonLanguage Runtime ) simplificael desarrollode aplicaciones,proporcionaun
entornode ejecuciónrobustoyseguro,soportamúltipleslenguajes ,simplificala
implantaciónyadministración de aplicacionesyproporcionaunentornogestionado,
Que esun entornogestionado
Es aquel que proporcionaservicioscomunesde formaautomática,mAlgunosejemplosde los
tiposde servicioque proporcionaunentorno gestionadosonel recolector de basura y la
seguridad
Bibliotecade clases.NetFramework
System System.securrity System.Runtime
System.Net System.Text System,globalizacion
System.reflection System.Threading System.Configuracion
System.IO System.Diagnostics System.colletion
1.1.1. Componentesde laarquitecturaLoscomponentesde laarquitecturadel
frameworkde .Netse puedenapreciarenlasiguiente figura:
WindowsCOM+ ServicesADO.NETyXML Base ClassLibraryCommon
Lenguage Runtime WindowsFormsCommonLenguage SpecificationC++
C# J# ....NET FrameworkRedistributable .NETFrameworkSDK.NET
FrameworkClass Library} CLR-CommonLanguage Runtime (colorverde):
Es conocidocomo el entornode ejecuciónde aplicaciones,yesel
encargadode ejecutarlasaplicacionesyproveerlesserviciosentiempode
ejecución.Classlibrary(colorazul):Esconocidocomoel conjuntode
bibliotecasque provee muchostiposbásicos(clasese interfaces)
orientadosaobjetos,extensiblesmedianteherencia,independientesdel
lenguaje de programaciónde altonivel que se esté utilizandoyque se
encuentranorganizadosennamespacesjerárquicos.Enlasiguientefigura
se aprecianlosprincipalesnamespacesde labibliotecade clases.NET:
• System:raíz de todoslosotros namespaces,ydentrodel cual se pude
encontrarla mayoría de losnamespacescorrespondientesalaBase Class
Library
• System.DataySystem.Xml:Constituyenlatecnologíaconocidacomo
ADO.NET,lacual se usa para acceso a datos.
• System.Web:Se encuentrantodoslostiposnecesariosparaprogramar
aplicacionesyservicioswebASP.NET
• System.Windows.Forms:Se encuentrantodoslostiposnecesariospara
programar aplicacionesde escritoriobasadasenformulariosyventanas
Windows.
Dentrode este componentesse tienen4sub-componentesprincipales:
• La Base ClassLibrary(BCL - Bibliotecade ClasesBase):Lacual contiene la
funcionalidadque másse utilizaparadesarrollaraplicacionestalescomo
el manejode colecciones,cadenasde texto,entrada/salida,threading,
operacionesmatemáticasydibujos2D.
• ADO.NET:Contiene el conjuntode clasesque permiteninteractuarcon
basesde datos relacionalesydocumentosXMLcomorepositoriosde
informaciónpersistente.
• ASP.NET:Esla tecnologíanecesariadel .NETFrameworkparaconstruir
aplicacionesconinterfazde usuarioWeb(esdecir,aplicacionescuya
lógicase encuentracentralizadaenunoovariosservidoresyque los
clientespuedenaccederusandounbrowsero navegadormedianteuna
serie de protocolosyestándarescomoHTTP y HTML).
• WindowsForms(WinForms):Eslatecnologíanecesaria.NETFramewok
que permite crearaplicacionesconinterfazde usuariobasadaen
formulariosyventanasWindowsyque se ejecutandirectamenteenlos
clientes.Especificaciónde Lenguaje Común -CLS(colorrojo):Unode los
principalesobjetivosdel diseñode laplataformade Visual Studio.NETfue
el de que el lenguaje de programaciónelegidofueraindependiente.Para
estose creó este componente que defineyestandarizaunsubconjuntode
todaslas característicassoportadaspor el CLR y que son necesariasenla
mayoría de las aplicaciones.Todosloscomponentesdesarrolladosy
compiladosde acuerdoconla especificaciónCLSpueden interactuarentre
sí, independientementedel lenguajede programaciónde altonivel enel
que fueronescritos.El Frameworkde .Netprovee implementacionesde 4
lenguajescompatiblesconCLS,juntocon suscompiladores:*Microsoft
Visual Basic.NET* MicrosoftVisual C#.NET * MicrosoftVisual J#.NET*
MicrosoftVisual C++.NETEsto quiere decirque unaaplicaciónescrita,por
ejemplo,enVisual Basic.NET,puede incorporarsinproblemasnuevas
partesescritasenC# o C++ .NET.
Todoslos componentesmencionadosanteriormente se montanpor
encimade la familiade sistemasoperativosWindows.
- Consulte si existeunaplataformasimilaraesta,si esasí describasussimilitudesy
diferencias.
Rta: NET podría considerarse unarespuestade Microsoftal creciente mercadode losnegocios
enentornos Web,comocompetenciaala plataformaJavade Oracle Corporation y a los
diversos framework de desarrollowebbasadosen PHP.Supropuestaesofrecerunamanera
rápiday económica,a lavezque seguray robusta,de desarrollaraplicaciones –ocomola
mismaplataformalasdenomina,soluciones–permitiendounaintegraciónmásrápidayágil
entre empresasyunacceso más simple yuniversalatodotipode informacióndesdecualquier
tipode dispositivo.
Actividadesde transferenciadel conocimiento.
 Respondalassiguientespreguntas:
- Describa los lenguajesmás utilizadosenla plataforma .NET. Qué diferenciahay entre
ellos?
Rta: Visual Studio.NetesunEntornode DesarrolloIntegrado(IDE) que permite desarrollar
múltiplesaplicaciones,orientadasautilizarel ParadigmaOrientadoaObjetosusando
lenguagesde programacióncomoVisual.net,C#y ASPX.Unode lostiposde aplicacionesque
se puede desarrollarsonlasaplicacionesparaescritorio,llamadascomúnmente
“WindowsForms”(FormulariosparaSistemaOperativoWindows).El paradigmaorientadoa
objetosesunaformade programar máscercano a la realidad,de tal maneraque utiliza
conceptostalescomoobjetos,mensajes,métodos,herenciaypolimorfismo.Todoloanterior
se desarrolladentrode este objetode aprendizajeparaque puedacrearuna aplicación
WindowsFormsusandoel lenguaje de programaciónC#yque utilice el conceptode
programaciónorientadoaobjetos.
2. INTRODUCCIÓN A VISUALSTUDIO .NET
MicrosoftVisual Studio.NETesunaplataformaque permite ejecutarydesarrollar
aplicaciones,solucionesinformáticasy/osistemasde información,brindandotodaslas
herramientasyserviciosnecesariosparadesarrollarmodernasaplicaciones
empresariales.
2.1. ComponentesMicrosoftVisual Studio.Nettiene lossiguientescomponentes
principales:
• Entornode ejecuciónaplicaciones,“Runtime”el cual esuncomponente de
software cuyafuncióneslade ejecutarlasaplicaciones.NETe interactuarcon
el sistemaoperativoofreciendosusserviciosyrecursos.
• Conjuntode bibliotecasde funcionalidadesycontrolesreutilizables,conuna
enorme cantidadde componentesyaprogramadoslistosparaserconsumidos
por otras aplicaciones.
• Conjuntode lenguajesde programaciónde altonivel,juntoconsus
compiladoresylinkers,que permitiránel desarrollode aplicacionessobre la
plataforma.NET.
• Conjuntode utilitariosyherramientasde desarrolloparasimplificarlas
tareasmás comunesdel procesode desarrollode aplicaciones
4 Desarrollode aplicacionesWindowsconC# Visual Studio.Net
• Documentaciónyguíasde arquitectura,que describenlasmejoresprácticas
de diseño,organización,desarrollo,pruebae instalaciónde aplicaciones.NET
2.2. Características principales
• Es una plataformade ejecuciónintermedia,yaque lasaplicacionesde Visual
Studio.NETnosonejecutadasdirectamente porel sistemaoperativo,como
ocurre enel modelotradicional de desarrollo.Lasaplicaciones.NETestán
diseñadasparaserejecutadasconun componente de software llamado
Entornode Ejecución(conocidocomo“Runtime”,o“MáquinaVirtual”).El cuál
esel encargadode manejarel ciclode vidade cualquieraplicaciónde Visual
Studio.NET,iniciándola,deteniéndolae interactuandoconel sistema
operativoybrindándole losserviciosyrecursosentiempode ejecución.
• Visual Studio.NETestábasadaenel paradigmade OrientaciónaObjetos
• Visual Studio.NETesmulti-lenguaje:locual significaque paracodificar
aplicacionessobre estaplataformanose necesitaaprenderunúnicolenguaje
específicode programaciónde altonivel,sinoque se puedeelegirde una
amplialistade opciones.
• Tantocomo desarrolladoresnoprofesionales,estudiantesyentusiastas,
utilizanestaherramienta,peroVisual Studio.Net estádesarrolladoparapoder
soportarlas aplicacionesempresarialesgrandesycomplejasyde misión
crítica.
• Visual Studio.Net esunaplataformadesarrolladaporMicrosofty para
poderdesarrollarocomercializaraplicacionesempresarialesdebecomprarla
licencia,peroparafinesacadémicospuedeutilizarsesiempre ycuandolas
aplicacionesdesarrolladasnose comercialicen.
• Visual StudioNetestádiseñadode tal maneraque enunúnicomodelode
programación,uniforme yconsistente se desarrollenlasaplicaciones(yasean
de formulariosWindows,de consola,aplicacionesWeb,aplicacionesmóviles,
etc.) y para cualquierdispositivode hardware (PC’s,PocketPC’s,Teléfonos
CelularesInteligentes,tambiénllamados“SmartPhones”,TabletPC’s,etc.).
• Visual Studio.NETse integrafácilmente conaplicacionesdesarrolladasen
otras plataformasMicrosoftytambiénconaquellasdesarrolladasenotras
plataformasde software,sistemasoperativosolenguajesde programación.
2.3. ArquitecturaFrameworkde .NetEl Frameworkde .Net(“Marcode Trabajo”)
esel componente fundamental de laplataformaMicrosoftVisual Studio.NET
que permite ejecutarlasaplicacionesdesarrolladas.Se tienentres
componentesprincipales:.NETFrameworkRedistributable Package:Mínimo
componente de laplataforma.NETnecesarioparapoderejecutar
aplicaciones.Normalmentese instalaenlosentornosproductivos,unavez
que el desarrolloylaspruebasde la aplicaciónhanfinalizado.Estácompuesto
por:
• El entornode ejecuciónde laplataforma.NET
• Las bibliotecasde funcionalidadreutilizable .NETFrameworkSDK:Contiene
lasherramientasde desarrollode líneade comandos(compiladores,
depuradores,etc.),documentaciónde referencia,ejemplosymanualespara
desarrolladoresde aplicaciones.Se instalaenlosyesmás útil a los
programadoresque para losusuariosfinales.Parapoderinstalarlaversión
SDK (Software DevelopmentKit) esnecesarioinstalarpreviamenteel
Redistributable Package..NETCompactFramework:Versiónreducida.NET
FrameworkRedistributable,especialmente pensadaparaserinstaladaen
dispositivosmóvilescomoPocketPC’sySmartPhones.
- Qué diferenciahayentre aplicacionesWindowsFormyaplicaciones ASP.NET.De un
ejemploreal de cadaunade ellas.
Rta: No me cabe lamenorduda que desde lasalidadel .NETFramework1.0 hace ya algunos
años,la tecnologíaque másha llamadolaatenciónesASP.NET.Esta aseveraciónesmuyfácil
de medir,simplemente conrealizarunabúsqueda,porejemploenamazon.comporlos
términosASP.NETyWindowsFormsparaconstatar la gran diferenciade librosentre untema
y otro; o bienrevisarlossitiosde recursoy/orevistasde internetparadarse unaideade lo
desbalanceadoque estael contenido.
En la próximaversión2.0de .NET Frameworkestasituaciónnoha cambiadomucho,ASP.NET
esquiense sigue llevandolamayoratencióndebidoanuevascaracterísticascomoMaster
Pages,WebParts,Autorización,Profiles, Membership,databindingmejorado,etc.
Las aplicacionesWebsonsumamente popularesdebidoalapopularidaddel Internet,yque
usualmente essinónimoque si nose estáenInternet,nose estáenlo últimoenlatecnología.
Este tipode aplicacionespresentanunaserie de beneficiossobre lasaplicacionestradicionales
(WindowsForms):
1.- Soloesnecesarioinstalarlasunasolavezenel servidor.
2.- Cambiosa laaplicaciónsolotienenque instalarse unasolavezyse hacenefectivopara
todoslosusuarios,evitandotenerusuariosque correnversiónnoactualizadas.
3.- Es posible accederlaaplicacióndesdecualquierlugarsinnecesidadde instalarnada.
4.- Sonidealescuandonose tiene control sobre lasredesolosrecursosde lasPC clientesde
losusuarios.
Así como tienenbeneficios,existentambiénalgunasdesventajas:
1.- Las aplicacionesnosontan interactivasconel usuario,aunque medianteel usode la
tecnologíade modaAjax,google mail ygoogle maps,handemostradoque se puedenhacer
aplicacionesmásricasy reactivas.
2.- Noes posible utilizarlosrecursosde laPCdel usuario,porejemplopararealizaralgún
calculoque consumatiempode CPU,o guardar de formalocal informaciónde estadode la
aplicación - más alláde las limitacionesde unacookie -
3.- Noes posible hacerusode este tipode aplicacionesde formadesconectada.
4.- El manejode reportesesmuymalo,si estosse muestrancomouna páginaHTML,
generalmente suimpresióncausaalgúnde tipode problema - nosale correctamente enla
página,sale cortado,sinpie de página,encabezados,etc. -;obiensi se muestrapor ejemplo
con un archivoPDF,si pierde lasensaciónde integración,yaque se tiene que abrirotro
programa para podervery/o imprimirel reporte.
Peroque ofrece unaaplicaciónde WindowsForms?
Dentrode las características importantesque ofrece unaaplicaciónde WindowsForms
encuentrolassiguientes:
1.- Existe unaintegraciónconel SistemaOperativo,tantoenel usode recursoscomo enla
parte visual.
2.- Comose mencionóenel punto1,es posible hacerusode losrecursosde CPU y
almacenamientode laPCdonde se ejecutalaaplicación,porejemplotareasde CPU
intensivas,guardarencache datoscomúnmente utilizadosporlaaplicación.
3.- Ofrece unmejormanejoyrecuperaciónde erroresque unaaplicaciónde ASP.NET.
4.- Es posible ejecutarciertastareasenotrohilode ejecución(multi-thread),ofreciéndoleal
usuariolaposibilidadde realizarvariasactividadesalavez.
5.- La interface gráficaesmás rica y funcional parael usuarioquiencuentaconunaserie de
elementosque le ayudanatrabajar mejor.
6.- Es posible hacerlaaplicacióntrabaje de formadesconectadayque realice una
sincronizaciónde datosal momentode conectarse nuevamenteala red.
7.- Mediante Webservicesesfactibleque laaplicacióninstalada,porejemploenuna
notebookpuedafuncionar,sinimportardesde que redse conecte.
Aunque tambiénexistenalgunasdesventajas:
1.- Se requiere generalmente que laPCque vaa ejecutarlaaplicacióncuente conciertos
requisitosde hardware mínimos.
2.- Hay que instalarunmínimode componentesencadaPCpara que puedafuncionarla
aplicación - como mínimose requiere el .NETFramework -,aunque concaracterísticascomo
ClickOnce esposiblepublicarlaaplicaciónennuestroservidorde intranetyconun par de
clicksel usuariomismopuedaautoinstalarlaaplicación.
3.- Cambiosa laaplicacióngeneralmenterequiere de actualizartodoslosclientes,peroes
posible hacerque laaplicaciónmismabusque poractualizaciones,notifique al usuarioyse
auto-actualice.
Ademásde lomencionadoanteriormente,desde mi puntode vista,esmássencillohaceruna
aplicaciónWindowsFormsycontrolarel flujode maneracorrecta,que enuna aplicación
ASP.NET,donde ademásse requiere de verificarsi se ve bienal aplicaciónendiferentes
navegadores.
Para finalizarquierodejarenclaroque ambas tecnologíasofrecenunaserie de ventajasy
desventajas,peroque al final cuandoaunole toca evaluarque utilizarparaun proyecto,se
tiene que elegirlaherramientacorrectaparael mismo.Mi recomendaciónesque si nose
tiene control sobre el ambientedonde se vaaejecutarla aplicaciónose requiere que usuarios
fuerade la organizaciónlapuedan utilizar,se opte porunaaplicaciónASP.NET,encaso
contrariocontemplarrealizarlaaplicaciónconWindowsForms.
- De qué trata latecnologíaADO.Net?.
ADO.NETesun conjuntode clasesque exponenserviciosde accesoa datospara
programadoresde .NETFramework.ADO.NETofrece abundanciade componentesparala
creaciónde aplicacionesde usocompartidode datosdistribuidas.Constituyeunaparte
integral de .NETFrameworkyproporcionaaccesoa datosrelacionales,XMLy de
aplicaciones.ADO.NETsatisface diversasnecesidadesde desarrollo,comolacreaciónde
clientesde base de datosfront-endyobjetosempresarialesde nivel medioque utilizan
aplicaciones,herramientas,lenguajesoexploradoresde Internet.
- Mencione y describalaslibreríasmásutilizadasenlaplataforma.Net.
Rta: PowerCollections - Esunalibreriade coleccionesgenéricascomplementariasalaque
proporcionael CLR de .NET FrameworkdesarrolladaporIntellectlascualesconocíenel libro
"CLR via C# 4.0" de JeffreyRichter.Algunasde lasclasesque proporcionason Deque,
MultiDictionary,Bag,OrderedBag,OrderedDictionary,Set,OrderedSetu
OrderedMultiDictionary,ademásde lasque extiendenlas que el propioCLRproporciona.
StructureMap - Ademásde StructureMap, Castle Windsoro Unityson otras de las libreriasIoC
que he utilizado.El motivodel usode StructureMapfue quizáslamayorfacilidadde uso
[OpiniónPersonal] respectoaotras.De cualquierforma,eneste puntoesmásimportante el
beneficiode laInyecciónde Dependenciasque el propioframework. StructureMapfue
inicialmente desarrolladaymantenidaporbyJeremyD.Miller,The Shade Tree Developery
JoshuaFlanagan.
MicrosoftCode Contracts:Code Contracts facilitalaadopciónde laprogramaciónpor
contratosde formaagnosticaal lenguaje medianteprecondiciones,poscondicionese
invariantes.Este bajolicenciaMicrosoftResearchLicenseAgreement.
Log4Net- Desde que conocí Log4net,despuésde una -muymala,malísimavamos- experiencia
con otro tipode librerias,tambiénOpenSource,me parece laapuestamásfacil yeficazpara
el loggingde aplicaciones.Log4netformaparte del proyectoApache LoggingServices.
NHibernate/FluentNHibernate:Notengomuchaexperienciaeneste campoperoporlopoco
que he tocado y por la experiencia,todaslaslibreriasque surgende lacomunidadcomo
necesidadacabanconvirtiendoseenunmust-have,omust-useeneste caso.Cabe decirque
tampocohe miradoalternativas.NHibernatenoes másque la adaptacióna .NET de la famosa
libreriaORMpara Java. FluentNHiberante facilitael,aveces,tediosomapeode entidadesy
objetosatravésde losarchivoshbm.xml.FluentNHibernatese define comounalibreriaXML-
lessyaque permite todoeste mapeoatravésde código.
MongoDB: Se trata de una de lasbasesde datosNo-SQLmás extendidasypese aque no es
una libreríaensí, el conocimientode sus posibilidades,susprosysuscontras esobligatorio.
Su modelode datospordocumentosestábasadoen JSONyBSON y por tanto es schema-less.
Es una alternativaalas basesde datosrelacionalesgraciasalaescalabilidadhorizontal que
proporcionaneste tipode herramientas.EstábajoFree Software Foundation'sGNUAGPL
v3.0.
NUnit:InicialmentebasadaenlalibreriaJUnitde Java,NUnit2.5 esla sextaversiónbasdaen
xUnit.Está escritaenC# y fue totalmente rediseñadaparasacar el máximoprovechoala
plataforma.NET.Se integraestupendamentetantoconlas MS TestTools comocon Resharper
5.x.
Moq: Muy útil especialmenteparadesarrolladoressinungranbagaje enMocking.Ofrece
soporte a muchasde lascaracterísticas de .NET como LINQTreesExpressionsoexpresiones
lambday se caracteriza por sufacilidadde usoy suforma natural de escrbirstubsy mocks.
BDD specflow:DistribuidabajolicenciaBSDe inspiradaen Cucumberysu comunidad,esta
libreriaabarcalas diferentesposibilidadesdel desarrolloorientadoacomportamientooBDDy
resalta,entre otros,suuso con aplicacionesASP.NETMVC.
nServiceBus:Frameworkde comunicacionesparaarquitecturasSOA distribuidas,nServiceBus
esun proyectoque surge de la necesidadenbase ala experienciapersonal de Udi Dahan,
precursory principal coordinadordel proyecto.Recientemente haincorporadonuevapolítica
de licenciasyse anunció,y así hicimosenGenbetadev,lasnovedadesque traeráincorporada
enla proximaversión3.0.
Elmah:ELMAH (Error LoggingModulesandHandlers),esunalibreriade logging
específicamente desarroladaparaaplicacionesASP.NETyesespecialmente útilparael registro
de erroresenModulosy Manejadoresde ASP.NETMVC.
NuGet:Otra de las libreriasOpenSource hospedadaenCodeplex ymiembrode laASP.NET
Gallery.Suintencióneslade facilitarlaintegraciónydespliegue de libreriasde tercerosalos
desarrollos.NET,evitandoel tediosoprocesode referenciaciónymodificaciónde referencias
enel app.config.
- Qué esun Framework?,característicasydiferenciasde lasversiones3.0,3.5, 4 y 4.5
Rta: NET Frameworkesun entornoparaconstruir,instalary ejecutarserviciosWebyotras
aplicaciones.Se compone de trespartesprincipales:el CommonLanguage Runtime,lasclases
NET FrameworkyASP.NET.
El .NET Frameworkesel corazónde .NET, cualquiercosaque queramoshacerencualquier
lenguaje .NETdebe pasarporel filtrocualquierade laspartesintegrantesdel .NETFramework.
Cada versión de .NETFrameworkcontiene característicasde versionesanteriorese incorpora
nuevascaracterísticas. CLR se identificamediante supropionúmerode versión. El númerode
versiónde .NETFrameworkaumentaconcada nuevapublicación,aunque laversiónde CLRno
siempre se incrementa. Porejemplo,en.NETFramework 4,4.5 y versionesposterioresse
incluyen CLR4, mientrasque en.NETFramework 2.0, 3.0 y 3.5 se incluye CLR2.0. (Noexiste la
versión3 de CLR).
Versión
de .NET
Framew
ork
Versi
ón
de
CRL
Características
Incluido
en la
versiónde
Visual Stu
dio
✓ Incluido
en
+ Se
puede
instalar
en
Windows
✓
Incluid
o en
+ Se
puede
instala
r en
Windo
ws
Server
Para
determinarla
versiónde .NET
instalada
Net
4.6.1
4  Compati
bilidad
con
certifica
dos X509
que
contiene
n ECDSA
 Compati
bilidad
con
✓Actualiz
aciónde
noviembr
e de
Windows
10
+ 10
+ 8.1
+ 8
+ 7
+ 2012
R2
+ 2012
+ 2008
R2 SP1
+ 2008
SP2
Use ReleaseDW
ORD:
 394254
(actuali
zación
de
noviem
bre de
Windo
ws 10)
Always
Encrypte
d para
claves
protegid
as por
hardwar
e en
ADO.NET
 Correcto
r
ortográfi
co
mejorad
o en
WPF
 Más...
 394271
(resto
de
version
esdel
sistema
operati
vo)
(verinstruccion
es)
.NET 4.6 4  Compilac
ióncon
.NET
Native
 ASP.NET
Core 5
 Mejoras
de
seguimie
nto de
eventos
 Compati
bilidad
para
codificac
ionesde
página
 Más...
2015,
aunque
algunas
bibliotecas
de .NET
están
disponible
s
enNuGet.
Para
obtener
más
informació
n,
consulte .
NET
Framewor
k y
versiones
fuerade
banda.
✓ 10
+ 8.1
+ 8
+ 7
+ Vista
+ 2012
R2
+ 2012
+ 2008
R2 SP1
+ 2008
SP2
Use ReleaseDW
ORD:
 393295
(Windo
ws 10)
 393297
(el
resto
de
version
esde
sistema
operati
vo)
(verinstruccion
es)
4.5.2 4  Nuevas
APIpara
sistemas
- + 8.1
+ 8
+ 2012
R2
+ 2012
Usar
DWORDRelease
: 379893
transacci
onalesy
ASP.NET
 PPPdel
sistema
que
cambia
de
tamaño
en
controle
s de
Window
s Forms
 Mejoras
de
generaci
ón de
perfiles
 Mejoras
de ETW
y del
registro
de
esfuerzo
 Más...
+ 7
+ Vista
+ 2008
R2 SP1
+ 2008
SP2
(verinstruccion
es)
4.5.1 4  Compati
bilidad
con
aplicacio
nesde la
Tienda
de
Window
s Phone
 Redirecci
ón de
enlace
automáti
ca
2013 ✓ 8.1
+ 8
+ 7
+ Vista
✓
2012
R2
+ 2012
+ 2008
R2 SP1
+ 2008
SP2
Use ReleaseDW
ORD:
 378675
(Windo
ws 8.1)
 378758
(el
resto)
(consulte
lasinstruccione
s)
 Mejoras
de
rendimie
nto y de
depuraci
ón
 Más...
4.5 4  Compati
bilidad
con
aplicacio
nesde la
Tienda
Window
s
 Actualiza
ciones
de WPF,
WCF,
WF,
ASP.NET
 Más...
2012 ✓ 8
+ 7
+ Vista
✓
2012
+ 2008
R2 SP1
+ 2008
SP2
Usar
DWORDRelease
: 378389
(verinstruccion
es)
4 4  Bibliotec
as de
clases
base
ampliada
s
 Desarroll
o
multiplat
aforma
con la
Bibliotec
a de
clases
portable
 MEF,
DLR,
2010 + 7
+ Vista
+ 2008
R2 SP1
+ 2008
SP2
+ 2003
Consulte
lasinstruccione
s
contrato
s de
código
 Más...
3.5 2.0  Sitios
web
compati
blescon
AJAX
 LINQ
 Datos
dinámico
s
 Más...
2008 ✓ 10✓
8.1*
✓ 8*
✓ 7
+ Vista
✓2008
R2
SP1*
+ 2012
R2
+ 2012
+ 2008
SP2
+ 2003
Consulte
lasinstruccione
s
3.0 2.0  WPF,
WCF,
WF,
CardSpac
e
- ✓ Vista ✓
2008
R2
SP1*
✓
2008
SP2*
+ 2003
Consulte
lasinstruccione
s
2.0 2.0  Genérico
s
 Adicione
s de
ASP.NET
 Más...
2005 - ✓
2008
R2 SP1
✓
2008
SP2
✓
2003
Consulte
lasinstruccione
s
1.1 1.1  Actualiza
ciones
de
ASP.NET
y
ADO.NET
2003 - ✓
2003
Consulte
lasinstruccione
s
 Ejecució
n en
paralelo
 Más...
1.0 1.0 Primeraversión
de
.NET Framework.
Visual
Studio
.NET
- - Consulte
lasinstruccione
s
- Liste ydescriba losdiferentescomponentesdelentornode desarrolloVisual Studio
.NET.
Rta: ComponentesMicrosoftVisual Studio.Nettiene lossiguientes
componentesprincipales:
• Entornode ejecuciónaplicaciones,“Runtime”el cual esuncomponente de
software cuyafuncióneslade ejecutarlasaplicaciones.NETe interactuarcon
el sistemaoperativoofreciendosusserviciosyrecursos.
• Conjuntode bibliotecasde funcionalidadesycontrolesreutilizables,conuna
enorme cantidadde componentesyaprogramadoslistosparaserconsumidos
por otras aplicaciones.
• Conjuntode lenguajesde programaciónde altonivel,juntoconsus
compiladoresylinkers,que permitiránel desarrollode aplicacionessobre la
plataforma.NET.
• Conjuntode utilitariosyherramientasde desarrolloparasimplificarlas
tareasmás comunesdel procesode desarrollode aplicaciones
4 Desarrollode aplicacionesWindowsconC# Visual Studio.Net
• Documentaciónyguíasde arquitectura,que describenlasmejoresprácticas
de diseño,organización,desarrollo,pruebae instalaciónde aplicaciones.NET
Realice unmapaconceptual donde represente losdiferentescomponentesde la
plataforma.NET
Taller no (1)

Taller no (1)

  • 1.
    Taller No.1_ Plataforma_NET PRESENTADOPOR: JENNY JACQUELINE DIAZ PALACIO EDIT JOHANNA DIAZ PALACIO OSCAR CARRILO FERNANDO AMAYA ENTREGADO A: SANDRA ESPERANZA SANCHEZ BARRAGAN UNIVERSITARIA DE COLOMBIA SISTEMA DE LA INFORMACION INGENIERIA DE SISTEMAS 6º SEMESTRE 2016
  • 2.
    Actividadesde Reflexióninicial. ¿Cómo laplataforma .NET mediante sus diferentescomponentesnospermite desarrollare integrar aplicacionesde software? Rta: La plataforma.NET noestá atada a un determinadolenguaje de programaciónni favorece a uno determinadofrente aotros.En laactualidadexistenimplementacionesparavarias decenasde lenguajesque permitenescribiraplicacionesparalaplataforma.NET.Los más conocidossonVisual Basic.NET,C# y J#. Actividadesde contextualizacióne identificaciónde conocimientosnecesariosparael aprendizaje.) En equiposde trabajode 2 estudiantesidentificarylistarlascaracterísticasde los diferentes tiposde aplicacionesde software que utilizan comúnmente,observanoutilizan. Actividadesde apropiación del conocimiento(ConceptualizaciónyTeorización). - Consulte lasdiferentesdefinicionesde laplataforma .NET. Rta: Definiciones: La plataforma.NETde Microsoftes uncomponente de software que puedeserañadidoal sistemaoperativoWindows.Provee unextensoconjuntode solucionespredefinidaspara necesidadesgeneralesde laprogramaciónde aplicaciones,yadministralaejecuciónde los programasescritosespecíficamente conlaplataforma. Estasoluciónesel productoprincipal enla ofertade Microsoft,y pretende serutilizadaporlamayoría de las aplicacionescreadas para la plataformaWindows. NET Frameworkesunentornopara construir,instalaryejecutarserviciosWebyotras aplicaciones.Se compone de trespartesprincipales:el CommonLanguage Runtime,lasclases FrameworkyASP.NET" El .NET Frameworkesel corazónde .NET, cualquiercosaque queramoshacerencualquier lenguaje .NETdebe pasarporel filtrocualquierade laspartes integrantesdel .NETFramework.
  • 3.
    - Busque cuáles la estrategia y objetivode la plataforma .NET? Rta: Es claro entoncesque el objetivode laplataforma.NETessimplificarel desarrollode aplicacionesWeb.Proveelasherramientasytecnologíasparatransformara Internetenuna plataformade computacióndistribuidaengranescala.Estaplataformaademás soportalos estándaressobre loscualesse basanlosserviciosWeb. Plataforma.NETEstrategias Estrategiasde Desarrollo • Facilitarla integracióndel software permitiendoDiversasplataformas(Windows,UNIX, Mainframe) (Windows,UNIX,Mainframe) Diferentesmiddleware de componentes (DDE, COM, CORBA) (DDE,COM, CORBA) Diferentessistemassoperativos. • HomogeneizarlenguajesmedianteSistemade TiposComúnBibliotecade Clasesbase comunes. • Redefinir solucionespreexistentescomosoluciones preexistentescomoservicios. • Simplificarlaformade programar mediante Orientaciónaobjetos plena:clases,interfaces, , constructores, atributos,métodos,herencia inter-lenguajes,…Herramientasyentorno comunespara todoslosdesarrollos.Interoperabilidadpre-construida(conCOM,construida (conCOM, DLL’s, etc.) Frameworkque liberaal programadorde muchas tareas:memoria,que liberaal programadorde muchas tareas:memoria,seguridad,etc. EstrategiasImplantación • i Instalaciónde impactocero Aplicacionesycomponentescompartidosoprivados • Ejecución“side-by-side”Coexistenciade variasversionesdelmismocomponente. • Ensamblados (Assemblies) Colecciónde funcionalidadcreada,versionadae implantada como unaunidadde implementaciónúnica(incluyendounoovariosarchivos) Sonauto descriptivos tiempode ejecuciónse resuelvenlasreferenciasentre componentes,se resuelvenlasreferenciasentre componentes,se garantizalapolíticade enlace de versionesy se validala integridadde losensambladoscargados. El Manifiesto(Manifest)contiene los metadatosdel ensambladoincluyendolosarchivosque implementanel ensamblado las dependenciasentiempode compilaciónconotros ensamblados,los tiposyrecursosque formanel ensamblado,el conjuntode permisosparaejecutarseapropiadamente.
  • 4.
    - Describa todossus componentesyde un ejemplode cada uno de ellos. Rta: Los componentesdel.NetFramework ASP.NET Formulariosyservicios Web Interfazde usuario ADO:.NET:Datos y XML Bibliotecade clasesdel.Net Framework CommonLanguage Runtime soporte de la bibliotecade clase base soporte de hilos COMMarshaler verificaciónde Tipos Gestorde excepciones motor de seguridad motor de depuración MSIL a compiladoresNativos gestorde código recolectorde basura cargador de clases EL CLR (CommonLanguage Runtime ) simplificael desarrollode aplicaciones,proporcionaun entornode ejecuciónrobustoyseguro,soportamúltipleslenguajes ,simplificala implantaciónyadministración de aplicacionesyproporcionaunentornogestionado, Que esun entornogestionado Es aquel que proporcionaservicioscomunesde formaautomática,mAlgunosejemplosde los tiposde servicioque proporcionaunentorno gestionadosonel recolector de basura y la seguridad Bibliotecade clases.NetFramework System System.securrity System.Runtime System.Net System.Text System,globalizacion System.reflection System.Threading System.Configuracion System.IO System.Diagnostics System.colletion
  • 5.
    1.1.1. Componentesde laarquitecturaLoscomponentesdelaarquitecturadel frameworkde .Netse puedenapreciarenlasiguiente figura: WindowsCOM+ ServicesADO.NETyXML Base ClassLibraryCommon Lenguage Runtime WindowsFormsCommonLenguage SpecificationC++ C# J# ....NET FrameworkRedistributable .NETFrameworkSDK.NET FrameworkClass Library} CLR-CommonLanguage Runtime (colorverde): Es conocidocomo el entornode ejecuciónde aplicaciones,yesel encargadode ejecutarlasaplicacionesyproveerlesserviciosentiempode ejecución.Classlibrary(colorazul):Esconocidocomoel conjuntode bibliotecasque provee muchostiposbásicos(clasese interfaces) orientadosaobjetos,extensiblesmedianteherencia,independientesdel lenguaje de programaciónde altonivel que se esté utilizandoyque se encuentranorganizadosennamespacesjerárquicos.Enlasiguientefigura se aprecianlosprincipalesnamespacesde labibliotecade clases.NET: • System:raíz de todoslosotros namespaces,ydentrodel cual se pude encontrarla mayoría de losnamespacescorrespondientesalaBase Class Library • System.DataySystem.Xml:Constituyenlatecnologíaconocidacomo ADO.NET,lacual se usa para acceso a datos. • System.Web:Se encuentrantodoslostiposnecesariosparaprogramar aplicacionesyservicioswebASP.NET • System.Windows.Forms:Se encuentrantodoslostiposnecesariospara programar aplicacionesde escritoriobasadasenformulariosyventanas Windows. Dentrode este componentesse tienen4sub-componentesprincipales: • La Base ClassLibrary(BCL - Bibliotecade ClasesBase):Lacual contiene la funcionalidadque másse utilizaparadesarrollaraplicacionestalescomo el manejode colecciones,cadenasde texto,entrada/salida,threading, operacionesmatemáticasydibujos2D. • ADO.NET:Contiene el conjuntode clasesque permiteninteractuarcon basesde datos relacionalesydocumentosXMLcomorepositoriosde informaciónpersistente.
  • 6.
    • ASP.NET:Esla tecnologíanecesariadel.NETFrameworkparaconstruir aplicacionesconinterfazde usuarioWeb(esdecir,aplicacionescuya lógicase encuentracentralizadaenunoovariosservidoresyque los clientespuedenaccederusandounbrowsero navegadormedianteuna serie de protocolosyestándarescomoHTTP y HTML). • WindowsForms(WinForms):Eslatecnologíanecesaria.NETFramewok que permite crearaplicacionesconinterfazde usuariobasadaen formulariosyventanasWindowsyque se ejecutandirectamenteenlos clientes.Especificaciónde Lenguaje Común -CLS(colorrojo):Unode los principalesobjetivosdel diseñode laplataformade Visual Studio.NETfue el de que el lenguaje de programaciónelegidofueraindependiente.Para estose creó este componente que defineyestandarizaunsubconjuntode todaslas característicassoportadaspor el CLR y que son necesariasenla mayoría de las aplicaciones.Todosloscomponentesdesarrolladosy compiladosde acuerdoconla especificaciónCLSpueden interactuarentre sí, independientementedel lenguajede programaciónde altonivel enel que fueronescritos.El Frameworkde .Netprovee implementacionesde 4 lenguajescompatiblesconCLS,juntocon suscompiladores:*Microsoft Visual Basic.NET* MicrosoftVisual C#.NET * MicrosoftVisual J#.NET* MicrosoftVisual C++.NETEsto quiere decirque unaaplicaciónescrita,por ejemplo,enVisual Basic.NET,puede incorporarsinproblemasnuevas partesescritasenC# o C++ .NET. Todoslos componentesmencionadosanteriormente se montanpor encimade la familiade sistemasoperativosWindows. - Consulte si existeunaplataformasimilaraesta,si esasí describasussimilitudesy diferencias. Rta: NET podría considerarse unarespuestade Microsoftal creciente mercadode losnegocios enentornos Web,comocompetenciaala plataformaJavade Oracle Corporation y a los diversos framework de desarrollowebbasadosen PHP.Supropuestaesofrecerunamanera rápiday económica,a lavezque seguray robusta,de desarrollaraplicaciones –ocomola mismaplataformalasdenomina,soluciones–permitiendounaintegraciónmásrápidayágil entre empresasyunacceso más simple yuniversalatodotipode informacióndesdecualquier tipode dispositivo.
  • 7.
    Actividadesde transferenciadel conocimiento. Respondalassiguientespreguntas: - Describa los lenguajesmás utilizadosenla plataforma .NET. Qué diferenciahay entre ellos? Rta: Visual Studio.NetesunEntornode DesarrolloIntegrado(IDE) que permite desarrollar múltiplesaplicaciones,orientadasautilizarel ParadigmaOrientadoaObjetosusando lenguagesde programacióncomoVisual.net,C#y ASPX.Unode lostiposde aplicacionesque se puede desarrollarsonlasaplicacionesparaescritorio,llamadascomúnmente “WindowsForms”(FormulariosparaSistemaOperativoWindows).El paradigmaorientadoa objetosesunaformade programar máscercano a la realidad,de tal maneraque utiliza conceptostalescomoobjetos,mensajes,métodos,herenciaypolimorfismo.Todoloanterior se desarrolladentrode este objetode aprendizajeparaque puedacrearuna aplicación WindowsFormsusandoel lenguaje de programaciónC#yque utilice el conceptode programaciónorientadoaobjetos. 2. INTRODUCCIÓN A VISUALSTUDIO .NET MicrosoftVisual Studio.NETesunaplataformaque permite ejecutarydesarrollar aplicaciones,solucionesinformáticasy/osistemasde información,brindandotodaslas herramientasyserviciosnecesariosparadesarrollarmodernasaplicaciones empresariales. 2.1. ComponentesMicrosoftVisual Studio.Nettiene lossiguientescomponentes principales: • Entornode ejecuciónaplicaciones,“Runtime”el cual esuncomponente de software cuyafuncióneslade ejecutarlasaplicaciones.NETe interactuarcon el sistemaoperativoofreciendosusserviciosyrecursos. • Conjuntode bibliotecasde funcionalidadesycontrolesreutilizables,conuna enorme cantidadde componentesyaprogramadoslistosparaserconsumidos por otras aplicaciones. • Conjuntode lenguajesde programaciónde altonivel,juntoconsus compiladoresylinkers,que permitiránel desarrollode aplicacionessobre la plataforma.NET. • Conjuntode utilitariosyherramientasde desarrolloparasimplificarlas tareasmás comunesdel procesode desarrollode aplicaciones 4 Desarrollode aplicacionesWindowsconC# Visual Studio.Net • Documentaciónyguíasde arquitectura,que describenlasmejoresprácticas de diseño,organización,desarrollo,pruebae instalaciónde aplicaciones.NET
  • 8.
    2.2. Características principales •Es una plataformade ejecuciónintermedia,yaque lasaplicacionesde Visual Studio.NETnosonejecutadasdirectamente porel sistemaoperativo,como ocurre enel modelotradicional de desarrollo.Lasaplicaciones.NETestán diseñadasparaserejecutadasconun componente de software llamado Entornode Ejecución(conocidocomo“Runtime”,o“MáquinaVirtual”).El cuál esel encargadode manejarel ciclode vidade cualquieraplicaciónde Visual Studio.NET,iniciándola,deteniéndolae interactuandoconel sistema operativoybrindándole losserviciosyrecursosentiempode ejecución. • Visual Studio.NETestábasadaenel paradigmade OrientaciónaObjetos • Visual Studio.NETesmulti-lenguaje:locual significaque paracodificar aplicacionessobre estaplataformanose necesitaaprenderunúnicolenguaje específicode programaciónde altonivel,sinoque se puedeelegirde una amplialistade opciones. • Tantocomo desarrolladoresnoprofesionales,estudiantesyentusiastas, utilizanestaherramienta,peroVisual Studio.Net estádesarrolladoparapoder soportarlas aplicacionesempresarialesgrandesycomplejasyde misión crítica. • Visual Studio.Net esunaplataformadesarrolladaporMicrosofty para poderdesarrollarocomercializaraplicacionesempresarialesdebecomprarla licencia,peroparafinesacadémicospuedeutilizarsesiempre ycuandolas aplicacionesdesarrolladasnose comercialicen. • Visual StudioNetestádiseñadode tal maneraque enunúnicomodelode programación,uniforme yconsistente se desarrollenlasaplicaciones(yasean de formulariosWindows,de consola,aplicacionesWeb,aplicacionesmóviles, etc.) y para cualquierdispositivode hardware (PC’s,PocketPC’s,Teléfonos CelularesInteligentes,tambiénllamados“SmartPhones”,TabletPC’s,etc.). • Visual Studio.NETse integrafácilmente conaplicacionesdesarrolladasen otras plataformasMicrosoftytambiénconaquellasdesarrolladasenotras plataformasde software,sistemasoperativosolenguajesde programación.
  • 9.
    2.3. ArquitecturaFrameworkde .NetElFrameworkde .Net(“Marcode Trabajo”) esel componente fundamental de laplataformaMicrosoftVisual Studio.NET que permite ejecutarlasaplicacionesdesarrolladas.Se tienentres componentesprincipales:.NETFrameworkRedistributable Package:Mínimo componente de laplataforma.NETnecesarioparapoderejecutar aplicaciones.Normalmentese instalaenlosentornosproductivos,unavez que el desarrolloylaspruebasde la aplicaciónhanfinalizado.Estácompuesto por: • El entornode ejecuciónde laplataforma.NET • Las bibliotecasde funcionalidadreutilizable .NETFrameworkSDK:Contiene lasherramientasde desarrollode líneade comandos(compiladores, depuradores,etc.),documentaciónde referencia,ejemplosymanualespara desarrolladoresde aplicaciones.Se instalaenlosyesmás útil a los programadoresque para losusuariosfinales.Parapoderinstalarlaversión SDK (Software DevelopmentKit) esnecesarioinstalarpreviamenteel Redistributable Package..NETCompactFramework:Versiónreducida.NET FrameworkRedistributable,especialmente pensadaparaserinstaladaen dispositivosmóvilescomoPocketPC’sySmartPhones.
  • 10.
    - Qué diferenciahayentreaplicacionesWindowsFormyaplicaciones ASP.NET.De un ejemploreal de cadaunade ellas. Rta: No me cabe lamenorduda que desde lasalidadel .NETFramework1.0 hace ya algunos años,la tecnologíaque másha llamadolaatenciónesASP.NET.Esta aseveraciónesmuyfácil de medir,simplemente conrealizarunabúsqueda,porejemploenamazon.comporlos términosASP.NETyWindowsFormsparaconstatar la gran diferenciade librosentre untema y otro; o bienrevisarlossitiosde recursoy/orevistasde internetparadarse unaideade lo desbalanceadoque estael contenido. En la próximaversión2.0de .NET Frameworkestasituaciónnoha cambiadomucho,ASP.NET esquiense sigue llevandolamayoratencióndebidoanuevascaracterísticascomoMaster Pages,WebParts,Autorización,Profiles, Membership,databindingmejorado,etc. Las aplicacionesWebsonsumamente popularesdebidoalapopularidaddel Internet,yque usualmente essinónimoque si nose estáenInternet,nose estáenlo últimoenlatecnología. Este tipode aplicacionespresentanunaserie de beneficiossobre lasaplicacionestradicionales (WindowsForms): 1.- Soloesnecesarioinstalarlasunasolavezenel servidor. 2.- Cambiosa laaplicaciónsolotienenque instalarse unasolavezyse hacenefectivopara todoslosusuarios,evitandotenerusuariosque correnversiónnoactualizadas. 3.- Es posible accederlaaplicacióndesdecualquierlugarsinnecesidadde instalarnada. 4.- Sonidealescuandonose tiene control sobre lasredesolosrecursosde lasPC clientesde losusuarios. Así como tienenbeneficios,existentambiénalgunasdesventajas: 1.- Las aplicacionesnosontan interactivasconel usuario,aunque medianteel usode la tecnologíade modaAjax,google mail ygoogle maps,handemostradoque se puedenhacer aplicacionesmásricasy reactivas. 2.- Noes posible utilizarlosrecursosde laPCdel usuario,porejemplopararealizaralgún calculoque consumatiempode CPU,o guardar de formalocal informaciónde estadode la aplicación - más alláde las limitacionesde unacookie - 3.- Noes posible hacerusode este tipode aplicacionesde formadesconectada. 4.- El manejode reportesesmuymalo,si estosse muestrancomouna páginaHTML, generalmente suimpresióncausaalgúnde tipode problema - nosale correctamente enla página,sale cortado,sinpie de página,encabezados,etc. -;obiensi se muestrapor ejemplo con un archivoPDF,si pierde lasensaciónde integración,yaque se tiene que abrirotro programa para podervery/o imprimirel reporte. Peroque ofrece unaaplicaciónde WindowsForms? Dentrode las características importantesque ofrece unaaplicaciónde WindowsForms encuentrolassiguientes: 1.- Existe unaintegraciónconel SistemaOperativo,tantoenel usode recursoscomo enla parte visual. 2.- Comose mencionóenel punto1,es posible hacerusode losrecursosde CPU y
  • 11.
    almacenamientode laPCdonde seejecutalaaplicación,porejemplotareasde CPU intensivas,guardarencache datoscomúnmente utilizadosporlaaplicación. 3.- Ofrece unmejormanejoyrecuperaciónde erroresque unaaplicaciónde ASP.NET. 4.- Es posible ejecutarciertastareasenotrohilode ejecución(multi-thread),ofreciéndoleal usuariolaposibilidadde realizarvariasactividadesalavez. 5.- La interface gráficaesmás rica y funcional parael usuarioquiencuentaconunaserie de elementosque le ayudanatrabajar mejor. 6.- Es posible hacerlaaplicacióntrabaje de formadesconectadayque realice una sincronizaciónde datosal momentode conectarse nuevamenteala red. 7.- Mediante Webservicesesfactibleque laaplicacióninstalada,porejemploenuna notebookpuedafuncionar,sinimportardesde que redse conecte. Aunque tambiénexistenalgunasdesventajas: 1.- Se requiere generalmente que laPCque vaa ejecutarlaaplicacióncuente conciertos requisitosde hardware mínimos. 2.- Hay que instalarunmínimode componentesencadaPCpara que puedafuncionarla aplicación - como mínimose requiere el .NETFramework -,aunque concaracterísticascomo ClickOnce esposiblepublicarlaaplicaciónennuestroservidorde intranetyconun par de clicksel usuariomismopuedaautoinstalarlaaplicación. 3.- Cambiosa laaplicacióngeneralmenterequiere de actualizartodoslosclientes,peroes posible hacerque laaplicaciónmismabusque poractualizaciones,notifique al usuarioyse auto-actualice. Ademásde lomencionadoanteriormente,desde mi puntode vista,esmássencillohaceruna aplicaciónWindowsFormsycontrolarel flujode maneracorrecta,que enuna aplicación ASP.NET,donde ademásse requiere de verificarsi se ve bienal aplicaciónendiferentes navegadores. Para finalizarquierodejarenclaroque ambas tecnologíasofrecenunaserie de ventajasy desventajas,peroque al final cuandoaunole toca evaluarque utilizarparaun proyecto,se tiene que elegirlaherramientacorrectaparael mismo.Mi recomendaciónesque si nose tiene control sobre el ambientedonde se vaaejecutarla aplicaciónose requiere que usuarios fuerade la organizaciónlapuedan utilizar,se opte porunaaplicaciónASP.NET,encaso contrariocontemplarrealizarlaaplicaciónconWindowsForms.
  • 12.
    - De quétrata latecnologíaADO.Net?. ADO.NETesun conjuntode clasesque exponenserviciosde accesoa datospara programadoresde .NETFramework.ADO.NETofrece abundanciade componentesparala creaciónde aplicacionesde usocompartidode datosdistribuidas.Constituyeunaparte integral de .NETFrameworkyproporcionaaccesoa datosrelacionales,XMLy de aplicaciones.ADO.NETsatisface diversasnecesidadesde desarrollo,comolacreaciónde clientesde base de datosfront-endyobjetosempresarialesde nivel medioque utilizan aplicaciones,herramientas,lenguajesoexploradoresde Internet. - Mencione y describalaslibreríasmásutilizadasenlaplataforma.Net. Rta: PowerCollections - Esunalibreriade coleccionesgenéricascomplementariasalaque proporcionael CLR de .NET FrameworkdesarrolladaporIntellectlascualesconocíenel libro "CLR via C# 4.0" de JeffreyRichter.Algunasde lasclasesque proporcionason Deque, MultiDictionary,Bag,OrderedBag,OrderedDictionary,Set,OrderedSetu OrderedMultiDictionary,ademásde lasque extiendenlas que el propioCLRproporciona. StructureMap - Ademásde StructureMap, Castle Windsoro Unityson otras de las libreriasIoC que he utilizado.El motivodel usode StructureMapfue quizáslamayorfacilidadde uso [OpiniónPersonal] respectoaotras.De cualquierforma,eneste puntoesmásimportante el beneficiode laInyecciónde Dependenciasque el propioframework. StructureMapfue inicialmente desarrolladaymantenidaporbyJeremyD.Miller,The Shade Tree Developery JoshuaFlanagan. MicrosoftCode Contracts:Code Contracts facilitalaadopciónde laprogramaciónpor contratosde formaagnosticaal lenguaje medianteprecondiciones,poscondicionese invariantes.Este bajolicenciaMicrosoftResearchLicenseAgreement. Log4Net- Desde que conocí Log4net,despuésde una -muymala,malísimavamos- experiencia con otro tipode librerias,tambiénOpenSource,me parece laapuestamásfacil yeficazpara el loggingde aplicaciones.Log4netformaparte del proyectoApache LoggingServices. NHibernate/FluentNHibernate:Notengomuchaexperienciaeneste campoperoporlopoco que he tocado y por la experiencia,todaslaslibreriasque surgende lacomunidadcomo necesidadacabanconvirtiendoseenunmust-have,omust-useeneste caso.Cabe decirque tampocohe miradoalternativas.NHibernatenoes másque la adaptacióna .NET de la famosa libreriaORMpara Java. FluentNHiberante facilitael,aveces,tediosomapeode entidadesy objetosatravésde losarchivoshbm.xml.FluentNHibernatese define comounalibreriaXML- lessyaque permite todoeste mapeoatravésde código. MongoDB: Se trata de una de lasbasesde datosNo-SQLmás extendidasypese aque no es una libreríaensí, el conocimientode sus posibilidades,susprosysuscontras esobligatorio. Su modelode datospordocumentosestábasadoen JSONyBSON y por tanto es schema-less. Es una alternativaalas basesde datosrelacionalesgraciasalaescalabilidadhorizontal que proporcionaneste tipode herramientas.EstábajoFree Software Foundation'sGNUAGPL v3.0.
  • 13.
    NUnit:InicialmentebasadaenlalibreriaJUnitde Java,NUnit2.5 eslasextaversiónbasdaen xUnit.Está escritaenC# y fue totalmente rediseñadaparasacar el máximoprovechoala plataforma.NET.Se integraestupendamentetantoconlas MS TestTools comocon Resharper 5.x. Moq: Muy útil especialmenteparadesarrolladoressinungranbagaje enMocking.Ofrece soporte a muchasde lascaracterísticas de .NET como LINQTreesExpressionsoexpresiones lambday se caracteriza por sufacilidadde usoy suforma natural de escrbirstubsy mocks. BDD specflow:DistribuidabajolicenciaBSDe inspiradaen Cucumberysu comunidad,esta libreriaabarcalas diferentesposibilidadesdel desarrolloorientadoacomportamientooBDDy resalta,entre otros,suuso con aplicacionesASP.NETMVC. nServiceBus:Frameworkde comunicacionesparaarquitecturasSOA distribuidas,nServiceBus esun proyectoque surge de la necesidadenbase ala experienciapersonal de Udi Dahan, precursory principal coordinadordel proyecto.Recientemente haincorporadonuevapolítica de licenciasyse anunció,y así hicimosenGenbetadev,lasnovedadesque traeráincorporada enla proximaversión3.0. Elmah:ELMAH (Error LoggingModulesandHandlers),esunalibreriade logging específicamente desarroladaparaaplicacionesASP.NETyesespecialmente útilparael registro de erroresenModulosy Manejadoresde ASP.NETMVC. NuGet:Otra de las libreriasOpenSource hospedadaenCodeplex ymiembrode laASP.NET Gallery.Suintencióneslade facilitarlaintegraciónydespliegue de libreriasde tercerosalos desarrollos.NET,evitandoel tediosoprocesode referenciaciónymodificaciónde referencias enel app.config.
  • 14.
    - Qué esunFramework?,característicasydiferenciasde lasversiones3.0,3.5, 4 y 4.5 Rta: NET Frameworkesun entornoparaconstruir,instalary ejecutarserviciosWebyotras aplicaciones.Se compone de trespartesprincipales:el CommonLanguage Runtime,lasclases NET FrameworkyASP.NET. El .NET Frameworkesel corazónde .NET, cualquiercosaque queramoshacerencualquier lenguaje .NETdebe pasarporel filtrocualquierade laspartesintegrantesdel .NETFramework. Cada versión de .NETFrameworkcontiene característicasde versionesanteriorese incorpora nuevascaracterísticas. CLR se identificamediante supropionúmerode versión. El númerode versiónde .NETFrameworkaumentaconcada nuevapublicación,aunque laversiónde CLRno siempre se incrementa. Porejemplo,en.NETFramework 4,4.5 y versionesposterioresse incluyen CLR4, mientrasque en.NETFramework 2.0, 3.0 y 3.5 se incluye CLR2.0. (Noexiste la versión3 de CLR). Versión de .NET Framew ork Versi ón de CRL Características Incluido en la versiónde Visual Stu dio ✓ Incluido en + Se puede instalar en Windows ✓ Incluid o en + Se puede instala r en Windo ws Server Para determinarla versiónde .NET instalada Net 4.6.1 4  Compati bilidad con certifica dos X509 que contiene n ECDSA  Compati bilidad con ✓Actualiz aciónde noviembr e de Windows 10 + 10 + 8.1 + 8 + 7 + 2012 R2 + 2012 + 2008 R2 SP1 + 2008 SP2 Use ReleaseDW ORD:  394254 (actuali zación de noviem bre de Windo ws 10)
  • 15.
    Always Encrypte d para claves protegid as por hardwar een ADO.NET  Correcto r ortográfi co mejorad o en WPF  Más...  394271 (resto de version esdel sistema operati vo) (verinstruccion es) .NET 4.6 4  Compilac ióncon .NET Native  ASP.NET Core 5  Mejoras de seguimie nto de eventos  Compati bilidad para codificac ionesde página  Más... 2015, aunque algunas bibliotecas de .NET están disponible s enNuGet. Para obtener más informació n, consulte . NET Framewor k y versiones fuerade banda. ✓ 10 + 8.1 + 8 + 7 + Vista + 2012 R2 + 2012 + 2008 R2 SP1 + 2008 SP2 Use ReleaseDW ORD:  393295 (Windo ws 10)  393297 (el resto de version esde sistema operati vo) (verinstruccion es) 4.5.2 4  Nuevas APIpara sistemas - + 8.1 + 8 + 2012 R2 + 2012 Usar DWORDRelease : 379893
  • 16.
    transacci onalesy ASP.NET  PPPdel sistema que cambia de tamaño en controle s de Window sForms  Mejoras de generaci ón de perfiles  Mejoras de ETW y del registro de esfuerzo  Más... + 7 + Vista + 2008 R2 SP1 + 2008 SP2 (verinstruccion es) 4.5.1 4  Compati bilidad con aplicacio nesde la Tienda de Window s Phone  Redirecci ón de enlace automáti ca 2013 ✓ 8.1 + 8 + 7 + Vista ✓ 2012 R2 + 2012 + 2008 R2 SP1 + 2008 SP2 Use ReleaseDW ORD:  378675 (Windo ws 8.1)  378758 (el resto) (consulte lasinstruccione s)
  • 17.
     Mejoras de rendimie nto yde depuraci ón  Más... 4.5 4  Compati bilidad con aplicacio nesde la Tienda Window s  Actualiza ciones de WPF, WCF, WF, ASP.NET  Más... 2012 ✓ 8 + 7 + Vista ✓ 2012 + 2008 R2 SP1 + 2008 SP2 Usar DWORDRelease : 378389 (verinstruccion es) 4 4  Bibliotec as de clases base ampliada s  Desarroll o multiplat aforma con la Bibliotec a de clases portable  MEF, DLR, 2010 + 7 + Vista + 2008 R2 SP1 + 2008 SP2 + 2003 Consulte lasinstruccione s
  • 18.
    contrato s de código  Más... 3.52.0  Sitios web compati blescon AJAX  LINQ  Datos dinámico s  Más... 2008 ✓ 10✓ 8.1* ✓ 8* ✓ 7 + Vista ✓2008 R2 SP1* + 2012 R2 + 2012 + 2008 SP2 + 2003 Consulte lasinstruccione s 3.0 2.0  WPF, WCF, WF, CardSpac e - ✓ Vista ✓ 2008 R2 SP1* ✓ 2008 SP2* + 2003 Consulte lasinstruccione s 2.0 2.0  Genérico s  Adicione s de ASP.NET  Más... 2005 - ✓ 2008 R2 SP1 ✓ 2008 SP2 ✓ 2003 Consulte lasinstruccione s 1.1 1.1  Actualiza ciones de ASP.NET y ADO.NET 2003 - ✓ 2003 Consulte lasinstruccione s
  • 19.
     Ejecució n en paralelo Más... 1.0 1.0 Primeraversión de .NET Framework. Visual Studio .NET - - Consulte lasinstruccione s - Liste ydescriba losdiferentescomponentesdelentornode desarrolloVisual Studio .NET. Rta: ComponentesMicrosoftVisual Studio.Nettiene lossiguientes componentesprincipales: • Entornode ejecuciónaplicaciones,“Runtime”el cual esuncomponente de software cuyafuncióneslade ejecutarlasaplicaciones.NETe interactuarcon el sistemaoperativoofreciendosusserviciosyrecursos. • Conjuntode bibliotecasde funcionalidadesycontrolesreutilizables,conuna enorme cantidadde componentesyaprogramadoslistosparaserconsumidos por otras aplicaciones. • Conjuntode lenguajesde programaciónde altonivel,juntoconsus compiladoresylinkers,que permitiránel desarrollode aplicacionessobre la plataforma.NET. • Conjuntode utilitariosyherramientasde desarrolloparasimplificarlas tareasmás comunesdel procesode desarrollode aplicaciones 4 Desarrollode aplicacionesWindowsconC# Visual Studio.Net • Documentaciónyguíasde arquitectura,que describenlasmejoresprácticas de diseño,organización,desarrollo,pruebae instalaciónde aplicaciones.NET
  • 20.
    Realice unmapaconceptual donderepresente losdiferentescomponentesde la plataforma.NET