Какие варианты запуска унаследованных программ вы знаете

Я работаю над системой, которая разделяет пользователей по организациям. Каждый пользователь принадлежит организации. Каждая организация хранит свои данные в своей собственной базе данных, которая находится на компьютере сервера базы данных. Сервер БД может управлять базами данных для 1 или более организаций.

Существующая (устаревшая) система предполагает, что существует только одна организация, однако я хочу «масштабировать» приложение, запустив его «экземпляр» (привязанный к одной организации), и запустить несколько экземпляров на сервере (то есть запустить несколько экземпляров). приложения «одна организация» — один экземпляр для каждой организации).

Я предоставлю RESTful API для каждого экземпляра, работающего на сервере, чтобы тонкий клиент мог использовать для доступа к службам, предоставляемым экземпляром, работающим на сервере.

Вот простая схема, которая демонстрирует отношения:

Сервер 1 -> N базы данных (каждая организация имеет одну базу данных)

Продвинутые атаки на Microsoft Active Directory: способы обнаружения и защиты

организация 1 -> N пользователей

Мой вопрос касается того, как «направить» RESTful-запросы от клиента в соответствующий экземпляр, который обрабатывает запросы от пользователей для этой организации.

Более конкретно, когда я получаю запрос RESTful, он будет от пользователя (который принадлежит организации), как (или действительно, каков наилучший способ) «направить» запрос к соответствующему экземпляру приложения, работающему на сервере.?

user312675 21 июл ’10 в 10:32 2010-07-21 10:32
2010-07-21 10:32

4 ответа

Из того, что я могу собрать, это по сути проблема шардинга. Независимо от того, как вы разделяете экземпляры на аппаратном уровне (используя виртуальные машины, несколько серверов, все на одном мощном сервере и т. Д.), Вам необходим центральный реестр и уровень посредничества в общей архитектуре, который сопоставляет данных пользователей с правильным целевым экземпляром для каждого запроса.,

Конечно, есть много способов реализовать это, поэтому просто выберите тот, который вы знаете, он быстрый и будет масштабироваться, так как все запросы будут проходить через него. Я хотел бы предложить легкое веб-приложение без сохранения состояния, поддерживаемое простой базой данных только для чтения, которая выполняет соответствующий идентификатор клиента -> отображение экземпляра, которое вы загружаете в память / кэш. Чтобы добавить гибкость в отношении аппаратного обеспечения и расположения экземпляра, используйте (предполагая Java) JNDI для хранения информации об оборудовании / порте и т. Д. Для каждого экземпляра, а в сопоставлении идентификатора сопоставьте идентификатор клиента с соответствующим ключом поиска JNDI.

Читайте также:
Программа для воспроизведения видео лучшая

Источник: stackru.com

Запуск унаследованных приложений на Vista

Как известно, одна из главных проблем перехода на Windows Vista — обеспечение работоспособности приложений, написанных для предыдущих версий Windows. Опыт показывает, что в случае такой миграции не менее половины подобных унаследованных прикладных программ в новой ОС работать не будут.

Занятие 31 — Инициализация в структурах и классах | Основы

Информация об очередном варианте решения этой проблемы промелькнула недавно на одном из официальных блогов Microsoft: корпорация намерена предложить клиентам новое средство Microsoft Enterprise Desktop Virtualization (MED-V), которое позволит запускать в среде Vista приложения, созданные для Windows 2000 и XP. Данное решение уже реализовано в виде бета-версии, а рабочий вариант должен появиться до конца начавшегося года. Уже из названия видно, что этот инструмент использует механизм виртуализации — в сообщении Microsoft говорится, что MED-V реализован на базе Microsoft Virtual PC 2007, но в то же время непонятно, чем же он отличается от этого давно известного продукта. Но пользователям, наверное, имеет смысл приглядеться к MED-V, ведь в будущей версии ОС Microsoft — Windows 7 — проблемы с поддержкой унаследованных приложений будут такими же, как и в Vista.

Источник: www.itweek.ru

Виртуализация: Что делать с унаследованными приложениями

Унаследованные приложения могут быть одними из самых «крепких орешков» в сопровождении приложений в корпоративной сети. Обычно чем дольше в компании используется определенное приложение, тем больше пользователей основывают свою работу на нем.

Нет проблем с приложениями, которые развиваются вместе с развитием корпоративной бизнес- и технологической инфраструктуры, а также если производители этих приложений продолжают оказывать услуги поддержки и обслуживания. Однако часто бывает, что по разным причинам производитель прекращает поддержку приложения. Производителя может поглотить другая компания, или он может просто решить больше не работать с этим приложением.

Большинство компаний предоставляет расширенную поддержку устаревшему приложению, но лишь на ограниченное время. Это делается для того, чтобы у вас была возможность обновить свои приложения до текущей или поддерживаемой версии или перейти на другое приложение, предоставляющее нужную вам функциональность. Но что делать, если поддержка вашего приложения больше не оказывается и приложение очень важно для компании, но в обозримом будущем не намечается появления никаких заменителей приложений или возможности его обновления?

Именно в таких ситуациях стратегии виртуализации предстают во всей красе — они позволяют сохранить и поддерживать унаследованные приложения без необходимости сохранять их в исходном состоянии. Я объясню это на примере.

Читайте также:
Как работать с программой диск

Я назову унаследованное приложение Old App. Old App было изначально развернуто на сервере Windows NT. Я сконфигурировал сервер с учетом имеющихся и рекомендуемых возможностей конфигурации оборудования. Я реализовал Old App для поддержки бизнес-процесса и сделать его более эффективным и экономичным.

В процесс развертывания были разговоры о том, что использование Old App станет лишь промежуточным шагом на пути к более обширному решению. Ориентируясь на будущее мы имели в виду более надежное ПО от более крупного и более известного поставщика, предлагающего такое же решение, но за большие деньги. Поэтому Old App было скорее пробой пера, чем окончательным решением.

После внедрения Old App быстро встретило признание пользователей, а руководство увидело в нем огромный потенциал с точки зрения доходности. Old App было внедрено, как и другие приложения, внедренные на протяжении последних десяти лет. В большинстве случаев под каждое приложение выделялся отдельный сервер.

И вот прошло много лет с момента установки Old App. Old App оказалось надежным приложением, но аппаратное обеспечение, на которых оно базировалось устарело. Оборудование безнадежно устарело, и я уже заменил несколько компонентов. Я мог бы просто купить новый сервер, но ОС, которая нужна для Old App, это старая, уже не поддерживаемая (даже в рамках расширенной поддержки) версия Windows.

Я пытался связаться с производителем Old App, чтобы приобрести новую версию, которая работает на более свежей версии Windows, но компания больше не существует, а покупка аналогичного приложение на замену в ближайшем будущем не предоставляется возможной. Понятно, что я мог просто купить новое оборудование, установить устаревшую версию Windows и постараться делать все максимально аккуратно, но это попросту не наилучший способ решения задачи. Но что же делать?

Виртуализация: вторая жизнь?

Есть много альтернатив, и нужно очень внимательно их изучить, прежде чем выбирать вариант для решения задачи в вашей конкретной ситуации. Изучим две возможности сравнительно высокого уровня: виртуализация ОС и потоковый режим выполнения приложений (application streaming).

Виртуализация ОС — более зрелый вариант, существующий уже много лет. Принцип сравнительно прост: вы просто устанавливает ОС внутри другой операционной системы.

ОС хоста можно рассматривать как контейнер виртуализованной ОС. Этот метод все равно предусматривает поддержку унаследованной ОС, но преимущества заключаются в том, что она защищается за счет установки в операционной системе хоста. У этого варианта есть два весомых преимущества: размещение устаревшей системы на более новом оборудовании и возможность быстро архивировать и восстанавливать виртуальный сеанс за счет использования моментальных снимков.

Читайте также:
Благодаря какой программе или сервису можно создать веб квест

В большинстве ситуаций можно сконвертировать унаследованную среду посредством процесса преобразования физической машины в виртуальную. Это избавляет от необходимости от воссоздания унаследованного сервера с нуля. При условии правильной настройки хоста и если позволяют требования унаследованного приложения, можно разместить новую виртуализованную версию унаследованного приложения вместе с другими виртуальными средами на том же хосте. Это позволяет консолидировать оборудование и сократить расходы на поддержку.

Другой, но еще не проверенный временем вариант виртуализации унаследованного приложения, — потоковый режим выполнения приложения. Это намного более молодая технология, чем виртуализация ОС. Некоторые поставщики все еще не освоили эту технологию, но преимущества этого подхода, похоже, могут перевесить выгоды от виртуализации ОС.

При использовании потокового режима выполнения унаследованная ОС полностью удаляется, а приложение инкапсулируется в собственный виртуальный поток, который удовлетворяет всем требованиям, которым ранее удовлетворяла унаследованная ОС. Еще раз напомню, что это намного более новая технология в мире виртуализации, поэтому она может не поддерживать все приложения.

Придется провести тщательные исследования и выполнить тестирование такого варианта. Но если ваше приложение поддерживает такой вариант, вы сможете полностью избавиться от устаревшей ОС. В такой ситуации вы сможете передавать в виде потока (или предоставлять) приложение любым поддерживаемым версиям ОС Windows.

У этого подхода есть еще одно преимущество. Оно позволяет включить компоненты приложения в инкапсулированный поток. Это невозможно переоценить, если вспомнить о традиционных ограничениях определенных приложений и их неспособности размещаться в одной ОС с более старыми или новыми версиями этих приложений.

Хороший пример такого приложения — среда выполнения Java. Недавно мне пришлось конфигурировать подобный сценарий в тестовой среде, где я организовал потоковую передачу Internet Explorer 6, Internet Explorer 7 и Internet Explorer 8 так, чтобы они выполнялись в одной и той же ОС. Это позволило компании, занимающейся разработкой веб-приложений, тестировать свой код на различных версиях Internet Explorer, работающих на одной машине, и избавило от необходимости создавать три отдельных тестовых машины для тестирования работы в различных версиях Internet Explorer.

Подобный эксперимент наглядно демонстрирует, как хорошо виртуализация как технология позволяет одновременно поддерживать унаследованные приложения и текущие бизнес-приложения, как в тестовой, так и производственной среде.

Источник: www.oszone.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru