Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
245 lines (244 sloc) 11.6 KB
---
layout: base
priority: 0.5
title: CDI ecosystem describing projects and frameworks based on CDI
change_frequency: weekly
desc: CDI ecosystem describing projects and frameworks based on CDI, Apache DeltaSpike, AngularBean, VRaptor, PicketLink, Vaadin CDI, Spring Data, Arquillian, JBoss Forge, Apache Camel CDI, Metrics CDI, Errai
---
.col-md-12
h1 CDI Ecosystem
p
'Because CDI goes well beyond standard Java EE, you'll find on this page resources of the CDI open source ecosystem. These are project or frameworks based on CDI to add high level features to your project
or tools to help you develop your own CDI integration or framework.
If you think a tool or framework is missing here. Feel free to
a href='https://github.com/cdi-spec/cdi-spec.org/blob/master/ecosystem.html.slim'
'contribute to this page.
.panel.panel-primary
.panel-heading
h3.panel-title Apache DeltaSpike
.panel-body
.col-md-9
p
|DeltaSpike consists of a core module and a number of optional modules for providing additional enterprise functionality to your applications.
p
|The modules include features for enhanced security with type-safe control over method invocations, integration with schedulers, injection of CDI objects into validators, and a transactional context and scope.
p
|DeltaSpike also provides boot and shutdown control over CDI containers in Java SE applications.
p
'check
a href='http://deltaspike.apache.org' target='_BLANK'
'Apache DeltaSpike website
i.fa.fa-external-link.fa-w
.col-md-3
img src='#{site.base_url}/images/ecosystem/deltaspike.png' width='300px'
.panel.panel-primary
.panel-heading
h3.panel-title Ocelotds
.panel-body
.col-md-3
img src='#{site.base_url}/images/ecosystem/ocelot.png' width='300px'
.col-md-9
p
|Ocelotds is the open source CDI server-based Java remoting and web messaging technology that enables developers to easily connect to back-end data and push data in real-time to Javascript applications for more responsive rich Internet application (RIA) experiences.
p
|Available for any javascript framework like Angularjs, Knockout... Ocelotds gives the rapidly growing Javascript developer community access to the powerful remoting and messaging technologies.
p
|Other great features in Ocelotds:
ul
li Java EE standard support (CDI, Bean validation, ...)
li Javascript code completion with gulp features
li Easily connect Javascript applications built using any framework to existing Java server logic
li Real-time server push over Websocket
li Full pub/sub messaging that extends existing messaging infrastructure (topic paradigm)
li Cache features in browser. Caching and eviction by server side
p
'check
a href='http://ocelotds.org/' target='_BLANK'
'Ocelotds website
i.fa.fa-external-link.fa-w
.panel.panel-primary
.panel-heading
h3.panel-title Errai
.panel-body
.col-md-9
p
|Errai brings the CDI programming model to the browser using cross-compilation to JavaScript.
p
|It is a general-purpose web framework with a focus on type-safety and standard-conform HTML5 templates. Errai allows your team to share Java EE code between the client and the server and reuse functionality across application layers.
p
'check
a href='http://erraiframework.org' target='_BLANK'
'Errai website
i.fa.fa-external-link.fa-w
.col-md-3
img src='#{site.base_url}/images/ecosystem/errai.png' width='300px'
.panel.panel-primary
.panel-heading
h3.panel-title Angular Beans
.panel-body
.col-md-3
img src='#{site.base_url}/images/ecosystem/ab_medium.png' width='300px'
.col-md-9
p
|Angular Beans is a powerful web framework to use AngularJS in Java EE through CDI.
p
|Angular Beans use the power of both AngularJS and CDI to provide a lightweight but features-rich framework:
ul
li Transform CDI beans into injectable AngularJS services,
li Bean validation support
li Built-in internationalization support from server-side property files,
li Events binding (angularJS events -> CDI events / CDI events -> angularJS events),
li SockJS support (with auto detection) .
li Rest style, Event driven files upload end point .
li And a lot more...
p
'check
a href='http://bessemhmidi.github.io/AngularBeans/' target='_BLANK'
'AngularBeans website
i.fa.fa-external-link.fa-w
.panel.panel-primary
.panel-heading
h3.panel-title VRaptor
.panel-body
.col-md-9
p
|VRaptor delivers high productivity to your Java Web applications on top of CDI. VRaptor is an opensource MVC framework with a large developers and users community
p
|Last version (VRaptor 4) is based on CDI 1.1 while the previous version can be used with CDI 1.0
p
'check
a href='http://www.vraptor.org/en/' target='_BLANK'
'VRaptor website
i.fa.fa-external-link.fa-w
.col-md-3
img src='#{site.base_url}/images/ecosystem/vraptor.png' width='300px'
.panel.panel-primary
.panel-heading
h3.panel-title PicketLink
.panel-body
.col-md-3
img src='#{site.base_url}/images/ecosystem/picketlink.png' width='300px'
.col-md-9
p
|PicketLink is an Application Security Framework for Java EE applications.
p
|It provides features for authenticating users, authorizing access to the business methods of your application, managing your application's users, groups, roles and permissions, plus much more. It integrates in a portable way with Java EE thanks to CDI.
p
'check
a href='http://picketlink.org' target='_BLANK'
'PicketLink website
i.fa.fa-external-link.fa
.panel.panel-primary
.panel-heading
h3.panel-title Vaadin CDI
.panel-body
.col-md-9
p
|Vaadin is a Java EE compatible UI component framework for building rich HTML5 web applications. on. Vaadin CDI supports modern Java EE servers.
p
|Using Vaadin CDI extension these components become CDI managed beans. This opens the great world of CDI for Vaadin developers and simplifies the usage of other Java EE technologies.
P
|It provides custom scopes, roles, access control, CDI events and navigation. Vaadin CDI supports modern Java EE servers.
p
'check
a href='https://vaadin.com/directory-preview#!browse/search=vaadin%20CDI' target='_BLANK'
'Vaadin CDI addons
i.fa.fa-external-link.fa-w
.col-md-3
img src='#{site.base_url}/images/ecosystem/vaadin.png' width='300px'
.panel.panel-primary
.panel-heading
h3.panel-title Spring Data
.panel-body
.col-md-3
img src='#{site.base_url}/images/ecosystem/spring.png' width='300px'
.col-md-9
p
|spring Data makes it easy to use new data access technologies, such as non-relational databases, map-reduce frameworks, and cloud based data services.
p
|It also provides improved support for relational database technologies. This is an umbrella project which contains many sub-projects that are specific to a given database.
p
|All sub-projects provide support for CDI via a portable extension.
p
'check
a href='http://projects.spring.io/spring-data/' target='_BLANK'
'Spring Data website
i.fa.fa-external-link.fa
.panel.panel-primary
.panel-heading
h3.panel-title JBoss Forge
.panel-body
.col-md-9
p
|JBoss forge is a productivity tool helping you generating and managing boilerplate code in your Java EE and Maven project
p
|It's a new code generation tool that lets you the control of generated code. CDI is everywhere in Forge generated projects
p
'check
a href='http://forge.jboss.org' target='_BLANK'
'Forge website
i.fa.fa-external-link.fa-w
.col-md-3
img src='#{site.base_url}/images/ecosystem/forge.png' width='300px'
.panel.panel-primary
.panel-heading
h3.panel-title Arquillian
.panel-body
.col-md-3
img src='#{site.base_url}/images/ecosystem/arquillian.png' width='300px'
.col-md-9
p
|Arquillian is an innovative and highly extensible testing platform for the JVM that enables developers to easily create automated integration, functional and acceptance tests for Java middleware.
p
|It provides extra-light containers to test your CDI code on major implementations or full container to test your CDI code against major Java EE application servers
p
'check
a href='http://arquillian.org' target='_BLANK'
'Arquillian website
i.fa.fa-external-link.fa
.panel.panel-primary
.panel-heading
h3.panel-title Apache Camel CDI
.panel-body
.col-md-9
p
|Apache Camel is an open source Java framework that focuses on making integration easier and more accessible to developers. It does this by providing:
ul
li concrete implementations of all the widely used EIPs
li connectivity to a great variety of transports and APIs
li easy to use Domain Specific Languages (DSLs) to wire EIPs and transports together
p
|Camel CDI provides a Camel DSL for CDI
p
'check
a href='https://github.com/astefanutti/camel-cdi' target='_BLANK'
'Camel CDI project
i.fa.fa-external-link.fa-w
.col-md-3
img src='#{site.base_url}/images/ecosystem/apache-camel.png' width='300px'
.panel.panel-primary
.panel-heading
h3.panel-title Metrics CDI
.panel-body
.col-md-3
img src='#{site.base_url}/images/ecosystem/metrics.jpg' width='300px'
.col-md-9
p
|Metrics provides a powerful toolkit of ways to measure the behavior of critical components in your production environment.
p
|Metrics CDI provides support for the Metrics annotations in CDI enabled environments. It implements the contract specified by these annotations with the following level of functionality:
ul
li Intercept invocations of bean constructors, methods and public methods of bean classes annotated with @Counted, @ExceptionMetered, @Metered and @Timed,
li Create Gauge and CachedGauge instances for bean methods annotated with @Gauge and @CachedGauge respectively,
li Inject Counter, Gauge, Histogram, Meter and Timer instances,
li Register or retrieve the produced Metric instances in the resolved MetricRegistry bean,
li Declare automatically a default MetricRegistry bean if no one exists in the CDI container.
p
'check
a href='https://dropwizard.github.io/metrics/3.1.0/#' target='_BLANK'
'Metrics website
i.fa.fa-external-link.fa-w
' and
a href='https://github.com/astefanutti/metrics-cdi' target='_BLANK'
'Metrics CDI project
i.fa.fa-external-link.fa-w