Latest Links - Sunday Feb. 6, 2011

Latest links from my Twitter, Google Reader and Flickr accounts.


Latest Links

Latest links from my Twitter, Google Reader and Flickr accounts.


Roller 5 and JBoss 6

JBoss logo In my quest to make Roller work on Java EE 6, the next server that I tackled was JBoss 6. In this blog I'll describe how I approached the problem what I learned along the way.

Tested with Hibernate JPA

Roller uses JPA for database storage and specifically the Apache OpenJPA implementation. I knew that JBoss uses the Hibernate JPA implementation and I suspected that there would be JPA portability problems, so I decided to run Roller's JUnit tests against Hibernate JPA. There were many test failures and fortunately, the failures were easy to fix.

[Read More]

Latest Links

Latest articles shared via Google Reader:

Latest links shared via Twitter


Roller 5 and Glassfish 3

Duke and GlassFishIn my quest to make Roller work on Java EE 6, the first server that I decided to tackle was Glassfish 3. In this blog I'll describe how I approached the problem and what I learned along the way.

Tested with EclipseLink JPA

Roller uses JPA for persistence and specifically the Apache OpenJPA implementation. I knew that GlassFish uses the EclipseLink JPA implementation and I suspected that there would be JPA portability problems, so I decided to run Roller's JUnit tests against EclipseLink JPA. I wanted to find and fix those problems before even touching GlassFish. The tests ran and there were many JPA related failures and errors, most due to differences in the way that EclipseLink handles bi-directional relationships and the use of unmanaged objects.

[Read More]

Latest Links

Latest links from my Twitter, Google Reader and Flickr accounts.

LotusLive screencast / telecon recording

Works very nicely, at least for the short tests I have tried.
2011-01-07 13:30:48.0


Roller 5 and Java EE 6

It's hard to believe, but I've been dorking around with Roller, the blog software that powers this site, for almost 10 years now. I started in summer 2001. In the past couple of years, I've had a lot less time to work on Roller. I devoted some of that time to mentoring student developers, which was fun and rewarding. I also spent time making Roller more consumable for developers by making it easier to build, run and deploy to modern Java app servers, which was not really fun but was definitely educational, bloggable even.

[Read More]

Latest Links

Latest links from my Twitter, Google Reader and Flickr accounts.


Apache Roller 5.0 RC3

On the last day of 2010, I made available the third release candidate for Apache Roller 5.0. The main difference between this new candidate and the previous one is that the new RC3 runs on Java EE 6 servers: Glassfish 3, JBoss 6 and Websphere 8 (currently in beta). Making this happen took a lot more work than I expected and I'll blog about that over the next couple of weeks as it is an interesting case study in Java EE 6 portability.

Here's the announcement:

Apache Roller 5.0 Release Candidate RC3 is now available for testing.
Note that this is NOT a release of the Apache Software Foundation or
anybody else; this release candidate is for testing purposes only and
not recommended for production.

   What's new in Roller 5.0:
   https://cwiki.apache.org/confluence/display/ROLLER/What's+new+in+Roller+5.0

   Change list (issues resolved since 4.0)
   http://bit.ly/gAhDWR

   Issues resolved since last release candidate (RC3)
   http://bit.ly/dZ27Nx

   Signed binary and source files. Also, documentation in PDF form
   http://people.apache.org/~snoopdave/apache-roller-5.0/

The biggest change in RC3 is the new support for Java EE 6 application
servers: Glassfish 3, JBoss 6 and Websphere 8 (beta). I've been able
to verify that Roller runs on all of those servers, and I updated the
installation guide to explain in detail how you install on Glassfish,
JBoss and WebSphere.

If you would like to help out then please test RC3, discuss the
problems you encounter here and file specific bugs with steps to
reproduce in the Roller JIRA bug tracking system.

Thanks,
Dave
That announcement is available here: http://markmail.org/message/my5wbld2xqvhqpyg

re: RDF and OpenSocial

This is the closest thing to a blog post that I've written lately, a post to the OpenSocial specification group on aligning OpenSocial with RDF and Linked Data:

This is a topic of interest to me, so I'll try to elaborate.

First, I want to point out that RDF is not a representation, it's a way to model data and it's multiple ways to represent that data (in XML, JSON, etc.). I think the real question is: how do we enable OpenSocial to hook into the RDF-based web of "Linked Data" that is rapidly growing up around scientific data, government open data and the academic world. I'm not going to go into the benefits of Linked Data in this post, but I will disclose that I work for a company that uses RDF as a common data model to enable loosely coupled integration across our web application products (see also Jazz Integration Architecture [1] and OSLC [2]). We'd like to be able to integrate with OpenSocial services in the same ways.

I'll explain the basics of RDF. RDF is way to model web data and ways to represent that data in XML, JSON, Turtle, etc. The RDF data model is simple, we have resources identified by URIs and property values associated with those resources. Resources can have types, each type is identified by a URI. Property types have URIs too. Once you have defined your data model in terms of RDF types and properties, you can represent resources and their properties using RDF representations. There's RDF/XML for XML, there's RDFa for embedding properties in HTML. There's are JSON representations too, but not a standard for JSON yet.

So, to bring OpenSocial in-line with the world of Linked Data, we would define each class of OpenSocial objects as an RDF type, with a URI. We would define each OpenSocial property as an RDF property, with a URI. In some cases, we'll want to use existing properties, like the Dublin Core title, name, etc., and in some cases we'll want to define entirely new types and properties.

As a starting point, I think we would do the following:

* In OpenSocial v2, we would define all OpenSocial objects and properties as RDF types in the OpenSocial Specs. This means simply assigning a URI to every class and every property we define, using standard properties where appropriate and defining new ones as needed. Object and property names would rename the same and we'd have what is essentially an RDF mapping built into the spec. Existing OpenSocial representation formats would stay the same, but we'd add some new RDF representations.

* We'd introduce an optional new OpenSocial spec that services MAY implement: the OpenSocial RDF Specification. The specification would simply require that a service provide RDF representations of it's resources via content-negotiation. The service could offer RDF/XML or HTML with RDFa, JSON/RDF or all of the above.

That's a starting point and I think we could come up with some other ideas if we thought more about use cases. Anybody else interested in aligning the worlds of OpenSocial and Linked Data?

Link: RDF and OpenSocial

Apache Roller 5.0 RC2

A couple of weeks ago, I made a second release candidate available for Apache Roller 5.0. Here's the announcement (also available at http://s.apache.org/apacheroller50rc2):

Apache Roller 5.0 Release Candidate RC2 is now available for testing. 
Note that this is NOT a release of the Apache Software Foundation or 
anybody else; this release candidate is for testing purposes only and 
not recommended for production.

   What's new in Roller 5.0:
   https://cwiki.apache.org/confluence/display/ROLLER/What's+new+in+Roller+5.0

   Roller 5.0 JIRA change list:
   https://issues.apache.org/jira/sec ... sion=12313828

   Signed binary and source files
   http://people.apache.org/~snoopdave/apache-roller-5.0/

   Issues resolved since RC1:
   http://bit.ly/9eWjJk

If you would like to help out then please test RC2, discuss 
the problems you encounter here and file specific bugs with steps to
reproduce in the Roller JIRA bug tracking system.

I'm running RC2 on this site and it seems to be holding up just fine so far.


Very cool: New BikePed Googlemap for Raleigh

This looks to be useful and I'm always happy to hear of more bike lanes and greenway paths planned for Raleigh. The main thing I need for my biking safety is a bike-path along Sandy Forks Road, or at least a sidewalk, but apparently that's not in the Raleigh Bike Plan's Top 25 (whatever that means).

raleighbikeped.jpg

Courtesy of Mr. Steve Waters — member of the Raleigh Bike Ped Advisory Commission — comes this one-stop look at Raleigh's greenways and bicycle routes, current and future. (Mostly, in the case of bike lanes, future.)

Link

USDA Enterprise IT Solutions: Blogging

While reading the feeds the other day, I was delighted to see that the USDA IT department offers support for Apache Roller within the agency, below are the options. Wordpress MU is also supported.

Enterprise Solutions (NITC): Software As A Service

NITC offers a full service Blogging software service that can provide enhanced internal and external communication among management, operational and business staff, and the public. When this service is integrated into a web application, posted information is shared in a chronological fashion that delivers a high level of feedback and end-user interaction.

  What's Included

  • Apache Roller Weblog™ or Wordpress MU™ software
  • Apache Roller Weblog
    - Multi-node, highly available architecture
    - Production and non-Production environment
    - USDA eAuthentication protection available
    - Customizable “theme” packs, including standard USDA templates
    - User Accounts for site administration / content authoring
  • Wordpress MU™
    - Multi-node highly available solution
    - Production and non-Production environment
    - Optional “add-ons” to add additional functionality to blogs
    - Customizable CSS-based themes
    - RSS Feeds
Link

Agile planning w/Google Wave and Team Concert

This sounds cool. I'd love love to see the slides or better yet, a sceen-cast.

Distributed Planning Poker
Integrating Google Wave and Rational Team Concert for collaborative effort estimation

Collaborative estimation and planning is a key concept for all agile development process frameworks. We will present a solution for playing "Planning Poker" that enables distributed development teams to estimate the effort of work items and build consensus in a collaborative way.

The prototype uses Google Wave as a collaboration platform and OSLC (http://www.open-services.net) for seamless integration with the developer IDE and work environment. We will show a demo on how a distributed team can estimate user stories and tasks from a product backlog in a collaborative way, and instantly use the results as the base for further sprint planning.

Additionally, attendees will learn some basic concepts and features about Google Wave, OSLC and IBM Rational Team Concert.

Social Connector for Rational Team Concert

Mainsoft's Team Concert to Lotus Connections integration is getting better and better. I know this because I spent about 12 hours last week offering demos of the product at Innovate 2010. The except below is from a blog post on Jazz.net about the newest preview release. You can try it now. There's a download link at the end of the post and, like Team Concert, it's nice and easy to install and configure.

Build a Community around Your Project

Growing a social network around a software project brings developers up to speed faster. New hires and teams that are added to a core team will find all the information they need in a central Lotus Connections community, including blogs, forums, wikis, file repositories, and bookmarks. These collaboration systems offer a broad teamwork base for any software project. For example, wikis can hold product specifications, blogs can be used to publish roadmaps to a wider audience, forums can be used to gather feedback from beta testers, and a file repository hosts nightly builds with download statistics and commentary features.

Creating a new Lotus Connections community, or linking to an existing one, only takes a couple of clicks.  The administrator sets the Lotus Connections community in the Social Network tab under project management.

Once the project community is created, all project members are added to it and as new developers join the project, they automatically become members of the project community.

Read more...

Rational Workbench for CLM launched at Innovate 2010

Rational CLM diagram

From my point-of-view, this was the big news from Innovate 2010: integration, linking and process automation across the software lifecycle from requirements, dev, build and test -- based on open interfaces defined by OSLC:

Dave Thomson: Why is this important?  The activities involving requirements, development, build and test are not process silos.  Integrating these disciplines through process automation, links between artifacts, and reporting across these links improves the productivity of teams while also improving the quality of the deliverables from those teams.

To focus this effort, we’re bringing Rational Team Concert, Rational Quality Manager, and a new requirements management product tentatively named “Rational DOORS Requirements Professional” more closely together and calling this set of products the Rational Workbench for Collaborative Lifecycle Management.

What’s a “workbench”? A Workbench is a term we use to describe a combination of products, services, and best practices that are designed to work well together to solve a particular problem.

Maven 3.0: 50% to 400% speed improvement?

A drop-in replacement with 50% to 400% speed improvement? That sounds too good to be true.

Matt Raible: The main improvement in Maven 3 is speed. It's been performance tuned to be 50% to 400% faster. Benchmarks (guaranteed by integration tests) include better: Disk I/O, Network I/O, CPU and Memory. Another new feature is extensibility so Maven is a better library rather than just a command-line tool. Now there's a library and APIs that you can use to do the things that Maven does. Plexus has been replaced with Guice and it's now much easier to embed Maven (Polyglot Maven and Maven Shell are examples of this).

Apparently it is not entirely true, at least not yet (Maven 3.0 is still in beta). I tried switching to Maven 3 for the Roller 5 build and hit several build errors related to class-loading and JPA byte-code enhancement.


OpenSocial State of the Union 2010

Here's summary of last week's OpenSocial State of the Union, including news of two new board members: Cody Simms from Yahoo and Jason Gary from IBM:

Mark Weitzel (on behalf of the OpenSocial Foundation): The event started off with introductions of the Foundation Board members and officers. Cody Simms is Yahoo!’s corporate designate. IBM is a new corporate member and has designated Jason Gary as their representatives. Welcome Cody and Jason. The complete list of your Foundation Officers and Board Members is in the FAQs.

In addition to new corporate members of the OpenSocial Foundation Board, there are two community seats available. Anyone is able to serve on the board. The only requirement to nominate or hold the position is that you must be a member of the OpenSocial Foundation. There are no membership fees to join OpenSocial. All you need to do is fill out a simple on-line membership application.

It’s been an exciting year and a half for OpenSocial! We’ve seen continued adoption of the specification as new containers come on line. Perhaps what is more interesting is that we are starting to see OpenSocial adoption outside of “traditional” social networks. This includes adoption by enterprise vendors such as Jive, Atlassian, and IBM.


Forces and vulnerabilities of the Apache model

Ceki Gülcü: Instead of trying to learn from past failures which open discussion is supposed to encourage, Apache forges on in the path of egalitarianism. As time passes, I see attempts at institutionalizing egalitarianism instead of recognizing its inherent injustice. If egalitarianism is really at the core of the Apache way as an absolute value, then the Apache way sucks. Yay!

While the one person one vote principle applies to a democracy in order to run a country for the benefit of all, the one person one vote principle is ill-suited in a purported meritocracy the size of Apache. If it must be "one developer one vote", then the word meritocracy cannot be honestly ascribed to Apache.

Very interesting discussion and comments on the dynamics of meritocracy at the Apache Software Foundation from Ceki Gülcü.

WordCamps need to be GPL too now?

Remkus de Vries: The sixth point is where it get’s tricky however. “People or companies in violation of the WordPress license cannot be accepted as event organizers or sponsors“. Does this mean we have to block out sponsors as Microsoft and the likes? They are clearly not GPL compliant, and don’t get me wrong, I’m very much in favor of the GPL license, but this does not sound right to me. Same goes for speakers, what if you have perfect speaker and he or she is willing to help out, but because they work for a company that does not support the GPL they won’t be allowed to come? That can’t be right. I can understand that we should try to get behind the GPL as much as possible whenever a WordCamp event is being organized, but I don’t think it is humanly possible to conduct a background check on all sponsors and speakers.

Wordcamp as the front-line of Wordpress GPL enforcement measures? Weird, but I don't see the problem with Microsoft because, as far as I know, they don't distribute Wordpress code and thus cannot be violating the Wordpress GPL license.

« Previous page | Main | Next page »