IT- Presentatie.Net 2011 05

Post on 07-Nov-2014

487 views 0 download

Tags:

description

Meer weten over de nieuwste ontwikkelingen in .net?

Transcript of IT- Presentatie.Net 2011 05

Moderne architectuur van

een applicatie

26/05/2011 Moderne architectuur van een applicatie 1

Informatiesessie door Luc Standaert & Christophe Ketels

Kennisevent ORBID – 26 mei 2011

De Agenda

• Inleiding

• Architectuur

• Demo

• Technologie

26/05/2011 Moderne architectuur van een applicatie 2

Inleiding

• Architectuur = Fundering van de applicatie

• De gekozen architectuur is een evenwicht tussen

– Vereisten en beperkingen opgelegd door de business

– Moderne tools en technologieën

– Zoveel mogelijk toegevoegde waarde voor de business

– Onderhoudbaarheid (interfaces), flexibiliteit en schaalbaarheid

26/05/2011 Moderne architectuur van een applicatie 3

26/05/2011 Moderne architectuur van een applicatie 4

Architectuur

• Caching

• Afhandelen van fouten

• Meertaligheid

• Logging

• Security (authentication, authorization)

• Validatie

• Navigatie

• Beheer van transacties

26/05/2011 Moderne architectuur van een applicatie 5

Architectuur: algemeen

• Client / Server (C/S)

• Domain Driven Design (DDD)

• Layered Architecture a layer is a logical structuring mechanism for the elements that make up your software solution

• N-Tier a tier is a physical structuring mechanism for the system infrastructure

• Object-Oriented (OO) include features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance

• Service-Oriented (SOA) A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple, separate systems from several business domains.

26/05/2011 Moderne architectuur van een applicatie 6

Architectuur patterns

• Architectuur = combinatie van

verschillende patterns

• Voorbeeld:

– Layered architectuur (Data – Business – UI)

– Layered UI laag: vb. MVC, MVP, MVVM, ...

– 3-Tier (elke laag op andere server)

– Object-Oriented objectmodel vb. Customer,

Order,...

26/05/2011 Moderne architectuur van een applicatie 7

Architectuur patterns

• Applicatie type:

– Mobiele applicatie

– Rich Client applicatie: WPF, Windows Forms

– Rich Internet Client applicatie: Silverlight

– Web applicatie: ASP.NET, ASP.NET MVC

– Service applicatie: Windows Communication

Foundation (WCF)

26/05/2011 Moderne architectuur van een applicatie 8

Architectuur

26/05/2011 Moderne architectuur van een applicatie 9

Windows vs Web Applicatie

Windows

Application

Web Application Silverlight

Application

GUI Complex Eenvoudig Complex

OS Windows Alle Veel

Toestellen Windows

gebaseerde

Alle Veel

Installatie Lokaal Server Server

Interactie met

lokale

applicaties

Ja Nee Beperkt

Toegang tot

lokale

systeembronnen

Ja Nee Beperkt

Internet toegang Nee Ja Ja

• WPF:

– Meer grafische mogelijkheden: 2D & 3D

– Schermresolutie onafhankelijk

– Streaming audio en video

– Vector graphics

– XAML (Extensible Application Markup Language):

scheiding tussen UI en UI logica.

– Data binding

26/05/2011 Moderne architectuur van een applicatie 10

WPF vs Windows Forms

• Windows Forms:

– Bestaat al langer

– Meer third-party controls beschikbaar (inhaal-race !)

– Misschien reeds expertise in huis

• Maar:

– WPF is de opvolger van Windows Forms

– Windows Forms krijgt op termijn enkel nog vermelding in geschiedenisboeken

26/05/2011 Moderne architectuur van een applicatie 11

WPF vs Windows Forms

26/05/2011 Moderne architectuur van een applicatie 12

WPF vs Windows Forms

• Silverlight is een ontwikkelingsplatform waarmee complexe grafische interfaces kunnen worden ontwikkeld voor in browsers, als desktopsoftware of in mobiele apparaten

– Plugin

– Ook voor oudere browsers

– XAML based UI en .NET code

– „concurrent‟ van Adobe Flash

• HTML5: – Nog niet 100% af

– Enkel nieuwste browsers

– HTML syntax en javascript (CSS3, Javascript, XML, JSON)

26/05/2011 Moderne architectuur van een applicatie 13

Silverlight vs HTML5

• Silverlight is enige optie bij:

– Windows Phone

– Out of browser applicaties

– Games

• Anders:

– HTML5 waar dit volstaat/kan

– Silverlight voor specifieke functionaliteit,

geavanceerde databinding

– Mix is mogelijk

26/05/2011 Moderne architectuur van een applicatie 14

Silverlight vs HTML5

26/05/2011 Moderne architectuur van een applicatie 15

Silverlight

• Canvas

26/05/2011 Moderne architectuur van een applicatie 16

HTML5

• Javascript Library voor het

lezen/bewerken van DOM, CSS en Ajax

interactie.

26/05/2011 Moderne architectuur van een applicatie 17

JQuery

• Windows Communication Foundation

• Opvolger van Web Services

• HTTP en TCP gebaseerd

• SOAP (XML) en binair

• Gebruik:

– Uitwisseling van data

– Synchronisatie van data

26/05/2011 Moderne architectuur van een applicatie 18

WCF

• Object Relational Mapper (=ORM)

• Aanbevolen manier om database te benaderen

• Voordelen: – Geen code meer schrijven

om database te benaderen

– Query‟s met LINQ

– Database onafhankelijk

– Extra abstractie niveaus

– Resultaat: objectmodel

– evenwicht kan gevonden worden met stored procedures (kunnen opgenomen worden in EF)

26/05/2011 Moderne architectuur van een applicatie 19

Entity Framework

26/05/2011 Moderne architectuur van een applicatie 20

DEMO

• Historiek .NET

26/05/2011 Moderne architectuur van een applicatie 21

Visual Studio

26/05/2011 Moderne architectuur van een applicatie 22

Visual Studio

• Package Manager Console in VS 2010

• Installatie via Tools -> Extension Manager

• Gemakkelijker gebruik van Third-party

libraries:

– Via “Add Library Package Reference”

– Via Package Manager Console

• Gebaseerd op powershell

26/05/2011 Moderne architectuur van een applicatie 23

NuGet

• Eenvoudige commando‟s:

– get-package –remote

– get-package –remote –filter [filter name]

– install-package [package name]

– uninstall-package [package name]

26/05/2011 Moderne architectuur van een applicatie 24

NuGet

• Package Explorer: packages bekijken!

26/05/2011 Moderne architectuur van een applicatie 25

NuGet

• Geen Edmx meer

• Maak je klassen in code

• Database

– Connecteren met bestaande

– Automatisch aanmaken

• Alternatief:

– Database First

– Model First

26/05/2011 Moderne architectuur van een applicatie 26

EF Code First

• Open web protocol: – Ophalen van data

– Updaten van data

• Gebaseerd op HTTP - REST

• Data formaat: – Atom

– JSON

– XML

• Gebruik: – Informatie uitwisseling met derden

– Eigen applicaties

– API op je data

26/05/2011 Moderne architectuur van een applicatie 27

OData

• Gebruik

– http://localhost:49955/AdventureWorksDataSe

rvice.svc/Products?$filter=ProductID eq 710

– Filter operatoren

26/05/2011 Moderne architectuur van een applicatie 28

OData

26/05/2011 Moderne architectuur van een applicatie 29

Powerpivot & OData

• NuGet: http://nuget.codeplex.com/

• EF Code First:

http://weblogs.asp.net/scottgu/archive/201

0/07/16/code-first-development-with-entity-

framework-4.aspx

• OData: http://www.odata.org/

• Powerpivot: http://www.powerpivot.com/

26/05/2011 Moderne architectuur van een applicatie 30

Links

Vragen?

26/05/2011 Moderne architectuur van een applicatie 31

www.orbid.be

Luc Standaert

Projectleider • ORBID IT Services

Luc.Standaert@orbid.be

Axxes Business Park • Guldensporenpark 29 • Blok C • 9820 Merelbeke

T. 32 9 272 99 11 • F. +32 9 272 99 11

www.orbid.be

Christophe Ketels

Technical Consultant • ORBID IT Services

Christophe.Ketels@orbid.be

Axxes Business Park • Guldensporenpark 29 • Blok C • 9820 Merelbeke

T. 32 9 272 99 11 • F. +32 9 272 99 11

• Contact us:

26/05/2011 Moderne architectuur van een applicatie 32