Seperating the application's components to physical tiers

Topics: User Forum
Oct 6, 2006 at 4:16 PM
Hi and kudos for the great app.
It looks very promising!

My question is this:
How do I use the application in a
distributed environment?
I have a server machine which I
want it to contain the business and
data access layers, and I also have
several client machines that need to
access the server. Is it possible with
the current architecture of NSK?
I know that clients usually connect to the
middle tier via Remoting, Web Services
or some other technolgy (WCF? ;-) ),
but I don't see it implemented anywhere in the code. Is it going to be implemented?

Thanks a lot! We can learn so much from this app.
Oct 6, 2006 at 5:17 PM
actualy the db offcourse can be placed in a server machine while the winform app must be deployed in a client machine.

the web app too can... must be deployed in a server machine, the web server.

the web services are under development, the next step is to make the entity classes serializable.

actually I don know if there are plans for using remoting (that both needs the enity classes to be serializable). the "president" should be the one who answer too this question ;-)

HTH (luka)
Oct 7, 2006 at 9:13 AM
Hey,

I was referring to the WinForms app of course.
The web app is of course installed on the server.
Sorry if I didn't make that point clear.

Now, let's say I wanted to use the WinForms app.
Are you saying that the presentation layer
is deployed along with the business logic layer?
I don't think that deploying the business layer
to clients is a good idea. Too much deployment
headaches and security concerns, me thinks.
I know that usually the clients talk to some
sort of a Facade entity, and this entity then
dispatches calls to the server. But then again,
I'm just in the phases of learning these things.
I might be wrong. Perhaps you're doing things
differently.

Again, Great app!

Avi
Oct 7, 2006 at 4:47 PM
ok Avi now I got it.

Web Services in NSK are there even if under development. After that a WinForm remote client will be developed.

This scenario work well when the client need to talk with a remote system (i.e. the system of a supplier, a customer, a partner company or a system of a remote located site of your company or the system of a service provider) or need to talk with a system developed with another technology (i.e IBM, linux/Java).


I don't know the plan for Remoting in NSK, maybe they will be clear after WCF will be released.

At architectural point of view Remoting to build and distributed application is well suited to obtain
- Fault Tolerance (by redundancy, distributing running copies of a component in many sites; very similar to Server Clustering but at the application/component level)
- Scalability (for exceptional computational work load scalability is better obtained distributing functional areas of the application to separate nodes; similar to Grid Computing)
- Administration (by having a single centralized point where the business logic part of the application is deployed, configured, monitored and updated)

If your primary concern is administration and the WinForm application will run in the company intranet/extranet) Automatic Update is often preferable to Remoting indeed Automatic Update solution is more flexible on versioning, do not add complexity to programming and security and do not have a single-point-of-failure
Oct 8, 2006 at 12:14 AM
OK, now I see your point.
And actually, I really like it.
You guys think big.
I really didn't think about all the scenarios you mentioned. You're aiming high.

I still have some issues that I don't fully understand:

1)Is this Auto Update achvied by Click Once?
Or there is another way to do this?

2)How is concurrency being handled in NSK?
I mean, if for example several users submit
changes to the database, where is this issue
being taken care of? Is it implemented in your
code somewhere, or do I need to configure
SQLServer Express to handle concurrency?

3)Are you using plain old web services, or are
you going to use WSE 3.0?

Sorry to bother you with my questions.
But you know, you'll never know if you don't ask.

P.S
I know it's a pain in the neck, but how about
adding some remarks in your code so that novice
developers like me don't come up with strange
guesses as to what you guys meant in several parts of the app.

Thanks a lot,

Avi
Oct 14, 2006 at 3:39 PM
> 1)Is this Auto Update achvied by Click Once?
> Or there is another way to do this?

ClickOne work well in a lots of scenariouns, for all others you can consider Updater Application Block 2.0 for .NET 2.0 (http://www.gotdotnet.com/codegallery/codegallery.aspx?id=83c68646-befb-4586-ba9f-fdf1301902f5).


> 2)How is concurrency being handled in NSK?

Actually concurrency errors come from the Db and are managed an aplication level (in Northwind.Data namespace) either for optimistic and pessimistic concurrency model.



> 3)Are you using plain old web services, or are you going to use WSE 3.0?

We would like add to NSK a Winform/APS.NET integrated autentication/authorization, after that Web Services could have security features based on WSE 3.0 or WFC.

Before that, plain simple Web Services will do the job and will KISS (keep it simple ;-).

See this too: http://www.codeplex.com/Project/DisplayThread.aspx?ProjectName=NSK&ForumId=1254&ThreadId=1838



Sorry to bother you with my questions.
But you know, you'll never know if you don't ask.

> how about adding some remarks in your code so that novice
> developers like me don't come up with strange
> guesses as to what you guys meant in several parts of the app.

this is a good question, I suggest you to start a new thread with this request. Andysal is the NSK project coordinator, I hope he could answer to this !
Oct 16, 2006 at 7:11 AM
Thank you for the reply lucaminudel.

Should I create the thread here, in the User Forum
or in one of the other two forums?
Oct 16, 2006 at 9:06 PM
This forum is fine as we are talking about comments and some set-up docs that should help to haveuse of this starter kit.

P.S. for any feedback about your experience with this project don't esitate to drop a post, it will help us to improve the NSK.