4 Сервери Джава
ефективного виконання процедур (програм, механічних операцій, скриптів), які підтримують побудова додатків. Сервер додатків діє як набір компонентів, доступних розробнику програмного забезпечення через API (Інтерфейс прикладного програмування), який визначений самою платформою. Для веб-додатків ці компоненти зазвичай працюють на тій же машині, де запущений веб-сервер. Їх основна робота - забезпечувати створення динамічних сторінок. Однак сучасні сервери додатків націлені набагато більше не на те, щоб генерувати веб-сторінки, а на те, щоб виконувати такі сервіси як кластеризація, відмовостійкість і балансування навантаження, дозволяючи таким чином розробникам сфокусуватися тільки на реалізації бізнес-логіки.
Зазвичай цей термін відноситься до Java-серверів додатків. У цьому випадку сервер додатків поводиться як розширена віртуальна машина для запуску додатків, прозоро керуючи сполуками з базою даних з одного боку і з'єднаннями з веб-клієнтом з іншого. Переваги серверів додатків:
• Цілісність даних і коду Виділяючи бізнес логіку на окремий сервер, або на невелику кількість серверів, можна гарантувати оновлення та поліпшення додатків для всіх користувачів. Відсутній ризик, що стара версія програми отримає доступ до даних або зможе їх змінити старим несумісним чином.
• Централізована настройка і управління Зміни в налаштуваннях додатка, таких як зміна сервера бази даних або системних налаштувань, можуть провадитись централізовано.
• Безпека Сервер додатків діє як центральна точка, використовуючи яку, постачальники сервісів можуть управляти доступом до даних і частинам самих додатків, що вважається перевагою захисту. Її наявність дозволяє перемістити відповідальність за аутентифікацію з потенційно небезпечного рівня клієнта на рівень сервера додатків, при цьому додатково приховуючи рівень бази даних.
• Підтримка транзакцій Транзакція являє собою одиницю активності, під час якої велике число змін ресурсів (в одному або різних джерелах) може бути виконане атомарно (як неподільна одиниця роботи). Кінцеві користувачі при цьому можуть виграти від стандартизованого поведінки системи, від зменшення часу на розробку і від зниження вартості.
Приклади реалізації
Під сервером додатків у випадку Java EE розуміється комплекс програм, що реалізують концепцію Java EE і дозволяють запускати в собі Java EE додатка. До класу серверів додатків відносяться такі продукти як Sun GlassFish, IBM WebSphere, RedHat JBoss Application Server, Apple WebObjects (англ.) і ін Zope, розвинений сервер web-додатків. Термінальні сервери, наприклад поставляються компанією Citrix
Java Platform, Enterprise Edition, скорочено Java EE (до версії 5.0 - Java 2 Enterprise Edition або J2EE) - набір специфікацій та відповідної документації для мови Java, яка описує архітектуру серверної платформи для задач середніх і великих підприємств. Специфікації деталізовані настільки, щоб забезпечити переносимість програм з одного реалізації платформи на іншу. Основна мета специфікацій - забезпечити масштабованість додатків і цілісність даних під час роботи системи. J2EE багато в чому орієнтована на використання її через веб як в інтернеті, так і в локальних мережах. Вся специфікація створюється і затверджується через JCP (Java Community Process) в рамках ініціативи Sun Microsystems Inc.
J2EE є промисловою технологією і в основному використовується у високопродуктивних проектах, в яких необхідна надійність, масштабованість, гнучкість. Популярності J2EE також сприяє те, що Sun пропонує безкоштовний комплект розробки, SDK, що дозволяє підприємствам розробляти свої системи, не витрачаючи великих коштів. У цей комплект входить сервер додатків до ліцензії для розробки.
Cервер додатків
-Сервер додатків J2EE (часто званий J2EE-контейнер) - це реалізація системи у відповідності зі специфікацією J2EE, що забезпечує роботу модулів з логікою конкретного додатка. Включає в себе як мінімум наступні сервіси:
-EJB-контейнер, який підтримує автоматичну синхронізацію Java об'єктів з базою даних (CMP - container managed persistence, BMP - bean managed persistence);
-JMS - сервіс доставки повідомлень між компонентами і серверами;
-управління ресурсами (доступ до СУБД, файлової системи, поштового сервера і т. д.);
-безпека і захист даних;
-підтримка транзакцій (в тому числі і розподілених, двофазних). Див Java Transaction API.
-веб-сервер і сервлет-сервер;
-підтримка веб-сервісів.
-JSF