Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdGerda Van Laatst gewijzigd meer dan 10 jaar geleden
1
Thesisverdediging “Ontwerp van enterprise applicaties op het.NET platform” Bart De Smet Academiejaar 2004-2005 Promotor: Prof. A. De Clercq Begeleider: Dhr. N. Sabbe
2
Vrijdag 10 juni 2005Bart De Smet2 Agenda Introductie Enterprise applicaties Het.NET platform Doelstelling Databasetoegang Communicatie tussen lagen Conclusie Vragen
3
Vrijdag 10 juni 2005Bart De Smet3 Enterprise applicaties Kenmerken (M. Fowler): Persistente data Hoge datavolumes Complexe business-logica Vlotte gebruikersinterface Integratie met andere applicaties (EAI) Geen “information silo” Leidt tot verhoogde eisen! Resultaat: Gelaagd model
4
Vrijdag 10 juni 2005Bart De Smet4 Enterprise applicaties
5
Vrijdag 10 juni 2005Bart De Smet5 Het.NET platform Visie: “Microsoft versie 3.0” Technologie: Ontwikkelingsframework:.NET Framework Ontwikkelingstools: Visual Studio “Windows Server System”: IIS, MSMQ,... Database: SQL Server Gebruik van beta-technologie Performantietests onder voorbehoud Niet steeds foutloos
6
Vrijdag 10 juni 2005Bart De Smet6 Doelstelling Concreet antwoord op volgende vragen: Mate van gelaagdheid? Welke technologie te kiezen? Rijpheid van Service-Oriented Architecture? Aandachtspunten en testcriteria: Gelaagheid en encapsulatie Goede applicatiestructuur voor betere maintainability Performantie Stijgende nood door EAI-scenario’s Productiviteit bij ontwikkeling “Aspecten” van beveiliging, manageability
7
Vrijdag 10 juni 2005Bart De Smet7 Agenda Introductie Databasetoegang ADO.NET 1.x en 2.0 SQLXML SQL 2005 Web Services SOAP Data Provider Communicatie tussen lagen Conclusie Vragen
8
Vrijdag 10 juni 2005Bart De Smet8 ADO.NET
9
Vrijdag 10 juni 2005Bart De Smet9 ADO.NET DataSet Off-line weerspiegeling van de database Houdt wijzigingen bij Mogelijk probleem van “data aging” XML-gebaseerde datacarrier (o.a. voor webservices) Databinding mogelijk (Windows Forms, ASP.NET) DataAdapter Synchronisatie van off-line data met persistentie Gebruikt achterliggende DML-commando’s Waar past business logica? O/R-mapping? Strongly typed DataSets?
10
Vrijdag 10 juni 2005Bart De Smet10 ADO.NET 2.0 Er verandert weinig aan de concepten Features Enkel voor SQL Server 2005: User Defined Types Query Notifications Multiple Active Result Sets Batched Updates Algemeen: Asynchrone databaseinvocatie DataSet verbeteringen Nieuwe datacontrols (Windows Forms) Toekomst: ObjectSpaces, WinFS, Comega
11
Vrijdag 10 juni 2005Bart De Smet11 ADO.NET 2.0 User Defined Types 1 Verhoogde proximity Risico op foutief gebruik Controleer relevantie voor types m.b.v. diverse regels Query Notifications 1 Oplossing voor aging Netwerkbelasting Gebruik voor read-mostly data; combineer met caching Multiple Active Result Sets (MARS) 1 Handig en inituïtief Slordig connectiebeheer Overweeg hogere proximity; besteed zorg aan connecties Batched Updates 2 Eenvoudig, krachtig Batchgrootte-gevoelig Batchgrootte altijd zorgvuldig testen, geen nattevingerwerk Asynchrone databaseinvocatie Standaard patroon Eenvoudig bruikbaar Gebruik voor operaties met lage onderlinge beïnvloeding DataSet “verbeteringen” Welkome verbeteringen Binaire serializatie Voor compressie, gebruik GZip i.p.v. binaire serializatie 1 Enkel voor SQL Server 2005 2 Voorlopig enkel voor SQL Server 2005
12
Vrijdag 10 juni 2005Bart De Smet12 SQLXML
13
Vrijdag 10 juni 2005Bart De Smet13 SQLXML Templates Voldoende encapsulatie Parameterisatie mogelijk Zeer flexibel en krachtig Modificatie van stored procedures is vereist Lage performantie 1 Updategrams Intuïtief principe Parameterisatie mogelijk Geen encapsulatie Moeilijke code bij gebruik over HTTP Vaak “plumbing” nodig 2 Lage performantie 1 Diffgrams Integratie met DataSets Eenvoudig via API Geen encapsulatie Relatief lage performantie 1 SOAP Web Services Voldoende encapsulatie Gebruik van standaarden Flexibiliteit en eenvoud Geen WS-* ondersteuning Niet compatibel met sommige infrastructuren Zeer lage performantie 1 1 vergelijking met TDS 2 vreemde tekens in kolomnamen niet toegestaan 3 installatie op Active Directory domaincontroller
14
Vrijdag 10 juni 2005Bart De Smet14 SQLXML XML? XML is niet compact (TDS wél) Lage performantie XML en SOAP zijn standaarden (TDS niet) Inzetbaar voor EAI-doeleinden Aandachtspunten Algemene opmerkingen Vals gevoel van gelaagdheid Encapsulatie is soms een illusie Hoge leercurve, niet bugvrij Scenario’s Weinig interessant binnen een enterprise applicatie Geschikt voor gebruik voor EAI-doeleinden
15
Vrijdag 10 juni 2005Bart De Smet15 SQL Server 2005 Web Services Analoog aan SQLXML Web Services Nu via http.sys kernel listener Voordelen: Geen IIS-installatie vereist Geïntegreerd in de database zelf (Theoretisch) hogere performantie Toekomstige ondersteuning voor WS-* Nadelen: Werkt enkel op dezelfde machine als SQL Server Lage performantie in vergelijking met TDS Gebruik: Vooral interessant voor EAI-doeleinden
16
Vrijdag 10 juni 2005Bart De Smet16 SOAP Data Adapter Eigen ontwikkeling Doelstelling: Gebruik van DataAdapter bij webservices Automatische generatie van instantiatie-code Werking: SoapConnection gebruikt proxyklasse SoapCommand roept webmethoden aan SoapDataAdapter synchroniseert off-line wijzigingen
17
Vrijdag 10 juni 2005Bart De Smet17 Agenda Introductie Databasetoegang Communicatie tussen lagen XML Web Services.NET Remoting SOA MSMQ Conclusie Vragen
18
Vrijdag 10 juni 2005Bart De Smet18 XML Web Services Voordelen: Gebaseerd op standaarden: XML, SOAP, WSDL, UDDI WS-Specifications Eenvoudig en intuïtief principe (façade – proxy) “Explicitness of boundaries” Nadelen: XML-serializatie van data is vereist; weinig compact Lagere performantie dan binaire protocols Algemene aanbevelingen: Gebruik output caching Hou webservices statusloos Gebruik voor “chunky communication” (= relatief)
19
Vrijdag 10 juni 2005Bart De Smet19.NET Remoting Voordelen: Enorm hoge graad van transparantie Sterk aanpasbaar en uitbreidbaar Hoge performantie Nadelen: Té groot risico op “chatty communication” Geen standaardisatie: enkel.NET-naar-.NET Beperkte “roadmap” voor.NET Remoting (Indigo) Gebruiken of niet? Enkel voor inter-application domain (Microsoft) Lees: IPC op dezelfde machine Niet inzetbaar voor EAI Geen standaardisatie
20
Vrijdag 10 juni 2005Bart De Smet20 SOA Service-oriented Webservices als entrypoints Achterliggende componenten worden verborgen “Loosely coupled” Contract = berichtgebaseerd Voorzien op fouten Vermijden van cascade-effect (belang bij EAI) Ondersteuning voor “aspecten” Beveiliging, integriteit, betrouwbaarheid Gedistribueerde transacties Beleidsregels Absolute must voor hedendaagse EAI
21
Vrijdag 10 juni 2005Bart De Smet21 SOA Principes: Standaarden Set van WS-Specifications Implementatie in.NET via WSE Werkwijze: Definieer berichten via XSD Implementeer business components Eventueel gebruik van service agents Bouw een façade vóór de business components Gebruik WSE voor implementatie van de “aspecten” Rol van service als “gateway” Genereer proxies Piece of cake in Visual Studio
22
Vrijdag 10 juni 2005Bart De Smet22 SOA Voordelen: Gestandaardiseerd; lange “roadmap” Tools en technologieën (voorbeeld BizTalk) Nadelen: Op heden onvolledig Reliable messaging (MSMQ) Distributed transactions (DTS) Jonge technologie (vb. mate van loosely coupling?) Gebruik: Voorzie façade layers vandaag, met WSE Gebruik deze ook binnen de applicatie Voor reliable messaging, gebruik MSMQ Toekomst = Indigo
23
Vrijdag 10 juni 2005Bart De Smet23 MSMQ Wat is het? Bericht-gebaseerde communicatie via wachtrijen Relatief oude technologie in Windows Doch bruikbaar in.NET Biedt ondersteuning voor: Reliable messaging Transactionele messaging Combinatie met SOA “One-way communication” Betrouwbare bezorging is vereist “Fire and forget”-communicatie vereist bevestiging Voorbeeld: Plaatsen van een order
24
Vrijdag 10 juni 2005Bart De Smet24 MSMQ Service Provider Eigen ontwikkeling Doelstelling: Gebruik van MSMQ vereenvoudigen Eenvoudige definitie van een “MSMQ Service” Bidirectionele communicatie Gebruik: Declaratief (attributen) Tool MQDL.exe Bruikbaar bij SOA
25
Vrijdag 10 juni 2005Bart De Smet25 Agenda Introductie Databasetoegang Communicatie tussen lagen Conclusie Vragen
26
Vrijdag 10 juni 2005Bart De Smet26 Conclusie Datatoegang “Intra-enterprise application” gebruik TDS Voor integratiedoeleinden gebruik XML EAI is vroeg of laat nodig Liefst voor de business logic layer Plaatsen van een façade via SOA Ook mogelijk op de databaselaag SQLXML of SQL Server 2005 Web Services SOA = “Be prepared for EAI” Klassieke ontwikkeling blijft; façade is “gateway” Jonge technologie in evolutie (onvoltooid) Indigo = veelbelovende toekomst
27
Vrijdag 10 juni 2005Bart De Smet27 Agenda Introductie Databasetoegang Communicatie tussen lagen Conclusie Vragen
28
Vrijdag 10 juni 2005Bart De Smet28 Vragen
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.