jNotes: "jNotes is an application for personal information management. With jNotes, you can edit the diaries, schedule events and plan your personal projects.
Main features of jNotes:
* Calendar-based user interface for navigation through the date items
* Easy-to-use text editor for diary notes editing
* Support for the numerous collections of the notes (aka 'books')
* Scheduling the events with reminding in a time
* Lightweight ('minimal') alternative start mode for enabling the event notifications in background
* Scheduling the to-do tasks, grouped in the numerous project workflows
* Calculation of the projects execution progress
* Automatic background saving of the all data changes
* Publishing the notes in the various formats (with pluggable export filters)
* XML is the native format of the jNotes data
* Full I18N support. The program can be localized without a rebuilding the source code."
Saturday, March 18, 2006
Tuesday, March 14, 2006
Tobago
Tobago: "The goal of Tobago is to provide the community with a well designed set of user interface components based on JSF and run on MyFaces.
Tobago is more than just a tag library. The following statements characterize Tobago and make it different from other frameworks:
* The focus of Tobago is to create business applications without the need for HTML design. The development of Tobago pages follows more the development of conventional user interfaces than the creation of web pages.
* The UI components are abstracted from HTML and any layout information that does not belong to the general page structure. The final output format is determined by the client/user-agent.
* A theming mechanism makes it easy to change the look and feel and to provide special implementations for certain browsers. A fallback solution ensures that as much code is reused for new themes as possible.
* A layout manager is used to arrange the components automatically. This means, no manual layouting with HTML tables or other constructs is needed.
The development of Tobago started in 2002."
Tobago is more than just a tag library. The following statements characterize Tobago and make it different from other frameworks:
* The focus of Tobago is to create business applications without the need for HTML design. The development of Tobago pages follows more the development of conventional user interfaces than the creation of web pages.
* The UI components are abstracted from HTML and any layout information that does not belong to the general page structure. The final output format is determined by the client/user-agent.
* A theming mechanism makes it easy to change the look and feel and to provide special implementations for certain browsers. A fallback solution ensures that as much code is reused for new themes as possible.
* A layout manager is used to arrange the components automatically. This means, no manual layouting with HTML tables or other constructs is needed.
The development of Tobago started in 2002."
Monday, March 13, 2006
Multithreaded Job Queue - The Code Project - Threads, Processes & IPC
Multithreaded Job Queue - The Code Project - Threads, Processes & IPC: "In many of our applications we just want to get some thing done asynchronously. This is where some times we prefer to use job queue. Where we can just assign or add a job to the job queue and then it is the job queue's responsibilities to complete the job. This gives the flexibility to the main thread to concentrate on some thing else where the jobs can be processed at the background. If the job queue can be multithreaded and can process multiple jobs at the same time, it is better.
This article describes such an implementation of job queue. This implementation has the following features :
* The job queue is multi threaded, so many jobs can be processed simultaneously. The job queue uses a pool of threads to execute the jobs.
* The job queue supports priorities. The jobs with high priority will be added before the jobs with lower priority, in the queue. So they will be processed before other lower priority jobs.
* The job queue can be paused, so that no new job can be processed from the time of pause. But the user still can add jobs to the queue. The jobs will be processed once the user choose to resume the job queue.
* The number of threads that will be used by the job queue to process the jobs can be increased or decreased at run time.
Background"
This article describes such an implementation of job queue. This implementation has the following features :
* The job queue is multi threaded, so many jobs can be processed simultaneously. The job queue uses a pool of threads to execute the jobs.
* The job queue supports priorities. The jobs with high priority will be added before the jobs with lower priority, in the queue. So they will be processed before other lower priority jobs.
* The job queue can be paused, so that no new job can be processed from the time of pause. But the user still can add jobs to the queue. The jobs will be processed once the user choose to resume the job queue.
* The number of threads that will be used by the job queue to process the jobs can be increased or decreased at run time.
Background"
Friday, March 03, 2006
spawn JVM via RMI
Creating an Activatable Remote Object: "The RMI daemon, rmid, provides a Java virtual machine* (JVM) from which other JVM instances may be spawned."
This technique can be used to implement fail-over scenarios. Using the rmid to spawn a JVM you have to keep in mind that, if you are using just ONE rmid, this would be single point of failure (SPOF)!
Another possibility to start a NEW JVM is to use the classes provided in the ANT framework. If you have a look to the source code of the Ant Task and trace back to the point where a new JVM is startet you will find the class Execute, with which it is possible to start a completly new JVM (FORK).
This technique can be used to implement fail-over scenarios. Using the rmid to spawn a JVM you have to keep in mind that, if you are using just ONE rmid, this would be single point of failure (SPOF)!
Another possibility to start a NEW JVM is to use the classes provided in the ANT framework. If you have a look to the source code of the
Tuesday, February 28, 2006
FProfiler - the fast alterantive
FProfiler - the fast alterantive: "FProfiler is a very fast profiler for Java. It uses BCEL and log4j to log every methodstart and -end. FProfiler can be used to find hotspots in your Java Applications, Servlets, Applets... - whatever."
Sunday, February 19, 2006
HA-JDBC: High-Availability JDBC
HA-JDBC: High-Availability JDBC: "HA-JDBC is a JDBC driver proxy that provides light-weight, transparent, fault tolerant clustering capability to any underlying JDBC driver."
Friday, February 17, 2006
EMMA: a free Java code coverage tool
EMMA: a free Java code coverage tool: "EMMA: a free Java code coverage tool
Code coverage for free: a basic freedom?
Until recently, the world of Java development had been plagued by an absurd discrepancy: Java developers had excellent free IDEs, free compilers, free test frameworks but had to rely on code coverage tools that charged an arm and a leg in license fees. As a Java pro, I would like to use the same free coverage tool regardless of whether it is a massive commercial project at work or a small fun project at home. I've created EMMA to be that tool.
EMMA is an open-source toolkit for measuring and reporting Java code coverage. EMMA distinguishes itself from other tools by going after a unique feature combination: support for large-scale enterprise software development while keeping individual developer's work fast and iterative. Every developer on your team can now get code coverage for free and they can get it fast!
Chances are, you've come here already knowing what coverage is all about and are, in fact, wondering what EMMA offers and why it is worth checking out. Explore the rest of this site to see why."
Code coverage for free: a basic freedom?
Until recently, the world of Java development had been plagued by an absurd discrepancy: Java developers had excellent free IDEs, free compilers, free test frameworks but had to rely on code coverage tools that charged an arm and a leg in license fees. As a Java pro, I would like to use the same free coverage tool regardless of whether it is a massive commercial project at work or a small fun project at home. I've created EMMA to be that tool.
EMMA is an open-source toolkit for measuring and reporting Java code coverage. EMMA distinguishes itself from other tools by going after a unique feature combination: support for large-scale enterprise software development while keeping individual developer's work fast and iterative. Every developer on your team can now get code coverage for free and they can get it fast!
Chances are, you've come here already knowing what coverage is all about and are, in fact, wondering what EMMA offers and why it is worth checking out. Explore the rest of this site to see why."
Monday, February 13, 2006
Sunday, February 12, 2006
EJB fundamentals and session beans
EJB fundamentals and session beans: "Summary
In this article, an excerpt from Beginning Java EE 5 (Apress, October 2005; ISBN: 1590594703), authors Jim Crume, Kevin Mukhar, James Weaver, and Chris Zelnak describe the benefits of using EJBs and focus specifically on how to develop a session bean. (5,500 words; February 13, 2006)"
In this article, an excerpt from Beginning Java EE 5 (Apress, October 2005; ISBN: 1590594703), authors Jim Crume, Kevin Mukhar, James Weaver, and Chris Zelnak describe the benefits of using EJBs and focus specifically on how to develop a session bean. (5,500 words; February 13, 2006)"
Friday, February 10, 2006
Home - jstripe.com
Home - jstripe.com: "Welcome to the home of Tomcat Probe. Tomcat Probe is the ultimate tool to manage and monitor your Tomcat instance. Lightweight web user interface, killer features, no-fuss installation and weekly updates. Tomcat Probe gives you total control over live Tomcat instances and applications. For more information please visit the overview section."
OSWorkflow - OSWorkflow Overview
OSWorkflow - OSWorkflow Overview: "OSWorkflow is fairly different from most other workflow systems available, both commercially and in the open source world. What makes OSWorkflow different is that it is extremely flexible. This can be hard to grasp at first, however. For example, OSWorkflow does not mandate a graphical tool for developing workflows, and the recommended approach is to write the xml workflow descriptors 'by hand'. It is up to the application developer to provide this sort of integration, as well as any integration with existing code and databases. These may seem like problems to someone who is looking for a quick 'plug-and-play' workflow solution, but we've found that such a solution never provides enough flexibility to properly fulfill all requirements in a full-blown application."
Friday, February 03, 2006
jarjarclassloader: Home
jarjarclassloader: Home: "The JarJarClassLoader is a program I've wrote to clean up application deployments. The main idea is to be able to include third party JAR files inside a main JAR file instead of having them floating around in the users file system. So far this class loader works well but I'm looking for testing, input, and help from the community to make it, less britile, faster. I'd also love to hear from folks if they find this useful."
JUnit PDF Report
JUnit PDF Report: "The project generates a PDF report from JUnit test results.
It uses Apache Ant to execute the generation, and Apache FOP to render the PDF document.
The project is hosted on SourceForge.net."
It uses Apache Ant to execute the generation, and Apache FOP to render the PDF document.
The project is hosted on SourceForge.net."
Tuesday, January 31, 2006
Coldbeans Software - your store for web components
Coldbeans Software - your store for web components
1. Calendar-servletWAP/WML Live demo
2. ForumWAP/WML Live demo
3. NewsWAP/WML Live demo
4. wwwboardWAP/WML Live demo
5. MessageBoardWAP/WML Live demo
6. ChatServletWAP/WML Live demo
7. Co-browse Servlet
8. Community ServletWAP/WML
9. WebPop-servlet
10. WebMail-servlet
11. MailBoard-servlet
From our users: "Must commend you on a fantastic suite of servets etc.
Very very good."
12. Load balance
13. Protect servlets
14. HTTP proxy servlet
15. Error message servlet
16. File manager
17. ArcManager-servlet
18. ShellServletWAP/WML
19. WAPpingWAP/WML
20. WebTestWAP/WML
21. WAPHeadWAP/WML
From our users: "awesome support and awesome servlets!"
22. Mbox-servlet
23. WebLog-servlet Live demo
24. Slide servlet Live demo
25. TreeView-servlet
26. Classifieds
27. Portal servlet
1. Calendar-servletWAP/WML Live demo
2. ForumWAP/WML Live demo
3. NewsWAP/WML Live demo
4. wwwboardWAP/WML Live demo
5. MessageBoardWAP/WML Live demo
6. ChatServletWAP/WML Live demo
7. Co-browse Servlet
8. Community ServletWAP/WML
9. WebPop-servlet
10. WebMail-servlet
11. MailBoard-servlet
From our users: "Must commend you on a fantastic suite of servets etc.
Very very good."
12. Load balance
13. Protect servlets
14. HTTP proxy servlet
15. Error message servlet
16. File manager
17. ArcManager-servlet
18. ShellServletWAP/WML
19. WAPpingWAP/WML
20. WebTestWAP/WML
21. WAPHeadWAP/WML
From our users: "awesome support and awesome servlets!"
22. Mbox-servlet
23. WebLog-servlet Live demo
24. Slide servlet Live demo
25. TreeView-servlet
26. Classifieds
27. Portal servlet
Saturday, January 21, 2006
Thursday, January 19, 2006
AgileTrack - Agile/Extreme Programming Iteration and Task Tracking Tool
AgileTrack - Agile/Extreme Programming Iteration and Task Tracking Tool: "AgileTrack is an open-source Java based application for tracking software development in agile development or extreme programming (XP) teams. It includes support for managing stories and other issues, sub-tasks, tracking time, managing multiple projects, planning iterations, and providing iteration reports. It provides a unique interface that is simple to use and allows software developers to have task information always at their fingertips."
Tuesday, January 17, 2006
subclipse.tigris.org
subclipse.tigris.org
There are three projects hosted on this site:
* Subclipse is an Eclipse plugin that adds Subversion integration to the Eclipse IDE. Subclipse is licensed under the terms of the Common Public License (CPL) 1.0.
* svnClientAdapter is a high-level Java API for Subversion and is used by Subclipse. svnClientAdapter is licensed under the terms of the Apache Software License 2.0
* svnAnt is an Ant task that uses svnClientAdapter and provides access to Subversion from Ant scripts. svnAnt is licensed under the terms of the Apache Software License 1.1
There are three projects hosted on this site:
* Subclipse is an Eclipse plugin that adds Subversion integration to the Eclipse IDE. Subclipse is licensed under the terms of the Common Public License (CPL) 1.0.
* svnClientAdapter is a high-level Java API for Subversion and is used by Subclipse. svnClientAdapter is licensed under the terms of the Apache Software License 2.0
* svnAnt is an Ant task that uses svnClientAdapter and provides access to Subversion from Ant scripts. svnAnt is licensed under the terms of the Apache Software License 1.1
AntDoc web site
AntDoc web site: "AnDoc is an automatic Ant script documentation generation, in the same spirit as the must JavaDoc. This documentation enables to directly execute Ant build files. AntDoc is an Ant task.
AntDoc has now a GUI named AntDocGUI, which is a well featured Ant target runner."
AntDoc has now a GUI named AntDocGUI, which is a well featured Ant target runner."
Monday, January 16, 2006
Active JMS
Active JMS: "Activating Java Message Services!
The Java Message Service 1.0.2 API has become the standard for MOM products large and small and its implementation ranges from expensive commercial products to freeware and even open source projects. As its name suggests, however, it only provides a standard Java API. This means that:
* There are no widely accepted standardized, non-Java, non-proprietary messaging APIs.
* Support for non-Java access to many JMS systems is very limited.
These two facts often present a problem for an organization, as they often need to have non-Java clients participate in a JMS network. Until now these organizations had few choices—they could use the JMS vendor’s proprietary ActiveX client (if the vendor offered one), or they could use a general purpose 3rd party Java-ActiveX integration tool. Neither of these solutions is ideal, however, because they are contrary to the ‘open’ nature of the JMS specification itself. You get tied down to a particular vender once again!
The Active JMS open source project was created to solve this problem by offering a freely available, non-proprietary, open source ActiveX JMS client API. With it, you can access a large majority of the JMS functionality without compromise."
The Java Message Service 1.0.2 API has become the standard for MOM products large and small and its implementation ranges from expensive commercial products to freeware and even open source projects. As its name suggests, however, it only provides a standard Java API. This means that:
* There are no widely accepted standardized, non-Java, non-proprietary messaging APIs.
* Support for non-Java access to many JMS systems is very limited.
These two facts often present a problem for an organization, as they often need to have non-Java clients participate in a JMS network. Until now these organizations had few choices—they could use the JMS vendor’s proprietary ActiveX client (if the vendor offered one), or they could use a general purpose 3rd party Java-ActiveX integration tool. Neither of these solutions is ideal, however, because they are contrary to the ‘open’ nature of the JMS specification itself. You get tied down to a particular vender once again!
The Active JMS open source project was created to solve this problem by offering a freely available, non-proprietary, open source ActiveX JMS client API. With it, you can access a large majority of the JMS functionality without compromise."
OpenJMS - OpenJMS
OpenJMS - OpenJMS: "OpenJMS is an open source implementation of Sun Microsystems's Java Message Service API 1.1 Specification
Features
* Point-to-Point and publish-subscribe messaging models
* Guaranteed delivery of messages
* Synchronous and asynchronous message delivery
* Persistence using JDBC
* Local transactions
* Message filtering using SQL92-like selectors
* Authentication
* Administration GUI
* XML-based configuration files
* In-memory and database garbage collection
* Automatic client disconnection detection
* Applet support
* Integrates with Servlet containers such as Jakarta Tomcat
* Support for TCP, RMI, HTTP and SSL protocol stacks
* Support for large numbers of destinations and subscribers"
Features
* Point-to-Point and publish-subscribe messaging models
* Guaranteed delivery of messages
* Synchronous and asynchronous message delivery
* Persistence using JDBC
* Local transactions
* Message filtering using SQL92-like selectors
* Authentication
* Administration GUI
* XML-based configuration files
* In-memory and database garbage collection
* Automatic client disconnection detection
* Applet support
* Integrates with Servlet containers such as Jakarta Tomcat
* Support for TCP, RMI, HTTP and SSL protocol stacks
* Support for large numbers of destinations and subscribers"
Thursday, January 12, 2006
jManage - Web and Command Line Based JMX Client
jManage - Web and Command Line Based JMX Client: "jManage is a open source, web and command-line based JMX client, which provides a centralized console for managing application clusters and distributed-application environments. jManage goes beyond an ordinary JMX client by providing features like Alerts, Graphs, Security, SNMP support, etc. The jManage mission is to provide an open source management platform, which can be used to manage and monitor complete production environment.
jManage is successfully being used by various companies, in Development, QA, Staging and Production environments. It is very easy to setup jManage. Download now and get started. "
jManage is successfully being used by various companies, in Development, QA, Staging and Production environments. It is very easy to setup jManage. Download now and get started. "
JMX4Ant
JMX4Ant
Welcome to the JMX4Ant. JMX4Ant is a set of optional Ant tasks that allows interactions with JMX MBeans.
Like many other programmers, I find Ant to be an extremely handy tool to use in automating away the daily drudgery of routine development tasks. In J2EE development, one kind of drudgery that I have a special dislike for is the creation and management of J2EE resources that my applications depend upon.
My motivation therefore was to provide tasks for J2EE resource creation and management from Ant that I use to build/deploy application. (e.g. create my JDBC pool and JMS queues/topics before I deploy my entity and message driven beans...), but the tasks are general enough for much broader use (i.e. general purpose J2EE server and application administration).
If you have questions, comments, or suggestions for improvements please feel free to contact me directly, or post to one of the JMX4Ant lists on Sourceforge.
Version 1.2 of JMX4Ant contains a number of important new features and some bug fixes as well. One of the most requested enhancements for JMX4Ant that is now part of v1.2 is support for WebLogic's Targets property, and addTarget method. This enhancement allows JMX4Ant to deploy and undeploy the resources that are created to a particular target server. For more information on v1.2 features, refer to the Change History section of this document.
Welcome to the JMX4Ant. JMX4Ant is a set of optional Ant tasks that allows interactions with JMX MBeans.
Like many other programmers, I find Ant to be an extremely handy tool to use in automating away the daily drudgery of routine development tasks. In J2EE development, one kind of drudgery that I have a special dislike for is the creation and management of J2EE resources that my applications depend upon.
My motivation therefore was to provide tasks for J2EE resource creation and management from Ant that I use to build/deploy application. (e.g. create my JDBC pool and JMS queues/topics before I deploy my entity and message driven beans...), but the tasks are general enough for much broader use (i.e. general purpose J2EE server and application administration).
If you have questions, comments, or suggestions for improvements please feel free to contact me directly, or post to one of the JMX4Ant lists on Sourceforge.
Version 1.2 of JMX4Ant contains a number of important new features and some bug fixes as well. One of the most requested enhancements for JMX4Ant that is now part of v1.2 is support for WebLogic's Targets property, and addTarget method. This enhancement allows JMX4Ant to deploy and undeploy the resources that are created to a particular target server. For more information on v1.2 features, refer to the Change History section of this document.
jvmstat
jvmstat: "The jvmstat technology adds light weight performance and configuration instrumentation to the HotSpot JVM and provides a set of monitoring APIs and tools for monitoring the performance of the HotSpot JVM in production environments. The instrumentation is designed such that it is 'always on', yet has negligible performance impact. The monitoring interfaces added to the HotSpot JVM are proprietary and may or may not be supported in future versions of the HotSpot JVM.
* Introduction
* HotSpot™ Monitoring Tools and Utilities
* Download
* Installation
* Instrumentation
* Support (including the jvmstat FAQ)"
* Introduction
* HotSpot™ Monitoring Tools and Utilities
* Download
* Installation
* Instrumentation
* Support (including the jvmstat FAQ)"
The JTR Java Test Runner Project
The JTR Java Test Runner Project: "JTR, acronym for Java Test Runner, is a Java framework that helps developers in building stress test suites. JTR has been devised with some targets in mind:
*
ease of use
*
extendability
*
high configurability
*
modularity
*
rapid development
*
providing J2EE developers with those facilities they usually need
*
ready to use logging facilities
*
Inversion of Control: let the JTR framework inject runtime properties into your runners
*
complete control of the exceptions potentially raised during your test runs
I decided to start devising & coding JTR since I was looking for a framework that could have helped me in building a complex J2EE test environment. The need came out one day at work: I had to stress test a J2EE application and after looking around for suitable testing frameworks I simply decided to start out writing my own one. This approach does not means the JTR framework either is or will be closed with respect to other testing frameworks. Infact it is my firm willing to integrate it with the most popular ones out there nowadays in the next future.
More information covering the most interesting details of the aims sketched above is provided in the reminder of this document (Project Details)."
*
ease of use
*
extendability
*
high configurability
*
modularity
*
rapid development
*
providing J2EE developers with those facilities they usually need
*
ready to use logging facilities
*
Inversion of Control: let the JTR framework inject runtime properties into your runners
*
complete control of the exceptions potentially raised during your test runs
I decided to start devising & coding JTR since I was looking for a framework that could have helped me in building a complex J2EE test environment. The need came out one day at work: I had to stress test a J2EE application and after looking around for suitable testing frameworks I simply decided to start out writing my own one. This approach does not means the JTR framework either is or will be closed with respect to other testing frameworks. Infact it is my firm willing to integrate it with the most popular ones out there nowadays in the next future.
More information covering the most interesting details of the aims sketched above is provided in the reminder of this document (Project Details)."
Tuesday, January 10, 2006
Quartz - Quartz Overview
Quartz - Quartz Overview: "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 freely usable, licensed under the Apache 2.0 license."
Monday, January 09, 2006
dbdoclet Homepage
dbdoclet Homepage: "The DocBook Doclet (dbdoclet) creates DocBook code from Java source documentation. It is helpful, if you want to print reference handbooks of your API. The program can be used as javadoc doclet or as standalone application. The standalone application can be used as a converter to transform HTML documents to DocBook documents. Additionally DocBookDoclet comes with a Swing application called dbdoclet.TiDBit, which helps you to manage your documentation projects and to create PDF files."
XStream - About XStream
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."
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."
ClassEncrypt Software
ClassEncrypt Software: "ClassEncrypt is a program that can encrypt a developer's class files to prevent malicious users from stealing the source code. The program uses a modular design to allow the developer to create different encryption modules for the program to use. This software does not prevent the developer's software from being pirated.
The software comes with a default module that encrypts and decrypts using the Blowfish algorithm that was created by Bruce Schneier. This software is meant to be a barrier of protection for Java developers who want to market their software. It is not at all foolproof since the software enables the encrypted class files to still run using the regular JVM. It does, however, slow down any reverse engineering that someone may try on the developer's software."
The software comes with a default module that encrypts and decrypts using the Blowfish algorithm that was created by Bruce Schneier. This software is meant to be a barrier of protection for Java developers who want to market their software. It is not at all foolproof since the software enables the encrypted class files to still run using the regular JVM. It does, however, slow down any reverse engineering that someone may try on the developer's software."
Sunday, January 08, 2006
jcoverage
jcoverage
At jcoverage we are about productivity. Our suite of tools and technologies aim to reduce the 'code - test - diagnose - fix' cycle.
If you are using code coverage tools, you are also writing tests. We believe that you can improve your test development productivity at the same time.
Once you have coded, your tests and coverage analysis should run quickly so you can check outcomes and deliver changes as required from test feedback. It should also be able to easily test units in isolation rather than testing system as a whole.
You can start by downloading jcoverage/gpl, our free code coverage tool. Get started and see how much of your code is being covered by tests.
Once you have seen what our free coverage tool can do for you, why not use the fully supported jcoverage commercial edition.
Where your testing is less than adequate, you can improve your test quality and coverage through the use of our mock object technologies, included in our flagship product jcoverage+.
jcoverage+ includes our standard jcoverage technologies and introduces more rigour and finer granularity to your testing, allowing you to simulate and test for scenarios that otherwise would be impossible to test automatically.
At jcoverage we are about productivity. Our suite of tools and technologies aim to reduce the 'code - test - diagnose - fix' cycle.
If you are using code coverage tools, you are also writing tests. We believe that you can improve your test development productivity at the same time.
Once you have coded, your tests and coverage analysis should run quickly so you can check outcomes and deliver changes as required from test feedback. It should also be able to easily test units in isolation rather than testing system as a whole.
You can start by downloading jcoverage/gpl, our free code coverage tool. Get started and see how much of your code is being covered by tests.
Once you have seen what our free coverage tool can do for you, why not use the fully supported jcoverage commercial edition.
Where your testing is less than adequate, you can improve your test quality and coverage through the use of our mock object technologies, included in our flagship product jcoverage+.
jcoverage+ includes our standard jcoverage technologies and introduces more rigour and finer granularity to your testing, allowing you to simulate and test for scenarios that otherwise would be impossible to test automatically.
Enterprise Java Community: The Power of JAAS: Security System Alternatives
Enterprise Java Community: The Power of JAAS: Security System Alternatives
Purpose
I attended the CIO Forum a several months ago and sat in on a presentation on Identity Management, which is considered by C-level executives one of the hot technologies. From a C-level executive’s perspective, this presentation falls generally under the domain of Identity Management. At the Forum, the speaker briefly discussed RBAC (Role Base Access Control) and anecdotally mentioned that it is a “hard nut to crack.”
This article is an extension of a recent article I published on TheServerSide.com, Exploring J2EE Security for Applications using LDAP. That article identified key interfaces within a J2EE compliant application server that need to be configured in order to build secure applications focusing on RBAC, which is an integral part of Identity Management.
However, the article did not discuss, in detail, alternatives to using LDAP directly for Java Authentication and Authorization Service (JAAS) security, such as a Trust Association, one of the more popular system alternatives. Essentially, the power of JAAS is in its ability to use almost any underlying security system. One of those approaches is to use a Trust Association Interceptor (TAI) instead of direct LDAP access.
Purpose
I attended the CIO Forum a several months ago and sat in on a presentation on Identity Management, which is considered by C-level executives one of the hot technologies. From a C-level executive’s perspective, this presentation falls generally under the domain of Identity Management. At the Forum, the speaker briefly discussed RBAC (Role Base Access Control) and anecdotally mentioned that it is a “hard nut to crack.”
This article is an extension of a recent article I published on TheServerSide.com, Exploring J2EE Security for Applications using LDAP. That article identified key interfaces within a J2EE compliant application server that need to be configured in order to build secure applications focusing on RBAC, which is an integral part of Identity Management.
However, the article did not discuss, in detail, alternatives to using LDAP directly for Java Authentication and Authorization Service (JAAS) security, such as a Trust Association, one of the more popular system alternatives. Essentially, the power of JAAS is in its ability to use almost any underlying security system. One of those approaches is to use a Trust Association Interceptor (TAI) instead of direct LDAP access.
Eclipse BIRT Home
Eclipse BIRT Home: "BIRT is an open source, Eclipse-based reporting system that integrates with your application to produce compelling reports for both web and PDF.
BIRT provides core reporting features such as report layout, data access and scripting. The current released version is 1.0.1. Please try BIRT and tell us what you think by filling bugs reports & enhancement requests through Bugzilla as explained on the community page."
BIRT provides core reporting features such as report layout, data access and scripting. The current released version is 1.0.1. Please try BIRT and tell us what you think by filling bugs reports & enhancement requests through Bugzilla as explained on the community page."
Saturday, January 07, 2006
aisland: Home
aisland: Home: "AIsland's goal is to provide a framework to build and distribute agents.
The framework exposes objects (graphic module, audio module, neural network, fuzzy logic ...)
to an agent developer, who can glue these modules together using a scripting language, initally JavaScript.
Mobile Agents travel between different AIslands. If an Agent requests a module unknown to an AIsland,
the platform will ask the user for permission to load code from another peer. AIslands can persist trust relationships.
The inital version builds on Java and fat clients, facilitating a Java Swing GUI and a BSF/ Rhino engine,
to script against modules sitting on an JMX component bus hosted by an Avalon based micro kernel.
A port to small devices (J2ME - Java phones) is a future option.
An Agent is represented by an XML document and is distributed as a JXTA Codat.
Agents contain script code, which is interpreted by an AIsland (a JXTA peer) in a secure manner.
Host file systems are protected against malicious agents.
Agents and AIslands communicate using JXTA.
Network access through proxies for HTTP (SOAP) and SMTP is supported as well."
The framework exposes objects (graphic module, audio module, neural network, fuzzy logic ...)
to an agent developer, who can glue these modules together using a scripting language, initally JavaScript.
Mobile Agents travel between different AIslands. If an Agent requests a module unknown to an AIsland,
the platform will ask the user for permission to load code from another peer. AIslands can persist trust relationships.
The inital version builds on Java and fat clients, facilitating a Java Swing GUI and a BSF/ Rhino engine,
to script against modules sitting on an JMX component bus hosted by an Avalon based micro kernel.
A port to small devices (J2ME - Java phones) is a future option.
An Agent is represented by an XML document and is distributed as a JXTA Codat.
Agents contain script code, which is interpreted by an AIsland (a JXTA peer) in a secure manner.
Host file systems are protected against malicious agents.
Agents and AIslands communicate using JXTA.
Network access through proxies for HTTP (SOAP) and SMTP is supported as well."
Hive
Hive: "Hive is a Java software platform for creating distributed applications. Using Hive, programmers can easily create systems that connect and use data from all over the Internet. At its heart, Hive is an environment for distributed agents to live, communicating and moving to fulfill applications. We are trying to make the Internet alive."
AJANTA: Home Page
AJANTA: Home Page: "A software agent is a program that works on behalf of a human user. A mobile agent has the added ability to travel autonomously (under its own control) from machine to machine on a network. Ajanta is a mobile agent programming system being developed at the University of Minnesota. It allows agents written in Java to securely migrate from machine to machine on the Internet. The Ajanta project is aimed at building an infrastructure for mobile agent execution that incorporates security and robustness features as an integral part of the design. The system is being implemented using Java."
An introduction to agents
An introduction to agents: "Summary
Agents draw on and integrate many diverse disciplines of computer science, and although agent technology has not yet hit prime time, it is gathering its share of investment money. Find out what all the uproar is about in this month's column, which examines agents -- what they are and what problems they solve. Columnist Todd Sundsted also shows you how to lay the foundation for a simple agent architecture in Java, which you'll develop in upcoming installments of How-To Java. (2,200 words)"
Agents draw on and integrate many diverse disciplines of computer science, and although agent technology has not yet hit prime time, it is gathering its share of investment money. Find out what all the uproar is about in this month's column, which examines agents -- what they are and what problems they solve. Columnist Todd Sundsted also shows you how to lay the foundation for a simple agent architecture in Java, which you'll develop in upcoming installments of How-To Java. (2,200 words)"
Wednesday, January 04, 2006
MindTunnel - A java implementation of an SSHD
MindTunnel - A java implementation of an SSHD: "MindTunnel v0.96
MindTunnel, release 0.96 - Dec 06, 1998
MindTunnel is an entirely FREE(*) SSH (currently v1.5) server program
written in pure Java. It was implemented for fun (or for completeness
of the mindbright ssh-package :-) and is not intended to be a
replacement for 'the real thing'. However, it can be used as a minimal
sshd, supporting only tunneling (i.e. port-forwarding). It has
RSA-authentication as the only means of authentication, the
'authorized_keys' file has changed to be handled in a central place
for all users (hence you don't need to give the users shell-accounts
on the server-machine).
(*) Only restriction is that you can't derive commercial work from it
without our written permission."
MindTunnel, release 0.96 - Dec 06, 1998
MindTunnel is an entirely FREE(*) SSH (currently v1.5) server program
written in pure Java. It was implemented for fun (or for completeness
of the mindbright ssh-package :-) and is not intended to be a
replacement for 'the real thing'. However, it can be used as a minimal
sshd, supporting only tunneling (i.e. port-forwarding). It has
RSA-authentication as the only means of authentication, the
'authorized_keys' file has changed to be handled in a central place
for all users (hence you don't need to give the users shell-accounts
on the server-machine).
(*) Only restriction is that you can't derive commercial work from it
without our written permission."
JTOpen - Java Access Classes for iSeries
SourceForge.net:: "The IBM Toolbox for Java / JTOpen is a library of Java classes supporting the client/server and internet programming models to an iSeries or AS/400 server."
Monday, January 02, 2006
1.3 Proxies mit Java-Pipes
1.3 Proxies mit Java-Pipes: "Proxies mit Java-Pipes"
PipedOutputStream request = new PipedOutputStream(),
out = new PipedOutputStream();
PipedInputStream reply = new PipedInputStream(),
in = new PipedInputStream();
in.connect(request); out.connect(reply);
peer.out = new ObjectOutputStream(request);
this.out = new ObjectOutputStream(out);
peer.in = new ObjectInputStream(reply);
this.in = new ObjectInputStream(in);
PipedOutputStream request = new PipedOutputStream(),
out = new PipedOutputStream();
PipedInputStream reply = new PipedInputStream(),
in = new PipedInputStream();
in.connect(request); out.connect(reply);
peer.out = new ObjectOutputStream(request);
this.out = new ObjectOutputStream(out);
peer.in = new ObjectInputStream(reply);
this.in = new ObjectInputStream(in);
VTSurvey
VTSurvey: "is a web-based tool which enables end users to autonomously create and run online surveys, feedback or registration forms. By providing a forms-based visual editor, the use of VTSurvey requires no programming knowledge or skills in HTML.
VTSurvey's built-in user management system enables it to serve large organizations and facilitates collaborative survey development and administration. For example, at Virginia Tech this software is used to implement survey.vt.edu a web-based service which is currently serving over 3000 Virginia Tech students, faculty and staff with their survey needs. Go and check out the public demo!"
VTSurvey's built-in user management system enables it to serve large organizations and facilitates collaborative survey development and administration. For example, at Virginia Tech this software is used to implement survey.vt.edu a web-based service which is currently serving over 3000 Virginia Tech students, faculty and staff with their survey needs. Go and check out the public demo!"
openFJORD online survey tool
openFJORD: "openFJORD is a web-based tool for flexible survey creation based on an editable library of questions or on user produced questions. It provides the online realization of the survey and its evaluation.
View our Project Homepage.
Click here to download the required external libraries, including JBoss 3.0.4.
Click here for a java api documentation.
Click here for a preview of the web-frontend."
View our Project Homepage.
Click here to download the required external libraries, including JBoss 3.0.4.
Click here for a java api documentation.
Click here for a preview of the web-frontend."
Sunday, January 01, 2006
A Java API to read, write and modify Excel spreadsheets
A Java API to read, write and modify Excel spreadsheets: "Java Excel API - A Java API to read, write and modify Excel spreadsheets
This is the home page of Java Excel API - open source Java API which allows Java developers to read Excel spreadsheets and to generate Excel spreadsheets dynamically. In addition, it contains a mechanism which allows java applications to read in a spreadsheet, modify some cells and write out the new spreadsheet.
This API allows non Windows operating systems to run pure Java applications which can both process and deliver Excel spreadsheets. Because it is Java, this API may be invoked from within a servlet, thus giving access to Excel functionality over internet and intranet web applications.
Features
# Reads data from Excel 95, 97, 2000 workbooks
# Reads and writes formulas (Excel 97 and later only)
# Generates spreadsheets in Excel 2000 format
# Supports font, number and date formatting
# Supports shading and colouring of cells
# Modifies existing worksheets
# Supports image creation
# Preserves macros on copy
# Customizable logging"
This is the home page of Java Excel API - open source Java API which allows Java developers to read Excel spreadsheets and to generate Excel spreadsheets dynamically. In addition, it contains a mechanism which allows java applications to read in a spreadsheet, modify some cells and write out the new spreadsheet.
This API allows non Windows operating systems to run pure Java applications which can both process and deliver Excel spreadsheets. Because it is Java, this API may be invoked from within a servlet, thus giving access to Excel functionality over internet and intranet web applications.
Features
# Reads data from Excel 95, 97, 2000 workbooks
# Reads and writes formulas (Excel 97 and later only)
# Generates spreadsheets in Excel 2000 format
# Supports font, number and date formatting
# Supports shading and colouring of cells
# Modifies existing worksheets
# Supports image creation
# Preserves macros on copy
# Customizable logging"
Phex - What is Phex? / Features
Phex - What is Phex? / Features: "Phex is a file sharing program running on the Gnutella Network. It will run on Windows, Mac OS X, Linux, Solaris, and other operating systems supporting Java 1.4.
* Phex is a FREE of spyware and adware
Phex never containd any kind of spyware, adware or any other kind of bundled software. (Softpedia award)
* Multi-plattform support
Whether you use Windows, MAC OS X, Linux (a gentoo-ebuild is avaible via portage) or Solaris Phex is able to run on them all. All you need is a operation system that offers a Java 1.4 Runtime Environment.
* Multi-source downloads (Swarming)
Often the file you like to download is available on several different hosts. Phex will request different segments of the file from each host in parallel. After successfully downloading a segment Phex will merge it with the other segments of that file. This results in a much higher download speed. If a host is too slow the segment is split during download and given to another host. To make sure you never run out of hosts Phex is able to find new download hosts by itself with the automatic search functionality and features the Download Mesh.
You can choose for each download whether the segments should be chosen according to their availability (rarest first, BitTorrent-Style), their place in the file (earlier segments first, useful for previewing the file) or randomly.
* Advanced configuration options
Phex offers very advanced configuration options. Much more than many other clients can offer. Especially advanced user can configure Phex according to their needs and are able to tune and see the effect of different settings.
* Passive searching and snooping for files
With the passive search functionality Phex is able to constantly monitor the traffic that goes through the network and collect search results that match your passive search term. Also Phex snoops the traffic for new download candidates you need to finish your downloads faster. This type of searching is also useful for longtime monitoring of available files on the network.
* Other features include:
o Multiple searches.
o Ultrapeer and compression technology for reduced bandwidth.
o Integrated chat.
o Browse host support.
o Bitzi metadata lookup.
o MAGMA support.
Last Updated ( Wednesday, 23 November 2005 )"
* Phex is a FREE of spyware and adware
Phex never containd any kind of spyware, adware or any other kind of bundled software. (Softpedia award)
* Multi-plattform support
Whether you use Windows, MAC OS X, Linux (a gentoo-ebuild is avaible via portage) or Solaris Phex is able to run on them all. All you need is a operation system that offers a Java 1.4 Runtime Environment.
* Multi-source downloads (Swarming)
Often the file you like to download is available on several different hosts. Phex will request different segments of the file from each host in parallel. After successfully downloading a segment Phex will merge it with the other segments of that file. This results in a much higher download speed. If a host is too slow the segment is split during download and given to another host. To make sure you never run out of hosts Phex is able to find new download hosts by itself with the automatic search functionality and features the Download Mesh.
You can choose for each download whether the segments should be chosen according to their availability (rarest first, BitTorrent-Style), their place in the file (earlier segments first, useful for previewing the file) or randomly.
* Advanced configuration options
Phex offers very advanced configuration options. Much more than many other clients can offer. Especially advanced user can configure Phex according to their needs and are able to tune and see the effect of different settings.
* Passive searching and snooping for files
With the passive search functionality Phex is able to constantly monitor the traffic that goes through the network and collect search results that match your passive search term. Also Phex snoops the traffic for new download candidates you need to finish your downloads faster. This type of searching is also useful for longtime monitoring of available files on the network.
* Other features include:
o Multiple searches.
o Ultrapeer and compression technology for reduced bandwidth.
o Integrated chat.
o Browse host support.
o Bitzi metadata lookup.
o MAGMA support.
Last Updated ( Wednesday, 23 November 2005 )"
JavaThrottle, a pipe bandwidth limiter
JavaThrottle, a pipe bandwidth limiter: "JavaThrottle is a pipe bandwidth limiting throttle, with a gui to change the throttle on the fly.
(0.6 shown here)
Features
* Works via standard pipes.
* Changing settings never interrupts the stream.
* Shows the number of bytes sent and the current rate.
* Shows a graph of traffic flow through the window (--graph).
* Gives the ability to set the throttle to whatever you like whenever you like.
* Includes a good set of command line flags so you can start it in whatever mode you like.
* Throttle tries to be as smooth as possible at slow speeds and as efficient as possible at high speeds.
* Tested on streams in excess of 100GB and spanning many days."
(0.6 shown here)
Features
* Works via standard pipes.
* Changing settings never interrupts the stream.
* Shows the number of bytes sent and the current rate.
* Shows a graph of traffic flow through the window (--graph).
* Gives the ability to set the throttle to whatever you like whenever you like.
* Includes a good set of command line flags so you can start it in whatever mode you like.
* Throttle tries to be as smooth as possible at slow speeds and as efficient as possible at high speeds.
* Tested on streams in excess of 100GB and spanning many days."
yawiki
yawiki: "'''yawiki''' - yet another wiki
A wiki system is a perfect place for working together and sharing information.
The text syntax of a wiki system is really simple to learn. Getting started with
a wiki system is easy.
This is yet another Java implementation of such a wiki system. Besides the basic wiki features, it covers quite a lot more.
Here is a list of yawiki's basic features:
* versioning of every page
* view the history and restore old versions
* page can be restricted to be edited by users only
* supports different themes
* search engine (jakarta lucene) integrated
* compare different versions of a page
* list last recent updates"
A wiki system is a perfect place for working together and sharing information.
The text syntax of a wiki system is really simple to learn. Getting started with
a wiki system is easy.
This is yet another Java implementation of such a wiki system. Besides the basic wiki features, it covers quite a lot more.
Here is a list of yawiki's basic features:
* versioning of every page
* view the history and restore old versions
* page can be restricted to be edited by users only
* supports different themes
* search engine (jakarta lucene) integrated
* compare different versions of a page
* list last recent updates"
Saturday, December 31, 2005
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."
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."
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
Subscribe to:
Posts (Atom)