Sankar said:
I have worked on IBM aglets SDK which was built using Java and is similar to
what you are referring to. There are many frameworks that enable you to do
the same. I have looked at .NET as a platform for making a remote agent
system and it is suitable to develop such a framework. You can use C#,
VB.NET or any .NET language. IBM aglets SDK and many other similar frame
works are open source.
Can I ask you what you are trying to achieve?
I think such a framework in MS developers' hands makes it easy to come up
with killer apps and thus makes the framework more meaningful.
I appreciate your help, as well as Ignacio's. I found the Aglet site,
so I will learn as much as possible there.
The place where I work has many remote machines that are not part of a
domain. These machines cannot be managed by WMI, and therefore not by
SMS or other such management programs, due to permissions issues. But
these machines must be updated when certain problems crop up. The most
recent example is Windows XP SP2. We wanted to update all of these
remote computers so their firewall is disabled when SP2 is installed.
Besides, there are times when we want to do custom updates as well.
Simply having a patch management program won't do this. A custom
written agent could be used on every computer, and could be made to
execute any program.
As it stands right now, we have an FTP server running on every single
remote machine. The FTP program has an extension that allows downloaded
files to be executed. Due to the insecure nature of FTP, and given the
fact that our approach is generally cheesy, I would like to write
something better.
I'm only beginning C#, and I don't have any C++ experience. But I've
found the best way to learn is by doing something. That is why I've
asked for examples. I'm confident I can learn the basics, but I want to
engage in good practices that are fairly standardized.
As far as what I'm trying to write - it only needs to be capable of
receiving programs via TCP/IP and executing them through the shell (Most
of what I push down is a custom-written app without a console anyway).
I would think this is simple to write. It needs to run as a service
(all of our machines are NT-based). Later, I could imagine adding some
logging and other features. I would like to keep it as simple as
possible at first so I can learn.
I would certainly welcome any specific ideas you might have.
-KV