Quantcast
Channel: Planet Apache
Viewing all 9364 articles
Browse latest View live

Adrian Sutton: Looking for Work In Australia

$
0
0

After four years living in the UK, my wife and I have decided to move back to Australia mid-February 2012 to be closer to family. As such, I’m now starting to look at job opportunities back in Oz. If you're hiring, I'd love to hear from you and discuss how we might work together. My CV is available online to give you an idea of my experience and of course the backlog of this blog shows some of my thinking and learning throughout the years1.

My one key criteria is that I'm looking for a role that provides lots of challenges and opportunities to learn. I'm not particularly concerned with what language or the particular technologies used, but I do believe strongly that Agile methods, automated testing, continuous delivery and a focus on quality are essential to success.

If you think you could use someone like me or have any questions feel free to drop me an email.

1 – as well as plenty of my mistakes but that’s just part of learning


Christian Grobmeier: Google Dart at the PHPMagazin

$
0
0

phpmagazin 012012 A small surprise for me too – have not thought I would write an article for the PHPMagazin this year. But it actually happened – it is about my current favorite topic Dart. Enjoy the reading and as always: feedback welcome!

Ruwan Linton: Digital Content and Service Provider Jesta Digital Migrates to the UltraESB

$
0
0
Better design and usability, maintainability is what most of the users want from a solid ESB, not hypothetical features or requirements.

 

Jesta Digital migrates to UltraESB because of its simplicity, design, usability, extensibility, maintainability and of course because of its industry leading performance.

"In a very demanding and rapidly changing market it is of utmost importance to be able to quickly adjust the technical platform to support product innovation and change. The UltraESB was able to demonstrate to the Jesta Digital Technology team in Berlin that its simplicity, testability, extensibility and performance is made for a matching foundation" said Eric Hubert, the Executive Director of Strategy and Architecture at Jesta Digital.

Want to know more on the reasons for there migration, check out the case study.

Read the full news release, for more information or contact us via info@adroitlogic.com.

"It was a great pleasure to work with subject-matter experts who combined first-hand knowledge, passionate work on their product and dedication to tackle the customer's challenges"

UltraESB - designed for Future

Yoav Shapira: Restaurant review: Cognac Bistro

$
0
0
I'm so happy to have this place, Cognac Bistro, right in my neighborhood, a few steps from my house.  An actual really good French bistro with authentic execution, a homey feeling, a raw bar, and great cocktails?  It's like a wish came true.



I've been to Cognac three times now, including last night with my parents, and each time has been great.  The bistro classics like steak frites are well done, as are some more interesting takes on fish (particularly the monkfish).  The cocktails are really nice and well-mixed, and the atmosphere is great.



Go there.  You won't regret it.  Plus you'll be supporting a local, family-owned-and-operated restaurant.  There's free parking ;)  It's just a tiny place, so make a reservation.

Jim Jagielski: The silent drum-beat

$
0
0

There are some topics which are just too expansive for a simple tweet. This is one of them.


Lately, there have been quite a few posts extolling the assumed decrease in the viability and "reason" for the Apache Software Foundation. It's always fashionable to lump all FOSS foundations, and related entities (such as Github), into one combined group and pick out the "winners" and "losers" and those whose stars are rising and those whose glory days are fading away. With the hubbub around DVCS and git/Github, people look at the ASF, and our measured approach to incorporating git into our workflow policies, and declare that since we have not drank the Kool-Aid, the ASF's days are done.


But all this misses the point about what the ASF is, and who we are, and why we are. I hope this blog post will clarify some things.



Continue reading "The silent drum-beat"

Henri Yandell: Lego Lessons

$
0
0

I’m finding that building a little Lego late at night is a great way to maintain my sanity. Bear in mind however that this is the sanity of someone who chose to buy the Super Star Destroyer; I’m not sure there’s much left to maintain.

Some lessons:

Perfect isn’t important. When you’re ~2,000 pieces in and you realize something is off by one lego bit, the important thing is being able to backtrack and figure out the off-by-one mistake. Lesson: Debugging skill is more important than Developing skill.

When you’ve got 80 of some tiny 1×2 piece coming out of one bag set, it takes zen-like skills near the end to trust the 3 year old hasn’t lost one of them. The lesson here remains: Trust the Lego QA above all else. Perhaps a more generic lessons is “know the quality of your upstream QA”. In this case – global supervillain quality (ie: awesome and let down by the megalomaniac pointing the device in the wrong direction).

The SSD uses a huge amount of usually core architecture pieces as cosmetic features. Usually you know that this piece and that piece are going to be a hinge and you wait to discover how they’ll lock into place. With this set I have no clue. The rule of thumb seems to be that the more versatile the piece, the more likely it’s there for the cosmetic look of skyscrapershipness. Lesson: Sometimes your best practices are going to hold you back.

It’s big. I tend to work through the manual for a while building pieces and then go back to the main piece to add them. I try to minimize how often I have it sitting on the floor waiting for the next block to add on. Lesson: Don’t keep Lego on the floor? :) . It does make me wonder what it’d look like if built with agile methodologies.

“Lord Vader, we have the throne room built. See how it flies around very nicely and can go into production immediately. “
*force choke*

Lastly, the new Dengar sucks. He looks like he just finished swabbing the deck in Pirates of the Caribbean. Lesson: There’s always a bug :)

Now to build a table size curve of the Death Star and video the SSD crashing into it.


Jean-Baptiste Onofré: Apache Karaf Cellar and DOSGi

$
0
0

Next version of Apache Karaf Cellar will include a DOSGi (Distributed OSGi) implementation.

There are several existing DOSGi implementations: in Apache CXF (powered by the CXF stack), in Fuse Fabric, etc.

The purpose of the Cellar one is to leverage the Cellar existing (Hazelcast instance, distributed map, etc), and to be very easy to use.

Karaf Cellar DOSGi installation

Cellar DOSGi is part of the main cellar feature. To install it:


karaf@root> features:addurl mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0-SNAPSHOT/xml/features
karaf@root> features:install cellar

Distributed services

You can note a new command available in Cellar:


karaf@root> cluster:list-services

It displays the list of services “cluster aware”. It means a service that could be used remotely from another node.

Code sample

To illustrate the Cellar DOSGi usage, we will use two bundles:

  • the provider bundle is installed on node A and “expose” a distributed service
  • the client bundle is installed on node B and will use the provider service

Provider bundle

The provider bundle expose an OSGi service, flagged as a distributed service.

The service is very simple, it’s just an echo service.

Here’s the interface describing the service:


package org.apache.karaf.cellar.sample;

public interface EchoService {

  String process(String message);

}

and the corresponding implementation:


package org.apache.karaf.cellar.sample;

public class EchoServiceImpl implements EchoService {

&nbps public String process(String message) {
    return "Processed by distributed service: " + message;
  }

}

Up to now, nothing special, nothing related to DOSGi or Cellar.

To expose the service in Karaf, we create a blueprint descriptor:


<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">

  <bean id="echoService" class="org.apache.karaf.cellar.sample.EchoServiceImpl"/>

  <service ref="echoService" interface="org.apache.karaf.cellar.sample.EchoService">
    <service-properties>
      <entry key="service.exported.interfaces" value="*"/>
    </service-properties>
  </service>

</blueprint>

We can note that the only “special” part is that we added the service.exported.interfaces property to the echoService.

It’s just a flag to define the interface/service to define as distributed (it means accessible from remote node).

We didn’t change the code of the service itself, just added this property. It means that it’s really easy to turn an existing service as a distributed service.

Client bundle

The client bundle will get a reference to the echoService. In fact, the reference will be a kind of proxy to the service implementation located remotely, on another node.

The client is really simple, it indefinitely iterates to use the clusterService:


package org.apache.karaf.cellar.sample.client;

public class ServiceClient {

  private EchoService echoService;

  public void setEchoService(EchoService echoService) {
    this.echoService = echoService;
  }

  public EchoService getEchoService() {
    return this.echoService;
  }

  public void process() throws Exception {
    int count = 0;
    while (true) {
      System.out.println(echoService.process("Call " + count));
      Thread.sleep(5000);
      count++;
    }
  }

}

We inject the echoService using Blueprint:


&lt?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">

  <reference id="echoService" interface="org.apache.karaf.cellar.sample.EchoService"/>

  <bean id="serviceClient" class="org.apache.karaf.cellar.sample.client.ServiceClient" init-method="process">
&nbps   <property name="echoService" ref="echoService"/>
  </bean>

</blueprint>

It’s done. The serviceClient will use the echoService. If a “local” echoService exists, the OSGi framework will bind the reference to this service, else Cellar will look for a distributed service (on all node) exporting the EchoService interface and bind a proxy to the distributed service.

Ben Laurie: Fixing CAs

$
0
0

Adam Langley and I have a proposal to bolster up the rather fragile Certificate Authority infrastructure.

TL;DNR: certificates are registered in a public audit log. Servers present proofs that their certificate is registered, along with the certificate itself. Clients check these proofs and domain owners monitor the logs. If a CA mis-issues a certificate then either

  • There is no proof of registration, so the browser rejects the certificate, or
  • There is a proof of registration and the certificate is published in the log, in which case the domain owner notices and complains, or
  • There is a proof of registration but the certificate does not appear in the log, in which case the proof is now proof that the log misbehaved and should be struck off.

And that, as they say, is that.

Update: Adam has blogged, exploring the design space.


Asankha Perera: Digital Content and Service Provider Jesta Digital Migrates to the UltraESB

$
0
0

Zero-Copy proxying and Non-Blocking IO allows three node cluster to process ~80 million messages a day at just 5% CPU utilization and 300MB heap memory usage

AdroitLogic, developer of the high performance Open Source Enterprise Service Bus (ESB) UltraESB, today announced that Jesta Digital, a leading global provider of next generation entertainment content and services for the digital consumer, successfully migrated their ESB clusters to the UltraESB. Jesta Digital is behind Bitbop wireless subscription service to deliver on-demand commercial-free television and films to personal computers, tablets and smartphones, and home to a number of well-known and established brands including Jamba and Jamster, which deliver branded content, music, games and apps to millions of mobile consumers.

"In a very demanding and rapidly changing market it is of utmost importance to be able to quickly adjust the technical platform to support product innovation and change. The UltraESB was able to demonstrate to the Jesta Digital Technology team in Berlin that its simplicity, testability, extensibility and performance is made for a matching foundation" said Eric Hubert, the Executive Director of Strategy and Architecture at Jesta Digital.

On the main ESB cluster, Jesta Digital processes around 80 million messages a day with a peak 3,000 TPS across three nodes. The average CPU utilization has been just 5% with the heap memory usage at 300MB with very low GC overheads due to the efficient use of a RAM disk coupled with Zero-Copy and Non-Blocking IO. Prior to the migration, Jesta Digital customized the ESB Performance Benchmark (http://esbperformance.org) to compare the performance of the UltraESB for both SOAP and Hessian messages over HTTP/S for a sample scenario. Benchmark results similar to those published recently on the ESB Performance site were independently verified by Jesta Digital during this exercise. Furthermore the UltraESB showed extreme stability during stress tests executed over multiple days.

"We have a top notch technical team at Jesta Digital in Berlin and it was a great pleasure to work with subject-matter experts who combined first-hand knowledge, passionate work on their product and dedication to tackle the customer's challenges" said Eric.

During the migration process, AdroitLogic also worked with the Jesta Digital team to include some key features for even better enterprise deployment support. Among these is the ability to switch a live configuration with zero down time while messages are being processed. Previously servers had to be gracefully shutdown for updates, resulting in an unequal distribution of traffic across the nodes after a configuration switch, leading to connection related issues. In addition, AdroitLogic developed a feature to easily manage and monitor services and endpoints via automatic registration against a Zabbix monitoring server, using predefined or customized templates via JMX.

The UltraESB is clustered using the Apache ZooKeeper framework, and thus a single node, or the whole cluster can be managed from any of the nodes via a remote web based console, command line interface or via JMX/jconsole.

AdroitLogic was founded in January 2010 by Asankha Perera, the former lead contributor of the Apache Synapse ESB and the original architect of the WSO2 ESB. In September 2011, Ruwan Linton who initially succeeded Asankha at WSO2 as its next ESB architect, also joined AdroitLogic as its Director of Engineering. AdroitLogic published a new round of ESB benchmark results in October across 8 open source ESBs, which showed a very clear lead in performance against its competitors. In addition to performance, the UltraESB is also one of the simplest ESB's to use effectively, with support for IDE based step-through debugging, Unit testing and a light weight deployment with over 70 samples. AdroitLogic is also one of the very few - if not the only - ESB vendors that publishes code coverage statistics along with continuous builds and code quality reports publicly.

"It was a great pleasure to work with subject-matter experts who combined first-hand knowledge, passionate work on their product and dedication to tackle the customer's challenges"
Read the full Press Release and Download the Case Study on Migration to the Free and Open Source UltraESB

Ortwin Glück: [Updates] Oracle without swap works

$
0
0
I previously thought it wasn't possible. But now I have got it working.

Apache Wicket Community News: Leveraging Conversations to Reduce Plumbing | 42 Lines

$
0
0
Igor wrote an interesting article covering CDI Conversations and Wicket in Leveraging Conversations to Reduce Plumbing: in this article we are going to see how we can use [conversations] to get rid of some plumbing code when binding Wicket components to entities. The code examples are really enticing.

Ceki Gulcu: On fear of insects and insecticides

$
0
0
On a recent flight back home from a tropical island, the captain announced that a stewardess was about to spray the cabin with insecticide. "French authorities require that the cabin be sprayed with insecticide on departure. The product is harmless to humans and was approved by the appropriate authorities." A few seconds after the announcement, a stewardess gleefully walked along the length of

Apache Wicket Community News: Detect attached models and entities in your component hierarchy

$
0
0
Adrian Cox asked a great question over at StackOverflow on how to prevent (Hibernate) entities from being attached to your Wicket component tree, thus generating all those nasty exceptions like StaleObjectException, LazyInitException and the like: JPA managed objects must not be stored in the session. Instead, JPA managed objects are loaded on each request through [...]

Ortwin Glück: [Code] openssl version information in ELF binaries

$
0
0
It seems that on Debian the OpenSSL libraries (libssl.so, libcrypto.so) contain symbol version information. Binaries linked on a Debian system against OpenSSL may thus contain version requirements on these shared objects.

Gentoo (and other distributions) does not have OpenSSL built with version information. Using a Debian binary (like spotify) on such a system causes ldd to complain about the missing version information:
/usr/lib64/libcrypto.so.1.0.0: no version information available
/usr/lib64/libssl.so.1.0.0: no version information available
Gentoo's revdep-rebuild thus detects the binary as broken. To fix this issue we can modify the binary and remove the version information in question.

I have hacked up a little Java utility that does just that. It should work on most binaries that link against openssl. Yes it's Java, as it's the language I'm fluent in. Feel free to convert it to C.

Download ElfFix.

Jasha Joachimsthal: Apache Rave presentation at the ROLE developer camp

$
0
0

This is the presentation I gave about Apache Rave during the ROLE project developer camp in Leuven, Belgium:

Can't see the presentation? You can download the PDF (1.1 MB).


Bryan Pendleton: Wings

$
0
0
The following sounds like a description of an airplane, like something you might hear from somebody like Bert Rutan:
when we addressed the wing, we started with a complicated rule, to limit what a designer could do. We added more and more pieces as we thought of more and more outcomes, and we came to a point where it was so complicated—and it was still going to be hard to control, because the more rules you write the more loopholes you create – that we reverted to a simple principle. Limit the area very accurately, and make it a game of efficiency.

But it's not from Rutan at all; it's an excerpt from Wings, the Next Generation, an article discussing the sailboats to be used in next summer's America's Cup qualification matches.

Now, everybody knows that sails, and airplane wings, actually have very much in common, so it really isn't surprising that this sounds like aerospace design. However, as Paul Cayard notes in the article, the wings on a competition sailboat have a few special constraints:

the America’s Cup rules don’t allow stored power, so two of our eleven guys—we think, two—will be grinding a primary winch all the race long. Not to trim, but to maintain pressure in the hydraulic tank so that any time someone wants to open a hydraulic valve to trim the wing, there will be pressure to make that happen.

It will be fascinating to see these boats in person, racing on the bay, but I'm glad I won't have to be one of those grinders!

Justin Mason: Links for 2011-11-30

Bryan Pendleton: Tools and Utilities for Windows

$
0
0
Scott Hanselman has posted a voluminous annotated list of the tools and utilities that he uses for developing software.

Most of these tools are specific to Windows 7, and more precisely to developing Web applications using Microsoft tools such as Visual Studio and C# and DotNet.

Still, it is a tremendous list, and if you're looking for a tool or utility for your personal development environment, there are a lot of references to chase here.

Claus Ibsen: Java Day Riga

$
0
0

I was invited to speak at the Java Day Riga Conference.

The conference took place at the Tallin Riga Hotel, which is a very nice hotel, just opened a couple of years ago. The hotel is also placed in the city centre, with walking distances to the nice areas.

I would like to thank Dmitry, for inviting me, and Oracle for sponsoring this event. According to Dmitry, the event would not be possible without the good faith from the Oracle. The event was free, so we had about 200+ attendees.

I like the badges, having a big and easy to read name.
Conference badget with easy to read names

The evening before the conference, we went out on a guide tour to see Riga. We hired a history professor, whom was very enthusiastic and knew a lot about what has happened to Riga over the many years. Riga is a very old city, named after the river, and it has been taken over many times between Germans, Polishes, Swedes, Russian etc.

Monument of freedom in Riga centre
The big monument in the city centre is the monument of independence, and on top it holds three stars, one for each of the three regions of Latvia.

Unfortunately after one hour it become too cold to pay attention, and we have already seen 4 churches, and many historical buildings. We found a place selling mulled wine, so we could get a bit of warm.

History Tour in Riga. Drinking mulled wine to get a bit warmth
After the tour we went for a later dinner, and just a few beers. The conference starts the next morning.

The keynote talks was good talks about the upcoming lambda expressions in Java 8. As well a talk about JEE 7, which has focus on the cloud.

Martijn Verburg preparing for his talk
Martijn Verburg, did a great talk titled "Diabolical Developer". It's a sort of pep-talk with common sense, where Martin says what some people may think is controversial. But what he really want to say, is that "think for yourself".

Martijn thinks developers are awesome
I gave a talk about Enterprise Integration Patterns and Apache Camel. In the talk I also demonstrated live coding, how to setup a new Camel project, and get that up and running in Eclipse etc. As well some of the powers of the Fuse IDE, which has graphical notation of your Camel routes, using the industry standard EIP icons. Likewise Fuse IDE is capable of doing runtime insights into running applications, which helps you pin point what is going on, as well being able to see performance statistics, with graphical representation etc.

In the end of the talk, the audience was giving a choice of either talking about Apache ServiceMix or the Camel roadmap. The audience chose the latter, so I gave a round about what to expect in the next Camel 2.9 release. Then we ran out of time. A talk for 50 minutes, is frankly a bit on the short side. 1h is usually the minimum.

In the airport on my way home. I spotted the Camel.
Camel spotting at the airport



Bryan Pendleton: The Foundations discussions

$
0
0
There continues to be an active discussion over Mikeal Rogers's essay about Apache and git, which I wrote about a few days ago.

Here's (some of) what's been going on:

  • Simon Phipps wrote a widely read essay in Computerworld UK about the notion of an open source foundation, as separate from the open source infrastructure, and relates the story of a project which suffered greatly because it hadn't established itself with the support of a larger entity:
    the global library community embraced Koha and made it grow to significant richness. When the time came, the original developers were delighted to join a US company that was keen to invest in - and profit from - Koha. Everything was good until the point when that company decided that, to maximise their profit, they needed to exert more control over the activities of the community.
    A detailed article at the Linux Weekly News website provides much more of the details of this story. Phipps's point is that part of these problems arose because the developers of the project didn't engage in the open discussion of the long term management of the project that would have occurred had they hosted their project at one of the established Open Source foundations such as Apache or the Software Freedom Conservancy.
  • Stephen O'Grady also wrote an essay on the difference between foundations and infrastructure acknowledging that "foundations who reject decentralized version control systems will fall behind", but further asserting that:
    GitHub is a center of gravity with respect to development, but it is by design intensely non-prescriptive and inclusive, and thus home to projects of varying degrees of quality, maturity and seriousness.

    [ ... ]GitHub, in other words, disavows responsibility for the projects hosted on the site. Foundations, conversely, explicitly assume it, hence their typically strict IP policies. These exclusive models offer a filter to volume inclusive models such as GitHub’s.

    [ ... ]If you’re choosing between one project of indeterminate pedigree hosted at GitHub and an equivalent maintained by a foundation like Apache, the brand is likely to be a feature.

  • Mikeal Rogers, whose original essay kicked off the entire discussion, has since followed up with some subsequent thoughts about foundations and institutions:
    Simon believes it is the job of an institution (in this case a foundation) to protect members from each other and from the outside world. In the case of legal liabilities this makes perfect sense. In the case of community participation this view has become detrimental.

    If you believe, as I do, that we have undertaken a cultural shift in open source then you must re-examine the need for institutional governance of collaboration. If the values we once looked to institutions like Apache to enforce are now enforced within the culture by social contract then there is no need for an institution to be the arbiter of collaboration between members.

  • Ben Collins-Sussman, a longtime Apache member, chimes in with his thoughts on the value of the Apache Foundation, pointing to the explicit codification of "community":
    the ASF requires that each community have a set of stewards (“committers”), which they call a “project management committee”; that communities use consensus-based discussions to resolve disputes; that they use a standardized voting system to resolve questions when discussion fails; that certain standards of humility and respect are used between members of a project, and so on. These cultural traditions are fantastic, and are the reason the ASF provides true long-term sustainability to open source projects.
  • Jim Jagielski, another longtime Apache member, adds his thoughts, observing that it is important to not get caught up in statistics about popularity, adoption rate, etc., but to concentrate on communities, culture, and communication aspects:
    The ASF doesn't exist to be a "leader"; it doesn't exist to be a "voice of Open Source"; it doesn't exist to be cool, or hip, or the "place to be" or any of that.

    [ ... ]

    It exists to help build communities around those codebases, based on collaboration and consensus-based development, that are self-sustaining; communities that are a "success" measured by health and activity, not just mere numbers.

  • Ceki Gulcu (poorly transliterated by me, sorry), a longtime Open Source Java developer, observes that what one person sees as consensus and meritocratic collaboration, another might see as endless discussion and fruitless debate:
    Apache projects cannot designate a formal project leader. Every committer has strictly equal rights independent of past or future contributions. This is intended to foster consensus building and collaboration ensuring projects' long term sustainability. Worthy goals indeed! However, one should not confuse intent with outcome. I should also observe that committer equality contradicts the notion of meritocracy which Apache misrepresents itself as.

    As I have argued in the past, the lack of fair conflict resolution or timely decision making mechanisms constitute favorable terrain for endless arguments.

It seems to be a fairly fundamental debate: some believe that the open source foundations provide substantial benefit, others feel that they reflect a time that no longer exists, and are no longer necessary.

Overall, it's been a fascinating discussion, with lots of viewpoints from lots of different perspectives.

I'll continue to be interested to follow the debate.

Viewing all 9364 articles
Browse latest View live




Latest Images