Return-Path: X-Original-To: apmail-deltaspike-commits-archive@www.apache.org Delivered-To: apmail-deltaspike-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5024610851 for ; Mon, 15 Dec 2014 22:25:44 +0000 (UTC) Received: (qmail 52669 invoked by uid 500); 15 Dec 2014 22:25:44 -0000 Delivered-To: apmail-deltaspike-commits-archive@deltaspike.apache.org Received: (qmail 52601 invoked by uid 500); 15 Dec 2014 22:25:44 -0000 Mailing-List: contact commits-help@deltaspike.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltaspike.apache.org Delivered-To: mailing list commits@deltaspike.apache.org Received: (qmail 52415 invoked by uid 99); 15 Dec 2014 22:25:44 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Dec 2014 22:25:44 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id A6E1A9C85A9; Mon, 15 Dec 2014 22:25:43 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rafabene@apache.org To: commits@deltaspike.apache.org Date: Mon, 15 Dec 2014 22:25:49 -0000 Message-Id: <784bfb3b2c924614b84c41b40f9400dd@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [7/9] deltaspike git commit: DELTASPIKE-690: Edited background section in overview.adoc DELTASPIKE-690: Edited background section in overview.adoc Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/0a034dd8 Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/0a034dd8 Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/0a034dd8 Branch: refs/heads/master Commit: 0a034dd8dae84b41e9a61474748badfe5ce79ec1 Parents: 548383b Author: michellemurray Authored: Wed Nov 26 17:52:09 2014 +1000 Committer: Rafael Benevides Committed: Mon Dec 15 20:24:45 2014 -0200 ---------------------------------------------------------------------- documentation/src/main/asciidoc/overview.adoc | 35 +++++++++++++++++----- 1 file changed, 28 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/0a034dd8/documentation/src/main/asciidoc/overview.adoc ---------------------------------------------------------------------- diff --git a/documentation/src/main/asciidoc/overview.adoc b/documentation/src/main/asciidoc/overview.adoc index 09163b6..dd92304 100644 --- a/documentation/src/main/asciidoc/overview.adoc +++ b/documentation/src/main/asciidoc/overview.adoc @@ -4,19 +4,40 @@ :toc: -== Background: Portable CDI Extensions -Contexts and Dependency Injection (CDI) for Java EE (link:https://jcp.org/en/jsr/detail?id=299[JSR 299]) was introduced as part of Java EE6. It defines a collection of Java services that provides the foundation for frameworks, extensions, and integration with other technologies. -Portable CDI extensions extend CDI implementations and improve existing Java EE APIs by enabling integration of different technologies. They can be used with any spec-compliant CDI implementation, such as JBoss Weld or Apache OpenWebBeans. The CDI container manages start and stop procedures, web beans, lifecycles, and injections. This means portable CDI extension injections can be handled by the container instead of the user. +== Background -== About DeltaSpike -DeltaSpike is a collection of portable CDI extensions. These ready-to-use modules are created by the community and provide a method of integrating tested API extensions into your Java projects. +=== CDI +Java Contexts and Dependency Injection for the Java EE platform (link:https://jcp.org/en/jsr/detail?id=299[JSR 299]), abbreviated to CDI, was introduced as part of Java EE6. The core features of CDI are as follows: + +* improved stateful object lifecycles with an additional context named _Conversation_ that encompasses a series of requests within one session and lifecycle management by the container according to well-defined contexts +* dependency injection conducted in a type-safe manner, with type checking conducted at compilation time so errors are exposed earlier and debugging is easier +* event notification facility for object interaction +* a better approach for interceptors with annotations binding interceptors to objects and with a new interceptor named _decorator_ that knows about individual bean attributes through inheritence and is more appropriate for use in solving business problems +* a Service Provider Interface (SPI) for developing portable extensions to the CDI container + +CDI is a link:https://jcp.org/en/home/index[Java Community Process (JCP)] standard. All Java EE6 compliant application servers must provide support for CDI. link:http://weld.cdi-spec.org/[JBoss Weld] is a reference implementation of the CDI specification and other spec-compliant implementations exist such as link:http://openwebbeans.apache.org/[Apache OpenWebBeans (OWB)]. While CDI is a Java EE6 essential, CDI can also be used in Java SE environments with the aid of standalone CDI implementations. + +=== Portable CDI Extensions +The CDI Service Provider Interface (SPI) is exposed to enable extension of the CDI feature set by third-parties. Portable CDI extensions extend CDI implementations and improve existing Java EE APIs by enabling integration of different technologies. + +As set out in the CDI specification, a portable CDI extenstion may integrate with a CDI container as follows: + +* providing its own beans, interceptors and decorators to the container +* injecting dependencies into its own objects using the dependency injection service +* providing a context implementation for a custom scope +* augmenting or overriding the annotation-based metadata with metadata from some other source + +As indicated by the name, _portable_ CDI extensions can be used with any spec-compliant CDI implementation. + +== About Apache DeltaSpike +Apache DeltaSpike is a collection of portable CDI extensions. These ready-to-use modules enable you to integrate tested API extensions into your Java projects. DeltaSpike consists of a core module and a number of optional modules for providing additional enterprise functionality to your applications. 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. DeltaSpike also provides boot and shutdown control over CDI containers in Java SE applications. -As portable CDI extensions, DeltaSpike requires a CDI implementation and supports both JBoss Weld and Apache OpenWebBeans. DeltaSpike has also been tested on a range of application servers and containers that provide these CDI implementations, such as Apache TomEE, JBoss AS, WildFly, Oracle GlassFish, and Jetty. +As a CDI extension, DeltaSpike must be used in conjunction with a CDI implementation and supports both JBoss Weld and Apache OpenWebBeans. DeltaSpike has been tested on a range of application servers and containers that utilize these CDI implementations, such as Apache TomEE, JBoss AS, WildFly, Oracle GlassFish, and Jetty. -In addition to the portable CDI extension modules, DeltaSpike provides a number of examples to assist you in understanding how to use and get the most from this technology. +In addition to the portable CDI extension modules, DeltaSpike provides a number of examples to show you how to use and get the most from this technology. == Features of DeltaSpike