Feed on Posts or Comments

Uncategorized fwilhelmstoetter on 24 Mar 2009

eclipsecon: A deep dive into the platform resource model

Not the sexiest part of the eclipse ecosystem, but everyone who is doing something useful with the eclipse RCP has to deal with the eclipse resource framework. The resources in the workspace are represented as tree. Eclipse makes a big effort to make the cost (eg. for rebuilding the source code) proportional to the changes and not proportional to the size of the workspace. This is done by tracking the differences.

What I missed (or ignored) so far was the concurrency issue. The resource tree only exists once, so you have to deal with concurrent read and write access. For read access you don’t have to aquire a lock. Write access uses the “copy-on-wirte” pattern. For a more advanced locking you have to use the ILock interface from the eclipse jobs framework.

Uncategorized Gerd Saurer on 23 Mar 2009

“Single Sourcing RCP and RAP” – Desktop and web clients from a single code base

As the title let you mention the tutorial was about bringing an Eclipse RCP into the web. The idea of single source for desktop and web is not new, but in the last time more and more projects start providing a framework that may really work in the field.

Rap is providing a bridge of the SWT shell to the web. All eclipse.swt controls (at least they told me) have been ported to the web in the rap packages. Others e.g. nebular are still missing. Supporting your control to be able to render in the rap framework, which by the way can be done by everybody, is hard work to do because you have to implement the web representation and the javascript code for the communication. In RAP the client (browser) does not know anything about the state and the processing logic, this code is just running on the server.

As Eclipse in its current state is just a single user application there are several issues. Until now developers don’t have to to care about the context of the user because there is always just one instance running with one user running. Eclipse used Singletons heavily within the RCP and so did developers. Of course because RAP is just starting one instance of the Eclipse RCP this have several disadvantatges and will in several cases lead to illegal states of the application (e.g Shopping Basket where several users would just access one instance). This status will change with the e4 which is in the pipe but not shipped until now.

Most of the code can be used in both worlds the RCP and the web but some is only needed or hast to be changed for one of them. Because of that they used the OSGi Fragments to support the functionality of replacing information depending on the client they are running on.

For the web they did a grate job to allow styles and layouts that the application does look more like an web application then just an RCP within the browser. See the two screenshost below to find out what is possible with thees techniques.

rap14 rap2

Future: For the future they try to define some kind of generic protocol for the client server communication and to think about using gwt to generate code for their client controls.

Conclusion:
RAP did a grate job in my opinion nevertheless I have to say that there are still some weaknesses. For me the project makes sense for smaller RCP applications but not for complex ones. Sadly moste of the applications we are speaking about are the complex ones.

Presentation

experience & info Gerd Saurer on 07 Jan 2009

Google Apps & Google Account

This weekend i finally decided to move one of my domains (saurers.com) to Google Apps. The main reason for doing this was that several of my family members have used different mail services and i didn’t want to maintain them any more. I was playing around with Google Apps some time ago but my ISP didn’t have the possibility to configure the MX records within the web interface therefor it was hard to move. Of course i would had the possibility to change the domain to an other ISP but i host several domains there and didn’t want to add another provider to maintain. For some time now the ISP allows to configure the settings within their web interface and this weekend i finally started to move.

One of the main questions for me was how the Google Apps and my current Google Account interact or work together. I couldn’t really find good explenations about that on the net therefor I asked a friend who already ported a domain to the service. The way google is handling the stuff is still a little bit confusing to me but i will try to explain it.

  1. You will have two Accounts that are complete independent from each other
  2. Both of them can have a mailbox, a calender, a docs, chat and a sites account (maybe more in the future)
  3. Google Apps services are independent from all other services of the same kind
  4. You may configure your current Google account to log in with your Google Apps credentials (may be useful as described later

This are some major points you should consider if you want to use Google Apps. Now lets start the process.

  1. Sign up for a new Google Apps Account @ http://www.google.com/a
  2. Go to you ISP and add the specific domains for your services and configure the MX entries as described within the help
    Special the MX records will take a little bit longer to be active (my took more than one day)
  3. Create your accounts for the domain (several possibilities you can even upload a config file for creating several accounts at once)

With thees steps (all are explained in detail in the help pages) the domain is configured but your not integrated with your old account and you have now at leas two mailboxes. If you want to hold them seperated this is ok but i wanted to integrate them therefor there are some more things to do.

  1. Google Accounts allow you to collect mails from different other Accounts via pop3 download and you will even be able to send other addresses (e.g. your old @gmail.com) through the new account. You can set up them at the settings of your new mail account.
  2. I wanted to move my calendar to the Apps account that special my family can see my appointments. Using SyncMyCal for several time now i just switched the sync settings from one of my clients to the new account. All Stuff was synchronized correct. On all other Clients i had to remove all entries befor updating the configuration to the new account otherwise it would have added all appointments several times. You can also export the calendar on you old account and import it on the new one if you don’t use synchronisation.
  3. If you want to be able to log in with the new App accounts to all other services you are using from Google (e.g. Reader) you have to add the new app account to your google profile. The profile can be configured under https://www.google.com/accounts/ManageAccount

I took me nearly have of a day to configure all the accouts for my family correct, but now i have just one point to maintain and it is much easier to help because all are using the same interface.

Uncategorized Gerd Saurer on 03 Jan 2009

Microsoft Academic

ms_academic I was searching for some papers today and found an interesting project from Microsoft. Most of the websites that provide papers search functionality are hard to read and look like they where developed in the 90’s. The
Microsoft Academic Search (Project) implemented two nice (not new) ways for showing the information. Below you can see a screen shot of one of the implementations that allows you to navigate through the network the author has written papers with. The website also provides a some searches for Call for papers or Conferences which may make your live a little bit easier.

ms_academic_gs

tech Gerd Saurer on 21 Nov 2008

Eclipse Summit 2008 Day2

The second day of the Eclipse Summit started wit the Keynote held by David Wood a Symbian Veteran. As you might kow Symbian is getting to be pulished under The Eclipse Public License. He spoke about the power of new devices and how they will become much smarter in the future. He pointed out some issues with the different Licenses (GPL, Eclipse, ..) and that they prosue different goals.

SMILA was the second talk I attended that day. The framework is still in the incubator of the Eclipse projects. It tries to build an backed Architecture for searching. They are using JMS to divide the crawler from the indexing logic. All of the components can be changed. For indexing and converting they are using a BPEL engine tho be able to extend the functionallity easily. The project looks nice and may be we will try the framwork in the future for one of our products. At the moment there are no sources or binaries available so we will have to wait to evaluate it.

The rest of the day I attended some of the talks for a while but most of the time i used for discussions with members of the community.

The last talk I was interested in was about BIRT the well known Reporting engine in JAVA. It was nice to see some of the new features and I got some impressions how I will be able to integrat this into our current projecte where a little more than just reporting is neede.

In the end I have to say that it was really a good decision to go there even if I was not able to prepare me for the conference because of the short -term decision. Anyway I hope that I will be able to attend the EclipseCon next year.

Thanks for Rupert he posted the Link to the presentations and resources of the conference as comment in my last posting.

tech Gerd Saurer on 20 Nov 2008

Eclipse Summit 2008 Day1

After the first day of the Eclipse Summit I want to make a short summarization about the first day. We came late to Ludwigsburg therefor I was not able to attend the Keynote held by Dave Thomas. I met him at JAOO 2007 and he is rally a smart guy, with a lot of experience in the computer science field.

The first session I could attend was “Aspect Weaving for OSGi”. Aspects are not new to me but the presentation gave some more impressions about the integration in OSGi. The Interesting part there is that as you might now Bundles in OSGI have their own class loader which means that they are divided from each other. For Aspects this is a big issue special if they need to be wave in the logic within runtime. At the moment we are using Aspects but weave their functionality into the classes while compile time. I have to give the bundle project a try if it will solve some issues we have at the moment with aspects (e.g. automatic building).

After that i just stayed in the room to hear the talk about “Service Discovery and Remote Services within the Eclipse Communication Framework”. What they are trying is the logic if the service is running local in an OSGi container or if it is somewhere in the cloud. Nothing of the concepts are new but they also gave some impression about their work they are doing on an other Project which is dealing with collaboration. This is more interesting for me special beaus we may need some of thees functionalities in the future in our product.

After that talk we had lunch and i start talking to some people. As some of you might know I really like talking therefor i missed the next Track :-) .

At leas for me the most interesting talk was “Best Practice for Equinox and OSGi”. It was not that they where telling new stuff further more they where questioning Architecture concepts within the enviroment (e.g. Extension points). The arguments are the same as I am using when i describe while we used an Registry instead of the Eclipse Extension point concept. Most of them are dealing with testability and the possibility to not have to rely on Eclipse or OSGi at all. This is from special interest if you have an architecture where bundles or at least code of them should run on server and client. They also mentioned to use declarative services instead of the services trackers available in OSGi. I also don’t like the concept of the trackers and the static method for service resolving, but I would prefer Proxy objects generated within runtime that are hiding the service tracker from the rest of the world. I must admit that I don’t have this much information about declarative services that I can say to prefer the one against the other.

The next session that impressed me at leas a little bit was “Single Sourcing: Extend your RCP application to the Web with RAP”. What I saw at the talk was the simple mail application that was ported straight forward with RAP to a web application. Of course they had to do some shortcuts and not everything is working, but i will give it a try to get an impression. Maybe we can use this in the near future.

The last session was “EclipseLink: High Performance Java Persistence”. I just got a view hints about the API but nothing really new to me.

I have to say that the people within the Eclipse community (I am the first time at an Eclipse Conference) is are smart and have good ideas. The issue with all the JAVA environment is just that the community is slowing down in the bigger project and hundreds of small new projects are started to compensate this. There is one big issue in this whole Ecosystem; to find the correct concepts, bundels, plugins for your need. If you are not attending Conferences like this one you will get lost in the amount of projects available for this environment.

info Gerd Saurer on 19 Nov 2008

Eclipse Summit Europe 2008

Just a view days ago, i didn’t know that I will go ther, but right now I am sitting in the “Forum am Schlosspark” in Ludwigsburg. I will stay for two days at this conference. Let’s see what it will bring. As I am going through the speakers list i can finde some interresting Talks. I will post about them within the next thwo days. Take a look at the webpage to get more information about the event and what is happening here.

info Gerd Saurer on 16 Nov 2008

IRF – Symposium

Last week the IRF organized the yearly Symposium. The Organization is pretty new and was initiated by Matrixware. The goal is to bring Information Retrieval scientists and Intellectual Property professionals together in one place that they can speak about their experiences and needs. The symposium was really a huge success for the IRF but also for the people attending.

As I was there for two days i got some impressions too and had the chance to speak to IR (Information Retrieval) but also IP (Intellectual Property). I am still astonished how far the two groups are away from each other. If you are interested in that area pleas take a look at the website containing the presentations.

For the next year of the IRF I would recommend to the IR people to prepare their presentations in a way that also normal people can understand them. I know the area an the solutions are sophisticated and can be very complex, but there is always a way. The IP people i would recommend to focus on ideas and what they really need.

There was one sentence in the Wrap-up session that really impressed me (Stephen Adams):

We have to run just to stand still within the IP Industry.

info Gerd Saurer on 16 Nov 2008

Matrixware

Dear readers, I have not written within this bolg for a long time now. As some of you might know I have changed from Senactive to a new company working an an totally different field called Matrixware. The company is working in the area of Information Retrieval (IR). In the future I will hopefully have more time to inform you about our visions, products and work we are doing. For now I just want to say that I have already learnd a lot in the few months working there.

web Gerd Saurer on 21 Jun 2008

Amazon.com Greasemonkey Script

Most people writing about books in the Web are linking to amazon.com nowadays. I like it because the reviews there give you some clue about the book and if it is worth buying it. The only problem is that I normally order my books on the German amazon website. To add an book to my wish list or at least to find it there I always had to copy the ISBN number, to open the German site and search there for the product. This was really anoying for me. Therefore i decided to write a small Greasemonkey script that adds an link to other amazon sites (at the moment only the german site) and shows me the price they offer the book there.

This is the first version and it is not looking very fancy at all but it works and saves me time. If you also want to use it you can download the version from my website.

« Previous PageNext Page »