http://technet.microsoft.com/en-us/ff706687.aspx
Компании, которые разрешают сотрудникам входить в Office Communications Server удаленно из Интернета, могут быть подвержены атакам типа "отказ в обслуживании" (DoS) и атакам методом "грубой силы".Атаки такого рода включают в себя угадывание паролей пользователей или блокирование пользователей из их учетных записей, когда слишком много попыток ввода неверного пароля выполняется для действительной учетной записи пользователя Active Directory при применении политики паролей.Хотя внутренняя безопасность не ставится под угрозу, эти типы атак наносят ущерб пользователям и используют внутренние ресурсы сервера.Чтобы предотвратить такие атаки на периферии, вы можете установить на пограничном сервере фильтр безопасности, который отслеживает попытки входа и обеспечивает блокировку учетной записи по периметру сети.
Существует рядпредупреждение о масштабном вопросе и т. д. Во-первых, Lync 2010 является кандидатом на выпуск, даже не полным релизом, поэтому я бы не стал ставить на этот текущий выпуск ничего - я бы дождался полного выпуска 2011 года.Во-вторых, он, похоже, нацелен на приложения в корпоративном брандмауэре, поэтому, хотя он может масштабироваться дальше, вряд ли в этой области будут какие-либо материалы для поддержки разработчиков в течение нескольких месяцев, если вообще когда-либо.
При этом продукт Lync по крайней мере отходит от необходимости регистрировать COM-объекты для разработки на основе SDK (как в предыдущей версии Office Communicator 2007), что является шагом вперед.SilverLight и WPF control SDK сделают некоторые сайты интрасети, использующие Lync, полными, но недостаток информации о простом использовании API и выполнении задач, включающих Lync (а не полностью Lync), является недостатком.
EDIT
Lync явно COM в душе, после отражения некоторых методов Lync становится очевидным:
Этот метод:
public static LyncClient GetClient()
содержитвызов:
private static void EnsureOI()
{
if (s_officeIntegration == null)
{
try
{
if (!IsUISuppressed() && !IsRunning())
{
throw new ClientNotFoundException("The host process is not running", null);
}
s_officeIntegration = (UCOfficeIntegration) Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("...")));
}
catch (COMException exception)
{
throw GetOCOMException(exception);
}
}
}