Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

GSocProposalApplicationEclipseSTP

Google Summer of Code 2009 Application

Subject : Policy Derivation tool for STP Policy Editor + WS-Policy Awareness

Name  : U.S. Wickramsinghe

Email  : mastershield2007@gmail.com

Skype ID: u.s.wickramasinghe


Project Title

Policy Derivation Tool for STP Policy Editor + WS-Policy Awareness


Project Summary

The STP policy editor is an Eclipse editor for editing WS-Policy content or other XML content that is based on XML-Schema with a graphical editor. While based on the XML Editing Framework (XEF), STP policy editor provides nice and convenient framework for adding/deleting/editing xml elements for the instances based on the schema provided . Primary goal of the proposed project is to make use of this functionality of the STP policy editor to make way for a whole new policy tool which extracts the underline policy assertions of any XML based WS Standards compliant (ie:- WS Security xsd,WS RM, WS secure conversation ,WS Addressing , etc) Message that is provided to it.Among other objectives of the proposal are to make STP Policy Editor WS:Policy aware by providing collection of configuration options for the policy Editor tool while providing out of the box editing capabilities for editing xml instances accordingly to WS compliant standards and providing some useful patches for STP Editor


Project Proposal

view this project proposal.

Commitment

I would like to commit my full time towards fulfilling requirements and milestones of this project since I am not committed to university academic activities during this period (We are into university vacation and June term during GSoc project period..). Hence I would be able to fully concentrate on this project being able to learn , code and interact with the community and participate in online activities as well..

I am very much willing to participate in community contributions to the best of my ability as I consider this as a great learning experience and a privilege as well. Hence i am certainly looking forward to continue working with you all , beyond GSoc project period as well while taking necessary efforts towards the continuation of this project and others as well.


Schedule of Code and Deliverables

Deliverables

1.Policy Derivation tool integrated into the STP Policy Editor .This new tool will be a fully  Extensible framework providing extension mechanisms 
to derive WS:Policy assertions for various WS standards while providing scalable support for various XML wire types (ie:-SOAP,JSON)  for different 
sources (ie:-File System, Live Streams,Database Support..)
2.WS:Policy Awareness configurations (collection of  examplars) for the editor comprising adjustments on both ui and backend.
3.Possible patches for current STP policy editor on WS constructs and functionality
4.Appropriate Documentation for usage of this tool with guidelines for possible extensions  as well for UI options for the system.
5.Test Cases and samples to validate the functionality of the policy builder tool
6.Comprehensive online tutorial including ‘Quick Start Guide’ , ‘Architecture Guide’ ,‘Development and Extesibility Guide ’ etc.


Project Schedule

April 15th to May 23rd

Google has included nearly 1 1/4 months for community bonding in GSOC 2008. I will use this period to execute my initial phase plans for the project. I would also like to start the second phase at the end of this period , for gathering requirements and discussions on architectural details.

April 15th  -  29th  → Getting familiar and further exploration of Eclipse platform, plugin architecture and related stuff with my project .    
Discussion of related issues with the community.  
April 29th  -  May 13th → Gathering requirements and use-cases of the newly proposed tool with some discussions with the community. Providing a   
requirement specification . Further discussion on design and architectural aspects.
May 13th  -  May 23rd  → Finalizing model,API, and framework . Start coding and implementing  the proposed design.


May 23rd to 15th June

I would commence coding for the project as planned for developing the Framework and API parts. Phase 2 mid and end stages will be executed in this period.

May 23rd  -  June 6th   → mid stages of coding API and the framework. Issues will be discussed with my  mentor as well as the community using mail 
lists, online discussions,etc. Deliver the code samples of the progress thus far.
May 23rd  -  June 6th   → adding final touches to the API + framework developed. Review on the complete code with my project mentor.
June6th  -  June 15th   → creating some stubs to test the API  + framework. Providing and discussing test results. 


June 15th to July 6th

At the the start of this period I will be finished implementing the API and framework and some prototypes. Executing the 3rd phase , I will be drawn into Bulk of the development work as planned .I will get feedback from the community for work and progress so far.

June 15th  -  June 29th   →  Actual  implementations of some of the extension scenarios for message sources and outputs. Discussing issues,progress 
and results.
June 29th  -  July 7th   → Focusing on UI aspects and integrating with the core framework. Discussion on usability and issues. Delivering code and 
progress .


July 7th to July 13th

Mid term Evaluation period. After submission of mid evaluation work I’ll continue my work on the 3rd phase which will be on it’s middle stages and try to end the 3rd phase with the end of this period.

July 7th  -  July 9th   →  Submission of mid evaluation work.

July 9th  -  July 13th   →  Reviews and discussions on the mid evaluation results. Planning future developments. 


July 13th to August 10th

Fix bugs discovered .Reviews with mentors respective to the mid evaluation Results. Start phase 4 of the project plan . Finish most of the work in the 4th phase with the end of this period.

July 13th  -  July 27h   →   Further Implementing and working out different input/output scenarios for standards discussed. Working the way into  
standards support implementations. Working out issues and coming up with strategies 
July 27th  -  August 10th   →  Testing and Reviewing Bugs. Working around unfinished implementations if any. 


August 10th to August 17th

Executing final stages of the 4th phase ,writing tutorials and documentation regarding the policy builder tool and related aspects. Engaging in additional goals and any missed targets that has not been full filled yet and end of the 4th and final phase of work.


August 17th to August 24th

Submission for final evaluation after a full comprehensive review.


August 25th

Final Results for GSoc 2009


Open Source Development Experience

Being a Computer Science Undergraduate Student entering the final year of Computer Science and Engineering Department at University of Moratuwa, Sri Lanka , I was pretty interested in Development of Open Source Software during my training period and it has been my forte since. I have been working on Open Source Web Services related stuff for close to a year now .I have been engaged in work including WS security specifications , XML Security related stuff , Apache Axis 2 based Web Services and SOA related work and also WSO2 Carbon Platform (An Osgi based Component Framework) .

Specifically I have worked on a WS:Security policy derivation tool for SOAP messages according to WS Security specs , also making use of Apache Rampart Policy Models for policy serialization. I have made it available as a Carbon Component (shortly will be available in repos and as an online tool ) for the use of WSO2 WSAS (Web Service Application Server) as well.

I have also been able to write components for WSO2 mashup server for Ruby Service Deployment and Message Receiving , using JRuby Framework , making use of Apache Axis2 Engine Extensibility. ( source: jruby Deployerschema Generator for Scripting languagesjRuby Orbit ) . I have written some Ruby DSL type annotation parsers for XML schema annotation for the requirement of this project and have some experience in that aspect as well.

I have good Experience in OSGi,javascript and yui ,jQuerry libraries, Ruby + jruby framework, Ajax , Servlet ,EJB and related web technologies and I have also worked in C++ developing environment and have done some project work related to that as well.


Eclipse Development Experience

I have done OSGi based projects on WSO2 Carbon Platform (OSGi Equinox platform ..) and have a quite a good experience , working in OSGi component development. Though I have no big experience in Eclipse Plugin development specifically , I have learnt developing some sample plugins and currently in the process of further exploring on this subject...


Work/Internship Experience

My internship has been in an open-source organization called WSO2 which basically focuses on SOA based middleware development (Application/Mashup servers,ESB's,Web platforms, etc) . During this internship period I was able to work with WSO2 Axis2,Carbon and WSAS teams to help develop some software components and integration work that was required in these respective product stacks . Most importantly I was exposed to various open-source technologies,standards and communities during this period and has been a great learning curve for me as well.


Academic Experience

I am an Engineering Undergraduate student entering the final year of Computer Science and Engineering Department at University of Moratuwa .I have been engaged in core subjects like Data-Structures and Algorithms ,Software Engineering and Design Patterns , AI , Operating Systems ,Networing and Embedded Systems and also been exposed to lot of programming work/projects in various languages like java,C,C++ and web technologies , during our Academic Period. I have developed a network based Gaming application and EJB/Servlet based Online Applications for our 2nd and 3rd year projects respectively. I also gained some knowledge and experience in working on some static code analyzing project for MINIX OS using some open source analyser tools (ie:-Saturn) ,for a project initiated by our department. Having a GPA of 3.85 ,I have so far excelled very well in my academic activities and have been nominated in the Dean's List 3 times .


Mentoring

//To be filled


Selection of Eclipse as an Mentoring Organization

I being very much interested in open-source development and the standards it adheres to , I think Eclipse is an ideal open source community to share and work with , itself being one of the top running organizations for open source development and standards . Having a very supportive and skilled open-source community, Eclipse would be a great platform to enhance my knowledge and skills on open source development work as well. I am very much eager to contribute and work cooperatively with every way I can in various Eclipse projects I'm interested in .


What i'm hoping to gain from participation

This project will explore lot of aspects of Eclipse and it's architecture ,design and modeling of SOA tools in eclipse , intergration work with ui's and backends, etc..I consider these as great learning opportunities in improving my skills on SOA related tooling and Eclipse frameworks, and more importantly software development in general .Also i will be able to share lot of thoughts and ideas with experience and skilled software professionals which would intern give me lots of exposure to new technologies,standards,etc in open source world.

Back to the top