Geeks With Blogs

News Ashraful Alam Joy

Create Your Badge

Ashraful Alam is a Software Architect, who has 8 years of professional experience in Software Development industry. This Bangladeshi national is involved with project management and development of several US based software projects from his country. Already he has managed and developed several software projects, which are being used by several users of different countries, such as USA, Canada, Australia, and Bangladesh. While developing and managing a team, he contains and maintains a set of well defined engineering practices developed by him and other online developer communities.

Due to his willingness to give effort to improve and share better software development practices, Ashraf has been awarded as “Most Valuable Professional” (MVP) in ASP.NET category by Microsoft since year 2007 multiple times, which is a rare honor and prestigious reorganization among the developers around the world.

Check his portfolio to know more about him and his works.


.NETTER Characters... Every part of your life is best, if you can know yourself and thus create your life like an artist! April 2008 Entries
Design Factors 21: Do we use cascading on CRUD operations? If so, is it in DAL or DB layer? Why?
Cascading is a technique that resides between the relations between two database tables. It enables the records of the child tables to be deleted/updates with respect to the corresponding records of the parent table records. Besides the database level, this operation can also be considered in the inter-mediate logical layer. Software designers are required to define the appropriate explanation regarding this consideration. Technorati Tags: architecture,database,.net ......

Posted On Monday, April 28, 2008 2:23 PM

Design Factors 20: Do we use transaction? If so, is it in DAL or SP layer? Why?
Transaction is a mechanism where a batch of operations can be rolled back for any failure at the mid point of the whole process or can be committed after successful completion of all the operation. Transaction can be used in both database level and/or application level. Technorati Tags: architecture,database ......

Posted On Monday, April 28, 2008 2:18 PM

Design Factors 19: How the logical layers are connected?
Logical layers such as BLL, DAL, CL etc can be hosted in the same machine or can be distributed in separate machines specially where high end scalability are required. The relation and isolation among logical and physical tiers are required to be defined and explained with appropriate design goal. While considering logical layers in distributed environment, there are several technologies are available. SOAP/HTTP based web service or .NET remoting can be considered, each of which has own merits and ......

Posted On Monday, April 28, 2008 2:13 PM

100th Post! Cheers!
This is my 100th post in GWB, which just been written in my 29th Birthday! Cheers to all! Technorati Tags: Birthday,Blog ......

Posted On Wednesday, April 23, 2008 1:06 PM

New Asp.Net Starter Kit Available: Employee Info Starter Kit
Employee Info Starter Kit is a starter kit, which includes very simple user requirements, where we can create, read, update ad delete (crud) the employee info of a company. The primary purpose of this starter kit is, to provide a solid guideline with respect to building enterprise level projects, by utilizing new asp.net 2.0 and sql server 2005 features, as well as latest best coding practices. The starter kit includes several cases where we can perform multi-table joining and/or write operations. ......

Posted On Wednesday, April 23, 2008 1:02 PM

Happy birthday to me!
Don't know really how 29 years just passed! It was really wonderful journey so far. I wish I will be nice husband, nice child, nice father, nice engineer ... (impossible? not really!) Cheers to all! Technorati Tags: birthday ......

Posted On Wednesday, April 23, 2008 12:44 PM

Design Factors 18: Which portion of the db utility classes are vendor specific?
To perform database operations from application, generally DAL uses some db utilities helps to write minimal lines of codes to perform data operations. In the data utility classes, some classes and methods might be specific to vendor (for instance, SQLHelper class will only work to perform operations on MS SQL Server) and some classes and methods might be used regardless of database vendors. These issues, along with the boundaries, should be addressed here. Technorati Tags: architecture,layered ......

Posted On Monday, April 21, 2008 12:18 PM

Design Factors 17: Where exceptions are thrown for invalid values?
In some cases invalid values are handled from the user interface level, by using validation controls. However we need to address the points, where and how we handle invalid values, which are not been validated from there user interface layer and/or required to be validated in coding level. These considerations are retired to be addressed in this point. Technorati Tags: architecture,layered ......

Posted On Monday, April 21, 2008 12:17 PM

Design Factors 16: How the null values are handled?
Null values are one of the basic considerations, without taking care of which may raise lots of confusions and errors while the application is running in the live. Some application architecture supports a model which puts null values to the database while the user is providing empty data from the user interface end. For string/text type data some times are saved as empty string (i.e. string.empty). But it creates confusion where empty string itself considered as a value. Also, besides string/text ......

Posted On Monday, April 21, 2008 12:12 PM

Design Factors 15: Rather common model of BLL and DLL classes, what are special cases we need to consider?
The common model of the logical layers which can be fitted to maximum of the business entities can be implemented using code generator tools, which saves a lots of developer times. Besides the common model, there might have some cases which require special consideration. Specific and complex business logic can be an example of such special cases. Technorati Tags: layered,architecture,.net ......

Posted On Monday, April 21, 2008 12:09 PM

Design Factors 14: How do we generally handle many to many (database) relationships in logical layers?
Generally a many-to-many relation between two data tables forms a third table which contains the primary key of both tables. For instance, if there are two table or data entity, named “Person” and “Address”, and if there is a relation between these entities is “many to many”, there would be another table, which will keep this relation in the table, which could be named as “Person-Address”. Some logical model supports to create a separate logical entity in application layered components (DAL, BLL, ......

Posted On Monday, April 21, 2008 12:06 PM

Design Factors 13: How do we generally handle one to many (database) relationships in logical layers?
One to many relation is one of the most core consideration in relational database design context. However while mapping the database tables to the logical layers, it needs to be defined clearly, how it has been handled. For instance, as design can include a container class that holds parent and child classes as property, or another design can include separate classes for all data entities regardless of parent/child relationship. Technorati Tags: architecture,layered ......

Posted On Monday, April 21, 2008 12:03 PM

Design Factors 12: For CRUD operation in DAL, when we use the business entity and when do use parameters?
Business entities can be passed as method parameter in DAL, or all data elements can be passed separately in DAL methods as method parameter. Some design also may support the Business Entity class to include the corresponding CRUD methods, which basically doesn’t require any data element to be passed in the CRUD methods. Technorati Tags: architecture,.net,layered ......

Posted On Monday, April 21, 2008 11:59 AM

Design Factors 11: For CRUD operation in BLL, when we use the business entity and when do use parameters?
Business entities can be passed as method parameter in BLL, or all data elements can be passed separately in BLL methods as method parameter. Some design also may support the Business Entity class to include the corresponding CRUD methods, which basically doesn’t require any data element to be passed in the CRUD methods. Technorati Tags: architecture,.net,layered ......

Posted On Monday, April 21, 2008 11:55 AM

Design Factors 10: What are the mapping criteria for BLL classes and CRUD methods?
BLL classes can be defined with respect to physical or logical business entities, DAL classes, as vice versa. This mapping process can include one to one, one to many or many to many technique. For example, we have two business entities (physical or logical), named “Order Summery” and “Order Items” for an e-commerce application. Having a one-to-many mapping relation with BLL and DAL in class level can contain one separate BLL class, as “OrderBLL”, and two separate two separate DAL classes, as “OrderSummeryDAL” ......

Posted On Sunday, April 20, 2008 1:27 PM

Design Factors 9: What are the mapping criteria for DAL classes and CRUD methods?
DAL classes can be defined with respect to physical or logical business entities, BLL classes, as vice versa. This mapping process can include one to one, one to many or many to many technique. For example, we have two business entities (physical or logical), named “Order Summery” and “Order Items” for an e-commerce application. Having a one-to-one mapping relation to DAL will contain, two separate DAL classes, as “OrderSummeryDAL” and “OrderItemsDAL”. Technorati Tags: architecture,layered ......

Posted On Sunday, April 20, 2008 1:26 PM

Design Factors 8: How the layers communicate with next level layers?
For a three layered application model, in some cases, the UI interface layer can use the DAL directly, rather using it via the BLL (i.e. “immediate next layer”). This type of application model generally includes a small set of classes and methods in business logic layer, ignoring the mapping all functionalities from DAL to BLL. This design issue provides a sort of performance, by reducing the engagement of intermediate layer(s). On the other hand, we can have a model, where a complete set of functionalities ......

Posted On Sunday, April 20, 2008 1:25 PM

Design Factors 7: Do you use cache layer?
To improve the application performance, “Caching” is one of the popular techniques in current trend of best practices. In some design context supports to cache data in UI interface level, where built-in cache mechanism is available. Sometimes, putting the cache mechanism in a separate layer provides better isolation and control over application space. If so the cache isolation, expiration and coupling with other layers policy should be addressed properly. Technorati Tags: architecture,.net,layered ......

Posted On Sunday, April 20, 2008 1:23 PM

Design Factors 6: How many layers will be considered? Why?
Here we will address few primary design considerations regarding logical layers. This is not mandatory that we need to build each and every system in popular “Three Layer” model. There might be a design context where single or two layer approaches can be a good design choice. Here we need to clarify the layered division and their responsibilities. Here we can also address some present and future possible considerations, supporting the current division of layers, such as, regarding multiple UI (Windows ......

Posted On Sunday, April 20, 2008 1:22 PM

Design Factors 5: Are there any special considerations for “typed” entities?
There are few entities which data are not been changed very frequently, but one or two items are added over few months. For instance, user type, product category, order type, payment mode. For better database operations values of these fields are kept in database and been referred to other entities as foreign keys. But interestingly values of these “Type” entities are used very frequently in coding layer, where developers had to use the hard-coded primary key value or the string value of this type ......

Posted On Sunday, April 20, 2008 1:15 PM

Design Factors 4: How do you map OOP concepts to relational database design?
Let’s consider a simple sample: Contact db table: Contact ID (primary key), Contact Name, Contact Address Employee db table: Employee ID (primary key), Employee Joining Date Customer db table: Customer ID (primary key), Customer Birth Date Now to utilize the object oriented inheritance concept in relational database model, we can create a one to one relation with Contact table with Employee and Customer table, where besides primary key, Employee ID and Customer ID will be used as the foreign key ......

Posted On Sunday, April 20, 2008 1:14 PM

Design Factors 3: Where and how the joined operation (fetched from multiple data tables) is placed in business entities?
When we need to retrieve result sets from multiple database tables via join operation a common practice is to use Generic DataSet to store the result. We can consider Custom Business Entity for the cases where the joining operation can be determined at the software design time, which provides faster execution time than DataSet. Also in some cases joining operation is required to be implemented in application end, rather database end query, especially when multiple entities are required to be combined ......

Posted On Sunday, April 20, 2008 1:11 PM

Design Factors 2: To which context Business Entity classes are mapped?
For simple applications, mapping directly from physical table to logical business entities reduces lots of cost in programming, especially while using code generators. However, no matter in sample or complex applications, besides mapping physical tables, there are few areas which might not be suitable to be mapped directly from databases tables. To map one-to-many relation from database to logical application model, some design creates a base container class for the business entities, which includes ......

Posted On Sunday, April 20, 2008 1:07 PM

Design Factors 1: What is the type of business entity?
For .NET application, business entities can be categorized as Custom Entity, Typed DataSet and Generic DataSet. Custom Entities are generally simple and faster than DataSet, where as it includes more involvement from developer end, as opposed to DataSet, which includes lots of built-in functionality, along with several trade-off in performance end. Choosing the right business entity is one of the basic parts in the software architecture, which fits accordingly in application requirements and development ......

Posted On Sunday, April 20, 2008 1:05 PM

Copyright © Ashraf Alam | Powered by: GeeksWithBlogs.net