2 ответов:
удаленный клиента
когда ваш EJB и его клиенты будут находиться в распределенной среде-это означает, что EJB и клиенты будут находиться на отдельных виртуальных машинах Java. Пример: EJBs, размещенные на сервере WebSphere Application Server, и сервлеты, использующие API EJB, размещенные на сервере Tomcat.
просмотр локального клиента
только тогда, когда гарантируется, что другие корпоративные компоненты или клиенты будут обращаться только к компоненту в пределах одного виртуальная машина Java. Например, EJBs, а также сервлеты, развернутые на одном сервере WebSphere.
no-Interface view
почти такой же, как локальный клиентский вид, но есть различия. В этом случае ваш класс bean не требуется для реализации интерфейсов клиентского представления. Все открытые методы класса bean автоматически предоставляются вызывающему объекту. представление без интерфейса всегда получает ссылку EJB-так же, как локальные или удаленные представления - либо через инъекцию, либо JNDI lookup; но тип Java ссылки EJB является типом класса bean, а не типом локального интерфейса. Это-удобство, введенное как часть Java EE6.
разница между представлением локального клиента и представлением без интерфейса
в случае представления без интерфейса клиент и целевой компонент должны быть упакованы в одно и то же приложение (EAR). В случае локального представления клиент может быть упакован в отдельное приложение, чем корпоративное приложение. Итак, это дает больше гибкости по отоношению к мелкозернистый вашим компонентам.
вы можете использовать локальный клиент против без интерфейса в зависимости от вашего сценария использования API. Весьма вероятно, что представление без интерфейса получит гибкие функции в будущих спецификациях.
причина
исторически или иначе, клиент, желающий использовать службы EJB, должен был" искать " боб на контейнере ( с определенными начальными контекстами ). Потому что все вызовы выполняются через специальную ссылку EJB (прокси), предоставленную контейнером. Это позволяет контейнеру предоставлять все дополнительные услуги bean, такие как объединение в пул, управляемые контейнером транзакции и т. д. Таким образом, клиент не может явно создать экземпляр EJB с помощью
newоператора. Представление клиента предоставляется через определенные интерфейсы, к которым клиент будет иметь доступ. Реализация прокси на стороне сервера выполняется на основе этих интерфейсов. Различные представления клиента определяются в suite различные сценарии развертывания, как указано выше.
согласно разделу 3.2.2 спецификации EJB 3.1:
доступ к корпоративному компоненту осуществляется только через представление локального клиента требуется поддержка для локальных клиентов, упакованных в одном пакете приложение в качестве корпоративного компонента, предоставляющего локальный клиент вид. Совместимые реализации этой спецификации могут поддержка доступа к локальному клиентскому представлению корпоративного компонента из a локальный клиент упакован в другое приложение. Этот конфигурация требования для доступа между приложениями к локальному клиентскому представлению следующие поставщика и выходят за рамки данной спецификации. Приложения, использующие в-приложение доступ к локальному клиенту вид не переносится.
no-interface view-это просто удобная функция, которая позволяет Бобу предоставление локального клиентского представления без необходимости объявления отдельного взаимодействие.
Comments