Upload
mackenzie-servais
View
213
Download
1
Tags:
Embed Size (px)
Citation preview
Pablo Michelis
Gerente de Relaciones Académicas
Microsoft Cono Sur
Arquitectura de SoftwareArquitectura de Software
Breve historia de la construcción de SoftwareBreve historia de la construcción de Software
Nuevo paradigma en la construcción de Nuevo paradigma en la construcción de
SoftwareSoftware
WinFXWinFX
Pilares Conceptuales de la TecnologíaPilares Conceptuales de la Tecnología
WPF, WCF, WF, InfoCardWPF, WCF, WF, InfoCard
Agenda
Object-oriented Patterns
Software Architecture in Context
3Source: David Garlan (April 2006)
2000
1980
1950
1970
1990
1960
Programming-any-which-way
Programming-in-the-small
Programming-in-the-large
Programming-in-the-world
Software architecture
NATO SE conference
Programming-in-the-large
Software development environments
Subroutines
Separate compilation
Integrated product lines
Information hiding
InheritanceAbstract data types objects
PackagesPipes and filters
Proceso “Esencial” de Software
Real World
SystemSystemSystemSystem
Resultados …
Nuevo Proceso
Entity Services
Entity Services
Process Services
Process Services
Infrastr
ucture S
ervice
s
Infrastr
ucture S
ervice
s
Clients and AgentsClients and Agents
TechnologyArchitectureTechnologyArchitecture
InformationArchitectureInformationArchitecture
Operational Requirements
Operational Requirements
Entity D
escriptions and Con
straints
Entity D
escriptions and Con
straints
Actors and Roles
Actors and RolesProcess Description
Process Description
Activity Services
Activity Services
Activity Description
Activity Description
Business Capabilities
Business Capabilities
Services and consumers are Services and consumers are independently versioned, independently versioned, deployed, operated, and secured.deployed, operated, and secured.
Services are Services are autonomousautonomous
Data never includes behavior; Data never includes behavior; Objects with data and behavior Objects with data and behavior are a local phenomenon.are a local phenomenon.
Share schema Share schema & contract, not & contract, not
classclassCapabilities and requirements Capabilities and requirements represented by a unique public represented by a unique public name; Used to establish service name; Used to establish service suitability.suitability.
Compatibility Compatibility based on policybased on policy
Developers opt-in to consuming, Developers opt-in to consuming, exposing, and defining public-exposing, and defining public-facing service façade.facing service façade.
Boundaries Boundaries are Explicitare Explicit
Service Orientation
Nuestra estrategia
Ofrecer una plataforma integrada y Ofrecer una plataforma integrada y consistente de productosconsistente de productos
… … incluye productos (dev y mgmt), frameworks, incluye productos (dev y mgmt), frameworks, infraestructura y plataformasinfraestructura y plataformas
… … cubre la necesidad de plataforma de los cubre la necesidad de plataforma de los clientes (clientes, dispositivos, y servidores)clientes (clientes, dispositivos, y servidores)
… … interoperable con otras plataformasinteroperable con otras plataformas
… … agrupa tres conceptos esencialesagrupa tres conceptos esencialesService OrientationService Orientation
Claims-Based SecurityClaims-Based Security
Model Driven SoftwareModel Driven Software
Capacidades lógicas recurrentes
El nuevo Modelo de Aplicación
WinFX
The Managed Code The Managed Code
Programming ModelProgramming Model
for Windowsfor Windows
Windows Presentation Foundation
Unified framework for building Unified framework for building
next gen user experiences next gen user experiences
withwith
UI, media and documentsUI, media and documents
Windows Presentation Foundation
<Button Width="100"> OK <Button.Background> LightBlue </Button.Background></Button>
XAML
Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush(Colors.LightBlue);b1.Width = 100;
C#
Dim b1 As New Buttonb1.Content = "OK"b1.Background = New _ SolidColorBrush(Colors.LightBlue)b1.Width = 100
VB.NET
XAMLXAMLeXtensible Application Markup LanguageeXtensible Application Markup Language
Windows Presentation Foundation
With XAML designers With XAML designers
& developers can & developers can
streamline their streamline their
collaborationcollaboration
“InfoCard”
Technology that simplifies Technology that simplifies
and improves the safety of and improves the safety of
online login and online login and
authenticationauthentication
“InfoCard”
Private desktopPrivate desktopSeparate user contextSeparate user context
Protects against Protects against hackinghacking
Self-issued cardsSelf-issued cardsNon-corroboratedNon-corroborated
Stored locallyStored locally
Managed cardsManaged cardsCorroboratedCorroborated
Stored at STSStored at STS
WS-*Web Services
“InfoCard”
User Relying Party
Identity Provider
Windows Communication Foundation
Unified framework for Unified framework for
rapidly buildingrapidly building
service-oriented applicationsservice-oriented applications
Interop withInterop withother platformsother platforms
ASMX
Ent Ent ServicesServices
Attribute-based programming
WSEWSE
WS-* protocols
Sys.MessaSys.Messagingging
Message- based programming
LocationLocationtransparencytransparency
Remoting
Unified framework supersets existing technologiesUnified framework supersets existing technologies
Windows Communication Foundation
Standards-based interoperabilityStandards-based interoperabilitywith WS-* Web serviceswith WS-* Web services
Windows Communication Foundation
Connected Systems
Fed
era
ted
Fed
era
ted
D
ata
Data
Integrated Tools and Modeling
Integrated Management and Governance
Fed
era
ted
Fed
era
ted
Id
en
tity
Iden
tity
Perv
asiv
eP
erv
asiv
eW
ork
flow
Work
flow
Inte
gra
ted
User
Inte
gra
ted
User
Exp
eri
en
ce
Exp
eri
en
ce
Serv
ice
Serv
ice
Ori
en
tati
on
Ori
en
tati
on
Modelo de Arquitectura
using System.ServiceModel;
//a WCF contract defined using an interface
[ServiceContract] public interface IMath {
[OperationContract] int Add(int x, int y);
}