As your asking these question first you need to know basic things
Active directory server is used for centralized data and user information service.For example if you have 300 users in your office.so all of them coming in a shift basics at 100 users in a shift.So you wouldn’t need 300 system for all user instead you will purchase only 100 system and a server.so that every shift the 100 users will use that 100 system with a user name and password in AD.Even they can log on from any of these 100 system because thier user name and password is maintained in AD.And even printer and other common devices which your using in your office can be added an object in the AD.Because AD maintaining a database (NTDS.dit) for all things.The database update will occur every changes.Ad services are using LDAP (Light Directory Access Protocol) Protocol services.Also you could use DHCP services in your network with help of AD.And you will use your AD for Automatic update Services.
You only have one primary server in your haul network.So you maintain your branch office with a secondary AD server.AD is support remote administration.but you need a public IP in your AD and Internet connection in your remote office.Otherwise you can use leased line or VPN for connectivity.
Support of other OS (Linux) is there.But you could not log on through it.Only you could create a object for that system.Java Application could be run in AD. For more Information you may refer Microsoft technet Forum.
You have a lot of reading to do my friend. These are not questions which could be adequately answered here. Here is a good <a href=”http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/default.mspx”>Microsoft guide</a> for you regarding Active Directory in a server 2003 environment.