Phil explains how to write a scalable SNMP Trap and Inform message receiver in Java using SNMP4J. He also explains what SNMP is and surrounding ideas such as TCP and UDP.
Exchange 2010 Calendar to ICalendar using ASP.net / C# – Part 1/2
For a long time now (2 years and counting), I’ve been wanting to dabble with ASP and Microsoft web technologies. It seems that for every project that I want to dabble with, I have to gather a lot of ambition and have an end goal in mind well before I begin. I guess that being a seasoned programmer; I have gotten very lazy at what projects I feel like attacking (this is partially why this blog doesn’t get a post every day).
Recently, I gathered enough ambition to finally solve the problem: Exporting an Exchange calendar to an ics file (also known as the icalendar or vcalendar format). Up until last January when I upgraded to Exchange 2010, I have been able to get my calendar and publish it on my website by using the webdav protocol. Webdav is a way to gain access to remote information on a webserver without a lot of hassle.
The most common use of webdav is remote file access. Typically, when newbies begin developing on websites, they want an easy way to get to their website without having to use other software. Using webdav, a user can simply use the built in Windows/Mac/Linux interface to connect directly to the remote web server. This will provide the user with a new drive which is directly linked to the remote server.
Coming back to Exchange Calendars, Exchange 2007 depreciated webdav for a new concept called Exchange Web Services (EWS), while Exchange 2010 completely removed webdav. So this left me holding the webdav code (that worked well until January) without any replacement. I tried a very poor method to keep my calendar somewhat live from January until April, but ultimately, it failed miserably. Basically I used outlook to connect to Exchange, google calendar to connect to outlook, then I posted a google calendar to my site. With all the hops, my calendar was rarely in sync with what was on my website (there were too many possible failure points). This is when I began looking for a solution using Exchange Web Services.
I tend to support open source solutions when they’re available so I spent roughly 2 months intermittently searching for a solution using only PHP, Perl, Python or Ruby to retrieve my exchange calendar. My goal was to convert this into the VCalendar format which then an open source solution could display on my website (I’ve been looking at Monket Calendar ). Unfortunately, short of writing a few new libraries for Exchange connectivity from PHP (probably using SOAP which is a common communication protocol that PHP can interface with), I decided that maybe it’s time to learn ASP.net to become proficient at something new. To me, new languages aren’t a big deal anymore since I’ve learned the core concepts and what a new language really is (Kudos to Carl Alphonce for teaching me this).
I’ve been tossing around if I want to share my asp.net solution as open source considering the cheapest solution for what I wanted to do is $600 commercially PER SERVER, AND Microsoft has fairly poor documentation when it comes to Exchange newbies (such as myself). After a lot of consideration, I’ve decided to post a general guide to getting started using Visual Studio 2010 along with the actual code for connecting Exchange (yay: you’re in luck!).
Since I like to keep my blogs somewhat small, I’m going to defer my code and explanation a few days since that blog post will pertain more to coders, not so much the general audience (with general explanations).