Post on 03-Jan-2015
transcript
Diseño de Aplicaciones Diseño de Aplicaciones SOA usando Visual Studio SOA usando Visual Studio Team SystemTeam System
Sergio Acosta, Arquitecto Sergio Acosta, Arquitecto Plataforma .NET Plataforma .NET
CrosshorizonsCrosshorizons
PrerequisitosPrerequisitos
ProgramaciProgramación .NET en general (C#)ón .NET en general (C#)
Entendimiento de Web ServicesEntendimiento de Web Services
Idea de las bondades de SOAIdea de las bondades de SOA
Nivel 200 Nivel 200 (Intermedio)(Intermedio)
PreguntasPreguntas??
Para enviar una pregunta, utilizar el Para enviar una pregunta, utilizar el botón "Ask a Question"botón "Ask a Question"
Service Oriented Service Oriented ArchitectureArchitecture
Un enfoque para crear systemas Un enfoque para crear systemas distribuidos a partir de distribuidos a partir de servicios servicios autónomosautónomos
Fundamentos de SOAFundamentos de SOA
1.1. Las fronteras son explícitas Las fronteras son explícitas
2.2. Los servicios son autónomosLos servicios son autónomos
3.3. Compartir contratos (no modelo de Compartir contratos (no modelo de clases)clases)
4.4. Compatibilidad basada en políticas Compatibilidad basada en políticas (ejemplo: WS-Policy)(ejemplo: WS-Policy)
SOA !SOA != Web Services= Web Services
RetosRetosTodos entendemos los conceptos de Todos entendemos los conceptos de alto nivel (y beneficios)alto nivel (y beneficios)
Genial soporte para tecnologGenial soporte para tecnologías ías relacionadas con SOA (XML, XSD, relacionadas con SOA (XML, XSD, WSDL, HTTP, SOAP, etc)WSDL, HTTP, SOAP, etc)
ConceptosConceptos TecnologíaTecnología????????
How-toHow-toMejores Mejores
prácticasprácticasherramientaherramienta
ss
Descubriendo el huecoDescubriendo el huecoHerramientas: Generación 1Herramientas: Generación 1
Estilo ‘RPC’ Estilo ‘RPC’
‘‘Transparente’Transparente’1.1. Construyo una claseConstruyo una clase
2.2. La incluyo en un La incluyo en un [WebService][WebService]
3.3. La puedo consumir remotamente !La puedo consumir remotamente !
Fronteras NO explícitas !Fronteras NO explícitas !
Compartiendo modelo de clases !Compartiendo modelo de clases !
Servicios no autónomos !Servicios no autónomos !
DemoDemo
WebServices Anti-SOAWebServices Anti-SOA
ContratoContrato
Cubriendo el huecoCubriendo el hueco
Diseño de Servicios basado en Diseño de Servicios basado en Contratos (Contract-First)Contratos (Contract-First)
ClasesClases WSDLWSDL
XSDXSD
ClasesClases
ContratoContrato
WSDLWSDL
XSDXSD
SOA y VSTSSOA y VSTS
Soporte de herramientas congruente Soporte de herramientas congruente con mejores prácticascon mejores prácticas
Visual Studio Team Visual Studio Team SystemSystem
Change Management
Work Item Tracking
Reporting
Project Portal
Visual StudioTeam Foundation Server Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio Team Edition
Software Architects
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Team Explorer (includes Team Foundation Server CAL)
Visual Studio Professional Edition
Load Testing
Manual Testing
Test Case Management
Visual Studio Team Edition
Software DevelopersVisual Studio Team Edition
Software Testers
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Team Build
Class Designer (in Visual Studio Standard Edition and higher)
Visio for Enterprise Architects (in MSDN Premium Subscription)
Distributed System Designers
Application Designer
System Designer
Logical Datacenter Designer
Deployment Designer
Paradigma SOA en VSTSParadigma SOA en VSTS
Centrado en Arquitectura y Centrado en Arquitectura y Fundamentos SOAFundamentos SOA
NO centrado en modelo de clasesNO centrado en modelo de clases
Permite iniciar con el ‘big picture’Permite iniciar con el ‘big picture’
Nos habilita para traducirlo a Nos habilita para traducirlo a tecnologíatecnología
Modelo de Definición de Modelo de Definición de SistemasSistemasCapasCapas AplicacionesAplicaciones
Hosting deHosting deAplicacionesAplicaciones
Servidores lógicos y Servidores lógicos y Topología de RedTopología de Red
HardwareHardware
SystemSystemDefinitionDefinition
ModelModel
Distributed System Distributed System DesignersDesignersApplication DesignerApplication Designer
SystemSystemDesignerDesigner
Diseñar Diseñar configuración configuración
de aplicaciones de aplicaciones y sistemasy sistemas
Logical Logical DatacenterDatacenterDesignerDesigner
DeploymentDeploymentDesignerDesigner
Describir Describir modelo de modelo de hosting de hosting de
aplicacionesaplicacionesClass Designer,Class Designer,
Code EditorsCode Editors Validar y Validar y corregir errorescorregir errores
Describir Describir deployment de deployment de un sistema a un un sistema a un
DataCenterDataCenter
Diseñar y Diseñar y desarrollar desarrollar
aplicacionesaplicaciones
DeploymentDeploymentReportReport
Reportes HTML,Reportes HTML,Script XML para Script XML para herrameintas de herrameintas de
deploymentdeployment
Copia de Copia de binarios y binarios y recursos recursos durante durante
deploymentdeployment
Diseñar, Diseñar, desarrollar y desarrollar y
probar probar deploymentdeployment
Application Connection Application Connection DesignerDesigner
Logical Data-Center Logical Data-Center DesignerDesigner
ApplicationApplicationHostingHostingLayerLayer
DemoDemo
SOA Contract First con VSTSSOA Contract First con VSTS
ResúmenResúmenSOA implica un SOA implica un ‘‘cambio de cambio de paradigmaparadigma’ en el desarrollo de ’ en el desarrollo de aplicaciones distribuidasaplicaciones distribuidasEl soporte de herramientas debe El soporte de herramientas debe apoyar los fundamentos de SOAapoyar los fundamentos de SOA
Centrado en Contrato (Contract-First)Centrado en Contrato (Contract-First)
VSTS ofrece un conjunto de VSTS ofrece un conjunto de herramientas alineadas con la forma herramientas alineadas con la forma correcta de hacer SOAcorrecta de hacer SOAVSTS for Software Architect permite VSTS for Software Architect permite al arquitecto de software comenzar al arquitecto de software comenzar con los conceptos generales y con los conceptos generales y traducirlos a tecnologtraducirlos a tecnologíaía
Mas informaciMas informaciónónThe MSDN Architecture CenterThe MSDN Architecture Center
http://msdn.microsoft.com/architecturehttp://msdn.microsoft.com/architecture
http://msdn.microsoft.com/architecture/shttp://msdn.microsoft.com/architecture/soaoa
Web Services EnhancementsWeb Services Enhancementshttp://msdn.microsoft.com/webservices/bhttp://msdn.microsoft.com/webservices/building/wseuilding/wse
Visual Studio Team SystemVisual Studio Team Systemhttp://msdn.microsoft.com/vstudio/http://msdn.microsoft.com/vstudio/
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.