|
29. april 2003
|
|
|
Steve Swartz’s talk at the seminar Monday also brought back memories from my time as a student. In 1992, I did my diploma thesis at the Forschungszentrum Informatik (FZI) in Karlsruhe titled ‘Compiling UNITY Programs to parallel Processes in a Loosely Coupled Environment’.
The idea was to make a specification that is independent of underlying architecture and application domains and to partition this into parts suitiable for hardware and software implementation. The hardware included custom PCB design and also FPGA. The partitioning process was interactive, the designer played an important role in the partitioning.
UNITY is a notation for specifying parallel algorithms and programs that is independent of architecture and application domains. As part of the thesis I developed a program that compiled the UNITY specifications into executable parallel processes. The compiler generated code that was running with the support of PMV (Parallel Virtual Machine) on a cluster of workstations.
On of the interesting aspects (!) of UNITY is the absence of control flow. A UNITY program consists of statements that must be executed synchronously and asynchronously. A program reaches a fixed point if all statements are executed and none changes a variable. As part of the thesis I created methods for process communication and a distributed algorithm for fixed point detection.
Steve’s talk on error handling in distributed environments made me think about the similarities of distributed enterprise applications and parallel computing.
- The requirements for communication and synchronization are the same.
- Steve used the notion that each record is on one node. When I worked with my theses we first assumed that each element of the specification was a single process. Later we combined several elements into one process.
- The issues with error handling in distributed environements (aka transactions) are similar to the issues with fixed-point detection in the UNITY environment.
I think I’ll dig up my thesis and the parallel processing literature from my basement. More stuff to read!
1:49:31 PM
|
|
Microsoft material and events have always been developer focused. There has been an architectural session or two but architecture has often taken the back seat.
Now architecture has taken the front seat. Just look at the material that is now available on http://msdn.microsoft.com/architecture and http://msdn.microsoft.com/patterns. Really good stuff there.
There is also a growing interest in the community for architectural topics and guidance. I see this in our user group where we plan to focus the next user group meeting on architectural topics.
Yesterday I went to listen to Clemens Vasters and Steve Swartz. They are doing an architectural tour called the Scalable Applications Tour, Both Clemens and Steve is very good at putting things in perspective. If they come to your city, attend the seminar if you get a chance!
I especially liked their view on layers, tiers and services. The distinction between a layer and tier has always been a little fuzzy. Many have a tendency to think that layers map 1-1 with tiers, but the idea that tiers may cut through layers really makes the picture clearer. This is nicely illustrated by the presentation layer of a web application where the browser and web server are different tiers. I also liked their view on how layering is recursive; a layer is built up of layers which again are built up of layers (a la fractals). Check out their presentations!
1:44:08 PM
|
|
|
|
25. april 2003
|
|
|
With the release of Windows Server 2003 Microsoft and HP has reached a new high on the TPC-C benchmark; 658,277 transactions per second on a non-clustered system.
Microsoft has a reputation among many people for building software that does not scale to meet the toughest requirements. That has not been so for a very long time.
It is also interesting to see the results from Doculabs Web Services Benchmark as reported by Scott Hanselman:
The results you ask? Let's just summarize by saying:
- Windows and the .NET Framework is the Best Platform for Web Services
- JBoss on Linux was the fastest Java system (!)
- Web Services on J2EE offers inconsistant performance
- Oracle on Windows 2003 Server is a very viable option
- Windows 2003 Server and Oracle offered a 37% increase in throughput compared to Windows 2000 and Oracle
- Windows 2003 Server and SQL2k offered roughtly an 38% increase in throughput compared to Windows 2003 and Oracle
I noted the following comment in the report
It is believed that the performance results for .NET are due to the fact that Web Services were part of the core .NET Framework from the start, and not added features on top of an existing framework (as is the case with J2EE).
Whenever I discuss .NET vs J2EE with my Java friends, this is one of my main arguments for .NET; it was built from the ground up to support XML and web services. That shines through not only with regards to performance but also with regards to easy of development and tool support.
Another interesting part of the Doculabs test is that JBoss outperformed commercially available J2EE app servers. This is consistent with the PetStore results from The Middelware Company.
11:46:45 PM
|
|
|
|
13. april 2003
|
|
|
On May 6th. Microsoft Norway lines up an impressive list of speakers for this year’s combined DevDays and launch event. Speakers include Steve Ballmer, Tim Huckaby, Clemens Vasters and Arvindra Sehmi! Norwegian developers already know Clemens very well from numerous events in Oslo. Tim will be a new experience for them...
1:07:47 PM
|
|
We started the Norwegian .NET User Group (NNUG) in Oslo in mid-2001. On April 23.. the user group will also have a branch in Stavanger, and with that NNUG now is seeing to the exchange of .NET experiences in 4 Norwegian cities; Oslo, Trondheim, Bergen and Stavanger.
12:31:57 PM
|
|
|
|
5. april 2003
|
|
|
We have been using NDoc to generate documentation from our code and it has been working well. NDoc is a code documentation generation tool for .NET that generates MSDN style documentation based on XML comments in the C# code.
The other day we had to include the documentation in a Word document. Looking at the documentation generated by NDoc it consists of a chm file and a bunch of HTML files. No apparent easy way to get this into one HTML file and to get it into Word. However, we found a little trick to get the whole thing as one document:
- Open the chm file with the Help Viewer
- Select print, and the print dialogue appears
- Take a look in your temp folder. The newest HTML document there contains the entire generated documentation!
12:26:23 AM
|
|
Back to blogging?
I have been off-line for some time buried in work and other activities. As I now have head-above-water I am back to blogging again!
12:24:33 AM
|
|
|
|
26. januar 2003
|
|
|
[Ingo Rammer's DotNetCentric] Mono is getting serious.
Matt has been hanging around at LinuxWorld and reports on the state of Mono:
C# is done, VB is 70% done, and JavaScript is 50% done. This is good. Miguel demonstrated an almost unmodified version of iBuySpy that was only really slow because it was connecting to an MSSQL server in Spain over 802.11b. In theory, you could write an ASP.NET web application today and deploy it on a Linux server using Mono. [...]
Overall I was impressed by the state of Mono and the demos. It's awsome to be able to take a Microsoft demo app out of the box and run it using Mono.
Wow. That sounds pretty serious. I guess I actually have to fire up a VMWare to install a recent Linux distribution on it and play a little. Anybody knows about the current state of ASMX support on Mono?
On our user group meeting on Tuesday we will have a presentation and demo of Mono. I am more excited about this presentation after reading about Mono in Ingo Rammer's weblog. I didn't really think the mono project had come this long.
12:57:04 PM
|
|
As some of you probably know, I started a .NET user group in Oslo in 2001, the Norwegian .NET User Group. On Tuesday we have a user group meeting and for the first time we have an international speaker, David Chappell, presenting at our user group. We are very excited about this!
12:32:04 PM
|
|
Side-by-side, tools and frameworks
The side-by-side story in .NET is excellent. I have, however, one situation that I have not found a perfect solution to yet (and the word solution is really relevant here as you’ll see shortly).
Even though as a Regional Director I try to live on the edge, I still have some customers who are a bit behind. With beta versions of v 1.1 having been around for quite some time, one of my customers are still only on version 1.0…
So, I have this project developed in Visual Studio .NET 2003 that I want to use at the customer site. At first I only needed the executables, so I set up Visual Studio .NET 2003 to compile to v1.0.3705 of the framework. This worked just fine. But now I want to use the source code at the customer site. I can’t open the VS.NET 2003 solution with VS.NET 2002. It says that the file is not a valid solution file. And I have found no way in VS.NET 2003 to save the solution in 2002 format.
Is there a way around this? Must be. So I open the solution file in notepad. It is a text file. I am a bit surprised it is not XML based, but it is readable. In the first line, I change the version from 8.0 to 7.0. Now the solution can be opened but it complains that the project file is in a newer version. So I open the project file in notepad. This file *is* XML based. I alter a couple of settings by comparing with a 2002 project file and save. Now I can open the solution in Visual Studio .NET 2002. It recompiles just fine. I look at the project properties. The ‘required runtime’ setting is not available in VS.NET 2002.
When I now open the solution in VS.NET 2003 it asks me ‘Do you want to convert the solution and all of its projects to the new format’. I do. Out of curiosity I take a look at the required runtime settings. The original settings are intact.
So the solution and project files are bound to a particual version of VS.NET. Another takeaway from this is that using XML makes project file extensible. The extensions added by VS.NET 2003 to the XML project file were left untouched by VS.NET 2002.
12:28:30 PM
|
|
|
|
17. januar 2003
|
|
|
My weblog has been picked up by a couple of fellow Regional Directors, Scott Hanselman and Clemens Vasters. Scott and I are co-authors on Pro Commerce Server 2000. Did Tim get you into this too Scott?
Clemens is one of the smartest guys I have met. He is can speak broad and deep on any subject. I used to say that if Don Box is doing a presentation you should attend whatever the topic. I have added Clemens to my very short list of excellent speakers. Clemens has been here in cold Norway quite frequently, last in December on the Architect tour [in Norwegian]. As always, he gets awesome feedback. Clemens also came to Norway do the .NET Extravaganza on April 9th last year, the day Germany invaded Norway in 1940...
He also describes very good what a Regional Director is. Here is what he says about why you should talk to your local "Microsoft Regional Director:
-
We are typically quite well informed about what's coming from Redmond. While there's quite a few things we are not able to tell you, we can certainly tell you what makes sense for you to do strategically and where you should probably make technology choices or take architecture approaches that allow your stuff to become a bit more resilient against future change.
-
Customers of companies lucky enough to have one of the few Regional Directors (it's a personal thing, not a company thing) on board, have a very good chance to become nominated for early-adopter programs and get their hands on bits before anybody else does and even influence the product direction.
-
We're pretty well connected to the product groups and therefore we can help quite well with hard problems.
-
We admit that we may be biased towards Microsoft products (because our knowledge of their stuff pays for our family breakfast), but we haven't sold our souls to them (and we get no pay). That means: If you ask for a honest opinion about product XYZ, you will very likely get it and it may be an answer that would surprise you. You'd probably be surprised how many of the RDs know their NDS, Oracle, Linux, Solaris and Java stuff very well.
-
You need someone who gives you advice on whether or not to pick a certain technology. Again, because we're neither Microsoft marketing nor sales people, there is no automatic answer like "take Microsoft This'N'That 200x", but it may also be "don't use Microsoft This'N'That 200x in this case"
11:38:36 PM
|
|
|
|
14. januar 2003
|
|
|
On branding and other issues
Last week, Microsoft changed the name of its next operation system, from Windows .NET Server 2003 to Windows Server 2003, removing .NET from the brand. I think this is a wise choice, to me .NET is more about programming models than operating systems.
It has been my position all since the launch of the ".NET Enterprise Servers" in the fall of 2000 that the marketing people at Microsoft has been overusing the .NET name and putting it on products having little or nothing to do with the core of .NET; the .NET Framework and Visual Studio .NET.
Sidebar: At the .NET Enterprise Server launch in November 2000 we demoed a complex scenario involving 4 servers (we used laptops), a Pocket PC, TAPI telephone integration, and a bunch of server products. Doing demos with .NET is a lot easier.
Imagine my surprise when I came to a client today they told me that Microsoft had dropped the .NET brand. I told them there had to be some misunderstanding. They came back showing me an article from IT-avisen with the title “The .Net name disappears” [translated by me]. It goes on "Microsoft has decided not to use .Net in upcoming product names to avoid confusion among users". No matter what they do, some people get confused…
12:43:36 AM
|
|
|
|
© Copyright
2003
Andreas Eide.
Last update:
11/25/2003; 21:00:53.
|
|
|