Wednesday, December 28, 2005

xdelta implemented in java

xdelta implemented in java: "This library implements Josh MacDonalds xdelta binary diff algorithm in java. More information on this algorithm can be found here.

Included is some java code for finding primes copyrighted by Roedy Green. See separate copyright note for that code.

This implementation uses the GDIFF file format for storing binary deltas. There is also a patcher that takes a source file and a patch file in this format and produces the original file.

Some links to other delta / diff implementations (some in java).

* libXDiff implements basic yet complete functionalities to create file diffs for binary and text files.
* jrcs, both an rcs implementation and difference engine in java.
* GNU diff ported to java.
* BDiff, a binary diff tool implemented in C. It uses an LZ77-like algorithm which uses the old file as dictionary.
* XML diff and merge tools, from IBM AlphaWorks
* not a java tool, but the google directory's page on File Comparison."

jConfig

jConfig: "jConfig

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."

Thursday, December 22, 2005

Enterprise Java Community: SSO and Identity Management

Enterprise Java Community: SSO and Identity Management: "The Solutions
JAAS (Java Authentication and Authorization Services)
Open-Source Solutions

* JOSSO, or Java Open Single Sign-On, is an open source J2EE-based SSO infrastructure aimed to provide a solution for centralized platform neutral user authentication. JOSSO works much like JAAS bug provides a communication layer that can query a centralized server which then plugs into an LDAP server using the supplied LDIF. Customized authentication interfaces may be coded.
* CAS, or central authentication service is an authentication service developed by Yale University that uses an HTTP to a centralized proxy server for authentication. Once a successful authentication occurs, the user is then assigned a ticket that can be validated by the client web-application. The centralized server can be configured using an interface system to support a pluggable authentication into existing user stores.
* The Java Authentication and Authorization Service (JAAS) is a set of APIs that enable services to authenticate and enforce access controls upon users. It implements a Java technology version of the standard Pluggable Authentication Module (PAM) framework, and supports user-based authorization JAAS works by programming to an authentication or authorization interface system that is standardized by the Java security API. So long as pluggable interfaces are kept complete, this approach can be used to plug into just about any username and password authentication system.

Commercial Solutions

* IDX is an application security framework that handles authentication and authorization for your web-applications. With IDX you can quickly integrate web-applications into a single security architecture that supports single sign-on and centralized identity management. The application is divided into two parts: the administration console is a clean and powerful web-interface to manage directories, users and their security rights. The integration API provides a platform neutral way to integrate web-applications into a single security architecture. With the integration API, applications can quickly access user information or perform security checks.
* Siteminder is an application server that provides SSO, a centralized security policy server, enterprise manageability, federated identity support that is open and easily extensible."

OSUser - OSUser

OSUser - OSUser: "OSUser is a module of the OpenSymphony framework designed to provide a simple to use API for user-management. This API provides the access to the following functions:

*

Credentials
The process of verifying that the user is whom they say they are.
*

Access Control
Determining whether a user is allowed to perform a certain task.
*

Profile
Personal details and data associated with the user.
*

Management
Allowing the underlying data to be modified."

Java date and time API - Home - Joda Time

Java date and time API - Home - Joda Time: "Joda Time - Java date and time API

Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic and Ethiopic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing."

Tuesday, December 20, 2005

CruiseControl Home

CruiseControl Home: "CruiseControl

CruiseControl is a framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds.

CruiseControl is distributed under a BSD-style license and is free for use. CruiseControl adheres to an open source model and therefore makes the source code freely available.

CruiseControl is maintained and developed by a group of dedicated volunteers."

H2 Documentation

H2 Documentation

Welcome to H2

Welcome to H2, the free SQL database. The main feature of H2 are:

* It is free to use for everybody, source code is included
* Written in Java, but also available as native executable
* JDBC and (partial) ODBC API
* Embedded and client/server modes
* Clustering is supported
* A web client is included

Sunday, December 18, 2005

EJB CMP compound primary key class remarks

Core Developers Network: "The CMP Entity must declare cmp-fields with the same name as each of the fields in the primary key class:


OrderStatus
...
OrderStatusPK

orderId


statusDate

...



It must also declare appropriate accessors:"

Sunday, December 11, 2005

Saturday, December 10, 2005

Quartz - Quartz Overview

Quartz - Quartz Overview: "What is Quartz?

Quartz is a full-featured, open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components or EJBs. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.

Quartz is freely usable, licensed under the Apache 2.0 license."

Wednesday, December 07, 2005

SNMP4J - Free Open Source SNMP API for Java

SNMP4J - Free Open Source SNMP API for Java: "Welcome to SNMP4J - The Object Oriented SNMP (Agent) API for Java

This site is dedicated to the development of a free open source state-of-the-art SNMP implementation for Java™ 2SE 1.4 or later. SNMP4J supports command generation (managers) as well as command responding (agents). Its clean object oriented design is inspired by SNMP , which is a well-known SNMPv1/v2c/v3 API for C (see http://www.agentpp.com).

The SNMP4J Java SNMP API provides the following features:

* SNMPv3 with MD5 and SHA authentication and DES and AES 128, AES 192, and AES 256 privacy.
* Pluggable Message Processing Models with implementations for MPv1, MPv2c, and MPv3
* All PDU types.
* Pluggable transport mappings. UDP and TCP are supported out-of-the-box.
* Pluggable timeout model.
* Synchronous and asynchronous requests.
* Command generator as well as command responder support.
* Free open source with the Apache license model
* Java™ 1.4.1 or later
* Logging based on Log4J
* Row-based efficient asynchronous table retrieval with GETBULK.
* Multi-threading support.
* JUnit tests (will be available soon)"

truezip:

truezip:

Although the ZIP file format it is a proprietary, de-facto standard by PKWARE Inc. (see http://www.pkware.com/company/standards/appnote/appnote.txt), ZIP files are ubiquitous on the Internet and thus on many platforms today. The J2SE API provides a well known package java.util.zip with classes like ZipInputStream, ZipOutputStream and ZipFile for easy access to ZIP compatible files. However, this package has some limitations/disadvantages:

* Sun's implementation uses the character set UTF-8 (eight bit Unicode character set) for entry names and comments instead of CP437 (the genuine IBM-PC character set) as used by the de-facto standard PKZIP from PKWARE. As a result, you cannot read or write ZIP files with international entry file names such as "täscht.txt" in a ZIP file created by a (southern) German.
* You need to use an additional API (the package java.util.zip) if your application needs to support ZIP compatible files in addition to ordinary files and directories, thereby significantly inflating your code and adding unnecessary complexity (which adds bugs, bugs, and even more bugs).
* You can either read or completely write ZIP compatible files, but you cannot just update individual entries.
* The classes do not support the concept of a directory, which you may want to create, modify, list or delete.
* You cannot browse a ZIP compatible file with a JFileChooser or FileSystemView.

The TrueZIP Library has been developed to overcome these limitations/disadvantages.

(If you would like to see TrueZIP in action, please visit http://truemirror.schlichtherle.de/en/ and web start the TrueMirror application.)

Tuesday, December 06, 2005

Open Source CMS - Alfresco News

Alfresco News: "Alfresco Enterprise Content Management 1.1 Released

Dec 5, 2005
An open source enterprise content management system

Improvements and additions in this 1.1 release focus on adding the security and permissions framework to the open version, first phase of JCR-170 Level 2 support and adding Groups support and management to the Enterprise version. A large number of bug fixes and enhancements also present in this release.

Alfresco provides a repository as well as an application to manage the repository, and has been designed for developing portal content, or replacing uncontrolled shared drives.

Alfresco has been implemented with open source projects such as Spring, Hibernate, and Lucene. It is also a Java Content Repository level 1 implementation with the first phase of level 2 available in this release, and provides the following features:"


* Library Services (Check-in/out, versioning)
* Smart Spaces (Rules and Conditions)
* Desktop File Access (CIFS, FTP)
* Auditable Content
* Workflow
* Content Categorization
* Data Management and Transformation Engine e.g. Word to PDF
* Content Streaming
* Advanced Search (Lucene full-text, Meta-Data and Custom Meta-Data, Content, Location and Category Search)
* Administration
* Advanced Security
* Virtual File System making ECM as simple as a Z: drive
* Team Collaboration
* Automatic Meta-Data Extraction
* Document and Folder templating and dashboards

Friday, December 02, 2005

RRD TOOL -- RRDJTool

RRD TOOL -- RRDJTool: "Round Robin Database Java Tool
by Sasa Markovic

RRDJTool is a small set of Java wrapper classes for RRDTool. This class set performs direct RRDTool calls using Java native interface (JNI) technology. Currently, it's tested on Linux platform only and supports the following frequently used RRD commands:

* rrdcreate
* rrdupdate
* rrdgraph
* rrdlast
* rrdfetch

JNI adds a bit of complexity to your Java based RRDTool projects but without JNI, you are forced to access RRDs using very slow and inefficient system calls. With RRDJTool it is possible to access RRDs using simple, fast and straightforward Java calls implemented through native methods."

JRobin :: RRDTool Choice for the Java World :: Welcome to JRobin

JRobin :: RRDTool Choice for the Java World :: Welcome to JRobin: "First time here?

JRobin is a 100% pure java implementation of RRDTool's functionality. It follows the same logic and uses the same data sources, archive types and definitions as RRDTool does. JRobin supports all standard operations on Round Robin Database (RRD) files: CREATE, UPDATE, FETCH, LAST, DUMP, XPORT and GRAPH. JRobin's API is made for those who are familiar with RRDTool's concepts and logic, but prefer to work with pure java. If you provide the same data to RRDTool and JRobin, you will get exactly the same results and graphs. JRobin is made from the scratch and it uses very limited portions of RRDTool's original source code. JRobin does not use native functions and libraries, has no Runtime.exec() calls and does not require RRDTool to be present. JRobin is distributed as a software library (jar files) and comes with full java source code (LGPL licence)."