all groups > dotnet distributed apps > july 2005 >
Hi, I'm considering to develop a .NET application. I have read a lot about 3-tier model, n-tier model and distributed application design, and conceptually I think I understand it. The goal of the design that I want is deploy business components one time, to allow reuse its in windows forms application and ASP.NET application. It is not important if presentation and business layers are running in the same client or business layer is running in the server, the most important thing is when I need to offer a web-broser interface, only deploy the interface and put my business objects in a IIS (for example). The problem occurs when you consider to implement it. What kind of technology I have to use to develop business components ? classes in the same project application, dll's, ActiveX... What Kind of comunication I have to use between presentation layer and business layer to achieve de initial goal ? Thanks in advanced. -- Rafael Gómez Technical Project Manager
..NET makes it relatively easy to develop a set of logical business components to be used by several applications. A fairly efficient and straight forward route you could take would be to look into the Global Assembly Cache (or GAC for short). This allows you to develop your components and register them for machine-wide use. This same mechanism also allows you to have multiple version of the same component installed on one machine and all in the same location so you can gradually improve the business components as well as the applications consuming them. This also satifies your requirement of using the same set of business components for a web application and winforms application (or any other .NET application type for that matter). - James [quoted text, click to view] "Rafael Gómez" wrote: > Hi, > > I'm considering to develop a .NET application. > > I have read a lot about 3-tier model, n-tier model and distributed > application design, and conceptually I think I understand it. > > The goal of the design that I want is deploy business components one time, > to allow reuse its in windows forms application and ASP.NET application. > > It is not important if presentation and business layers are running in the > same client or business layer is running in the server, the most important > thing is when I need to offer a web-broser interface, only deploy the > interface and put my business objects in a IIS (for example). > > The problem occurs when you consider to implement it. > > What kind of technology I have to use to develop business components ? > > classes in the same project application, dll's, ActiveX... > > What Kind of comunication I have to use between presentation layer and > business layer to achieve de initial goal ? > > > Thanks in advanced. > -- > Rafael Gómez > Technical Project Manager
Hi Rafael , [quoted text, click to view] > It is not important if presentation and business layers are running in the > same client or business layer is running in the server, the most important > thing is when I need to offer a web-broser interface, only deploy the > interface and put my business objects in a IIS (for example).
Actually this is critical in terms of maintenance. Do you distribute the same logic assembly to all desktops + a server ? I had a customer who thought he needed webaccess for remote users , instead we build a smart client and it works brilliantly . For larger sites i put business logic in a seperate Tier and access it with Remoting or Web services. If you feel comfortable with web services you could ensure all the clients + web communicatre through a common web service . This works well but you have to remember Web service calls are expensive so you dont want to make many Regards , Ben [quoted text, click to view] "Rafael Gómez" <RafaelGmez@discussions.microsoft.com> wrote in message news:F9F5D394-11E7-4C5C-9ED1-EF8062144AC4@microsoft.com... > Hi, > > I'm considering to develop a .NET application. > > I have read a lot about 3-tier model, n-tier model and distributed > application design, and conceptually I think I understand it. > > The goal of the design that I want is deploy business components one time, > to allow reuse its in windows forms application and ASP.NET application. > > It is not important if presentation and business layers are running in the > same client or business layer is running in the server, the most important > thing is when I need to offer a web-broser interface, only deploy the > interface and put my business objects in a IIS (for example). > > The problem occurs when you consider to implement it. > > What kind of technology I have to use to develop business components ? > > classes in the same project application, dll's, ActiveX... > > What Kind of comunication I have to use between presentation layer and > business layer to achieve de initial goal ? > > > Thanks in advanced. > -- > Rafael Gómez > Technical Project Manager > NewGen (Spain)
Thank for your comments James. A question derived for your explanation: The process triggered by the business component is running in the machine where they are located (say server), or in the client that invokes the component ? Thanks. -- Rafael Gómez Technical Project Manager NewGen (Spain) [quoted text, click to view] "James" wrote: > .NET makes it relatively easy to develop a set of logical business components > to be used by several applications. A fairly efficient and straight forward > route you could take would be to look into the Global Assembly Cache (or GAC > for short). This allows you to develop your components and register them for > machine-wide use. This same mechanism also allows you to have multiple > version of the same component installed on one machine and all in the same > location so you can gradually improve the business components as well as the > applications consuming them. This also satifies your requirement of using the > same set of business components for a web application and winforms > application (or any other .NET application type for that matter). > > - James > > "Rafael Gómez" wrote: > > > Hi, > > > > I'm considering to develop a .NET application. > > > > I have read a lot about 3-tier model, n-tier model and distributed > > application design, and conceptually I think I understand it. > > > > The goal of the design that I want is deploy business components one time, > > to allow reuse its in windows forms application and ASP.NET application. > > > > It is not important if presentation and business layers are running in the > > same client or business layer is running in the server, the most important > > thing is when I need to offer a web-broser interface, only deploy the > > interface and put my business objects in a IIS (for example). > > > > The problem occurs when you consider to implement it. > > > > What kind of technology I have to use to develop business components ? > > > > classes in the same project application, dll's, ActiveX... > > > > What Kind of comunication I have to use between presentation layer and > > business layer to achieve de initial goal ? > > > > > > Thanks in advanced. > > -- > > Rafael Gómez > > Technical Project Manager
Thanks for your comments Ben. Logically, I prefer logic assembly in a server. Web Services may be expensive for the type of application, and I think is more service-oriented. Remoting ¿? Could you get more information. Imagine, you develop an object-oriented application, and business components are in a server for two reasons: 1. Maintance. Only one copy. 2. the interaction between business process and database is running in the server. 3. Potentially, you can reuse object in others platforms. But, what technology o paradigme is needed to allow instances of objects, created in the server by the client, where data object could persist (of persistency) during all execution of the client. ¿? Because I think that web services doesn't keep data: you ask some, it runs the query and returns the result. Thanks. -- Rafael Gómez Technical Project Manager NewGen (Spain) [quoted text, click to view] "Ben Kloosterman" wrote: > Hi Rafael , > > > > > It is not important if presentation and business layers are running in the > > same client or business layer is running in the server, the most important > > thing is when I need to offer a web-broser interface, only deploy the > > interface and put my business objects in a IIS (for example). > > Actually this is critical in terms of maintenance. Do you distribute the > same logic assembly to all desktops + a server ? > > I had a customer who thought he needed webaccess for remote users , instead > we build a smart client and it works brilliantly . For larger sites i put > business logic in a seperate Tier and access it with Remoting or Web > services. > > If you feel comfortable with web services you could ensure all the clients + > web communicatre through a common web service . This works well but you have > to remember Web service calls are expensive so you dont want to make many > > Regards , > > Ben > > "Rafael Gómez" <RafaelGmez@discussions.microsoft.com> wrote in message > news:F9F5D394-11E7-4C5C-9ED1-EF8062144AC4@microsoft.com... > > Hi, > > > > I'm considering to develop a .NET application. > > > > I have read a lot about 3-tier model, n-tier model and distributed > > application design, and conceptually I think I understand it. > > > > The goal of the design that I want is deploy business components one time, > > to allow reuse its in windows forms application and ASP.NET application. > > > > It is not important if presentation and business layers are running in the > > same client or business layer is running in the server, the most important > > thing is when I need to offer a web-broser interface, only deploy the > > interface and put my business objects in a IIS (for example). > > > > The problem occurs when you consider to implement it. > > > > What kind of technology I have to use to develop business components ? > > > > classes in the same project application, dll's, ActiveX... > > > > What Kind of comunication I have to use between presentation layer and > > business layer to achieve de initial goal ? > > > > > > Thanks in advanced. > > -- > > Rafael Gómez > > Technical Project Manager > > NewGen (Spain) > >
<snip> [quoted text, click to view] > > Remoting ¿? Could you get more information.
Have a look at the Quick Starts .. lots of info out there. [quoted text, click to view] > > Imagine, you develop an object-oriented application, and business > components > are in a server for two reasons: > > 1. Maintance. Only one copy. > 2. the interaction between business process and database is running in > the server. > 3. Potentially, you can reuse object in others platforms. > > But, what technology o paradigme is needed to allow instances of objects, > created in the server by the client, where data object could persist (of > persistency) during all execution of the client. ¿?
Singletons or anything marked static will persist. Though they will get flushed on an iireset so do need the abbility to handle the data going to null.. [quoted text, click to view] > > Because I think that web services doesn't keep data: you ask some, it runs > the query and returns the result.
You can do all of the following with web servcies - Use Web.Cache to cache results and return them to other callers. - Output caching - Singletons and Static memory objects which all queries can access ( remember its multi threaded !) - Load the enetire table into memory and and server requests . etc , each have pros and cons. Web services should never be a thin layer over the DB , that is almost pointless. Regards , Ben [quoted text, click to view] > > Thanks. > > -- > Rafael Gómez > Technical Project Manager > NewGen (Spain) > > > "Ben Kloosterman" wrote: > >> Hi Rafael , >> >> >> >> > It is not important if presentation and business layers are running in >> > the >> > same client or business layer is running in the server, the most >> > important >> > thing is when I need to offer a web-broser interface, only deploy the >> > interface and put my business objects in a IIS (for example). >> >> Actually this is critical in terms of maintenance. Do you distribute the >> same logic assembly to all desktops + a server ? >> >> I had a customer who thought he needed webaccess for remote users , >> instead >> we build a smart client and it works brilliantly . For larger sites i >> put >> business logic in a seperate Tier and access it with Remoting or Web >> services. >> >> If you feel comfortable with web services you could ensure all the >> clients + >> web communicatre through a common web service . This works well but you >> have >> to remember Web service calls are expensive so you dont want to make many >> >> Regards , >> >> Ben >> >> "Rafael Gómez" <RafaelGmez@discussions.microsoft.com> wrote in message >> news:F9F5D394-11E7-4C5C-9ED1-EF8062144AC4@microsoft.com... >> > Hi, >> > >> > I'm considering to develop a .NET application. >> > >> > I have read a lot about 3-tier model, n-tier model and distributed >> > application design, and conceptually I think I understand it. >> > >> > The goal of the design that I want is deploy business components one >> > time, >> > to allow reuse its in windows forms application and ASP.NET >> > application. >> > >> > It is not important if presentation and business layers are running in >> > the >> > same client or business layer is running in the server, the most >> > important >> > thing is when I need to offer a web-broser interface, only deploy the >> > interface and put my business objects in a IIS (for example). >> > >> > The problem occurs when you consider to implement it. >> > >> > What kind of technology I have to use to develop business components ? >> > >> > classes in the same project application, dll's, ActiveX... >> > >> > What Kind of comunication I have to use between presentation layer and >> > business layer to achieve de initial goal ? >> > >> > >> > Thanks in advanced. >> > -- >> > Rafael Gómez >> > Technical Project Manager >> > NewGen (Spain) >> >> >>
Hi... I wouuld suggest you to use Service Oriented architecture for your project when it comes in terms of having a separate Business layer hosted on IIS. You should consider desigining a layered architecture with clear diference of Presentation, Business and other layers. These layers in turn can be deployed apporpriately...assuming that if yo have no problem of having business & presentation layer in same machine deploy both at a time ....with appropriate calls to business logics if you want to invoke those through IIS then invoke a webservice from presentation layer to call Business logic layer... Nevertherless .net definately brings lots of advantage when you considered desinging using layered or SOA architecture. HTH With Best Regards Naveen K S [quoted text, click to view] "Rafael Gómez" wrote: > Hi, > > I'm considering to develop a .NET application. > > I have read a lot about 3-tier model, n-tier model and distributed > application design, and conceptually I think I understand it. > > The goal of the design that I want is deploy business components one time, > to allow reuse its in windows forms application and ASP.NET application. > > It is not important if presentation and business layers are running in the > same client or business layer is running in the server, the most important > thing is when I need to offer a web-broser interface, only deploy the > interface and put my business objects in a IIS (for example). > > The problem occurs when you consider to implement it. > > What kind of technology I have to use to develop business components ? > > classes in the same project application, dll's, ActiveX... > > What Kind of comunication I have to use between presentation layer and > business layer to achieve de initial goal ? > > > Thanks in advanced. > -- > Rafael Gómez > Technical Project Manager
Don't see what you're looking for? Try a search.
|
|
|