32
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

IT- Presentatie.Net 2011 05

Embed Size (px)

DESCRIPTION

Meer weten over de nieuwste ontwikkelingen in .net?

Citation preview

Page 1: 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

Page 2: IT- Presentatie.Net 2011 05

De Agenda

• Inleiding

• Architectuur

• Demo

• Technologie

26/05/2011 Moderne architectuur van een applicatie 2

Page 3: IT- Presentatie.Net 2011 05

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

Page 4: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 4

Architectuur

Page 5: IT- Presentatie.Net 2011 05

• 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

Page 6: IT- Presentatie.Net 2011 05

• 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

Page 7: IT- Presentatie.Net 2011 05

• 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

Page 8: IT- Presentatie.Net 2011 05

• 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

Page 9: IT- Presentatie.Net 2011 05

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

Page 10: IT- Presentatie.Net 2011 05

• 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

Page 11: IT- Presentatie.Net 2011 05

• 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

Page 12: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 12

WPF vs Windows Forms

Page 13: IT- Presentatie.Net 2011 05

• 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

Page 14: IT- Presentatie.Net 2011 05

• 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

Page 15: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 15

Silverlight

Page 16: IT- Presentatie.Net 2011 05

• Canvas

26/05/2011 Moderne architectuur van een applicatie 16

HTML5

Page 17: IT- Presentatie.Net 2011 05

• Javascript Library voor het

lezen/bewerken van DOM, CSS en Ajax

interactie.

26/05/2011 Moderne architectuur van een applicatie 17

JQuery

Page 18: IT- Presentatie.Net 2011 05

• 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

Page 19: IT- Presentatie.Net 2011 05

• 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

Page 20: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 20

DEMO

Page 21: IT- Presentatie.Net 2011 05

• Historiek .NET

26/05/2011 Moderne architectuur van een applicatie 21

Visual Studio

Page 22: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 22

Visual Studio

Page 23: IT- Presentatie.Net 2011 05

• 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

Page 24: IT- Presentatie.Net 2011 05

• 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

Page 25: IT- Presentatie.Net 2011 05

• Package Explorer: packages bekijken!

26/05/2011 Moderne architectuur van een applicatie 25

NuGet

Page 26: IT- Presentatie.Net 2011 05

• 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

Page 27: IT- Presentatie.Net 2011 05

• 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

Page 28: IT- Presentatie.Net 2011 05

• Gebruik

– http://localhost:49955/AdventureWorksDataSe

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

– Filter operatoren

26/05/2011 Moderne architectuur van een applicatie 28

OData

Page 29: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 29

Powerpivot & OData

Page 30: IT- Presentatie.Net 2011 05

• 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

Page 31: IT- Presentatie.Net 2011 05

Vragen?

26/05/2011 Moderne architectuur van een applicatie 31

www.orbid.be

Luc Standaert

Projectleider • ORBID IT Services

[email protected]

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

[email protected]

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

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

• Contact us:

Page 32: IT- Presentatie.Net 2011 05

26/05/2011 Moderne architectuur van een applicatie 32