Сервер приложений какой выбрать
Назначение: Учет сбыта электроэнергии (физ.лица и юр.лица),биллинг, отслеживание состояний
оборудования, договоры и т.п.
Клиентов (роли разные 6-7 типов ролей): до 10 000, 99% удаленные клиенты
Железо: только x86, однако скупиться не будут, купят мощняцкие
ОС: только какой-нибудь из UNIX (скорее и Linux и ЛюбойBSD)
БД: любая кроме MS SQL и FireBird
Каналы: в лучшем случае 256Kbit, в подавляющем большинстве модемные соединения, либо 64/128 на одного клиента.
Интерфейс клиента: web
ВОПРОС: какую технологию использовать в качестве ОПТИМАЛЬНОЙ для сервера приложений?
Нам советуют использовать JBoss и Tomcat.Некий чел упомянул WebSphere в связке DB/2, однако
другой чел поднял его на смех и сказал, что на указанном железе и думать нечего, нужно только
от IBM и не x86.
Я не имею опыта в этих сферах.Я работал только с MS продуктами. Есть команда разработчиков и у них почти сложилось понимание, НО! я хочу иметь собственной мнение.
ответьте на вопрос самому себе - а он действительо нужен- апп. сервер?
2BrokenPot: а шут его знает, уважаемый. теоретически - да, сервер приложений. веб приложений. а практически? затрудняюсь сказать
э-ма кабы знать точно что такое сервер приложений? точные критерии где? что такое sql server - знаю, что такое application server - знаю слишком много общего. значит ни фига не знаю.
Простите, кто на ком стоял?! ((с) Проф. Преображенский)
Простите, кто на ком стоял?! ((с) Проф. Преображенский)
Да Вы прям, Сократ, батенька.
Вы мне льстите прям таки :D ну ладно б еще Гераклит какой-нибудь.
на самом деле написал просто убого! спешка. в любом случае рад, что повеселил почтеннейшую публику.
Имеется в виду: что такое application server - знаю слишком много общих вещей, стало быть ничего конкретного. Практически не использовал в отличие от серверов БД.
Тогда, м.б. ну ее нафиг, эту задумку:
Я-то как раз логику всегда реализовывал на сервере БД, но меня убеждают, что сей подход является нынче сермяжным и кондовым. и такое количество коннектов не выдержит!
Кто-нибудь из вашей команды вообще понимает, о чем речь, или просто хочется попробовать поизучать, а потом плюнуть (как всегда)?
Так все же, что это за "клиенты"?
Огласите компанию в которой эти спецы работают.
М.б. просто эти "специ" не знают, как это сделать без app.server?
Старая песня о главном. Поинтересуйтесь у них, о работающих решениях и послушайте отзывы клиентов.
Ага. Счас. Сервер СУБД он не выдержит, а вот апп. сервер - это совсем другое дело. Гы.
- коммунальщиков
- тепловиков
- расчетных центров муниципалитетов
- хрен знает еще кого.
Для того, чтоб точно ответить на этот вопрос, нужно чуть больше детальной информации, чем
Чтобы нагрузку распределить.
10 000 одновременно подконнекченных НЕ БУДЕТ НИКОГДА. И почему, собственно, юникс лучше, если клиентов - много? На юниксе тоже можно безграмотно сделать.
Многие разработчики используют сервер приложений Java с открытым исходным кодом. Я задумался над альтернативами Glassfish и решил немного изучить другие.
Расскажу про лучших 10 серверов приложений Java и JavaEE с открытым исходным кодом.
Что такое сервер приложений?
Сервер приложений часто можно описать как программную среду, которая находится на среднем уровне серверно-ориентированной архитектуры.
Сервер приложений часто можно рассматривать как часть трехуровневого приложения, которое представляет собой сервер графического пользовательского интерфейса (GUI), сервер приложений (бизнес-логики) и сервер базы данных и транзакций и предоставляет услуги для обеспечения безопасности и поддержания состояния.
Для веб-приложений сервер приложений будет работать в той же среде, что и его веб-серверы, а серверы приложений будут поддерживать создание динамических страниц и реализовывать такие службы, как кластеризация, отработка отказа и распределение нагрузки.
GlassFish
- Общая лицензия на разработку и распространение (CDDL);
- Стандартная общественная лицензия GNU (GPL) с исключением пути к классам.
Oracle больше не предоставляет коммерческую поддержку GlassFish Server.
GlassFish часто рассматривается как эталонная реализация Java EE и поэтому поддерживает Enterprise JavaBeans (управляемая серверная архитектура компонентов для модульного конструирования корпоративных приложений), JPA (Java Persistence API), JavaServer Faces, JMS (Java Message Service), RMI (Java Remote Method Invocation), JavaServer Pages, сервлеты и многое другое.
Glassfish позволяет создавать корпоративные приложения, которые являются переносимыми и масштабируемыми и которые интегрируются с устаревшими технологиями.
Он построен на модульном ядре на базе OSGi и работает прямо поверх реализации Apache Felix. Он также может работать с Equinox OSGi или Knopflerfish OSGi. HK2 абстрагирует систему модулей OSGi для предоставления компонентов, которые также можно просматривать как сервисы и внедрять во время выполнения, и использует производную Apache Tomcat в качестве контейнера сервлета для обслуживания веб-контента, с добавленным компонентом Grizzly, который использует Java New I/O (NIO) для масштабируемости и скорости.
Платформа корпоративных приложений JBoss
Платформа JBoss Enterprise Application Platform, также известная как JBoss EAP, является платформой с открытым исходным кодом (доступной в рамках Стандартной общедоступной лицензии GNU). Используемая для создания, развертывания и размещения высокотранзакционных приложений и служб Java. Она также доступна в качестве сервера на основе подписки. Платформа JBoss Enterprise Application Platform является частью более широкого портфеля программного обеспечения, известного как портфель JBoss Enterprise Middleware.
JBoss работает кроссплатформенно и может использоваться в любой операционной системе, поддерживающей Java. Его основные функции включают поддержку стандартов Java EE и веб-служб, Enterprise Java Beans (EJB), сохранение Java с использованием Hibernate, брокер объектных запросов (ORB), использующий JacORB для взаимодействия с объектами CORBA, инфраструктуру JBoss Seam, включая аннотации Java, JavaServer Faces (JSF), включая RichFaces, службы веб-приложений, в том числе Apache Tomcat для страниц JavaServer (JSP) и сервлеты Java.
JBoss включает в себя службы безопасности, в том числе службу аутентификации и авторизации Java (JAAS) и подключаемые модули аутентификации (PAM), а также дополнительные веб-службы и средства взаимодействия, в том числе JAX-RPC, JAX-WS, многие стандарты WS- * и MTOM / XOP.
Wildfly
Wildfly также поддерживает веб-сервисы, такие как балансировка JAX-WSJDBCLoad, и включает в себя API-интерфейс управления, OSGi frameworkRMI-IIOP и может выполняться в двух режимах сервера: традиционный, одиночная JVM, автономный режим и вариант с несколькими JVM, режим домена, который синхронизирует конфигурацию между любым количеством процессов и хостов.
Apache Tomcat
Apache TomEE
Apache Geronimo
Разработчики могут создавать переносимые и масштабируемые приложения, которые хорошо интегрируются с устаревшими технологиями. Следует отметить, что разработка Apache Geronimo в настоящее время в значительной степени прекращена, хотя и не полностью.
Jetty
Веб-сервер является относительно популярным и используется в таких продуктах, как Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Google App Engine, Eclipse, API потоковой передачи Twitter, а также поддерживает последнюю версию Java Servlet API (с поддержкой JSP) в качестве: а также AJP, JASPI, JMX, JNDI, OSGi, SPDY и WebSocket.
JOnAS
JOnAS предоставляет полностью совместимый EJB-контейнер через EasyBeans и доступен со встроенным веб-контейнером Tomcat или Jetty, который поддерживает 1.6 JVM, и может работать в различных операционных системах, включая Linux, Windows, AIX и многие платформы Posix.
Версия 5 JOnAS полностью основана на платформе OSGi; использование Apache Felix, Eclipse Equinox или Knopflerfish, что означает, что компоненты JOnAS упакованы в пакеты и содержат инструменты для создания, развертывания и мониторинга кластеров JOnAS; он также включает в себя функции самоуправления.
Resin
Resin также является одним из старейших серверов приложений и веб-серверов, поскольку он предшествовал Apache Tomcat, выпущенному в 1999 году.
Resin Pro включает в себя такие функции, как встроенное кэширование и такие функции, как поддержка кластеризации, расширенное администрирование и многое другое, но версия с открытым исходным кодом Resin используется без этих функций.
Веб-сервер включает в себя поддержку статических файлов / JSP / Servlet / JSF, перезапись URL-адресов, кэширование прокси, сжатие Gzip, SSL, виртуальные хосты, отправку Comet / Server и WebSockets.
Blazix
Некоторые из включенных функций имеют поддержку кластеризации без единой точки отказа для балансировки нагрузки и восстановления после сбоя, развертывания и обновления EJB и веб-архива, веб-сервисы Secure Socket Layer, управление транзакциями, безопасность.
Средняя оценка / 5. Количество голосов:
Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.
Кастинг, т.е. отбор
Установка
В плане установки все просто и для каждого из выбранных серверов установка – это просто распаковка архива. Я, например, создал папку AppServers на рабочем столе, куда и стал всё распаковывать.
Настройка
2). Поэтому если вы в файле setjavaenv.bat после метки :okJdkFileCheck установите следующее значение переменной JAVA_HOME set JAVA_HOME=C:\Progra
Заключение
В этом обзоре я, по сути, просто провел установку и первоначальную настройку популярных серверов приложений и контейнера сервлетов Tomcat. За исключение Geronimo, остальные сервера были очень дружелюбны ко мне и проявили гостеприимство. В следующем посте я продолжу рассмотрение серверов приложений и сделаю 3-ий шаг на пути рассмотрения веб-сервисов, а именно, покажу как задеплоить описанный на первом шаге веб-сервис в эти сервера. Для этого мы создадим war-архив нашего веб-сервиса, и я наглядно покажу, что набор сторонних jar-ников, которые надо включать в этот архив для корректной работы сервиса, сильно меняется от сервера к серверу.
Сделайте свое мобильное приложение более безопасным и управляемым с помощью лучшей серверной части.
Интернет-реклама через мобильные приложения становится все более популярной среди предприятий. Согласно отчетам Statista, доход от мобильных приложений к 2020 году достигнет 189 миллиардов долларов. Большая часть этого дохода будет получена за счет рекламы в приложениях, а также от продаж в маркетах, таких как Apple App Store, Google Play.
В связи с ростом использования мобильных приложений владельцы бизнеса направляют значительные средства на управление серверной частью мобильных устройств. Использует ли ваше бизнес-приложение такие функции, как аналитика использования, расширенная безопасность, связь между пользователями, push-уведомления и обработка рекламы?
Вам понадобится серверная часть для управления хранением данных, безопасностью и бизнес-логикой. Одним из важнейших аспектов управления серверной частью мобильного приложения является то, как и где его разместить.
Как выбрать серверную часть для мобильного приложения
Односерверный хостинг
Существуют серверы хостинга, которые предоставляют вам простые способы масштабирования вашего сервера по мере увеличения количества пользователей. Примерами являются DigitalOcean и IBM SoftLayer. Для таких серверов важно убедиться, что экземпляр сервера имеет быстрое сетевое подключение, гарантированные ресурсы и хорошие инструменты для управления нагрузкой.
Мультирегиональный хостинг
Для предприятий, ориентированных на клиентов на разных континентах, расположение серверной части мобильного приложения влияет на общее впечатление от приложения. Это влияет на пропускную способность сети и задержку в сети между клиентом и сервером. Существуют и другие соображения, которые следует учитывать в региональных правилах размещения данных. Например, предприятия, работающие в России и ЕС, должны размещать серверную часть своего приложения в ЕС, если на серверной части приложения есть какие-либо личные данные.
Assets Hosting
Ваше приложение полагается на множество загружаемых ресурсов, таких как изображения, видео, шрифты и т.д.?
Рассмотрите возможность использования сети доставки контента (CDN).
MBaaS
Поставщики MBaaS используют модель как услугу, в которой вы потребляете услугу в качестве поставщика для управления своей серверной частью.
- MBaaS обеспечивает бесперебойную работу вашего приложения на самых разных мобильных платформах и устройствах пользователей.
- Вам не нужно работать над серверной частью с нуля.
- MBaaS может взять на себя управление пользователями.
- Служба выполняет всю тяжелую работу по хранению постоянных данных.
- MBaaS кодирует службы push-уведомлений, поэтому вам не нужно этого делать.
- Он берет на себя все управление API. Вам не нужно кодировать интеграцию, что экономит вашим программистам много времени.
- Если вы новичок, с MBaaS вам не нужно создавать специальное программное обеспечение мобильного приложения для бизнеса.
Если вы выбрали вариант MBaaS, вам необходимо придерживаться следующего контрольного списка:
- Легко ли использовать MBaaS? Например, насколько легко управлять внутренними данными? Поставщик MBaaS должен предоставить соответствующие процессы, методы и инструменты для управления данными.
- Надежно ли хранит серверный код, базы данных, файлы и т.д.?
- Использует ли поставщик услуг хорошо протестированную архитектуру для возможностей обработки транзакций, а также для управления базами данных?
- Предлагает ли поставщик API-интерфейсы для подключения вашего бизнес-приложения к нужным облачным сервисам?
- Защищена ли связь между пользователями и серверами?
- Провайдер должен обеспечивать отличную техническую поддержку, и с ним должно быть легко вести дела.
Вывод
Поставщики серверного хостинга для мобильных приложений значительно различаются, когда дело доходит до их предложений. Вы можете найти большие различия в задержках во внутренней сети двух ведущих облачных провайдеров. Если не ожидается, что ваше бизнес-приложение в ближайшем будущем получит тысячи пользователей, выберите вариант MBaaS или настройте один сервер. MBaaS отлично работает, когда время выхода на рынок является главным приоритетом.
Читайте также: