41
Plataforma de aplicaciones .net 2009/2010 Ignacio Cattivelli ([email protected]) Pablo García ([email protected])

086 Microsoft Application Platform 2009 2010

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 086 Microsoft Application Platform 2009 2010

Plataforma de aplicaciones .net 2009/2010Ignacio Cattivelli ([email protected])Pablo García ([email protected])

Page 2: 086 Microsoft Application Platform 2009 2010

AGENDA

.net Framework 4.0 Windows Server 2008 R2 Internet Information Server 7.5 «Dublin» Application Host SQL Server 2008 R2

Page 3: 086 Microsoft Application Platform 2009 2010

Plataforma de Aplicaciones

Gartner AppInfrastructure

Gartner Back End App Integration (Dec 2008)Gartner App

Infrastructure for NewSOA Application Project

Page 4: 086 Microsoft Application Platform 2009 2010

.net CLR

Base Class Libraries The CLRJIT & NGEN

Garbage Collector

Security Model

Exception Handling

Loader & Binder

Profiling& Debugging APIs

WPF Win Forms

DLRDynamic Language Runtime

ASP. NET WCF And

more!LINQ

Page 5: 086 Microsoft Application Platform 2009 2010

In Process Side By Side

Los archivos de configuración y las apis de hosting permiten un control de adecuada granularidad Para aplicaciones y componentes COM, el archivo de

configuración describe que versiones del CRL se necesita para ejecutar y cual se prefiere.

.NET 2.0.NET 4.0

2.0 addin

3.0 addin

3.03.5

3.5 addin

4.0 addin

Host Process (e.g. Outlook)

CLR 2.0 y 4.0 en el mismo proceso. Componentes

viejos usan el CLR viejo

Componentes nuevos usan el nuevo CLR

Page 6: 086 Microsoft Application Platform 2009 2010

Common Language Runtime

Statically-Typed

C#VB

RubyPython

Dynamically-Typed

Dynamic Language Runtime

Dynamic Language RuntimeNuevos lenguajes: IronPython, IronRuby, F#• Tuples• BigInteger• Tail recursion

Page 7: 086 Microsoft Application Platform 2009 2010

Interoperando con lenguajes dinámicos

La interoperabilidad con lenguajes dinámicos es complicada.

Calculator calc = GetCalculator(); int sum = calc.Add(10, 20);

object calc = GetCalculator();Type calcType = calc.GetType();object res = calcType.InvokeMember("Add",

BindingFlags.InvokeMethod, null,new object[] { 10, 20 });

int sum = Convert.ToInt32(res);

ScriptObject calc = GetCalculator();object res = calc.Invoke("Add", 10, 20);int sum = Convert.ToInt32(res);

dynamic calc = GetCalculator();int sum = calc.Add(10, 20);

Page 8: 086 Microsoft Application Platform 2009 2010

Parallel & Threading

Parallel.For(0, n, i => work(i));

Parallel.ForEach(data, e => work(e));

var results = from item in shows.AsParallel() where item.Description.Contains(keyword) && item.Year > startYear orderby item.StartTime ascending select item;

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 9: 086 Microsoft Application Platform 2009 2010

GC: Background GC vs. Concurrent GCRa

w la

tenc

y in

mic

rose

cond

s

Background GC

Concurrent GC

Profiling samples of latency during application execution

Page 10: 086 Microsoft Application Platform 2009 2010

Contratos

public void BuyMoreStuff(Item[] cart, ref Decimal totalCost, Item i)

{ CodeContract.Requires(totalCost >=0);

CodeContract.Requires(cart != null);

CodeContract.Requires(CodeContract.ForAll(cart, s => s != i));

CodeContract.Ensures(CodeContract.Exists(cart, s => s == i);

CodeContract.Ensures(totalCost >= CodeContract.OldValue(totalCost));

CodeContract.EnsuresOnThrow<IOException>( totalCost == CodeContract.OldValue(totalCost));

// Do some stuff…

}

Page 11: 086 Microsoft Application Platform 2009 2010

Cliente .NET 4.0

3.5SP1 instalación pequeña pero la distribución ocupa 230 MB

Incluye completa y cliente Incluye MSU (Vista) y MSI (XP)

.NET 4, tamaño final < 40MB Nuevo en el CLR 4: NGEN corre en paralelo Aumento de velocidad sustancial en NGEN

7% en un sistema de bajos recuros (1 hyper-threaded core) 30% en un sistema intermedio (1 CPU, 2 core) 50% en un sistema de altas prestaciones (2 CPU, 4 core)

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 12: 086 Microsoft Application Platform 2009 2010

WPF para Windows 7

Multi-Touch Taskbar Dwrite for text rendering Ribbon Common Dialogs File Explorer Customization More…

Use these with .NET and via XAML in WPF

Page 13: 086 Microsoft Application Platform 2009 2010

<Application x:Class=“Fishbowl.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml

xmlns:shell="clr-namespace:System.Windows.Shell;assembly=System.Windows.Shell">

<JumpList.JumpList>

<JumpList ShowRecentCategory="True">

<JumpTask

Title=“Slideshow"

Arguments="/Slideshow" />

<JumpTask

Title=“Latest News"

Arguments="/Newsfeed" />

<JumpTask

Title="Sync Now"

Arguments="/Synchronize" />

</JumpList>

</JumpList.JumpList></Application>

3.5 SP1

Page 14: 086 Microsoft Application Platform 2009 2010

WPF Taskbar Integration

Thumbnails toolbars

Icon overlays Progress bars Jumplists

With XAML Support

3.5 SP1net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 15: 086 Microsoft Application Platform 2009 2010

WPF 4 Multitouch UIElement

Eventos de manipulación Eventos de gestos en el sistema touch. Eventos touch básicos

Contorles Multi-touch: ScrollViewer acepta gestos Controles base soportan multitouch Soporte de capura múltiple, para mas de un punto de

contacto al mismo tiempo. Controles específicos multi-touch (ScatterView)

Compatible con el Surface SDK 2.0

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 16: 086 Microsoft Application Platform 2009 2010

ASP.NET Core / Runtime

Beta 1 Extensible Output Caching Auto-start applications en IIS 7.5 Response.RedirectPermanent (301) Out-Of-Proc Compressed Session State

Beta 2 Html / Url Encoding Extensibility Request Validation Extensibility Minified Web.Config Perf Counters for CPU / Memory per AppDomain

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 17: 086 Microsoft Application Platform 2009 2010

Minimized Web.Config

VS 2008 SP1 – 126 Líneas VS 2010 Beta 2 – 6 Líneas<?xml version="1.0"?>

<configuration>

<configSections>

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />

<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />

<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />

<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />

<?xml version="1.0"?>

<configuration>

<system.web>

<compilation debug="true" targetFramework="4.0" />

</system.web>

</configuration>

Page 18: 086 Microsoft Application Platform 2009 2010

Administración WebVirtualizaciónIIS 7.5

ASP .NET on Server Core

Enhanced FTP and WebDAV

Administration Modules & Cmdlets

Hyper-V™ with Live Migration

Hot Add/Remove VM Storage

Remote Desktop Services

Soporte Sólido para Cargas Empresariales

Power Management

Windows PowerShell

AD Administrative Center

Best Practices Analyzer

Junto con Windows 7Escalabilidad y Confiabilidad

DirectAccess™BranchCache™Improved File Copy Performance over WANsEnhanced Group Policies RemoteApp & Desktop Connections

256 Core SupportComponentizationBoot from SAN or VHDSupport for Solid-state DevicesFile Classification Infrastructure

Áreas de Inversión Tecnológica

Page 19: 086 Microsoft Application Platform 2009 2010

Dispositivos IPv6 Dispositivo IPv4

DirectAccessServer

Cliente Windows 7

IPv6 Nativo con IPSEC

IPv6 Transition Services

Soporta una gran variedad

de protocolos de red remotos

DirectAccess™

DirectAccess provee acceso transparente y seguro a recursos de

intranet sin VPN

Permite la administración

directa de desktops

Cifrado y autenticación mediante IPSEC

Conectividad directa con recursos internos

IPv6

Soporte de IPv4 via 6to4 transition

servicesIT desktop manageme

nt

AD Group Policy, NAP,

software updates

Internet

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 20: 086 Microsoft Application Platform 2009 2010

Solución Windows 7

BranchCache™

Verifica el estado de los datos y los derechos de acceso del usuario contra el servidorSoporta potocoles de uso común: HTTP(S), SMBSoporta protocolos de seguridad de redes: (SSL, IPsec)Requiere Windows Server 2008 R2 en el data center y en el cache

Cache del contenido descargado de servidores web y de archivosUsuarios de la sucursal acceden rápidamente a archivos del cacheMenor tráfico en la red por parte de otros usuarios

Detalles Técnicos

Page 21: 086 Microsoft Application Platform 2009 2010

Protección de Datos

Protección de datos en dispositivos internos y removiblesExigencia del uso de cifrado mediante directivas de grupoAlmacenamiento de información de recuperación en el ADSetup y configuración de Bitlocker en el disco principal simplificado

+

2007 2008 2009 2010 20110

200400600800

10001200 Removable Solid-

State Storage Shipments

PCShipments

Worldwide Shipments (000s)

• Gartner “Forecast: USB Flash Drives, Worldwide, 2001-2011” 24 September 2007, Joseph Unsworth

• Gartner “Dataquest Insight: PC Forecast Analysis, Worldwide, 1H08”18 April 2008, Mikako Kitagawa, George Shiffler III

BitLocker ToGo™

Situación Actual Solución Windows Server 2008 R2 y Windows 7

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 22: 086 Microsoft Application Platform 2009 2010

Green IT - Core Parking

Generalidades Consolidando procesos en un servidor único cuando

las condiciones de carga lo permiten. Habilita a colocar procesadores en estado “C”

Beneficios Reduce el consumo de potencia de la CPU

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 23: 086 Microsoft Application Platform 2009 2010

Live Migration

ClusterNode 1

Network Storage

ClusterNode 2

Configuration Data

Virtual Machine

Memory Content

VHD

Memory Sync

Virtual Machine

User

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 24: 086 Microsoft Application Platform 2009 2010

Hyper-V 2.0 Features Soporte de procesadores

64 procesadores lógicos en el host Hot Add/Remove Storage

Permite agregar discos VHD sin necesidad de reiniciar la VM Second Level Translation (SLAT)

Reduce la carga del hipervisor usando caracterísiticas de los procesadores modernos

VM Chimney (TCP Offload Support) Tráfico TCP/IP puede ser asignado directamente a una tarjeta de red

con acceso directo a la VM. Processor Compatibility Mode

Permite migración en vivo entre diferentes CPUs (manteniendo la familia tecnológica).

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 25: 086 Microsoft Application Platform 2009 2010

IIS 7.5

ASP.NET on Server Core

PowerShell Module & Cmdlets

Integrated FTP and WebDAV

Web Deployment Tool

Configuration Logging & Tracing

Best Practice Analyzer

SEO Toolkit URL Rewriter

App Preloader App Request Router

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 26: 086 Microsoft Application Platform 2009 2010

Varied Fragment sized based on local conditions

Cache

Encoded Content

IIS Smooth Streaming Origin

Server

HTTP Caching Server

High Bandwidth

Low Bandwidth

Variable Bandwidth

Smooth Streaming

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 27: 086 Microsoft Application Platform 2009 2010

Windows Application Server (“Dublin”)

Windows Server

.NETCOM+, DTC, MSMQ …

ASP.NET

WAS

WCF WF

“Dublin”

WCF and WF services

IIS

ASP.NET Web pages

Admin Tools(IIS Manager)

Admin Tools (IIS Manager)

Visual Studio

System Center

Challenges in the Mid-tier

“I want to get my WF and WCF services up and running easily - Why doesn’t it just work?”

“I want to easily monitor and control running WF and WCF services.”

“I really want better tooling and scripting.”

“I want enterprise-ready, reliable, scalable, manageable server for WF and WCF.”

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 28: 086 Microsoft Application Platform 2009 2010

Disponibilidad y escalabilidad

"Dublin"

Workflow Service

"Dublin"

Workflow Service

Persistence Database

Monitoring Database

Network Load Balancer

Workflow Management

Service

Workflow Management

Service

instance

1

2

3

4

5

6

7

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 29: 086 Microsoft Application Platform 2009 2010

Retoma de instancias

"Dublin"

Workflow Service

Persistence Database

Workflow Management

Service

instance

3

persist

activity

activity

1

2

4

6 5

3

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 30: 086 Microsoft Application Platform 2009 2010

"Dublin"

Workflow Service Host

Persistencia de “timers”

Workflow

SQL Persistence Database

Delay

SQL Instance Store

Workflow Management

Service

1

2 3

4

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 31: 086 Microsoft Application Platform 2009 2010

Billing Service Database

Billing Application

Front End

Customer Service Application

Customer "Dublin"

Regular Customer Workflow Service

Servicio de ruteo

"Dublin"

Premium Customer Workflow Service

Routing Serviceapp.config<?xml version=<configuration<appSettings

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 32: 086 Microsoft Application Platform 2009 2010

Workflow Foundation 4.0

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 33: 086 Microsoft Application Platform 2009 2010

Web Services

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 34: 086 Microsoft Application Platform 2009 2010

Matríz de madurez y complejidadCo

mpl

exity

Maturity

Q2Integrated Data Marts

Q4Centralized EDW

Q1Distributed Data Marts

Q3 Decision Engine

Data Warehousing

Federated

DW

“Loosely Coupled” Consolidated EDW

Federated

EDW

“Tightly Coupled”

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 35: 086 Microsoft Application Platform 2009 2010

SQL Server Master data Services

MD – Slowly changing reference data shared across systems MDM – An application for creating and maintaining an authoritative view of

master data including policies and procedures for access, update, modification, viewing between systems across the enterprise

MDS – Microsoft’s Master Data Services platform shipping with KJ

35

PEOPLE

• Customers• Vendors• Sales people• Employees• Partners• Patients

THINGS

• Products• Organizational units

• Recipes• Parts• Storage bins• Documents

PLACES

• Stores• Wells• Power lines• Geographical areas

ABSTRACT

• Contracts• Warrantees• Time• Metrics

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 36: 086 Microsoft Application Platform 2009 2010

Hub & Spoke - Arquitectura

Base - Package

Test/Dev

PresentationData Integration

ETL

LegacyDBMS

SourceSystems

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 37: 086 Microsoft Application Platform 2009 2010

«Madison» – DW distribuída

net 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 38: 086 Microsoft Application Platform 2009 2010

Arquitectura

Database Servers

Du

al

In

fin

iban

d

Control Nodes

Active / Passive

Landing Zone

Backup Node

Storage Nodes

Spare Database Server

Du

al

Fib

er

Ch

an

nel

SQL

SQL

SQL

SQL

SQL

SQL

SQL

SQL

SQL

Management Servers

Client Drivers

ETL Load Interface

Corporate Backup Solution

Data Center Monitoring

Corporate Network Private Network

8Gbs Fiber ChannelLocal San

20Gbs InfinibandDMS Backbone

IPoIBDedicated LANnet 4.0

Win 2008 R2

IIS 7.5

«Dublin»

SQL 2008 R2

Page 39: 086 Microsoft Application Platform 2009 2010

StreamInsight

net 4.0 IIS 7.5 SQL 2008 R2

Page 40: 086 Microsoft Application Platform 2009 2010

«Gemini» ServerDatawarehouse para todos

net 4.0 IIS 7.5 SQL 2008 R2

Page 41: 086 Microsoft Application Platform 2009 2010

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

net 4.0 IIS 7.5 SQL 2008 R2