October 2003 - Posts
Although I’ve got a healthy concern about how Indigo will change the way we connect systems, reading the PDC-noise from our bloggers surely got me on the tip of my chair!
Indigo is the successor technology and the consolidation of DCOM, COM+, Enterprise Services, Remoting, ASP.NET Web Services (ASMX), WSE, and the Microsoft Message Queue. It provides services for building distributed systems all the way from simplistic cross-appdomain message passing and ORPC to cross-platform, cross-organization, vastly distributed, service-oriented architectures providing reliable, secure, transactional, scalable and fast, online or offline, synchronous and asynchronous XML messaging.
This basically covers every topic I’ve been spending a significant part of my spare time on studying, prototyping and communicating to others. Just as I acknowledged my previous efforts seemed to have paid off professionally, this new kid on the block shows up and starts rambling about all these interesting things. How the hell will I be able to ever again concentrate on .NET 1.0/1.1 ;)
Tomorrow people expect me to be working on “legacy” software again… would they mind me being in a “different state of mind” due to the fact I’m constantly falling back to my beloved RSS reader? My hart goes out to all the PDC bloggers sharing the goodies with non-attendees.
Check out this great lightweight application
written by John
which has a simple but effective way of mapping relational data to custom entities. It's stands out for its simplicity!
Doug was kind enough to share this MSDN article explaining how to create globally unique identifiers (GUIDs) since the Compact Framework lacks the Guid.NewGuid() method. Object Relational mapping on industrial Windows.CE Complaint hardware is a challenge, but more on that ltr :)
This morning I spend a few minutes porting a prototype I wrote this weekend for a Windows CE.NET box. Or actually wrote it based on “it’s big brother” the .NET Framework and now needed to run the whole thing on the trimmed down version the .NET Compact Framework. Boy this almost feels like a cover story ;) I just recently expressed my feelings regarding the connectivity the Compact Framework provides.
What it al comes down to is the fact that I’m missing the Guid.NewGuid() method, my beloved NotImplementedException() and the System.Security.Cryptography namespace not being nearly as complete as its big brother version. Doesn’t a mobile device deserve security? Mathew Renolds supplied a function to fix my Guid issues although I hate the System.Guid class being sealed! I’m sure there’s a valid reason to seal .NET classes but on this particular occasion inheritance would have fitted nicely. Guess I could use the GetHashCode() instead of the MD5CryptoServiceProvider to hash a collection class members of my concrete HashedEntity objects. Why not maintain bad practices by throwing some meaningless System.Exception to my users or write the NotImplementedException() myself. Working with the Compact Framework feels like working with VB6 (not to be disrespectful). You write a few lines of code and feel productive but once the shit starts...
Anyone with more or better experiences willing to share his pov?
Ok I must admit the title is somewhat “on the edge” but it’s true. I’m rather disappointed in the capabilities of the .NET Compact Framework as is. I need to distribute a piece of business software on CE.NET device A which runs this nice lightweight SQL Server. I now have CE.NET device B which needs to connect to CE.NET device A, call a few business methods and pass the data collected via SQL Server back to feed the user interface distributed on device B. Preferably I want to access a ASP.NET webpage on device A (in case a thin client could fulfill user requirements), so I’ll spare myself from versioning the distributed user interface on device B.
Problem: How to connect two CE.NET devices? The .NET Compact Framework doesn’t support ASP.NET nor .NET Remoting! DCOM is available on CE.NET but in case we decide to use DCOM as our middleware layer, then why even bother using .NET in the first place? A helpful colleague suggested to use a socket implementation… but why would I then use .NET? C++ already provided al the functionality to do just that in combinations with the previous CE.x versions running on less expensive hardware? Ok I just noticed the webservices API in the Compact Framework, but…
.NET Compact != .NET Connected
Or am I missing out on something? Where the hell is this .NET Compact Framework roadmap anyway?
Don’t know if I’ll make it… more then a 2 hour drive, but Dino Esposito is paying us a visit as our guest speaker next month in Delft. Any Dutch bloggers “coming from below the rivers” thinking about making the trip?