Статьи

Использование OData через JSP в Windows Azure

Недавно коллега спросил меня, знаю ли я что-нибудь о потреблении OData из развертывания Java в Windows Azure. В то время я отвечал «нет», но с быстрым указателем на http://code.google.com/p/odata4j/ я знаю, что ответ вскоре изменится на «да». В этом коротком посте я покажу вам, как я использовал этот учебник « Развертывание приложения Java в Windows Azure с помощью командной строки Ant» , чтобы быстро использовать OData из Java, работающего в Windows Azure.

Примечание . Этот пост не является исследованием API odata4j. Это просто взгляд на развертывание odata4j в Windows Azure. Однако отмечу, что в API odata4j не было никаких функциональных возможностей для генерации классов из канала OData (в отличие от OData SDK для PHP ). Это означает, что вам нужно знать структуру канала, который вы потребляете при написании кода.

Как я упоминал во вступлении, чтобы моя страница OData / JSP работала в Windows Azure, я в основном следовал этому руководству , написанному Беном Лобо . Используя руководство Бена в качестве руководства, вам действительно нужно всего лишь изменить несколько вещей:

1. Загрузите и установите odata4j. Вы можете скачать odata4j здесь: http://code.google.com/p/odata4j/ . После того, как вы загрузили и распаковали архив, переместите файл odata4j-bundle-0.4.jar в каталог / lib / ext вашей установки Java.

2. Создайте свой архив jre6.zip с включенными файлами odata4j. В разделе « Выберите среду выполнения Java » учебного пособия Бена вы должны создать ZIP-архив из вашей установки Java. Перед созданием архива убедитесь, что вы добавили файл odata4j-bundle-0.4.jar в каталог / lib / ext вашей установки Java.

3. Измените код HelloWorld.jsp, чтобы использовать API odata4j. В разделе Подготовка вашего Java-приложения к учебнику Бена вам нужно написать код, использующий API odata4j. Вот очень простой пример:

<%@ page language="java" 

     contentType="text/html; charset = ISO-8859-1"

     import="org.odata4j.consumer.*, org.odata4j.core.*, java.util.List"

 %>  


    <html>

    <head>

        <title>Consuming OData with JSP/Java</title>

    </head>

    <body>

       <h1>My Movies</h1>

       <%

    

            ODataConsumer c = ODataConsumer.create("http://odata.netflix.com/v1/Catalog/");

            List<OEntity> titles = c.getEntities("Titles").filter("Name eq 'Into the Wild'").execute().toList();
              for(OEntity title : titles) 

              {              

                for(OProperty<?> p : title.getProperties()) 

                {                  

                  out.println(p.getName() + ": " + p.getValue() + "<br />");
                }
              }
%>

  </body>

</html>

Обратите внимание на ссылки на org.odata4j.consumer и org.odata4j.core в верхней части страницы.

Вот и все. Если вы будете следовать оставшейся части руководства Бена по тестированию приложения в эмуляторе вычислений и его развертыванию в Windows Azure, ваше приложение должно быть быстро запущено и запущено.

Затем, расширение Restlet OData . 🙂

Спасибо.

-Брайан