JAVA

Строго типизированный объектно-ориентированный язык программирования. Его разработала компания Sun Microsystems, а в последующем приобрела компания Oracle. Разработка ведется сообществом, организованным через Java Community Process, язык и реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle. Приложения Java транслируются в специальный байт-код, поэтому могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска – 23 мая 1995 года. В 2019 году Java становится одним из самых популярных языков программирования. 

Spring — универсальный фреймворк с открытым исходным кодом для Java-платформы. Первая версия была написана Родом Джонсоном, который опубликовал её вместе с изданием книги «Expert One-on-One Java EE Design and Development». Spring предоставляет большую свободу Java-разработчикам в проектировании. Кроме того, он предоставляет хорошо документированные и лёгкие в использовании средства решения проблем, возникающих при создании приложений корпоративного масштаба. Особенности ядра Spring применимы в любом Java-приложении и существует множество расширений для построения веб-приложений на Java Enterprise платформе. По этим причинам Spring признаётся разработчиками как стратегически важный фреймворк.

Hibernate — самая популярная реализация спецификации JPA, предназначенная для решения задач объектно-реляционного отображения. Целью Hibernate является освобождение разработчика от значительного объёма сравнительно низкоуровневого программирования при работе в объектно-ориентированных средствах в реляционной базе данных. Разработчик может использовать Hibernate как в процессе проектирования системы классов и таблиц «с нуля», так и для работы с уже существующей базой данных. Hibernate автоматизирует генерацию SQL-запросов и освобождает разработчика от ручной обработки результирующего набора данных и преобразования объектов, максимально облегчая перенос приложения на любые базы данных SQL.

Struts — это фреймворк с открытым исходным кодом для создания Java EE веб-приложений. Создан Крейгом МакКланаханом и передан Apache Foundation в мае 2000 года. Сначала был известен как Jakarta Struts. С 2005 года стал проектом высшего уровня в Apache Software Foundation. Struts был создан для того, чтобы четко разделить бизнес-логику, HTML-страницы и контроллер, отвечающий за передачу данных от модели к представлению и обратно. Struts предоставляет стандартный контроллер – сервлет под именем ActionServlet и различные средства для создания страниц представления. Разработчик веб-приложения отвечает за написание кода модели и создание конфигурационного файла struts-config.xml, который связывает воедино модель, представление и контроллер.

JBoss — сервер приложений Java EE, полностью разработанным на Java и может работать в любой операционной системе. Изначально разрабатывался Марком Флери как свободное программное обеспечение под названием EJB-OSS. В настоящее время правообладателем проекта является RedHat. Основными характеристиками являются возможности подключения, скорость отклика и масштабируемость, а основным фактором, стоящим за улучшениями в этих областях, является новый веб-сервер Undertow, который является более мощным, чем его конкуренты, такие как Jetty Web Server.

EJB — это спецификация технологии написания и поддержки серверных компонентов, содержащих бизнес-логику. Является частью Java EE. Эта технология обычно применяется, когда бизнес-логика требует как минимум один из следующих сервисов, а часто все из них: поддержка сохранности данных, поддержка распределённых транзакций, поддержка параллельного изменения данных и многопоточность, поддержка событий, поддержка именования и каталогов, безопасность и ограничение доступа к данным, поддержка автоматизированной установки на сервер приложений, удалённый доступ.

Servlet — является интерфейсом Java, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Для таких приложений технология Java Servlet определяет HTTP-специфичные сервлет классы. Первая спецификация сервлетов была создана в Sun Microsystems. Начиная с версии 2.3, спецификация сервлетов разрабатывалась под руководством Java Community Process. 

RMI — это программный интерфейс вызова удаленных методов в языке Java. Распределенная объектная модель, специфицирующая, каким образом производится вызов удаленных методов, работающих на другой виртуальной машине Java. При доступе к объекту на другом компьютере возможно вызывать методы этого объекта. Необходимо только передать параметры метода на другой компьютер, сообщить объекту о необходимости выполнения метода, а затем получить обратно возвращаемое значение. RMI даёт возможность организовать выполнение всех этих операций. В терминах RMI объект, который вызывает удалённый метод, называется клиентским объектом, а удалённый объект – серверным объектом.

JNI — это стандартный механизм для запуска кода под управлением виртуальной машины Java, который написан на языках С/С++ или Ассемблере и скомпонован в виде динамических библиотек, позволяет не использовать статическое связывание. Это дает возможность вызова функции С/С++ из программы на Java, и наоборот. Более ранние интерфейсы не удовлетворяли условию двоичной совместимости. Преимуществом JNI перед предыдущей версией и другими похожими интерфейсами является то, что JNI изначально разрабатывался для обеспечения двоичной совместимости, для совместимости приложений, написанных с использованием JNI, для любых виртуальных машин Java на конкретной платформе.

JDBC — соединение с базами данных на Java. Это платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql, входящего в состав Java SE. JDBC основан на концепции так называемых драйверов, позволяющих получать соединение с базой данных по специально описанному URL. Драйверы могут загружаться динамически во время работы программы. Загрузившись, драйвер сам регистрирует себя и вызывается автоматически, когда программа требует URL, содержащий протокол, за который драйвер отвечает. JDBC API содержит два основных типа интерфейсов: первый – для разработчиков приложений и второй – для разработчиков драйверов.

Tomcat — это контейнер сервлетов с открытым исходным кодом, разрабатываемый Apache Software Foundation. Написан на языке Java. Tomcat позволяет запускать веб-приложения и содержит ряд программ для самоконфигурирования. Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в серверах приложений JBoss и GlassFish.

JSF — это Java спецификация для построения компонентно-ориентированных пользовательских интерфейсов для веб-приложений, написанный на Java. Он служит для того, чтобы облегчать разработку пользовательских интерфейсов для Java EE-приложений. В отличие от прочих MVC-фреймворков, которые управляются запросами, подход JSF основывается на использовании компонентов пользовательского интерфейса. 

ESP — это интерфейс платформы Arduino с использованием Java Socket. Применяется для управления и программирования микроконтроллеров на базе платформы Arduino для создания программно-аппаратных комплексов, например, системы мониторинга параметров газовых счетчиков и других прикладных задач. Обеспечивает связь «программной» части, написанной на Java и «аппаратной» части на базе платформы Arduino.

Область применения JAVA

Системы с большими объемами данных

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

Управление справочниками и классификаторами

Системы ведения нормативно-справочной информации устраняют избыточность и противоречивость данных, снижают издержки на их хранение и обработку. Чем крупнее организация, тем больше объем разнородной нормативно-справочной информации. Без управления информационной средой системы хранения переполняются противоречивой информацией, разные части которой дублируют друг друга. В конечном счете, это приводит к остановке важных бизнес-процессов. Единые информационные системы управления справочниками и классификаторами предприятия решают эти проблемы. Такие решения интересны финансовым, страховым и торговым компаниям, оперирующим большими объемами информации о клиентах, услугах и продуктах.

E-Commers

Адаптированные под мобильные устройства интернет-магазины и мобильные онлайн-сервисы по заказу услуг стали сегодня частью нашей жизни. Прибыль площадок электронной коммерции исчисляется сотнями миллионов долларов в год и постоянно растет. Сегодня даже крупные оптовые компании и компании-производители часто заказывают разработку интернет-магазина, чтобы обеспечить потребности розничных покупателей и повысить свою маржу. Интернет-магазин также является хорошей рекламной площадкой новой продукции производителя или оптового поставщика. Для ритейлеров E-commers – это жизненная необходимость в условиях рынка с жесткой конкуренцией за потребителя.

Функциональное тестирование всех типов приложений

Доступно для всех типов приложений. Проверяет, что  заложенная в приложении бизнес-логика отрабатывается корректно и конечные пользователи получают от приложения ровно то, что ожидают. Основная задача – установить соответствие разработанного программного обеспечения исходным функциональным требованиям компании клиента. Тестирование позволяет проверить способность информационной системы в определенных условиях решать задачи, нужные пользователям.

Примеры работ

OptIt – система СМС-маркетинга

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

Единая информационная система в сфере закупок Федерального казначейства

Комплексная модернизация ПО Единой информационной системы в сфере закупок Федерального казначейства.

Программное обеспечение для компании Trackunit

Разработанное приложение позволило не только расширить спектр услуг по слежению за парком автомобилей и других передвижных средств, но так же помогло сократить затраты на разработку и отстраховать связанные с этим возможные риски.

Технологии