The DaxMindMapper Reloaded

Darrell Russell. A Software Contractor with over 10 years development experience. He is an experienced Microsoft .NET software developer specialising in C#, VB.NET, SQL Server Databases, ASP/ASP.NET web sites, XML, Web Services, WinForms, WCF and WFF development and consultancy work on a freelance basis. Based in the South West of the UK (Tetbury, Gloucestershire) and available to do work within South Wales, the M4 corridor, Gloucestershire, Dorset, Oxfordshire, Wiltshire and Somerset including Bath, Bristol, Swindon, Cheltenham, Gloucester and Salisbury. At the moment he is particulary interested in Agile Software development methodologies including Test Driven Development (TDD).

June 13, 2009

Investigating ASP.NET Hosting Options

Filed under: .Net, ASP.NET, Tiered Solutions — Dax++ @ 9:37 am

Mosso - Rackspace cloud hosting. Very sexy.
GoGrid - More cloud hosting.

Brinkster

Free
30 mb web space, 500 MB WEB TRAFFIC (limited to 16.7 mb web traffic per day), Brinkster control panel, ASP 3.0 , ASP.NET
xml 4.0
wap enabled
flash enabled
ssi - server side includes
MDAC 2.8
MS ACCESS
.NET MOBILE INTERNET TOOLKIT
ONLINE FILE MANAGER

Advanced
• 5 Free Domain Names
• 500 GB Web Space
• 6000 GB Web Traffic
• 2000 Email Accounts
• ASP/.NET/PHP
• 250 MB MySQL DB
• 250 MB SQL Server DB
• Website Builder
$28 per month

Pro
• 2 Free Domain Names
• 350 GB Web Space
• 3500 GB Web Traffic
• 500 Email Accounts
• ASP/.NET/PHP
• 250 MB MySQL DB
• MS Access/MySQL
• Website Builder
$10 per month

M6.Net

Both Brinkster and M6 seem to offer ASP.NET + PHP side by side.

March 4, 2008

ASP.NET Page lifecycle

Filed under: .Net, ASP.NET — Dax++ @ 12:51 pm

January 10, 2008

ASP.NET 2.0 Instant Results

Filed under: .NET v2, ASP.NET, Books, Professional Development, Reviews — Dax++ @ 4:56 pm

ASP.NET 2.0 Instant Results by Imar Spaanjaars, Paul Wilton, Shawn Livermore ISBN 0-471-74951-6

Good little book - I’m dipping into it every so often for comparisons between how I’m creating solutions to various application designs. Usefull to see how others are solving the same problems .. esp. as the’ve probably had more time to look into these things in more depth.

For instance, I’ve been harping on about how the default .NET config files are bad news for testing (becuase it makes code impossible to test programmatically) .. and in this book they use a bespoke config class with even the simplist of their solutions. So that’s confirmation that others have the same reservations .. OK perhaps it’s for different reasons. I’m guessing they wanted to abstract the config info away from the default .NET config files so that they can use other repositories without changing the consumers of the config info (thereby following the SRP). I reason this because they didn’t go the whole hog and make the config classes testable. I suppose they could argue that to do that would add complexity to their class design, especially relevant as the book is about ASP.NET solutions and not TDD/testing in general.

FileWatcher 10

I’m back to the Filewatcher project after both the Christmas and New Year break as well as an additional chunk of work I had to get out of the way as a matter of urgency.

Fortunately I’ll be working 2 days a week on this project for the next month rather than out of hours becuase I’ve re-negotiated my current contract with my main client (see previous post).

Current Standing with the File Watcher Project

1. Last piece of work was working with WPF in more detail to create a better UI metaphor. This is currently work in progress (WIP) and I’d gotten as far as trying to understand the binding to a .NET CLR type mechanism (uptil now I’ve just used XML). I’ll come back to this work at some point.

2. Get the systems up and running again. It’s only a two computer setup but there a number of gotchas. This I completed this morning - things like remembering to manual start the SQL Server 2005 service up (must write a test), disabling particular security items, running the existing tests (all passed), updating the IP setting in a couple of config files (I don’t have a name server), and backing up various files (I don’t have a version system in place at the moment .. going to hell for that).

3. Next item of work: I require an ASP.NET UI to view file event messages. Due to the nature of web apps then I hit a design issue straight away. A browser page is not a piece of software that can easily subscribe and listen for events - contrast that with a winForms app or a console service - so I have two options:
- Investigate whether I’m right in saying that the web page can’t listen for events. Just in case this problem has been resolved before.
- Look at the possibility of using javascript on the clientside to poll for events - this is not the same as listening for an event and may not working properly. Also I’d guess that some intermediate service will be required between the javascript and the actual event. This intermediate service may be as simple as something that implements something akin to a high level adapter pattern (it could be called a translation service too I suppose) or, it may also need to offer data persistence too.
- Implement a non-event driven solution .. that is just have it query a persistence store of some sort when the user requests it. TBH this is the simplist solution and the one I know will work with no risks. It also adds a feature which will ultimately be required by this UI but also the persistence service will be re-used by any number of other potential consuming services eg obviously the other UI types (WPF, WinForms, Console, Sharepoint) and also the Reporting service that I intend to create.

This third option raises a number of interesting questions

One question it raises is “should I create the persistence service as something that lots of other consumers could readily use?”

The answer is yes but not so much so that it actually involves extra work eg wrapping the persisence service behind a web service so that it offers an easy to re-use interface. In fact, normally you shouldn’t create something (be it a web service, a class or even just code within a method) unless you are about to use it (and from a TDD point of view .. that requirement only occurs if you have an actual test that needs it). This applies to the design of the solution just as much as the actual code and there’s actually a standard XP term to describe the situation where you add some feature in the hope/desire/belief that it will be usefull some time in the future: YAGNI.

But this is, I think, slightly different .. I will re-use the persistence service. The only reason I’m not building the Sharepoint UI and the Reporting service now is becuase I don’t have time yet.

Hmmm … Alarm bells ringing! My reason for not producing those other systems are the very same that all other software departments encounter .. therefore it’s not really a valid reason, or at least, it’s the very same set of good intentions that can led a software project to build something that is overly complex.

OK .. I’m going to go back on myself. The whole point of this project is for me to learn more about different ways of building software and not the actual software produced in particular. I want to learn about what design/programming practices work and which don’t.

So I will do as the rule states .. I will NOT build the persistence service so that it’s deployable as a seperate service. I will build it as a part of the ASP.NET UI but I will do it in a manner that means it will ultimately be easier to split apart if required - I’ll attempt to create code that has low coupling between the consumer of the persistence service and the persistence service itself [
Coupling And Cohesion
]).

The other interesting option three raises is “I’m I going for option three just because there’s less risk but it doesnt actually address the real, business need: that the app can monitor events in real time?”

If I went for option three the system may come in on time, it may be bug free and a sexy as anything but it may just miss the whole point of why the system was created in the first place.

In which case I can’t hide from the real time event handling requirement .. I must address it. It’s the riskist bit of this project and to mitegate that risk I really need to spend some time to investigate it and understand the situation. Doing this also has an XP term associated with it: Architectural Spike

Conclusion

1. I will investigate the mechanism by which the ASP.NET UI will be able to respond/display file events in real time.
2. If I have to create a persistence mechanism then it will be part of the ASP.NET UI solution but built with low coupling so that I have the option of re-using it for other services at a later date.

March 27, 2007

ASP.NET and TDD

Filed under: ASP.NET, Testing — Dax++ @ 4:03 pm

Jay’s TDD QuickStart, and the underlying problems he stumbled into - A blog by Jeremy D. Miller re: TDD. Really interesting read, as usual.

March 13, 2007

MVP and ASP.NET

Filed under: ASP.NET, Software Development, Testing — Dax++ @ 9:17 pm

Test Driven Development with ASP.Net and the Model View Presenter Pattern - The best example/short article I’ve found so far on the MVP pattern for ASP.NET. Really good intro :)

March 7, 2007

ASP.NET Web Services

Filed under: ASP.NET, Web Services — Dax++ @ 10:37 pm

I’m using this post to bring together a whole host of links on ASP.NET based Web Services.

Helpful links

Top Five ASP.NET Web Services Tips
1. Disable HTTP/POST and HTTP/GET Protocols within web.config
2. Use TCPTrace to monitor calls to web services.
3. Use Chunky Instead of Chatty Design. Hmmm. SOA anyone?
4. Store Application-Specific Settings in Web.Config - talk about stating the bleedin’ obvious.
5. Avoid ASP.NET Session State if You Can

Web Inject - usefull for testing?
Executing ASMX files without a web server - perhaps usefull for testing?

4 Guys From Rolla: An Extensive Examination of Web Services
Using MD5 to Encrypt Passwords in a Database

WSE

WS-Security (an OASIS standard as of April 2004)
- UsernameToken Authentication - specifies a standard for passing username/password tokens for the purpose of authentication.

XML Encryption - defines a standard for encrypting the contents of a SOAP message.

XML Digital Signatures - defines a means for digitally signing a SOAP message. A digital signature ensures that the contents of the SOAP message have not been altered in transit.

WS-SecureConversation - provides a technique for a Web service and a client to have an encrypted message exchange.

WS-Trust - defines how to establish trust between disparate actors involved in a Web service interaction.

DIME and WS-Attachments - specifies a technique for attaching large amounts of binary data outside of the SOAP envelope. Useful for sending large documents to or from a Web service, such as images, PDFs, or other large files.

WS-Addressing - defines a standard for encapsulating addressing information within the SOAP message. WS-Addressing adds information such as the Web service endpoint, the client’s endpoint, the method to invoke, and other such information, in the headers of the SOAP message, as opposed to having it out of band in the HTTP headers.

WS-Eventing - specifies a standard for Web services to send an event notification message to clients who have subscribed.

Questions

Q. How do you pass state between web service calls. I appreciate that web services are not supposed to store state between calls but I’m interested in knowing how it could be done if required.
A1. EggHead.com talk about session and comment about doing this via enabling cookies on the client.
A2. Also Quick Start Code Examples of enabling sessions.

UI Prototyping

Filed under: ASP.NET, Agile Development, Web Development — Dax++ @ 3:04 pm

GUUUI.com is a very helpfull site re: UIs and Prototyping.

Visio - the interaction designer’s nail gun (2nd edition). How to use Visio for rapid prototyping - Includes a web template to download and use with Visio.

www.DesigningInterfaces.com - A site about Design Design Patterns ;)

January 24, 2007

ASP.NET AJAX Control Toolkit Sample Website

Filed under: AJAX — Dax++ @ 9:41 pm

ASP.NET AJAX Control Toolkit sample website

I’ve been putting off sampling AJAX technics via ASP.NET until M$ appears to have the technology stabilised .. and it looks like that has now happened. So it may well be time for me to dive in and try it out.

This online sample site may the simplist way in to this technology for me :)

November 17, 2006

Single Sign-On - A Developer’s Introduction To Active Directory Federation Services

Filed under: ASP.NET, Security, Software Architecture and Design — Dax++ @ 4:38 pm

Security .. one of my favourite subjects.

How do you handle application authentication (they are who they say they are) and authorisation (they can do what their requesting to do)?

Single Sign-On - A Developer’s Introduction To Active Directory Federation Services

Next Page »

Powered by WordPress