May 2008 - Posts
If you had the chance to work with LINQ, the latest Object Relational Mapping tool (ORM) added to the .NET 3.5 platform, then you understand how LINQ maps your database structure into several classes in your application. It creates for each table an entity class that has its properties mapped to the columns of the table in context. The whole point of ORM tools is to bring the database structure up to the language’s level so that your code would be aware of the structure at compile time. Nowadays developers tend to divide their application’s architecture into several distinct layers, usually 3 layers:
- Physical layer which encapsulates code that accesses your database one way or another
- Business layer which usually has your business logic code
- User interface layer which is usually a desktop .NET application or an ASP.NET application
Jamie Pompu has spent the last week playing with the UpdateProgress control as part of the Ajax Extensions. For the most part, the control itself is quite nice to use but, there was one thing that he found to be a real pain;h e could not get the control to hide an area of a page while it was activated. Although this sounds trivial, it got to be a real pain trying to find areas in his page design that would lend well to an UpdateProgress being displayed and still be intuitive to the user what was happening.
If you have struggled with this already, you know exactly what I'm talking about. If you have not, I'm sure you will. This control will save you a lot of headache.
This article explains in detail how Ferdy Christant has developed Blogo.NET, a N-tiered blog application based upon the .NET 3.5 framework.
Gallery Server Pro is a powerful and easy-to-use ASP.NET web application that lets you share and manage photos, video, audio, and other files over the web.
- Stable, production ready
- Use any web browser to organize your media files into albums you can easily add, edit, delete, rotate, rearrange, copy and move
- Easily add thousands of files using one-click synchronize and ZIP file upload functions. Thumbnail and compressed versions are automatically created
- Powerful user security with flexible, per-album granularity
- Integrates with DotNetNuke and other Frameworks to provide a superior media gallery
- Image metadata extraction. Supports these formats: EXIF, XMP, tEXt, IFD, and IPTC
- Search function queries title, caption, filename, and image metadata
- Image watermarking with your own text and/or image
- AJAX-enabled for more responsive UI
- Web-based installer makes installation painless
- Uses SQL Server 2000 or higher as the data store. Supports MSDE 2000 and SQL Server 2005 Express
- Uses ASP.NET Membership provider so you can integrate with your existing accounts, including Active Directory
- Data access uses the ASP.NET Provider model, which allows other data stores such as MySQL, Microsoft Access, or Oracle to be used instead of SQL Server
- 100% managed code written in C# and ASP.NET 2.0
- Source code is released under the open source GNU General Public License
- All web pages target XHTML 1.0 Strict and CSS 2.1 standards to ensure maximum forward compatibility
You can play with an online demo of Gallery Server Pro to get a sense of its capabilities. A pre-compiled version is available here along with additional documentation and a support forum.
Windows Imaging Component (WIC in short) is the new platform to load, save and convert images between various image formats, including the latest HD Photo format designed and aggressively pushed by Microsoft, to be the JPEG2000 replacement. Unlike JPEG2000 which is plagued by various patents issues, HD Photo standard is a open standard which is free for all to use. HD Photo has a compression rate and picture qualities better than JPEG and JPEG2000. Windows Imaging Component is also a platform for programmers to write their own image codecs for their own image format or RAW images from digital cameras. The standard codecs, which are provided in the Windows Imaging Component, are more secure than those provided by GDI+. WIC only provides ways to load and convert and save images; To display an image loaded by WIC, you either use Device Independent Bitmaps(DIB) or GDI+. The sample code provided by Microsoft uses DIBs which are difficult to use. For this article, we will use GDI+. The advantages of using GDI+ is that you can do drawing or further image processing on the GDI+ image.
Adding custom configuration sections lets you leverage built-in .NET configuration mechanism to employ strong-type objects to access the configuration content without taking care of manipulation of XML1, 2. This article introduces a tip about how to add your custom configuration sections in “another” web.config while not losing the support as in the web.config located at the root of Web applications.
Yazeed Hamdan has created a base class which encapsulates the most common logic for DB operations in the PROCESSES/OPERATIONS Layer instead of repeating the same code over and over for each class.
Adnan Aman shows some tricks and tips to improve the performance of web applications.
In the IT world, software applications are being rapidly developed. Clients, and so employers, are just looking for those teams/individuals who can build up applications rapidly, just bothering to make their application live; but what often happens after an application goes live is that users start to use the application and it doesn’t respond well. At this point, clients start to lose users and business.
To code an application is not a big deal; I believe it can be done by virtually anyone, meaning it is not necessary to have great knowledge or experience. Improving performance of an existing application (especially an one put together rapidly) could be quite risky and could cause many ripple effects. Things must be planned first to avoid horrible results.
The following are a few points that can make a site scalable and reliable; but which may initially slow down development. I believe that overall, when maintenance and future changes are taken into account, total development time would be reduced.