It's been a pretty short week this week, with the recent WildFly announcement still the most prominent event! However, we have just concluded the very first JUDCon in Brazil and it went extremely well!
We had nearly 400 people attend the two day event, with most of the sessions presented in Portuguese or with simultaneous translation. The feedback we received was overwhelmingly positive and it was great to see so many different groups represented in the presenters and audience:
Congratulations to everyone involved in organising the event and thanks to the presenters and the audience! And on this topic, Bela mentions that the final agenda for JUDCon Boston 2013 has been released, so check it out and come along.
For the rest of the week we've seen a few new announcements, including Beta 4 of CapeDwarf 1.0.0, Hibernate Search 4.3.0 Alpha 1, and ModeShape 3.2.0 Final. So not necessarily as busy as other weeks in the JBoss world in terms of blogs, articles etc. but just a busy if you look beneath the covers!
This weeks weekly JBoss Editorial comes to you at this late hour due to some very special news, the new name you as a community have voted for has been announced live in Sao Paulo, Brazil just before this posting in the JUDCon:2013 Brazil keynote speech. We are happy to introduce WildFly as the winning name and successor to the JBoss AS project.
WildFly is the upstream project that supports Red Hat JBoss Enterprise Application Platform and we welcome it to our JBoss family of projects. This project will be active on Twitter as @WildFlyAS, be sure to follow it!
In other news, JUDCon 2013 Brazil is in full samba swing with Infinispan providing another round of great sessions and JUDCon 2013 United States has posted the agenda for Boston on June 9-11th. It should be noted that CamelOne 2013 will be co-hosted with JUCCon 2013 United States in Boston, so it is a great time to be in Boston this summer!
JBoss was also at GartnerBPM, with a full report posted online to give you an impression of the event.
Blogs / Articles
The series of Rules and BPM demos that Eric has been maintaining now have support for Windows installations. Now that last group of users has no excuse not to be spinning up these environments in a flash.
We get another look at how we are ramping up our SwitchYard knowledge, with Keith Babo giving a workshop in DC last week.
The JBoss TS team blog takes us on a tour of how they have Simplified XST Context Propagation.
Here is a great article on how the Eclipse tooling has been simplifed for working on Hibernate ORM projects.
Marek Goldmann walks us through JMX connections to JBoss AS, a gold mine for the options you have.
Over on the very informative site http://howtojboss.com, an article was posted on Data Grid Performance Factors, a must read for all you cache-heads out there. There is also some tips on how to go To the Moon there.
A short article introducing BPSim standard and jBPM's adoption was published this week.
The JBoss WS team posted a Feature Preview article on the coming 4.2 release.
That is it for this week, be sure to tune in next week as we bring you the latest, greatest news coming at you from the wonderful world of JBoss!
Well, not all our news this week deal with it, but, yes, JudCon2013:Brazil, one of the big events for the JBoss community is round the corner. So, if you're in Sao Paolo next Friday and Saturday (April 19-20) or there's any chance for you to make plans for that, don't miss it!
Modularity in Ceylon (and also, some GSOC13 proposals)
Another interesting article on Ceylon this week. Stephane Epardaud takes on modularity in Java and provides a detailed overview of the main benefits and requirements of a modularity system, making a case as to why language-level support, backed by a solid repository system is a good idea, nay, a requirement for a modern language. Such a good one, that Ceylon has implemented it already.
So, if you're interested in Ceylon and would like to undertake a summer project, why not try one the proposals made by the team, which participates this year as part of the JBoss Community organization (and this would be a good time to check the other proposals as well)?
Dirtiness checking in Hibernate
Persistence frameworks like Hibernate simplify the work of developers in various ways. On one hand, the programming model allows manipulating persistent entities as domain objects directly, rather than interacting at the more verbose (albeit more tunable) SQL level. But another important benefit is supporting units of work that group together persistence operation and allow for the automatic persisting of modified entities. So, in this case it is important for the framework to detect if such entities have changed within the scope of a unit of work. Dirtiness checking is a non-trivial operation, and, often, various strategies are required. Steve Ebersole has published a detailed overview of the different options available in Hibernate, including the options, newly added in version 4.1, of delegating the decision to the application.
Infinispan gets a new release, and a server
Normally, we publish information about releases in a separate section, but this release of Infinispan (5.3.0.Alpha1) warrants a separate entry for a number of reasons. Not only it does come with a whole slew of new features, but it also includes a server component as a separate distribution, around a stripped version of JBoss AS7, containing only the services that are required for the data grid.
API improvements for compensation-based transactions
Writing compensating code for transactions can get pretty complicated, so the introduction of a declarative API for describing compensating methods in Narayana is a welcome addition for developers. Paul Robinson provides an introduction to it in his blog post.
Garbage collector performance comparison
Shane Johnson has published an interesting comparative overview of different garbage collector options and how do they affect performance, all in the context of using the JBoss Data Grid. This was all done in preparation for the Red Hat intel webinar earlier this week, the recording of which will be published shortly.
How to set up SOA Tooling in JBDS 7
Good tooling is important for designing any piece of software, but in the case of SOA, with its heightened level of abstraction, it plays an even more important role. JBoss Developer Studio provides good support in that respect, which, most importantly, improves with every edition. If you are interested how to set up SOA tooling in JBoss Developer Studio 7, Eric Schabell has published a blog entry describing how to do that.
Read JBoss documentation on Amazon Kindle
If you love ebook readers (as I do), you might find this little article very interesting. Vlastimil Elias shows how to use the Confluence to Kindle plugin for reading the JBoss documentation on Kindle.
This is all for this week, don't forget about the JudCon2013:Brazil next week, as well as submitting your proposals for Google Summer of Code 2013 on a JBoss Community project.
It is during weeks like this that I realise how much work is happening within the JBoss communities, with posts covering diverse topics such as supporting Software Transactional Memory on a Raspberry Pi to the nuances of handling nulls when invoking Java from Ceylon. Many of these tasks are the result of the developer's interest in the technologies they use on a regular basis, experimenting and pushing the boundaries of what has previously been achieved. Here is an introduction to some of these posts; I hope you manage to find something that is of interest.
STM on a Raspberry Pi
The raspberry pi is a very versatile, small footprint computing device which, although not very fast, is still capable of executing complex software. As part of an ongoing task to introduce STM into vert.x, Mark Little shows us how easy it is to build the latest Narayana release on the Pi before walking us through an example which highlights the existing STM capabilities that are already present in Narayana's TXOJ codebase.
Ceylon, Null and Java Interoperability
One of the interesting features of Ceylon is its support for typed null values, a capability which can cause some confusion when it comes to invoking Java methods from within the language. The Ceylon team have put a lot of thought into how they should handle this issue, implementing what they believe to be the best solution, but the behaviour is still proving to be a surprise to many. Gavin has taken some time to describe the issue, some of the reasons which lead to the current implementation, and how this affects the Ceylon code.
Framework-less Dependency Injection within Scala
The use of dependency injection in any language usually implies that a DI framework is also a necessity, handling the injection at runtime, but this does not always have to be the solution. Adam Warski has been putting a lot of thought into this problem and has come up with a different approach for solving this issue within Scala, making use of Scala Macros to handle the DI at compile time.
Faster and Easier Planning within OptaPlanner
Geoffrey has recently replaced the ConstraintOccurrence in OptaPlanner with the much more concise ConstraintMatch system. The result of this change is faster execution of the scoring and a more concise syntax for the DRL files. Check out Geoffrey's post for more details on this change, including a performance comparison with the previous system.
Callable Statement support in Hibernate
The JPA 2.1 specification adds a number of very useful features to the specification, one of which is support for invoking stored procedures. For simple invocations, for example the invocation of stored procedures which return a single result, this is a straight forward task however it is only when you consider stored procedures that can return multiple results, and/or update counts, that you realise that the code begins to look unfriendly. In order to address this issue Steve Ebersole recently implemented an alternative mechanism, specific to hibernate, which results in simpler, more concise code.
Handling JDBC drivers within an OSGi Container
Handling JDBC drivers within OSGi can be a challenge when a bundle attempts to load the driver dynamically, requiring the bundle to have visibility of the driver within its ClassLoader. If the package name of the driver is known before hand then this can easily be addressed through the use of the Import-Package metadata however there are many occasions when the driver is not known until runtime. Freeman Fangs has come across this situation on a number of occasions and shares his advice on how this issue can be solved.
Claus Ibsen will be presenting at an Apache Camel event in Copenhagen on April 11th and may also be presenting at the Gothenburg JUG on April 23rd.
That's all for another week, please drop by next week for some more updates from the JBoss Community.