De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Thesisverdediging “Ontwerp van enterprise applicaties op het.NET platform” Bart De Smet Academiejaar 2004-2005 Promotor: Prof. A. De Clercq Begeleider:

Verwante presentaties


Presentatie over: "Thesisverdediging “Ontwerp van enterprise applicaties op het.NET platform” Bart De Smet Academiejaar 2004-2005 Promotor: Prof. A. De Clercq Begeleider:"— Transcript van de presentatie:

1 Thesisverdediging “Ontwerp van enterprise applicaties op het.NET platform” Bart De Smet Academiejaar 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 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


Download ppt "Thesisverdediging “Ontwerp van enterprise applicaties op het.NET platform” Bart De Smet Academiejaar 2004-2005 Promotor: Prof. A. De Clercq Begeleider:"

Verwante presentaties


Ads door Google