AussieALF Blog
XPO + WCF = Awesomeness
OK so I have finally finished the re-write of the entire communications library for my project. It has been a massive clean up and ALOT of refactoring to bring things back to a satisfactory level.
Verdict? WCF is a vastly better platform for “remoting”, once you get your head around the passing of Contracts and how to “configure” your bindings/behaviours you’ll find a very flexible/powerful and seemingly reliable communications platform.
I can now offer 2 forms of communications from my client, TCP and HTTP, TCP uses a binary formatter which makes it more efficient on bandwidth but less compatible with Firewalls and Proxies, whereas HTTP is based on SOAP text which makes the transport a little more “heavy” but ultimately more compatible with the clients network setup.
So how does XPO fit in with all this? well easy actually, as all your doing is exposing the Datastore communication in the same matter you do with remoting.
Authentication is being handled by a custom Username validation which checks the XPO database for valid username and password combination and then allows access to the datastore.
Overall I am quite happy with the setup, I was using .NET Remoting for data communication and Secure FTP for File transfer, this proved a nightmare for configuration of firewalls (needed 1 port for data, 1 port for FTP Comms and a port range for FTP Passive transfer) and made it impossible for Proxies.
Now with WCF handling both data and files and via either TCP or HTTP it provides the most flexibility and also now provides me a platform for Silverlight development which I am very keen to get in to.
So I still have another week or two of some much needed bug/feature work that has been buliding up while rewriting my backend, once this is done I can then start posting some more information.
In summary the start of August is when I will be continuing my posts with the added benefits of understanding WCF and LINQ-2-XPO.
Have a good one peeps.
What happened to me?
Well for all those people that wondered what happened to that post I was going to do about 2 months ago… here it isn’t ;)
I have unfortunately been stuck on a project.
My main project has been using .NET Remoting for XPO services and things were great, however over unreliable services such a 3G and Wireless I have found that .NET Remoting has some serious weaknesses. The basic weakness is no reliable session, in other words there is nothing to ensure packets arrive in the correct order and also doesn’t handle retrying (outside of what the TCP Transport layer does).
So pretty much I had to bite the bullet, I had to move my product out of the dark ages (.NET 2) and bring it up to date. So my choice was either 3.5 or 4. In the end I went with .NET 4, I figured I will have to include the framework anyway so I might as well include .NET 4.
This of course brings with it Windows Communication Foundation (WCF) which was included in .NET 3 and since then been improving with each release of the framework.
Learning WCF has been a interesting journey, I had used ASMX Web Services in the past before moving to .NET Remoting. I can say the WCF is vastly different in comparison.
It has also opened my eyes up a bit more to Service Oriented Architecture (SOA) which makes you have to think a bit differently.
I just read “Learning WCF” by Michele Bustamante (http://oreilly.com/catalog/9780596101626/?CMP=OTL-GB2088480187&ATT=9780596101626) which has really helped alot. I have also started reading “Programming WCF Services” by Juval Löwy this seems to duplicate a fair bit from “Learning WCF” but seems to be just as informative.
So where does this leave my blog posts, well to be quite frank, probably still a couple of months away ;(
However there is a plus side to this, I will be posting my findings on XPO and WCF in the coming month. So far my initial testing has been promising.
One of the other reasoning for the move to WCF is the ability to then use Silverlight as a secondary interface to my application.
I will keep you informed. Till then happy programming to all.
Some Delays on my next post :(
Due to some unforseen workloads I haven’t been able to get to my second post on XPO, I don’t see it happening until mid next week, just thought I would at least post that I wouldn’t be posting, :D
Happy VS2010 Day.
Simple Collection to “Lock” Controls using DX Editors
I have a base form that I inherit from within my App it makes it easy to put in helper functions such as my Bind method and this Control locking mechanism.
Basically I inherit from List(Of Control) then Shadow the Add and Remove functions to alter the properties of the control when being locked and unlocked.
This doesn’t take into account Windows Controls with the Enabled property but could easily be extended to work with Windows controls, (I just haven’t dealt with them in so long I wouldn’t even now how to lock them down these days ;))
Need your input
The recently posted XPO from the beginning is going to turn out to be a 8 post behemoth ;)
As you can imagine, laying this all out in a blog post can be very time consuming. What I am hoping to do is use Camtasia and provide a screencast of the steps and talk my way through it.
I could then just post the “Demo” content such as Project/Database etc and a summary of what was covered.
I personally like text and screenshots to follow instead of video (but don’t like to create it ;)), but video is more engaging and I can say alot more within the video (and in context to what is on teh screen) than in text.
I would love to hear your comments, thanks
More Articles...
- XPO from the beginning, Part 1, Basic Information
- How to make XPO only update changed fields
- XPO_EasyFields, makes your life easy with XPO
- Do you bloat your app?
- Microsoft JET SQL Reference
- Simple XPO Template for XPOSync bug
- CodeRush Is Your Best Friend for XPO
- Jeez that was painful, I think my new blog is up and running
- Something new for XPO v9.3, Free Joins
- New Blog Site
- Woohoo I am apart of the DevExpress DX-Squad
- XPO Simplified Criteria Syntax explained (part 1)
- Simple binding using DevExpress XtraEditors and XPO Simplified Criteria Syntax
- XPO Simplified Criteria Syntax
- RemoXPO – My adaptation of DevExpress Oliver Sturm’s XPO Publication Service
- DevExpress XPO and .NET Remoting, a perfect match
- Thanks to DevExpress CodeRush CodeIssues it has taught me a simplified initiation of object
- Nice, Simple XtraReport to HTML Email embedding IMG resources code
- My XtraLookupEdit, allows you to bind a DisplayValue and EditValue
- Is WinForms the Dinosaur of Programming?

Should AussieALF stay bald?
Latest Comments
- How to make XPO only...
Hi Sean, Very true ;) however keep in mi... More...
09-Apr-10 - How to make XPO only...
True, but it's worth noting that DX do ... More...
09-Apr-10 - How to make XPO only...
I would have to check with Gary, as alth... More...
09-Apr-10 - How to make XPO only...
Hi, I agree it seems like a "normal" thi... More...
09-Apr-10 - How to make XPO only...
Another question, how does it work with ... More...
09-Apr-10





