Sunday, December 19, 2010

A Belated Recap: Day 4 of Boot Camp

To my regular readers: I apologize for the delay in posting about my last day of boot camp - my computer has been on the fritz, and I wasn't about to type an entire post on my iPhone (while the ability exists, it's a major PITA on that tiny little keyboard). My new Visual Studio/SQL/VMWare View-compatible computer is on the way (albeit backordered), so I'm just crossing my fingers that my current computer doesn't completely die until the new one gets here - right now it's playing nice and even let me open a browsr window without crashing; this was a promising event!

Anyway, on to the main event: my final day of .NET Boot Camp. Day 4 was by far the most challenging day, from both a content and brain capacity standpoint. We started off by discussing web services, both .NET and WCF (Windows Communication Foundation). The basic premise of a web service is to send/receive/translate an XML schema into classes, objects, and methods in order to transfer information from one site or service to another. A good example of a standard web service a developer might call might be a service that shows the current weather and radar. Since a web developer is not a meterologist, there are web services available to fetch and present data from the National Weather Service that your code can call in place of attempting to predict and map the weather yourself. A great resource full of common web services available (many are free), check out XMethods.

While I understood the basic premise of a web service, my confusion began to mount when we dug deeper into WCF, which is the safest, most secure way (in the Microsoft world) to access web services. Perhaps my brain had finally maxed out, but when the instructor started talking about HTTP Protocol, message-level encryption, and service configuration, I completely glazed over. He could have been speaking in Greek for all I knew. While I still need to do a lot  more digging to figure out how to implement WCF methods, I have provided a simplified table of the basic coding differences between a .Net web method and WCF below.

Type:    How to Map:                   File Ext:    Method Decorator:    Class:              
.NET     "Add Web Reference"       .asmx          [Web Method]             Web Service
WCF     "Add Service Reference"   .svc             [Operation Contract]    Service Contract

After web methods and WCF, we covered how to manage state in a web application, in other words how to save information between PostBacks to the server (typically, when you click a button or enter information into a website, the page is completely destroyed and re-loaded with the new information). While I won't go into detail about them here, we covered application state, session state, view/control state, query strings, cookies, and hidden fields, and the benefits, drawbacks, and common uses of each.

We wrapped up the day by covering how to deploy a website and how to configure the security/authenticate users (Windows Integration versus Form Security/Forms Authentication). We also talked about how to condition your database to utilize the standard ASP.NET security controls (these include "create user," "change password," "Login," etc) to make your security configurations easier.

My biggest challenge going forward will be to find a way to practice and utilize what I've learned so I am able to retain as much of it as I can. I plan to continue building the website I started in class to practice all of the different skills, as well as to look for opportunities to sit next to my developer coworkers and study how they approach these concepts in the real world. Here's hoping that I am able to do a lot of this between now and my advanced .NET and MVC class in mid-January!

No comments:

Post a Comment