Remoting
I received this question from a reader regarding how to get applications operating on two different PCs to communicate. That is a broad topic, with many answers. So, today I thought I would consider one of the most difficult methods in Dot Net, which is Remoting.
Obviously, there are a lot of other techniques/specifications to accomplish the same thing using tools such as DCOM+, CORBA, SOAP (the low level specification for Web Methods), Named Pipes, etc.
Even a database engine may be accessed through a remote connection where the client is connecting from a remote machine…this is a very common implementation of remote management. The main difference is that with a database engine you are very restrictied to the kind of activity that may be accomplished remotely…manipulation of a database.
Remoting is the Dot Net technique to write software accessing other software running in a completely different process. Because Remoting executes across a process boundary it does not require that those processes be executing on different machines. Most often they will at least be running in different Application Domains.
Remoting is performed by breaking your code up into three segments.
- First, there is a server component.
- Second, there is a Client Component.
- Third, there is a shared component.
Most implementations will have one or more interfaces and/or business objects in the shared component. This shared component enables method calls and/or transfer of data between the client and the server.
In order for Remoting to have a client on a different machine than the server, it allows different communication protocols.
In one of the simplest ways Remoting works, the server implements an interface created in the Shared Component. The Client uses Remoting to instantiate an instance of the Shared interface, instantiated by the server. The client calls the desired methods on the interface, and the Server performs the specified task.
There are a lot of examples of Remoting which may be found using a Google search, or you may consider many of the books written specifically on this topic. I came across an interesting example of an IM Chat tool demonstrating Remoting techniques.
Are you a Java Guru and would like to share the Java equivalent of Remoting? Are you using Dot Net Remoting? Drop me a note at btaylor@sswug.org.
Cheers,
Ben
SSWUG TV
Interviews with Bob Zurek from Endeca and SSWUG.ORG Presenter Laura Rose. We also have the latest news on SQL Server 2012, product features from Sanbolic and insights on cloud computing from SQL Server MVP Stephen Wynkoop.
Watch the Show
$$SWYNK$$
Featured Article(s)
Surrounding Yourself with Success
We typically associate with folks in the same socio-economic circles. So, if you want to jump to a different salary or professional level, you may need to change who you hang around with.
Featured White Paper(s)
How to Implement an Effective SharePoint Governance Plan
Written by AvePoint
Moving past the "what" and "why" of governance, an even… (read more)