Domain Driven Design
I bought Domain Driven Designearlier this week, after reading good reports of it in a few places. Although I have barely got into it I am already enjoying it a great deal. It is well written, and provides good examples of why understanding the problem domain is important, and how to gain understanding of the domain and foster it. I am looking forward to reading the rest. Looking at the list of some of my favourite IT books (Pragmatic Programmers, GOF, Refactoring, UML distilled, Essential . »
WSE Mega Link Interface
I was talking to Darren on messenger today - it seems my recent ramblings on WSE have not gone un-noticed by him, and he was wondering where to get started. I can thoroughly reccomend the two Hands On Labs you can download from the MSDN (Security and Messaging). Next you will probably want to check the WSE 2 samples which are installed if you choose the “developer” options when you install WSE 2. The samples are available in C# and VB.NET and have “setup” and “teardown” scripts to run to create IIS virtual directories etc for the samples. After you get through those check out some of these resources:
WSE MSDN Home: http://msdn.microsoft.com/webservices/building/wse/default.aspx
WS-* specs. on MSDN: http://msdn.microsoft.com/webservices/understanding/specs/default.aspx
Useful WSE Articles:
http://www.msdn.microsoft.com/msdnmag/issues/04/08/XMLFiles/default.aspx (Aaron Skonnard on new WSE2 features)
http://msdn.microsoft.com/webservices/building/wse/default.aspx?pull=/library/en-us/dnwebsrv/html/wsroutetowsadd.asp (Skonnard again on WS-Addressing)
http://msdn.microsoft.com/webservices/building/wse/default.aspx?pull=/library/en-us/dnwse/html/wsemessaging.asp (Simon Horrell from Developmentor on WSE Messaging)
http://msdn.microsoft.com/msdnmag/issues/04/03/XMLFiles/default.aspx (Policy - Aaron Skonnard again)
http://msdn.microsoft.com/webservices/building/wse/default.aspx?pull=/library/en-us/dnwse/html/programwse2.asp (Matt Powell takes Rock-Paper-Scissors into the realm of secure, collaborative, corporate enterprise messaging technology)
Useful WSE Blogs:
http://www.interopwarriors.com/ (inter-op)
http://pluralsight.com/blogs/aaron/ (Aaron Skonnard - known to have some insights regarding XML from time to time)
http://benjaminm.net/ (ex-patriot Aussie, UK regional drector WSE wonk Benjamin Mitchell)
http://bristowe.com/blog/ (XML Plumber, Canadian regional director, MVP)
http://weblogs.asp.net/yreynhout/
http://blogs.msdn.com/Mpowell/ (MSDN content guy)
http://www.dynamic-cast.com/
http://blogs.msdn.com/rdias (WSE PM)
http://hyperthink.net/blog/default.aspx
http://www.dotnetjunkies.com/weblog/softwaremaker/
Transports: (sending messages via other means)
http://www.codeproject.com/useritems/SoapMSMQ.asp (Roman Kiss’ MSMQ transport for WSE)
http://weblogs.asp.net/kevinha/ (Kevin has transports for MSMQ and MQSerise altho I have not seen him post a link where to get the bits)
http://hyperthink.net/blog/CommentView,guid,d337a6f5-a0c8-45b8-920e-132391eedc31.aspx (SMTP transport from Steve Maine)
http://www.dynamic-cast.com/mt-archives/000056.html (UDP transport)
Other Projects:
Plumbwork Orange http://workspaces.gotdotnet.com/plumbwork (more WS-* specs implemented using WSE 2 pipeline and idioms)
OpenNetCF http://www.opennetcf.org/CategoryView.aspx?category=Home (Casey Chesnut has implemented parts of WSE 2 for .NET CF)
Update: WSE 2 sp1 is available from here http://www.microsoft.com/downloads/details.aspx?familyid=fc5f06c5-821f-41d3-a4fe-6c7b56423841&displaylang=en
Update 2: Simon Guest’s interop-centric weblog http://weblogs.asp.net/smguest/ has some interesting WSE items, including a link to this article on how the WS-* specifications evolve via workshops http://msdn.microsoft.com/webservices/community/workshops/default.aspx?pull=/library/en-us/dnwebsrv/html/wkshopprocess.asp
Comments
WSE2 Presentation
I gave a presentation on WSE2 at the local .NET users group on Tuesday. In the face of failing health I was able to give (what I thought) was a reasonable talk. I think the coolness of WSE helped me rise to the occasion. I should have practiced the talking parts more (as I wandered a fair bit), but the code demos worked and I was in the ball-park of the alotted time. Local remoting advocate Richard Mason was kind enough not to lay into me too much in the Q & A part at the end, however he did ask one question regarding similarities between the Messaging part of WSE and remoting which I am looking into. Greg Low also gave a talk on MSDE, re-distributing it, and changes between MSDE and SQL Express 2005.
Update: My slides from the presentation are available here
Comments
Redmond, WSE2 Presentation, ASP.NET Form Trick
Dominic left to begin his internship in Redmond today. He was suitably excited. Let’s hope the “homeland security” folks let him in. I’m going to be giving another presentation at the local .NET users group this month on WSE 2. This will be my 4th user group presentation (the 3rd this year), and they do seem to be getting easier each time. If only there was some job out there that would let me do this all the time…. The time is only 45 minutes, which is a long time to hold somebody’s attention, but no long enough to do justice to WSE.
And now for some content: one of my co-workers who is something of a css junkie showed me some tags I was not aware of before, and how they can be nicely styled up to give some interesting form effects. The tags are the “fieldset” and “legend” tags which can enclose one or more “form” elements (I won’t try to post the html here for fear of skrewing up other dotnetjunkies weblogs). They render quite nicely in IE without styling (see below, I like the rounded corners). And you can style them up with colour (see here towards the bottom). They also display quite nicely in mozilla (albeit without the rounded corners). They are in the HTML 4.01 standard so you have a fighting chance of them working in older browsers too.
Comments
Oh - of course as Joseph mentions the "fieldset" and "legend" tags are able to be styled like anything else so if you want the rounded corners in Mozilla (BTW those rounded corners are an IE on WinXP only thing - because XP is full of rounded goodness) or Mozilla-based browsers just use the good ol’ "-moz-border-radius" property thus:
fieldset
{
-moz-border-radius: 10px;
}
And enjoy your rounded corners!
For more info on what is available with the fieldset element check out the spec: http://www.w3.org/TR/html4/interact/forms.html#h-17.10
:)
Interesting WSE2 UsernameToken Authentication Discussion
Aaron Skonnard and Keith Brown discuss some interesting things regarding UsernameToken Authentication in WSE2 [1,2,3,4] which extends this. I noticed on Aaron Skonnard’s old skonnard.com weblog that he mentions he wrote the WSE2 HOLs. After reading them I find this un-surprising since they are great. I also noticed on Aaron and Keith’s new pluralsight blogs that a certain Don Box is listed as a Pluralsight blogger. Maybe he’s going to join his ex-developmentor brethren. »
Mind-bending WSE
I’ve been playing around with WSE a great deal lately. After a long evening of playing around, looking at packet captures, reading doco etc I crawled into bed. I had strange dreams of messages flying around. One message opened and a wizard-like figure came out. He asked me if I wanted to “join a Kerberos realm”. Very strange. I’ve noticed that in all the WSE samples the client and server both reference one or more “shared”/”base” projects. »
WSE! WSE! WSE!
WSE is great, not only does it add a number of great features to Web Services stack in .NET, it is really fun to say. Go on - try it now - “whizzy”. Say it a few times for added effect. It ranks right alongside WSDL and XAML as some of my most fun acronyms to “say”. I’ve been working my way through the WSE 2 hands on labs from this year’s Tech-Ed U. »
Express Yourself with Managed Database Types
I resisted the urge to post something about the latest range of Express versions of VS 2005 until I had something to say (maybe I should have waited longer..). I have been dying to check out “Yukon” for ages, especially since I think the ability to write user-defined types in managed code presents so many interesting opportunities for application design, and probably an equal number of chances to shoot yourself in the foot. Also the whole idea of it has always raised a lot of questions in my mind - How do you apply referrential integrity to a property? Can you create an index on a property? Can you create an index on a method? With all this in mind I installed SQL Server 2005 Express with a great deal of anticipation. I had heard in a few places that some products in the “Express” line downloaded a fair amount of stuff from the network. I was pleasantly surprised to see that the SQL Server 2005 Express install did not need any additional downloads. It installed without a hitch, requiring a single re-boot. Unsurprisingly it works fine with my current SQL Server 2000 install. It does install a new MMC snap-in type manager, but not much else in the way of graphical tools (command line query tools are included). I expect the full beta (probably available now to MSDN subscribers) will have “SQL Workbench“ or whatever it is called now included also.
I was not able to connect via query analyzer (from my SQL 2K install) but my Tech-Ed US CTP install of VS 2005 seemed quite happy to play with it though.
VB.NET MVP, data access afficianado and all-round nice guy Greg Low gave an interesting presentation at my local SQL Server Users Group last week on the CLR features in Yukon. It had lots of code demos (for yukon beta 1 - which might require some converting). The content for the presentation is here.
Update: I tried connecting via SQL Server 2000 enterprise manager (David Hayden commented that he was having some problems giving access to the ASPNET account on his machine, and I was trying to see if you could administer SQL 2005 Express from SQL 2K enterprise manager) but it failed with the message “You must use SQL Server Workbench or SQL Server Management Objects (SMO) to connect to this server.” Also SQL 2005 Express has a weblog http://weblogs.asp.net/sqlexpress/ and a newsgroup http://communities.microsoft.com/newsgroups/default.asp?icp=sqlserver2005&slcid=us
Tim Sneath has a great serise of articles on CLR integration in SQL Server 2005 (A.K.A Yukon) (1, 2, 3, 4)
Comments
Maybe you know the answer to this question. How do you give the ASPNET User account admin privileges in SQL Server Express without putting it in the Administrators group of the PC?
I am playing with Visual Web Developer Express and unless I put the ASPNET User in the Administrators Group, which I don’t like, I always get a failed login for MACHINENAME/ASPNET on my SQL Server Express databases that are hosted in web apps on my local machine. Am I overlooking some basic understanding? In SQL Server you just add ASPNET as a user with admin privileges and everything works fine. I don’t see a place to do that with SQL Server Express.
Yep, you just create it (aspnet) as a login and put it in the fixed server admin role (if that’s what you want to achieve).
HTH,
Greg
try
sp_grantlogin [newdell\apsnt]
go
use databasename
go
sp_grantdbacces [newdell\aspnet]
it doesn’t like the second command (use databasename). It tells me entry not found. What am I doing wrong?
XPath Syntax hilighting - when pain persists see your local parser writer
My XPath syntax hilighting (which I thought looked fairly promising a while ago) has stalled while I worked on a couple of other things, and threatens to cause problems getting started again. There are still a number of instances where round-tripping whitespace is not 100%, and tonight adding support for querying documents with XML namespaces showed up another flaw that looks like it will be annoying to track down - the syntax hilighting fails altogether on documents of this sort (but at least now you can query them). »