At Jayway, we live for technology, we don't just use it. This
means that driving development forward, sharing code and knowledge
with our colleagues and friends in the open-source community is a
matter very close to our hearts.
Listed here are a number of open-source projects where Jayway
are committers. We are confident there is something of use for
everyone.
Akka
»Simpler Scalability, Fault-Tolerance,
Concurrency & Remoting through Actors«
Akka is the platform for the next generation event-driven,
scalable and fault-tolerant architectures on the JVM
We believe that writing correct concurrent, fault-tolerant and
scalable applications is too hard. Most of the time it's because we
are using the wrong tools and the wrong level of abstraction.
Akka is here to change that.
Using the Actor Model together with Software Transactional
Memory we raise the abstraction level and provides a better
platform to build correct concurrent and scalable applications.
For fault-tolerance we adopt the "Let it crash" / "Embrace
failure" model which have been used with great success in the
telecom industry to build applications that self-heals, systems
that never stop.
Actors also provides the abstraction for transparent
distribution and the basis for truly scalable and fault-tolerant
applications.
Akka is Open Source and available under the Apache 2
License.
Jonas Bonér is the founder of this project.
Akka's homepage
Aspect ME
»Aspects go mobile.«
AspectME is a project for enabling Aspect-Oriented Programming
(AOP) on the JavaME platform.
The most limited platform for JavaME applications does not have
reflection or dynamic classloading, so how can AOP be applied
there?
AspectME makes it happen.
Magnus Robertson and Ulrik Sandberg are co-founders and members
of this project.
Aspect ME's
homepage
Azure Contrib
»Extensible Windows Azure using MEF.«
A contrib project for Microsoft Windows Azure. This project aims
to make life as a Cloud Developer easier and provide easily adopted
added value to your Cloud Computing and Cloud Storage
Applications.
Magnus Mårtensson and Peter von Lochow are the founders of this
project.
Azure Contrib's
homepage
Cloudstorage.API
»Persistence ignorance and testability in
your .NET Cloud Applications.«
Do You want:
- Application stability in the face of changing Cloud Storage
implementations?
- Persistence ignorance with the freedom to store your data in
'any' Cloud (Storage)?
- Testability that enables you to mock out the real data
store?
Then this project is for You!
Magnus Mårtensson and Peter von Lochow are the founders of this
project.
Cloudstorage.API's
homepage
CommonServiceLocator
»A shared interface for .NET service
location.«
The library provides an abstraction over IoC containers and
service locators. Using the library allows an application to
indirectly access the capabilities without relying on hard
references. The hope is that using this library, third-party
applications and frameworks can begin to leverage IoC/Service
Location without tying themselves down to a specific
implementation.
Magnus Mårtensson is a committer to this project.
CommonServiceLocator's
homepage
DDSteps
»Data driven testing with reusable
steps.«
DDSteps is a JUnit extension for building data driven test
cases. In a nutshell, DDSteps lets you parameterize your test
cases, and run them more than once using different data.
Since DDSteps is 100% JUnit compatible, you can run your new
data driven test cases just like any old JUnit test case. No IDE
plugins or new Ant tasks are required - just add the DDSteps jars
to your classpath and you are ready to go!
DDSteps uses external test data (in Excel) which is injected
into your test case using standard JavaBeans properties. Your test
case is run once for each row of data, so adding new tests is just
a matter of adding a row of data in Excel.
DDSteps integrates best-of-breed toolkits for web and database
testing, such as JWebUnit, DbUnit and Spring Framework. By making
these toolkits data driven, you can do powerful function testing.
Automated end-to-end testing of your website is not only possible -
it is easy.
Adam Skogman is the project leader of DDSteps, Ulrik Sandberg is
co-founder of this project.
DDSteps' homepage
Maven Android
Plugin
»Easy to use Maven plugin for Android«
Maven Android Plugin makes it easier to do Android application
development with Maven.
It lets you focus on programming, while Maven Android Plugin
takes care of compiling everything correctly and building the apk
file.
Hugo Josefson is the founder and current maintainer of this
project.
The
plugin's homepage
Microlog
Microlog is a small logging library for Java ME (J2ME) like
Log4j. It has support for logging to console, file, RecordStore,
Canvas, Form, Bluetooth, a serial port (Bluetooth, IR, USB),
Socket(incl SSL), UDP, Syslog, MMS, SMS, e-mail or to Amazon
S3.
Darius Katz and Johan Karlsson are founders and current
maintainers of the project.
Microlog's
homepage
Mobicents
Mobicents is a highly scalable event-driven application server
with a robust component model and fault tolerant execution
environment. Mobicents is the first and only Open Source Platform
certified for JSLEE compliance. It complements J2EE to enable
convergence of voice, video, instant messaging and data in next
generation intelligent applications.
Johan Haleby, Jakob Matsson and Niklas Uhrberg wrote a "Click to
Call" example application for JSLEE combined with web page
interaction. This example application was donated to the Mobicents
project.
Niklas Uhrberg (Jayway Sweden) has taken part in the enhancement
discussions of the SIP protocol adapter within the JSLEE
specification (JSR-240) of the project.
Mobicent's homepage
The
Click to Call application
MockME
»Java SE mock objects for Java ME.«
MockME lets you write real unit tests without having to run them
on the phone. You can even use dynamic mock object frameworks such
as EasyMock that enables you to mock any object in Java ME.
MockME integrates best-of-breed tools for unit testing including
JUnit, EasyMock and DDSteps. By making Java ME API's mockable you
can write unit tests for your Java ME application the way you
really want to.
Magnus Robertsson and Johan Karlsson are the co-founders and
current maintainers of this project.
MockME's homepage
Neo4j.rb
Neo4j.rb is a Graph Database for JRuby. It uses the java lib
neo4j as storage and lucene for quering/indexing.
Andreas Ronge is the founder and current maintainer of the
project.
Neo4j.rb's
homepage
OPS4J
»Wiki works. Start using it
differently.«
The concept of allowing anyone to change any document, at first,
seems ridiculous and certain not to work. But it does. Most people
want it to work, therefor it works. If it works for something as
simple as web editing, why can't it work for source code?
We are convinced it does. Open Participation Software allows
anyone to make changes to the codebase. Often these changes will be
small corrections, other times larger contributions, and
occassionally someone wants to destroy it. For the latter case
(destruction), the answer lies in the effort ratio between the
"process of destruction" vs the "process of restoration". If it is
hard for the perpetrator to destroy, and easy for the community to
restore, then the fun is gone and the perpetrator leaves.
Peter Neubauer is a founder of this project.
OPS4J's homepage
PowerMock
»A powerful test bench even for 'untestable'
code.«
PowerMock allows you to unit test code normally regarded as
untestable. For instance it is possible to mock static methods,
remove static initializers, allow mocking without dependency
injection and more. PowerMock works by bytecode manipulation.
PowerMock also contain some utilities that gives you easier access
to an objects internal state. PowerMock can be used to test
otherwise untestable code and also to achieve a cleaner separation
between test and production code.
Jan Kronquist and Johan Haleby are the co-founders and current
maintainers of this project.
PowerMocks's
homepage
Robotium
»User scenario testing for Android«
Robotium is a test framework created to make automatic black-box
testing of Android applications significantly faster and easier
than what is possible with Android instrumentation tests
out-of-the-box.
With the support of Robotium, test case developers can write
system and acceptance test scenarios, spanning multiple Android
activities.
Robotium 1.0 provides the following benefits:
- You can develop powerful test cases, with minimal knowledge of
the application under test.
- The framework handles multiple Android activities
automatically.
- Test cases are more robust due to the run-time binding to GUI
components.
- Readability of test cases is greatly improved, compared to
standard instrumentation tests.
- Integrates smoothly with Maven or Ant to run tests as part of
continuous integration.
Robotium is Open Source and available under the Apache 2
License.
Renas Reda and Hugo Josefson are the founders of this
project.
Robotium's
homepage
Spring LDAP
»Simplifying LDAP operations«
Spring LDAP is a sub-project to the Spring Framework.
Spring LDAP is a Java library for simplifying LDAP operations,
based on the pattern of Spring's JdbcTemplate. The Spring LDAP
framework relieves the user of the burden of looking up and closing
contexts, looping through NamingEnumerations, encoding/decoding
values and filters, and more.
Mattias Arthursson and Ulrik Sandberg are co-founders and
current maintainers of this project.
Spring LDAP's
homepage
Qi4J
»Composite Oriented Programming Today«
OOP neglects the need of objects to adjust its behavior
depending on the context.
"John is a parent and programmer in the city, but a hunter and
food in the jungle."
Same object, different contexts.
OOP has also not fulfilled its promise of re-usability, partly
due to such static behavior and partly due to its inability to deal
with fine-granularity of states and behaviors.
Composite Oriented Programming addresses these issues, and Qi4J
is an implementation available to Java programmers today.
Rickard Öberg is a founder of this project.
Qi4j's homepage