Stored Procedure Performance

This is just a quick tip/workaround for performance issues with stored procedures in SQL Server.

I had a fairly complex SP, actually just a SELECT with calculations, joins and outer applies, that had several parameters of different types (uniqueidentifier, varchar, datetime) that were used in the WHERE clause and passed to functions. This SP took more than 1 minute to complete but when I extracted the SELECT statement form the SP and ran it in SQL Server Management Studio it took just 3 seconds. This is quite a big difference to do the exact same thing, no?

Some time ago I read something about SQL Server doing some kind of parameter checking in SP’s and this could cause a performance issue. So I tried the workaround that was mentioned there: declare new variables inside your SP, asign the values of the parameters to those variables and then use those variables in the rest of the SP. Lo and behold, my SP was finished in 3 seconds. 

I don’t exactly understand what is going on here, if anybody knows the details don’t hesitate to tell me.

Posted in database | Tagged | Leave a comment

Scheduled exam S90.01

I just scheduled my first soaschool.com exam for December 30, just in time to keep on track with my planning to do one exam this year :-)

I’ve read the book SOA: Principles of Service Design completely, read the self-study material and I tried the sample questions. Until D-day I’ll probably listen to the the CD’s with podcasts and review the most important chapters of the book that concern the first exam.

Once I took the exam I’ll let you know what it was like.

UPDATE: Because the exam center unexpectedly had to close last week I was forced to reschedule my exam to January 21.

Posted in SOA | Tagged , | Leave a comment

WCSF and VS2010

Guidance Automation isn’t supported yet in Visual Studio 2010 beta 2 and this sucks (my apologies for using this word).

In a project we’re currently working on we’re using Entity Framework and the Web Client Software Factory and I would really like to use the new EF features in VS2010 beta 2 (it does have a go-live license) but also keep using WCSF and without GAX/GAT support this aint gonna happen.

But as always in IT there might be a workaround, I’ll be extracting the project templates of WCSF (have a look in the install directory to find them) and adding them to the project templates of Visual Studio.

I’ll keep you informed of my success or failure.

Posted in .NET | Tagged , , , | Leave a comment

Oslo Articles

From DSLs and Models to “Quadrant” using “Oslo” May CTP

"M" In a Nutshell

Modeling as Expressed in Code

What Exactly Does One Do With “Oslo”?

MGraph Visualizer Plug-in for Intellipad!

Intellipad Team Blog

Posted in architecture | Tagged | Leave a comment

Oslo as a SOA Service Repository?

Don’t expect an answer, only a question.

Could Oslo be used as a service repository in SOA within the enterprise? If so this could be quite powerful. You can create a grammar for the service contracts (wsdl, xsd…) and additional information concerning the service (SLA, discoverability…). This could really help in standardizing and centralizing the governance of SOA in the enterprise.

Might this be a valid implementation of Oslo?

Posted in SOA | Tagged , | Leave a comment

Tweeting

Started tweeting

Posted in general | Leave a comment

Exploring MonoTouch with Tripy

As you might already know the people of Mono have made it possible to use the MonoDevelop IDE and C# to create applications for the iPhone. Whether this is good or bad I leave it up to you to decide, I’m just happy there is more than one way to develop for the iPhone. The thing that makes it possible is MonoTouch, the framework between the iPhone libraries and C#. MonoTouch is not free (single license costs $399, per year if you want updates) but there is a trial version to play with.

What do you need to get started:

  • Mac OS X Leopard (yes, you still need a Mac)
  • Mono framework for Mac
  • MonoTouch Framework
  • MonoDevelop for MonoTouch (it’s a special version)
  • XCode and Interface Builder (should already be installed with Mac)

You can find the installation instructions and downloads on the site of MonoTouch.

Tip 1: Once you have everything installed and it’s your first time using Mono on you Mac, go here to be able to launch MonoDevelop.

Tip 2: If you’ve never developed for the iPhone or Mac before and you know nothing of Objective-C (the natural language of Mac and iPhone) than I still suggest you to read the documentation on Apples website and maybe also read the book “Cocoa Programming for Mac OS X (3rd Edition)” (Aaron Hillegass). Trust me, this will really help you especially if you’ll be using Interface Builder to create the views.

So now that you have the tools and knowledge you can get started. To help you on the way I’ll be creating a sample application and publish the code on this blog as I progress but don’t expect full tutorials as I don’t have the time right now. The idea is to create a vacation/trip organizer and you can download the first pre-alpha release of Tripy.

The following features are included:

  • it uses a navigation controller for navigating between views
  • 3 (table)views are available (list of trips, overview of a trip, details of a trip item)
  • different examples to wire up a table view to its UITableViewDataSource and UITableViewDelegate, this also includes a custom UITableViewController
  • custom UITableViewCell created in Interface Builder
  • dummy data (no DB yet)

Future features:

  • adding, updating and deleting trips
  • more custom cells
  • SQLite support

I also try to use Interface Builder as much as possible, not only for creating the views and controls but also to wire everything up such as linking a UITableView with its UITableViewDataSource and UITableViewDelegate. In case you have no idea what I’m talking about, a UITableView uses a UITableViewDataSource to get filled and a UITableViewDelegate receives events from the UITableView.

This first code release is very rough, poorly tested and needs code cleanup/refactoring so please no comments on these subjects, this will be taken care of as I progress. If you have questions on how to do something or how something works, just drop me a comment.

You are free to use this code as you see fit but I will not take any responsibility for accidents this code might cause. The only thing I ask is to put a reference to me or this blog if you publish or change this code or applications your create with it. If you have any input, recommendations or if you want to add your own additions just let me know.

Download source code.

Posted in iPhone | Tagged , | Leave a comment

SOA symposium presentations

The second international SOA symposium is organized from October 22-23 2009 in Rotterdam, the Netherlands. There are also 3 days of workshops (Oct. 19-21).

But, the presentations of last years symposium can be downloaded for free. Topics include SOA in genereal, architecture, ESB, REST, web services… They also mention that soon some video presentations will become available.

Posted in SOA | Tagged | Leave a comment

MonoDevelop not starting on Mac OS

If your MonoDevelop is only jumping around but doesn’t want to start check out this solution.

Posted in iPhone | Tagged , | Leave a comment

Understanding Oslo

Are you also intrigued by Oslo but don’t really understand what to do with it?

Well, then you have to read this article of Kraig Brockschmidt, he talks about the part you don’t here in the usual presentations. He also has 2 introduction articles to "M" (1, 2).

Posted in .NET | Tagged | Leave a comment