EasyBeans is an open-source Enterprise Java Beans (EJB) container hosted by the OW2 consortium. The License used by EasyBeans is the LGPL.
EasyBeans main goal is to ease the development of Enterprise Java Beans. It uses some new architecture design like the bytecode injection (with ASM ObjectWeb tool), IoC, POJO and can be embedded in OSGi bundles or other frameworks (Spring, Eclipse plugins, etc.).
It aims to provide an EJB3 container as specified in the Java Platform Enterprise Edition (Java EE) in its fifth version. It means that Session beans (Stateless or Stateful), Message Driven Beans (MDB) are available on EasyBeans.
The new persistence layer used by EJB 3.0 is now called Java Persistence API (or JPA). It replaces the CMP (Container Managed Persistence) model used by EJB 2.x. The default persistence provider used in EasyBeans is Hibernate Entity Manager or Apache OpenJPA but other JPA providers have been tested like for example Oracle TopLink Essentials.
10gen is a new platform-as-a-service technology designed to help developers quickly and easily build dynamic, scalable, mission critical web sites and applications.
The 10gen software stack is analogous to Google App Engine in that it provides a new stack of tools (database, grid management, application server) that are purpose-built to run in a cloud environment.
This project contains custom Hibernate and JRuby extensions to let Hibernate work directly with org.jruby.RubyObject objects. That means that the Hibernate session accepts and returns plain old Ruby objects (no intermediary Java domain classes are needed). Another goal is to provide a Rubyish interface to the Hibernate configuration and functionality.
The idea to start this project comes from Ola Bini's blog http://ola-bini.blogspot.com/2007/04/activehibernate-any-takers.html. For more details please see http://rubymatic.blogspot.com.
This is an early implementation of JSR 303 (Bean Validation), a specification of the Java API for JavaBean validation in Java EE and Java SE.
The technical objective is to provide a class level constraint declaration and validation facility for the Java application developer, as well as a constraint metadata repository and query API.
This implementation is based on the validation framework of agimatec GmbH, that is in production for more than a year and offers additional features, like XML-based extensible metadata, code generation (JSON for AJAX applications), JSR303 annotation support.
For more information refer to the Wiki at Overview
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.
What is Asynchronous IO for Java?
Asynchronous IO for JavaTM (AIO4J) is a package that provides the capability to perform input and output (IO) on sockets and files asynchronously -- that is, where the Java application can request the operation but can continue doing useful work while the underlying system performs the operation. The application is informed of the operation's completion later.
Annogen is a framework which helps you work with JSR175 Annotations. In a nutshell, Annogen generates a proxy layer in front of your Annotations. This lets you:
Override JSR175 Annotation values
...with data from XML or arbitrary plugin code that you write.
Migrate JDK1.4 code to JSR175
...by translating javadoc tags into Annotations
Work with popular introspection APIs
...including Reflection, Javadoc-Doclet, QDox, and APT-Mirror.
Apache ESME (Enterprise Social Messaging Environment) is a secure and highly scalable microsharing and micromessaging platform that allows people to discover and meet one another and get controlled access to other sources of information.
You can hardly turn a web page these days without seeing a story that describes how people are using social networks, whether it is Twitter, Facebook or some other service to develop and build their personal communities.
When solving problems, how useful might it be if a user was able to tap into the collective knowledge of her peers or surrounding groups of people with whom she might naturally network in the workplace setting? How much quicker and with greater precision might she be able to solve daily problems? What if there was a communications mechanism that takes the best of what services like Twitter offers and co-mingled that with readily recognizable business processes? That solution is Apache ESME.
Felix is a community effort to implement the OSGi R4 Service Platform, which includes the OSGi framework and standard services, as well as providing and supporting other interesting OSGi-related technologies. The ultimate goal is to provide a completely compliant implementation of the OSGi framework and standard services and to support a community around this technology. Felix currently implements a large portion of the OSGi release 4 specification, but additional work is necessary for full compliance. Despite this fact, the OSGi framework functionality provided by Felix is very stable.
Apache PDFBox is an open source Java PDF library for working with PDF documents. This project allows creation of new PDF documents, manipulation of existing documents and the ability to extract content from documents. Apache PDFBox also includes several command line utilities. Apache PDFBox is published under the Apache License v2.0
The Synapse project is a robust, lightweight implementation of a highly scalable and distributed service mediation framework based on Web services and XML specifications.
Apache Tika is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries. You can find the latest release on the download page. See the Getting Started guide for instructions on how to start using Tika.
Aranea is an Open-Source Java MVC Web Framework that provides a common Object-Oriented approach to building the web applications, reusing GUI logic and extending the framework. It comes with out-of-the-box support for nested flows and database-backed query browsing. Additionally it serves as an integration platform, allowing free intermingling of arbitrary frameworks, components and applications.
Thank you for your interest in Bean Sheet -- an interpretive Java spreadsheet utilizing Java spec syntax. At its core is Bean Shell, an open source Java interpreter. Because Bean Shell has full access to the Java Virtual Machine, the potential of marrying a Java interpreter with the concepts of a spreadsheet application is beyond and different from traditional spreadsheet software. Each Bean Sheet document can be a powerful application in its own right.
Click Framework is modern JEE web application framework, providing a natural rich client style programming model. Click is designed to be very easy to learn and use, with developers getting up and running within a day.
State Chart XML (SCXML) is currently a Working Draft published by the World Wide Web Consortium (W3C). SCXML provides a generic state-machine based execution environment based on Harel State Tables. SCXML is a candidate for the control language within multiple markup languages coming out of the W3C (see Working Draft for details). Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces.
CSVObjects is a free and open source Java based framework for transparently parsing and unmarshalling Comma Separated Value (CSV) files and records into Plain Old Java Objects without the need to code the parsing logic manually.
The CSVObjects parsing library relies on declarative mapping of CSV fields and data types to Java Bean attributes, via a mapping XML file. This is similar to the manner in which Hibernate provides a relational table mapping for Java Beans.
Also, the framework provides convenience Xdoclet support for specifying the CSV to Java mapping in the Java source code itself by using Javadoc markup, thereby reducing the burden on the developer to manually maintain separate configuration files.
The Framework is built upon Stephen Ostermiller's excellent CSV reader/parser classes.
Dojo provides cool cross browser javascript widgets that enable full featured GUI clients running on javascript in a browser. JSF developers who want to use dojo need to find a way to connect the dojo widgets with their backing beans. With Facelets we can build templates that connect dojo widgets with standard JSF tags. These templates are packaged as tags in a jar. Using templates with standard JSF tags we achieve portability from JSF 1.1 up to JSF 2.0. Furthermore you can easily take a template out of the jar, modify it and use it separately. DojoFaces is released under the Apache License to give you all legal right to do so.
All tags have full AJAX support. With dojo it's good practice to reduce roundtrips and use AJAX whereever possible to avoid time consuming page startups. Here's the link to our examples page to demonstrate the features.
Direct Web Remoting
DWR allows Javascript in a browser to interact with Java on a server and helps you manipulate web pages with the results.
DWR is Easy Ajax for Java
The Google Web Toolkit (GWT) has attracted a lot of attention lately as a way to make it easier for developers to add AJAX Web 2.0 features to their applications. Like other approaches, the designers of GWT have tried to insulate developers from having to deal with the underlying JavaScript, which implements these features. GWT achieves this goal of simplifying the creation of advanced client-side JavaScript widgets by generating them from Java code.
The Event Bus is a single-process publish/subscribe event routing library, with Swing extensions. The EventBus is fully-functional, with very good API documentation and test coverage (80+%). It has been deployed in many production environments, including financial, engineering and scientific applications.
The Event Bus is easy to use and yet very powerful. It requires no setup and the API is small and clear. The EventBus solves many problems, and promotes loose coupling, particularly with Swing applications.
Exadel Fiji
Exadel Fiji is an extension to JavaServer Faces to fully encapsulate Flex.
Exadel Fiji extends JSF by allowing the use of Flex with JSF components and within a JSF page. When using Fiji Flex components, developers can use Flex with the same familiar JSF component-based approach to building user interfaces.
Exadel Flamingo provides a set of commands that help a developer to generate initial code. To bootstrap a project, a developer answers a few questions in a wizard. Based on these questions, a standard project is generated. Flamingo is based on Maven, therefore the new application is generated according to Maven conventions, making it easy for people familiar with Maven to navigate through the project.
The generated code provides all the necessary plumbing and connectivity from Flex or JavaFX to Seam or Spring. A developer only needs to focus on business functionality; Flamingo takes care of the rest. All communications between the user interface and Seam or Spring components are taken care of by Exadel Flamingo.
Exadel Flamingo also provides a set of Flex components that make it extremely convenient to support specific features of Seam on the client side.
Flesh is a cross-platform, open source Java application designed to quickly analyze a document and display the difficulty associated with comprehending it. It is available for all platforms that support Java. Flesh has been released under the GPL (license for use).
After processing a document, Flesh produces two scores: the Flesch-Kincaid Grade Level and the Flesch Reading Ease Score. Each of these scores is calculated after determining the number of sentences, words and syllables a document contains. Using those numbers, the Flesch-Kincaid Grade Level and Flesch Reading Ease Score can then be calculated
[fleXive] is a JavaEE 5 open source (LGPL 2.1 or higher) framework for the development of complex and evolving (web-)applications. It speeds up development by easing many tedious and repetitive programming tasks and helping to keep your application(s) flexible during the development-cycle and in production.
Based on the latest industry-standards like EJB 3, JSF, etc. [fleXive] should be your choice for building up your own new application.
The Frameworx Project has been formed to help create an industry commons of open source service-oriented infrastructure for ISVs and other producers of enterprise-class applications. We play an active role in creating components and frameworks that are made available through leading community development projects, and provide value-added services and solutions around them.
Gecode/J is a Java interface for the Gecode C++ constraint programming library. It allows you to
model and solve
constraint problems in Java.
explore the search tree
with Gist, the Graphical Interactive Search Tool. Either using the built-in depth-first search strategy, or manually and interactively. Solutions and choice nodes can be inspected by clicking on them, and visualized using custom actions.
implement propagators
in Java. Whether for prototyping, for teaching, or just for fun. The propagators are integrated fully, so in your model you can mix them freely with the built-in propagators provided by Gecode.
implement branchings
for custom heuristics. Just like propagators, custom branchings fully integrate into Gecode/J.
implement search engines
using copying and recomputation. As search is fully programmable, you can write your own search engine, e.g. for LDS or A* search. In fact, Gist is implemented entirely in Java using the Gecode/J interface.
genesis is an open-source framework that aims to bring simplicity and productivity to enterprise application development, ensuring scalability, robustness and testability of your software. The main goal is to simplify the development of business components and the construction of complex graphical interfaces with minimum effort for developers. To accomplish its mission, genesis combines several open-source frameworks in a completely transparent way for developers, through the use of AOP (Aspect Oriented Programming). Our main challenge is to allow people with little knowledge of the Java platform to develop robust applications fast, without requiring them to learn several new technologies and complex concepts. We invite you to experience our approach to the problem.
Gracelets is a view/controller technology layered on top of Facelets/JSF. It complements the Facelets templating technology by allowing Groovy scripts to replace or be used in connection with normal Facelets source files and views.
The name came from combining the Gr in Groovy and replacing the F in Facelets with Gr, Groovy Facelets, or Gracelets (yeah, a no-brainer).
One of the inspirations behind Gracelets was the desire to use Groovy scripts, which have many practical applications for many java developers these days, and yet have all the power of Facelets and JSF behind the groovy script. Another inspiration was to at least have the option to develop quick solutions in a single file. Of course the Model-View-Controller concept is marvillous and it is important to keep things seperate, which can also be easily done with Gracelets. But sometimes it is nice not to be forced to do so just to prototype or develop some quick solution that one wants or needs, and Gracelets gives you that option. In other words, Gracelets works fine as simply a view technology in the MVC flow, but also allows you to do more in a single script if you so desire.
The main goal of Gracelets is to complement Facelets and provide more options, flexibility and efficiency to Facelets and JSF users and component developers. Since you can still use normal Facelet XHTML views and everything else you already have invested in JSF/Facelets, you are not forced to use Gracelets even though it is installed/configured. Thus you can choose exactly where you want to use Groovy Facelets/Gracelets in your application. Even inside Gracelet scripts, you can still access the full component/tag set already available in JSF/Facelets. Some of the possible practical uses of Gracelets could be (but is not limited to) the following:
GridGain is a computational grid framework. Its goal is to improve general performance of processing intensive applications by splitting and parallelizing the workload. In many cases GridGain is used to achieve better overall throughput, better scalability or availability of services.
Following picture illustrates the basic idea behind processing grids:
Hannibal is a code generator that can generate scaffolding for web projects in different languages, including Java, PHP, SQL, and JavaScript. The code it generates follows Restful considerations.
SOA und Open Source sind zwei der wichtigsten Trends in der IT. Die Verbindung von beiden bringt Unternehmen mehr Flexibilität bei geringeren Kosten. Die SOPERA GmbH möchte seinen Klienten helfen, dieses Nutzenpotential zu schöpfen.
The InfoNode Docking Windows framework allows you to create a powerful Swing GUI for your application and rich client with very little code. Just take your normal Swing components with application content and place them inside docking windows. The windows can then be arranged in advanced layouts using split windows, tab windows and floating windows. There are virtually no limitations to the window layouts you can create.
Domain Driven Design (DDD) is about mapping business domain concepts into software artifacts. Most of the writings and articles on this topic have been based on Eric Evans' book "Domain Driven Design", covering the domain modeling and design aspects mainly from a conceptual and design stand-point. These writings discuss the main elements of DDD such as Entity, Value Object, Service etc or they talk about concepts like Ubiquitous Language, Bounded Context and Anti-Corruption Layer.
Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
I hope you find Clojure's combination of facilities elegant, powerful, practical and fun to use.
The primary forum for discussing Clojure is the Google Group - please join us!
Rich Hickey
j-Interop is a Java Open Source library (LGPL) that implements the DCOM wire protocol (MSRPC) to enable development of Pure, Bi-Directional, Non-Native Java applications which can interoperate with any COM component.
jabsorb is a simple and lightweight Ajax/Web 2.0 framework that allows you to call methods in a Java web application from JavaScript code running in a web browser as if they were local objects residing directly in the browser.
jabsorb handles all the details of marshalling and unmarshalling objects back and forth between the client and server so that you can focus on writing your application features.
jabsorb makes use of the JSON-RPC protocol for it's transport mechanism. JSON-RPC is a standard protocol and jabsorb can interoperate with other standard JSON-RPC clients and servers that may be written in other languages.
Starting with jabsorb 1.2, additional ORB functionality has been added, and it extends the basic JSON-RPC protocol to allow for passing data structures that contain Circular References.
Jameleon is an automated testing framework that can be easily used by technical and non-technical users alike. One of the main concepts behind Jameleon is to create a group of keywords or tags that represent different screens of an application. All of the logic required to automate each particular screen can be defined in Java and mapped to these keywords. The keywords can then be organized with different data sets to form test scripts without requiring an in-depth knowledge of how the application works. The test scripts are then used to automate testing and to generate manual test case documentation.
Jasypt 1.3 will be released mid-May 2007, featuring changes in the provider API which will allow the use of non-default JCE providers like Bouncy Castle. With this, any PBE or digest algorithm you can get from any JCE provider will be available for you to use with Jasypt. Stay tuned for the new release at the jasypt-announce mailing list.
JPOX is a free and fully compliant implementation of the JDO1, JDO2 specifications, providing transparent persistence of Java objects. It supports persistence to all of the major RDBMS on the market today, persistence to the DB4O object datastore, supporting all of the main Object-Relational Mapping (ORM) patterns demanded by today's applications, allows querying using either JDOQL, SQL, or JPQL, and comes with its own byte-code enhancer. JPOX is available under the Open Source Apache 2 license, allowing access to not just a top quality Java persistence implementation but also to the source code, allowing you to contribute to the success story of the principal standards-compliant Open Source persistence implementation in the world today.
Welcome to JaValid
JaValid is an open source framework for validating your Java business objects. JaValid is licensed under the Eclipse Public License 1.0. JaValid 1.1-rc1 is the latest release.
JaValid is an annotation-based validation framework, which allows you to annotate your Java objects to introduce validation. JaValid can be used in any type of Java application (standalone application, web application etc). The framework currently provides full integration with the Spring Framework, Java Server Faces, Facelets, and any database. The framework can be extended easily, by means of extensions, and allows you to add your own validation constraints in addition to the ones shipping with the framework.
The framework is documented well (both the source and the general documentation), so check it out. To learn more, have a look on the documentation page.
The source and distributions are hosted on sourceforge, go to the downloads directly here. You may also want to check out the weblog, which contains some useful information, including several examples.
Have fun using JaValid!
jConfig is an extremely helpful utility, arming the developer with a simple API for the management of properties. Parts of the implementation are based on the idea that Properties, from Java's perspective, are a good thing, but can be better. jConfig employs the use of XML files for storing and retrieving of property information. The information can be stuffed into nice categories, which makes management quite a bit simpler. The ability to load from a URL is also a nice feature. It allows for a central repository where multiple instances of jConfig can read a single file. The nifty ability to
switch between XML and Properties files isn't fully exploited yet, but will be coming soon. That will mean that the developer would take their existing Properties files and export them to XML. That means less time to get up and get going with jConfig.
With jConfig we hope to have provided the developer with another powerful accessory for his or her's toolbox.
Jetlang provides a high performance java threading library. The library is based upon Retlang.
The library is a complement to the java.util.concurrent package introduced in 1.5 and should be used for message based concurrency similar to event based actors in Scala.
The library does not provide remote messaging capabilities. It is designed specifically for high performance in-memory messaging.
Features¶
* All messages to a particular Fiber are delivered sequentially. Components can easily keep state without synchronizing data access or worrying about thread races.
* Single Fiber interface that can be backed by a dedicated thread or a thread pool.
* Supports single or multiple subscribers for messages.
* Subscriptions for single events or event batching
* Single or recurring event scheduling
* High performance design optimized for low latency and high scalability
* Publishing is thread safe, allowing easy integration with other threading models.
* Low Lock Contention - Minimizing lock contention is critical for performance. Other concurrency solutions are limited by a single lock typically on a central thread pool or message queue. Jetlang is optimized for low lock contention. Without a central bottleneck, performance easily scales to the needs of the application.
* Powerful Async Request/Reply Support
* Single jar with no dependencies except the jdk (1.6+)
* Integrates with any JVM language - jruby, scala, clojure, groovy, etc