Home » tag » Apache

Java Blog » Olympische Winterspiele mit Moonlight 3 schauen

Adobe Ajax Android Anwendung Apache API C++ Community Developer Eclipse Eclipse Foundation Embedded English Enterprise Entwickler Equinox Galileo Google Handy IBM IDE Individual Java Member Microsoft Mobile Modeling NetBeans News Open …

Apache räumt Projekt Beehive auf den Dachboden – silicon.de

Apache räumt Projekt Beehive auf den Dachboden
silicon.de
Das mangelnde Interesse an dem Java-Programmierungsmodell hat die Entwickler der Apache Foundation jetzt dazu bewogen, das Projekt Beehive zu beenden.

und weitere »

Apache Beehive geht in Rente

Das Apache-Beehive-Projekt wird eingestellt und an Apache Attic übergeben. Beehive bot ein Application-Framework für das Entwickeln von Java-EE-basierten Anwendungen und nutzte unter anderem XMLBeans. Ursprünglich basierend auf BEA …

Das Aus für Apache-Framework Beehive

Einst von BEA Systems mit viel Brimborium gestartet, war die Entwicklung am Anwendungs-Framework schon länger eingeschlafen. Jetzt wurde die Entwicklung offiziell eingestellt.

Ant 1.8 final erschienen

Nach über einem Jahr Entwicklungsarbeit hat das Apache-Team Version 1.8 des Build-Tools Ant veröffentlicht. Der Auswertungsmechanismus der Taskbedingungen wurde geändert, außerdem lässt sich nun ein Erweiterungspunkt zu …

Update für Apaches Ant

Nach anderthalb Jahren gibt es eine neue Version für das verbreitete Build-Werkzeug für Java-Anwendungen, das neben nahezu 300 Bugfixes auch deutliche Performanceüberarbeitungen enthält.

Apache Tuscany SCA 1.6 erschienen

Apache Tuscany bietet eine Laufzeitumgebung, die auf SCA (Service Component Architecture) basiert und dadurch mehrere Spezifikationen für die Entwicklung einer SOA zur Verfügung stellt. Release 1.6 der Java-Version beinhaltet deshalb …

Artikel: Tutorial: Google Collections in der Praxis

Die Google-Collections-Bibliothek ist eine Erweiterung des Java Collections Framework [1]. Wie der Name schon andeutet, wird sie von Google entwickelt und betreut. Die Google Collections sind unter der Apache 2.0 Lizenz verfügbar und können vom …

Apache FOP – Forum Fachinformatiker.de

Hallo zusammen, mal wieder ein Problem. Ich will mittels Apache FOP eine XML-Datei (inkl. XSLT-Stylesheet) mittels Java-Code in ein PDF umwandeln. Die.

Donald Smith: What I’m doing Monday of EclipseCon

I’ve got my Monday all mapped out (don’t forget, the full conference starts early Monday morning!) – and it’s all about OSGi and eclipseRT.

First, I’m checking out Paul VanderLei and gang’s “Working with OSGi” tutorial, maybe popping in and out as I do some new-member jumpstarts.

After lunch, I’m heading to a interesting looking series of talks — Apache Aries, Eclipse Gemini and finally an overview of the Eclipse Virgo Project. Hopefully all the speakers stick around to the break for some Q&A.

After the break, I’m going to jump in on some lightning talks – first a couple on SWT, then SOA. Depending on what Microsoft has planned, I might pop in there for a bit and finish off with one of the panels (Panels will be posted on the schedule Monday!)

After that, it’s off to the Member and Committer reception, sponsored by our friends at Oracle! Oh, and the community awards ceremony will be there as well!

Rest up, it’s going to be a busy week.

– Don

Peter Kriens: OSGi DevCon 2010!

Time flies, it is more than 3 years ago that Bjorn Freeman-Benson, BJ Hargrave, and me sat down after the 2006 conference to discuss the possibilities to organize an OSGi DevCon in conjunction with EclipseCon. Today I am proud to announce the 4th OSGi DevCon in Santa Clara, March 22-25. The program is, as usual, staggering. It always impresses me how many people are willing to contribute to EclipseCon/OSGi DevCon. Overall there were more than 350 submissions and about 60 of those were for OSGi DevCon. Picking the most interesting program was even harder than previous years because there is less space; we therefore have less time for OSGi DevCon. However, the resulting program is probably of even higher quality.

First I would like to draw your attention to the fact that we will officially publish the OSGi Enterprise Specification during EclipseCon. The OSGi Alliance will host a BOF on Monday night. One of the co-chairs of the OSGi Enterprise Expert Group, Tim Diekmann, will give a presentation during this BOF of what is in this specification and why it is ground breaking.

We have three tutorials. The first tutorial is from the people that wrote the OSGi and Equinox: Creating Highly Modular Java Systems book. You will get a feel for Toast telematics! See Working with OSGi: The stuff you need to know.

The next tutorial is from Kirk Knoernschild and Neil Bartlett, both very experienced developers and excellent writers and presenters. This tutorial was actually chosen in the EclipseCon Program Commitee top 5. The subject is a very hot topic at the moment: modularity. We all learned the lessons about coupling and cohesion. However, applying those lessons in large developments is still hard. This tutorial will give you theoretical as well as practical insight in modularity and using OSGi to achieve it. See Modular Architecture from Top to Bottom.

The last tutorial is from Karl Pauls and Marcel Offermans. They are the lead developers of the Apache ACE project and have been developing with OSGi forever. Their subject is absolutely core for OSGi although not always that visible. OSGi is not a “Hello World” technology, such examples only work well when the scope is small. The scope of OSGi is, however, large scale technology. Size does matter for OSGi. A consequence of the scale is that systems have a large number of bundles. This number becomes so large that handling these bundles requires automation because it is just too much to do by hand. Karl and Marcel will teach how to manage installations that reach these problems. See Become a Certified Bundle Manager today.

The first long talk is a must for anyone using OSGi. One of the most exciting pieces of work inside the OSGi is the nested framework RFC. Nested frameworks bring back the initial philosophy of OSGi: the bundles are your application. Enterprise servers based on OSGi starting to deploy many applications inside a single framework. In such a constellation, your peer bundles and peer services might no longer be yours. Nested frameworks returns to this model, an application will be installed in a child framework, also called composite bundles. The lead developers of Eclipse Equinox as well as Apache Felix will present the proposed architecture and discuss merits, pitfalls, and problems that still need to be solved. So do not miss Composite Bundles – Isolating Applications in a Collaborative OSGi World.

OSGi is like a sharp knife. When used well, it is extremely useful, when used wrongly it hurts. Chris Aniszczyk, Jeff McAffer, Martin Lippert, and Paul Vanderlei have been working with OSGi for the better part of the noughties and therefore have lots of experiences and the bruises and cuts to prove it. Between them they cover almost any computing aspect that can be used in conjunction with OSGi. Jeff was the driver behind Eclipse’s adoption of OSGi, Chris is the lead developer of PDE, Martin has worked on Aspect Oriented Programming in Eclipse including the weaving issues and is an aficionado of OSGi as well, and Paul brings the experience from the embedded world. A must for anybody that wants to adopt OSGi. See OSGi Best and Worst Practices.

OSGi is at the foundation of RCP, obviously. However, you can use RCP and not see much of OSGi. David Orme has been contracting for J.P. Morgan where they created an internal platform based on RCP. In the last few years they re-architected this platform to take more advantage of OSGi. This is a very good experience report for anybody that has to develop software to be used inside large organizations. See OneBench Reloaded – Pushing the (OSGI) Modularity Story in an Enterprise-wide Rich Client Stack.

Looking at the size of this blog, I do not think I should loose more readers going through each of the 25 mins talks, even though I think they’re more than worth it. I therefore list them here as bullets:

  • Apache Aries: Enterprise OSGi in Action – A report from a new open source project that will bring us lots of enterprise components for OSGi. Graham Charters from IBM will present.
  • My Unmanned System is Eclipse Powered – Next time you see an unmanned vehicle, OSGi might be behind the wheel. Talk about cool OSGi apps! Tankut Koray will show you the role OSGi plays in their architecture.
  • Next Generation OSGi Shells – Traditionally shells run inside the OSGi framework, however, this shell works as launching tool, interacting with a Paremus’ Nimble to find the necessary bundles. Robert Dunne will tell you about these shells and show you how easy it is to deploy applications consisting of many bundles.
  • OSamI Tools for OSGi Application Developers – OSamI is a very large cross-european project to develop common technology for ambient intelligence, all based on OSGi. Naci Dai and Murat Yener from eteration A.S. will tell you more.
  • Managing OBR Repositories with Nexus – Maven is moving to OSGi and there is more and more collaboration. Sonatype has adopted OBR in their Nexus repository, allowing it to play with the advanced resolvers that appearing in the market. Jason van Zyl, the man behind Maven, will tell you about their strategy.
  • Using JPA in OSGi – Mike Keith and Timothy Ward are the lead authors of the OSGi JPA adaption, a part of the OSGi Enterprise Specification. See how you can simplify using persistence in OSGi bundles.
  • OSGi Enterprise for Java EE Developers – How do you go from Java EE to OSGi? Many patterns that are necessary in Java EE do not work well in a very modular environment. Timothy DeBoer will show you how to use Eclipse tools to ease the transition.
  • OSGi & Java EE in GlassFish – When Glassfish adopted OSGi a few years ago I was very excited to see how Java EE and OSGi can co-exist, each providing their strengths. Since then, the Glassfish team has more and more adopted OSGi, they even hired Richard Hall, the lead Apache Felix developer. Sahoo and Jerome Donchez are the lead architects and will report to you about the new cool features.
  • Realistic Remote Management of OSGi-based Residential Boxes – OSGi was made to be managed remotely. However, managing thousands of devices running OSGi somewhere out there remains a complex area. Dimiar Valtchev from ProSyst has a very long experience with this problem and will elucidate you on the issues and solutions.
  • Overcoming sticker shock: addressing the unexpected costs of moving to OSGi in the enterprise – Eric Johnson from TIBCO will explain you what you can expect when you move from a Java EE environment to OSGi, the rules and patterns that work are quite different. This will be an experience report but will also focus on how the community can work to ease this migration.
  • Making Dependency Injection work for you – Joep Rottinghuis and Parag Raval from eBay tell you how to use Spring DM to use Dependency Injection in bundles.
  • Logging in OSGi Enterprise Application – As a non-enterprise programmer I am always in awe when I see the avalanche of logging information coming out of enterprise programs. However, it seems important and OSGi puts some unique challenges in the way of traditional loggers because they often require global visibility and of course the OSGi Log Service. Ekkehard Gentz provides an overview and a demo of OSGi logging.
  • ScalaModules: OSGi the Easy Way with a Scala DSL – The last months I’ve tried to use Scala because it has features I know from my Smalltalk days and daily miss when using Java. Though any new programing language is painfull to learn (what takes you seconds in Java initially takes you minutes in Scala because you have to figure out how), Scala really looks very interesting. Roman Roelofsen and Neil Bartlett will report to you about Scala Modules, a way to bring modularity to the Scala Language.

On Valentine’s day the early registration price will end and you’ll have to pay the full amount. So be sure to register as soon as possible to take advantage of this discount. If you’re an OSGi member, you can get an additional discount if you register here with the email address you use on the OSGi members web site.

I am looking forward to see you again in this 4th OSGi DevCon, lets hope it will be the best ever!

Peter Kriens

Apache 1.3 geht in Rente

In Zukunft soll es für die 1.3er-Reihe des Apache-Web-Servers nur noch Sicherheits-Patches geben. Anwendern empfehlen die Entwickler, auf Version 2.2 umzusteigen.

Apache Cassandra bald Top-Level-Projekt?

In der Cassandra-Mailingliste wurde vor kurzem über die Zukunft von Apache Cassandra abgestimmt. Das Cassandra-Projekt ist eine Art hybride, hoch skalierbare Open-Source-Datenbank, die von einem der Autoren des Dynamo-Papiers entworfen und …

Axis2-Securitymodul Rampart mit neuer Version

Das Apache-Team hat Version 1.5 des Security-Moduls für Axis2, Rampart, veröffentlicht. Rampart beinhaltet Implementierungen von WS-Secutiry-Spezifikationen für Apache Axis2 und ist in der aktuellen Version kompatibel mit Axis2 …

Mickael Istria: SWTBot: My New friend

Preamble: This is the first post of the new Eclipse category of BonitaSoft’s community blog. As soon as we find something interesting to talk about when developing Bonita Studio, we will try to share what we learnt with our communities: BonitaSoft and Eclipse. We are also pleased to see this category aggregated to Planet Eclipse knowledge feed. We hope you’ll enjoy reading these posts!
The Bonita Studio developers crew

 

I found some time recently to take a look at SWTBot to check whether we should use it while developing Bonita Studio (part of Bonita Open Solution, based on Eclipse Gelileo 3.5.1). After a few minutes of reading wiki pages and trying it, I was convinced that SWTBot (and its GEF extension, that also works for GMF) is a must-use project for anyone who has ever it found difficult and time-consuming to write plugin tests.

Only a few hours later our continuous integration build welcomed our first SWTBot based test!

Here is the step-by-step of this awesome encounter:

  1. Install SWTBot on your development platform by installing SWTBot from updatesite: http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site
  2. Create a new plugin to host your test. Add these dependencies to your plugin.

    Dependencies for SWTBot test

  3. Write your test
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package org.bonitasoft.diagram.test;
    import org.bonitasoft.studio.model.process.diagram.part.ProcessDiagramEditor;
    import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
    import org.eclipse.swtbot.eclipse.gef.finder.SWTBotGefTestCase;
    import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
    import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
    import org.eclipse.ui.IEditorPart;
    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;

    /**
    * @author Mickael Istria
    *
    */

    @RunWith(SWTBotJunit4ClassRunner.class)
    public class DiagramTests extends SWTBotGefTestCase {

        @Test
        public void testDiagramTest() throws Exception {
            SWTBotMenu menu = bot.menu(“Process”);
            menu.menu(“New”).click(); // simulate a click on Process > New menu entry
            SWTBotEditor botEditor = bot.activeEditor();
            IEditorPart editor = botEditor.getReference().getEditor(false);
            Assert.assertTrue(“New process should open a process editor”, editor instanceof ProcessDiagramEditor);
        }
    }

  4. Configure your test run
    swtbot-conf0

    1. Use JUnit4 as launcher, and don’t use UIThread (SWTBot tests won’t run in a UIThread)
      swtbot-conf1
    2. Set the product you want to test (leave default org.eclipse.platform.ide for “simple” plugins)
      swtbot-conf2
    3. Increase memory and set a language
      swtbot-conf3
  5. Run and enjoy the high code coverage that you get with so few lines of code!
  6. Ok, now let’s try the GEF extension of SWTBot to check some tricky behavior in a diagram editor. This test creates a new process and then activates a tool in the design palette to create a new step, and then does some checks (and all in about a dozen lines ;) :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @RunWith(SWTBotJunit4ClassRunner.class)
    public class DiagramTests extends SWTBotGefTestCase {

        @Test
        public void testDiagramTest() throws ExecutionException {
            SWTBotMenu menu = bot.menu(“Process”);
            menu.menu(“New”).click();
            SWTBotEditor botEditor = bot.activeEditor();
            SWTBotGefEditor gmfEditor = bot.gefEditor(botEditor.getTitle());
            gmfEditor.activateTool(“Step”);
            gmfEditor.mouseMoveLeftClick(200, 200);
            menu.menu(“Save”).click();
            IGraphicalEditPart part = (IGraphicalEditPart)gmfEditor.mainEditPart().part();
            MainProcess model = (MainProcess)part.resolveSemanticElement();
            Pool pool = (Pool)model.getElements().get(0);
            Assert.assertEquals(“Pool should contain 3 nodes”, 3, pool.getElements().size());
        }
    }

  7. Run again, and enjoy even more: SWTBot for GEF provides a lot of very high-level Methods to manipulate your diagram. Without it, writing tests for a GMF based editor was quite difficult, and did not mimic user actions very well. With this, you can test real usage scenarios with very little code.
  8. The return on investment with SWTBot looks very good, so let’s adopt it and automate test execution in a continuous integration build, leveraging the SWTBot headless framework. The following requires you to be familiar with automated PDE or RCP build and testing.
    1. Install swtbot in the platform you use to build your plugins or your RCP app. For instance, you can use the P2 director commandline application to install it from updatesite:
      java -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.equinox.p2.director -artifactRepository http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site -metadataRepository http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site -installIU org.eclipse.swtbot.eclipse.feature.group -installIU org.eclipse.swtbot.eclipse.gef.feature.group -consoleLog
    2. Install SWTBot headless test framework in your build platform: Download it from SWTBot download page, and expand it in your build platform directory.
    3. Add the SWTBot runtime and headless plugins and your new test plugin to your test feature.
      swtbot-tests
      In our case, we prefered keeping only the org.eclipse.ant.optional.junit fragment and using new junit bundles to avoid conflicts between classes from org.junit and org.junit4 bundles. However, SWTBot provides some alternative fragments to support either junit3 or junit4 if you prefer.You can add the following entries in your map file for new junit bundles:

      !** Use newer JUnit as described in http://wiki.eclipse.org/Eclipse/Testing/JUnit4_Changes
      !** Should facilitate integration with SWTBot headless
      plugin@org.junit,4.8.1=GET,http://download.eclipse.org/tools/orbit/downloads/drops/S20100120144102/bundles/org.junit_4.8.1.v4_8_1_v20100114-1600.zip,unpack=true
      plugin@org.junit4=v20100104,:pserver:anonymous:@dev.eclipse.org:/cvsroot/eclipse,,org.junit4
      plugin@org.eclipse.jdt.junit.runtime=v20091201-0800,:pserver:anonymous:@dev.eclipse.org:/cvsroot/eclipse,,org.eclipse.jdt.junit.runtime
    4. In the piece of script that runs your test, add the following test invocation command:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      <echo>SWTBot test</echo>
      <java dir=“${eclipse.test.home}” fork=“true” output=“${eclipse.test.home}/output.txt” logError=“true”
      classname=“org.eclipse.core.launcher.Main” failonerror=“false”>
          <classpath>
              <fileset dir=“${eclipse.test.home}/plugins”>
                  <include name=“org.eclipse.equinox.launcher_*.jar”/>
              </fileset>
          </classpath>
          <arg line=“-application org.eclipse.swtbot.eclipse.junit4.headless.swtbottestapplication”/>
          <arg line=“-testPluginName org.bonitasoft.studio.diagram.test”/>
          <arg line=“-testApplication org.bonitasoft.studio.application.application”/>
          <arg line=“-className org.bonitasoft.studio.diagram.test.DiagramTests”/>
          <arg line=“formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,junit-results.xml”/>
          <arg line=“-nl fr”/>
          <arg line=“-consoleLog”/>
          <jvmarg line=“-Xms40m -Xmx348m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError”/>
          </java>
  9. At this point, when everything is working, you should be one of the happiest people in the world: You have not only reduced the difficulty and cost of writing tests, but also increased the coverage and the realism of your tests

Congrats and thanks to SWTBot developers for making this possible! We love playing with it when developing Bonita Open Solution!

If someone has a better solution for this integration, please tell me!

Bugfixes für Apache MyFaces

Das Apache-Team hat die erste Beta-Version für das kommende MyFaces-2.0-Release freigegeben. MyFaces implementiert die JSF-2.0-Spezifikation (JSR-314) und gilt als Alternative zur JSF-Referenzimplementierung von Sun. Neben zahlreichen Bugfixes …

Bjorn Freeman-Benson: The Opposite of Open is Theirs

Eclipse is at a cross-roads: it has more users than ever before but also less committer involvement than ever before [1,2]. Thinking about this, I’m struck by the similarity between Eclipse’s situation and David Weinberger’s “The Opposite of Open is Theirs“, specifically he says:

If we allow others to make decisions about what the Net is for — preferring some content and services to others — the Net won’t feel like it’s ours, and we’ll lose some of the enthusiasm (= love) that drives our participation, innovation, and collaborative efforts.

or, reworded for Eclipse:

If we allow others to make decisions about what Eclipse is — preferring some plug-ins and projects to others — Eclipse won’t feel like it’s ours, and we’ll lose some of the enthusiasm (= love) that drives our participation, innovation, and collaborative efforts.

In other words, as long as the official Eclipse distros are controlled by single companies, the growing body of users will continue to be disenfranchised. I think the Apache Foundation epitomizes what the Eclipse Foundation should strive to emulate:

We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.

Required diversity, decisions made by contributors, refusal to allow sponsors to control project direction, … those are some of Apache’s open fundamentals. If elected to the Board, I will work for moving the Foundation in that direction. I’m pro-member-company-profits, but not in a way that is anti-open. I want Eclipse and the Foundation to be viable in the long-term and I believe the only way to accomplish that long-term relevance is through a truly open meritocracy.

It needs to be ours and not theirs.

OpenJPA 2.0 öffnet Beta-Türchen

Apache OpenJPA ist in Version 2.0 Beta 1 erschienen. Das Persistenz-Projekt kann entweder als eigenständiger POJO Persistence Layer oder integriert in eine JEE-fähigen Container genutzt werden. OpenJPA implementiert die JPA-Spezifikation JSR-317 und …

Artikel: Ant 1.8: Die Ameise atmet noch

Das letzte Lebenszeichen von Apache Ant in Bezug auf Aktualisierung konnte man im Juli 2008 vernehmen. Zu diesem Zeitpunkt wurde der Wechsel von Version 1.7 auf Version 1.7.1 vollzogen. Die Version 1.7 lag zu diesem Zeitpunkt bereits knapp 1,5 Jahre …

Lucene-Projekt Tika jetzt mit OSGi-Bundle

as Lucene-Subprojekt Apache Tika ist in Version 0.6 erschienen. Das Toolkit zur Textextraktion verfügt nun über ein zusätzliches OSGi-Bundle, außerdem wurde die MIME-Type-Detection überarbeitet und die POI-Dependency auf Version 3.6 aktualisiert. …

Apache Jackrabbit setzt JCR 2.0 um

Die neue Version 2.0 der Open-Source-Implementierung des Standards JCR 2.0 (Content Repository for Java API) enthält alle Funktionen des im JSR 283 definierten Standards.

Freies CMS Apache Lenya mit neuer Version

Das Open-Source verfügbare Content Management System Apache Lenya ist in Version 2.0.3 erschienen. Lenya baut auf dem Spring-basierten Webframework Apache Cocoon auf und wartet mit Revisionskontrolle, Seitenmanagement, Scheduling, Suche, …

Jackrabbit 2 ist final

Das Apache-Team hat Version 2.0 von Jackrabbit veröffentlicht, der Open-Source-Implementierung des Content Repository für das Java Technology API (JCR). Damit aktualisiert das Projekt auf JCR 2.0 und Java 5, außerdem gab es ein …

Jackrabbit 2 ist final (entwickler.com)

Das Apache-Team hat Version 2.0 von Jackrabbit veröffentlicht, der Open-Source-Implementierung des Content Repository für das Java …

MyFaces Trinidad Core mit neuen APIs

Während das Apache-Team langsam aber sicher auf das 2. Major Release der JSF-Komponentenbibliothek hinarbeitete, wird die 1.x-Serie weiter mit neuen Features versorgt. Die aktuelle Version 1.2.13 bringt neuen APIs für Trinidad …