March 2007 - Posts
Here's a post from someone struggling with a couple of Java based WS stacks that incompletely handle inheritence...
Link to Webbert's Space
Basically, we have support for inheritance in Xml schemas; .NET (both Asmx & WCF - didn't look at WSE) handles the model just fine, but when trying to provide the interface, through the published WSDL, to a Java stack (Axis & XFire) it falls down on the Java side.
From someone in regards to the frustration with the Java support:
I am literally at the end of my rope with no place to go than to rewrite my service
( 50k+ line of code ) just accommodate the wonderful open source community for something
so basic as inheritance.
To be clear, we're talking about something that's in Xml schemas and a concept that should be supported:
<s:complexType name="Address" abstract="true"/>
<s:element minOccurs="0" maxOccurs="1" name="HouseNumber" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="PhoneNumber" type="s:string"/>
So, from the WSDL above, we should have no problem with clients recognizing the inheritence model. This is type definition hierarchy in Schemas.
A tremendous amount of resources (people, money,etc.) went into what Microsoft pushed out. Plus, leadership in the SOAP arena are part of the team as well. Well, it shows. this stuff just works in .NET - no questions asked, no crap to deal with.
When I worked with Axis2, it was early adopter at best. Documentation was zero, and I spent the time looking through the sourcecode to see what was going on. It's hard to get the essence of a framework through just looking at the code, best see that in a sample or actual implementation that uses the code. The Sun stuff in Netbeans looked more promising at the time.
The Axis and other stuff on the Java environment suffers from too many birds chasing after the same worm, but all they keep grabbing is just a small part. So, they're struggling for resources, doing this on the part time model, and competing against alternative implementations for resources, mindshare, and ultimately to become the standard. Theoretically, that should result in the best of the bunch becoming the winner, but if you've already got something to compete agains, I think it stinks to be in that postion.
The No A**#Hole Rule, Robert I. Sutton
I've only ever recomended one business, people management book in the past. That one was PeopleWare (Demarco, Lister).
After reading through this one, I have to say this is now on the top of that list.
Over my career, I can say that I've worked alongside and for a few of them, and while you generally don't know when you come in the door that a person will be such an a**#hole, it usually manifests itself quite rapidly.
It's so simple to be civil to each other, can't really fathom why some people are, perhaps they had a bad childhood or they're just spoiled brats who quite frankly haven't grown up.
The other aspect I have with the workplace is that the first assumption is we're all adults. We all have responsibilities. So, we set goals, benchmarks, etc. Then, it's up to the individual adult to make those goals and manager's are there to faciliate their team on getting to those goals. Not to micromanage and question each and every turn. Once a manager get's in that mode, then they've changed from adult-to-adult to a more adult-to-child relationship. From there, the "child" in the relationship moves towards requiring or expecting "direction" at each turn. Or worst, just waiting around for that direction, avoiding taking initiative or action for concern that the manager would chide or object.
So, let's make it a policy to get rid of all the a**#holes in the workplace... Easier said than done I expect...
Microsoft's Patterns & Practices has a tool that provides navigation of published Guidance. This guidance is a bit scant, but the tool allows you to add to it as well. So, this would be something that could be integrated into your development environment allowing team members to navigate, search, look for guidance items. Simple tool, simple concept, but good one.
The download is here: http://www.codeplex.com/Wiki/View.aspx?ProjectName=guidanceExplorer
However, they now have it hosted at www.GuidanceLibrary.com so, you can skip the really simple install - which is just a zip, unpacked, and double click on an exe...
Link to Guidance Explorer Online (beta)
I found this while reading Grady Booch's blog.
I didn't see the images for the patent, but based upon the description it's a simple alternate index, perhaps doubly linked list that's discussed.
Nothing more than what I saw in a C class at AT&T back in the 1980's or which was probably discussed in Knuth's series(http://www-cs-faculty.stanford.edu/~knuth/taocp.html) , perhaps even in K&R's original C book (http://cm.bell-labs.com/cm/cs/cbook/).
Soon, we'll see a patent for a wheel issued I guess. The US Patent Office is amazingly behind the times on vetting real intellectual property vs. prior art.
Link to United States Patent: 7028023
This will surely heat up the Java vs. .NET war of words a bit...
Let me say first that the choice of platform makes no difference on whether an application can scale, perform, run reliably. That's purely the physics of how things work and how some applications violate or push the laws of physics to a point that impacts performance enough to make them crappy applications. I've worked on crappy applications built both on .NET and J2EE and I've also worked (refactored a few) on ones that excelled in meeting both the business and non-functional requirements.
Just take a look at the 8 fallacies of distributed computing (Peter Deutsch, 1994). Something that I've been referencing for some time, back to when it was just 7 fallacies - the 8th added by James Gosling a couple of years later.
What set's the platforms apart are the Tools, Code, and Guidance that the platform vendors and communities provide. In that area, there is nothing on par with Microsoft and the communities around it. But, we still got some work to do as well to keep the momentum moving forward.
In my past, I've worked with Java/J2EE (Websphere, Visual Age Java), CORBA, COM, DCE, blah, blah, blah. I've personally experienced the pain of working with a base platform that's as confused as the war in Iraq. When I moved "permanently" to .NET about 4 years ago (I did work with .NET when it was released June 2000 at the Orlando PDC and I was a Plural .NET Evangelist - now part of Dell Professional Services) I saw the "light". It had the productivity and "oneness" that was missing from the other tools that I worked with before.
Here’s a couple of articles that discuss the momentum of .NET in an SOA world in comparison to J2EE/Java – basically that .NET is as comprehensive as J2EE but much easier to develop in.
Something that’s been an issue in the Java world is the complexity of their programming model with all the different component classes added through the community process over the years. What they’ve ended up with is a inconsistent model that complicates design, development, deployment.
The article does go on to say that it’s boiling down to IBM & Microsoft with Eclipse & Visual Studio as the key platforms for development in an Services oriented world.
Analysts see Java EE dying in an SOA world
SOA gurus: .NET simpler than Java, but stuck in Windows
World’s Largest Domain Registrar Moves 3.5 Million Domains from Linux to Windows
This is great news. The folks in the hosting evangelist group were instrumental in getting GoDaddy on board with the ideas and really got them over the edge and convinced.
If you read through the details, TCO, stability, reliability, performance all exceeded Linux. Also, maintainability, programability, and real support.
Good job to Carlos, Tito, and the rest of the team.
Well, early Godzilla at best. This was done with a little Phillips Key Cam camera that I used to use to take pictures of Whiteboards. Gave it to my kids a couple of weeks ago and this is what my 10 year old came up with. She's really good with Windows Movie Maker and love her selection of music (U2)... Video
Greetings from the Windows Home Server Team
You have been approved to be in the Windows Home Server Beta program.
I just signed up and received notification for beta testing Windows Home Server. Over time, I've had a few server instances running variants of Windows (XP, 2000, 2003) for home file server needs. However, with Home Server, there's a few nice features that make backup and mindless RAID capabilities for machines that participate on the Home Server network.
Microsoft is doing a good job on taking lots of the details out of configuring RAID for the average users. These appliances (one announced by HP) will soon be available to just plug in to the home network and do some simple configuration on your clients (laptops, MCE, Vista, - don't see a linux client but it should work with SAMBA SMB - not confirmed yet).
Link to Windows Home Server Cures Digital Amnesia
Sponsored by Webmethods, looks like another entry into the mix, perhaps some additive content or repetitive with others.
Link to SOA Master Class Education Training and Free Downloads - Home
Here's a utility that helps extract the DDL from a DB and save as individual script files, similar to VS Team System DB Pro tool.
Source: SourceForge.net: Script SQL Database DDL
Take a look at the list of proposed features for .NET 3.5.
Nice table that gives an overview of what's to come.
Tighter integration of WF & WCF with specialized WF hosts for WCF (ServiceHost). Also, syndication support is part of the base class library. So, publishing through RSS or ATOM is far simpler than it already was. That's a technology that's ubiquitous.
Faster execution & GC. Anonymous & name pipe base class support (I see easier WCF channel implementations).
And of course Add-in support. A couple of articles were up on MSDN Magazine in the past few issues on this feature. This will give many IT shops the ability to take a core framework approach to providing add-in patterns without all the AppDomain goo that I've seen in various add-in models.
These are big changes and it amazes me the leading path Microsoft has made with the stack as compared to competing stacks, vendors, and open source. If you need to get things done fast, this has got to be the first path. It's open on the fringes, and sure it's MSFT in the box, but if I can cut my build time down by 50%+, give me a real reason to avoid it.
Link to Thom Robbins .NET Weblog : Microsoft Pre-release Software Visual Studio Code Name "Orcas" - March 2007 Community Technology Preview (CTP)
CA eTrust 7.1 is no longer reporting as up-to-date. Although the signatures are downloading, it's coming back from the WMI call as out of date.
So, I've been using AVG and been pleased so far. Symantec is just to intrusive to keep using and had a few issues with BSOD that made me give up.
Link to AVG Anti-Virus and Internet Security - AVG Anti-Virus Professional Edition