Showing posts with label osgi. Show all posts
Showing posts with label osgi. Show all posts

Tuesday, January 4, 2011

On Application Benefits of Java Modularity with Tim Ward



I recently interviewed Tim Ward of the IBM WebSphere software development team working from the Hursley lab in the United Kingdom. He is the design and development lead for the OSGi Feature Pack for WebSphere Application Server and has been actively working with OSGi for nearly five years. Tim is also an active committer in the Apache Aries project, which provides an OSGi application container. Based on my preparation work in November for the OSGi lab I co-hosted at Research Triangle Park's WebSphere User Group, I became familiar with Tim's fantastic talks at the 2010 Devoxx conference and Jax London's OSGi Community Event.

Tim, what is OSGi in two sentences?

Putting it most simply OSGi is a dynamic modularity framework for Java. Importantly OSGi also provides a set of tools and services that help developers and architects to build dynamic, modular composable systems on top of that framework.

Why do you believe OSGi helps to simplify Java application development?

Java has one of the largest, most diverse ecosystems for applications and libraries in both open and closed source - it is clear that Java is an extremely successful language for developing all kinds of applications. In some senses this success actually makes Java less usable and is the very reason that OSGi is needed. I have spent the last five years working on various parts of IBM's WebSphere Application Server, so I have a good feel for what a "large" Java application looks like. There are a huge number of connections between software components, open source libraries and systems. With Java's flat classpath any piece of code can depend on any other piece, even when that code is supposed to be private! This gets even worse when two pieces of code depend on different versions of the same class. Only one version of the class can be loaded by the classloader and that means that one of those two pieces of code will break at runtime!

One fix for this is to make extensive use of the private, protected and default visibilities for Java classes, but this forces your code into unpleasant shapes making it hard to reuse and follow. In OSGi this isn't necessary. Code within a bundle - a jar file with some extra metadata in its manifest - is by default private to that bundle. Any class within the bundle can use any other class in the same bundle (subject to normal Java access rules) but it cannot use a class from elsewhere unless the bundle explicitly marks it as imported. As well as marking imports from outside OSGi bundles are responsible for describing the Java packages that they expose to the outside world. These exports define the API of your OSGi bundle.

In addition to describing which packages are imported and exported the OSGi metadata also defines the version of exported packages and the range of versions that are acceptable for an import. By placing strict requirements on the versioning of bundles and packages OSGi is able to support multiple versions of the same class simultaneously - only allowing importers to see an export that matches their versioning requirement.

By using OSGi's modularity you can understand, constrain and dramatically simplify the dependencies between your modules. You can also concurrently support modules that need different versions of the same library without error at runtime. Best of all; when consuming a module produced by someone else, or when writing your own module; you can easily find other bundles to satisfy its requirements. This is so simple because both the requirements and the capabilities of bundles are explicitly defined by their metadata. In my view this makes OSGi an essential tool for writing today's Java applications.


Open source software is a key part of the solution. How did the Apache Aries project start and what are the main goals?

Obviously open source is an extremely powerful force in software development. Open source tools and libraries allow the entire Java community to share advances in technology and productivity without prohibitive cost and continual maintenance. When the OSGi Alliance began work on the OSGi 4.2 enterprise specifications release it was clear that open source implementations, and preferably more than one for each specification, would be a key driver for their evolution and adoption.

The Apache Aries incubator project was set up in September 2009 as a place where developers could design and build the core components of an Enterprise OSGi programming model – complemented by implementations from the Enterprise OSGi specifications. As a result Aries has its own implementations of several programming model focussed OSGi Enterprise specifications, as well as being a proving ground for new Enterprise OSGi technologies that can be fed back into future versions of the specification.

Apache Aries has been particularly successful in the last 15 months, has produced three releases, and is now used in a number of places including Apache projects like Geronimo and Karaf and commercial offerings like the IBM WebSphere Application Server OSGi Applications Feature Pack, WebSphere Application Server Community Edition and JBossOSGi. As a result of this success Aries recently graduated from incubation to establish itself as a new Top Level Project.


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

IBM cares about OSGi for several reasons. One of the most long-standing is that OSGi has been the basis for building a number of IBM products for many years. In fact WebSphere Application Server was the first Application Server to use OSGi technology. The modularity and dynamism of the OSGi framework is the ideal platform for developing software with the size and of complexity of an Application Server, which is why every Application Server vendor now uses OSGi to build their product.

Having reaped the rewards of OSGi, IBM realised that many of its customers were suffering with the same issues that had plagued the Application Server before it moved to OSGi. This formed the basis of IBM's work with the OSGi Alliance Enterprise Expert Group who built the first OSGi Enterprise specification. Using the new Enterprise OSGi standards IBM has built an Enterprise OSGi programming model into WebSphere Application Server (WAS). This is available as a Feature Pack for WAS Version 7, and is built into the latest beta releases of WAS Version 8.

The existence of the Enterprise OSGi specifications and IBM's commitment to OSGi represent why Java developers should be looking at what OSGi can do for them. OSGi has been used by all of the large middleware vendors for years to provide better modularity, lighter runtimes and dynamism. Java developers want these things for their applications too which is why OSGi is more important now than ever before.

How does Aries work together with other Java EE 6 components?

The Enterprise OSGi specifications define how a number of Java EE technologies can be integrated within an OSGi environment. Aries includes implementations of the JTA and JNDI services, allowing for familiar interfaces such as UserTransaction to be used transparently with OSGi. Aries also extends existing OSGi specifications such as the Blueprint Container and the JPA service to provide Enterprise qualities of service such as declarative transactions and container-managed JPA. When combined with OSGi Web Applications, which provide a slight variant of WAR packaging suitable for use in OSGi, a Java EE 6 developer should find that programming using Aries services is a natural extension to what is already available in Java EE.

How does developing with OSGi with Aries compare to OpenEJB or Eclipse Equinox?

Developing for OpenEJB is familiar to many developers who have used the EJB programming model before, which is one of the reasons for its popularity. The Enterprise OSGi programming model in Aries is built primarily around the Blueprint Container - a service that will also be familiar to the majority of Java EE developers even though most of them will never have used it before. The Blueprint Container specification was standardised by the OSGi Alliance primarily through the input of SpringSource (now VMware) who used it as an opportunity to standardise the OSGi-enabled version of the Spring framework. Now the Spring framework is used widely throughout Java EE applications, so many developers are familiar with its XML syntax. The Blueprint Container uses extremely similar syntax that will be familiar to anyone who has ever played with Spring.

Now Eclipse Equinox is an interesting case, in that really an Enterprise OSGi application using Aries is running on an OSGi framework. This means that in one sense Aries Applications are Equinox applications! The Aries project is very careful to avoid depending on any single implementation of the OSGi framework, meaning that applications can (and do) run just as well on Apache Felix or elsewhere. The primary difference between development for core Equinox and Aries is that Equinox provides the bare bones of a framework, whereas Aries provides the rich programming model. Another funny thing about Equinox is that it is the basis for the Eclipse IDE; Eclipse is then the basis for our free Enterprise OSGi tooling. This means that many developers are using Equinox to develop for Aries!


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

Well IBM has been a big player in the OSGi Alliance for many years, working with the OSGi community to build better standards within OSGi. In addition IBM contributes significantly to the Eclipse Equinox project, which is the OSGi framework reference implementation. IBM is not only active with the core framework, but is one of several companies with Apache Aries committers. IBM also provided seed implementations of the Aries JNDI and JPA code to the Aries project, representing a real and continuing commitment to both OSGi and Open Source.


Where can we find more information on the web?
Information about Apache Aries is available from our website at http://incubator.apache.org/aries/


Where can people meet you (and the team) at upcoming events?
The Aries and IBM teams are pretty active and are often presenting at conferences. About a month ago I was at Devoxx, a couple of us were at the Autumn Jax London Conference and several have been at the last few OSGi Community Events and London Java User Groups; we also had a couple of Aries committers at ApacheCon this year. In the near future you can expect to see us back at the London OSGi Community Event, Jax London, EclipseCon, OSGi DevCon and a number of other venues! Last but not least there will be several OSGi talks at the IBM Impact conference in April.


What is your favorite development language and why?

My introduction to programming languages has been quite an interesting journey. At school I had some lessons in VBA, which taught me some of the basics of flow control, but also that it was very easy to write something that was incomprehensible the next day. At University I was a Physicist rather than a Computer Scientist, so pretty much all of my programming there was in FORTRAN. I briefly escaped FORTRAN by using C for my final year project, but I didn't play with an OO language until I started at IBM and began using Java. Java was something of a revelation, and I could see immediately why it was so popular - this isn't to say that I think Java is perfect, there are occasions where people in the office have heard my exasperation with the Java API, or an unpleasant limitation of the syntax. I do, however, strongly believe that there are few languages as generally useful as Java is. Java treads the fine line between ease of use, flexibility and performance in a way that no other language really does. Obviously there are times when another language will strike you with its beautiful solution to a particular problem but, despite its flaws, Java keeps me (and a huge number of others) coming back over and over again.


Let's switch gears and talk about what's coming next for Apache Aries?

As I mentioned earlier Apache Aries recently graduated as a new Top Level Apache Project. This represents a real step up for Aries and is a mark of its growth and adoption. We have another incubator release scheduled for early 2011, and are starting to put together a plan for our 1.0 release. Obviously I can't cover specifics for a plan that isn't final yet, but I would expect to see Aries prototypes using a number of the new services from the OSGi 4.3 draft specification over the next 3-6 months!

What are the current hot topics in the Java development community? And where is Java headed in 2011?

The Java Community has just been through something of an upheaval with the acquisition of Sun by Oracle. The future of the JCP and the Apache Source Foundation's decision to resign is obviously on a lot of people's minds. There is also a lot of talk about Java 7, and what will be in it. The one other topic that really seems to be growing within the Java community is OSGi and its place within Java. A number of large middleware vendors, including IBM, Oracle, Progress, TibCo and Paremus are all talking about how users can take advantage of OSGi with their products. Throughout 2010 there was an increasing level of interest in and discussion about OSGi. I only see that growing in the coming year.

And for a quick diversion - would you please tell us about your favorite hobby, tech related or not?

Whilst I love the range and depth of my technical responsibilities with Aries and IBM, I find it really important to relax doing something very different. One of my favourite hobbies is singing. I am a baritone, and a member of Southampton Choral Society. We put on about four concerts a year, the most recent of which was a performance of Handel's Messiah a couple of days ago. Despite heavy snow we still packed out our venue with nearly 400 people and had a great time. There's nothing quite like singing with a full Orchestra!


Thanks to Tim Ward for spending the time to discuss OSGi and Java development. I am excited to be able to share his insights about Java development. OSGi was definitely one of the most talked about Java development technologies in 2010.

Tim Ward is a design and development lead for IBM's OSGi Application Feature Pack for WebSphere Application Server, and has been actively working with OSGi for nearly five years. Tim is a regular participant in the OSGi Core Platform and Enterprise Expert Groups where he has lead specification development for a number technologies. As an EEG member he co-authored the JPA service specification, while in CPEG he has driven the design for bytecode weaving and classpath scanning support from the core framework. Tim is also an active committer in the Apache Aries project, which provides an OSGi application container based on implementations of the application-focused specifications defined by the EEG. Tim is also an experienced speaker, and has previously presented talks about OSGi, the Java Persistence API, Apache Aries, and WebSphere Application Server at EclipseCon, Jazoon, Devoxx, and Jax London.

Note: Originally published on the IBM Impact event blog for "App Infrastructure Tuesday."

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.

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.

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!


Thursday, November 4, 2010

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.

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.