Screencast about Apache DeltaSpike addon for JBoss Forge

 logo_blue

Since I started contributing on Apache DeltaSpike I started to think that some steps could be automated.

I worked with JBoss Forge 1 and was very excited to taste the new JBoss Forge 2, so I decided to start writing, with the great help of George Gastaldi, an addon for JBoss Forge to automate the installation process of DeltaSpike core dependencies and its modules.

The roadmap for this plugin includes also a setup of beans.xml:

Example for Security Module:

<beans>
    <interceptors>
        <class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
    </interceptors>
</beans>

and also provide some code snippets for some DeltaSpike features.

Check the screencast about the first release of the DeltaSpike addon:

You’re also encouraged to contribute. The project source is located at: https://github.com/rafabene/addon-deltaspike

Um pouco sobre a plataforma OpenStack

Rafael Benevides:

Great informations in Portuguese about OpenStack

Originally posted on Rafaeltuelho's Weblog:

Neste post pretendo falar um pouco sobre a plataforma OpenStack. Apesar de não ser um especialista em Cloud Computing, gosto de ficar antenado no que acontece no vasto mundo da TI.

O que é OpenStack?

Em um primeiro momento poderíamos definir vagamente OpenSatck como um software de cloud computing. Sendo um pouco mais específico: um Sistema Operacional projetado para nuvem capaz de controlar uma enorme quantidade de recursos computacionais (processamento, armazenamento e rede) em um datacenter. Um cenário típico de um ambiente de cloud.

Entretanto, acho mais apropriando definir OpenStack como um projeto aberto cujo objetivo é servir como plataforma base para construção de nuvens públicas ou privadas.

o termo “projeto aberto” neste contexto merece destaque, pois implica que o projeto nasceu com o objetivo de ser transparente e independente de fabricante. O site do projeto destaca os seguintes valores baseados nessa filosofia: open source, open design…

View original 1,237 more words

DeltaSpike 1.0 Released

Hi!!!! Image

When CDI spec came out, there was a huge revolution on everything related to DI on the Java ecosystem. One of the biggest features on CDI is that you’re allowed to create your own extensions and make CDI even more powerful.

Imagine: Simply drop a jar to your project’s classpath and voila! You now have available new powerful beans available to be injected on your source code, bringing the most amazing features with loose coupling.

This is DeltaSpike! A powerful set of CDI Extensions that will make your project rock!

DeltaSpike beans are available through modules built around the “core” module.

  • The “Core” module – Is the only one required and brings features like Type-safe ProjectStage, @Exclude (to veto CDI beans), Type-safe messages & I18n, Exception handling framework and more.
  • The “Security” module – Allows a fine grained and Type-safe control over method invocations
  • The “JPA” module – Allows a transactional context and also defines a CDI transactional scope
  • The “Data” module – Makes easy for you to implement the repository pattern as also brings an implementation for Entity auditing.
  • The “JSF” module – Has a lot of improvements for JSF as Type-safe view config, Multi-Window handling, new scopes (WindowScoped, ViewScope, ViewAccessScoped, GroupedConversationScoped) and integration with DeltaSpike “core” messages and exception handling
  • The “Bean Validation” module – Allows you to inject CDI objects, EJBs etc in to your validators
  • The “Servlet” module – Allows the injection of Servlet objects on environments prior to CDI 1.1. It also propagates a number of Servlet object lifecycle events to the CDI event bus
  • The “Partial Bean” module -  Allows you to implement a generic handler to replace manual implementations of interfaces (or abstract classes)
  • The “Scheduler” module – Provides a simple integration with Quartz v2 (per default) or any other scheduler which supports cron-expressions for job-classes
  • The “Container & Control / Test-Control” – Allows you to boot and shutdown the CDI container in SE applications, control the life-cycle of the built-in contexts of the CDI container and write CDI based tests easily.

Check it on http://deltaspike.apache.org/

If you find any issues, please report on Jira or get in touch through the mail list.

What is JDF – JBoss Developer Framework?

A versão em português pode ser encontrada em:

https://community.jboss.org/wiki/JDF-OQueEOJBossDeveloperFramework

The portuguese version can be found at:

https://community.jboss.org/wiki/JDF-OQueEOJBossDeveloperFramework

The first impression when we heard about the JDF,  is that since it is called a Framework we should find a library, a jar ou anything that remember the traditional frameworks. But JDF is a awesome knowledge base for the Java EE 6 platform. It is wrong to think that it is only a collection of examples and that’s why I’ll explain the JDF’s concept.

You known that Java EE 6 spec is a umbrella for other technologies ( EJB 3.1, JPA 2.0, JSF 2.0, Servlet 3.0, JAX-RS 1.1, etc). But what if we had a knowledge base with examples that even developed for many people it still following well known standards and recommendations that you can apply to your project? The JDF is it too.

The first thing that we realize is that all quickstarts follow the Maven structure. That’s the recommended way to create your projects and keep your source code. And please, do not commit your .project and .classpath files in you version control system (git, svn, cvs), ok? Eclipse with JBoss Tools or JBDS supports Maven projects and do the integration in a transparent way with WTP (Web Tools Project).

1 – Archetypes

Since all JDF project are Maven based, lets start by the Archetypes. Suppose that you want to start a new project Java EE 6. JDF give us some Maven Archetypes so you can start your project without needing to setup from scratch. JDF archetypes:

  1. WEB Project – Project (WAR packaging) with an example application.
  2. WEB Blank Project – Project (WAR packaging) blank.
  3. EAR Project – Project (EAR packaging with WAR and EJB) with an example application.
  4. EAR Blank Project – Project (EAR packaging with WAR and EJB) blank.

For more informations about Archetypes, take a  look at http://maven.apache.org/archetype/maven-archetype-plugin/usage.html

2 – BOMs (Bill of Materials)

Bill of Materials (aka BOM) is a concept that Maven uses to manage dependency versions. Only who had the experience to “mavenize” a existent project, knows how it is difficult to find the right version for a artifact.

Did you already see the quantity of JBoss project and technologies at  http://www.jboss.org/projects ?

Now imagine that you have to know which is the right “groupId” and “artifactId” for each one of these projects? Now imagine how the complexity increases if you need to find the right version too. Increase the complexity if you need to know what version doesn’t conflict with another version from another artifact. This is the kind of thing that you won’t have if you use JDF BOMs. All information about GAV (“groupId”, “artifactId”, “version”) is there.

Another great advantage is that all these BOM managed artifacts have the guaranty that it is on Maven Central repo (except by the Enterprise artifacts).

Some BOMs options:

  1. Java EE 6 with Hibernate
  2. Java EE 6 with Resteasy
  3. Java EE 6 with Infinispan
  4. Java EE 6 with Richfaces
  5. Java EE 6 with …

The are many other options. If you need to know more about BOMs, take a look at: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Management

3 – Stacks

We saw how BOMs can help, but we know that the JBoss technologies are continuously being improved and for this reason, a BOM or Archetype can be updated. For customers who has subscriptions, there’s also many products that needs integrate in a supported way as is the case of EAP (Enterprise Application Platform) 6.0.x and WFK (Web Framework Kit) 2.x.

JDF has a sub project called Stacks that manages the relationship between a Runtime  (JBoss AS, JBoss EAP, JDG, etc) Archetypes and its versions. You can have an idea about this relationship by looking this diagram: https://github.com/jboss-jdf/jdf-stack/blob/1.0.0.Final/fileformat.png

This relationship is kept in a YAML filehttps://github.com/jboss-jdf/jdf-stack/blob/1.0.0.Final/stacks.yaml - This file is consumed for some tools like JBDS and the Forge plugin. So when you use this tools, you’re using the latest data from BOMs and Archetypes according to the selected Runtime.

The JDF JBoss Stacks page also uses the same information provided by this file. In this page is possible to navigate through this Runtimes, Boms, Archetypes and versions. Check it outhttp://www.jboss.org/jdf/stack/stacks/

You can also consume this data without dealing with downloading and parsing the file. You can use the a Java client tool: http://www.jboss.org/jdf/stack/stacks-client/

4 – Quickstarts and standards

With almost 80 quickstarts being developed by many people (as from Red Hat engineers, as from community colaborators, there are some standards that are followed through the quickstarts and you can also follow on your projects.

For example, almost all projects doesn’t use the web.xml file. The beans.xml and faces-config.xml files are used to activate CDI and JSF. It is also possible to see how is the recommended way to use a specific technology (infinispan, deltaspike, etc), as how the project can be tested using arquillian or even how to deploy the application using  jboss-as-maven-plugin.

More than examples, this quickstarts are truly tutorials since all of them are very well documented and its source code comments explains why some technicals approach was used. JDF is Java EE 6 knowledge base. One of the most complete and rich that exists today!

Contribute

Great part of this quickstarts were built by Red Hat engineers considering the recommended way to use the technologies. For example, Richfaces and Infinispan quickstarts were built by its engineers from these teams. But don’t let this afraid you. You can contribute, just look on the quantity of contributors at http://www.jboss.org/jdf/about/contributors/

Each JDF page has a “Get Involved”  section with a step-by-step guide on how to contribute. It’s an excellent opportunity to involve more with open source and work with amazing technologies.

All source code are at https://github.com/jboss-jdf/ - Take a look. It is full of cool stuff there.

Cya!

JDF – JBoss Developer Framework 2.1 released!

Last week during a team meeting, JDF 2.1.Final was released.

In this release, users can now have a taste of JDG – JBoss Data Grids through 6 new Quickstarts that shows from a basic helloworld applicaton to more complex examples.

And what about Deltaspike? Do you want to give a try on some exiting features? 7 Quickstarts shows each one of these features in a simple and comprensive way.

To help managing your projects, some BOMs were added to Stacks. Take a look on JDF Stacks page.

Enjoyed ?

Want to contribute ? JDF has now a Contributing guide for each of its subproject. Don’t be afraid. You can contribute with Quickstarts, BOMs, Archetypes, etc.

More news are coming. Stay tuned!

JBCAA for EAP6

http://www.abselektronik.pl/images/stories/Zdjcia_produkty/10-04_6_2_redhat_logo.jpgToday I received my exam results for the JBCAA – JBoss Certified Application Administrator - for EAP6.

Most people asked me why take another certification since you’re already a JBCAA for EAP5. That’s easy to answer: EAP6 has fully changed. It’s basically a new product with new (and wonderful) features.

I didn’t take any training for this certification  (but that’s another long and sad history), but as a Red Hat employee I have used the JB248 course books and read it all. Then I read the exam objectives and did one of each objective to practice. The most hard part is to setup a TCP based cluster.

For those who uses JBoss in their infrastructure: Don’t loose the chance to work with the new EAP in Domain mode. It’s simply awesome!

Ceriticate Verification: https://www.redhat.com/wapps/training/certification/verify.html?certNumber=111-061-115

P.S: Thanks once more for Douglas Ramiro who is RHCX (Red Hat Certified Examiner). His presence here in Brasília made this test possible and uncomplicated

JDF 2.0.0.Final released!

Hi!!!

Yesterday (10/24/2012) JDF – JBoss Developer Framework 2.0.0.Final was released. The focus in this release is mobile hybrid applications with Apache Cordova. This release has 65 quickstarts and TicketMonster example and its tutorial was also updated.

Another great part of this release is the JBoss Stacks subproject.  Have you ever wanted to know what Archetypes or BOMs did you need to use for an specific JBoss Version ? With JBoss Stacks you can easily have access to this information.

The Archetypes / BOMs / Runtimes relationship is kept in a yaml file on Github that provides these informations through JBoss Stacks Client API. Some examples of JBoss Stacks use is the new JBoss Tools 4 feature and the JBoss Stacks page itself.

Are you using Forge ? No problem! You can also use JDF Forge plugin to get the right BOM on your project. To get more information about the BOM (Bill of Materials) concept take a look at the Introduction to the Dependency Mechanism on Maven Site.

Enjoy!!!!