Spring Roo
| Spring Roo | |
|---|---|
| | |
| | |
| Тип | Платформа программирования |
| Разработчик | Сообщество SpringSource |
| Написана на | Java |
| Операционная система | Кроссплатформенное программное обеспечение |
| Аппаратная платформа | Java Virtual Machine |
| Последняя версия | 1.3.2 (1 сентября 2015) |
| Состояние | Активна |
| Лицензия | GNU General Public License 3.0 (core); Apache License 2.0 (annotations) |
| Сайт | springsource.org/roo |
Spring Roo — фреймворк с открытым исходным кодом для быстрого создания бизнес-приложений на Java.[1] Полученные в результате приложения используют общие технологии Java, такие как Spring Framework, Java Persistence API, JSP, Apache Maven и AspectJ[2]. Spring Roo является частью проекта Spring.
История
Главной задачей проекта Spring Roo является «принципиальное улучшение труда Java-программистов без ущерба для инженерного внедрения и гибкости»[3].
Технология была впервые продемонстрирована в ходе конференции программистов SpringOne Europe 27 апреля 2009 года одновременно с публикацией первого альфа-релиза. Во время конференции прошло обсуждение названия продукта (тогда он находился по кодовым названием «Roo», без «SpringSource»)[4]. В результате название «Spring Roo» стало более предпочтительным, вытеснив при этом «Spring Boost», «Spring Spark», «Spring HyperDrive» и «Spring Dart».[5]
Совместимость стандартов и технологий
Roo по умолчанию облегчает создание приложений, которые совместимы со следующими стандартами и основными технологиями[6]:
- Apache ActiveMQ (в качестве встроенной реализации JMS)
- Adobe Flex (через установленный плагин SpringSource)
- Apache Maven (с версии 2.2 и выше)
- Apache OpenJPA (в качестве реализации JPA)
- Apache Solr (поисковый сервер)
- Apache Tiles (стандартный вид MVC)
- Apache Tomcat (hosted execution support)
- AspectJ (используется для АОП с «примесями» для достижения разделения ответственности)
- AspectJ Development Tools (плагин для Eclipse)
- Облачные вычисления (через SpringSource Cloud Foundry, Google App Engine и VMforce)
- Dojo Toolkit (через Spring JavaScript)
- Eclipse (среда разработки) (одновременное выполнение и создание метаданных проекта)
- EclipseLink (в качестве реализации JPA)
- Google Web Toolkit (с GWT 2.1, включая особенность GWT 2.1 — такие как «фабрика запросов»)
- Hibernate (в качестве реализации JPA)
- Java Bean Validation (JSR 303) (включая Hibernate Validator)
- Java Database Connectivity (для использования JPA)
- Java Message Service (интерфейс сообщений производителей и потребителей)
- Java Persistence API (несколько реализаций)
- Java Transaction API (через монитор транзакций Spring)
- Java (версия 5 и выше)
- Java Server Pages (стандартный вид MVC)
- Jetty (hosted execution support)
- JSON (методы в классах для сериализации, десериализации и поддержки REST)
- JUnit (автоматическое тестирование проектов пользователя)
- Log4j (установка и настройка)
- OSGi (Roo основан на OSGi)
- Representational State Transfer (REST)
- Selenium (автоматическое тестирование проектов пользователя)
- Spring Framework (реализовано в версии 3 и выше)
- Spring Security (реализовано в версии 3 и выше)
- Spring Web Flow (установка и определение процедуры)
- SpringSource Tool Suite (STS имеет встроенную консоль Roo и помощник)
- .war (для распаковки пакетов)
Список может быть расширен за счёт дополнений.
Архитектура
Spring Roo работает путем генерации межтиповых объявлений AspectJ (иначе известных как примеси или введения). Это обеспечивает разделение ответственности, поскольку код, поддерживаемый Spring Roo, находится в другом модуле компиляции, отличном от кода, написанного пользователем. Это означает, что Spring Roo может постепенно изменять необходимые межтиповые объявления AspectJ, оставляя все остальные файлы нетронутыми.
Spring Roo использует дополнения для предоставления всей функциональности внутри и поверх системы выполнения OSGi, основанной на Apache Felix.
Отличия
Spring Roo отличается от других аналогичных приложений по следующим основным причинам:[7]
- Производительность платформы Java: Roo обеспечивает для Java-разработчиков производительность их решений. Пользователь должен использовать только Java. Roo использует основные стандарты и технологии бизнес-приложений, чтобы максимизировать удобство разработки поверх уже готового кода.
- Юзабилити: Оболочка Roo разработана с целью обеспечить простую для использования среду разработки, которая сводит к минимуму требования предварительного обучения. Аннотации Roo всегда начинаются с @Roo (в командной строке в IDE). Кроме того, пользователи могут редактировать программные файлы Roo, когда IDE не работает.
- Нет лишних библиотек: Roo не использует API среды исполнения и не требует наличия различных системных библиотек. Это гарантирует, что нет связанного с Roo потребления ресурсов процессора, диска и оперативной памяти. Код оптимизирован для компактного развертывания облачных вычислений и множества вариантов использования масштабируемости.
- Не привязан к поставщику: Roo может быть быстро удален из проекта, что помогает избежать привязки к поставщику ПО.[8][9][10]
- Расширяемость: Разделение базовой инфраструктуры ядра и базовых дополнений позволяют сторонним разработчикам создавать плагины для Roo.[11][12]
Ссылки
- Официальный сайт продукта (англ.)
Примечания
- ↑ SpringSource CEO to tout Roo, a new Java enhancement. Дата обращения: 31 августа 2011. Архивировано 8 июня 2011 года.
- ↑ SD Times: Roo released to handle repetitive Spring tasks. Дата обращения: 31 августа 2011. Архивировано из оригинала 25 февраля 2012 года.
- ↑ Spring Roo reference documentation", Mission Statement section. Дата обращения: 5 сентября 2011. Архивировано 5 сентября 2011 года.
- ↑ SpringOne Europe 2009 Keynote: The Future of Java Innovation Архивировано 9 октября 2009 года.
- ↑ Spring Roo reference documentation. Дата обращения: 5 сентября 2011. Архивировано 5 сентября 2011 года.
- ↑ TechCast: Spring Roo podcast. Дата обращения: 31 августа 2011. Архивировано 23 февраля 2010 года.
- ↑ Spring Roo Home Page. Дата обращения: 30 августа 2011. Архивировано 30 августа 2011 года.
- ↑ Sun Java 5 JavaDocs for RetentionPolicy.SOURCE. Дата обращения: 9 сентября 2011. Архивировано 29 июня 2010 года.
- ↑ Push-In Refactoring for AJDT. Дата обращения: 9 сентября 2011. Архивировано 8 июля 2011 года.
- ↑ Eclipse AJDT intertypes and Push-In refactoring Архивировано 17 января 2010 года.
- ↑ Italian Java User Group JavaDay IV Conference: Spring Roo Internals. Дата обращения: 9 сентября 2011. Архивировано 5 сентября 2011 года.
- ↑ Spring, Roo, and Alfresco Too: What Alfresco Gave to Spring and Why. Дата обращения: 9 сентября 2011. Архивировано 29 сентября 2011 года.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.