News Page for the Richmond Code Camp

by kevin 7/22/2008 3:25:00 PM

I've added a permanent news page for the Richmond .NET Code Camp to my site. It has news and information you'll want if you're a .NET developer in the mid-Atlantic region.

http://www.gotnet.biz/Blog/page/Richmond-NET-Code-Camp-News.aspx

Check it out!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Richmond | User Group | Code Camp

Accessing Web Services from Silverlight 2

by kevin 7/10/2008 10:39:00 PM

I presented tonight (10 July 2008) to the Richmond .NET User Group. We had a pretty good turnout, I'm guessing 40 to 45 developers. I gave this same presentation at my office today as a dry run and as a training opportunity within the company. It's so good to see the developer community eager to learn. I've attached my slides and the three demonstrations projects I used in this post. I'll be giving this same presentation to the Charlottesville .NET User Group next Thursday (17 July 2008). The abstract we put on both user group websites follows:

Silverlight is a client-side technology. So it’s not really a part of your SOA strategy, right? You may want to think twice about that. SOAP and WSDL support are coming to the web desktop via Silverlight. And Silverlight has good client support for REST+ JSON/POX and RSS/ATOM-based web services, too. During this discussion, we’ll dive into data serialization, security and cross-domain access policy capabilities inside Silverlight 2 Beta 2. We also talk about the nuances and pitfalls of provisioning your web services for an Internet audience. This presentation will be heavy on coding, demonstration and interactive discussion.

Powerpoint Presentation (289KB)

Twitter solution showing how to invoke a cross-domain RESTful service by way of an in-domain SOAP service bypassing the cross-domain access policy problem. (842KB)

REST solution showing how to create RESTful services in WCF and how to consume RESTful services in Silverlight (307KB)

Silverlight syndication solution showing how to consume cross-domain RSS and Atom feeds using the SyndicationFeed class. (11KB)

MVP Award for 2008

by kevin 7/2/2008 6:30:00 AM

I received Microsoft's MVP Award yesterday. I tried blogging about the experience at the end of the day but I didn't feel that I was ready to do it. The MVP Award is an unusual and very different kind of designation in the professional world. Many professional awards are about recognizing accomplishment. But the Microsoft MVP Award is about recognizing service. When you are singled out in this way, it's the community's method of saying, "Keep up the good work."

I've achieved many certifications in my career. I've held certifications from Sun, Oracle, IBM, Microsoft, HP, Siemens, Cisco and a few others. But I've never advertised them publicly because they were all my doing. I studied. I worked hard. I passed the certification exams. And I was a better developer and software architect for doing it. But, as a professional, I think those things are expected of me. So there was really no sense in wearing those certifications on my sleeve, in my opinion. To paraphrase the old adage, the proof is IN the pudding, not ON it, if you know what I mean.

The MVP Award, based on community and industry service, is not something you apply for. You get nominated by other MVPs and you go through a process of demonstrating what you've been up to for the past year. A review board checks you out (you can't hide from the search engines) and determines which MVP area of expertise you would fit into. Then, they determine among the other candidates in your group if your contributions to the community are exemplary. My MVP area of expertise is Visual C#, by the way. I think they picked the correct area for me because I know, love and promote the dickens out of C#. It's my favorite programming language in my career of 25 years so far.

It's a bit overwhelming to get the kind of support you need to win the MVP Award. When you receive "the magical e-mail" as some have called it, there's a stark moment of realization that you're standing on the shoulders of so many others who contributed to it. No MVP has ever achieved the title on his own. And I'm certainly no different. That's the way communities work. We lift each other up. I want to recognize a few folks who have lifted me up and encouraged me along the way to serve better within the Microsoft developer community:

These folks are my role models. In particular, I want to recognize Andy Leonard. If we weren't about the same age, I'd call Andy my techno-Dad. He's a father figure to all of us in the mid-Atlantic user group community, I believe. Andy is humble and brilliant, a rare combination. He's also the hardest working person I know. If I could follow Andy's lead to 50% efficiency, I know I would be successful, too. We are sorry to be losing him to Atlanta soon but he's leaving us in great shape. Thank you, Andy.

I send out a heartfelt thanks to these folks and the cast of hundreds who pour their time and energy into making the user groups, Code Camps and DevCamps throughout the mid-Atlantic region great successes. My profession would be just a job if it weren't for all of you. I look forward to serving you all in the year to come.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

C# | Professionalism | User Group

Going to CodeStock

by kevin 6/22/2008 7:55:00 PM

CodeStock LogoOK, I broke down and registered for CodeStock. That'll be a long drive. But the schedule looks awesome. This is a Code Camp on steroids in Knoxville, Tennessee. Lots of heavy hitters coming in to speak this time: Jeff Prosise, Alan Stevens, Steve Andrews, Todd Anglin, Rachel Appel, James Avery and many more.

Looks like I'll be riding there and back with Justin Etheredge. Spending some time with Justin will make the time go by faster.

The date is 9 August 2008 and the cost is $25. Hope to see you there.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

User Group

SQL Roundtable Discussion with Andy, Ron and Mark

by kevin 6/12/2008 8:10:00 AM

If you are in central Virginia today (12 June 2008), be sure to join Andy Leonard, Ron Deskins, Mark Hudson and me for a roundtable discussion about SQL server. Andy, Ron and Mark are all great community leaders and they happen to be excellent SQL database architects. This will be a fun and informative meeting. Be sure to register using the link below. Here are the details:

When: Thursday, June 12th, 2008, 6:30 PM - 8:00 PM
Social Time starts at 6:00 PM!

Who: Everyone! In particular Andy, Ron, and Mark.

What: This is going to be round table discussion facilitated by Andy Leonard, Ron Deskins, and Mark Hudson.  The topic is SQL Server, but other than that it is wide open.  Please post your comments to the board so we can get a lively discussion going at the meeting!  

Where:
Location: Markel Plaza
4600 Cox Road
Glen Allen, VA 23060 [map]

Register: Click here to register!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Richmond | SQL Server | User Group

Justin Etheredge on Functional Programming

by kevin 6/3/2008 10:07:00 AM

For those of you in central Virginia, my friend Justin Etheredge is speaking to the Richmond .NET User Group this Thursday evening (6/5) at 6:30 p.m. EDT in the Markel Building’s first floor salon at 4600 Cox Road regarding:

Functional Programming Features of C# 3.0
 

Justin’s one of the brightest, hardest-working people I know. Check out his blog. Come out and meet Justin and network with some other software developers in the community. You won’t be disappointed.

Oh, and did I mention that the victuals will be a la Maggiano’s Little Italy? Mmmmm……

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

C# | Richmond | Software Development | User Group

Profiling LINQ Queries Presentation

by kevin 5/19/2008 10:45:00 PM

I did a presentation called "Profiling and Tuning LINQ Queries" for the Richmond Sharepoint User Group on May 8th. I had gotten so busy, I forgot to post the slides and sample code. Here it is.

Profiling and Tuning LINQ Queries.pptx (75.58 kb) - these are the PowerPoint 2007 slides

ProfileLINQ20080508.zip (27.96 kb) - this C# project builds a dynamic query against the Northwind database using LINQ to SQL, allowing the use of the SQL Profiler to be used to see the increasing complexity of the queries as criteria is added and data is shaped using increasingly complex anonymous types.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Debugging | Richmond | SQL Server | User Group

Invoking a SOAP-based Web Service with PowerShell

by kevin 5/18/2008 10:45:00 PM

When I was at the NOVA Code Camp 2008.1 on Saturday, during one of my presentations, a question came up about using my ProxyForWsdl class (which I am now calling SuperSOAP, by the way) to invoke a SOAP-based web service from PowerShell. Nothing could be easier. This simple script would invoke the FactorService that I demonstrated during the talk to get the prime number integer factors of the number 8,675,303:

1: [Reflection.Assembly]::LoadFile( "<Path Omitted>\ProxyForWsdl.dll" )
2: $client = [gotnet.biz.ProxyGen.WsdlHelper]::GenerateProxyObjectForService( "http://<Server Omitted>/FactorService.asmx?WSDL", "FactorServiceSoap12" )
3: $client.GetIntegerFactors( 8675303 )

Line 1 loads the ProxyForWsdl assembly into PowerShell. Line 2 generates a dynamic proxy object for the FactorService based on the service's WSDL and a known endpoint named FactorServiceSoap12 (described in the WSDL). The PowerShell variable holding the proxy reference is named $client. Line 3 invokes the remote GetIntegerFactors web service method through $client with the parameter 8675303. The output of this script is:

7
7
13
13619

These are the prime number factors of the integer 8,675,303 just as you would expect. The service invocation worked! To build the ProxyForWsdl assembly referenced in the PowerShell script:

  • Download my ProxyGen source code and unzip it
  • The TestHarness project in the ProxyGen solution uses IronPython but you don't need it. Either remove the TestHarness project or download IronPython 2.0 (or later) and fix up the references to the IronPython, IronPython.Modules and Microsoft.Scripting assemblies to make the solution build. I recommend downloading IronPython, of course, because the TestHarness has some interesting code in it that shows how you can use C# code to host a PythonEngine. This can come in handy for injecting scriptlets into C#. The combination of languages feels good to me. C# for its wonderful retentiveness and Python for its equally wonderful expulsiveness.
  • Build the project and note the location of the ProxyForWsdl.dll assembly. You'll need that path in the PowerShell script shown above.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

User Group | PowerShell

Silverlight Web Services Slides and Sample Code from NOVA 2008.1 Code Camp

by kevin 5/17/2008 4:42:00 PM

This was the first time I gave this talk but the attendees seemed to be very receptive. The concerns about security in Silverlight, especially related to the protection of Intellectual Property (IP) and account access are really on peoples' minds. Based on the thoughtful question I received here and in Roanoke 2 weeks ago, I have decided to dedicate a whole chapter in my new book to Silverlight security principles.

In this talk, I discussed the various methods by which a Silverlight application can access remote web services. We didn't have time to get into RSS/Atom syndication but I'll be sure to cover it in a future talk. We also discussed cross-domain policy, another hot security topic, as it turns out. I showed how to enabled a WCF web service for RESTful delivery and then showed how to consume SOAP-based services from Silverlight. We closed by looking at the use of an in-domain, SOAP-based WCF service to act as a proxy for a cross-domain RESTful service that does not allow cross-domain access by policy. Here are the slides and sample code:

WCFRESTDEMO20080517.zip (18.89 kb) - sample code that shows how to make a WCF service RESTful; a Silverlight control is included that demonstrates how to use it; there is also a Digg.com downloader that demonstrates cross-domain functionality from Silverlight.

Twitter20080517.zip (25.59 kb) - sample code that shows how to consume an in-domain SOAP-based service from Silverlight; that SOAP-based service is really a proxy to a RESTful service at Twitter.com. And since Twitter.com's cross-domain policy doesn't allow access from my domain, this example shows how the server-side WebClient class can be used to circumvent the policy limitation.

Silverlight and WCF - NOVA Code Camp 2008.1.pptx (199.39 kb) - my PowerPoint slides from this discussion.

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , , , , ,

Architecture | C# | Silverlight | User Group | WCF

SuperSOAP Slides and Code from NOVA Code Camp 2008.1

by kevin 5/17/2008 4:28:00 PM

Accessing web services with SOAP can be just as easy as using REST with all the enterprise-class features you've come to expect from WSDL and SOAP. Who says that the cycle of metadata and proxy generation should be so hard? I gave a talk at the NOVA Code Camp 2008.1 that shows how by using the CodeDOM, and the ServiceModel.MetadataImporter, you can generate proxy code dynamically.

In this talk, I also showed how IronPython can be used to add a dynamic "lower edge" to a C# application to make it much more dynamic feeling. Finally, we finished with a discussion about features that may be added to Visual Studio 10 and the C# 4.0 language sprecification to make SOA achievable for many more developers. It was a lively discussion with lots of great questions. Here are the slides and the demo code:

ProxyGen20080517.zip (20.86 kb) - Sample code that demonstrates the use of IronPython and some custom CodeDOM code to avoid generating proxies for WCF integration via SOAP/WSDL. IronPython 2.0 Beta 1 or newer is required to compile this code.

Simple SOA with SuperSOAP by Kevin Hazzard.pptx (208.46 kb) - my PowerPoint slides from this discussion.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Architecture | C# | DLR | IronPython | User Group | WCF

Powered by BlogEngine.NET 1.3.1.0
Theme by Mads Kristensen


Kevin's on Twitter / FriendFeed

W. Kevin Hazzard Welcome to Kevin Hazzard's Blog. Kevin is a Software Architect, Professor and Microsoft MVP specializing in C#, WCF, Silverlight and IronPython.

View Kevin Hazzard's profile on LinkedIn
Microsoft MVP Award Join me at CodeStock

Calendar

<<  July 2008  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Recent posts

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in