. Topicala Page Index Token

A Journal about the experiences I have developing little applications in C#, Perl, Html and Javascript and talking about things new things that I use. Always Geeky; Always Nerdy; Always poor Grammer!

I am a Software Analyst Developer working in Southport, England but living in Liverpool. I develop mainly in C# and ASP.Net. I have been developing comercial software for several years now. I maintain this site (hosted at SwitchMedia UK) as a way of exploring new technologies (such as AJAX) and just generally talking about techie geek issues. This site is developed through a host of Perl scripts and a liberal use of Javascript. I enjoy experimenting with new technologies and anything that I make I host here.

Quick Search

Web www.kinlan.co.uk

Saturday, November 18, 2006

Why I love WSE 3.0

I have been using WSE 3.0 for a while now and I really like it.  I really like the policy mechanism in the WSE, it affords me a kind of AOP (aspect orientated programming) that I am really starting to get into.   For instance I have made a lot of SoapFilters recently, some handy, some just for tests, but each of them allow me to add an aspect of functionality into the webservice that I am creating in a configuration and not a design time.  If I want security, just add a policy line in the XML config, if I want auditing another line, if I want exception shielding another line.   All of these aspects of the system I am creating can be added at deployment time thus leaving my web service code clean and simple.

An example, pseudo code:

[Webservice]
public class OrderService
{

[WebMethod]
[Policy(ServerPolicy)]
public OrderList SubmitOrders(OrderList input)
{
return OrderListRepository.InsertNewOrders(input);
}
}


And a policy file (not an actual file that would work in this example) would say:


<Policy>
<add type="Security" MustHaveRole="Add"/>
<add type="Auditing" />
<add type="ExceptionSheilding" />
</Policy>

This service code and policy file model is so much cleaner and simpler than what you would have to write if you didn't have an AOP style policy system:


[Webservice]
public class OrderService
{

[WebMethod]
[Policy(ServerPolicy)]
public OrderList SubmitOrders(OrderList input)
{
try
{
if(User.IsInRole("Add") && User.IsAuthenticated)
{
OrderListRepository.InsertNewOrders(input);
Log.Audit(Success);
}
else
{
Log.Error(SecurityError);
}
}
catch(RepositoryException ex)
{
throw SheildedException(ex, "Problem in Repository");
}
catch(Exception ex)
{
throw SheildedException(ex, "Unkown Exception");
}
}
}

Now tell me which code you would like to maintain! :)


 


Monday, November 13, 2006

ReSharper 2.0+ Plugins

I am looking for some plugins that people might have created with Jetbrains OpenAPI.  It is pretty hard to find any at the moment.

The only one I have seen, and it doesn't appear to have been released is http://chrisdonnan.com/blog/2006/05/10/resharper-openapi/ 

I have some ideas that I would like to play around with but I don't think the documentation or examples are any good.

 

Sunday, November 05, 2006

XNA Parallax Engine and the GSE Beta 2

Just a quick update to say that I am about to start converting the current Parallax Engine to GSE Beta, I belive I need to do this because of the significant changes that have taken place since beta 1.  Most of all the Game Designers have been removed.

I really like the idea of having Game Designers so that you can quickly configure the basic components that you are using on your game, however to get 360 support they have had to be dropped.