SmartFrog is a powerful and flexible Java-based software framework for configuring, deploying and managing distributed software systems.
SmartFrog helps you to encapsulate and manage systems so they are easy to configure and reconfigure, and so that that they can be automatically installed, started and shut down. It provides orchestration capabilities so that subsystems can be started (and stopped) in the right order. It also helps you to detect and recover from failures.
Such systems typically have multiple software components running across a network of computing resources, where the components must work together to deliver the functionality of the system as a whole. It's critical that the right components are running in the right places, that the components are individually and collectively correctly configured, and that they are correctly combined to create the complete system. This profile fits many of the services and applications that run on today's computing infrastructures.
SmartFrog consists of:
A Language for defining configurations, providing powerful system modelling capabilities and an expressive notation for describing system configurations
A secure, distributed Runtime System for deploying software components and managing running software systems
A Library of SmartFrog Components that implement the SmartFrog component model and provide a wide range of services and functionality
Frinika is a free (licensed under GNU GPL) complete music workstation software containing sequencer, midi support, soft synthesizers, audio recorder, piano roll/tracker/notation editing and more. The goal of Frinika is to be a complete platform for making music with your computer, using the versatile Java platform to be able to run on several operating systems, and being open source to be able to embrace the best open source technology being available at any time.
Cloud Foundry supports the Apache, Tomcat and MySQL stack. It configures MySQL for master/slave replication and uses Apache to load balance across one or more Tomcat servers.
SoyLatte is a functional, X11-based port of the FreeBSD Java 1.6 patchset to Mac OS X Intel machines. SoyLatte is initially focused on supporting Java 6 development; however, the long-term view far more captivating: open development of Java 7 for Mac OS X, with a release available in concert with the official Sun release, supported on all recent versions of Mac OS X.
Coadunation is a Java based daemon server. It enables developers to quickly and easily develop daemons, web applications, distributed applications, manage distributed services etc. It provides, SSO (Single Sign On), SOA (Service Oriented Architecture), Web Services, RMI, Containers, Message Services and much more.
Trying to combine JSF and JSP is like trying to shoehorn a foot into a glove: it's possible, but it's really just a stopgap measure until something better comes along. In this article, JSF enthusiast Rick Hightower introduces you to what he likes best about Facelets: easy HTML-style templating and reusable composition components.
ChainBuilder ESB is Java Business Integration (JBI) compliant open source solution for use in Service Oriented Architecture (SOA) environments. ChainBuilder ESB's graphical integration enables new and older applications to easily enter into SOA.
jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.
Pedro is an application that creates data entry forms based on a data model written in a particular style of XML Schema. Users can enter data through the forms to create data files that conform to the schema. They can use controlled vocabularies to mark-up text fields and have the application perform basic validation on field data. When they feel they have finished writing a data file, Pedro can tell them if they have left out any required records.
HiberObjects is an Eclipse plugin for object oriented design of classes and unit tests for Java Persistence API or Hibernate. PropertyChange support and DTO's for Google Web Toolkit (GWT) can also be generated.
The FOP bridge plugin provides eclipse users the ability to convert FO documents into any one of the formats supported by Apache FOP directly from the workbench. Furthermore, conversion can be integrated into the Eclipse build-cycle. These capabilities are very useful for rapid prototyping.
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.
The programming community discourages using global data and objects. Still, there are times when an application needs a single instance of a given class and a global point of access to that class. The general solution is the design pattern known as singletons. However, singletons are unnecessarily difficult to test and may make strong assumptions about the applications that will use them. In this article I discuss strategies for avoiding the singleton pattern for that majority of cases where it is not appropriate. I also describe the properties of some classes that are truly singletons.
Papyrus is a dedicated tool for modelling within UML2. This open source tool is based on the Eclipse environment.
Key features:
* Eclipse UML2 compliance
* Full respect of the UML2 standard as defined by the OMG
* Full respect of the DI2 (Diagram Interchange ) standard
* Extendable architecture of Papyrus that allows users to add new diagrams, new code generators, etc.
* Profile development support facilities for UML2 profiles
* Nested profiles support
Apart from the very basic "add days" features, most business have to deal with Holidays and what to do when a calculated day falls on a holiday. This library does not attempt to create or guess the holidays, we all know that some bank holidays can be decided at a moment's notice in some markets. All financial institutions or big business will have their own official list of 'holidays' anyway.
Furthermore, "weekends" also need to be handled and some market have a different week to the conventional Monday -> Friday, our library provides you with full flexibility to design a Working Week.
As such a Non-working Day can be a holiday or a 'weekend'.
JTreeMap releases 2 components:
* a Java Swing component JTreeMap and a demo app.
* a SWT/Eclipse Plugin component, KTreeMap
Furthermore, the JTreeMap library contains an applet that could be used out of the box as it can read data in from a file on the web site, see this example.
a tool for measuring code metrics of Java applications. Contrary to other tools, Meaxure works with Java source files instead of class files and aims to be extendable. Currently Meaxure supports common metrics like lines of code, number of classes, number of methods or cyclomatic complexity. Due to it's reliance on source files it does not support metrics which cannot be calculated from individual source files like depth of inheritance tree or number of children.
Meaxure supports reporting violations to certain metrics. Rules for violations can be specified using XPath expressions,
Hippo CMS is an open source information centered content management system. It's targeted at medium to large organisations managing content for multi-channel distribution like web sites and intranets. It facilitates an open and flexible way of using your information by following international accepted open standards.
Apache MyFaces Orchestra aims to provide a simple way to combine a web-framework with a persistence layer. Typically, an Apache MyFaces Orchestra stack might combine JavaServer Faces, Spring and a JPA implementation like Toplink, Hibernate, etc.
The underlying idea is to provide long persistence sessions to the web-developer - this is done by associating these sessions with a conversational context.
The conversational context is opened when the bean configured for this context is first loaded. It can be manually closed by the programmer, plus a time-out can be configured as a global parameter.
myhttp is a basic web service engine for MySQL. It all you to perform basic HTTP method operations, like PUT, GET, and DELETE from MySQL as though it was a table. For example:
CREATE TABLE `d` (`a` varchar(125), b text, primary key(a)) ENGINE=HTTP DEFAULT CHARSET=latin1 CONNECTION="http://en.wikipedia.org/wiki/";
This would allow you to fetch pages from Wikipedia from SQL SELECT calls.
GenealogyJ is a viewer and editor for genealogic data, suitable for hobbyist, family historian and genealogy researcher. GenJ supports the Gedcom standard, is written in Java and offers family tree, table, timeline views and more. GenJ is free software so it can be redistributed and/or be modified under the terms of the GNU General Public Licence as published by the Free Software Foundation.
SchemaCrawler is a command-line tool to output your database schema and data in a readable form. The output is designed to be diff-ed with previous versions of your database schema. SchemaCrawler is also an API that improves on the standard JDBC metadata.
Application Ermodeller is a free CASE tool for data modelling which is built in Java. This tool supports conceptual and logical data modelling and in the final step, it allows to create physical model that is specific for particular DBMS.
The basic idea is to support development of database via ER modelling in three levels of abstraction:
* conceptual
* logical
* physical
This separation allows to create database model independent on the particular database system. You may create conceptual model and logical model that are independent on any DBMS. Then, you may generate physical model for each DBMS you will use. Afterwards, physical models allows you to generate SQL data definition for your target DBMS.
The Beryl XML GUI library was written to ease the development of graphical user interfaces using Swing on Java. It lets you store user interfaces as XML markup. This will help you avoid unnecessary clutter in your source - Swing code mixed with application logic can become a troublesome and hard to read mess as the application size increases. The library comes with a visual component builder, which makes development a breeze. The most important features are:
Develop a java-based tool that manages the life-cycle of the database schema and generates code and documentation artifacts. The tool transforms an XML description of a database schema into an HTML data dictionary, SQL scripts to create the database, and Java data access code. The tool automatically updates the documentation, scripts, and code as the schema is changed and updated. The tool also provides a simple but powerful data access programming model and framework for developing custom data access code. The generated Java code conforms to the Data Access Object (DAO) and Value Object (AKA Data Transfer Object) patterns that are described in the J2EE Java Blueprints.
The Milyn Project is building Open-Source Java components for XML and non-XML Processing.
Smooks
Smooks is a Java framework for managing and performing Fragment Based XML Processing (Transformation/Analysis).
Smooks can be used in conjunction with or as an alternative to XSLT for XML Transformation.
Smooks gives you more control when performing XML Transformations and Analysis by giving you the freedom to use the tools and programming languages most appropriate to the type of transformation in question (or your skillset).
* Mix and Match different tools and languages in the process of transforming a single message/document e.g. it may be easier to transform one part of the document using pure Java and another part using XSLT.
* Simplify your XSLT and StringTemplate Templates by combining the power of the Smooks Javabean and Templating Cartiridges.
* Analyse/Read your XML and non-XML data into named Javabeans using the Smooks Javabean Cartiridge.
* more...
LiveTribe is a community effort to provide state-of-the-art management and monitoring tools, available for download and distribution under the open source Apache License 2.0.
The goal of the LiveTribe project is to simplify the life of the application developers and operational users, by eliminating the complexity and overhead of deploying and maintaining multiple management and monitoring tools (one for each application).
Instead, the LiveTribe project provides an easily customisable and extensible plug-in architecture where management and monitoring capabilities for the most commonly-used applications (such as Jetty , Tomcat , Geronimo , etc.) are provided, and where custom functionality can be added easily.
LiveTribe leverages the most popular standards for management/monitoring technologies, including JMX ( Java Management Extensions ), ARM ( Application Response Measurement ) and SLP ( Service Location Protocol ).
The LiveTribe project is composed of modules (see the list of modules on the left).
Each module implements the specific portion of the LiveTribe project and most of the time can be downloaded and used separately from other modules.
It is a content management system inspired by Ward Cunningham's Wiki idea. Whereas most wiki implementations (and there are hundreds) use a textarea in a web page for editing, with a command language for formatting, Cozmos uses a full installed 'Thick' application for editing and pushes back the pages using an extended web technology called WebDAV. Like Wikis, Cozmos separates content from presentation/style. Unlike Wikis the actual language of the content is HTML which is the language of the web itself.
WinRun4j is a java launcher for Windows. It provides an alternative to javaw.exe and provides the following benefits:
* Use of INI file for specifying classpath, main class, vm args, program args.
* Custom executable name that appears in task manager.
* Additional VM args for (eg.) more flexible memory use.
* Built-in icon replacer for custom icon.
WinRun4J is licensed under the Common Public License (CPL).
Artifactory is a Maven2 proxy repository with advanced features. It is based on JCR (using JackRabbit as the implementation), with a web UI based on Wicket, and embeded Jetty for quick start. All artifacts are stored in an embedded Derby DB.
Dependometer is a java based analysis tool for java projects.
Features are:
Use a logical architecture description in terms of Layers and Subsystems and their physical mapping (n Packages implement a Subsystem) and check logical architecture violations.
* Analyze the dependency architecture between Layers, Subsystems, Packages, Compilation Units (Java files) and Types (Classes and Interfaces)
* Calculate a bunch of metrics for all elements - this includes metrics from John Lakos, Robert C. Martin and Craig Larman
* Analyze cycles between elements
* Define thresholds and receive feedback upon their violation
Simulate via simple refactoring definitions and cutting unwanted dependencies changes to the physical structure possibly enhancing refactoring.
Create a complete HTML presentation via xslt. This provides browsing capabilities from Layer (logical element) to Compilation Unit (physical element) for a discussion which physical elements cause the logical architecture to break.
Another refactoring tool from FernUni Hagen:
Purpose
to check code for possible generalizations of declared types; to detect the smell of not using suitable abstractions
Phantastic!
"EclEmma is a free Java code coverage tool for Eclipse, available under the Eclipse Public License. Internally it is based on the great EMMA Java code coverage tool, trying to adopt EMMA's philosophy for the Eclipse workbench:
* Fast develop/test cycle: Launches from within the workbench like JUnit test runs can directly be analyzed for code coverage.
* Rich coverage analysis: Coverage results are immediately summarized and highlighted in the Java source code editors.
* Non-invasive: EclEmma does not require modifying your projects or performing any other setup.
The Eclipse integration has its focus on supporting the individual developer in an highly interactive way.
The update site for EclEmma is http://update.eclemma.org/."
The Synapse project is a robust, lightweight implementation of a highly scalable and distributed service mediation framework based on Web services and XML specifications.
E. Sekerinski, and R. Zurob. &\#171;UML&\#187; '01: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, page 376--390. London, UK, Springer-Verlag, (2001)