So here are some of the best bits from the first day.
The Future of the Enterprise Service Bus at JBoss
If your using or thinking about using JBossESB then you shouldn't have missed this talk. The end of the road is insight for JBossESB, the current JBoss offering that forms the base for the supported SOA-P platform. It will be replaced in SOA-P 6 with SwitchYard and this talk focused on the implementation differences between the two projects and migration paths to move from ESB to SwitchYard. I felt a little sorry for co-presenter Tom Cunningham, project lead on JBossESB as Keith Babo, his counterpart on SwitchYard reeled off improvements in tooling, configuration and wound up with a slick demo creating a simple service using an Eclipse plugin. It's still early days for SwitchYard features such as clustering and distribution have yet to be implemented but the writing in on the wall for JBossESB. It's definitely time to take a good look at this project if you are an ESB user.
Eventual Consistency in Infinispan
Manik Surtani presented plans to implement a new consistency model for Infinispan, "eventual consistency". Starting with an overview of CAP theory he covered the difficulties of managing consistency, availability and partition tolerance in a distributed system. You can have two out of the three properties but you can't have everything!
Consistency - all nodes have the same view of the data
Availability - all requests receive a response (an error is a legitimate response)
Partition Tolerance - the system still functions in the event of a network partition of split brain
Currently Infinispan operates in a single traditional "Strongly Consistent" model facilitated by its built in support for transactions, thereby providing ACID guarantees for cache operations. In the new model some consistency would be sacrificed for better handing of network partitions. Vector clocks will track causality of updates and a new API will permit applications to make consistency "fixes" should operations return indeterminate results. For example a V cache.get(K) operation could return multiple versions of a cache entry if a network partition has occurred. The API would allow the application to make an intelligent choice over which entry is correct and "fix" the consistency discrepancy. Users will have the ability elect which consistency mode to run their distributed system in but this is some way off as its still in the design stage.
JBoss AS7/EAP6 - Reflection of 6 Months on-site
If you wanted to get some deeper information on reality around migrating applications to the latest JBoss application server (AS7 or EAP6 depending on your budget) then this talk highlighted the fundamental changes in the new modular class-loading architecture. The jboss-deployment-structure.xml configuration file gives you fine grained control over class-loading and the ability to define explicit dependencies.