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."
Wednesday, December 28, 2005
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."
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."
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."
*
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."
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."
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
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:"
...
...
It must also declare appropriate accessors:"
Sunday, December 11, 2005
Open Source Software in Java(tm)
Open Source Software in Java(tm): "Open Source Software in Java(tm)"
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."
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)"
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.)
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
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
Monday, December 05, 2005
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."
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)."
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)."
Wednesday, November 30, 2005
JBossDruid
JBossDruid: "JBossDruid
Created by Ronaldo Nascimento, JBossDruid helps you create a Container Managed Persistent (CMP) Enterprise JavaBean (EJB) source code and deployment descriptors for JBoss EJB Container.
SourceForge Logo"
Created by Ronaldo Nascimento, JBossDruid helps you create a Container Managed Persistent (CMP) Enterprise JavaBean (EJB) source code and deployment descriptors for JBoss EJB Container.
SourceForge Logo"
freshmeat.net: Project details for EJBCreator
freshmeat.net: Project details for EJBCreator: "EJBCreator generates Enterprise JavaBeans source code based on simple input from the user. It is able to generate source code skeletons for Entity beans, Session beans, Session Synchronized beans, Message-driven beans, Value objects, primary keys, Ant build files, JUnit TestCases, and ejb-jar.xml files. EJBCreator doesn't depend on a specific J2EE application server, since all code is generated based on the Enterprise JavaBeans specification standard."
itymbi ...: UML Sequence Diagram Sketches
itymbi ...: UML Sequence Diagram Sketches: "UML Sequence Diagram Sketches
Look here for the latest developments and releases of SEQUENCE.
As part of working on the design on MBlog I've been producing quite a few UML Sequence diagrams. I started out sketching these by hand which is quick, apart from the constant erasing and redrawing, but does make it difficult to publish them on the web. I then tried using the OpenOffice.org draw program. However, I found I was spending more time making the drawing look pretty than expressing what I wanted. Next I looked at ArgoUML but with that tool you have to enter a lot of information that isn't needed for a simple sketch before you can get any diagram. Finally I decided that it would be simpler to produce my own simple took."
Look here for the latest developments and releases of SEQUENCE.
As part of working on the design on MBlog I've been producing quite a few UML Sequence diagrams. I started out sketching these by hand which is quick, apart from the constant erasing and redrawing, but does make it difficult to publish them on the web. I then tried using the OpenOffice.org draw program. However, I found I was spending more time making the drawing look pretty than expressing what I wanted. Next I looked at ArgoUML but with that tool you have to enter a lot of information that isn't needed for a simple sketch before you can get any diagram. Finally I decided that it would be simpler to produce my own simple took."
Wednesday, November 16, 2005
Dwarf
Dwarf: "Dwarf Mail Server - product overview
Dwarf Mail Server is a full-featured mail server developed on the Java? platform, implementing SMTP, POP3 and IMAP4rev1 protocols.
It provides support for rich application message processing via pluggable mail filters and agents, as well as full handling of virtual domains for the SMTP/POP3/IMAP4 protocols, and is free of charge for the binary redistribution.
Since the server is based on the Dwarf framework, it also shares its common design principles and features - simplicity, high modularity and extensibility, authentication and authorization, XML-based configuration, logging and remote management.
Features
* ESMTP, POP3 and IMAP4rev1 implementation
* application logic layer provided by mail filters and agents
* virtual mail hosts in SMTP/POP3/IMAP4 server
* application-independent authentication and authorization
* sample JSP-based webmail interface"
Dwarf Mail Server is a full-featured mail server developed on the Java? platform, implementing SMTP, POP3 and IMAP4rev1 protocols.
It provides support for rich application message processing via pluggable mail filters and agents, as well as full handling of virtual domains for the SMTP/POP3/IMAP4 protocols, and is free of charge for the binary redistribution.
Since the server is based on the Dwarf framework, it also shares its common design principles and features - simplicity, high modularity and extensibility, authentication and authorization, XML-based configuration, logging and remote management.
Features
* ESMTP, POP3 and IMAP4rev1 implementation
* application logic layer provided by mail filters and agents
* virtual mail hosts in SMTP/POP3/IMAP4 server
* application-independent authentication and authorization
* sample JSP-based webmail interface"
Announcing IBM WebSphere Application Server Community Edition
Announcing IBM WebSphere Application Server Community Edition
IBM WebSphere Application Server Community Edition - Available now!
IBM introduces a new addition to the IBM WebSphere Application Server family. IBM WebSphere� Application Server Community Edition, Version 1.0 is a lightweight Java? 2 Platform, Enterprise Edition (J2EE) application server built on Apache Geronimo, the open source application server project of the Apache Software Foundation. It is designed to help you accelerate your development and deployment efforts by offering technology that is quick, easy to download, and free to use! Harnessing the latest innovations from the open-source community, WebSphere Application Server Community Edition provides a readily accessible and flexible foundation for building Java applications.
Why Choose IBM WebSphere Application Server Community Edition
Key features:
* J2EE 1.4 certification (with support for IBM and Sun JDKs)
* Eclipse plug-in for creating, deploying, and debugging your applications
* Support for Apache Tomcat
* Integrated IBM Cloudscape database for supported use in development and production
* Database support for Oracle, Microsoft SQL Server, and MySQL
* Runtime customization
* User management
* Centralized configuration and control through administrative console (tech preview)
* Migration aids from Apache Geronimo and Apache Tomcat
* Convenient access to product binaries and source code
IBM WebSphere Application Server Community Edition - Available now!
IBM introduces a new addition to the IBM WebSphere Application Server family. IBM WebSphere� Application Server Community Edition, Version 1.0 is a lightweight Java? 2 Platform, Enterprise Edition (J2EE) application server built on Apache Geronimo, the open source application server project of the Apache Software Foundation. It is designed to help you accelerate your development and deployment efforts by offering technology that is quick, easy to download, and free to use! Harnessing the latest innovations from the open-source community, WebSphere Application Server Community Edition provides a readily accessible and flexible foundation for building Java applications.
Why Choose IBM WebSphere Application Server Community Edition
Key features:
* J2EE 1.4 certification (with support for IBM and Sun JDKs)
* Eclipse plug-in for creating, deploying, and debugging your applications
* Support for Apache Tomcat
* Integrated IBM Cloudscape database for supported use in development and production
* Database support for Oracle, Microsoft SQL Server, and MySQL
* Runtime customization
* User management
* Centralized configuration and control through administrative console (tech preview)
* Migration aids from Apache Geronimo and Apache Tomcat
* Convenient access to product binaries and source code
Write a Standalone Java Application Without a Main Method
Write a Standalone Java Application Without a Main Method: "Write a Standalone Java Application Without a Main Method
Normally, you need a main method in a Java class if you want to run that class from the command line. However, there is a little trick that allows you to run one without a main method:
class NoMainMethod
{
static
{
System.out.println('Look ma! no main method');
System.exit(0);
}
}
The reason this works is that static initialization blocks get executed as soon as the class is loaded?even before the main method is called. As soon as the block exits, it will look for the main method. When it doesn't find it, it throws an exception?so the statement exits the program before the exception is thrown."
Normally, you need a main method in a Java class if you want to run that class from the command line. However, there is a little trick that allows you to run one without a main method:
class NoMainMethod
{
static
{
System.out.println('Look ma! no main method');
System.exit(0);
}
}
The reason this works is that static initialization blocks get executed as soon as the class is loaded?even before the main method is called. As soon as the block exits, it will look for the main method. When it doesn't find it, it throws an exception?so the statement exits the program before the exception is thrown."
Tuesday, November 15, 2005
Jpcap dependent DLL-files.com - wpcap.dll, free download
DLL-files.com - wpcap.dll, free download: "Here you can download wpcap.dll free of charge. The file is compressed so you need an unzip software in order to use the file. We recommend you to use ExpressZIP. We also recommend you to read the tutorial how to unzip and install the files. If your problem isn't solved, we offer Live Computer Support with a low-cost montlhy subsciption plan starting at $7.40/month.
Use the link below to start downloading wpcap.dll."
Use the link below to start downloading wpcap.dll."
DocBook XSL Transformations
Chapter?2.?Extensions
Example 2.2. Enabling the extensions from the command line
To enable the extensions from the command line, you need to pass the use.extensions parameter to your XSLT engine. Here's an example of how to do that with Saxon:
java com.icl.saxon.StyleSheet filename.xml docbook/html/docbook.xsl use.extensions=1 > output.html
and here's an example of how to do it with Xalan:
java org.apache.xalan.xslt.Process -IN filename.xml -XSL docbook/html/docbook.xsl -PARAM use.extensions 1 -OUT output.html
Example 2.2. Enabling the extensions from the command line
To enable the extensions from the command line, you need to pass the use.extensions parameter to your XSLT engine. Here's an example of how to do that with Saxon:
java com.icl.saxon.StyleSheet filename.xml docbook/html/docbook.xsl use.extensions=1 > output.html
and here's an example of how to do it with Xalan:
java org.apache.xalan.xslt.Process -IN filename.xml -XSL docbook/html/docbook.xsl -PARAM use.extensions 1 -OUT output.html
Sunday, November 13, 2005
Cobertura
Cobertura: "Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.
Features
* Can be executed from ant or from the command line.
* Instruments Java bytecode after it has been compiled.
* Can generate reports in HTML or XML.
* Shows percent of lines coveraged and branches coveraged for each class, package, and for the overall project.
* Shows the McCabe cyclomatic code complexity of each class, and the average cyclomatic code complexity for each package, and for the overall product.
* Can sort HTML results by class name, percent of lines covered, percent of branches covered, etc. And can sort in ascending or decending order."
Features
* Can be executed from ant or from the command line.
* Instruments Java bytecode after it has been compiled.
* Can generate reports in HTML or XML.
* Shows percent of lines coveraged and branches coveraged for each class, package, and for the overall project.
* Shows the McCabe cyclomatic code complexity of each class, and the average cyclomatic code complexity for each package, and for the overall product.
* Can sort HTML results by class name, percent of lines covered, percent of branches covered, etc. And can sort in ascending or decending order."
Bekannte Java-Open-Source Software
Bekannte Java-Open-Source Software
Bekannte Java-Open-Source Projekte
Es gibt es viel zu entdecken. Die Java-Standard-API reicht heute nicht mehr aus. Diese Sammlung von Links listet in meinen Augen gute und sinnvolle quelloffene und lizenzfreundliche Erg�nzungen. Insbesondere f�r zus�tzliche Swing-Komponenten habe ich eine extra Seite zusammengestellt. Neben den n�tzlichen Java-Erg�nzungen gibt es eine Liste mit n�tzlichen Tools f�r Windows.
In Klammern steht hinter dem Projekt die Lizenzform. Die meisten sind GPL, LGPL, BSD, Apache und Common Public License (CPL).
Software Entwicklungsumgebung (IDEs)
* Eclipse (Eclipse Public License (EPL). Wichtige Entwicklungsumgebung. Project 3.1 Plan
* NetBeans (als GUI-Builder)
* XDoclet (BSD). Code-Generierung, etwa f�r EJBs Home-/Reme-Interface oder auch f�r Hiberante Mapping Dateien
* weitere IDEs...
XML/HTML
* Xerces Java Parser (Apache). Neben Sun's Crimson ein schneller Parser
* JDOM (Apache). Sch�ner Zugriff auf XML-Dokumente. XPath-M�glichkeit
* XOM. XOM 1.1b.
* Streaming API for XML (StAX) und Woodstox sind Pull Parser. StaxMisc (LGPL) hat ein StaX-Parser f�r JDOM
* Digester (Apache). Teil aus Jakarta Commons zum Einlesen von XML-Konfig-Dateien, (Tutorial 1)
* Apache Axis (Apache). SOAP-Aufrufe
* XML-RPC (Apache). Java-Implementierung von Apache f�r XML-RPC
* XStream (BSD). Serialisierung in XML-Dateien ohne explizites Mapping. (Tutorial 1, 2, 3)
* TagSoup (Academic Free License/GPL). Parser f�r HTML nach dem SAX-Prinzip. Korrigiert Tag-Fehler
* CyberNeko HTML Parser (Apache). Korrigierender HTML-Parser
Web/Java EE/Applikations-Server
* Apache Jakarta Tomcat (Apache). Referenzimplementierung f�r Servlets/JSP
* Jetty:// (Apache). Weiterer Servlet-Container. Ausgezeichnet f�r Embedded-Server
* JBoss (LGPL). Freier Java EE-Stack, der die Java EE 1.4-Spezifikation umsetzt. JBoss zeigt auch die ersten Ans�tze, wie EJB 3 funktionieren kann.
* Geronimo (Apache). Kommender Java EE-Stack von Apache
* ActiveMQ (Apache). JMS 1.1 Implementierung. (Viele andere L�sungen, wie OpenJMS, setzten nur die 1.0-Spezifikation um.) ActiveMQ ist auch die Messaging-L�sung in Geronimo.
Tag-Libs
* Cewolf (LGPL). Charts �ber JFreeChart aufbauen
* Jakarta Taglibs Project (Apache). TagLib etwa f�r Request, Response, JMS, ...
* Display tag library (Artistic). Tabellen aufbereiten
* OSCache (Apache kompatibel). Caching von JSP-Content, Servlet Response oder beliebigen anderen Objekten
Web Frameworks
* Struts (Apache). MVC-Konzept f�r's WEB
* Cocoon (Apache). XML-Inhalte �ber XSLT transformieren
* Turbine (Apache). MVC-Framework
* WebWork (Apache). Application Framework
* Spring (Apache). In erster Linie ein IoC-Container
* MyFaces (Apache). Implementierung der JavaServer Faces Spezifikation (JSR 127)
Testen
* JUnit (Common Public License). Das bekannteste Framework zum Testen von Java-Anwendungen
* JUnit-addons (Apache). Framework, das u.a. Klassen zum Vergleichen von Listen, Dateien anbietet
* HTTPUnit (Eigene Lizenz). Testen von Web-Applikationen. Tutorial
* DbUnit. JUnit-Erweiterung zum Testen von Datenbankzust�nden
* Cactus (LGPL). Testen von Server-seitigen Komponenten (Servlets, EJBs, Tag Libs, Filters, ...)
* FindBugs (LGPL). Automatisches Finden von Bugs. Auch als Eclipse-Plugin
* Lint4j (Propriet�r). Auffinden von Unregelm��igkeiten
* Hammurapi (GPL). Automatische Code-Reviews
* HTTPTracer (Apache). HTTP-Proxy
* Cobertura (GPL). Code-Coverage auf der Basis von jcoverage.
Performance
* Eclipse Profiler Plugin (CPL). Messen von Ausf�hrungszeiten
* JMeter (Apache). Lasttests nicht nur f�r HTTP, auch f�r JDBC, SOAP, ...
* P6Spy (Apache-�hnlich). Abfangen, Loggen und Modifizieren von JDBC-Anweisungen
* Ehcache (Apache). Caching Framework. Wird zum Beispiel in Hibernate eingesetzt
UML
* ArgoUML (BSD). UML-Tool. Bisher kein Plugin f�r Eclipse, wobei eine externe Gruppe daran arbeitet
Persistenz/XML-Binding
* Hibernate (LGPL). Beliebter OR-Mapper und Basis von JBoss f�r seine Persistenzschicht. Aktuell in der Version 3.0
* Castor (Exolab License, wie BSD). XML-Binding
* Prevayler. Persistenz durch Serialialsierung
Datenbank/DB-Browser
* C-JDBC (LGPL). Cluster-L�sung. C-JDBC ist ein JDBC-Treiber, der auf mehrere Knoten verteilt
* MySQL (GPL). Bekannteste Open-Source DB
* hsqldb (Propriet�r). RDBMS-Implementierung in Java, besondern interessant f�r Embedded-Anwendungen
* Xindice (Apache). Native XML-Datenbank
* SQuirreL (LGPL). SQL Client
* ozone (LGPL). Objekt-Datenbank
Dokumente, GUI, Reports, Grafik
* winlaf Home (BSD). Korrigiert Unsch�nheiten unter Windows XP Swing Look and Feel
* Batik (Apache). Einlesen, Verarbeiten und Anzeige von SVG-Grafiken
* JasperReport (LGPL). Report-Tool wie Crystal Reports. Minianleitung
* iReport. Visueller Designer f�r JasperReport
* DataVision (GPL). Auch ein Reporting Tool
* iText (MPL und LGPL). Generieren von PDF (Kurzbeschreibung). Dazu ist ist Printing component aus den UJAC praktisch: hier beschreibt man das Dokument in XML.
* POI (Apache). Zugriff auf MS Datei-Formate. Excelling in Excel with Java
* Java Excel API (LGPL). Alternative zu POI f�r Excel-Tabellen
* gef (BSD). Weiteres Java Graph Editing Framework (hat nichts mit Eclipses GEF zu tun)
* BrowserLauncher (keine/frei). Starten eines externen Browsers
* jhighlight (LGPL). Bibliothek zur Farbhervorhebung von Java, HTML, XHTML, XML und LZX mit dem Ausgabeformat XHTML
* JDesktop Integration Components, JDIC (LGPL). Unter anderem: Browser von Windows/Unix plattformneutral aufrufen. Kurzbeschreibung
* Fold n' Drop (Lizenz unklar). Umbl�ttern mit visuellen Effekten
* Spin (LGPL). Threading-Framework. Webseite stellt das dem Worker gegen�ber
* XML-Gui Abbildungen: Thinlet (GLPL), SwiXml (Apache-�hnlich), gui4j (GLPL).
Eine eigene Unterseite listet alternative Gui-Komponenten f�r Swing auf.
Build-Management/Installer
* Ant (Apache). Das Standard-Buildtool
* JSmooth (GPL). Bauen von ausf�hrbaren Daten unter Windows
* Maven (Apache). Projekt-Management
* CruiseControl. �berwachen/Automatisieren vom Build
Projektplanung/-managing
* XPlanner (LGPL). Planung von XP-Projekten
* TUTOS (GPL). Webanwendung zur Projektplanung
Bug-Tracking
* ITracker (GPL). Tracking-System auf der Basis von Java EE
* Scarab (BSD). Tracking
Dateisystem/Netzwerk
* Jakarta Commons/Net (Apache). Java-Pakete f�r Internet-Protokolle FTP, NNTP, SMTP, POP3, Telnet, TFTP, Finger
* Directory Poller (LGPL). Schaut in gegebenen Intervallen nach Ver�nderungen im Verzeichnis
* jpcap (Mozilla Public Licence). Fangen von TCP/IP Paketen
* cajo (LGPL). Kooperation zwischen mehreren virtuellen Maschinen
Sonstiges / Freeware
* Velocity (Apache). Kein Web-Framework, aber oft genutzte Template-Engine f�r Web-Anwendungen
* BCEL (Apache), ASM (BSD), Javassist (MPL und LGPL). Generieren von Bytecode zur Laufzeit
* cglib. Nutzt generierten Bytecode f�r Proxies und Weiteres
* Log4j (Apache). Logging
* Quartz (BSD-�hnlich). Job scheduling system
* Jawin (Propriet�r). Aufrufen von COM-Komponenten. Somit ist zum Beispiel eine Steuerung von MS-Office m�glich
* Jad 1.5.8e. Ein Java Decompiler. Nicht Quelloffen! Ein visuelles Frontend ist etwa FrontEnd Plus. (Jad ist hier integriert.)
* LimSee2 (Propriet�r) Ein SMIL 2.0 Authoring-Tool
* ROXES ANT Tasks (GPL). Erweiterte Tasks f�r Ant, um etwa auf die Windows Registry zuzugreifen
* Radeox (Apache). Wiki-Renderer
* Java Service Wrapper (Propriet�r). Java-Programme als Windows-Services oder Unix Daemon ausf�hren
Links
* freshmeat.net
* SourceForge.net
* BerliOS - The Open Source Mediator
* Java-Source.net
Bekannte Java-Open-Source Projekte
Es gibt es viel zu entdecken. Die Java-Standard-API reicht heute nicht mehr aus. Diese Sammlung von Links listet in meinen Augen gute und sinnvolle quelloffene und lizenzfreundliche Erg�nzungen. Insbesondere f�r zus�tzliche Swing-Komponenten habe ich eine extra Seite zusammengestellt. Neben den n�tzlichen Java-Erg�nzungen gibt es eine Liste mit n�tzlichen Tools f�r Windows.
In Klammern steht hinter dem Projekt die Lizenzform. Die meisten sind GPL, LGPL, BSD, Apache und Common Public License (CPL).
Software Entwicklungsumgebung (IDEs)
* Eclipse (Eclipse Public License (EPL). Wichtige Entwicklungsumgebung. Project 3.1 Plan
* NetBeans (als GUI-Builder)
* XDoclet (BSD). Code-Generierung, etwa f�r EJBs Home-/Reme-Interface oder auch f�r Hiberante Mapping Dateien
* weitere IDEs...
XML/HTML
* Xerces Java Parser (Apache). Neben Sun's Crimson ein schneller Parser
* JDOM (Apache). Sch�ner Zugriff auf XML-Dokumente. XPath-M�glichkeit
* XOM. XOM 1.1b.
* Streaming API for XML (StAX) und Woodstox sind Pull Parser. StaxMisc (LGPL) hat ein StaX-Parser f�r JDOM
* Digester (Apache). Teil aus Jakarta Commons zum Einlesen von XML-Konfig-Dateien, (Tutorial 1)
* Apache Axis (Apache). SOAP-Aufrufe
* XML-RPC (Apache). Java-Implementierung von Apache f�r XML-RPC
* XStream (BSD). Serialisierung in XML-Dateien ohne explizites Mapping. (Tutorial 1, 2, 3)
* TagSoup (Academic Free License/GPL). Parser f�r HTML nach dem SAX-Prinzip. Korrigiert Tag-Fehler
* CyberNeko HTML Parser (Apache). Korrigierender HTML-Parser
Web/Java EE/Applikations-Server
* Apache Jakarta Tomcat (Apache). Referenzimplementierung f�r Servlets/JSP
* Jetty:// (Apache). Weiterer Servlet-Container. Ausgezeichnet f�r Embedded-Server
* JBoss (LGPL). Freier Java EE-Stack, der die Java EE 1.4-Spezifikation umsetzt. JBoss zeigt auch die ersten Ans�tze, wie EJB 3 funktionieren kann.
* Geronimo (Apache). Kommender Java EE-Stack von Apache
* ActiveMQ (Apache). JMS 1.1 Implementierung. (Viele andere L�sungen, wie OpenJMS, setzten nur die 1.0-Spezifikation um.) ActiveMQ ist auch die Messaging-L�sung in Geronimo.
Tag-Libs
* Cewolf (LGPL). Charts �ber JFreeChart aufbauen
* Jakarta Taglibs Project (Apache). TagLib etwa f�r Request, Response, JMS, ...
* Display tag library (Artistic). Tabellen aufbereiten
* OSCache (Apache kompatibel). Caching von JSP-Content, Servlet Response oder beliebigen anderen Objekten
Web Frameworks
* Struts (Apache). MVC-Konzept f�r's WEB
* Cocoon (Apache). XML-Inhalte �ber XSLT transformieren
* Turbine (Apache). MVC-Framework
* WebWork (Apache). Application Framework
* Spring (Apache). In erster Linie ein IoC-Container
* MyFaces (Apache). Implementierung der JavaServer Faces Spezifikation (JSR 127)
Testen
* JUnit (Common Public License). Das bekannteste Framework zum Testen von Java-Anwendungen
* JUnit-addons (Apache). Framework, das u.a. Klassen zum Vergleichen von Listen, Dateien anbietet
* HTTPUnit (Eigene Lizenz). Testen von Web-Applikationen. Tutorial
* DbUnit. JUnit-Erweiterung zum Testen von Datenbankzust�nden
* Cactus (LGPL). Testen von Server-seitigen Komponenten (Servlets, EJBs, Tag Libs, Filters, ...)
* FindBugs (LGPL). Automatisches Finden von Bugs. Auch als Eclipse-Plugin
* Lint4j (Propriet�r). Auffinden von Unregelm��igkeiten
* Hammurapi (GPL). Automatische Code-Reviews
* HTTPTracer (Apache). HTTP-Proxy
* Cobertura (GPL). Code-Coverage auf der Basis von jcoverage.
Performance
* Eclipse Profiler Plugin (CPL). Messen von Ausf�hrungszeiten
* JMeter (Apache). Lasttests nicht nur f�r HTTP, auch f�r JDBC, SOAP, ...
* P6Spy (Apache-�hnlich). Abfangen, Loggen und Modifizieren von JDBC-Anweisungen
* Ehcache (Apache). Caching Framework. Wird zum Beispiel in Hibernate eingesetzt
UML
* ArgoUML (BSD). UML-Tool. Bisher kein Plugin f�r Eclipse, wobei eine externe Gruppe daran arbeitet
Persistenz/XML-Binding
* Hibernate (LGPL). Beliebter OR-Mapper und Basis von JBoss f�r seine Persistenzschicht. Aktuell in der Version 3.0
* Castor (Exolab License, wie BSD). XML-Binding
* Prevayler. Persistenz durch Serialialsierung
Datenbank/DB-Browser
* C-JDBC (LGPL). Cluster-L�sung. C-JDBC ist ein JDBC-Treiber, der auf mehrere Knoten verteilt
* MySQL (GPL). Bekannteste Open-Source DB
* hsqldb (Propriet�r). RDBMS-Implementierung in Java, besondern interessant f�r Embedded-Anwendungen
* Xindice (Apache). Native XML-Datenbank
* SQuirreL (LGPL). SQL Client
* ozone (LGPL). Objekt-Datenbank
Dokumente, GUI, Reports, Grafik
* winlaf Home (BSD). Korrigiert Unsch�nheiten unter Windows XP Swing Look and Feel
* Batik (Apache). Einlesen, Verarbeiten und Anzeige von SVG-Grafiken
* JasperReport (LGPL). Report-Tool wie Crystal Reports. Minianleitung
* iReport. Visueller Designer f�r JasperReport
* DataVision (GPL). Auch ein Reporting Tool
* iText (MPL und LGPL). Generieren von PDF (Kurzbeschreibung). Dazu ist ist Printing component aus den UJAC praktisch: hier beschreibt man das Dokument in XML.
* POI (Apache). Zugriff auf MS Datei-Formate. Excelling in Excel with Java
* Java Excel API (LGPL). Alternative zu POI f�r Excel-Tabellen
* gef (BSD). Weiteres Java Graph Editing Framework (hat nichts mit Eclipses GEF zu tun)
* BrowserLauncher (keine/frei). Starten eines externen Browsers
* jhighlight (LGPL). Bibliothek zur Farbhervorhebung von Java, HTML, XHTML, XML und LZX mit dem Ausgabeformat XHTML
* JDesktop Integration Components, JDIC (LGPL). Unter anderem: Browser von Windows/Unix plattformneutral aufrufen. Kurzbeschreibung
* Fold n' Drop (Lizenz unklar). Umbl�ttern mit visuellen Effekten
* Spin (LGPL). Threading-Framework. Webseite stellt das dem Worker gegen�ber
* XML-Gui Abbildungen: Thinlet (GLPL), SwiXml (Apache-�hnlich), gui4j (GLPL).
Eine eigene Unterseite listet alternative Gui-Komponenten f�r Swing auf.
Build-Management/Installer
* Ant (Apache). Das Standard-Buildtool
* JSmooth (GPL). Bauen von ausf�hrbaren Daten unter Windows
* Maven (Apache). Projekt-Management
* CruiseControl. �berwachen/Automatisieren vom Build
Projektplanung/-managing
* XPlanner (LGPL). Planung von XP-Projekten
* TUTOS (GPL). Webanwendung zur Projektplanung
Bug-Tracking
* ITracker (GPL). Tracking-System auf der Basis von Java EE
* Scarab (BSD). Tracking
Dateisystem/Netzwerk
* Jakarta Commons/Net (Apache). Java-Pakete f�r Internet-Protokolle FTP, NNTP, SMTP, POP3, Telnet, TFTP, Finger
* Directory Poller (LGPL). Schaut in gegebenen Intervallen nach Ver�nderungen im Verzeichnis
* jpcap (Mozilla Public Licence). Fangen von TCP/IP Paketen
* cajo (LGPL). Kooperation zwischen mehreren virtuellen Maschinen
Sonstiges / Freeware
* Velocity (Apache). Kein Web-Framework, aber oft genutzte Template-Engine f�r Web-Anwendungen
* BCEL (Apache), ASM (BSD), Javassist (MPL und LGPL). Generieren von Bytecode zur Laufzeit
* cglib. Nutzt generierten Bytecode f�r Proxies und Weiteres
* Log4j (Apache). Logging
* Quartz (BSD-�hnlich). Job scheduling system
* Jawin (Propriet�r). Aufrufen von COM-Komponenten. Somit ist zum Beispiel eine Steuerung von MS-Office m�glich
* Jad 1.5.8e. Ein Java Decompiler. Nicht Quelloffen! Ein visuelles Frontend ist etwa FrontEnd Plus. (Jad ist hier integriert.)
* LimSee2 (Propriet�r) Ein SMIL 2.0 Authoring-Tool
* ROXES ANT Tasks (GPL). Erweiterte Tasks f�r Ant, um etwa auf die Windows Registry zuzugreifen
* Radeox (Apache). Wiki-Renderer
* Java Service Wrapper (Propriet�r). Java-Programme als Windows-Services oder Unix Daemon ausf�hren
Links
* freshmeat.net
* SourceForge.net
* BerliOS - The Open Source Mediator
* Java-Source.net
Saturday, November 12, 2005
Thursday, November 10, 2005
Friday, November 04, 2005
Monday, October 31, 2005
JBoss - Java Application Server
JBoss - Java Application Server: "The jboss.bind.addres is set from the --host option as described in the 3.2.2 version of the docs | [starksm@(protected) bin]$ run.sh -h | ... | | usage run.sh [options] | | opti"
Saturday, October 29, 2005
Tuesday, October 25, 2005
Saturday, October 22, 2005
Wednesday, October 19, 2005
Saturday, October 15, 2005
XStream - About XStream
XStream - About XStream: "About XStream
XStream is a simple library to serialize objects to XML and back again.
Features
* Ease of use. A high level facade is supplied that simplifies common use cases.
* No mappings required. Most objects can be serialized without need for specifying mappings.
* Performance. Speed and low memory footprint are a crucial part of the design, making it suitable for large object graphs or systems with high message throughput.
* Clean XML. No information is duplicated that can be obtained via reflection. This results in XML that is easier to read for humans and more compact than native Java serialization.
* Requires no modifications to objects. Serializes internal fields, including private and final. Supports non-public and inner classes. Classes are not required to have default constructor.
* Full object graph support. Duplicate references encountered in the object-model will be maintained. Supports circular references.
* Integrates with other XML APIs. By implementing an interface, XStream can serialize directly to/from any tree structure (not just XML).
* Customizable conversion stategies. Strategies can be registered allowing customization of how particular types are represented as XML.
* Error messages. When an exception occurs due to malformed XML, detailed diagnostics are provided to help isolate and fix the problem."
XStream is a simple library to serialize objects to XML and back again.
Features
* Ease of use. A high level facade is supplied that simplifies common use cases.
* No mappings required. Most objects can be serialized without need for specifying mappings.
* Performance. Speed and low memory footprint are a crucial part of the design, making it suitable for large object graphs or systems with high message throughput.
* Clean XML. No information is duplicated that can be obtained via reflection. This results in XML that is easier to read for humans and more compact than native Java serialization.
* Requires no modifications to objects. Serializes internal fields, including private and final. Supports non-public and inner classes. Classes are not required to have default constructor.
* Full object graph support. Duplicate references encountered in the object-model will be maintained. Supports circular references.
* Integrates with other XML APIs. By implementing an interface, XStream can serialize directly to/from any tree structure (not just XML).
* Customizable conversion stategies. Strategies can be registered allowing customization of how particular types are represented as XML.
* Error messages. When an exception occurs due to malformed XML, detailed diagnostics are provided to help isolate and fix the problem."
Monday, October 10, 2005
Sunday, October 02, 2005
Thursday, September 29, 2005
Springframework.org
Springframework.org
Welcome to the home of the Spring Framework. As the leading full-stack Java/J2EE application framework, Spring delivers significant benefits for many projects, reducing development effort and costs while improving test coverage and quality.
Welcome to the home of the Spring Framework. As the leading full-stack Java/J2EE application framework, Spring delivers significant benefits for many projects, reducing development effort and costs while improving test coverage and quality.
Monday, September 26, 2005
Friday, September 23, 2005
Thursday, September 22, 2005
Wednesday, September 21, 2005
Sunday, September 11, 2005
Sunday, August 21, 2005
Saturday, August 20, 2005
Monday, August 15, 2005
Saturday, August 13, 2005
Wednesday, July 27, 2005
Friday, July 08, 2005
Monday, July 04, 2005
Friday, July 01, 2005
Thursday, June 30, 2005
Roadmap - The Apache Struts Web Application Framework
Roadmap - The Apache Struts Web Application Framework: "# Transparent support for a portlet environment (JSR 168), with minimal-to-no changes in your business logic and pages.
# Direct support for JSTL/JSF taglibs and the JSF API"
# Direct support for JSTL/JSF taglibs and the JSF API"
Monday, June 27, 2005
Saturday, June 25, 2005
Thursday, June 23, 2005
Thursday, June 16, 2005
jGuru: How do I ensure that my servlet is thread-safe?
jGuru: How do I ensure that my servlet is thread-safe?: "Re: How local data in servlet is syncronized
Steve Xu, Aug 9, 2003
don't confuse the instance variable with the local variable inside service method. instance variable: allocated at the object level, needs to be synchronized. local variable: allocated on the stack of the calling thread, does not need to be synchronized.
"
Steve Xu, Aug 9, 2003
don't confuse the instance variable with the local variable inside service method. instance variable: allocated at the object level, needs to be synchronized. local variable: allocated on the stack of the calling thread, does not need to be synchronized.
"
jGuru: What is the meaning of calling a method or object thread-safe?
jGuru: What is the meaning of calling a method or object thread-safe?: "Answer
Basically, calling a method 'thread-safe' means that even if multiple threads try to access it simultaneously, nothing bad happens. Here 'bad' usually means that due to race conditions, or deadlock, or other pitfalls, the object's state gets corrupted, or its methods produce unreliable results. A method usually acheives thread-safety by protecting access to shared resources. This usually translates to using the Java synchronized keyword to protect blocks of code that access instance variables, or other shared variables.
For an object to be thread-safe, it must be possible for multiple threads to simultaneously access the same method, or multiple methods, in that object. Usually this is acheived by assuring that each method is thread-safe, but this doesn't always suffice, since methods can call each other in strange ways, leading to deadlock and other weirdness.
It is very difficult to prove that an object is thread-safe. The main rule of thumb for making thread-safe objects is, 'Make all the instance variables private, and all the public accessor methods synchronized.' However, this is sometimes difficult to achieve in practice, due to exigencies of performance, architecture, or implementation.
Accurate multithreaded programming is a true art, and very difficult to master. Read 'Java Threads' by Oaks and Wong, and 'Concurrent Programming in Java' by Lea, for inspiration in your quest to become a thread-safe programmer. "
Basically, calling a method 'thread-safe' means that even if multiple threads try to access it simultaneously, nothing bad happens. Here 'bad' usually means that due to race conditions, or deadlock, or other pitfalls, the object's state gets corrupted, or its methods produce unreliable results. A method usually acheives thread-safety by protecting access to shared resources. This usually translates to using the Java synchronized keyword to protect blocks of code that access instance variables, or other shared variables.
For an object to be thread-safe, it must be possible for multiple threads to simultaneously access the same method, or multiple methods, in that object. Usually this is acheived by assuring that each method is thread-safe, but this doesn't always suffice, since methods can call each other in strange ways, leading to deadlock and other weirdness.
It is very difficult to prove that an object is thread-safe. The main rule of thumb for making thread-safe objects is, 'Make all the instance variables private, and all the public accessor methods synchronized.' However, this is sometimes difficult to achieve in practice, due to exigencies of performance, architecture, or implementation.
Accurate multithreaded programming is a true art, and very difficult to master. Read 'Java Threads' by Oaks and Wong, and 'Concurrent Programming in Java' by Lea, for inspiration in your quest to become a thread-safe programmer. "
Friday, June 10, 2005
Thursday, June 09, 2005
Tuesday, June 07, 2005
Monday, June 06, 2005
Using RMI over SSL authentication for application-level access control
Using RMI over SSL authentication for application-level access control
Sun provides support for running RMI over SSL in its Java2 platforms using a custom RMISocketFactory. In cases when applications need to provide their own fine-grained access control, it is useful to obtain access to the Java security principal (java.security.Principal) that was SSL authenticated.
The Java2 SSLSocket class provides a getSession() method which can be used to obtain the SSL principal who was authenticated. Unfortunately, by the time the RMI server method is invoked, the socket used to read the remote invocation parameters has been hidden by the RMI implementation.
Sun provides support for running RMI over SSL in its Java2 platforms using a custom RMISocketFactory. In cases when applications need to provide their own fine-grained access control, it is useful to obtain access to the Java security principal (java.security.Principal) that was SSL authenticated.
The Java2 SSLSocket class provides a getSession() method which can be used to obtain the SSL principal who was authenticated. Unfortunately, by the time the RMI server method is invoked, the socket used to read the remote invocation parameters has been hidden by the RMI implementation.
JGloss-WWW
JGloss-WWW
JGloss-WWW is a Java servlet which proxies web content. Words in a Japanese HTML document are annotated on the fly with their readings and translations. These annotations are shown as pop-ups when the user moves the mouse over a word using JavaScript (currently only Mozilla is supported).
JGloss-WWW is a Java servlet which proxies web content. Words in a Japanese HTML document are annotated on the fly with their readings and translations. These annotations are shown as pop-ups when the user moves the mouse over a word using JavaScript (currently only Mozilla is supported).
Sunday, May 29, 2005
Thursday, May 26, 2005
Saturday, May 14, 2005
Thursday, May 12, 2005
Sunday, May 08, 2005
Thursday, May 05, 2005
Wednesday, May 04, 2005
TheServerSide.com - Container Driven Testing: Advanced EJB Testing with OpenEJB - Part 2: Testing Entity Beans
TheServerSide.com - Container Driven Testing: Advanced EJB Testing with OpenEJB - Part 2: Testing Entity Beans: "Secrets of Entity Bean Testing
Entity Beans have a whole basket of special considerations which must be factored into your testing strategy. Unit testing Entity Beans is not a well-established art, and there are some techniques and trivia that will save you time and frustration as you get started. For the remainder of this section we're going to cover the following three topics:
* Testing Against a Database
* Mandatory Tests for Entity Beans (CRUD Operations)
* How to Test Transaction Integrity & Rollback"
Entity Beans have a whole basket of special considerations which must be factored into your testing strategy. Unit testing Entity Beans is not a well-established art, and there are some techniques and trivia that will save you time and frustration as you get started. For the remainder of this section we're going to cover the following three topics:
* Testing Against a Database
* Mandatory Tests for Entity Beans (CRUD Operations)
* How to Test Transaction Integrity & Rollback"
OpenEJB -- Welcome
OpenEJB -- Welcome: "OpenEJB is an open source, modular, configurable, and extendable EJB Container System and EJB Server."
GroboUtils - Using Multi-Threaded Tests
GroboUtils - Using Multi-Threaded Tests
The GroboUtils class MultiThreadedTestRunner was based on the article "JUnit Best Practices" by Andy Schneider (andrew.schneider@javaworld.com), published online at http://www.javaworld.com/javaworld/jw-12-2000/jw-1221-junit_p.html. Since GroboUtils first started using that implementation, many changes have occured in the code to make a more robust and stable testing environment. Due to these changes, the use of the class will be fully described in this document.
The GroboUtils class MultiThreadedTestRunner was based on the article "JUnit Best Practices" by Andy Schneider (andrew.schneider@javaworld.com), published online at http://www.javaworld.com/javaworld/jw-12-2000/jw-1221-junit_p.html. Since GroboUtils first started using that implementation, many changes have occured in the code to make a more robust and stable testing environment. Due to these changes, the use of the class will be fully described in this document.
Tuesday, May 03, 2005
Subscribe to:
Posts (Atom)