Category Archive
The following is a list of all entries from the component provisioning category.
SWAP 2007
It’s been a while since my last post but I’ve been quite busy, so I’ll try to catch up with the latest news
.
I got back from SWAP 2007 which was held in Bari, Italy, 18-20 Dec. It was absolutely interesting, a lot of lively discussions, good insights and nice people as well.
I presented my Google Summer of Code project (ppt here) and the feedback was really good.
The full paper is available in my publications page.
Semantic-aware component provisioning: “pencils off” status report
I want to recap my summer of code so far, before the final evaluation starts. Here’s what I accomplished so far. It was a lot of work, and a huge fun as well, hope to catch your interest and get some feedback on future developments!
GUI CONTRIBUTIONS
- new component submission view (drag and drop support from the repository explorer to add dependencies easily
) - repository explorer view
- preference page (set repository URL)
IMPLEMENTED FEATURES
- submit a new component
- usual search features (name, version, tags)
- search components providing a set of tasks
- search components providing all the tasks of the selected ones
- “smart” search of components functionally equivalent to the selected one (reasoning here)
- search components depending on the selected one
- assert functional equivalence between components
HANDS-ON
Let’s take a test drive. I submit a new component, in this case (just as an example) the “last-gsoc-demo” one. I fill in some data, and press submit. I can just drag-and-drop dependencies from the repository explorer to the dependencies viewer.
I previously submitted some sample components. Now since all jdbc drivers implement the same specification, to some extent it is correct to consider them “functionally equivalent”, and I push this statement in the knowledge base.
For sake of brevity I ask you to trust me without further shots, what I did is just assert all jdbc drivers in the repository (besides the “dummy-jdbc” one) “functionally equivalent” to the postgresql one, and then assert the “dummy- jdbc” only equivalent to “mysql-jdbc”. I can ask now the repository to give me components “functionally equivalent” to the selected one (“dummy-jdbc”), just clicking on the context menu item:
![]()
Here’s what I obtain:
You might notice that the selected item is still there, which makes sense since everything is of course functionally equivalent to itself.
Furthermore, it is worthwhile to note I only said the “dummy-jdbc” was equivalent to “mysql-jdbc”, full stop! The rest is just the result of the reasoning process.
Now, I can also describe a component in terms of the “tasks” it carries out. Let’s suppose – just as an example – I have two components, one for “dom-parsing” and the other for “sax-parsing”.
Suppose now I was not on earth in the last years and I want to know if there exists a single component doing the two things.
I can select both of them, click on the shown item and I’ll get xerces-j actually does both things. I might decide to use it if it fits my needs, since a single dependency is better than two, in most cases.
I also could want to know if other components rely on mine, or for instance how many components actually use one, which usually means it has great reputation. Remember the “last-gsoc-demo” component? I put “mysql-jdbc” as a dependency there. I just right click on the component, and find the components depending on the selected one.
CLIENT-SERVER ARCHITECTURAL VIEW (after latest modifications)
KNOWN BUGS
- troubles with SPARQL queries involving literals: searching against id and tasks is ok, versions and tags are not (yet the http://repo.url/tag/{tag} resource works fine… i had no time to investigate further befor pencils were off)
- dangling dependencies (i.e. after a delete operation) are not handled yet.
COMING SOON (random order)
- rest (not in the soa-ish meaning)
- enable license and license-style search criteria on the plugin
- associate a new perspective with the provided views
- improve repository explorer (i don’t like that tree very much)
- bundled repository exploiting the eclipse embedded jetty server
- import existing metadata from maven POM or OSGi manifest (URL drag and drop from web browser?)
- address repository data access layer performance issues
- setup an update site somewhere on the globe
CHEERS
That’s all for now, I really enjoyed the work, and I am confident this both- side fruitful collaboration will go on. A lot of things remain to be done on this project, and I won’t let it down after Google Summer of Code stops.
I want to thank Philippe Ombredanne for mentoring me, and all the guys @ #eclipse-soc for supporting me and other students day after day. It was an invaluable experience to work with you guys.
See you online,
cheers,
Savino Sguera.
RESTlet in Eclipse Plugin Development
I am bundling the Semantic Repository for my GSoC project as an Eclipse plugin, relying on the embedded Jetty server shipped within Eclipse (yes, once it was Tomcat, used by the Help plugin).
The repository publishes a set of REST API, and makes use of the RESTlet framework, and I just discovered that guys @ Noelios provided a nice and easy way to integrate RESTlet in plugin development: have a look at FAQ#21.
Semantic-aware software component provisioning: status report
Recap: previous status report – all about my GSoC project @ Eclipse
Most significant updates for this week:
- Model refactoring
- Ontology design improvement
- Jastor classes update
- Implemented marshalling subsystem (XStream)
- Added persistency to Jena model (Apache Derby embedded DB)
- Tested full stack data flow:
Restlet’s DomRepresentation <-> Document <-> XML <-> Javabean <-> Jastor class <-> Jena statements <-> RDBMS - Discussed dependencies licensing issues (no problems ahead)
- Started client’s architectural design (and assessed code reuse scenarios)
- Added javadoc
- Committed new code to eclipse-incub
Very next steps:
- Discuss some modeling issues with Philippe
- Implement REST layer
- Get a live demo of the repository up and running
- Start client design
- Add a “dependencies” page to project’s wiki
Semantic-aware software component provisioning: status report
Mid-term evaluation incoming, blogged about my Google Summer of Code project @ Eclipse Summer of Code Blog.
Some significant progress this week, I’m absolutely satisfied but a lot of work is still to be done.
Read the entry and feel free to drop a line of comment!
Semantic-aware software component provisioning: second update
Second update about my Google Summer of Code @ Eclipse.
I blogged about my project’s status here @ Eclipse Summer of Code blog.
Please, feel free to comment the original post, or this one as well.
Semantic-aware software component provisioning: Project Update
First update about my Google Summer of Code @ Eclipse.
I blogged about my project’s status here @ Eclipse Summer of Code blog.
Please, feel free to comment the original post, or this one as well.
Plans for the summer?
A few hours ago Google published accepted students for the Google Summer of Code 2007.
I’m in!
Just received the official “Congratulations!” e-mail from Google: I have been accepted by The Eclipse Software Foundation, I’ll work on a project I proposed and I’ll be mentored by Philippe Ombredanne.
A brief high-level description of what the project will consist in is here @ my Google Summer of Code application information page. More details are coming right away on this page
.
I really want to thank all the people who made this possible, especially guys @ Google and The Eclipse Software Foundation.
Btw, looking forward to get the t-shirt
!




