Какой сервер приложений проще всего реализовать с помощью клиентов на базе Java? - PullRequest
1 голос
/ 24 сентября 2010

Intro

У нас есть проект для разработки и реализации этого семестра.Для нашего проекта мы решили создать систему инвентаризации, которая использует телефоны Android для клиентов. Больше информации об этой части проекта .

Проблема

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

Мы немного ограничены во времени (особенно в этом семестре с этим проектом), и мы понимаем, что такого рода проблемы уже были решены людьми намного умнее нас.

Наши идеи пока что

Как видно из названия, какой сервер приложений проще всего реализовать с помощью клиентов на основе Java?В настоящее время у нас есть 3 отдельных клиента для этого проекта: рабочая станция (под управлением Windows XP), телефон Android и веб-интерфейс.

Сервер Ruby on Rails уже будет использоваться для веб-интерфейса.После разговора с одним из моих профессоров он упомянул, что на самом деле мы можем использовать RoR в качестве сервера приложений, общаясь через HTTP и XML.Это будет просто разработка всего приложения, поскольку мы могли бы кодировать веб-интерфейс и сервер приложений рядом друг с другом.

Другой наш вариант - это что-то вроде JBoss или GlassFish (или это так?т опыт в этой области).Хотя нам удобно создавать Java-клиенты, мы ни в малейшей степени не углубились в что-то вроде JBoss / GlassFish.

Мы готовы потратить время на изучение этой технологии, но мы хотим знать, какая технологияиспользовать, прежде чем мы узнаем за месяц до того, как наступит срок, когда мы использовали неправильный сервер приложений.

Будем весьма признательны за любые рекомендации, заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 24 сентября 2010

Я бы предложил JSON или XML и API в стиле REST с использованием RoR.XML - хорошая замена для JSON.Я не стал бы беспокоиться о JBOSS и т. Д. - это излишне.Иногда, когда люди говорят HTTP и XML, они также имеют в виду SOAP, что, как я думаю, будет излишним.Если это XML поверх REST, то это нормально.

Простой API на основе URL-адреса прост в реализации и достаточен для школьного проекта.

1 голос
/ 24 сентября 2010

С контейнером EJB 3.1, таким как Glassfish, на самом деле поразительно легко предоставлять методы EJB через интерфейс REST / JSON:

@Path("/orders/")
@Stateless public class OrderService {

    @EJB BillingService billing;
    @EJB DeliveryService delivery;
    @EJB Warehouse warehouse;

    @PUT
    @Produces({"application/xml","application/json"})
    @Consumes({"application/xml","application/json"})
    public Order order(Order newOrder){
        Order order = warehouse.checkout(newOrder);
        billing.payForOrder(order);
        delivery.deliver(order);
        return order;
    }

    @GET
    @Path("{orderid}/")
    @Produces({"application/xml","application/json"})
    public Order status(@PathParam("orderid") long orderId){
       return delivery.status(orderId);
    }
}

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

...