<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>.net fire</title>
    <description>web development with c# and asp.net</description>
    <link>http://blogs.it-coder.com/</link>
    <generator>BlogEngine.NET, http://www.dotnetblogengine.com/</generator>
    <language>en-GB</language>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/netFire" type="application/rss+xml" /><item>
      <title>LINQ IS NULL</title>
      <description>&lt;p&gt;
&lt;strong&gt;category.ParentCategoryId = @parentCategoryId&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;or
&lt;/p&gt;
&lt;p&gt;
category.ParentCategoryId = null and this sql didn&amp;#39;t return result, because expect &lt;strong&gt;category.ParentCategoryId is null.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Then I test another way to delive null value&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;if (parentCategoryId == null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = from&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category in this.productsHelpDataContext.Categories&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; orderby&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category.Order ascending&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category.ParentCategoryId == null&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select category;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return query.Select(category =&amp;gt; category);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = from&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category in this.productsHelpDataContext.Categories&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; orderby&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category.Order ascending&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category.ParentCategoryId == parentCategoryId
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select category;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return query.Select(category =&amp;gt; category);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/p&gt;
&lt;p&gt;
In other word LINQ to SQL strict follow sql script convention. 
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/8LmLsCQX6to/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/LINQ-IS-NULL.aspx#comments</comments>
      <pubDate>Tue, 26 Feb 2008 15:42:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=c4af3bb0-90ab-49d6-9152-212ddf418c88</guid>
      <category>MS SQL</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=c4af3bb0-90ab-49d6-9152-212ddf418c88</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=c4af3bb0-90ab-49d6-9152-212ddf418c88</trackback:ping>
      <slash:comments>18</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/LINQ-IS-NULL.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=c4af3bb0-90ab-49d6-9152-212ddf418c88</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=c4af3bb0-90ab-49d6-9152-212ddf418c88</feedburner:origLink></item>
    <item>
      <title>How to convert sql varchar to sql int list</title>
      <description>DECLARE @TEST VARCHAR(30)&lt;br /&gt;
SET @TEST = &amp;#39;1,2,3,47, 89, 67&amp;#39;&lt;br /&gt;
DECLARE @Current INT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DECLARE @LISTINT TABLE (Number INT)&lt;br /&gt;
&lt;br /&gt;
WHILE (LEN(@TEST) &amp;gt; 0)&lt;br /&gt;
BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;IF (Charindex(&amp;#39;,&amp;#39;, @TEST) &amp;gt; 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SET @Current = LEFT(@TEST, Charindex(&amp;#39;,&amp;#39;, @TEST) - 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SET @TEST = RIGHT(@TEST, LEN(@TEST) - Charindex(&amp;#39;,&amp;#39;, @TEST))&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;END&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;ELSE&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SET @Current = CAST(@TEST AS INT)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SET @TEST = NULL&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;END&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;INSERT INTO @LISTINT VALUES(@Current)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;SET @Current = NULL&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
SELECT Number&lt;br /&gt;
FROM @LISTINT</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/Q0lLsyKYY9Y/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/How-to-convert-sql-varchar-to-sql-int-list.aspx#comments</comments>
      <pubDate>Tue, 29 Jan 2008 18:51:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=5d4e3adf-17ad-4d6d-9135-8d7465672f45</guid>
      <category>MS SQL</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=5d4e3adf-17ad-4d6d-9135-8d7465672f45</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=5d4e3adf-17ad-4d6d-9135-8d7465672f45</trackback:ping>
      <slash:comments>15</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/How-to-convert-sql-varchar-to-sql-int-list.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=5d4e3adf-17ad-4d6d-9135-8d7465672f45</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=5d4e3adf-17ad-4d6d-9135-8d7465672f45</feedburner:origLink></item>
    <item>
      <title>Sql cursor vs CTE</title>
      <description>&lt;h2&gt;whith is the best way to grow up with MS SQl Server?&lt;/h2&gt;
&lt;p&gt;
I was doing paging in SQL Server 2000 using Temp Table or Derived Tables. I decided to checkout new function ROW_NUMBER() in SQL Server 2005. ROW_NUMBER() &lt;span style="font-weight: bold"&gt;&lt;/span&gt;returns the sequential number of a row within a partition of a result set, starting at 1 for the first row in each partition. I have compared both the following query on SQL Server 2005. 
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-weight: bold"&gt;SQL 2005 Paging Method&lt;/span&gt; 
&lt;/p&gt;
&lt;pre&gt;
USE AdventureWorksGODECLARE  @StartRow INTDECLARE  @EndRow INTSET    @StartRow = 120SET @EndRow = 140SELECT   
&lt;/pre&gt;
&lt;pre&gt;
 FirstName, LastName, EmailAddressFROM (SELECT    PC.FirstName, PC.LastName, PC.EmailAddress,ROW_NUMBER()
&lt;/pre&gt;
&lt;pre&gt;
 OVER(Order BY PC.FirstName, PC.LastName,PC.ContactID) AS RowNumberFROM    Person.Contact PC) PersonContactWHERE  
&lt;/pre&gt;
&lt;pre&gt;
  RowNumber &amp;gt; @StartRow AND RowNumber &amp;lt; @EndRowORDER BY FirstName, LastName, EmailAddressGO
&lt;/pre&gt;
&lt;p&gt;
&lt;span style="font-weight: bold"&gt;SQL 2000 Paging Method&lt;/span&gt; 
&lt;/p&gt;
&lt;pre&gt;
USE AdventureWorksGODECLARE  @StartRow INTDECLARE  @EndRow INTSET    @StartRow = 120SET @EndRow = 140CREATE TABLE
&lt;/pre&gt;
&lt;pre&gt;
 #tables (RowNumber INT IDENTITY(1,1),FirstName VARCHAR(100), LastName VARCHAR(100), EmailAddress VARCHAR(100))
&lt;/pre&gt;
&lt;pre&gt;
INSERT INTO #tables (FirstName, LastName, EmailAddress)SELECT    PC.FirstName, PC.LastName, PC.EmailAddressFROM   
&lt;/pre&gt;
&lt;pre&gt;
 Person.Contact PCORDER BY FirstName, LastName, EmailAddressSELECT    FirstName, LastName, EmailAddressFROM   
&lt;/pre&gt;
&lt;pre&gt;
 #tablesWHERE    RowNumber &amp;gt; @StartRow AND RowNumber &amp;lt; @EndRowDROP TABLE #tablesGO
&lt;/pre&gt;
&lt;p&gt;
if you wnat to make your life easiest just use ROW_NUMBE() instead using old temp table( or cursor related solutions). 
&lt;/p&gt;
&lt;div style="left: 10px; position: absolute; top: 55px"&gt;
&lt;!--
google_ad_client = "pub-0845520480699404";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-08-20: 2.0 asp.net design problem
google_ad_channel = "0038227811";
google_color_border = "D8D8D8";
google_color_bg = "FFFFFF";
google_color_link = "D8D8D8";
google_color_text = "444444";
google_color_url = "5C80B1";
google_ui_features = "rc:6";
//--&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/gZeW2pVH2V8/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Sql-cursor-vs-CTE.aspx#comments</comments>
      <pubDate>Wed, 10 Oct 2007 23:18:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=6a79f7e0-e3de-47f1-ac3d-213dc6ba6015</guid>
      <category>MS SQL</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=6a79f7e0-e3de-47f1-ac3d-213dc6ba6015</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=6a79f7e0-e3de-47f1-ac3d-213dc6ba6015</trackback:ping>
      <slash:comments>5</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Sql-cursor-vs-CTE.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=6a79f7e0-e3de-47f1-ac3d-213dc6ba6015</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=6a79f7e0-e3de-47f1-ac3d-213dc6ba6015</feedburner:origLink></item>
    <item>
      <title>Extend ASP.NET with HTTP modules</title>
      <description>&lt;p&gt;
Like in other .NET-applications, exception-handling is also available
in ASP.NET-applications. There are a few extensions and special
features for exception-handling in ASP.NET that will be explained in
this article: Predefined IHttpModules allow you to process incoming requests and outgoing
responses to and from an ASP.NET application. This article offers a
closer look at using HTTP modules in ASP.NET applications.
&lt;/p&gt;
&lt;h2&gt;Introduction to HTTP modules&lt;/h2&gt;
&lt;p&gt;
ASP.NET HTTP modules provide access to incoming and outgoing traffic
to a Web application. They are similar to Internet Server Application
Programming Interface (ISAPI) filters in that they run for all
requests, but HTTP modules are written in managed code and are fully
integrated with the lifecycle of an ASP.NET application.
&lt;/p&gt;
&lt;p&gt;
HTTP modules provide pluggable functionality to ASP.NET
applications. These modules are added to the request pipeline before
and after the ASP.NET HTTP handler fires. HTTP modules are different
than HTTP handlers. HTTP modules are called for all requests and
responses, whereas HTTP handlers run only in response to specific
requests.
&lt;/p&gt;
&lt;p&gt;
HTTP modules and the Global.asax file available in all ASP.NET
applications provide the same functionality, but the implementation is
a bit different. The Global.asax file requires code in the application,
thus compilation when it changes; HTTP modules are completely separate.
&lt;/p&gt;
&lt;p&gt;
A great aspect of HTTP modules is that they are built without
affecting existing applications &amp;mdash; albeit the extensible&amp;nbsp; architecture.
These are easily added or removed to and from an ASP.NET application
via the Web configuration (web.config) file.
&lt;/p&gt;
&lt;p&gt;
Some common uses of HTTP modules include the following:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Headers:&lt;/strong&gt; You can easily inject custom header information into each page.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Logging:&lt;/strong&gt; You can easily gather logging or
	statistical data for every request. The creation of a custom HTTP
	module provides a central location for logging as opposed to code in
	every page.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Security:&lt;/strong&gt; You can perform custom authentication or
	security checks on each page request. You may filter based upon user
	credentials, IP address, etc. The ASP.NET MemeberShip Provider work in this style.&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;How HTTP modules work&lt;/h2&gt;
&lt;p&gt;
HTTP modules are registered in the web.config file. This ties the
module to an application. As a result, when ASP.NET creates an instance
of the HttpApplication class for an application, instances of any
modules that have been registered are created as well. The module&amp;rsquo;s
Init method is called when it is instantiated.
&lt;/p&gt;
&lt;p&gt;
Within the Init method, the module subscribes to one or more events
from the HttpApplication object. These events correspond to user
actions within an ASP.NET application. These events include the
following:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;AcquireRequestState:&lt;/strong&gt; This is the event you call to acquire or create the state for the request.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;AuthenticateRequest:&lt;/strong&gt; This event fires when a security module needs to authenticate the user before it processes the request.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;AuthorizeRequest:&lt;/strong&gt; This event is fired by a security module when the request needs to be authorized after authentication.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;BeginRequest:&lt;/strong&gt; This event signals that a new request is beginning.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Disposed:&lt;/strong&gt; This event signals the application is ending, so it allows the module to perform clean up operations.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;EndRequest:&lt;/strong&gt; This event signals that the request is ending.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Error:&lt;/strong&gt; This event is called when an error occurs during request processing.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;PostRequestHandlerExecute:&lt;/strong&gt; This event signals that the handler has finished processing the request.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;PreRequestHandlerExecute:&lt;/strong&gt; This event signals that the handler for the request is about to be called.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;PreSendRequestContent:&lt;/strong&gt; This event signals that content is about to be sent to the client.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;PreSendRequestHeaders:&lt;/strong&gt; This event signals that HTTP headers are about to be sent to the client.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;ReleaseRequestState:&lt;/strong&gt; This event signals that the handler has finished processing the request.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;ResolveRequestCache:&lt;/strong&gt; This event is triggered after authentication.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;UpdateRequestCache:&lt;/strong&gt; This event fires after a response from the handler.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
An HTTP module may use any of these events.
&lt;/p&gt;
&lt;h2&gt;Creating an HTTP module&lt;/h2&gt;
&lt;p&gt;
You build a custom HTTP module using the IHttpModule interface,
which you can find in the System.Web namespace. You want to possiblity to handle errors is in an own &lt;em&gt;IHttpModule&lt;/em&gt;. To define it, you have to implement the interface &lt;em&gt;IHttpModule&lt;/em&gt; and bind your error-handler in this class: &lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;pre&gt;
public void Init(HttpApplication app);
public void Dispose();
&lt;/pre&gt;
The Init method is important since it is called when the HTTP module
is called to process incoming requests or outgoing responses. Calls to
events (from the previous list) are placed in this method. If one of
the events from the HttpApplication class is used, the code to handle
the event must be included as well. This includes a delegate, the
method, hooking to the event, and so forth.
&lt;p&gt;
Once a module is built, it may be registered by way of the
httpModules section of the web.config file as the following snippet
illustrates:
&lt;/p&gt;
&lt;pre&gt;
&amp;lt;system.web&amp;gt;
&amp;lt;httpModules&amp;gt;
&amp;lt;add type=&amp;quot;[Class], [Assembly]&amp;quot; name=&amp;quot;[ModuleName]&amp;quot; /&amp;gt;
&amp;lt;remove type=&amp;quot;[Class], [Assembly]&amp;quot; name=&amp;quot;[ModuleName]&amp;quot; /&amp;gt;
&amp;lt;clear /&amp;gt;
&amp;lt;/httpModules&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
The best way to grasp the use of HTTP modules is to build one. HTTP
modules are created as a class library. When using Visual Studio, a
reference to the System.Web namespace is added to the project to access
the required classes.
&lt;/p&gt;
&lt;p&gt;
The following C# sample demonstrates a simple HTTP module that
is tied to the BeginRequest and EndRequest events for a user request.
The code displays a simple message in the browser stating the event
fired. The events are registered in the module&amp;rsquo;s Init method with a
method created for each event handled.
&lt;/p&gt;
&lt;pre&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt; ErrorModule : IHttpModule&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt; ErrorModule()&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="color: #000000"&gt; IHttpModule Members&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt; Dispose()&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt; Init(HttpApplication context)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
context.Error &lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt; EventHandler(context_Error);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt; context_Error(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt; sender, EventArgs e)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
Exception e &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; HttpContext.Current.Server.GetLastError();&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #008000"&gt;	&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt; Clear the error so that it doesn&amp;#39;t occur again in &lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt; the Application_Error-handler&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #000000"&gt;        HttpContext.Current.Server.ClearError();&lt;br /&gt;
&lt;br /&gt;
HttpContext.Current.Response.Redirect(&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;ErrorPage.htm&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endregion&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
So what is the benefit of using an own HttpModule. Well, the name
already says it: You have a modularization for your error-handling. You
can change your implementa
&lt;/p&gt;
&lt;p&gt;
tion at one place without touching your
application-logic and you can change the errorhandling of your
appliation by defining another HttpModule and configuring it in your
web.app..
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/Bh5KZizuYT4/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Extend-ASPNET-with-HTTP-modules.aspx#comments</comments>
      <pubDate>Tue, 25 Sep 2007 07:04:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=25527e76-5e19-4aec-b0d2-cc7ee4b583c1</guid>
      <category>asp.net 2.0</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=25527e76-5e19-4aec-b0d2-cc7ee4b583c1</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=25527e76-5e19-4aec-b0d2-cc7ee4b583c1</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Extend-ASPNET-with-HTTP-modules.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=25527e76-5e19-4aec-b0d2-cc7ee4b583c1</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=25527e76-5e19-4aec-b0d2-cc7ee4b583c1</feedburner:origLink></item>
    <item>
      <title>How Often You Should speak with Team Members</title>
      <description>&lt;p&gt;
OK,
that&amp;rsquo;s the bunch of options, but yes, I have my own. To be honest I put
the question only to give my favorite answer to any question (&amp;ldquo;&lt;em&gt;Do you want a grappa?&lt;/em&gt;&amp;rdquo; question not included). The answer is:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;It depends&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
By the way, one of thing why I&amp;rsquo;m not a big
fan of agile methods is because they&amp;rsquo;re highly formalized... Yes, they
are... Yes, they are... Yes, they... never mind. I don&amp;rsquo;t agree you have
to meet everyday no matter what project you run. I don&amp;rsquo;t agree
fortnight is the best cycle length in software development. It depends.
It depends on the team, the project, the customer, resources and goals.
Those things, including meeting frequency, can&amp;rsquo;t be standardized. &lt;br /&gt;
&lt;br /&gt;
Coming
back to the question how often you should run team meetings... There
are few factors you have to consider when you gather the team, or part
of it, on the meeting. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&amp;bull; How fast information is overdue.&lt;/strong&gt;
When you have two-week development cycle (no, I haven&amp;rsquo;t said it&amp;rsquo;s all
wrong) meeting every day or every two days to summarize progress is a
good idea. Having a meeting once during the cycle is definitely not &lt;em&gt;so&lt;/em&gt; clever.&lt;br /&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt; How often you waste time of the team.&lt;/strong&gt; You force developers to
leave their beloved PCs while in the flow of inventing new
ground-breaking, cutting-edge, world-changing algorithms. You sit with
those who came on time waiting for those who are always 5-minutes late.
Yes, every meeting, even with the most creative outcome, is at least a
bit of a waste of time.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&amp;bull; What outcome is expected.&lt;/strong&gt; And
when you want to have it on your desk. You don&amp;rsquo;t try to rearrange
development tasks assignments during the last week of planned
development phase. You do it during the second week, because after the
first one you have first lags. OK, I know, with two-week cycle the
second one actually &lt;em&gt;is&lt;/em&gt; the last one. If you need some work to
be done after the meeting you need to allocate the time for that. Even
the most skilled architect won&amp;rsquo;t create technical design document of
the high-availability real-time system within a day.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;strong&gt; When all parties are free.&lt;/strong&gt; That&amp;rsquo;s the easiest one. At least for
the most of managers I know. You don&amp;rsquo;t run meetings just for sake of
running meetings but to execute some actions on some people: giving
information, receiving information, assigning a task, asking a
question, giving feedback etc. You want it or not, as far as you don&amp;rsquo;t
have another interested party on the other side of the table it isn&amp;rsquo;t
very successful. So take a minute to check their availability &lt;em&gt;before&lt;/em&gt; sending invitations.
&lt;/p&gt;
&lt;p&gt;
A couple of factors drive you to have the meetings faster/more often,
another couple quite the opposite. There&amp;rsquo;s really no rule of thumb
here. With tight three-week development schedule, we meet twice a week
with developers. When talking about meetings summarizing status of all
projects we run them once a week, but we keep their frequency
religiously. With general team meetings, where we share information
about things everyone works on, we try to follow once-a-week schedule,
but without any pain we cancel events whenever it&amp;rsquo;s hard to make it.
Individual face to face meetings with people from my team I have every
time they (or I) feel like having one. &lt;br /&gt;
&lt;br /&gt;
With other team and other projects it would be different. You have to decide yourself how often you &lt;em&gt;need&lt;/em&gt; to have team meetings. 
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/Gc6OTpUfbUg/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/How-Often-You-Should-speak-with-Team-Members.aspx#comments</comments>
      <pubDate>Tue, 18 Sep 2007 04:22:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=49b678e9-ed58-40d2-b61b-2a6e0e400d30</guid>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=49b678e9-ed58-40d2-b61b-2a6e0e400d30</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=49b678e9-ed58-40d2-b61b-2a6e0e400d30</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/How-Often-You-Should-speak-with-Team-Members.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=49b678e9-ed58-40d2-b61b-2a6e0e400d30</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=49b678e9-ed58-40d2-b61b-2a6e0e400d30</feedburner:origLink></item>
    <item>
      <title>Web site for web design</title>
      <description>&lt;h3&gt;Now is not necessary to be computer guru to make your own web site.&lt;/h3&gt;
&lt;p&gt;
This task is very easy, just open www.google.com and write web site design. You may have about 100,000 result, how to choise write for you. In this article I wiil give 
&lt;/p&gt;
&lt;p&gt;
same usefull web sites, necessary for success in web design. You don&amp;#39;t must to know anything about XTML or ASP.NET or PHP. For beggining you must look same web sites, 
&lt;/p&gt;
&lt;p&gt;
that i&amp;#39;ll list below. 
&lt;/p&gt;
&lt;h4&gt;First web site is &lt;a href="http://www.leafletter.com/" target="_blank" title="www.leaftletter.com "&gt;www.leaftletter.com.&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
If you want to make more original web design for your blog or web site, this is a pleca where can do it. You have full freadom for working with pictures and text. The web site is sil better version, but everything what is free is all time beta version.&amp;nbsp; 
&lt;/p&gt;
&lt;h4&gt;Second web site is &lt;a href="http://www.websitetips.com" target="_blank" title="www.websitetips.com"&gt;www.websitetips.com&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
This place can deliver on you exert services in web design. Here you can find 1000 articles How to make better web site design. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/0H2pYH-7Ivo/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Web-site-for-web-design.aspx#comments</comments>
      <pubDate>Sun, 05 Aug 2007 03:41:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=4df9b98e-eaa6-45d2-b605-fb49d312031b</guid>
      <category>web design</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=4df9b98e-eaa6-45d2-b605-fb49d312031b</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=4df9b98e-eaa6-45d2-b605-fb49d312031b</trackback:ping>
      <slash:comments>1</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Web-site-for-web-design.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=4df9b98e-eaa6-45d2-b605-fb49d312031b</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=4df9b98e-eaa6-45d2-b605-fb49d312031b</feedburner:origLink></item>
    <item>
      <title>You are Beginner: Learn XHTML ASP.NET and Database</title>
      <description>&lt;p&gt;
In the last two weeks, three friends have approached me asking how they can 
get into Web development: a university professor who wants to create a virtual 
community for his students, an owner of a language school who wants to get into 
e-commerce, and an English teacher looking for a lucrative career move. My 
advice to all of them was the same: learn XHTML, ASP.NET and database servers.Why XHTML 
&lt;/p&gt;
&lt;h3&gt;XHTML is the core of the Web&lt;/h3&gt;
&lt;p&gt;
From the simplest Web site to the most complex e-commerce solution, XHTML is 
the script that is ultimately sent down to the visitors&amp;rsquo; browsers. There is no 
getting around it: if you want to do Web development, you need to know XHTML. The 
good thing is that HTML is relatively easy to learn. It is not a programming 
language so there are no for-next loops, no variables, and nothing about 
sessions or functions to learn. It is just a mark-up script, which means that 
you merely surround text with tags which tell the browser to treat that text 
specially. To see how easy it is, take my &lt;a href="http://www.amazon.com/b?%5Fencoding=UTF8&amp;amp;node=5&amp;amp;tag=itco-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Learn HTML&lt;/a&gt;&lt;img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.com/e/ir?t=itco-20&amp;amp;l=ur2&amp;amp;o=1" border="0" alt="" width="1" height="1" /&gt; by the end of the hour you will have created your 
first Web site and learned the most important XHTML tags. It&amp;rsquo;s really that 
easy.
&lt;/p&gt;
&lt;p&gt;
After you have made your first home page come up in a browser, learn more by 
getting an XHTML editor such as Dreamweaver 
or VIsual Studio Web Developer which allows you to create pages in a Word-like environment and then 
look at the automatically generated XHTML text. Such an editor is one of the best 
XHTML learning tools that there is - if you want to learn how to create a 
colored table, then create one and look at the XHTML code. To learn more, 
change the code a bit and look at the table again. Keep doing this until you get 
an understanding of how the XHTML code affects the display in the browser. XHTML 
is simple enough that experimenting in this way will speed-teach most of 
practical XHTML skills you need.
&lt;/p&gt;
&lt;p&gt;
After you get a sense of the relationship 
between XHTML tags and their output in the browser, get a good-sized, 
comprehensive book on XHTML and work through it at quick pace. It&amp;rsquo;s not 
important you understand each tag in depth, but it is important that you have an 
overview of all the XHTML tags so that you can spot them in the code and know 
what is available to you when you are designing pages. After you have worked 
through a book like this, you will have a good theoretical basis of XHTML, which 
is important when you start programming in ASP.NET. 
&lt;/p&gt;
&lt;h4&gt;ASP.NET is a powerful server-side script&lt;/h4&gt;
&lt;p&gt;
Only knowing XHTML is limiting because all you can do is create static pages. 
What if you have a list of students, for example, which you want to sometimes 
display sorted by last name, sometimes sorted by grade, and sometimes want to 
show only those who have finished a specific assignment? For this you need to 
have this information in a database and use ASP.NET to dynamically send only the 
information you want to your visitors&amp;rsquo; browsers.
&lt;/p&gt;
&lt;p&gt;
To develop sites with ASP, you first need to set up the ASP.NET programming 
environment on your computer, which can be difficult if you have never done it 
before. The easiest way to do this is to take visual studio 2005&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
and sql server 2005&amp;nbsp; which will enable you to get an ASP.NET 
developing environment up within the hour, complete with a working ASP.NET page 
which reads data from an MS SQL database.
&lt;/p&gt;
&lt;p&gt;
Next you need to learn ASP.MET. For most 
non-programmers this is going to involve a learning curve.&amp;nbsp; Also, if you 
have never programmed in a client/server environment, you will go through a 
paradigm shift trying to understand the five server objects: application, 
server, session, response and request. The good thing is that you don&amp;#39;t have to 
understand everything about ASP.NET to start making useful ASP.NET applications. My 
advice is to get a good book on ASP.NET and work through it at your own pace pulling 
out of it only that which you can use for your own particular Web application 
project, then keep the book within arm&amp;#39;s reach for reference.&amp;nbsp; 
&lt;/p&gt;
&lt;h3&gt;Database connectivity: where the rubber hits the road&lt;/h3&gt;
&lt;p&gt;
ASP.NET applications without database are not much more useful than plain XHTML pages. Hence, you will want to learn 
database connectivity from the very beginning of your ASP.NET learning. Spend your 
time learning how to read, write, delete and edit data in databases from your 
ASP.NET pages. This is where the real power of an ASP.NET application lies. 
&lt;/p&gt;
&lt;p&gt;
Although ASP.NET can talk to almost any database, Microsoft SQL 2005 is the best database to use with ASP.NET, and you will need to have 
a copy installed on your machine before you begin programming database 
connectivity into ASP.NET. MS SQL 2005 will work, too, of course. You can go to microsoft.com/downloads and there you search this product.  
&lt;/p&gt;
&lt;p&gt;
Today, you can get excellent books on database connectivity using ASP.NET, and in our &lt;a href="http://forums.it-coder.com"&gt;forums&lt;/a&gt; have hundreds of code samples 
for you to try out and learn from. 
&lt;/p&gt;
&lt;h3&gt;Hosting your ASP Web site&lt;/h3&gt;
&lt;p&gt;
When it is time to put your ASP.NET Web site on the Internet for others to use, 
Web hosting services such as &lt;a href="http://www.aspspider.com" title="aspspider.com"&gt;aspspider.com&lt;/a&gt; will host your 
database-generated ASP Web site for free.
&lt;/p&gt;
&lt;h3&gt;Not easy, but possible and 
very powerful&lt;/h3&gt;
&lt;p&gt;
In the final, learning ASP.NET and database 
connectivity is not as easy as learning how to use other 
Windows applications. Programming involves another level of involvement and 
learning which for some is simply not a joy. However, if you are excited about 
learning basic programming skills and can invest a couple of months learning and 
experimenting with this technology, you will come out with skills with which you 
can create robust and useful database-generated Web applications such as virtual 
classrooms or e-commerce Web sites. You will also be able to market yourself as 
a highly paid Web developer. More power to you!
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/-sn9wqRBZWc/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/You-are-Beginner-Learn-XHTML-ASPNET-and-Database.aspx#comments</comments>
      <pubDate>Thu, 02 Aug 2007 03:11:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=b1ddd0e7-99be-4d5a-8df1-70b43afe3e9b</guid>
      <category>asp.net 2.0</category>
      <category>web design</category>
      <category>web development</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=b1ddd0e7-99be-4d5a-8df1-70b43afe3e9b</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=b1ddd0e7-99be-4d5a-8df1-70b43afe3e9b</trackback:ping>
      <slash:comments>3</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/You-are-Beginner-Learn-XHTML-ASPNET-and-Database.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=b1ddd0e7-99be-4d5a-8df1-70b43afe3e9b</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=b1ddd0e7-99be-4d5a-8df1-70b43afe3e9b</feedburner:origLink></item>
    <item>
      <title>How Can I Improve performance of ASP.NET Application</title>
      <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-weight: 700"&gt;Step1: Learn &amp;quot;Hot to work with strings?&amp;quot;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
If you are c++ programmer and start with modern languages while Delphi, c# or Java, there have thausands of lines writen for working with strings.
&lt;/p&gt;
&lt;p&gt;
Never not use:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; string result = &amp;quot;&amp;quot;; //instead result = string.Empty.
&lt;/p&gt;
&lt;p&gt;
For this method of initialization of string variable Microsoft are make couple of optimization.
&lt;/p&gt;
&lt;p&gt;
If you want to format same string, don&amp;#39;t write:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; result = var1 + &amp;quot; this is &amp;quot; + var2 + &amp;quot; the best &amp;quot; var3 + &amp;quot; .&amp;quot;; //where var 1-3 are string variable
&lt;/p&gt;
&lt;p&gt;
Just use:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; result = String.Format(&amp;quot;{0} this is {1} the best {2} .&amp;quot;
&lt;/p&gt;
&lt;p&gt;
If you must concatenated&amp;nbsp; more that four string, in language exist StringBuilder. I&amp;#39;m make test with 1000 concatanations of strin. For &amp;quot;result += result&amp;quot; this take about twenty&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
seconds, instead for StringBuilder is three seconds.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
If you campare strings, don&amp;#39;t use equals operator (this is stupid&amp;nbsp; least). Use String.Compar() or string result = &amp;quot;test&amp;quot;, result.Equals(&amp;quot;tests&amp;quot;)&lt;br /&gt;
&lt;/p&gt;
&lt;h4&gt;&lt;span style="font-weight: 700"&gt;Step2: Use &amp;quot;Using&amp;quot; block for working with database and file system. &lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;
if you open file or database connection just write:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; using(SqlConnection connection = new SqlConnection(connectionString))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  connection.Open()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } //after programs pass this line, connection is closed
&lt;/p&gt;
&lt;p&gt;
What deliver this functionallity for you?
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;if you forgot to close connection, it&amp;#39;s closed.&lt;/li&gt;
	&lt;li&gt;couple of lines code, that you have to write.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;Step4: Use generics&amp;nbsp; List instead ArrayList.&lt;/strong&gt;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
ArrayList object make boxing and unboxing in every operation with it, for this reason Microsoft&amp;nbsp;&amp;reg; release List&amp;lt;T&amp;gt; (generic lists) with .net 2.0. When they are make optimization , we just have to use it. 
&lt;/p&gt;
&lt;p&gt;
Never don&amp;#39;t write: 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayList customers = new ArrayList();&amp;nbsp;
// List&amp;lt;Customer&amp;gt; customer = new List&amp;lt;Customer&amp;gt;(); 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; customers.add(new Customer());&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // it&amp;#39;s same 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer temp = customers[i] as Customer; //&amp;nbsp;
Customer temp = customers[i];//without unboxing; 
&lt;/p&gt;
&lt;p style="margin-bottom: 0cm"&gt;
&lt;strong&gt;Step5: Don&amp;#39;t &lt;font size="2"&gt;use ssl on every pages&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0cm"&gt;
I&amp;#39;m look person that write e-commerce application and they put ssl on every web pages. This isn&amp;#39;t right decision, you must implement you chec-out process with ASP.NET wizard
&lt;/p&gt;
&lt;p style="margin-bottom: 0cm"&gt;
and put user iteration only on couple of pages. When user browse web site , there no reason to have SSL on every page. If you open sites while amazon i yahoo shopping you will 
&lt;/p&gt;
&lt;p style="margin-bottom: 0cm"&gt;
see,&amp;nbsp; that use ssl when you buy product and must enter same sensitive information.
&lt;/p&gt;
&lt;p style="margin-bottom: 0cm"&gt;
For you stay problem to define which pages exatly have need to be put on SSL line, this one will be perfect fix the problem with your ASP.NET perfomance.
&lt;/p&gt;
&lt;p style="margin-bottom: 0cm"&gt;
&lt;strong&gt;Conclusion:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	Working with string is imporatnt for web development.
	&lt;/li&gt;
	&lt;li&gt;
	Minimazing using of ArrayList, instead use Custom Obgects with Generic List.
	&lt;/li&gt;
	&lt;li&gt;
	Minimazing using of SSL, this will put down your web server.&amp;nbsp;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin-bottom: 0cm"&gt;
&amp;nbsp;
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/zNksluj5hjI/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/How-Can-I-Improve-performance-of-ASPNET-Application.aspx#comments</comments>
      <pubDate>Sun, 29 Jul 2007 06:44:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=08f9f075-5342-4bcb-85d0-6406c3e4e266</guid>
      <category>asp.net 2.0</category>
      <category>web development</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=08f9f075-5342-4bcb-85d0-6406c3e4e266</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=08f9f075-5342-4bcb-85d0-6406c3e4e266</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/How-Can-I-Improve-performance-of-ASPNET-Application.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=08f9f075-5342-4bcb-85d0-6406c3e4e266</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=08f9f075-5342-4bcb-85d0-6406c3e4e266</feedburner:origLink></item>
    <item>
      <title>A five-step for writing better project plans</title>
      <description>&lt;p&gt;
A long time ago, in a lifetime far far away, a client asked me to
help their PMO produce useful project plans. Never one to turn away a
job, I agreed to speak with him and review the documents his team
produced. Leafing though the packet, I found the same things I always
find in project plans - lack of coherent planning, no focus on document
purpose, and a very limited control of how tasks interact to create
workable processes.
&lt;/p&gt;
&lt;p&gt;
The good news, I assured my client, was that he had a lot of company
in his situation. The better news was that it&amp;rsquo;s not that difficult to
get out of the psychological rut which leads project managers to create
useless project plans, post them, then ignore the hoary artifact in
favor of more mutable spreedsheets or calendars.
&lt;/p&gt;
&lt;p&gt;
I prescribed him a simple remedy - four questions I always ask
myself before I sit down to wok on a project plan. These questions are
as follows.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;
1) What do you want this project plan to do?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;
My client&amp;rsquo;s eye&amp;rsquo;s crossed when I gave him the first question. &amp;ldquo;A
project plan organizes project work in a reportable fashion&amp;rdquo; he
mumbled, trying to understand what the frak I was saying.
&lt;/p&gt;
&lt;p&gt;
A project plan is, when we get right down to it, a document.
Documents exist for a variety of reasons. We use them to record
information, to communicate information to one or more audiences, to
brainstorm possibilities, or as records of exercises undertaken to
understand a problem to name just a few.
&lt;/p&gt;
&lt;p&gt;
The first step to creating a &amp;ldquo;useful&amp;rdquo; project plan is to figure out
what, in a given context, we need the project plan to convey in order
for it to be useful. A project plan written to satisfy auditors must
meet very specific criteria which might not have anything to do with
actually running a project. A project plan written to aid executive
reporting might not contain the information an auditor wants, just as
one written to help the project manager actually track multiple
interwoven sites will read differently than any of the above.
&lt;/p&gt;
&lt;p&gt;
Trying to write a project plan to cover all &amp;ldquo;whats&amp;rdquo; generally leaves
the author with a confused, useless mess. Not unlike what I find in
organizations all over the country.
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;2) Who will use this project plan?&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;
My client&amp;rsquo;s suspicions raised even further when I showed him this one. &amp;ldquo;Didn&amp;rsquo;t we answer that in the first question?&amp;rdquo;
&lt;/p&gt;
&lt;p&gt;
Well, yes and no. When we asked the first question we defined a use
and an audience. In this question, we try to dig down and figure out
who will interact with the project plan and in what ways. Some of this
is contextual. In one organization the PMO may dictate that developers
always create and update their own tasks, while another may put all the
weight onto the project manager&amp;rsquo;s shoulders.
&lt;/p&gt;
&lt;p&gt;
I generally create a chart when I try to answer this question. In
the first column I put roles and/or names if I know them. In the second
column I put in how I expect them to interact with the project plan. In
the third I put in how frequently they will interact with it.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;3) What will the project plan contain?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;ldquo;Ummm&amp;hellip;&amp;rdquo; my client said. &amp;ldquo;Don&amp;rsquo;t project plans contain tasks, dates, and precursor information?&amp;rdquo;
&lt;/p&gt;
&lt;p&gt;
By this time, he had pretty much figured out my standard &amp;ldquo;yes but&amp;rdquo;
answer. Yes, a project plan by convention contains all those things.
&lt;/p&gt;
&lt;p&gt;
However, the real question is what tasks? How do we filter and vet
the vast amounts of process information required to run a project into
a useful document based on what we need it for and who will interact
with it? Do we just drop everything into the project plan and hope
someone will get around to updating it? Do we use a very minimalistic,
critical path kind of approach. If we do the later, how do we determine
what needs to be in the project plan and what doesn&amp;rsquo;t?
&lt;/p&gt;
&lt;p&gt;
I wish I had a handy trick for making this filter. Unfortunately,
this is one of those &amp;ldquo;technique=time+context+person&amp;rdquo; things. How we
build the filter depends entirely on the answers to the previous two
questions along with a host of other process related variables. This is
why, I suppose, we have consultants.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;4) Why is the project plan important?&lt;/strong&gt;&lt;br /&gt;
&amp;ldquo;Okay. I get the first three. But this is&amp;hellip;&amp;rdquo; I thought I would cut to
the chase, because it looked like my client was about to get a headache.
&lt;/p&gt;
&lt;p&gt;
Every document can be important in at least two contexts - the
author&amp;rsquo;s and the reader&amp;rsquo;s. It&amp;rsquo;s vitally important to differentiate
between the two, otherwise we end up with yet another confused mess
involving poor communication and broken expectations.
&lt;/p&gt;
&lt;p&gt;
For an author, the act of writing the document is often sufficient
to organize his thoughts and allow him to move forward. He may never
have to revisit the document again to gain benefits from it. We
generally call this a success, especially if we see a positive
improvement in the author&amp;rsquo;s productivity or development.
&lt;/p&gt;
&lt;p&gt;
For a given reader, the document is only successful if it meets his
expectations about what information he will find. To use this blog as
an example, if I titled this article &amp;ldquo;How to make a great cake&amp;rdquo;, my
gentle readers would justifiably want to flog me. For a project plan,
we have to know why a reader feels the document might be important to
him. Then, and only then, can we hope to meet his expectations.
&lt;/p&gt;
&lt;p&gt;
Each author can with a little bit of work uncover his own
motivations. Uncovering the why of a document in a corporate setting
can become unwarrentedly challenging due to politics, lack of focus,
and compromises which the author might know nothing about. This
situation unfortunately dooms the fledgling project manager, but that&amp;rsquo;s
just the way the world works sometimes.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;5) What is deadline of project plan?&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
if project plan does&amp;#39;t contains exactly defined deadline date, how project manager can maintain the project. Typacaly project plan are writen without final date. Then developer said when i hasn&amp;#39;t deadline I will make&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
this future tomorrow, why now. In the last week everyone in company fast to complete his tasks, because they all are for last time. If exist project plan with strong defined dates, this problem don&amp;#39;t appearance.
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/3nBnvyTVvN8/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/A-five-step-for-writing-better-project-plans.aspx#comments</comments>
      <pubDate>Wed, 25 Jul 2007 01:35:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=41c23f42-3d6f-4082-bc09-e9cf9353a372</guid>
      <category>business</category>
      <category>architecture</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=41c23f42-3d6f-4082-bc09-e9cf9353a372</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=41c23f42-3d6f-4082-bc09-e9cf9353a372</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/A-five-step-for-writing-better-project-plans.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=41c23f42-3d6f-4082-bc09-e9cf9353a372</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=41c23f42-3d6f-4082-bc09-e9cf9353a372</feedburner:origLink></item>
    <item>
      <title>Object-Relational Mapping</title>
      <description>&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: Verdana"&gt;Introduction&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt; text-align: justify" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Currently,
Object-Relational mapping is probably the hottest topic of discussion
on the internet in terms of the various software development circles.
With all the hype surrounding ORM, it is easy to forget the why?. Why
does ORM exist? It would seem that ORM has become somewhat of a
religious war. One can only wonder if the ORM war will have people in
the future asking a why? The focus of Object-Relational mapping is to
solve the object-relational impedance mismatch. I.e. the object model
does not equal the relational model and this is considered by many to
be a problem. There are those that have subscribed to the viability of
ORM as a persistence strategy, and there are those that have not. Some
have questioned whether the object-relational impedance mismatch is a
problem at all. Others argue that the object-relational impedance
mismatch issue is being solved on the wrong side of the equation. I.e.
there are those that advocate the use of Object-Oriented databases as a
solution and not ORM. The fact that ORM has created so much attention
and heated debate implies that there is something of importance or at
least perceived importance. I leave it up to you to decide. That
something deserves a closer inspection to separate the hype from the
fact. The aim of this article is to encompass important a view for and
against ORM. By so doing, it is intended to establish a different, or
at least more informed, perception of ORM regardless of what the
current perception may be.&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: Verdana"&gt;Intent&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt; text-align: justify" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;To
be fair, the topic of Object-Relational Mapping requires a book to
address all the matters relating to it in its entirety. I provide just
enough information in this article to allow one to consider ORM from a
pragmatic perspective. &lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt; text-align: justify" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt; text-align: justify" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Object-Relational
Mapping as a persistence strategy is both a statement and a question.
In the first instance, I am implying that ORM is a persistence
strategy. In other words, ORM is a viable technology in terms of
satisfying ones persistence requirements. In the second instance, I am
questioning ORM as a persistence strategy. I.e. Is ORM a viable
solution in terms of satisfying ones persistence requirements. The
focus of this article is not on the best ORM tools that are available. Best is at best transient and what is best today may not be whats
best tomorrow. Instead, the focus is on ORM at a conceptual level. The
reason that I have chosen to focus my attention at a conceptual level
is due to the nature of change. ORM tools will appear, change,
disappear and reappear. Technology will evolve and so will ORM tools. I
consider the concepts behind ORM to be of far more significance and
value. This allows one to view ORM in a pragmatic and hopefully
unbiased view. Therefore, the intent of this article is to view ORM at
a conceptual level, in an unbiased manner, and assume a technology
agnostic approach.&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;For the purpose of clarity, the intent of this article is further summarized to be as follows:&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="margin-top: 0cm"&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Description of ORM&lt;/span&gt; 
	&lt;ul style="margin-top: 0cm"&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;What is ORM?&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Why does it exist?&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;In what form does it exist?&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;What are the problems associated with ORM?&lt;/span&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="margin-top: 0cm"&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Viability of ORM as a persistence strategy&lt;/span&gt; 
	&lt;ul style="margin-top: 0cm"&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Discussion on the requirements of a persistence strategy. Determining how well if at all ORM satisfies persistence requirements.&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Reusability&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Maturity&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Time and Cost&lt;/span&gt; 
		&lt;/li&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Architecture&lt;/span&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="margin-top: 0cm"&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Choosing an ORM&lt;/span&gt; 
	&lt;ul style="margin-top: 0cm"&gt;
		&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Commercial vs. Open Source vs. In-house&lt;/span&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="margin-top: 0cm"&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Succeeding with ORM&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Failing with ORM&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: Verdana"&gt;Object-Relational Mapping&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt; text-align: justify" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Often,
a good way of understanding what something does, is to understand the
reason for its existence. I.e. why does it exist? In terms of
enterprise software development, most if not all software systems deal
with getting data in and out of a data store. In this context the form
of data store is unimportant. What is important is how one deals with
the data store persistence. Data persistence implies the concept of
persisting and retrieving data. It is a common and recurring
development challenge. For those that are familiar with design
patterns, the aforementioned statement should sound oddly familiar.
Design patterns, at their simplest definition, are tried and tested
solutions to common and recurring challenges. Therefore, is there or
are there design patterns to deal with data persistence. Yes, there are
many patterns that one might employ to deal with the data persistence
challenge. Is ORM such a design pattern? ORM may use many design
patterns to achieve its end. Whether it in and of itself is a pattern
is probably a discussion best left to another article or forum. ORM is
a technique that one might choose as a data persistence strategy. ORM
is a solution, not the solution. It does help address a common
development challenge, that being of data persistence. The popular term
to describe the data persistence issue is that of the object-relational
impedance mismatch. The question that arises is whether the impedance
mismatch is really an issue. The Java development community seems to
have adopted ORM well before any of the other development communities.
I used the word seem as I have not encountered all development
communities and therefore cannot say with certainty that this is the
case. The Microsoft development community has chosen to ignore the
object-relational mismatch until recently. I say recently because there
only seems to be a boom in terms of the availability of ORM tools in
recent times. I am not, however, implying that Microsoft has chosen to
ignore the mismatch issue. Before continuing the discussion of ORM, the
following points are highlighted in terms of understanding the
definition of ORM.&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="margin-top: 0cm"&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;It
	provides a way to resolve the object-relational impedance mismatch.
	This object-relational impedance mismatch is considered to be the core
	problem.&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;It is a technique for converting data between a relational database and an object-oriented programming language&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;It is an abstraction of data persistence code&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;The result of an ORM implementation is often likened to that of a virtual object database.&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;ORM provides us with database independence&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;To further elaborate on what ORM is, I discuss ORM in terms of the following challenges:&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: Verdana"&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="margin-top: 0cm"&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Core Challenge&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Conceptual Challenge&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Legacy Challenge&lt;/span&gt; 
	&lt;/li&gt;
	&lt;li class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt; font-family: Verdana"&gt;Usability Challenge&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/VVglAOKOJ3M/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Object-Relational-Mapping.aspx#comments</comments>
      <pubDate>Fri, 20 Jul 2007 05:54:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=00e5b382-49f8-4337-91a5-02f6a4124345</guid>
      <category>object-oriented programming</category>
      <category>architecture</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=00e5b382-49f8-4337-91a5-02f6a4124345</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=00e5b382-49f8-4337-91a5-02f6a4124345</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Object-Relational-Mapping.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=00e5b382-49f8-4337-91a5-02f6a4124345</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=00e5b382-49f8-4337-91a5-02f6a4124345</feedburner:origLink></item>
    <item>
      <title>Using Web 2.0 for Career Development</title>
      <description>&lt;h3&gt;Web 2.0 &lt;/h3&gt;
&lt;p&gt;
refers to the usage of the World Wide Web as an interactive
medium, inviting users to take part in shaping the content of their
favorite websites. A few examples include Wikipedia, Myspace, and
Del.icio.us. All these sites allow users to create their own content,
which then becomes available for everyone to read. Many magazines and
newspapers have done articles stating that &lt;a href="http://www.amazon.com/b?%5Fencoding=UTF8&amp;amp;node=3&amp;amp;tag=itco-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;web 2.0&lt;/a&gt;&lt;img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.com/e/ir?t=itco-20&amp;amp;l=ur2&amp;amp;o=1" border="0" alt="" width="1" height="1" /&gt; is the next
evolution of the Internet and the Web, and a conscious person will want
to take advantage of Web 2.0 for career development and advancement. So
what can you do with Web 2.0 to further your career?
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
&lt;img src="http://www.thethinkingmen.com/images/linkedin.jpg" alt="" /&gt;&lt;br /&gt;
One easy way is to use LinkedIn.com&amp;rsquo;s networking feature. &lt;a href="http://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt;
is similar to Myspace and other social networking sites, which allow
the user to create a specialized profile detailing their personality.
However, LinkedIn is especially focused towards business use, and being
&amp;ldquo;Linked In&amp;rdquo; could help enormously when you meet and network with other
professionals in your field. It also can help when potential employers
use the site to search for relevant candidates for a job search they&amp;rsquo;re
performing.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://www.thethinkingmen.com/images/digg.jpg" alt="" /&gt;&lt;br /&gt;
Another possible way is to self-promote by submitting relevant websites
to the various Web 2.0 sites that promote sharing of bookmarks and
interesting sites, such as del.icio.us and &lt;a href="http://www.digg.com/"&gt;Digg&lt;/a&gt;.
These sites allow anyone to post a website, which then becomes publicly
viewable by all site viewers. As more and more people submit a link to
the same post, it becomes more highly rated and easily viewed by people
coming to the site. If you are a photographer, for instance, you could
submit a link to an amazing photo you took to all the different
bookmarking sites, which would broaden exposure to your photography by
putting the image in front of a large set of eyes.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://www.thethinkingmen.com/images/myspace.jpg" alt="" /&gt;&lt;br /&gt;
A third popular way is to use Myspace&amp;rsquo;s networking feature. &lt;a href="http://www.myspace.com/"&gt;Myspace &lt;/a&gt;is
a website which allows people to create profiles unique to themselves
or their band. Within a Myspace profile, you can select several
different job titles as ones you would like to inform people that you
are interested in. In this manner, you can start to network with other
people who have profiles on Myspace and are also interested in
networking about the same job. Myspace is especially valuable simply
because so many millions of people use it everyday.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
A commonality between Web 2.0 sites is that the ability to post
content is free, and thus is a great place to market yourself and your
skill set while still remaining within a specific budget to handle your
personal advertising. This is in contrast to traditional methods of
promotion, such as direct mail, that have high costs. Therefore if you
run your own business, or feel that your name recognition is important,
Web 2.0 sites can be invaluable self-promoting mechanisms, both within
your industry and across the web.
&lt;/p&gt;
&lt;p&gt;
In summation, Web 2.0 offers someone looking to further their career
many different options for enhancing their visibility within a
particular industry. Try and submit great content, across a broad range
of Web 2.0 sites, and see where the technology revolution takes you!
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/bOpZpGWLNcs/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Using-Web-20-for-Career-Development.aspx#comments</comments>
      <pubDate>Thu, 19 Jul 2007 05:16:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=d8aca878-d7dc-4ef4-badf-501cc3b46c7a</guid>
      <category>web design</category>
      <category>web development</category>
      <category>business</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=d8aca878-d7dc-4ef4-badf-501cc3b46c7a</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=d8aca878-d7dc-4ef4-badf-501cc3b46c7a</trackback:ping>
      <slash:comments>3</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Using-Web-20-for-Career-Development.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=d8aca878-d7dc-4ef4-badf-501cc3b46c7a</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=d8aca878-d7dc-4ef4-badf-501cc3b46c7a</feedburner:origLink></item>
    <item>
      <title>Web Site Design</title>
      <description>&lt;h3&gt;Websites should have a clear, clean design with the focus&lt;/h3&gt;
&lt;p align="justify"&gt;
being on the information, product, or service you offer. Put away those fancy backgrounds because they just distract from the text.&lt;br /&gt;
&lt;br /&gt;
The content on your site should stand out, not the background. Any colors you use should be pleasing to the eye and not clash. Take the time to visit some larger sites on the Internet for different companies and corporations. While you may be just one person or a small company, you should display the same level of professionalism in your&lt;br /&gt;
design.
&lt;/p&gt;
&lt;div align="justify"&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;
Stick with the traditional light or white background for text. Other darker colors should be used for side columns and to dress up the white, not to take over and distract the reader from what you really want them to notice.It&amp;rsquo;s important to remember that you&amp;rsquo;re bringing the visitor to your site to read the content, not to be blinded by your incredible use of color or the beautiful background. So, focus on the content. Make it visible and make it the focus. 
&lt;/p&gt;
&lt;div align="justify"&gt;
&lt;/div&gt;
&lt;h4 align="justify"&gt;Site Content&amp;nbsp;&lt;/h4&gt;
&lt;div align="justify"&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;
Your site&amp;rsquo;s content is very important to your search engine ranking. If you&amp;rsquo;re an online florist, do not type online floristrepeatedly on your first page with the hopes of tricking the&lt;br /&gt;
search engines into giving your site a higher ranking. You&amp;rsquo;lljust be banned. However, it&amp;rsquo;s very important to have keywords placed in your legitimate text because spiders and&lt;br /&gt;
crawlers will pick those up. Quality content can help you rank higher in the search engines, but it also keeps visitors coming back. Site traffic&lt;br /&gt;
is not only essential to the site itself and the business it represents, but also to your AdSense CTR. A certain&lt;br /&gt;
percentage of your traffic will ultimately click through yourads. 
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/l6vDc14aUrc/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Web-Site-Design.aspx#comments</comments>
      <pubDate>Tue, 17 Jul 2007 06:09:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=c6260a37-f969-46e7-9a92-30e7d21283fb</guid>
      <category>web design</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=c6260a37-f969-46e7-9a92-30e7d21283fb</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=c6260a37-f969-46e7-9a92-30e7d21283fb</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Web-Site-Design.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=c6260a37-f969-46e7-9a92-30e7d21283fb</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=c6260a37-f969-46e7-9a92-30e7d21283fb</feedburner:origLink></item>
    <item>
      <title>Which is best suitable for SOA: .NET or J2EE?</title>
      <description>&lt;span class="txt"&gt; 
&lt;div id="intelliTxt"&gt;
&lt;h3&gt;&lt;span class="contentpagetitle"&gt;&lt;strong&gt; Service Oriented Architecture (SOA) - Which is best suitable for SOA: .NET or J2EE?&lt;/strong&gt;&lt;/span&gt; &lt;/h3&gt;
&lt;p&gt;
This
is the most complicated question among many people.&amp;nbsp;Microsoft claims
that its architecture is great; similar claims come from Sun also.&amp;nbsp;
None of them could beat each other in any of its technologies.&amp;nbsp;No one
can give an immediate decision or solution to any of such questions.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Although
the rivalry between .NET and J2EE continues, neither platform is
expected to dominate business-application development in the near term.
Instead, their roughly equal capabilities will win roughly equal market
share for .NET and J2EE. That means the two technologies will be used
in 80 to 90 percent of business-application development over the next
five years.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Both .NET and J2EE are good platforms for developing and&amp;nbsp;&lt;span class="iAs" style="border-bottom: 0.075em solid blue; font-weight: normal; font-size: 100%; text-decoration: underline; color: blue; background-color: transparent; padding-bottom: 1px"&gt;&lt;/span&gt;hosting
business applications. Both support n-tier architectures via client-
and server-side component models for assembling enterprise
applications. This allows for use of either fat or thin user interfaces
with both platforms. 
&lt;/p&gt;
&lt;p&gt;
However, .NET and J2EE are far from
identical, and each platform has distinct strengths. The primary
strength of .NET is its use of multiple programming languages running
on a single platform to finish of 2007 eyar , because &lt;a href="http://mono-project.com" title="mono-project"&gt;mono-project&lt;/a&gt; goes on scene. This eliminates the programming language as a
barrier for adoption. Further .NET strengths include ease of use and
speed of development as programmers might be transitioning from COBOL
or C. (In contrast, transitioning to Java usually takes greater skill
in object orientation.) 
&lt;/p&gt;
&lt;p&gt;
J2EE takes .NET&amp;#39;s multiple
programming-language/single-platform paradigm and turns it around: The
primary strength of J2EE is its use of a single programming language
capable of running on multiple platforms. This eliminates the platform
as a barrier for adoption. Further J2EE strengths include vendor
neutrality and the active involvement of a large, open-source community.
&lt;/p&gt;
&lt;p&gt;
From
an integration standpoint, JDBC is actually more promising than J2CA.
This API provides access to virtually any data source, from relational
databases to spreadsheets and flat files. With a JDBC driver, all
corporate data can be connected, even in a heterogeneous environment.
In addition to its support for actual relational databases, JDBC can
also support emulated relational models based on legacy information
sources. But to do this, JDBC requires an integration product that can
map the legacy-application functions to emulate a relational database
model. The .NET platform, with its dependence on Microsoft BizTalk
Server, has the same drawbacks for legacy-application integration as it
does for packaged-application integration. So, despite the very real
integration potential of .NET and J2EE, both platforms have their
associated limitations. And when it comes to legacy-application
integration, neither platform can complete the job on its own.
&lt;/p&gt;
&lt;p&gt;
Although
Web services were not conceived as an integration technology, they can
be effective in the application-integration process. Web services
provide a standard way to expose application interfaces through XML
(Extensible Markup Language) and WSDL (Web Services Description
Language). They also use a standard way to communicate, via SOAP
(Simple Object Access Protocol). These features help reduce the cost
and complexity of integration, as well as the cost and complexity of
building new applications. Web services are made even more interesting
by the fact that they are supported by both .NET and J2EE, and run
equally well on both platforms. Therefore, Web services are ideal for
bridging the two platforms.
&lt;/p&gt;
&lt;p&gt;
Only large businesses are in a
position to adopt both .NET and J2EE, due to two circumstances: 1) they
have sufficient resources to train their development staff on both
platforms, and 2) they have the capacity to develop best practices for
managing environments that include elements from both platforms. Unlike
very larger counterparts, small and midsize organizations won&amp;#39;t have
the luxury of supporting both platforms simultaneously. Due to limited
resources, they will probably be forced to choose between .NET and
J2EE. And because Microsoft has established a strong presence in small
and midsize businesses, .NET can reasonably be expected to prevail in
this market.
&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/rMzxF4ZcGSI/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Which-is-best-suitable-for-SOA-NET-or-J2EE-.aspx#comments</comments>
      <pubDate>Wed, 04 Jul 2007 02:58:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=0339f213-b2bc-4966-a296-8a939e272477</guid>
      <category>web service</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=0339f213-b2bc-4966-a296-8a939e272477</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=0339f213-b2bc-4966-a296-8a939e272477</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Which-is-best-suitable-for-SOA-NET-or-J2EE-.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=0339f213-b2bc-4966-a296-8a939e272477</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=0339f213-b2bc-4966-a296-8a939e272477</feedburner:origLink></item>
    <item>
      <title>Web development as a career</title>
      <description>&lt;div class="entry"&gt;
&lt;p&gt;
There was a time when Web development was
about CGI scripting, JavaScript, and Java. Not any more. A series of
articles from various sources suggest that a career path focused on
honing skills for Web-ware (Web + Software) development can pay rich
dividends. Now on scene goes ASP.NET for Windows and Mono for Linux, JAVA and PHP.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;APIs everywhere&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;
Social networking has been booming and so has the avenue to monetize
from the increased user base, so much so that firms have realized that
the best strategy to capture market share is to have a roster of
developer-converts a.k.a the users to chug out applications. It&amp;rsquo;s a
win-win situation. The company gets the benefit of increased adoption
due to increased utility. The developers get a share of revenue their
apps generate. And the recent announcement from &lt;a href="/admin/pages/codeplex.com"&gt;codeplex.com&lt;/a&gt; that it will
reward developers creating same apps
is just the beginning. LinkedIN and MySpace, other
popular social networking sites will also be releasing their APIs soon. 
&lt;/p&gt;
&lt;h4&gt;&lt;span class="bodySubtitle"&gt;Online Competitions&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;
Competitions provide an understanding of a person&amp;#39;s capabilities
through a demonstration of skill. What was lacking in the world of
programming competitions was a format that offered immediate and objective scoring. The solution was the creation of a &amp;quot;Single Round Match&amp;quot;, after that development, and then &lt;a href="/admin/pages/topcoder.com"&gt;topcoder.com.&lt;/a&gt; 
&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;Mash-ups &lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;
Also, Google announced a mega mash-up to mash all mash-ups, opening
another opportunity for wannabe Web developers to take the plunge. &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29" target="_blank" title="Wikipdeia - Mash-ups"&gt;Mash-ups&lt;/a&gt;
are a technique to merge various services (such as Google Maps) to
tailor data from various sources to user-specific needs (such as mark
out local grocery stores on a region map). Mash-ups rely heavily on
AJAX technology (it&amp;rsquo;s a debate whether AJAX is a new technology as such
since the features were always there, but let&amp;rsquo;s not get into that).
Here&amp;rsquo;s a blog I scooped from the Net as a starting point for &lt;a href="http://ajaxmashup.googlepages.com/" target="_blank" title="Mash-up development"&gt;mash-ups development&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
And if you are still wondering if it&amp;rsquo;s all worth the effort, apart
from the fact that Web development can be a deeply gratifying
experience, perhaps this &lt;a href="http://networks.silicon.com/webwatch/0,39024667,39167799,00.htm?r=62" target="_blank" title="Web developer Frenzy"&gt;piece from silicon.com&lt;/a&gt; can give more reasons for you to start.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://techrepublic.com.com/5208-6230-0.html?forumID=102&amp;amp;threadID=229621" target="_blank" title="Discuss the utility of the article"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/bowZWqwVERI/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/Web-development-as-a-career.aspx#comments</comments>
      <pubDate>Sat, 30 Jun 2007 07:09:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=b14bac21-d7f5-467c-8590-b3de3bc145ac</guid>
      <category>web development</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=b14bac21-d7f5-467c-8590-b3de3bc145ac</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=b14bac21-d7f5-467c-8590-b3de3bc145ac</trackback:ping>
      <slash:comments>3</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/Web-development-as-a-career.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=b14bac21-d7f5-467c-8590-b3de3bc145ac</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=b14bac21-d7f5-467c-8590-b3de3bc145ac</feedburner:origLink></item>
    <item>
      <title>software as service - fundamental</title>
      <description>&lt;!--BEGIN MAIN CONTENT--&gt;&lt;!-- ****************** --&gt;&lt;!-- BEGIN CONTENT BODY --&gt;&lt;!-- ****************** --&gt;
&lt;!-- /isv/marketing/saas/index.html --&gt;
&lt;h2&gt;&lt;span class="AcmeContentSubTitle"&gt;
&lt;p id="subtitle"&gt;
&amp;nbsp;&lt;em&gt;Software as a Service&lt;/em&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/h2&gt;&lt;span class="AcmeContentSubTitle"&gt;
&lt;/span&gt;
&lt;span class="AcmeContentSubTitle"&gt;
&lt;p&gt;
A profound shift in the development and distribution of software has transformed the industry. The Software as a Service (SaaS) business model is impacting the
software industry and how your customers acquire business functionality
and solutions.
In this model,
&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;
application functionality is delivered through a
subscription model over the Internet.
The customer does not take ownership of the software, but instead rents
a total solution 
&lt;/p&gt;
&lt;p&gt;
that is delivered remotely. With the SaaS model, you can reduce up-front support costs because
you no longer need to support multiple platforms and versions. This
rapidly emerging delivery model can help you, as an ISV, enter new
markets.
&lt;/p&gt;
&lt;h2&gt;In the software as a service model, &lt;/h2&gt;
&lt;p&gt;
the application, or service, is deployed from a centralized data center
&lt;/p&gt;
&lt;p&gt;
across a network - Internet or private network - providing access and use on a recurring fee basis. Users&lt;br /&gt;
&amp;quot;rent,&amp;quot; &amp;quot;subscribe to,&amp;quot; &amp;ldquo;are assigned&amp;rdquo;, or &amp;quot;are granted access to&amp;quot; the application from a central provider.&lt;br /&gt;
Business models vary according to the level to which the software is streamlined, to lower price and&lt;br /&gt;
increase efficiency, or value-added through customization to further improve digitized business processes.&lt;br /&gt;
The potential benefits of the model are significant for both the vendor and the customer.&lt;br /&gt;
In the past few years, many new companies have been established that took this new paradigm into&lt;br /&gt;
consideration from the onset. However, what about the traditional independent software vendor (ISV)&lt;br /&gt;
whose products were not designed or optimized to be utilized in a service model? Should they be worried&lt;br /&gt;
that their products will become relics in today&amp;#39;s distributed computing environment? Or is a service model&lt;br /&gt;
even appropriate for these products? Many ISVs are therefore asking themselves whether to&lt;br /&gt;
service or not to service?
&lt;/p&gt;
&lt;h3&gt;ISVs contemplating such a move want to consider the following:&lt;/h3&gt;
&lt;p&gt;
&amp;middot;&amp;nbsp; What is the strategic motivation for considering offering Software as a Service?&lt;br /&gt;
&amp;middot;&amp;nbsp; Has a competitor created one yet?&lt;br /&gt;
&amp;middot;&amp;nbsp; Is there pressure from the customer community to offer one?&lt;br /&gt;
&amp;middot;&amp;nbsp; Is the company highly profitable and in no hurry to threaten the current business model?&lt;br /&gt;
&amp;middot;&amp;nbsp; Is the company losing money and feels a need to offer a new product?&lt;br /&gt;
&amp;middot;&amp;nbsp; Does the application lend itself EASILY to an application-hosted product or is there a significant&lt;br /&gt;
development investment needed to get it ready?&lt;br /&gt;
&amp;middot;&amp;nbsp; Is the service offering targeted at existing prospects (and can therefore threaten current revenue&lt;br /&gt;
from license sales) or is targeted at new markets?&lt;br /&gt;
The decision to develop a service offering necessitates significant changes in the software development&lt;br /&gt;
cycle and can have a profound effect on the operations and bottom line of a company. It requires a new&lt;br /&gt;
skill set that many traditional ISVs may not currently possess. Once this strategic decision to proceed has&lt;br /&gt;
been made, a whole new set of questions comes to the fore.&lt;br /&gt;
&amp;middot;&amp;nbsp; Does the ISV host and manage its own service? Do they go with a third-party xSP to manage it for&lt;br /&gt;
them? How do they get to either?&lt;br /&gt;
&amp;middot;&amp;nbsp; Does the ISV hire an application infrastructure provider to provide the technology for the service and&lt;br /&gt;
the integration with legacy systems?&lt;br /&gt;
&amp;middot;&amp;nbsp; And what about the changes in the ISV business model. How does it impact internal operations? How&lt;br /&gt;
does it impact revenue streams?&lt;br /&gt;
&amp;middot;&amp;nbsp; What about the channel?&lt;br /&gt;
&amp;middot;&amp;nbsp; Where to begin?
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
The answers to these and other questions lie in this white paper. Through real world explanations and&lt;br /&gt;
examples, it outlines such topics as the technical considerations of selecting a SaaS partner, how&lt;br /&gt;
applications will integrate into your current business model, the long-range impact on revenue, and how&lt;br /&gt;
to manage this new channel. It&amp;#39;s a tool to assist the ISV as they begin to address this burgeoning model&lt;br /&gt;
of software as a service. 
&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/netFire/~3/WKZQu9eKt80/post.aspx</link>
      <comments>http://blogs.it-coder.com/post/software-as-service---fundamental.aspx#comments</comments>
      <pubDate>Wed, 20 Jun 2007 09:28:00 +0300</pubDate>
      <guid isPermaLink="false">http://blogs.it-coder.com/post.aspx?id=b1ac376e-2220-493a-bf42-6f1f0ca15b7c</guid>
      <category>web service</category>
      <pingback:server>http://blogs.it-coder.com/pingback.axd</pingback:server>
      <pingback:target>http://blogs.it-coder.com/post.aspx?id=b1ac376e-2220-493a-bf42-6f1f0ca15b7c</pingback:target>
      <trackback:ping>http://blogs.it-coder.com/trackback.axd?id=b1ac376e-2220-493a-bf42-6f1f0ca15b7c</trackback:ping>
      <slash:comments>0</slash:comments>
      <wfw:comment>http://blogs.it-coder.com/post/software-as-service---fundamental.aspx#comments</wfw:comment>
      <wfw:commentRss>http://blogs.it-coder.com/commentfeed.axd?id=b1ac376e-2220-493a-bf42-6f1f0ca15b7c</wfw:commentRss>
    <feedburner:origLink>http://blogs.it-coder.com/post.aspx?id=b1ac376e-2220-493a-bf42-6f1f0ca15b7c</feedburner:origLink></item>
    <blogChannel:blink>http://feeds.feedburner.com/netFire</blogChannel:blink>
    <dc:creator>Ivan Atanasov</dc:creator>
    <dc:language>en-GB</dc:language>
    <geo:lat>50</geo:lat>
    <geo:long>40</geo:long>
  </channel>
</rss>
