| Subscribe | Sign In
 

Comments [0] | Posted on Friday, April 28, 2006

I found this real cool App Security eBook from Microsoft..

To build software that meets your security objectives, you must integrate security activities into your software development lifecycle. This handbook captures and summarises the key security engineering activities that should be an integral part of your software development processes.

These security engineering activities have been developed by Microsoft patterns & practices to build on, refine and extend core lifecycle activities with a set of security-specific activities. These include identifying security objectives, applying design guidelines for security, threat modelling, security architecture and design reviews, security code reviews and security deployment reviews.

Download

hwy_lg.jpg

#    Trackback
Comments [0] | Posted on Wednesday, April 26, 2006

I have been using Box.net an online storage service for quite sometime and I think they are doing a real great job with what they are offering 1Gig Free storage and other storage plans starting from $4.99/mo for 5Gigs but its bit expensive at least in India and recently from an article about Live Drive it appears even Microsoft (Live Drive) & Google (GDrive) are also coming up with their own virtual online storage services so I think its going to be a bit of a competition for Box.net.

http://www.microsoft-watch.com/article2/0,2180,1951172,00.asp

#    Trackback
Comments [0] | Posted on Thursday, April 20, 2006

I'm just thrilled to hear this announcement that from April 19th, 2006, all Visual Studio 2005 Express Editions including Visual Basic, Visual C#, Visual J#, Visual C++, and Visual Web Developer Express will be free permanently!

 

Prior to this pricing announcement, Visual Studio Express Editions were promotionally discounted to be free for one year, starting on November 7th, 2005. With this announcement, the promotional discount for Visual Studio Express is now permanent and Express will continue to be free.

 

http://msdn.microsoft.com/vstudio/express/default.aspx

#    Trackback
Comments [0] | Posted on Monday, April 17, 2006
I found a real cool thing that lets you send any Web pages to your mailbox.

Check out Toread.cc
#    Trackback
Comments [0] | Posted on Thursday, April 13, 2006

I came across an awesome XHTML validation module for ASP.NET 2.0. It will basically check all page output for XHTML compliance. You can try the live demo here.

#    Trackback
Comments [0] | Posted on Monday, April 03, 2006

IIS 7.0 will offer many very cool new features and a much cleaner architecture that is more extensible and accessible to developers. If you are a managed code developer, some of the integration features are going to make you drool at the possibilities that are opening up by way of this new architecture.

Modular Architecture

At it’s core level, IIS 7.0 will change drastically by providing a modular core engine. The core engine is light-weight and based on a plug-in architecture. Almost all of the behavior of the Web server will be provided through plug-ins (that is, modules, which is the official name). The name Microsoft chooses here is no accident-modules are similar to ASP.NET HttpModules and you can, in fact, build your modules using the familiar ASP.NET HttpModule architecture (as well as using a new C++-based API).

You can enable and disable modules in an XML configuration file. You can, in effect, create a Web server that does absolutely nothing by removing all modules. Not terribly useful, but hey, it’s very secure! <g> The idea is that you can create a Web server with only those exact modules that you need for the purpose you’re using it for. If your application serves only static pages, you only need to enable the StaticFile module and the Anonymous Authentication module and nothing else. If you need Windows Authentication, you can enable that. If that’s all you need, you’re done. Of course, it’s not quite that simple-there are a few modules like logging and tracing that you probably always want running, but the idea is to allow you to completely customize the Web server down to the lowest level. The real kick is that you can remove default behavior and plug in your own by writing to the new APIs available in IIS 7.0. Think about it-that’s a drastic change and one that can give you incredible power to build a very customized Web server.

The modular architecture uses a hierarchical architecture-Web server, Web site, virtual/application with each of the levels configurable. You can plug these modules and remove them at each level. This way you can exactly customize your Web application down to the virtual directory, reduce the overhead for functionality you don’t need, and minimize your potential security attack surface for modules that you are not using.

Modules are completely pluggable and you can create your own custom modules. Unlike previous versions of IIS, IIS 7.0 introduces a new programming model that is based on a request pipeline that is very similar to ASP.NET’s pipeline. Requests flow through this pipeline and specific hook points are activated by module plug-ins that are configurable via the configuration file. The modules are either system modules that ship with IIS or modules that you can create on your own using C++ or managed APIs.

The new pipeline can run in an Integrated Mode and if managed modules are available, the CLR is automatically loaded into the Application Host process. This means managed code is a first class citizen in IIS 7.0. ASP.NET applications no longer run through an ISAPI extension, but rather are directly hooked into the IIS pipeline which is bound to be much more efficient as ASP.NET can directly access the server components using the standard IIS API components. For the core engine this means there will be a lot less monkeying with ISAPI structures and memory; instead, managed code can use the new optimized Web server APIs that are directly accessible from code. Microsoft is basically opening up the Web server and giving you access to the same tools they use to build these modules, so if you need to build custom Web server extensions, you can now use a much more powerful API compared to an ISAPI extension or filter!

Of course, you can also continue to run apps using the IIS 6 model (called Mixed Mode) and use the same separation of the pipeline as IIS 6 does. ASP.NET still uses ISAPI in this scenario and the ASP.NET pipeline works as part of the HttpApplication object as before.

Programmability

ASP.NET also becomes a first class citizen-in fact, it really becomes part of the Web server. HttpHandlers and HttpModules plug directly into the IIS pipeline rather than the ASP.NET pipeline. But don’t fret-the old way of ASP.NET running through ISAPI is also still supported although these two code paths require application-wide configuration settings switching on Integrated Mode (the new way) vs. Mixed Mode (classic). According to Microsoft, most existing ASP.NET HttpModules and HttpHandlers are expected to run without changes (depending on how low level your handlers are) in Integrated Mode. If you were previously building ISAPI extensions you can now build HttpHandlers and get all the power that entails. You can do this using either managed code or C++ APIs that are modeled after the ASP.NET interfaces.

Modules are really at the core of IIS 7.0. It makes for a truly componentized architecture that is more customizable and in the same breath more secure. But it also makes IIS much more extensible by providing an easier extensibility mechanism that is standardized and based on a familiar and already successful model: ASP.NET. Gone are the days of cryptic ISAPI interfaces that are C API-based, and difficult to code against. Instead you get two roughly equivalent APIs for both managed code and C++ that use the familiar HttpContext-like architecture with high-level objects like Request, Response, Application, Cache, and so on. And yes, you can extend IIS directly with managed code by writing modules and handlers.

What does that mean for you? Think about it-in managed code right now (ASP.NET 1.x and 2.x), your handlers and modules are limited to requests that fire against ASP.NET mapped extensions-anything must be script-mapped to the ASPNET_ISAPI.DLL in order for your code to fire. In this new pipeline, you don’t have an ISAPI intermediary and your managed code can control every request firing on the application that it is mapped to. This is very powerful and was very difficult to do previously and basically required ISAPI filters which are extremely difficult to write and debug.

A great example that a presenter showed during the three-day seminar was using ASP.NET Forms Authentication with a classic ASP page. You simply enable the Forms Authentication module-which is a managed code module-on the site or virtual directory and it is applied against all files on the site/virtual. It works against ASP files, HTM files or images, or even a third-party tool like PHP.

Along the same lines, in one of my apps a client has image directories for a photo album that is available only for paid customers. Non-paying customers can see the images, but they see them with watermark overlays. In ASP.NET currently we handle this by mapping all the image extensions to the ASP.NET ISAPI dll, then run it against an image HttpHandler that creates a ‘Sample’ overlay with GDI+ on the image. There are a fair number of scriptmaps for all the image types and it’s not easy to port this across sites as each has to be configured. In IIS 7.0 you can create the module and simply hook it to appropriate image types right in the web.config file and you’re done! You can hook this module both at the local application level or more importantly have it apply to the entire Web server! Yes, you heard that right-you can now create modules that are Web server-wide, which is functionality that previously required writing nasty ISAPI filters. And you can use managed code to do it if you choose.

If you are an ISAPI developer, the new APIs will make your life a lot easier as well. I have several core ISAPI extensions that are Application Servers that interface with backend applications-these ISAPI extensions are horribly complex code that deal with raw COM code in C++ and is an absolute nightmare to change and debug. It would be a cinch to actually re-write these ISAPI extensions as managed code HttpHandlers or possibly even as C++ handlers. Why C++? Well, performance is going to be better using C++, especially if you keep managed code out of the pipeline altogether. If you’re building low-level application server type interfaces it’s actually quite likely that this is the case and if so you can take advantage of keeping the pipeline completely in unmanaged code.

Managed Code and Performance

A word of warning tough: It’s also important to understand the potential for doing the wrong thing with all of this power. First keep in mind that managed code is slower than native code in the Web server. By introducing managed code into the core server you are slowing down the performance of the Web server. Specifically, the context switches between managed and unmanged code are expensive when running in Integrated Mode and with managed modules present. I’ve talked to some of the Microsoft developers, and they are taking a hard look at optimizing these context switches by trying to batch calls to managed code components as much as possible, staying in managed code as long as possible.

Managed code is optional by default-all the core modules are native code, so adding managed modules is an explicit decision you have to make. If you’re already using ASP.NET then this decision is probably a no-brainer. But if you’re running raw ISAPI extensions or modules today, you’ll probably have to take a long hard look to see whether managed code is going to be a good fit in terms of performance.

For ASP.NET applications, I will guess that you will regain some of the potential overhead because the whole ISAPI layer is bypassed and the ASP.NET engine can directly talk to the IIS APIs for much of this functionality. You’ll have to wait until Microsoft releases IIS 7.0 and run your own performance tests.

Microsoft will optimize the pipeline for the standard modules, but remember that if you write your own modules it’ll be up to you to write modules that have high performance. With the ability to hook every request flowing through an application or the Web server as a whole, there will be an intense responsibility to make sure your module isn’t a bottleneck to the application. If you’re not careful in your design, any of your custom modules can very easily drag your application and the entire Web server to a crawl.

Configurability

Configuration in IIS 6 is better than in previous versions but the process of configuring Web sites and managing and moving site configurations is not intuitive with configuration settings stored all over the place and in formats that are often cryptic and unintuitive.

IIS 7.0 is merging IIS and ASP.NET together in such a way that you can perform your configuration in one place. Specifically, IIS 7 introduces ApplicationHost.config, which acts as a top-level configuration container for the Web server, with satellite web.config files that can provide localized configuration for sites and virtual directories. This means you can configure your Web application, including many of the virtual directory settings for an application, in your local web.config file. This is really useful because you can copy this web.config file with your application and immediately apply these settings against the application directory as well. This combined configurability should really simplify deployment of Web applications. You may still need to create virtual directories at the top level (ApplicationHost.config) but individual settings for the virtual directory can be done right in web.config.

Gone too is the metabase.xml file with its horribly convoluted schema that was barely readable by humans. There’s a new schema that uses ApplicationHost.Config which holds the machine’s application pools, Web sites, and virtual directory configuration information. The new schema is a logical hierarchical layout that’s easy to read. If you’re using a schema-aware editor like Visual Studio, you can see strongly-typed IntelliSense options available. This is great for developers but not so great for admins since they’re not likely to have a copy of Visual Studio handy for editing configuration files. Hopefully Microsoft will provide some sort of editor that can provide schema editing beyond Visual Studio.

You can customize ApplicationHost.config at the site or virtual directory level by using web.config files and syntax that should be immediately familiar to ASP.NET developers. Realistically, a web.config file inherits from ApplicationHost.config and from Machine.config. ApplicationHost.config provides the IIS settings while Machine.config provides the traditional ASP.NET and .NET configuration settings. Web.config can then override both. The IIS settings are stored in a new and separate <system.WebServer> section.

In addition, Microsoft is updating the IIS Management Console and replacing it with a dedicated GUI tool that is much more visual and intuitive. The tool provides easier access to many configuration options and does away with the horrible tabbed interface in use now. The user interface for this tool was still in flux but it provides a lot of flexibility in what information is visible. You can assign administrative roles and views into the data so you can allow access to certain users and allow them access to the site with only those specific settings. This tool will provide optimized remote access to the Web server, so it is effectively the configuration front end for the Web server even for remote administration. There will be no Web configuration front end, due to security concerns, according to Microsoft.

Much, Much More…

here are a few more quick features:

  • There’s improved event tracing that greatly simplifies tracing requests and tracking errors. You can log failures and even hook in custom trace modules that can fire against your custom code. If you ever had to debug an IIS error and had to use the IIS Resource Kit tools you will really appreciate this!
  • There’s the new WMI provider for automating Web server tasks, and even hooking into the tracing mechanisms, using a much more logical schema than the previous version’s WMI provider.
  • You can now use Forms Authentication for IIS in general.
  • There’s support for Authorization providers beyond Windows ACLs, including using the ASP.NET Membership Provider, or a custom configuration section user entries (frequently used for ISPs). A number of configuration features are also geared at making IIS more friendly to ISPs in large installations.
Article source:- http://www.code-magazine.com/Article.aspx?quickid=050143

#    Trackback
Comments [1] | Posted on Sunday, April 02, 2006

I'm really happy to know from a recent post in ScottGu's blog about the upcoming ASP.NET updates and releases this month (april) it includes.

VS 2005 Web Application Project:
Atlas Refresh
Atlas Control Pack
CSS Control Adapters
RSS Tool-Kit Update
“How Do I” Videos

http://weblogs.asp.net/scottgu/archive/2006/03/30/441465.aspx

#    Trackback

About

Chirag Batra is a Software Consultant and Microsoft Certified Professional.

This is his Personal Weblog where he shares his thoughts about Software, Web & Life.

Navigation

Subscribe





Subscribe in NewsGator Online
Subscribe in FeedLounge
Add to netvibes
Add to The Free Dictionary
Add to Bitty Browser
Subscribe in NewsAlloy
Add to Excite MIX
Add to Webwag
Subscribe in podnova
Add to netomat Hub
Add to Google
Add to Webwag
Subscribe in Bloglines
Add to Pageflakes
Subscribe in NewsAlloy
Add to Plusmo
Add to My AOL
Subscribe in Rojo

Tags

.NET Framework (28) .NET Framework 3.5 (3) 3D (3) AJAX (19) Apple (1) ASP.NET (33) Book (1) Cool Stuff (10) dasBlog (6) Firefox (4) General (9) Google (3) IE (9) IIS (5) India (2) Internet (7) Linux (1) Live Labs (1) Microsoft (11) MS SQL Server (3) MSDN (3) MSN (7) Personal (2) Programming Language (9) Robotics (1) Safari (2) Science (3) Software (70) TechNet (2) Technology (8) Visual Studio (14) Windows Live (11) Windows Vista (18) WinFS (1) WinFX (10) WPF (8) XAML (6) Yahoo! (1)

Archive


Month View
Blog Archives

Popular Post

The Ultimate Vista W...
download MSDN librar...
Visual Studio 2005 S...
What IIS 7.0 Offers
flashearth.com
DHTML-based AJAX Wid...
Cool ASP.NET AJAX Go...
DasBlog 1.9 Released...
Community Server Qui...
IIS 7 interview on T...

Blogroll

Recent Readers

Ads

Links

Search For Blogs, Submit Blogs, The Ultimate Blog Directory
Software blogs
Blog Directory
Free SQL account Promo

Blog Stats

Total Posts: 119
This Year: 2
This Month: 0
This Week: 0
Comments: 9

© Copyright 2008 Chirag Batra