2010-10-17 6 views
0

мой текущий код Java развернут в БД, и код PLSQL вызывает его и использует. Мне нужно получить код Java из базы данных и по-прежнему использовать его.Использование Java в базе данных Oracle

Варианты, которые я имел в виду, являются:

  1. Веб-сервисы
  2. Java хранимые процедуры
  3. Вызов команды OS с помощью PL/SQL
  4. RMI

Каковы ваши рекомендации ? добавьте минусы и профи.

спасибо, Leeran

ответ

0

мой текущий код Java развертывается БД и код PLSQL называет его и использует его. Мне нужно получить код Java из базы данных и по-прежнему иметь возможность использовать .

Вы можете уточнить, что означает «получить код Java из базы данных» для вас? Является ли ваше намерение упаковать его в JAR и полностью удалить его из базы данных? Мне непонятно, хотите ли вы переместить эту операцию на средний уровень, и PL/SQL больше не звонит.

Вот мои мысли по предложенному вашему выбору:

  1. Веб-сервисы - перемещают операцию из базы данных и на среднем уровень.
  2. Java Хранимые процедуры - я не понимаю этого. Если это сейчас в базе данных, как это может измениться? Конечно, у вас может быть любой клиентский вызов PL/SQL, который, в свою очередь, вызовет ваш Java-код. Речь идет о том, эффективнее ли выполнять эту операцию на среднем уровне или на сервере базы данных.
  3. Вызов команды OS с использованием pl/sql - я этого не понимаю.
  4. RMI - еще один удаленный выбор, как и веб-сервисы. Если вы инкапсулируете операцию как услугу Java POJO, вы можете удалять код по своему усмотрению. Это означает только Java-клиенты. Веб-служба может принимать запрос от любого клиента, который может говорить на HTTP, включая клиентов, отличных от Java.
+0

благодарит за ответ. я написал второй комментарий, потому что у меня недостаточно места –

+0

теперь у меня есть код * .sqlj в моей системе, и я хочу заменить его на объекты JPA (используя Hibernate). так как неэффективно развертывать сущности JPA в базе данных, было решено, что в базу данных не будет установлен Java-код, за исключением некоторых функций, которые будут вызывать внешний Java-код. Я говорил с техническим директором, и он предложил варианты, которые я написал в своем вопросе. Что касается ваших вопросов: 3. вы можете использовать plsql для вызова команд OS (например, «javaw ...") Правильно, что хранимые процедуры java - это текущее решение, которое мы используем, но я хотел, чтобы вы посоветуете, продолжаете ли вы его использовать. –

0

Не совсем понятно, что вы хотите сделать или почему. Если вы просто хотите повторно использовать какой-то код, как часть вашей процедуры сборки, извлеките java из базы данных, чтобы он мог быть скомпилирован и включен в ваш файл jar/war.

Смежные вопросы