1 / 28

Thesisverdediging

Thesisverdediging. “Ontwerp van enterprise applicaties op het .NET platform” Bart De Smet Academiejaar 2004-2005 Promotor: Prof. A. De Clercq Begeleider: Dhr. N. Sabbe. Agenda. Introductie Enterprise applicaties Het .NET platform Doelstelling Databasetoegang Communicatie tussen lagen

trudy
Download Presentation

Thesisverdediging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Agenda • Introductie • Enterprise applicaties • Het .NET platform • Doelstelling • Databasetoegang • Communicatie tussen lagen • Conclusie • Vragen Bart De Smet

  3. 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 Bart De Smet

  4. Enterprise applicaties Bart De Smet

  5. 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 Bart De Smet

  6. 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 Bart De Smet

  7. Agenda • Introductie • Databasetoegang • ADO.NET 1.x en 2.0 • SQLXML • SQL 2005 Web Services • SOAP Data Provider • Communicatie tussen lagen • Conclusie • Vragen Bart De Smet

  8. ADO.NET Bart De Smet

  9. 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? Bart De Smet

  10. 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 Bart De Smet

  11. ADO.NET 2.0 1 Enkel voor SQL Server 2005 2 Voorlopig enkel voor SQL Server 2005 Bart De Smet

  12. SQLXML Bart De Smet

  13. SQLXML 1 vergelijking met TDS 2 vreemde tekens in kolomnamen niet toegestaan 3 installatie op Active Directory domaincontroller Bart De Smet

  14. 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 Bart De Smet

  15. 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 Bart De Smet

  16. 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 Bart De Smet

  17. Agenda • Introductie • Databasetoegang • Communicatie tussen lagen • XML Web Services • .NET Remoting • SOA • MSMQ • Conclusie • Vragen Bart De Smet

  18. 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) Bart De Smet

  19. .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 Bart De Smet

  20. 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 Bart De Smet

  21. 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 Bart De Smet

  22. 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 Bart De Smet

  23. 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 Bart De Smet

  24. 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 Bart De Smet

  25. Agenda • Introductie • Databasetoegang • Communicatie tussen lagen • Conclusie • Vragen Bart De Smet

  26. 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 Bart De Smet

  27. Agenda • Introductie • Databasetoegang • Communicatie tussen lagen • Conclusie • Vragen Bart De Smet

  28. Vragen Bart De Smet

More Related