Paul Gielens:ThoughtsService

another Endpoint to my thoughts

News

Syndication

Ads


Favorites

Projects

June 2005 - Posts

JetBrains .NET Profiler crash workaround,

I received the following exception while starting the JetBrains .NET Profiler build 112 (Early Access Program) “Unable to get the window handle for the 'AxWebBrowser' control”. To work around this problem add the temporary license information to your license file which can be found in the installation directory. Apparently the dialog box which pops up once your test license is expired fails to persist the license information eventually crashing the applications.

Get the temporary license information from the download page

The JetBrains .NET Profiler is pure profiling joy, use it!

Posted: Jun 21 2005, 10:25 AM by p.gielens | with 1 comment(s)
Filed under:
Sequence Diagrams are useless

The need for sequence diagrams? A colleague argued that a sequence diagram is necessary for proper understanding of the code (the interaction). Upfront, to express the designer’s intention with the detailed design and afterwards to get a solid understanding of the final code. I dislike sequence diagrams and prefer class diagrams focussing on the interaction between classes and/or packages. The code itself should be self describing and thus eliminate the need for sequence diagrams and the level of detail they provide. I also believe sequence diagrams are close to impossible to maintain throughout the evolution of your system in such a way that they turn against you. The understanding gained from sequence diagram doesn’t necessarily mean you’ll understand the code since they are out of sync.

Posted: Jun 21 2005, 10:00 AM by p.gielens | with 11 comment(s)
Filed under:
15 Seconds Indigo

Een leuke Indigo introductie door Chris Peiris.

Tech Ed Webcasts

Om alvast in de stemming te komen, via TheServerSide.NET.

Indigo is secure

Een poos geleden heb ik een aanzetje gedaan voor programmeermodel waar je methoden decoreert met attributen, zodat deze tijdens executie in een nieuwe of participeert in een bestaande transactie. In Indigo decoreer je een sectie van methoden met een [OperationContract] terwijl je tijdens het implementeren van Indigo services nogal eens geneigd bent dit op het niveau van de methoden/operation te doen (wat dus niet mogelijk is). Volgens Steve Swartz heeft dit alles te maken met security. Je definieert expliciet (en dus op voorhand… contract first) een operation contract. Later wil je niet dat eventuele helper methoden per ongeluk worden opgenomen in het operation contract (ala CLR methoden default private in plaats van public). Indigo is secure by default. Dat wil zeggen het Indigo programmeermodel het schrijven van secure code promoot door de nadruk te leggen op expliciet. Is mijn aanzet niet expliciet dan?

Via Sam Gentile

Indigo Programmeer Model

Christian Weyer en Steve Swartz (een van de Indigo architecten) spreken over "Indigo" Endpoints – Addresses, Bindings, and Contracts (CTS365).

Abstract:
The "Indigo" programming model is designed to make it easy and natural to build service-oriented modules. Service oriented modules (“services”) can only be accessed via explicitly-defined endpoints. Endpoints consist of addresses, bindings, and contracts. Addresses are URIs that locate particular endpoints. Bindings configure the endpoint’s transport stack and provide a complete description of the stack in terms of standard Policy statements. Contracts describe the WSDL operations and message schema that are understood at the endpoint. As compared to the existing distributed system technologies, "Indigo" is unusual in that it allows multiple configurable bindings on any endpoint, and because it supports a wide variety of contracts with a single programming model. This session will show how endpoint features are defined and implemented.

Dit belooft een goede sessie te worden!

Dutch Tech Ed 2005 Bloggers Dinner

Just got back from having a dinner in Utrecht with our Tech Ed 2005 Europe bloggers group. We exchanged and discussed some ideas. One of them is to do “behind the scenes” interviews with key speakers. So if you have any Indigo related questions please drop me an email and/or comment. I’ll make sure you’ll get your answer during the Tech Ed 2005 Europe.

As you might have noticed, I haven’t decided yet whether to keep my Tech Ed 2005 Europe weblog in my native language which is Dutch or POE Plain Old English. Any opinions?

Parameterized SubQueries using OleDb Data Provider

While using OleDb to interface with an MS Access database I ran into the following problem. A non-parameterized subquery returns 11 rows, as expected, from the pubs database. A parameterized subquery on the other hand returns 0 rows. See the following code snippet.

[Test]

public void OleDbParameterizedSubQuery()

{

       using(IDbConnection connection = new OleDbConnection(GetConfigValue("sqlconnstring")))

       {

              connection.Open();

              OleDbCommand subquerySelectCommand = new OleDbCommand();

              subquerySelectCommand.Connection = (OleDbConnection) connection;

              //subquerySelectCommand.CommandText = "SELECT COUNT(*) FROM authors WHERE au_id IN ( SELECT au_id FROM titleauthor WHERE (title_id='MC3021' OR title_id IN ( SELECT title_id FROM titles WHERE pub_id='1389' )) )";

              subquerySelectCommand.CommandText = "SELECT COUNT(*) FROM authors WHERE au_id IN ( SELECT au_id FROM titleauthor WHERE (title_id=@title_id0 OR title_id IN ( SELECT title_id FROM titles WHERE pub_id=@pub_id1 )) )";

              subquerySelectCommand.CommandType = CommandType.Text;

              subquerySelectCommand.Parameters.Add(new OleDbParameter("@title_id0", "MC3021"));

              subquerySelectCommand.Parameters.Add(new OleDbParameter("@pub_id1", "1389"));

              int rows = (int) subquerySelectCommand.ExecuteScalar();

              Assert.AreEqual(11, rows);

       }

}


I tried passing the OleDbType, size and a compiled version of the command using Prepare with no luck. Any ideas?

Posted: Jun 12 2005, 01:23 PM by p.gielens | with 6 comment(s)
Filed under:
Suggested Read on MSDN

I finally made it to the MSDN site ;). My writing on Domain-Driven Design Pattern Summaries is featured on the MSDN Visual Studio 2005 Team System Development Center site as suggested reading, architecture. Cool!

MTOM

MTOM ofwel Message Transmission Optimization Mechanism is een door WC3 gestandaardiseerd data transport protocol. Indigo ondersteund ‘out of the box’ 3 encoders: Text, Binary en MTOM. MTOM maakt het zo mogelijk grote blokken binary data over de lijn te sturen. Waar binary data voorheen nog als XML tekst werd verstuurd (met alle performance problemen van dien), zal deze, indien gebruik makend van het MTOM protocol, verder ongemoeid blijven.

Steve Main, Program Manager in the Distributed Systems Group gaat dieper in op de serialization en encoding mogelijkheden in Indigo. Zie de WinFX SDK MTOM en MTOM encoder documentatie.

More Posts Next page »