Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Monday, January 31, 2011

Open Source is about wearing many hats and building community

During the second half of twenty ten, I had the good fortune to meet and work with several developers and IBM software architects working on various Apache Software projects. One in particular is Apache Geronimo, which is the basis of WebSphere Application Server Community Edition. There has been a lot of effort placed on building the next version of the versatile application server and it's exciting to see how the assembly based platform is evolving with technology like OSGi. Java developers will enjoy reading the following discussion with the IBM open source architect, PMC Chair of Apache Geronimo, Apache Software Foundation member, Software committer on several ASF projects and IBM WebSphere Application Server Community Edition Architect. Indeed, Kevan Miller wears many hats as a devoted open source development community member and IBM technical leader.


Kevan, what is Apache Geronimo in two sentences?
Apache Geronimo is a lightweight, flexible, component-based runtime for developing and hosting of Java EE and OSGi Enterprise applications. There, I did it in one sentence.

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

The Geronimo project was started out of the desire for an Apache Licensed Java EE server built with an open, community-based development model. In 2003, the ASF (and the Apache Geronimo project) became the first Open Source Software licensee to the Java EE TCK.

The main goal of the Geronimo project is to create an open source application server from best-of-breed open source components. I think this is an important point -- from the very beginning, Apache Geronimo was designed to incorporate open source components and present them as a unified server runtime.

The notion of profiles in Java EE 6 is basic capabilities that Geronimo has been providing for 5 years. Our custom assembly feature takes this several steps further. First, you can design your own server. You don’t need to limit yourself to the relatively static notion of “profiles”. Second, you can have your applications define your server requirements. We can calculate the transitive dependencies of your applications and have those determine the functionality of your server.

So, a Geronimo server can be a full Java EE server, down to a web container, only, or even a simple JMX-based server. We have users running EJB+JMS servers (no web container), which is a bit counter to most user’s requirements, but illustrates Geronimo’s flexibility.

What’s new for Apache Geronimo?

It’s a busy time for the Geronimo community. We’re currently working on Geronimo 3.0, which will be our first Java EE 6 release. Towards this end, the community is nearing the completion of our next milestone release, 3.0-M2 release. 3.0-M2 will be Java EE 6 Web Profile compliant.

Java EE 6 brings a lot of important new function and developer capabilities. There are a lot of good new features in Java EE 6, including CDI, Bean Validation, and JAX-RS. Plus important updates to existing specs, like Servlet 3.0, EJB 3.1, JSF 2.0, and JPA 2.0.

In addition to Java EE 6, we’ve also added support for an OSGi enterprise programming model. We’ve integrated the Apache Aries project into Geronimo. Aries implements the specifications defined by the OSGi Enterprise Expert Group. Developers can now develop OSGi applications and utilize familiar Java EE technologies such as JPA, JMX, JNDI, and JTA. Using OSGi Blueprint, they’ll have a standards-based Dependency Injection container.

How does Apache Geronimo relate to WAS Community Edition?

WAS Community Edition is an IBM distribution of Apache Geronimo. We take Apache Geronimo, perform additional testing, include an IBM JDK, simple configuration options, and license and support it for IBM customers.

How about migration of applications from WAS Community Edition to WAS?

There is some migration effort required to move EE applications from CE to WAS but we're working to make it simpler and help technology overlap in 3.0. OSGi applications can be run in either environment, so developers have flexibility and options with standard based tooling.

How does Geronimo work together with other open source Java components?

Apache Geronimo is a server assembly that integrates several other open source components, as we've discussed here. Geronimo provides additional features as component plug-ins along with the web container. Here is a diagram of Geronimo with related projects that I presented at Apachecon 2010 this past fall.


Where can we find more information on the web?

See geronimo.apache.org and the WebSphere app server community edition product page.

What do you feel is the most important part of IBM’s contribution to open source?

IBM is now a sponsor of the Apache Software Foundation, which is a big deal. I believe that
open source is about building communities, and the
key contribution is the people we bring to our various projects. In no particular order, here is a sample of those dedicated people. T
hese are just a few and I’m sure I’m leaving off some important people – apologies.
• Geronimo - David Jencks, Jarek Gawor
• OpenEJB - David Blevins
• OpenJPA - Kevin Sutter, Pinaki Poddar
• ASF - Sam Ruby, Shane Curcuru
• Dojo - Bill Keese, Adam Peller
• Aries - Jeremy Hughes, Zoe Slattery, Tim Ward, Joe Bohn

Tell me more about the open source activities you are involved with?

In the WebSphere development organization, we work with a number of different open source foundations, including the Eclipse and Dojo Foundations. The majority of our work is in the Apache Software Foundation, where we're contributing to the following projects:
  • Apache Http Server
  • Apache Geronimo
  • Apache OpenJPA
  • Apache Aries
  • Apache Tuscany
  • Apache OpenEJB
  • Apache Axis
  • Apache Wink
  • Apache OpenWebBeans
  • Apache Bean Validation
  • and others...

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

The best place to look for us is on the Geronimo mailing lists (dev@geronimo.apache.org and user@geronimo.apache.org). We can also be found on IRC -- irc://irc.freenode.net/geronimo. See the Geronimo community page. For conferences, you’ll frequently find one or more of us at ApacheCon and the major Open Source and Java conferences. IBM Impact is coming up in April and we've proposed sessions covering OSGi and 3.0 features.

What are the current hot topics in the Java development space?

Well there are the recent Java/OpenJDK developments, of course. IBM and Oracle teaming up on OpenJDK is fundamentally positive news for the Java community. On the other hand, the Field-Of-Use licensing restrictions being maintained by Oracle on the Java TCK for open source developers is really unfortunate from an open source perspective.

What is your favorite development language and why?

Well, that’s easy -- Java. I’ve been developing almost exclusively in Java since the mid-90’s. I still sometimes forget what it was like back in the old days -- having to perform your own memory management, etc. Very glad to have said goodbye to C/C++/Objective-C days. On the other end of the spectrum, my second choice just might be Motorola 6502 assembler. In College I was doing some research into real-time speech compression/decompression -- fun times... That said, there’s some interesting work going on in JavaScript frameworks, Scala, Clojure, etc. IMO, no game-changers like Java. Not yet, anyway.

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

I’m a retired soccer player, but still follow US college and pro leagues. Nowadays, I’m into Trail Running. I’m currently gearing up for a 20 mile trail race in February.

I share my sincere thanks to Kevan for sharing his time to discuss open source software and Java development. You can meet Kevan and myself at the IBM Impact conference in April 2011. We'll share more information here on the blog about sessions, labs, unconference topics and technical panels at IBM Impact in the coming weeks. We also want to discuss these topics on LinkedIn.

Until Next Time,
Ryan Boyles

About
Kevan Miller is an open source architect in IBM's WebSphere Application Server development team. He is also the architect for IBM's WAS Community Edition product, a member of the Apache Software Foundation, PMC Chair of the Apache Geronimo project, and a committer and PMC member of a variety of Apache projects (e.g. OpenEJB, OpenWebBeans, Incubator, etc). After 15 years at IBM's TJ Watson Research Center, Kevan starting working on open source software in IBM's Software Group. At the same time, he relocated to Chapel Hill, NC where he now lives with his wife, two daughters, flat coated retriever, cat, and hedgehog. You can follow Kevan on twitter at @kevanmiller.

Originally posted on the IBM Impact event blog for "App Infrastructure Tuesday"

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, 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


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

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.