For remote or not remote?

For remote or not remote?

Forgive me if my terminology is not 100% correct.

After developing software (all applications for Windows forms) for many years for small companies, I recently flew out from under my cliff and discovered the concept of Remoting and / or WCF. In all the projects that I worked on in the past, we always used each of the client machines directly on the database server. I recently learned about me after reading "Microsoft.Net: Architecting Applications for the Enterprise" that it would be wiser to expose our business objects as POCO objects through WCF, so our client application does not need installed client database software on each computer (everything connected with it, like another db user license for the machine). Our client application will only need to connect to our WCF service, which can provide a "Service Layer" as a wrapper around our business objects.

Am I crazy or is this a general approach in distributed applications?

And then, what ORM solution could be specified in the database and create DALs and business objects that can then be represented through WCF?

I also can't fully think about how lazy loading will work in this scenario ...

Thanks Jonathan

+4
source share
2 answers

I am going to leave the ORM question to others, and just answer part of the question by asking if this is a general approach.

This is a general approach called SOA (Service Oriented Architecture). It has many advantages, as well as pitfalls. It was all buzzing a few years ago, and now it is still widely used, but the level of excitement has fallen.

However, there are many resources on the Internet for exploring this. The biggest catch is to think ahead, because different people have different ideas about how to implement SOA, and what that means. In addition, cross-platform promises are harder to achieve in practice than people who had previously hoped. (for example, try calling .NET Web services with Java, you can do this, but you need to work on both sides to make them work.) So, if you need to worry about cross-platform compatibility, the SOA Cross-Platform Compatibility study "before you get too deep. You better learn how to do it right so that you are not caught with your underpants later and have to re-create a bunch of services originally intended for .NET clients who now need Java clients (for example, for smartphone apps).

We made this mistake ourselves and eventually had to recreate a ton of web services when we started developing the services that were supposed to be consumed by Android / Blackberry clients. Given how the industry is more committed to developing smartphones, getting it right now will save you a lot of time.

+1
source

SOA is deadly. Standard .Net Remoting using MOA (Message-Oriented Architecture) is the way to go !!

+2
source

Source: https://habr.com/ru/post/1340008/


All Articles