I lead the Seam, Weld and CDI TCK projects, am an adviser to the RichFaces project, and a founder of the Arquillian project. I've worked on a number of specifications including JSF 2.0, AtInject and CDI. I am a regular speaker at JUGs and conferences such as Devoxx (Javapolis), JAX, JavaBlend, JSFDays and JBoss World.
I am currently employed by Red Hat Inc. working on JBoss open source projects. Before working for Red Hat, I used and contributed to Seam whilst working at a UK based staffing agency as IT Development Manager.
| Recent Entries |
|
31. Aug 2010
|
|||
|
24. Aug 2010
|
|||
|
19. Jul 2010
|
|||
|
09. Jun 2010
|
|||
|
01. Jun 2010
|
|||
|
10. May 2010
|
|||
|
08. May 2010
|
|||
|
22. Apr 2010
|
|||
|
14. Apr 2010
|
|||
|
12. Apr 2010
|
|||
|
09. Apr 2010
|
|||
|
10. Mar 2010
|
|||
|
24. Feb 2010
|
I'm very pleased to say that we have released the first beta of Weld 1.1.0, the reference implementation of JSR-299: Contexts and Dependency Injection for Java EE. It's based on the CDI 1.0 API. You can find direct download links at the bottom of this post or you can pull the artifacts from the JBoss Maven Repository.
Highlights from this release are:
- Ability to exclude classes from scanning and deployment as beans by Weld. You can configure this in beans.xml for the bean archive you are deploying:
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:weld="http://jboss.org/schema/weld/beans"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd
http://jboss.org/schema/weld/beans http://jboss.org/schema/weld/beans_1_1.xsd">
<weld:scan>
<!-- Don't include GWT support if GWT is not installed -->
<weld:exclude name="com.acme.gwt.**">
<weld:if-class-available name="!com.google.GWT"/>
</weld:exclude>
</weld:scan>
</beans>
- The new Pastecode example, which shows off many of the new EJB 3.1 features in use with Weld
- around 60 bug fixes
- Some improvements to error reporting (with a lot more planned for Weld 1.1.0.Beta2)
- Unsafe instantiators (Nicklas will blog about this soon!)
- A new proxy layer (that doesn't suffer from the memory leaks that Javassist has)
- Improvements in memory usage, with more planned for Beta2
A couple of weeks back, we released 1.0.2.CR2 of the CDI TCK as well - you can find the links for it below :-)
Thanks go to David Allen, Marius Bogoevici, Stuart Douglas, Martin Gencur, Jozef Hartinger, Nicklas Karlsson, Aslak Knutsen, Peter Lenyi, Matija Mazi, Pete Royle for their hard work on this release!
JBoss Tools
JBoss Tools 3.2.M1 and later has got great CDI support - they've implemented around 60 validations (meaning you get that vitally important feedback about whether you made a mistake much earlier) and added content assist for EL in JSF, as well provided excellent integration with m2eclipse, meaning you can easily scaffold a new project, and then import it into Eclipse. Check it out
JBoss AS
Weld 1.1.0.Beta1 will be included in the next release of JBoss AS 6.0; until then you are best off using a snapshot build of JBoss AS. We recommend you use this build, unless you want to live life on the edge!
About Weld
Weld is used in GlassFish V3 and the JBoss AS 6 series. Weld also has support for Servlet containers such as Tomcat and Jetty. Alternatively, you can use Weld with Java SE.
There is great testing support via Arquillian, which allows you to test in Weld SE, a mocked out Java EE container, Tomcat or Jetty, as well as JBoss AS and GlassFish.
If you are just getting started, there are a few examples in the distribution to guide you (look for instructions in the reference guide, and each example has a readme.txt). If you are looking for help, try our user forums, or perhaps join us on IRC.
[ Distribution (Weld, CDI TCK) ] | [ Release Notes (Weld, CDI TCK) ] | [ Reference Guide (Weld, CDI TCK ] | [ Issue Tracker (Weld, CDI TCK) ] | [ CDI Javadoc ]
I realize that a Seam 3 status update is overdue, so without further ado let me fill you in on where we are. From my previous blog, we are aiming to include these modules in Seam 3.0:
| Module | Target Version | Code Quality | Blockers |
|---|---|---|---|
| Drools 5 integration | 3.0 | Alpha | Weld Extensions Alpha 3 |
| Additional JSF 2 support | 3.0 | Beta | Seam Persistence Alpha 1 |
| Internationalization support | 3.0 | Alpha | JBoss Logging 3 |
| Seam Security | 3.0 | Alpha | Seam Persistence Alpha 1 and Seam XML Beta 1 |
| XML Configuration | 3.0 | Beta | Weld Extensions Alpha 3 |
| jBPM 3 support | 3.0 | Alpha | |
| Additional support for RESTEasy | 3.0 | Alpha | |
| Additional support for Servlet | 3.0 | Beta | |
| Seam Persistence | 3.0 | Alpha | Seam XML Beta1 |
| Javascript Remoting | 3.0 | Beta | |
| JMS events bridge | 3.0 | Alpha | |
| Support for GWT | 3.0 | RC | |
| Support for Wicket | 3.0 | RC | |
| Reporting (Excel and PDF support) | 3.0 or 3.1 | Alpha | |
| Seam Mail | 3.0 or 3.1 | Alpha | |
| Exception Handling | 3.0 or 3.1 | Alpha | |
| Scheduling support, including asynchronous events | 3.0 or 3.1 | Alpha | |
| Seam 2 Backwards Compatibility | 3.1 | ||
| Spring Integration | 3.1 | ||
| Support for JBoss ESB | 3.1 | ||
| Provisionally, support for jBPM 5 | 3.1 |
As you can see, all modules have been started, with many in or approaching Beta (feature complete). The primary blockers are getting Weld Extensions and XML Configuration API complete - you can expect these, and the waterfall of other module releases over the next few weeks.
Once we have have alpha or beta releases of all required modules for Seam 3.0 we will put out a beta of the whole distribution - again, expect this in the next few weeks.
We purposefully do not give even estimates of an overall release date - I can only say it will be ready when it is ready!
Update: if you want to track development of Seam 3, then checkout the wiki page which has an overview of the modules and will be kept up to dateCalling all Seam module contributors!
We're running a small competition for all Seam contributors - so if you've been thinking about pitching in, now would be a good time ;-)
We have a number of categories:
- Best module example
- Best module documentation (Javadoc and reference guide
- Most innovative feature
- Best API design
- Most active module promoter (e.g. blogging, tweeting)
Once Seam 3 is final, we will run a poll so that the community can select the winner for each category. And of course, we have prizes! The winning module for each category will receive a gift voucher for the Seam store - it'll be up to the module lead to distribute this as they see fit!
Happy coding :-)
Portability is one of greatest advantages of the Java platform. It represents the concept that from one application to another, from one application-server vendor to another, and from one job to another, knowledge is freely transferable; the same skills, technologies, and designs can be used with assurance that there are always multiple choices for business solutions.
Often times, in the world of open-source standards, we find ourselves solving similar problems in many places, sometimes leading to innovation, but frequently leading to frustration; this is where the world of portability takes on new meaning - with portable extensions to Contexts and Dependency Injection for Java EE (CDI).
Portable Extensions are usable on any Servlet container, application-server, or Java runtime; learn once, run anywhere - the same promise that Java guarantees.
Seam 3 represents our pick of the best CDI extensions including like custom web-application security, web-flow engines, internationalization and localization, simplified web-page development, and even mail templating or document generation - business needs that nearly every application developer must provide, but that nobody should need to re-invent.
But sometimes, you'll want something different, and that is why we have created the CDI Extensions Directory - where anybody can link their extension. These extensions might be a jar you can drop into your application through to an example someone threw together for a blog.
We encourage anyone who has written an extension to add a link in the directory, so that everyone can take advantage of it!
At this year's JBoss World we're excited to introduce Metawidget, a community Open Source project that aims to address the pain points associated with UI development.
Many of us today need to develop a lot of data entry forms for our applications – either for collecting data or displaying it. And most of us do this using either visual tools (like Matisse) or UI languages (like Facelets). But both these approaches are very fiddly: you have to drag-and-drop, or write declarations for, every single widget and label. And that's very error prone because each of those widgets and labels has to exactly match some definition in your back-end: either the names and types in your POJOs, the field lengths in your database schema, or some other place your UI maps back to. Another common approach to developing forms is using a code generator. But these tend to produce very generic-looking UIs (usually CRUD UIs), or work only for a specific set of technologies that the generator targets.
Finally, of course, those back-end business objects evolve over time - new fields get added, field types change, etc – so we're left constantly reworking our UI screens to keep up!
Metawidget is a UI technology focused on enabling you to use your existing back-end technologies (including combinations of technologies) and your existing front-end frameworks (including different UI frameworks and mixing third-party widget libraries) to automate UI generation. It only tries to generate the forms, not your entire UI, so you still use your preferred UI toolkit to get the exact look and feel your users require. And it generates everything at runtime, not statically, so your screens automatically evolve in sync with your business objects.
Come join us for a Campground session to see Metawidget in action, and whether it can ease your UI development pain!
Thanks to Richard Kennard for help putting together this session and blog entry!| Showing 1 to 5 of 80 blog entries |
|
|