Differences between revisions 9 and 10
Revision 9 as of 2008-04-07 11:23:42
Size: 8358
Comment:
Revision 10 as of 2009-09-20 23:35:10
Size: 8358
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
'''Abstract'''[[BR]] '''Abstract'''<<BR>>
Line 11: Line 11:
[[BR]]
'''Discussion'''[[BR]]
<<BR>>
'''Discussion'''<<BR>>
Line 24: Line 24:
'''Community Interaction''' [[BR]][[BR]]
This is the most important aspect in open source development. Working with an active and friendly community like Tuscany is a huge advantage to make this project a success. I will try my best to involve the Tuscany community in all phases of my project. I will get the support and suggestions from the Geronimo community whenever necessary. I will maintain the visibility and the transparency of the project in a high degree, so that anyone can forward their ideas and suggestions. Tuscany-dev list will be used for this purpose. Already a discussion on this has been started and can be found at ["http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg29496.html"]. Also I am planning to maintain a wiki page displaying the current progress of the project, where others can comment on it.
[[BR]][[BR]]
[[BR]]
'''List of Deliverables''' [[BR]]
'''Community Interaction''' <<BR>><<BR>>
This is the most important aspect in open source development. Working with an active and friendly community like Tuscany is a huge advantage to make this project a success. I will try my best to involve the Tuscany community in all phases of my project. I will get the support and suggestions from the Geronimo community whenever necessary. I will maintain the visibility and the transparency of the project in a high degree, so that anyone can forward their ideas and suggestions. Tuscany-dev list will be used for this purpose. Already a discussion on this has been started and can be found at [[http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg29496.html]]. Also I am planning to maintain a wiki page displaying the current progress of the project, where others can comment on it.
<<BR>><<BR>>
<<BR>>
'''List of Deliverables''' <<BR>>
Line 30: Line 30:
 * Admin Console Extension (in the “war” file format) [[BR]]
 * Source Files [[BR]]
 * Documentation [[BR]]
   * How to use the ACE (Demonstration using a sample)[[BR]]
 * Admin Console Extension (in the “war” file format) <<BR>>
 * Source Files <<BR>>
 * Documentation <<BR>>
   * How to use the ACE (Demonstration using a sample)<<BR>>
Line 35: Line 35:
[[BR]] <<BR>>
Line 37: Line 37:
'''Development Schedule''' [[BR]] '''Development Schedule''' <<BR>>
Line 40: Line 40:
– Getting Familiar with Apache Tuscany, Apache Geronimo and other related technologies [[BR]][[BR]] – Getting Familiar with Apache Tuscany, Apache Geronimo and other related technologies <<BR>><<BR>>
Line 42: Line 42:
- Coming up with the finalized list of features and a design. Defining a list of test scenarios [[BR]][[BR]]
''26th May 2008 – 5th July 2008'' – First Phase of the development [[BR]][[BR]]
''6th July 2008'' – Mid-term evaluation [[BR]][[BR]]
''15th July 2008 – 04th August 2008'' – Second Phase of development [[BR]][[BR]]
''04th August 2008 – 17th August 2008'' – Documentation, Code Reviews and testing the different scenarios defined in the designing phase[[BR]][[BR]]
''18th August 2008'' – Final Evaluation [[BR]][[BR]][[BR]]
- Coming up with the finalized list of features and a design. Defining a list of test scenarios <<BR>><<BR>>
''26th May 2008 – 5th July 2008'' – First Phase of the development <<BR>><<BR>>
''6th July 2008'' – Mid-term evaluation <<BR>><<BR>>
''15th July 2008 – 04th August 2008'' – Second Phase of development <<BR>><<BR>>
''04th August 2008 – 17th August 2008'' – Documentation, Code Reviews and testing the different scenarios defined in the designing phase<<BR>><<BR>>
''18th August 2008'' – Final Evaluation <<BR>><<BR>><<BR>>
Line 51: Line 51:
'''About Me'''[[BR]] '''About Me'''<<BR>>
Line 54: Line 54:
I have been working with Java technologies for almost three years. I have developed a fair amount J2EE and J2ME applications. And I have a good exposure to SOA, especially to web services. I have worked with Apache Axis2 and Apache Synapse projects. I have developed a JRuby Binding for Apache Axis2 during my internship period. I also have developed a mediator for Apache Synapse, which is called as URLRewrite Mediator. All the information about this project is available at ["http://esbsite.org/resources.jsp?path=/mediators/thilinamb/URLRewrite%20Mediator"]. I have been working with Java technologies for almost three years. I have developed a fair amount J2EE and J2ME applications. And I have a good exposure to SOA, especially to web services. I have worked with Apache Axis2 and Apache Synapse projects. I have developed a JRuby Binding for Apache Axis2 during my internship period. I also have developed a mediator for Apache Synapse, which is called as URLRewrite Mediator. All the information about this project is available at [[http://esbsite.org/resources.jsp?path=/mediators/thilinamb/URLRewrite%20Mediator]].

Abstract

Tuscany Service Component Architecture (Tuscany SCA) provides infrastructure for developing applications by combining the existing components and contributions. These contributions are residing in SCA domains. An SCA domain may be comprised of a single runtime or multiple runtimes. Most of the time, it is distributed across several runtimes within a network. A runtime could be an application Server run time like Apache Geronimo. Tuscany has already been integrated with Geronimo to provide runtimes using command line tools.

The objective of this project is to develop an Admin Console Extension (ACE) for Apache Geronimo for deploying and managing SCA contributions within an SCA domain. So the users will be able to use a graphical user interface to manage contributions instead of existing command line tools. With this ACE, it will be possible to list the contributions available in the SCA domain with their status, deploy contributions in the domain, remove contributions from the domain and manage composites within these contributions. Once these features are implemented, other aspects of an SCA domain will be considered like policy configuration, allocating SCA components to different runtimes, etc. Covering all these aspects will make this ACE a full confirming administration tool.

At the moment Tuscany has a web based SCA domain admin tool to manage contributions within an SCA domain. This will be mashed up into Apache Geronimo as an Admin Console Extension, with some feature additions and improvements. With this ACE, it will be easier for users to manage different SCA contributions directly from the Geronimo admin console. In addition to that, this ACE will be having support for administrating the total SCA domain. This will be a useful feature addition for Tuscany.


Discussion
Tuscany SCA is a major part of the Apache Tuscany project, which facilitates building large applications by combining the existing services. Tuscany provides the entire infrastructure to assemble these services. A service is offered either by a component or by a composite. Composite is an aggregation of one or more components which are co-operating with each other to deliver a particular service. Once these composites are bundled with their configuration details and get packaged in a deployable manner, it is called a contribution. A contribution is an archive and the artifacts in the contribution can be located using hierarchical URIs. These contributions are deployed in SCA domains. An SCA domain contains one or more runtimes. Apache Geronimo is one possible way to create a runtime for an SCA domain.

When an SCA domain is created, it is essential to have a mechanism to manage that domain. Managing contributions is an important aspect of SCA domain management. This includes deploying and managing SCA contributions in the domain. Tuscany already has a web based SCA domain admin tool. It would be really advantageous, if this admin tool can be bound with the Geronimo admin console with some improvements and feature additions. This was not straight forward with the earlier versions of Geronimo as it had a non customizable admin console. But now Geronimo provides an Extensible Administration Console (EAC). Administration Console Extensions (ACE) can be used to make customized admin consoles for the different run times using EAC. Because of this facility, now it is possible to develop an ACE to manage contributions of an SCA domain.

I am planning to facilitate, displaying the existing SCA contributions with their status, deploying new SCA contributions in the domain and remove SCA contributions from the domain. Information like whether all the imports are resolved and the imports which are unresolved will be displayed under the status of the contribution. In addition to that, it is possible to extend the functionality of this admin console to cover the other aspects of an SCA domain, like policy configurations, allocating SCA components to runtimes. Then this will become a total solution for administrating SCA domains.

I will be able to grab a lot of helpful ideas and clues by exploring the existing integration of Tuscany with Geronimo and the web based SCA domain admin tool. Then I'll try to mash up the existing web based SCA domain admin tool with Apache Geronimo as an ACE in my first step. This will be used as the base of the project, and I'll be working on applying necessary modifications and adding more features into this.

I am planning to use Apache Geronimo internal repository to store the contributions. All the above mentioned functionalities will be implemented as a portlet, since portlets are the main building blocks of Admin Console Extensions. A special attention will be paid to make user interfaces as much as simple and user friendly. I'll use the different modes of portlets like view and edit effectively to achieve that task. And the window state is also an important factor, since I will have to properly manage the space provided by Geronimo to display the necessary contents. I’ll try to deliver the source with a high readability and clarity. Java coding standards and good programming practices will be followed throughout the implementation phase. I will try to get the Tuscany community to review the code frequently. I am planning to add some documentation, describing how to use the Admin Console Extension with a sample demonstration.

Community Interaction

This is the most important aspect in open source development. Working with an active and friendly community like Tuscany is a huge advantage to make this project a success. I will try my best to involve the Tuscany community in all phases of my project. I will get the support and suggestions from the Geronimo community whenever necessary. I will maintain the visibility and the transparency of the project in a high degree, so that anyone can forward their ideas and suggestions. Tuscany-dev list will be used for this purpose. Already a discussion on this has been started and can be found at http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg29496.html. Also I am planning to maintain a wiki page displaying the current progress of the project, where others can comment on it.


List of Deliverables

  • Admin Console Extension (in the “war” file format)

  • Source Files

  • Documentation

    • How to use the ACE (Demonstration using a sample)


Development Schedule

22nd April 2008 - 29th April 2008 – Getting Familiar with Apache Tuscany, Apache Geronimo and other related technologies

30th April 2008 – 25th May 2008 - Coming up with the finalized list of features and a design. Defining a list of test scenarios

26th May 2008 – 5th July 2008 – First Phase of the development

6th July 2008 – Mid-term evaluation

15th July 2008 – 04th August 2008 – Second Phase of development

04th August 2008 – 17th August 2008 – Documentation, Code Reviews and testing the different scenarios defined in the designing phase

18th August 2008 – Final Evaluation


About Me
I am Thilina Buddhika, a Final Year Undergraduate of University of Moratuwa, Sri Lanka, specializing in the field of Computer Science and Engineering.

I have been working with Java technologies for almost three years. I have developed a fair amount J2EE and J2ME applications. And I have a good exposure to SOA, especially to web services. I have worked with Apache Axis2 and Apache Synapse projects. I have developed a JRuby Binding for Apache Axis2 during my internship period. I also have developed a mediator for Apache Synapse, which is called as URLRewrite Mediator. All the information about this project is available at http://esbsite.org/resources.jsp?path=/mediators/thilinamb/URLRewrite%20Mediator.

With all these projects I have got a good exposure to the open source world, especially to Apache projects. I am familiar with Apache Maven, Apache Ant, Subversion and Apache Tomcat which are widely used in Apache projects.

ThilinaBuddhika/GSoC2008/Tuscany_SCA_Support_in_the_Geronimo_Admin_Console (last edited 2009-09-20 23:35:10 by localhost)