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

Slides:



Advertisements
Verwante presentaties
De aantrekkingskracht van uitzendwerk voor werkgevers De rol van ontslagbescherming Amsterdam, 9 juni.
Advertisements

Coördinatiecel Vlaams e-government Slide 1 Geo-webservices voor de uitwisseling van ruimtelijke uitvoeringsplannen (RUP’s) & BPA’s CRAB / VBKO update ketting.
E-RADEN Roadmap. AGENDA • Overzicht van nieuwe ontwikkelingen 2009 • Interfaces • Document Types : Meta-data • E-raden gratis ? • Perspectieven.
ASP.NET AJAX Extensions Richard Soeteman
Mamut Kassa K.D.C Swakhoven
Een introductie. Open source Betere kwaliteit Hoge innovatiesnelheid Betere prijs/kwaliteit verhouding Vrijheid in keuze van leverancier Gedreven door.
Windows Server 2012 Optimaliseer uw IT. Ready for the Future.
Easy Bis Bestuursdienst Informatie Systeem Van agendapunt tot besluit Met automatische internet publicatie.
ANDRÉ OBELINK, MCSD, MVP Introductie.NET Framework 3.0.
Het. Het Nieuwe Werken De optimale werkplek.
17 april 2008 WAB*info De digitale bron van de Nederlandse waterbodems Gaston Lamaitre Data-ICT-Dienst, Delft Uitvoerders: Atlis (hoofdaannemer), CSO (functioneel.
D.I.S. Distributie Informatie Systeem P. Harink 4Efficiency Services i.o.v. AEP Industries Nederland BV QAD Gebruikersdag - Juni 2008.
Woensdag 24 juni 2009 Web 2.0 en Technologie Bram de Kruijff.
Adobe formulieren : stand van zaken.
49e adlib gebruikersgroep vergadering Brabants Museum 7 december 2004 Bert Degenhart Drenth.
State-of-the-Art beveiliging met Windows Identity Foundation
PLDA – Connectiviteit Rudolf de Schipper Geoffroy Fauveaux 09/11/2004.
Basic Web Services Technology Matthijs Smith & Roel Arents tbv ISS 2005/2006.
SOA, Webservices en EDISON
The vision at work Batteries included Ervaringen van een ISV op hosting avontuur Sven Middelkoop Corporate ICT Manager Exact Holding N.V.
WinFX Overview Martin Tirion Senior Consultant Microsoft Services.
27 januari 2011.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003.
Agentenplatformen en programmeeromgevingen 1.Java 2 Micro Edition (J2ME) 2.Personal Java 3.JADE en LEAP 4.LEAP op verschillende toestellen 5.Onze voorkeuren.
Deel XXI 1 Internetapplicaties Internetprogrammeren Capita Selecta.
Mamut Kassa K.D.C Swakhoven
Bas Kruiswijk Amersfoort 12 september 2009 Service Oriented Architecture Deel 1: Basisconcepten.
Service Oriented Architecture
Service Oriented Architecture
Minicollege Service Oriented Architecture
Bas Kruiswijk Amersfoort 20 september 2009 Service Oriented Architecture Deel 3b: Event Driven Architecture.
Web Applicaties Bouwen met Visual Studio .NET
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Keuzetraject Software Ontwikkeling. Marktvraag Mark Heeren (ceo CSC Benelux): –Nieuwe mensen aannemen wordt weer moeilijk, men stelt meer eisen over auto.
MCSA traject Leerjaar 4 H /10 Agenda Samenvatting H1.
Technische Architectuur
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
PADS4 maakt het eenvoudig om informatie te verspreiden naar een specifiek publiek op de juiste plaats en het juiste moment PADS4 is een professionele oplossing.
MVC in de praktijk Jeroen Swart.NET architect, Quintor
Een overzicht van de hedendaagse mogelijkheden voor het bouwen van websites.
TypeScript Orde in de chaos!. Over mij Patrick Schmidt (Microsoft Certified Trainer) Trainer bij 4DotNet Mede-oprichter en architect BesteProduct.nl.
Thesispresentatie LocQSmith project Bedrijf: Barco Purup Eskofot Johan Andries.
Programmeercursus O.O.P. met VISUAL BASIC.NET
Van data naar kennis. Customer Case – Robeco Forms naar Apex Migratie.
APP Platform Rivium, 5 maart 2013 Rik Vietsch.
SKYPE INTEGRATIE “Tools voor Database koppelingen en CRM integratie” SES Skype for Business Kennis Event Dinsdag 12 mei 2015 Michiel Moonen
2 August SQL Les August Agenda Herhaling Herhaling Cursors Cursors MS SQL Server and MS Excel MS SQL Server and MS Excel Oefeningen.
Masterproef: finale presentatie Vital D’haveloose Promotor: prof. Erik Duval Co-promotor: dr. Joris Klerkx Begeleider: ir. Robin De Croon.
Kennisnet – Copacabana Van Dienst naar Service.
Paul J. Cornelisse ESB Les 3 IBK3ESB01. ESB Connectiviteit OxI0K_I.
Enterprise Application Integration
123 Belangrijke voordelenWat is het? End-to-end mogelijkheden Creëer en versterk autonome flexibele teams Plaats kwaliteit centraal in alles wat u doet.
Enterprise Service Bus IBK3ESB01
Les 7: BPM tot slot V2.0. Inhoud: 1. Protocollen 2. Object of service? 3. These + antithese = synthese 4. Soorten ESB’s (topologie) 5. Carrière.
Adapter voor industriële wireless sensor netwerken Student: Glen Vanroelen Interne promotor: Tim Dams Externe promotor: Kevin Heylen (Intation)
Mid-market servercampagne – Thru Partner- presentatie: Dia voor presentator: niet laten zien Spreker: Partner Titel van de presentatie: We geven u het.
Webwinkel in het D-cluster van de opleiding Logistiek Ad van Kooten – docent ERP toepassingen  Pract. 1.
Ministerie van BZK – 3 november 2016
Software Development fundamentals
‘Business at the speed of change’
Inleiding (1/4) Nood aan integratie: binnen de onderneming (EAI)
Technische Architectuur & Discimus
ASP.NET MVC Web Development
Praegus B.V.. .
Sierteelt, digitaal snel op weg
Software Development fundamentals
Gebruikersdag 2017 Welkom.
– Software development fundamentals
– Software development fundamentals
Transcript van de presentatie:

Thesisverdediging “Ontwerp van enterprise applicaties op het.NET platform” Bart De Smet Academiejaar Promotor: Prof. A. De Clercq Begeleider: Dhr. N. Sabbe

Vrijdag 10 juni 2005Bart De Smet2 Agenda  Introductie Enterprise applicaties Het.NET platform Doelstelling  Databasetoegang  Communicatie tussen lagen  Conclusie  Vragen

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

Vrijdag 10 juni 2005Bart De Smet4 Enterprise applicaties

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

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

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

Vrijdag 10 juni 2005Bart De Smet8 ADO.NET

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?

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

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

Vrijdag 10 juni 2005Bart De Smet12 SQLXML

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

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

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

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

Vrijdag 10 juni 2005Bart De Smet17 Agenda  Introductie  Databasetoegang  Communicatie tussen lagen XML Web Services.NET Remoting SOA MSMQ  Conclusie  Vragen

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)

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

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

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

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

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

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

Vrijdag 10 juni 2005Bart De Smet25 Agenda  Introductie  Databasetoegang  Communicatie tussen lagen  Conclusie  Vragen

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

Vrijdag 10 juni 2005Bart De Smet27 Agenda  Introductie  Databasetoegang  Communicatie tussen lagen  Conclusie  Vragen

Vrijdag 10 juni 2005Bart De Smet28 Vragen