1 - Paul Styles of the Corona Project
Daniel Spiewak:
Hello, and welcome to the first episode of The Eclipse Zone Europa podcast series. My name is Daniel Spiewak and I'm here with Paul Styles of the Corona Project. All right, Paul, can you tell us a little bit about yourself?
Paul Styles:
Yeah, I've bee in the in the IT field for about thirty years, and in my career I've been involved in a lot of different aspects of the project team, you know, all the way from being a programmer right through into management.
During the early stages of my career, I had the opportunity to work at several large companies and really what we were involved with was building commercial solutions in several different areas, like warehousing and financial, or retail and automotive.
As you can imagine, we ended up getting into a lot new technology, and that was really where I liked to spend my time. I was looking at new technologies and looking at how they applied in resolving problems for our customers.
Daniel:
What prompted or inspired your work on Corona?
Paul:
You know, Daniel, our core business at CompuWare over the last thirty years has been providing integrated solutions to our customers for resolving IT problems. So we're continually looking for ways to increase the value to our customers.
You know, the business climate has changed quite a bit these days, and for businesses to remain competitive they are challenged with delivering more innovative services to the customer in quicker timeframes. The critical applications that, you know, provide these services have become even more complex as they take advantage of distributed architectures and multiple technologies and devices, and they span across the network from anywhere from the web all the way back to the mainframe.
This really has placed a lot of additional demands on the IT organizations responsible for building and maintaining these applications. To manage the complexities and costs, the way that a lot of companies have addressed this, they have disparate teams spread across a lot of different locations and they assign tasks and responsibilities to those teams. Few projects these days, nowadays, are done in a single location.
In many cases, the teams are spread across different buildings, states and even countries. In this particular environment, it's been our experience that communication is known to quickly break down. Information that's passed from one group to another is often outdated; it becomes obsolete and in some cases, even gets misplaced.
Project dates are jeopardized as team members become dependent on other team members in different locations for code and information. Collaboration really becomes critical, both within local teams and between distant teams for the success of a project. Virtual workspaces, collaboration tools become a requirement for the project manager, so that he can make smart decisions for the team for sharing information as well as making sure the right resources are assigned to the right areas of the project.
In an effort to address this, and these challenges, CompuWare really started to get involved in the Eclipse Foundation as well as other open source communities, like Apache, with a goal of contributing to a tool service framework for enabling integration and collaboration across this lifecycle.
To address the needs of our customers, it was important for the framework to be standards based, it had to be extensible and also open so that our partners could participate easily with us. Really our goal is to enable IT organizations to be more effective, to be better aligned across locations and more agile in addressing the challenges ahead, and that's what really inspired us to start the Corona Project.
Daniel:
OK, well what really is Corona, what does it do?
Paul:
Well, Corona is our code name, it's the code name of our Eclipse project which is officially called The Tool Services Framework, Corona's a little bit easier to remember. It's under the technology top level project in Eclipse and it's currently what we call in incubation stage. That means we're not yet a GA release but we will soon have a GA release, GA 1.0, in the next few months. We are also participating in the Europa simultaneous release.
But Corona itself is about providing tool integration and collaboration across these environments that we've been talking about, the application development lifecycle. It consists of two components. It consists of a client component and a server component.
The client component actually provides a collaboration perspective for the individual users, and this is done through what we call our project container view within the client. Within the project container view there's a series of customizable tabs which include information about the project, like for instance, it has information about the team members and who's currently signed on.
It has all the repository information, the file shares that the project team is involved in and it also keeps a log of events. So that as the project team is working on different things, these events would notify the different team members of things that were important to them. On top of that, we also have collaboration features that are available through the client, such as chat, you know which a team takes advantage of.
The service side, that's really the core of Corona, because what it does is it enables us to allow individuals, you know, individuals on the workbench, to work together as a team or as we refer to it, as a workgroup. So, we have an exemplary implementation of Corona out on the Eclipse download site and this is... What we do is that we demonstrate the ability to have people work together as a workgroup. And this is accomplished by enabling Eclipse constructs, such as a project, to be shared in a distributed environment.
So basically, taking a bunch of workbench users, and bringing them together to be able to function as a workgroup. If you're really going to try and summarize or bubble it down a little bit in a more simple language, I guess what I would say is that the server components of Corona really enable us to provide some certain basic functions.
The one is the sharing of data and collaboration tools that take place across the entire project teams and the other is the ability to actually host and manage tools that are used and utilized to track information across the entire project.
For example, we have been working with one of the Eclipse projects, called the Buckminster, and we've been in discussion with them about storing their build information on the Corona server. Once this information is made available to the Corona server, it now becomes available to the project team and we can start to invoke some of the other services that are available on the Corona server, like notification services.
So as things happen to the build, we can start to notify those members of the team that are involved with it, that the build's been completed, or that there's been a failure, and in some cases give details to the individuals who are responsible for those failures. As we mentioned, there's a lot of add-on features that you get by utilizing the server, just as the example brought out here with the Buckminster Project.
Daniel:
Seamless integration is what Eclipse is best at. Why does Eclipse need the Corona Project?
Paul:
You're correct in asking that question, that's a good question. Actually Eclipse as we know has been very successful in providing a strong integration platform for, at the workbench level. A developer today can install plug-ins using the update manager for their workbench, and right away use those features seamlessly.
Our goal in Corona, on the Corona Project, is really to achieve that same level of integration, seamless integration, at the workgroup level, which is the Corona server. So a plug-in or a bundle can be deployed on the server and then seamlessly utilized by the team, so that teams that are made up of individuals in different locations that are working on the same project would be able to collaborate on important events and information. Also by having team information available on the server, Corona will enable, like some new user to the team, to quickly come up to speed and participate in that team environment without having to configure and load his own machine.
Daniel:
What relationship does the Corona Project share with OSGI Services?
Paul:
Well, the Corona server is using the Eclipse Equinox Project, which is the core Eclipse runtime kernel. As you know, Equinox is based on an implementation of the OSGI specification. We thought that by utilizing this, we were providing a consistent model for component development, that already many in the community, the Eclipse community, are very familiar with.
In addition Corona will also leverage several services that OSGI offers, including like service registration, service tracker, events, declarative services and HTTP services.
Daniel:
OK. Well to sort of turn a corner back into the user perspective of things, how do you feel Corona stacks up against other collaboration tools, such as NetBeans?
Paul:
At the 50,000 feet level, the NetBeans Collaboration Project addresses some of the same areas that Corona's targeted at, and that's really the ability to share project information across the team no matter where they're located. So many of the collaboration features are common between the two frameworks, such as chat and the ability to share files.
The major difference, from my limited experience with NetBeans collaboration framework, is that Corona not only enables core collaboration features, but through the Corona server we give teams the ability to share events and the ability to deploy hosted management tools that impact the team on the server side.
So, as you know, using the Eclipse platform gives you the ability to add functionality with plug-ins in the client. Well, the Corona framework really allows you to do the same seamless integration on the server side and so plug-ins and OSGI bundles can be hosted on the server and then utilized by the rest of the project team. Our hope is that as more and more of the community contributes to add-ins and plug-ins and bundles in this area, that integration and collaboration possibilities will continue to grow to the user.
Daniel:
Do you use Corona yourself, and if so, how has it affected your development?
Paul:
Well, as you know, Corona is new technology. We still don't have a GA release, but we are in the process of using Corona in two different ways within our own company. Our current Corona development team is physically located in two different countries, part of the team is located in Detroit, Michigan, at our headquarters, and the other part is in Gdansk, Poland. So you can imagine this presents some challenges such as language, timezone and culture; even holiday schedules are quite a bit different.
Corona helps us to manage communication and collaboration between the core team members. This is really accomplished by providing a project container on the Corona server that stores all the common resources for the team, so that it can be shared by the team, and the Corona client can access this information, providing collaboration features that are required to help the team function as more as if they were in the same location.
An example of that is that, through Corona, what we do is we have, we start our day out in Detroit with a chat session with the team members in Gdansk, Poland. We go through a status of the project each morning in this environment. Then we have a log now that not only tracks the discussion and the status of the project, but also any decisions or bugs that have come out and so it seems like a small means of collaboration but it's a history of some of the things that have happened and that allows us to use that information to automate other processes.
Daniel:
What do you see for Corona in the future?
Paul:
As the technology matures and like I mentioned, we hope to have a GA release soon, we hope that more and more integration between the different Eclipse projects will take place in the same space. We've already had several meetings, we had a face-to-face meeting back in January of this year with several of the Eclipse projects, and that consisted of projects in the application lifecycle space as well as the collaboration space.
The goal of those meetings was to identify areas where the projects could work together to accelerate the delivery of a cohesive solution that would reside within Eclipse.
The time seems ripe right now, within the Eclipse Foundation, for these projects to work together. As people adopt these frameworks, you know, a particular framework in a commercial environment, projects, other projects such as Higgins which addresses security and roles, will become extremely important.
We're also in the process of setting up a sandbox for the Corona server which will be hosted on an Eclipse Foundation V-server. What this will do is, it will allow a user to download just the client plug-in of Corona and then quickly experience collaboration possibilities with Corona, without having to install and configure the server. We plan to have this available somewhere around the open timeframe, which is in June of this year.
Daniel:
Any closing remarks?
Paul:
We really like to thank you for your interest in the Corona project. We hope that, the few things we've been able to talk about today helped you to understand more about Corona and the business challenges that we're trying to address, both commercially and within the community. We'd just like you to take the time to download and experience Corona, experiment with it. We'd love to get your feedback, and look forward to working together with many of you in the future in this particular area.
You can subscribe to the Corona newsgroup, or the dub mailing list, or you can surf the Corona wiki for additional information. So, hopefully this was helpful.
Daniel:
Cool, yes, excellent. Thank you for joining us, Paul.
Paul:
Thank you.
Transcription by CastingWords