Architecture :: Function Implementation In 3-tier Architecture?
Apr 28, 2010
I have implemented the 3-tier architecture project; DAL, BAL, and presentation layer are three layers in it. I am going to implement the following scenario:
Presentation layer calls to a function in the BAL layer which returns 2 string variable, and in turn this function from BAL layer calls to a DAL layer function which also returns 2 string variable. How can I implement the above scenario?
recently i've studied on ADO.NET's Entity Model Framework and say 'wow' as ORM is one of the fevourite pattern i practice..but suddenly i've come to an ambiguous situation when i'm going to start. i usually follow the following 3-tier architecture..
1. UI Layer 2. BLL - business logic layer 3. DAL - Data Access Layer a. DTO / DAO b. Gateway (contains the sql query/stored procedure and connection with DB)
now when i'm going to use the Entity Model Design,where the DBML/ .edmx File should be placed? Because many a times i'm using the DBML file as DTO because of the mapped objects.. in the same time, sometimes DBML ( .edmx file in .NET 4.0) contains CRUD methods and stored procedured method as well as methods with different selection operations,- which should be in Gateway. so where the .edmx file should be placed !?!! IN DTO namespace !? or in Gateway namespace!
moreover sometimes there is no need for the BLL which breaks the rules of inter-layer-communication (UI > BLL > DAL.Gateway)! what makes me confuse is, what should be the ideal n-tier architecture when i'll use the ADO.NET Entity Model Design Framework
I am working on 3 tier architecture: UI, BL, DAL. In my UI i have following code for Asynchronous page processing:
[Code]....
But I want a database fetch operation to be performed in this asyncronous method. And due to 3 tier arch. i am unable to do this in UI Layer. Can anyone guide me that how can I implement Asynchronous processing in 3 tier architecture? Note: If you are going to place EndAsyncWork1 in DAL then show that how can I return a value back to UI layer from this function.
I want to know that What are the factors if we use methods on each .cs page for connection and executing query on each aspx code behind page rather then using BAL .
How our application get affected in terms of performance and speed or other way?
when we put our website on server after publish/compile in general approach (using query in C# code behind) rathor than using stored procedures?
I'm developing a n-tier architecture... I'm confused with handling exception in the layers... Is it a good practise to add a Exception Layer to the architecture.
I am a newbie to asp.net and work in a firm where the projects are quite small.
I was told by my manager that in a few weeks or so we would be getting a bigger project and I need to be well versed with Design Patterns and N tier arcihtecture.
I would really appreciate if someone could provide me some links and also drop me a few sentences on how this things are useful?
I was tasked to create 3 tier web application. However, i browsed through many books & tutorials. The examples are doing it using Object data source which my lecturers claimed that it is not 3 tier at all. Shouldn't be dragging any data source into deisgn view. Any comprehensive examples for me to take reference from?
i want to develop an application in asp.net using 3 tier architecture .
i know that there are three layers
Data layerBusiness Layer
Data Access LayerBusiness Logic Layer Presentation Layer. I am confused between Data Access Layer and Business Logic Layer.
In data access layer we develop the property classes and main class function which returns datasets, datatables and data reader to Presentation layer.
what is the use of Business Logic Layer ? what actually we do in Business logic Layer ?? we can pass data directly from data access layer to presentation layer ?
(1).MSDN say that we should not have the namespace where its name is same with class name but it does not exlpain why.Does anyone know why? The msdn page is http://msdn.microsoft.com/en-us/library/893ke618%28VS.71%29.aspx
(2). Business Logic Layer BLTable1 need to interact with Data Access Layer DaTable1 , so i put the code: imports MyCompany.MyProject.DA. DaTable1 inside BLTable1, so that i can have access to all the public shared method inside DaTable1 in BLTable1 for example : DaTable1.Save()
But problem arise when BLTable1 want to use the public shared method in BLTable2 .
I have put the code imports MyCompany.MyProject.BL. BLTable2 inside BLTable1,but i need to key in the class name twice only can access to the public shared method inside BLTable2 for example :BLTable2.BLTable2.Save.
I'm fairly new to dependency injection but it seems like a proper DI implementation will be fairly complex.
For example, DI requires a centralized class that manages the configuration and resolves the dependencies at runtime.
DI is also based on the concept of using interfaces. For example, a SpecialLogger should use an ILogger interface.
The centralized DI manager class will need to register types - for example, associate ILogger to SpecialLogger.
SpecialLogger will also need to implement the ILogger interface so SpecialLogger can be used through the DI ILogger interface.
Therefore, it seems like a sln using DI will need multiple projects to support DI. Here is an example for logging:
* MyCompany.MyDivision.Framework.DI.Management - this would have the DI manager where dependency types are registered and resolved at runtime * MyCompany.MyDivision.Framework.Logging - this would have the implementation of a logging class. The main logging class would need to implement ILogger. * MyCompany.MyDivision.Framework.DI.Interfaces - this would have the ILogger interface.
Interfaces would need to be stored in a separate class library from the DI manager because both the DI manager and SpecialLogger use the ILogger interface. Since the DI manager associates SpecialLogger to ILogger a circular reference would be encountered without a separate class library to store the ILogger interface.
I have been learning C# for the last year or so and trying to incorporate best practices along the way. Between StackOverflow and other web resources, I thought I was on the right track to properly separating my concerns, but now I am having some doubts and want to make sure I am going down the right path before I convert my entire website over to this new architecture.
The current website is old ASP VBscript and has a existing database that is pretty ugly (no foreign keys and such) so at least for the first version in .NET I do not want to use and have to learn any ORM tools at this time.
I have the following items that are in separate namespaces and setup so that the UI layer can only see the DTOs and Business layers, and the Data layer can only be seen from the Business layer. Here is a simple example:
[Code]....
Am I completely off base? Should I also have the same properties in my BLL and not pass back DTOs to my UI? what is wrong and what is right. Keep in mind I am not a expert yet.
I would like to implement interfaces to my architecture, but I am still learning how to do that.
I'm conducting a project in which a website should have multi-language support.Now, this website is supposed to serve about 500K+ visitors a day, so it must be super-efficient.
I've created a table of parameters {[ID],[Name]} AND a linkage-table {[objectID],[parameterID],[languageID],[value]}. I think it's the best way to deploy multi-language support while having the privilege to translate different parameters for each language.
As far as I know, server's memory is much faster than a physical HDD. Therefore, I'm planning to store ASP.NET Application State objects for my translation architecture.[URL]
I am working on a web application project with a layered architectural style having DAL, BLL, Service Layer and Presentation Layer. It's going to be a Web forms application.
My intent is to try using some of the new features of .Net 3.5 or 4.0.
Currently, I am thinking through different approaches for implementing Authentication in this project.
I have a query regarding the design of the application, particularly Authentication.
In which layer should I have Authentication class? BLL? If I implement the Authentication class in BLL, should I be having an app.config in the same class library project to contain the Database connection string and all.
In a project im working on there are many sql tables containing different ID, Name pairs. Those are represented as Enums in classes that need them however that requires casting since tables contain ID only.Also when serialize the Enum contains the ID not value.
not sure if I'm posting to the right thread or not.. but here is the questiondoes anyone know how to implement a best pratice on SEO?One of the example is: if the user types "brand new canon camera" then I want the system to find a sequence of string in the database that contains "new", "cannon", "camera". It is ok with or without the word "brand". However if the user types "HP laptop DV1000" and i want the system to find all HP laptop whether new or not but limited to specific series.
As per my understanding regarding N-Tier and SOA architecture.
N-Tier
N-Tier means dividing application into layers, Example I am developing application in asp.net and I pushed total DB Layer to WCF then it is called N-tier.[Tightly coupled]
SOA[Loosely coupled]
As per my understanding regarding SOA its very generic term and how well we going to loosely couple our architecture then its called SOA. Best example for SOA services - Stock feeds/ weather feeds.
My conclusion:
Even though if we develop application using WCF it does not mean its SOA if it is tightly couple with single client/ or .net applications only can understand about services.
Can you help me in understanding of SOA VS N-Tier.
In 3 tier architecture where to keep connection string? I have presentation layer ( webapplication) and BAL Layer ( class lib) and DAL (class lib).intially i kept in web.config which is in presentation layer....is it correct?should i keep a app.config file in DAL layer and keep my connection string in that?Where to keep connection string ?
My application was designed using following n-architecture : Presentation layer...wcf service layer...business logic layer..data access layer Presentation layer is in one server,wcf service,bll,dal are in another server. I knew something about wcf but how to implement this architecture.
I am looking for code sample for the above type of architecture.