Dennis van der Stelt

If you have one problem and use cache to solve it, you now have two problems.

Community

Email Notifications

News

  • Addicted to Refactor! Pro

I read...

I Use...

Tags

Recent Posts

Archives

Blog Subscription Form

  • Email Notifications
    Go

January 2004 - Posts

Nieuwe bloggers

Weer twee bloggers erbij. Marco Stolk en Mark Mooy.
Ben vooral benieuwd naar wat die laatste over .NET gaat bloggen! ;-)

RSS Feed

De aggregated (main) RSS Feed werkt, gedeeltelijk. In de Stored Procedure voor de RSS Feed zat een foutje wat bekend was op de ASP.NET Forums.
Er is echter nog een probleem wat ik niet zomaar kan achterhalen. Sharpreader trekt de feed in ieder geval niet, terwijl de pure XML wel in IE is te lezen. Als het echt een XML opmaak fout is, trekt die 'm ook niet. De feedvalidator geeft ook aan dat het niet helemaal lekker gaat, maar wat er precies fout is begrijp ik niet. Vooral ook, omdat elke individuele feed wél correct is, alleen de geagregeerde niet.

update Volgens Scott, de maker van .Text, komt het doordat mensen waarschijnlijk een copy-n-paste vanuit Word doen. Hij heeft een oplossing die ik vanmiddag of vanavond (laat) ga proberen. Dan zou de RSS Feed het eindelijk moeten doen.

Wederom, to be continued...

update 0:21 De RSS Feed doet het inmiddels. Ook plaatjes die gebruikt worden binnen de blogs moeten inmiddels aanwezig zijn.

Knowledge Base Alertz.com

Dit kwam ik zojuist tegen vanaf asp.net. Een website welke je op de hoogte houdt van nieuwe Knowledge Base artikelen. Je kunt kiezen uit heel veel categorieën en door een eenvoudige registratie op de hoofd pagina krijg je voortaan alle info op je e-mail adres binnen.

Simpeler kan niet. Ik kan me voorstellen dat sommige mensen met te veel tijd dit leuk vinden.

update: Een linkje erbij is ook niet verkeerd! :)

Weblogs verhuist!

Op Wasabi.NET was alles perfect, op één klein 'dingetje' na. Helaas zorgde dat kleine 'dingetje' ervoor dat heel veel mensen nooit Wasabi.NET, het forum en de weblogs bezochten. Dat was namelijk het probleem dat mensen die bij een klant zaten, Wasabi nooit over internet konden benaderen.

Daar is nu verandering in gekomen! Ondanks het feit dat LogicaCMG ons niet wilde sponseren, hebben we toch drastische maatregelen genomen en het thuis maar gewoon geïnstalleerd. Nu kan dus echt iedereen erbij, tenzij je bij een klant uit de prehistorie zit, waar je geen internet hebt. Daar moet je dan maar proberen met een analoog lijntje dat 020 nummer te bellen.

Anyway, spread the word, zou ik zeggen!

En nogmaals, als je ook mee wilt bloggen, kan dat.Kijk gewoon even naar mijn First Post! en daar vind je meer informatie.

Service Orientated Architecture

Wat wordt er toch ongelofelijk veel gezegd en gedacht over SOA. Maar in de praktijk brengen hebben, naar het lijkt, nog maar heel weinig mensen gedaan. Ik heb ook zo mijn gedachten over SOA. We gaan het tijdens de SIG.NET van 27 januari behandelen. Ik ben wel benieuwd naar wat meningen. Helaas kan dat alleen van mensen die er nog niet mee gewerkt hebben! ;-)

Een definitie van SOA bestaat mijn inziens niet. Er zijn er namelijk heel veel en al verschillen ze weinig van elkaar, toch zijn veel mensen het over de meeste zaken eens. Ik wil een aantal punten alvast behandelen:

·        Discoverable
Waarom moeten ze discoverable zijn? Oftewel, je moet ze kunnen vinden aan de hand van een registry o.i.d. waar ze allemaal vermeld zijn. Volgens mij voldoet momenteel alleen webservices daaraan, met UDDI. En hoewel de XML Schema’s veel duidelijk maken, moeten er mijn inziens altijd afspraken gemaakt worden m.b.t. authenticatie e.d. Wat is hier het nut dan van? Eén van de zaken dat bijna iedereen er vanuit gaat dat SOA altijd webservices based is, heeft hiermee te maken. Maar waarom kan ik geen direct-calls doen (simpelweg een reference leggen naar de assembly (.dll)) of gebruik maken van binary .NET Remoting?

·        Single Instance
Dat schijnt ook normaal te zijn, dat het één enkel object is t.o.v. component-based, waar je elke keer een eigen en nieuw object creëert. Uiteraard logisch bij webservices. Dat ding staat geregistreerd en draait ergens, en dat is ‘t. Maar niet als ik direct-calss wil doen.

·        Iedereen praat over lagen, communicatie middelen en/of protocollen, abstract, definities, maar... wat is een service? Hoe definieer ik die? Waaruit kan ik die opmaken? Ik zit nu op een klus, waar ze in één service zaken stoppen zoals personen en talen en tarieven en nog véél meer. Terwijl ik juist het idee heb dat die gescheiden moeten worden. Als ik bijvoorbeeld producten verkoop aan klanten, heb ik een service product en een service customers. Dan heb je een koppeling hiertussen d.m.v. orders en orderregels. Omdat die erg samenhangend zijn, stoppen we die in één service, te weten een orders service. Dit verzin ik overigens niet zelf, maar heeft Gerke ooit zo uitgelegd aan Pascal Naber en mij. Dan kom ik op het volgende...

·        Waar beleg ik de functionaliteit om alle klanten op te vragen welke ooit product B hebben besteld?
Hier zijn volgens mij drie varianten op.

o       Je haalt eerste alle orders op waarin product B is besteld. Dan krijg je de relatie naar de klant. Even buiten beschouwing gelaten of we hier identificatie uit de database gebruiken, te weten primary en foreign keys. Dan heb je in je process-layer de gegevens van welke klanten precies product B hebben besteld. Daarna vraag je aan je customers service de gegevens van de klant op. Dit is theoretisch gezien volgens mij de beste oplossing.

o       Omdat de bovenstaande oplossing voor nogal wat gegevens kan zorgen (bijv. heel veel klanten id’s), moeten we in één van de drie services de gevraagde functionaliteit leggen. Omdat we alle verbindingen naar producten uit de customers service willen houden, beleggen we dit dan in de orders service. Deze heeft tenslotte al ‘kennis’ van de relatie tussen klant en product. Probleem is dan wel, dat je orders service, klantgegevens terug gaat geven.

o       Om het probleem uit bovenstaande te omzeilen, gaan we een vierde service aanmaken, customers-orders. Die heeft kennis van zowel de klant als zijn orders. Probleem is dan wel, dat je bijv. business logica dubbel belegt en in principe je klanten en orders in dezelfde database moeten staan. Een echte scheiding tussen deze twee services maak je bijna onmogelijk. Daarnaast krijg je problemen als je ooit wilt weten welke producten klant XYZ ooit heeft besteld. Dan krijg je een vijfde service. Als je standaard al heel veel ‘primaire’ services hebt, wil ik niet eens na gaan denken over de mogelijke combinaties.

Al met al dus nogal wat vragen en problemen. Ik hoop ooit bevredigende antwoorden te krijgen! ;-)