Tuesday, December 21, 2010

Twenty Ten Java Stories

I was trying to decide what the top stories of 2010 are in the world of Java development. What was top of mind for folks in and around the Java software community? I decided not to simply scour the web for popular articles, blog posts or forum rants – I asked what I tend to think of as my best colleagues from different parts of the business for their views on the year that was in Java. These colleagues included IBMers from software development, marketing, product management, sales, UX design, enterprise architecture, and even my fellow technical evangelists. I asked each person for their top two takes on Java topics and news worthy moments from twenty ten. I wanted to see what the common threads were as well as the important items that may have been eclipsed by the "big news" buzz. I have mixed up the 15+ responses and presented them as a word cloud. Are the results surprising? What are your top two take aways from 2010? What will the landscape become in 2011 and beyond?

Java 2010 word cloud

The most notable news was about the Sun acquisition, JCP membership and participation, new JDK partnerships, availability of JEE6 + OSGi technology and the rise of mobile platforms such as Android. Note, the opinions and observations expressed here are those of the survey participants and myself and not of our employers.

Credit to Wordle.net for the fantastic word cloud generator.

Thursday, December 16, 2010

Apache Geronimo Several New Updates and Releases

Recent weeks have seen several updates to the Apache Geronimo open source application server project. On November 30th, Geronimo 2.1.7 was released with improvements related to security and authentication. In addition, the Geronimo Samples were updated with a couple of new applications and the Daytrader performance benchmarking tool was updated to 2.1.7 as well. On December 11, Geronimo 2.2.1 was released with stateless session bean failover support and JMX over SSL improvements. Each of these releases include upgrades for several open source components like Tomcat and OpenEJB. The Geronimo Eclipse Plug-in 2.1.7 was released in the same week with support for Eclipse 3.6.x Helios and Geronimo server 2.1.7. These releases give nice improvements, new features and fixes for Java developers. You can find specific details about each release on the respective download pages and full release notes.

Tuesday, December 14, 2010

WebSphere System Test Reports available

The WebSphere Application Server system test team developerWorks wiki features several reports summarizing testing done with WebSphere Application Server Feature Packs. Reports based on WebSphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API 2.0 include:
  • Using alternate JPA providers in WebSphere Application Server to access database transactions
  • Migrating a classic Hibernate application to use the WebSphere JPA 2.0 Feature Pack
  • Installing the IBM WebSphere Application Server Feature Pack for OSGi Applications and JPA 2.0 in a v7.0.0.9 Network Deployment cell that included the Communications Enabled Applications (CEA), XML, and Service Component Architecture (SCA) Feature Packs
  • Testing the Feature Pack for OSGi Applications and Java Persistence API 2.0 in the same WebSphere Application Server installation using multiple OSGi applications and JEE applications
You can find this set of system test reports as well as reports for other WebSphere Application Server Feature Packs on the wiki. Thanks to this great set of resources shared by WebSphere system test specialist Jim Habinek!

Thursday, December 9, 2010

Eclipse DemoCamp video – OSGi Tooling for Eclipse

Ted Kirby, IBM Software developer, demos OSGi tooling for Eclipse at the RTP Eclipse DemoCamp on November 10th in Raleigh NC. The Rational Development Tools for OSGi along with the Apache Geronimo Eclipse Plugin and Apache Aries runtime were used to show the benefits of modular enterprise application construction. Ted created a handy wiki resource page for reference. This video is a two minute slice of the 5 minute demonstration. This is one of four videos from the annual event. Read more about Eclipse DemoCamp 2010.

Wednesday, December 8, 2010

Eclipse DemoCamp video – Eclipse Marketplace

Mike Milinkovich, executive director of the Eclipse Foundation, demos the Eclipse Marketplace at the RTP Eclipse DemoCamp on November 10th in Raleigh NC. This video is a 90 second sample of his 5 minute talk. This is one of four videos from the annual event. Read more about Eclipse DemoCamp 2010.

Monday, December 6, 2010

Eclipse DemoCamp video – Dali Tools for JAXB and JPA

Neil Hauge demos Eclipse Dali tooling and EclipseLink Java persistence project at the RTP Eclipse DemoCamp on November 10th in Raleigh NC. This is one of four videos from the annual event. Read more about Eclipse DemoCamp 2010.

Eclipse DemoCamp video for IBM Healthcare Modeling Tools

Lee Surprenant demos Model-driven Health Tools project from IBM and the U.S. Department of Veteran Affairs.

This video is a 1.5 minute clip of the 5 minute demo from the 2010 RTP Eclipse DemoCamp on November 10th in Raleigh NC. This is one of four videos from the annual event. Download the slides for more information. Read more about IBM and open standards for Healthcare. Read more about Eclipse DemoCamp 2010.

Friday, December 3, 2010

November RTP WebSphere User Group Links

Asheville classroom at the IBM Executive Client Briefing Center RTP NC
IBM RTP Briefing Center – Image CC licensed by Ryan Boyles

Here are some handy links from the November Triangle WebSphere User Group meeting. The meeting and lab went quite well, with around 30 people in attendance at the IBM Executive Briefing Center at the IBM main site in Research Triangle Park, NC on November 30th.

Monday, November 29, 2010

Join us for November RTP WebSphere User Group meeting

We have an exciting November WebSphere User Group meeting in Research Triangle Park, North Carolina at the IBM Software Group customer briefing center.

First up, my WebSphere Emerge teammate Charlie Le Vay will give a live demo of HTTP session caching and fail-over capabilities provided by the IBM Datapower XC10 appliance. He recently published a top ten FAQ about the appliance based on workshops he has given recently. Bring your questions about elastic caching to the meeting for Charlie.

For the reminder of the meeting, we are hosting a hands-on lab to give developers a chance to try the OSGi tooling available for WebSphere Application Server. This lab will provide a good look at importing, deploying, managing and developing application bundles with Rational Application Developer Standard Edition 8.0. The lab will also touch on JPA. Your co-hosts for this lab are Nichole Stewart from the WebSphere system test team, Lin Sun from the WebSphere OSGi / JPA Feature Pack development team and Apache Aries project, and myself, Ryan Boyles, your friendly neighborhood technical evangelist.

The meeting will be held Tuesday November 30 at 6pm. You can RSVP for the meeting on the Triangle group event page of the WebSphereUserGroup.org website. Food and drinks will be provided as usual. Thanks also to organizers Greg Ackerman and Ken Gelsinger for assisting with lab set-up. As a convenience for you, I've linked each of our names to our WebSphereUserGroup.org profiles.

See you there,
Ryan Boyles

Introduction presentation: OSGi Lab for RTP WebSphere User Group

Thanks to Ian Robinson, Holly Cummins and Zoe Slattery for providing OSGi background.

Note: Here is a handy Google map for the IBM briefing center location in RTP. The briefing center is noted with the Big Blue thumb tack.

View IBM RTP Site in a larger map

Tuesday, November 23, 2010

RedBook for OSGi and JPA preview available

Here is the draft RedBook of Getting Started with the Feature Pack for OSGi and JPA I mentioned in the October post Open Lunch. This new RedBook for WebSphere Application Server developers and administrators is co-authored by Carla Satler, Daniel Haischt, Philipp Huber and Valentin Mahrwald. The RedBook explores the environment setup and features of OSGi applications and JPA 2.0.

Monday, November 22, 2010

Apachecon 2010 slides shared

I offered previews of several ApacheCon 2010 speakers earlier this month. Now that the event has past, I have been catching up on presentations given at the annual Apache Software Foundation conference, held in Atlanta Georgia. Here is Bob Sutor's keynote from ApacheCon on "Data, Languages and Problems." He also blogged a preview of the main ideas which I appreciate.

You can find many of the presentations have been uploaded on Slideshare.net by searching for latest "apachecon" content or you can also download all of the presentations in one shot from the ApacheCon 2010 event website. Note, this download is ~200MB (md5) (sha).

Also I like this neat graphic from Kevan Miller I found via Zoë's blog showing all of the other Apache projects that work with Geronimo. Very cool.

Tuesday, November 16, 2010

Driving Value with Service Component Architecture

Note: Originally posted on the IBM Impact events blog for "App Infrastructure Tuesday."

I met Yang Lei last month at the IBM employee car show in Research Triangle Park. She and I strolled around the visitors lot checking out vintage cars, modern hot rods and an antique fire engine. Yang is very passionate about helping customers to be successful. She has had the honor of being named as one of the most “Influential Lab Advocates” in IBM Software Group two years in a row. She talked to me about the value that Service Component Architecture (SCA) delivers for application developers.

Yang Lei at IBM RTP employee car show 2010.

Yang, what is SCA in two sentences?

SCA, Service Component Architecture, defines a language-neutral framework for composing and deploying services. Customers using SCA can use any language to implement loosely-coupled services that can be deployed using a variety of protocols by declarative configuration.

Why do you believe SCA helps to simplify SOA? Does SOA have to be complicated?

The core of SOA is the notion of a service; however, SOA itself does not specify the protocols that are used to connect the services together. Some people may think that Web Services is the only way to implement SOA but that is only one of the many ways a service can be presented.

SCA provides an abstraction layer that can be used to compose services. By using SCA, the customer can focus on the service itself and not worry about the protocol that is used to deploy the service. Later on, the service can be deployed as needed using a variety of protocols, for example as an HTTP/REST service or even as an message queue service in addition to deploying as a Web Service.

Why does IBM care about SCA and why should java developers care about SCA?

SCA offers an agile and flexible framework to build an SOA solution that can exploit the latest technologies and that is easily extendable to future advancements of the standards. SOA is a strategic initiative for IBM, and SCA is the ideal way to implement an SOA solution. That is why IBM cares about SCA.

For Java developers, SCA offers them a way to expose their services to developers who are using other languages as well as to consume services implemented in other languages. In addition, SCA provides Java annotations that can be coded directly in the Java code to describe service and reference configurations.

Can you talk about integration between IBM products and SCA?

In a broader view, SCA as a service composition architecture has been in IBM for a long time. The BPM stack product (WPS/WID) is built with what we called “Classic” SCA, a version of SCA before the open standard emerged.

WebSphere started to deliver Open SCA (OSOA) support as Feature Packs with WAS V6.1. There were multiple alpha and beta releases between 2006 and 2008. In 2008, the SCA Feature Pack V1.0 on Websphere V7.0 pioneered the support for OSOA SCA v1.0 specifications: Assembly, Java Implementation, Policy, WebService Binding, EJB binding and default binding. In 2009, the second SCA Feature Pack V1.0.1 provided additional support for JMS binding, Web2.0 (widget implement, Http binding with JSON-RPC wireformat, Atom) as well as JEE and Spring as implementation types. With 1.0.1, open SCA application and WPS classic application can hinter-op over default binding. Recently, we also delivered OSGi as a component implementation type.

Open source software is a key part of the IBM SCA solution. How did Tuscany start and who was responsible for it?

It helps to understand the background of the Open SCA specification and Apache Tuscany. Here are key milestones leading up to the current project release:

2003 Dec – BEA and IBM start collaborating on Open SCA
2005 – Classic SCA delivers in WID / WPS V6.0
2005 Nov – Open SCA v0.9 specification published
2005 Dec – Apache Tuscany enters incubation
2006 July – OSOA formed (17 members including IBM, BEA, Oracle, Interface21)
2006 Dec – WAS V6.1 Feature Pack for SOA Beta
2007 Mar – Open SCA v1.0 specification published, and submitted to OASIS
2008 May – Apache Tuscany graduates
2008 Aug – WAS V7.0 Feature Pack for SCA V1.0 Beta
2008 Dec – WAS V7.0 Feature Pack for SCA V1.0 released
2009 Dec – WAS V7.0 Feature Pack for SCA V1.0.1 released

What is an example of IBM's contribution to Tuscany?

The Apache Tuscany project has been around for 5 years now. IBM has been a strong support of this project and contributors from IBM have been participating in Tuscany since Day 1. IBM contributors are intimately involved in many different facets of Tuscany and are particularly active in ensuring Tuscany’s compliance with the OASIS SCA 1.1 standard.

Let's switch gears and talk about WebSphere, what's new since SCA v1.0.1?

We delivered OSGi as a SCA component implementation type after SCA v1.0.1. Now SCA is in WebSphere V8 beta.

How does SCA work together with OSGi?

SCA enables OSGi applications to communicate in a distributed environment. In a way, SCA gives OSGi application the wings to “fly”. Using SCA, an OSGi application can consume a wide variety of services through different protocols using SCA binding configuration. An OSGi application can also provide services to be consumed by other OSGi applications or non-OSGi applications using SCA bindings.

Where can we find more information about SCA on the web?

Here is a quick list of bookmarks:
Open Service Oriented Architecture website for SCA v1.0 Specifications
OASIS Open CSA website for SCA v1.1
Apache Tuscany website
SCA Feature Pack for WebSphere Application Server support website

Where can people meet you (and the team) at upcoming events?

ApacheCon just happened earlier this month but now we're already looking ahead to IBM Impact in April. You can find the SCA presentations from ApacheCon on Slideshare.net, such as:
Building Applications with Apache Tuscany by Luciano Resende, Jean-Sebastien Defino and Simon Laws
SCA reaches the Cloud by Luciano Resende and Jean-Sebastien Defino

What is the current hot topic in the SOA technology space?

What is your favorite development language and why?

Smalltalk. It is a pure object-oriented programming language that happened to be the first object-oriented language I built a real industrial application with. I fell in love with its powerful dynamicity, flexibility and extensibility. It changed my view on computer programming!

And for a quick diversion, please share with us your favorite hobby, tech related or not?

Food and travel. I have traveled around the world to dine at some of the best restaurants on the planet. So far I have dined in restaurants that have a total of 14 Michelin Stars amongst them.

Thanks to Yang for providing this look at Service Component Architecture and WebSphere Application Infrastructure. Yang Lei is the architect for the IBM WebSphere SCA Feature Pack. In this role, she leads a team of software engineers responsible for integrating the open source project named Tuscany into the WebSphere Application Server. In addition, she helps drive the development of the public SCA specification by serving on several technical committees in the OASIS project. Yang is a champion for Agile methodology within IBM. Before working on SCA, she was the lead architect and team lead for EJB CMP 2.x persistence in WebSphere software.

Until next time,
Ryan Boyles

Tuesday, November 9, 2010

Eclipse DemoCamps in November

IBM Research Triangle Park is hosting an Eclipse DemoCamp. If you are not local, there are dozens of Eclipse DemoCamps happening around the globe this month. The RTP event is Wednesday November 10th and will be located at Tráli Irish Pub in Brierdale NC. There are about 30 people signed up already, coming from various companies and organizations including Oracle, Duke, Microsoft, Eclipse foundation, NetApp and IBM - looks like a great crowd of Java devs. Expect to socialize and talk about Eclipse plus learn about software development tools and plug-ins for the Eclipse platform. I've been helping Ted Kirby from the local team prepare to give a 15 minute demo of the Enterprise OSGi tooling for Eclipse. It's a lot to whittle down to such a brief talk so we've put together some more information on the topic. Here is a wiki page to explain the steps involved with set-up and I've provided some slides abbreviated for the DemoCamp below for a quick introduction to OSGi tooling; hint: see the backup slides for deeper information about Apache Aries and Blueprint. These slides can be found in the project svn. We hope you come out and join us for all the speakers' demos. Thanks to Tammy Cornell for organizing this event!

Monday, November 8, 2010

Patterns for Cloud at CloudCamp San Francisco

IBM WebSphere Technical Evangelist Dustin Amrhein gave one of the lightning talks at CloudCamp SF last Thursday night. He spoke about 'A patterns-based approach to the cloud' to compliment virtualization with automation of deployment, configuration and component integration. For more information, you should connect with Dustin on twitter at @DAmrhein. BTW, he posts some really good video demonstrations on YouTube about managing cloud environments with patterns and virtualization. How are you planning to manage your cloud?

To learn more about upcoming CloudCamps, read more and see the schedule on their website. IBM speakers will be attending several upcoming events and IBM will be sponsoring as well. Kathleen blogged about some of those plans.

Thursday, November 4, 2010

Jarek Gawor is speaking at Apachecon 2010

I asked a few developers I know to answer three questions about Apachecon going on this week in Atlanta, Georgia. Jarek Gawor said...

What topic are you speaking about at Apachecon this year? What will developers learn from your session?

This year at ApacheCon I will be talking about Geronimo 3.0 and a set of OSGi enterprise specifications that Geronimo supports. In Geronimo 3.0 we redesigned the kernel to run on top of OSGi and integrated a number of OSGi enterprise technologies that enable building enterprise-level OSGi applications. Geronimo 3.0 also supports Java EE 6 technologies and together with the OSGi features Geronimo is a powerful platform for writing OSGi or Java EE -based enterprise applications. My session will describe the OSGi enterprise specifications supported in Geronimo, explain how they are integrated with the Geronimo framework, and show how Java EE applications can interact with OSGi applications and vice versa.

What topic are you most looking forward to learning more about or which speaker are you looking forward to hearing or meeting?

I work with OSGi a lot so there are a few OSGi-related sessions that sound interesting to me. For example, Carsten Ziegeler's “Just stay loose with OSGi and Apache Felix!” session or Marcel Offermans' “OSGi Design Patterns and Best Practices” talk.

What new feature of Geronimo v3.0 are you most excited about and why?

It is hard to pick one as there are a lot of cool new features introduced just as part of Java EE 6. For example, EJB 3.1 Lite or Contexts and Dependency Injection (JSR-299). However, I am mostly excited about the OSGi features we introduced in Geronimo 3.0 not only because they enable writing enterprise OSGi applications but also make extending or integrating new functionality into Geronimo much easier.

Thanks to Jarek for sharing a preview of Apachecon this week with us. Also read a preview from Zoe Slattery and Lin Sun, as well as Bob Sutor's keynote on Friday. If you are attending Apachecon next week in Atlanta, do reach out to our team. I wish I could be there with you for the big week. Have a good conference all.

Zoe Slattery is speaking at Apachecon 2010

I asked a few developers I know to answer three questions about Apachecon going on this week in Atlanta, Georgia. Zoe Slattery said...

What topic are you speaking about at Apachecon this year? What will developers learn from your session?

I'm giving two talks - one on behalf of Jeremy Hughes who sadly couldn't make it this year - and one of my own. The talk I've inherited from Jeremy is all about Apache Aries, why the project exists, what we mean by 'Enterprise OSGi Applications'. If you are a Java EE developer and what to know more about what you can do with OSGi this would be a good talk to come to. My own talk (A la carte OSGi) was really inspired by all the things I wish I'd known about a year ago - I'll go through a number of open source OSGi related projects explaining what they are useful for and how they are related to each other. If you are at the point where you get the modularity message and are ready to dive into coding this talk could save you some time.

What topic are you most looking forward to learning more about or which speaker are you looking forward to hearing or meeting?

I'm looking forward to meeting people that I've never met face to face but have worked with - both in IBM and at Apache. I'm looking forward to hearing about almost everything - the hardest thing is working out which sessions to go to out of the many that I want to attend.

What new feature of Geronimo v3.0 are you most excited about and why?

Well, that would have to be the Enterprise OSGi capabilities, of course.

You can read Zoe's blog Zoom splatter and follow her on twitter @Zoe_Slattery. Reach out to her at Apachecon. Also read a preview from Geronimo developers Jarek Gawor and Lin Sun.

See you next time,
Ryan Boyles

Thursday, October 28, 2010

Developers discuss Apachecon 2010

I'm getting to know many of the Apache project contributors that work for IBM. Next week is the 11th annual Apachecon open source developer conference in Atlanta Georgia. There are several IBM developers speaking about their work on open source projects at the week long conference. The theme of this year's conference hosted by the Apache Software Foundation is "Servers, Cloud and Innovation." so it's exciting to see all of spots where IBM is contributing to interesting development work around JEE6 web servers and OSGi.

I had the opportunity to ask three questions of three of the speakers. I wanted to learn what they were speaking about and why, what topics they most want to learn more about, who they are anxious to meet, and finally, what new technology in upcoming releases of Apache projects they are most excited about.

The speakers are Zoe Slattery, Jarek Gawor and Lin Sun. Those links will take you directly over to their speaker pages on the Apachecon conference website. Here are the answers from Lin Sun. You may read Zoe and Jarek's replies in follow-on posts.

What topic are you speaking about at Apachecon this year? What will developers learn from your session?

I will speak about the blueprint enhancement we did in Apache Aries this year, after blueprint container implementation was donated from Apache Geronimo to Apache Aries since the start of the Apache Aries incubation project in 3Q 2009. I expect developers will gain some basic understanding of blueprint specification (also known as standardized Spring dependency injection framework) and learn how to use the standardized blueprint container, bean interceptor, declarative transaction, JPA blueprint integration, message-driven service and blueprint annotation to build their enterprise applications.

What topic are you most looking forward to learning more about or which speaker are you looking forward to hearing or meeting?

This is my first time attending Apache Con so I look forward to meeting people there, including people on my team which I never met before (Zoe Slattery and David Blevins). I look forward to learning more about Tuscany and SOA, Geronimo, OSGi and JCDI, and other cool technologies which I'm involved with.

What new feature of Geronimo v3.0 are you most excited about and why?

Java EE 6 web profile assembly to promote a light weight server for our user is definitely the most important theme of Geronimo v3.0. Besides that, the ability to provide a runtime platform for Apache Aries is very exciting where people can use functions in Enterprise OSGi like blueprint, blueprint enhancements( bean interceptor, declarative transaction, JPA blueprint integration, etc.), web container in OSGi, transaction in OSGi, JPA integration in OSGi, JNDI in OSGi, JMX in OSGi in a light weight Java EE server. Not only Geronimo provides implementation for Java EE 6 web profile required specifications, it also provide implementation for many of the Enterprise OSGi specifications.

To top this off, here are some other IBM speakers at Apachecon. Right between Zoe's talks on Friday, Dr. Bob Sutor is presenting a keynote on Friday exploring Data, Languages and Problems. He will review historical challenges and provide forward looking insights about innovations for dealing with unstructured and structured data. Update: Bob posted a keynote preview today on his blog. Jean-Sebastien Delfino is speaking about Apache Tuscany, SCA in the Cloud and High performance cloud-enabled SCA runtimes. Kevan Miller is presenting an introduction to Apache Geronimo 3.0 to highlight Profiles and other features of a lightweight, modular JEE 6 server. David Blevins, co-founder of the OpenEJB, will go in-depth on this project.

If you are attending Apachecon next week in Atlanta, do reach out to our team. I wish I could be there with everyone for the big week. Have a good conference all.

See you next time,
Ryan Boyles

Wednesday, October 27, 2010

The Barcamp RDU experience

Lin Sun, Ted Kirby, Joe Bohn at Barcamp RDU 2010. This photo is licensed under CC by Ryan Boyles.

I and a handful of colleagues participated in Barcamp RDU in Raleigh last weekend. The developer unconference was held at the RedHat HQ on North Carolina State University's centennial campus. Barcamp RDU is in it's fifth year at RedHat and it is always a packed day with a capacity crowd of hundreds of passionate developers and techies. I thought it would be a great opportunity for some of our local IBM developers who work on open source to speak about their work. The other tangible benefit is connecting with other developers and discussing their work and perspectives on new technology and software trends.

The afternoon schedule grid at Barcamp RDU 2010. This photo is licensed under CC by Ryan Boyles.

Lin Sun and Joe Bohn pitched topics on OSGi and Apache Aries to discuss the Blueprint container and dependency injection in Java EE development. Their two talks got combined into one during voting and scheduling process. This is how Barcamps work, the audience is the organizer. The talks also shift around the time slots and can end up positioned against other interesting topics. The crowd then gets to decide which sessions to attend. Most sessions end up with the most ardent supporters or curious developers and great discussions are the result. Lin and Joe ended up in the afternoon schedule at 2:30. Lin gave a intro to OSGi and Joe gave a brief intro to Apache Aries. Joe showed some overview slides from IBM architect Ian Robinson presented at OSCON and OSGi DevCon this year, but canned presentations are not the sole focus of Barcamps. In the unconference style, there should be no observers, the audience is a participant, so the focus shifts from the project bits to real problems and solutions. They dubbed it "Standardized Spring" for a solid discussion with a handful of people, including a techie from the Global Technology group of Deutsche Bank, who was another sponsor of the event. There were questions, like "how do you expose a service? how do you inject dependencies?" aimed at gaining insight into benefits of the dynamic capabilities of OSGi. One developer was using Spring; DM 2.0 is the reference implementation for the Blueprint specification, but he was not familiar with that spec. Many people are not familiar with just how involved IBMers are involved with Apache open source projects and we aim to change that. The buzz is found in discovering common ground and new ways of approaching different projects.

Ted, Joe and Lin then attended the Web Frameworks feedback session led by Lincoln Baxter from JBoss. He asked the dozen participants to weigh in on "What are people using to build web applications? What is important to you, and how do you do testing?" These sort of basic discussions help developers connect to learn from current development practices. The answers vary a great deal! Lincoln then showed a demo of the Seam framework for 10-15 minutes.

I attended a talk on developing RESTful web services led by a developer from local firm rPath. This session ended up being a very lively talk about how to build services with REST in your existing application infrastructure, a look at different libraries for handling unstructured data with JSON, XML or Atom, and the pros and cons of developing for and handling service changes for AJAXy or Flex clients. The speaker had a strong preference to use just XML as opposed to Atom. This talk was well attended with about 35 developers. In IBM, we have been active with implementing with REST, and within application infrastructure with WebSphere sMash. The main take away is there is a lack of standards used today in REST dev and there is not strong uptake for JAX-RS as yet.

I pitched a session on mobile technology use of 2D square barcodes called QR Codes. This was geeky talk about barcode usage with smart phones I've been exploring in several projects recently, like this one for IBM at the JAX London conference. I combined my talk with another developer experimenting with QR codes and we had a fantastic session driven almost completely by an audience of 40 curious geeks. I documented the whole set of topics and examples on my personal blog. It's interesting to see how technology like this is popping up and now surging in use within the U.S. - a study suggests there is a 700% increase in barcode scanning with smart phones since 2009. I've seen these square barcodes at events, in magazine ads, on store shelves, on business cards and badges, and scanner tech integrated into numerous iPhone and Android applications.

Other cool talks included things like Using Dropbox for source code control, Linked Data and RDF (Semantic Web is the future!), No SQL, How to rock your User Group (like TriPUG), and addressing usability, accessibility and SEO at the same time. IBM DeveloperWorks was a gold sponsor and provided breakfast bagels and coffee for the whole day. Ian Shields and Bran Ganesan held a session to explain how to get paid for unleashing your brilliance by authoring technical articles for DeveloperWorks. I'd suggest you follow @developerWorks on twitter to see examples of articles as they are published or explore the social network for geeks in the community groups. You're bound to find topics of interest and people to connect with on Cloud, web development, open source, you name it.

The sponsors poster of Barcamp RDU 2010. This photo is licensed under CC by Ryan Boyles.

All in all, the Barcamp was a great success. Joe made the observation that iPhone app dev is still hot in general, and Git is pervasive. Ted said the most fun he had was learning about QR Codes and Location based applications. The funny thing is, he learned all of this from just socializing between sessions, he didn't attend my talk on QR Codes or the other on Location. He was able to attend other talks that overlapped. As I've said before, the problem with Barcamps isn't lack of interesting developer topics, it is the challenge of deciding which talks you have to attend and which you will miss. Regardless the open environment offers a great way to connect to local people behind some really cool projects and technology. The main aim of the intro level discussions are to spark thoughts about innovation in the participants. I explored this more by posting several videos from Barcamp RDU on youtube and documenting the day with photos on Flickr. There was a lively back channel on Twitter with the hashtag #barcamprdu (see the archive).

See you next time,
Ryan Boyles

Monday, October 18, 2010

Open Lunch

It's nice to meet the faces behind the avatars. A couple of weeks ago, I had the chance to meet up with a couple of visiting IBMers. Two IBM software group colleagues were visiting the Research Triangle Park lab in September from overseas and we all love a reason to go out a try something new for lunch. Lin Sun suggested a good place in Morrisville for Thai food. Valentin Mahrwald, visiting from IBM Hursley Lab in UK, and Daniel Haischt from IBM Böblingen Lab in Germany, have been working with North Carolina colleagues on a RedBook for OSGi and JPA. Valentin is a UK colleague of my teammate Zoë and Daniel worked with some of my old teammates on the WebSphere sMash book. It is interesting to play "seven degrees of separation" in IBM. Valentin is a committer on Apache Aries and Daniel is a committer on Apache OpenEJB. The rest of the RTP group were IBM members of the Apache Geronimo team and our test lead for the OSGi / JPA feature pack. Our lunch conversation was centered mostly around good dining suggestions around the Triangle (Raleigh, Durham, Chapel Hill) as it seems we have foodies of various sorts in the group!

Pictured here are Joe Bohn, Jarek Gawor, Valentin Mahrwald, Daniel Haischt, Lin Sun, Bill Stoddard. Also at lunch but not pictured are Nichole Stewart, Ted Kirby, and myself, the photographer Ryan Boyles.

Update: Here is the draft RedBook of Getting Started with the Feature Pack for OSGi and JPA that is co-authored by Carla Satler, Daniel Haischt, Philipp Huber and Valentin Mahrwald.

Friday, October 15, 2010

eXtreme Jam

IBM WebSphere developers, SWAT team members, technical sales specialists and technical evangelists met at the IBM RTP Lab for a jam. The task at hand: author a new best practices guide for WebSphere eXtreme Scale. There were bagels and caching. Seated from left to right: Jian Tang, Bob Ringo, Larry Clark, John Pape, Jr., Chunmo Son, Nitin Gaur, Lan Vuong. We'll post the new guide as soon as the document is finalized.

Friday, October 8, 2010

Perspectives and Observations from the New JavaOne

I have not been to the JavaOne conference since it's heyday back in 2001. Java had it's time in the, ahem, Sun, and now we are all wondering what it will now be like to experience this annual gathering co-located as an Oracle developer confab. My California based manager Sunil Murthy had the great opportunity to participate at JavaOne 2010 / Oracle OpenWorld, experience the new Java conference and meet developers and thought leaders in our industry. I posed the following questions about the conference in September.

Hey Sunil, I trust you are rested up from the grueling conference schedule. I wonder what was the atmosphere like this year with the Oracle led event?

With all the walking between hotel locations of keynotes and Javaone camp, yes absolutely Ryan! I believe folks appreciated the technical content that is signature Javaone and also the surprising level of technical details that Larry and Thomas provided in their respective keynotes. I'll point to a couple of key take-aways that stood out. First and foremost is Oracle's entry into cloud computing aligned with Amazon EC2. Second, the Java roadmap, highlighted by Thomas Kurian's keynote, seeks to reinvigorate Java innovation with an Oracle "stamp." I did, however, gather from my own impression as well as in talking to folks, that the Java development community is "thirsty" for a vendor neutral forum, as was widely discussed in various forums.

What bits would you share from the cloud computing announcements?

After dismissing cloud computing last year, Oracle was all over cloud computing during the conference. The keynotes touched on "what is cloud computing" based on Amazon's EC2 definition, and made it abundantly clear on not aligning with the Salesforce.com view.

Which technical talks were most interesting for Java developers about future directions?

In my view, there were seemed to be a big focus on modularity, new programming models, new languages and of course mobile frontiers - isn't there always? ;) There was good talks about a modular java platform Jigsaw. There is ever increasing interest in the language Scala on the VM, but I can't tell if Scala is the new Ruby or not, if you know what I mean? There was also a talk about hybrid OSGi and JEE programming model of note to our team.

Surely there was talk about the front end?

Oh yes, how could I forget. There was a lot to do about ease of use with JavaFx and the demo was fantastic! Check it out on YouTube. There is Java, JavaScript and HTML5 support, with the claim that HTML5 is strategic. Native client runs on HotSpot and JavaFx is common across browser and native client. Very cool stuff.

What did you learn from discussions with developers in the Java community?

Really there is a lot of concern about the direction of the community but there is also a lot of optimism. Java is a growing developer community that is only becoming more specializing with the platform growing into areas like mobile with Android and gaming. There is concern over the JCP, but the Java developer community is 9 million strong and the marketplace is vibrant with healthy competition. Enterprise Java is a mature platform but it is evolving and changing.

Thanks for sharing your JavaOne 2010 observations with us Sunil.

Until next time,
Ryan Boyles

Monday, September 20, 2010

IBM Open Source talks and topics at JavaOne 2010

I wanted to share a few open source related talks I know of where IBMers are speaking at JavaOne 2010. The topics are focused on the JPA, OSGi and SCA, which enable developers using WebSphere Application Server through add-on feature packs. I interviewed an IBM software architect Kevin Sutter on this topic last week.

Pinaki Poddar will be presenting a session on Scale Java Persistence API Applications with OpenJPA Slice (S314445) in the Java EE Web Profile and Platform Technologies track on Wednesday September 22nd at 4:45PM PDT. The JavaOne blog featured the entire list of Open Source sessions. Pinaki is an OpenJPA committer and also blogs on the WebSphere Persistence blog.

Next up, Alasdair Nottingham is speaking about Creating Modular Applications with Apache Aries and OSGi (S313866). The talk will cover the Apache Aries project (designed to bring modularity of OSGi together with the Java EE platform) and will feature a look at creation of new applications using Apache Aries and the OSGi Blueprint container. Alasdair is @notatibm on Twitter and blogs with other IBMers on the WebSphere Community Blog. Catch up with Alasdair on Thursday the 23rd at 3:30pm.

On the SCA side, Jean-Sebastien Delfino of IBM and Luciano Resende of Shutterfly are giving a talk about Developing Composite Applications for the Cloud with Apache Tuscany (S314011). Luciano blogged about this session already.

Finally, BJ Hargrave will be hosting a Birds of Feather roundtable on OSGi with aQute CEO Peter Kriens (S313877). BJ is an IBM Senior Techical Staff Member, CTO of the OSGi Alliance and a committer on the Eclipse Equinox project, an open source OSGi implementation. Find this BoF at 6pm on Tuesday the 21st, look for @bjhargrave and @pkriens.

Oh wait - there is more! Last one, I promise. How can we leave out Cloud?! Doug Tidwell has a talk about cloud: Keeping Your Options Open, Even If the Cloud Is Not. Find @Doug_Tidwell Wednesday at 4:45.

IBM.com has a couple of handy webpages showing all of the IBMers at the somewhat co-located JavaOne / Oracle OpenWorld conferences. My emerging technology evangelism team manager Sunil Murthy @SunilBayarea will also be in attendance during the week. Seek out these smart folks and follow the conference backchannel via twitter with hashtags #javaone10 and #oow10. The IBM Booth is #1111. Apparently IBM is giving away "Sweet Tweet Cupcakes" - get your sweet fix. IBM also has a mobile web app for your use at OOW. Last but not least, there is also an ILOG booth #5104. They'll be talking about Visualization with Java.

Grokking Java Persistence with Kevin Sutter

Note: Originally posted on the IBM Impact events blog for "App Infrastructure Tuesday."

Recently, I had the opportunity to interview Kevin Sutter. He is a subject matter expert for WebSphere Application Infrastructure and works as a Senior Software Engineer in the WebSphere Application Server development group. He is currently the lead architect for the Java Persistence API solution for WebSphere Application Server. Kevin is also a committer and a member of the PMC for the Apache OpenJPA open source project. Kevin's past roles include leadership and architecture of WebSphere solutions for J2EE Connector Architecture (JCA) and WebSphere eXtreme Scale (caching). It was good to catch up with Kevin for a look at the Java Persistence technology and it's usefulness to java developers.

Kevin, what is JPA in two sentences?
The Java Persistence API (JPA) is the persistence framework standard for both the Java SE and Java EE runtimes. At its core, JPA provides a conduit between the object-oriented data model and the relational database systems -- an object-relational mapper (ORM).

Open source software is a key part of the solution here. How did OpenJPA start and who was responsible for it?
The Apache OpenJPA project was a joint submission between IBM and BEA. BEA seeded the contribution with code based on its popular Kodo project (a recent acquisition). Contributors from IBM, BEA, Sun, and other independent sources worked with this code base through the incubation phase and, eventually, to produce the OpenJPA 1.0 release. Since that time, the OpenJPA team has produced several service releases and, most recently, produced an OpenJPA 2.0 release which supports the latest incarnation of the JPA specification. The WebSphere JPA solution is based on the Apache OpenJPA project. We do not try to keep that a secret. OpenJPA has been the JPA provider for the EJB3 Feature Pack for WAS v6.1, WAS v7, and the recent JPA Feature Pack for WAS v7. Of course, we additional features and function on top of the Apache OpenJPA deliverable to provide a better, more complete JPA solution for our WebSphere customers. But, the base code is the same. So, if a customer has written an application using the Apache OpenJPA code, it will run successfully using the WebSphere JPA solution. This allows customers to kick the tires and experiment with Apache OpenJPA before they deploy their application into WebSphere.

Why didn't people get involved with existing Apache persistence solutions like Cayenne?
Not sure. We investigated several projects inside and outside of Apache before deciding on the OpenJPA joint submission. OpenJPA has a very clean, flexible architecture, with a defined persistence kernel. This kernel is actually used by multiple persistence "personalities", including JPA and JDO. Since we made the decision to go with OpenJPA, we haven't looked back.

Why does IBM care about JPA and why should java developers care about JPA?
The persistence layer accounts for somewhere in the neighborhood of 75-80% of the processing of customer applications. Thus, the functional and performance features available to make these applications run more efficiently is very important to IBM's customers. This makes it important to IBM as we have the same development priorities.

What is an example of IBM's contribution to OpenJPA? Performance is a key focus, right?
Yes, performance improvements have been a key contribution from IBM. We have introduced several locking and caching improvements into OpenJPA to improve the throughput, scalability, and general performance of OpenJPA. We have also introduced several DB2, Informix, and Derby data dictionary improvements to better support the IBM databases. Fixes related to passing the TCK and CTS compliance tests for the Java SE and Java EE environments have also been contributed. Let's just say that my whole team is very focused on making OpenJPA the best open-source JPA offering.

Let's switch gears and talk about WebSphere, what's new since JPA v1?
We don't have enough room to document everything that is new since the JPA 1.0 specification... But, if I had to choose a couple of highlights, I would start with the Criteria and Metamodel APIs. This feature allows a customer to dynamically create queries via a defined programming model. It's very powerful. Another key feature in JPA 2.0 is the integration with the Bean Validation specification. Bean Validation allows an application to specify constraints on an Entity's fields or properties, which will then be validated later when the Bean Validator is invoked.

How does IBM's JPA solution compare to Hibernate or EclipseLink?
If you want to play in this game, you have to be specification compliant -- both JPA 1.0 and 2.0. So, from that narrow spec perspective, we're all about the same. Note: OpenJPA v2.0.1 was released in August 2010. However, the WebSphere JPA solution brings many other features to the table over and above the base specification. We've already mentioned the performance aspect. Our SpecJ [tm] performance numbers are fantastic. We take great pride in that achievement. The WebSphere JPA solution also integrates well with other IBM stack and complementary products, such as DB2 and eXtreme Scale. From a DB2 perspective, the pureQuery feature provides static SQL and performance improvements for the WebSphere JPA solution. And, there is an eXtreme Scale plugin which allows this caching technology to be used with OpenJPA.

Can you talk about integration between IBM products and JPA?
I mentioned the stack products above (DB2 and eXtreme Scale). There are several other projects (especially acquisitions) that have migrated from Hibernate to OpenJPA. Even the WebSphere product itself uses JPA to provide the persistence layer for its systems management data.

What are the current hot topics in this technology space?
Caching, or in-memory databases. Having the ability to execute thousands and thousands of transactions to an in-memory cache or store, while ensuring that this data will also get persisted to a "real" database is a very real, hot topic in this space.

Where can we find more information on the web?
Check out my team's blog about WebSphere and Java Persistence and the Apache OpenJPA project site. Periodically, we provide white papers, comment lines articles, and presentations via Developer Works.

Where can people meet you (and the team) at upcoming events?
JPA is always represented at IBM Impact. This year, we had over ten sessions related to JPA! We also try to get to the core Java developers to JavaOne. This year, one of my team members and an OpenJPA committer, Pinaki Poddar, is presenting an OpenJPA topic on distributed persistence.

And for a quick diversion - would you please tell us about your favorite hobby, tech related or not?
I really enjoy working on cars. Anything from changing oil, to changing oxygen sensors, to replacing control arms. As long as I have the tools and the time, it's a good stress reliever. I also have a fun car -- 1989 Mustang 5.0 Convertible, which I thoroughly enjoy in our Minnesota summers.

Thanks to Kevin for providing a look into Java Persistence and WebSphere application infrastructure software.
You can also find more information about JPA, OSGi, eXtreme Scale and other emerging technology from the WebSphere Emerge team.

Final question goes to you the reader:
What topic would you like to see featured in future application infrastructure SME interviews?
Until next time,
Ryan Boyles