osbp_500pxThe Open Standard Business Platform (OSBP) is a community for individuals and organizations who wish to collaborate on open standards for a business platform called BEE (Business Engineering Environment), which exemplifies the idea of business based on open standards. For more details,  read here

Model driven and therefore efficiently, you can design your own business application or use a customizable reference model with worldwide approved engineering methods based on OSBP, to implement cost reducing and sustainable processes and their business applications.
 
business_platform_chart
 

Respecting Open Standards, we have chosen the Eclipse Ecosystem as IDE and the following technology stack to support this business platform, the Business Engineering Environment (BEE).

OSGI_alliance_logo Dynamic module system

The OSBP aims to offer modular OSGi software composites constructed on top of the OSGi specifications (release 5). From the complete set of available specifications, OSBP has 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. The OSGi container will provide to BEE, and therefore to developers, the resources necessary to take advantage of OSGi's platform independence and dynamic code-loading capability, in order to develop services easily for business applications that can be deployed on a large scale.

eclipse_logo Eclipse IDE

The Eclipse top-level project is an open-source, robust, fully featured, commercial-quality industry platform for the development of highly integrated tools and applications, and is used as the IDE for the Business Engineering Environment of the OSBP.  It contains a basic workspace and an extensible plug-in system for customizing the environment.

apache_camel_logo Enterprise integration pattern

Apache Camel is a rule-based routing and mediation engine which provides a Java-object-based implementation of the Enterprise Integration Patterns using an API to configure routing and mediation rules. The domain-specific language means that Apache Camel can support type-safe smart completion of routing rules in an IDE (Eclipse), using regular Java code without large numbers of XML configuration files.

xtext_dsl_logo Domain specific languages (DSL)

Xtext is an open-source framework for developing programming languages and domain-specific languages (DSL). Unlike standard parser generators, Xtext not only generates a parser, but also a class model for the Abstract Syntax Tree and a fully featured, customizable, Eclipse-based IDE.

Xtext is being developed in the Eclipse Project as part of the Eclipse Modeling Framework Project.

shiro_logo Security systems

Security is a concern of every developer of business application software.

Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any application – from the smallest mobile applets to the largest web and enterprise applications.

vaadin_logo UI components

Vaadin is an open-source Web application framework for Internet applications. 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.

vaaclipse_logo UI framework

Vaaclipse is a framework for building Web applications using the Eclipse 4 Platform and Vaadin. It allows for using the power of Eclipse 4 in Web development. Vaaclipse moves the Eclipse Platform to the Web using the rich Web capabilities of Vaadin. You create your Web application using Eclipse 4 features such as Eclipse Workbench, Application Model and Dependency Injection. You provide your own application parts using the Vaadin widget library.

Eclipse 4 (E4) is the future of the Eclipse Platform. E4 provides the new concepts that help you to create modern modular applications. The mission of the E4 project is to build a next-generation platform for pervasive, component-based applications and tools.

liquibase_logo Database source control

Liquibase is an open-source, database-independent library for tracking, managing and applying database changes. It allows easier tracking of database changes, especially in an agile software-development environment.

All changes to a database are stored in XML files and identified by a combination of an "id" and "author" tag, as well as the name of the file itself. A list of all applied changes is stored in each database and is consulted on all database updates to determine what new changes need to be applied. As a result, there is no database version number but this approach allows it to work in environments with multiple developers and code branches

jBPM_logo Business processes

Business processes are the core of every business application. In BEE they are created by the jBPM engine and tell the user what todo. jBPM is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0.

In essence jBPM takes graphical process descriptions as input. A process is composed of tasks that are connected with sequence flows. Processes represent an execution flow. The graphical diagram (flow chart) of a process is used as the basis for the communication between non-technical users and developers. jBPM manages process instances. Some activities are automatic like sending an email or invoking a service. Some activities act as wait states, like for example human tasks or waiting for an external service to return results. jBPM will manage and persist the state of the process instances at all times.

drools_logo Business rules

Drools is a business rule management system (BRMS) with a forward-chaining, inference-based rules engine (more correctly known as a production rule system) using an enhanced implementation of the Rete algorithm. OSBP will focus on BPMN 2.0 models.

tabris_logo Mobile UI

Tabris is a mobile framework that allows you to develop apps completely in Java while still leveraging the power of native UIs. Tabris-based applications can be found in both the Apple App Store and the Google Play Store.

actuate_logo Report generator

The Business-Intelligence-and-Reporting-Tools (BIRT) Project 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.

The project's stated goals are 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).

equinox_logo Equinox

Equinox is an Eclipse project that provides a certified implementation of the OSGi R4.x core framework specification. It is a runtime module that allows developers to implement an application as a set of "bundles" using common services and infrastructure.

gyrex_logo Scaling server clusters

The Gyrex Open-Source Project is an Eclipse project for creating an open, dynamic and extensible platform for Equinox-based server applications. The goal of Gyrex is providing a set of frameworks and tools around Equinox to allow seamless operation of Equinox servers

eclipselink_logo Persistence

The EclipseLink project delivers a comprehensive, open-source Java persistence solution addressing relational, XML and database Web services.

data_sources_logo Data sources

In business applications, the handling of data is a core issue. Consumers have to access data from a data service to display or edit the data, and then write it back to the data service if it has changed.

Since different data sources such as JPA, JDBC, No-Sql, REST, etc. may be available, an abstraction service is needed to transform the data from the data source into a DTO. The abstraction services between data source and consumer are called a data-source service. It defines how to access the underlying data sources and how to map the results into a proper DTO.

These DTOs contain a subset of properties available in a data source. For simple models, the transformation from data source to DTO can be generated by the data-source-service metatype. Complex one has to be implemented by Xtend.

Isolation Ward

The Isolation Ward provides the architecture to collect, validate and manage all artifacts required for the creation of a bundle repository. It consists of three areas:

  • Dirty area
  • Clean border
  • Clean area