Technology partners

OS.bee is based on extensible frameworks, tools and runtime environments for building, deploying and magaging software applications across the lifecycle of business software development. OS.bee allows software factory users to take advantage of built-in 30+ OS frameworks, covering practically all different aspects of engineering business applications: presentation, business logic, security, and data management tasks.

Dynamic Module System – OSGi
OSGi

Dynamic Module System

OS.bee aims to offer modular architecture, based on the Open Service Gateway initiative (OSGi) uniform component model. From the complete set of available OSGi specifications, we selected the ones relevant to the business domain. The chosen composites provide high-level capabilities (packages, services, extenders, etc.) composed by modules upon which business applications can be built.

OS.bee provides the developers with resources necessary to take advantage of OSGi's platform independence and dynamic code-loading capability. This helps to easily develop services for business applications that can be deployed on a large scale.

More information
IDE – Eclipse
Eclipse

IDE

Eclipse ecosystem is building the base for the Open Standard business engineering environment (OS.bee). The Eclipse integrated development environment (IDE) is an open-source, robust, fully featured, commercial-quality industry platform for the development of highly integrated tools and applications. It contains a basic workspace and an extensible plug-in system for customizing the environment.

More information
OSGi Core Framework Implementation – Equinox
Equinox

OSGi Core Framework Implementation

The Equinox project provides the OSGi-based runtime on which all of Eclipse is based, and allows developers to implement an application as a set of "bundles" using common services and infrastructure. 

Technically, Equinox is an implementation of the OSGi core framework specification, a set of bundles that implement various optional OSGi services and other infrastructure for running OSGi-based systems within Eclipse IDE.

More information
Modeling Framework – EMF
EMF

Modeling Framework

The EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model. The core EMF framework includes a meta model (Ecore) for describing models and runtime support to produce Java classes for a model. EMF delivers the basis for model-driven software development with OS.bee.

More information
Domain Specific Languages – Xtext, Xtend, Xbase
Xtext, Xtend, Xbase

Domain Specific Languages

Xtext delivers the basis for model-driven software development with OS.bee. It's an open-source framework for building structural domain-specific languages (DSL), developed as part of the Eclipse Modeling Framework (EMF) Project.

Xtext provides a powerful syntax-driven editor for editing grammars as well as compiler components including such things as the parser, the type-safe abstract syntax tree (AST), the serializer and code formatter, the scoping framework and the linking, compiler checks and static analysis aka validation and last but not least a code generator or interpreter. It comes with Xbase as a library of reusable methods and Xtend as a general-purpose language for the Java Virtual Machine which is built on top of this library.

More information
UI Components & Mobile – Vaadin
Vaadin

UI Components & Mobile

Vaadin delivers a large collection of UI components for OS.bee. It gives a great experience to users in their desktop browsers as well as on mobile or any other device, increases productivity and the ergonomics of your applications. 

Vaadin is a web application framework for creating rich and interactive applications in Java that run in the browser, without any additional plug-ins. In contrast to JavaScript libraries and browser-plugin-based solutions, it features a server-side architecture, which means that the majority of the logic runs on the server. Ajax technology is used at the browser-side to ensure a rich and interactive user experience. On the client-side, Vaadin is built on top of and can be extended with the Google-Web-Toolkit.

Vaadin TouchKit is used to create the mobile UI supporting many special mobile browser features, such as geolocation, context-specific input fields, or offline mode.

More information
Graphical Modeling – Sirius
Sirius

Graphical Modeling

Sirius is an Eclipse project which allows to easily create own graphical modeling workbench by leveraging the Eclipse Modeling technologies.

A modeling workbench created with Sirius is composed of a set of Eclipse editors (diagrams, tables and trees) which allow the users to create, edit and visualize EMF models.

The editors are defined by a model which defines the complete structure of the modeling workbench, its behavior and all the edition and navigation tools. This description of a Sirius modeling workbench is dynamically interpreted by a runtime within the Eclipse IDE.

More information
Business Processes – jBPM
jBPM

Business Processes

jBPM® is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart. This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor.

The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification. Complex business logic can be modeled as a combination of business processes with business rules and complex event processing. In OS.bee, jBPM is used combined with the Drools project to support one unified environment that integrates these paradigms where you model your business logic as a combination of processes, rules and events.

More information
Business Rules – Drools
Drools

Business Rules

Drools® is a business rule management system (BRMS) with a forward-chaining, inference-based (production) rules engine using an enhanced implementation of the Rete algorithm. The Business Logic Implementation Platform (BLIP) by Drools encodes the real-world business rules that determine how data can be created, displayed, stored, and changed. It describes rules and workflows that focus on improving corporate performance by managing and optimizing a company’s business processes.

More information
Business Intelligence – Mondrian (by Pentaho)
Mondrian (by Pentaho)

Business Intelligence

Mondrian is an Open Source Business Analytics engine that enables organizations of any size to give business users access to their data for interactive analysis. It allows multidimensional analysis of large and complex amounts of data in real-time.

With Mondrian as Online Analytical Processing (OLAP) engine, OS.bee provides Business Intelligence features, enabling multidimensional queries against business data, using the powerful MDX query language.

More information
Security – Apache Shiro
Apache Shiro

Security

Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography and session management in OS.bee. It enables to quickly and easily secure any application – from the smallest mobile applets to the largest web and enterprise applications.

More information
Report Generator – BIRT
BIRT

Report Generator

The Business-Intelligence-and-Reporting-Tools (BIRT) is an open source software project that provides reporting and business-intelligence capabilities for rich-client and Web applications. BIRT is a top-level software project within the Eclipse Foundation, an independent, not-for-profit consortium of software industry vendors and the open-source community. In OS.bee BIRT is used to address a wide range of reporting needs within a typical application, ranging from operational or enterprise reporting to multi-dimensional online analytical processing (OLAP).

More information
Persistence – eclipse link
eclipse link

Persistence

The EclipseLink project delivers a comprehensive, open-source Java persistence solution addressing relational, XML and database Web services. The EclipseLink Java Persistence API (JPA) provides support for leading relational databases and Java containers.

More information
Persistence – Hibernate
Hibernate

Persistence

Hibernate® is a high-performance Object/Relational persistence and query. Hibernate “sits” between traditional Java objects and database server to handle all the work in persisting those objects based on the appropriate O/R mechanisms and patterns. It not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities.

More information
OSGi persistence services – Gemini
Gemini

OSGi persistence services

OS.bee utilizes Eclipse Gemini project for modular Java EE implementations. This project is a collection of implementations of some of the OSGi Enterprise specifications. Several sub-projects are used to provide unique functionality.

Gemini Naming Data Sources

Gemini Naming is a subproject of the Gemini project, which provides a suite of enterprise technology modules. The Gemini Naming project implements support for using the Java Naming and Directory Interface™ (JNDI) within an OSGi environment. It provides a common framework for publishing JNDI providers as OSGi services, and then allows JNDI clients to easily consume these providers.

Gemini JPA

The Gemini JPA project is about modular implementations of Java Persistence API technology. This project currently provides the integration with the EclipseLink JPA provider to support the OSGi JPA specification approach that clients can use to get JPA support in an OSGi framework.

More information
Messaging Service – Apache ActiveMQ
Apache ActiveMQ

Messaging Service

Apache ActiveMQ™ is the most popular and powerful open source messaging and Integration Patterns server, fully implementing Java Message Service (JMS).

It enables distributed communication of application components that is loosely coupled, reliable, and asynchronous. ActiveMQ is fast, supports a variety of cross language clients and protocols, and comes with easy to use enterprise integration patterns and many advanced features.

More information
Data Integration – Smooks
Smooks

Data Integration

Smooks is an extensible framework for processing structured data (XML and non XML, such as CSV, EDI, Java, etc). It supports binding of Java Object Models from any data source, message splitting & routing and huge message processing. With Smooks OS.bee provides data interchange functionality in order to extract, transform and load data (ETL).

More information
Units of Measurement – UOMo
UOMo

Units of Measurement

UOMo adds units of measurement support for IT systems and services both to language and data. With UOMo developers do not need to understand the mathematics of units, how to convert between systems, and how to format and parse string representations of units. It’s all delivered automatically with OS.bee.

More information
Internationalization (I18N) – TapiJI
TapiJI

Internationalization (I18N)

TapiJI represents a set of smart tools that integrate OS.bee with the goal to reduce effort of internationalization. This is accomplished by creating a productive environment for building multilingual applications. TapiJI tools, recently contributed to Eclipse Babel project, provide a rich set of smart and context-aware I18N aids in Eclipse, assisting developers in performing internationalization as part of their day-to-day work.

More information
Graph Visualization – mxGraph
mxGraph

Graph Visualization

mxGraph is the market leading JavaScript graph visualization component. It provides all the commonly required functionality to draw, interact with and associate a context with a diagram. In OS.bee it enables application developers to display interactive diagrams and graphs.

More information
Application Server – Jetty
Jetty

Application Server

OS.bee comes with the embedded web server and servlet container – Eclipse Jetty. It has been designed to have a small memory footprint, which is an excellent basis for performance and scalability of applications created with OS.bee. Jetty is full-featured and standards-based, it offers support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.

More information
Project Build Management – Maven & Tycho
Maven & Tycho

Project Build Management

OS.bee development relies on Maven as a build automation tool. Maven provides a uniform build system, quality project information and guidelines for best practices development.

Eclipse Tycho project is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven. Tycho introduce new packaging types and the corresponding lifecycle bindings that allow Maven to use OSGi and Eclipse metadata during a Maven build.

More information
Continuous Integration – Jenkins
Jenkins

Continuous Integration

Jenkins provides continuous integration services for the development of OS.bee software factory.  We use Jenkins to build and test OS.bee continuously, which enables developers to integrate changes to the project, and making it easier for users to obtain a fresh build. 

More information
Repository Management – Nexus Repository
Nexus Repository

Repository Management

As an important component of efficient development infrastructure OS.bee utilizes Nexus Repository OSS. It acts as dedicated proxy server for OS.bee Maven repositories and provides repositories as a deployment destination. Sonatype is the world leader in repository management, with more than 120,000 installs of Nexus worldwide.

More information
Distributed Version Control System – Git
Git

Distributed Version Control System

OS.bee development team uses Git® for version control. It is a widely used distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. 

More information
Gerrit – Code Review
Code Review

Gerrit

Gerrit is a free, web-based team code collaboration tool closely integrated with Git. It allows OS.bee software factory development team to review each other's modifications on their source code using a web browser and approve or reject those changes. Gerrit is used to trigger a build after a change is checked in for review and forwards changes to a clean branch for creating a clean build. 

More information
SWT Widgets – Opal
Opal

SWT Widgets

The Opal Project delivers new widgets for the SWT API. In OS.bee image selector widget is implemented.

More information
Code quality – SonarQube
SonarQube

Code quality

SonarQube is used in OS.bee for continuous inspection of code quality. It offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, potential bugs, comments and design and architecture. 

More information