Here's a great collection of web links personally accumulated by Kamal over many years accessed and valued by both local and foreign software developers. The collection is mainly about software, but some other categories of Kamal's interest (Mathematics, Electronics,...) appear at the bottom. New links are frequently added to this list (Last update: Wednesday, April 15, 2009 - 07:37).
Your web browser's search facility (CTRL + F) will help you in effective navigation through this list. Link classification does not follow a strict hierarchy, but adjustments are constantly done to improve the navigability.
Resource Centers for Developers
- developerWorks
IBM's resources for developers
- The Rational Edge
An online journal for developers.
- Oracle Magazine
Goodies for you to read (also online)...
- HP Dev Resource Central
- HP's
developer & solution partner program - developer edge
home
Lots of goodies on various technologies...
- Intel Developer Services Home
- AMD
Developer Central
Access the latest software development tools, get discounts on
AMD-powered computer products, interact with AMD technology
experts, explore the Developer Toy Box, and more-only at AMD
Developer Central.
- Open
Source Development Lab Developer Resources
Primarily Linux
- MOTODEV
Motorola portal for developers.
- java.net
java.net is the realization of a vision of a diverse group of
engineers, researchers, technologists, and evangelists at Sun
Microsystems, Inc. to provide a common area for interesting
conversations and innovative development projects related to Java
technology.
- Java Skyline:
Magazine for J2EE Web services
A great place to visit!
- JavaRanch - A Friendly Place for Java Greenhorns
Meet the cows and learn Java! Superb place to visit.
- DDJ (Dr.
Dobb's)
Everything...
- Absolute Java
FAQ Daily Tips: advices, tips, code, applets, java freeware,
shareware - All Java Resources!!!
- ONJava.com: Java API Map
An easy way to search the content at ONJava.
- dev2dev - Articles
From BEA. A superb collection of articles.
- dev2dev Online: dev2dev Live!
From BEA. A superb collection of webinars.
- Google Code -
Google's Developer Network
- Software Engineering Radio
Listen to the radio!
- Peter
Norvig
Lots of articles from Google's Director of Research
Unclassified Goodies
- Software
Engineering Information Repository
The purpose of the SEIR is to provide a forum for the contribution
and exchange of information concerning software engineering
improvement activities.
- Food for Thought
Ha ha ha. Need anything else?
- Webopedia:
Online Computer Dictionary for Computer and Internet Terms and
Definitions
- Reference Library (Orelly Books)
A collection of online Orelly books. Books are a bit old but still
useful resources.
- Online
tutorials and interview questions
Some nice books are here.
- SparkNotes: Today's Most Popular Study Guides
A great collection of study guides for free! Maths, Economics,
Computer Science, Psychology and more... Guides have problems for
you as well and contain answers.
- InformIT
Books, articles, reference guides, ...
- Quick Reference Cards
Here's a great collection of quick reference cards.
- TIOBE Software
- The Coding Standards Company
Want to know about coding standards?
- Sun
BluePrints Program
Lots of best practices are documented here. Mostly they are related
with Sun's own technologies but you find lots of goodies for your
own platform.
- Sun
Microsystems - Documentation Center
Go anywhere you want to go starting from this place...
- ACM: Association
for Computing Machinery, the world's first educational and
scientific computing society.
- The USENIX
Association - The Advanced Computing Systems Association
- Google
Scholar
Find research papers and academic stuff. Pretty cool.
- Graphical
User Interface Gallery
Images of different user interface implementations.
- Computer software and computers - the best resources are
on CompInfo
Find The Best Sources of Computer Information
- Internet
Archive
The Internet Archive is a digital library of Internet sites and
other cultural artifacts in digital form. If you need to look at a
web site that is not present now, see whether it is archieved
here.
- The
Programmer's File Format Collection
This site contains file format information on hundreds of different
file types and all sorts of other useful programming information;
algorithms, source code, specifications, etc.
- Koders -
Source Code Search Engine
A search engine for identifying and accessing open source code on
the Internet. You can search by keyword, language, and license or
perform advanced queries using enhanced syntax. Search results are
then displayed in a developer-friendly format that makes it easy to
understand the code in its original working context.
- The CAPTCHA
Project.
How to use funny looking images of characters that humans can
understand and computers cannot understand to make only humans
interact with your system?
- An Introduction to LDAP
- RFID: A Technology Overview
- HTTP Time Protocol (HTP)
- A Layman's Guide to ASN.1, BER, and DER
These are a set of common rules for creating binary encodings in a
platform independent manner.
- WebDAV
The central resource for documentation, specifications, software,
mailing lists, and other useful items on WebDAV.
- STSC CrossTalk - The Journal of Defence Software
Engineering
- The Open
Group
The Open Group is a vendor-neutral and technology-neutral
consortium whose vision is to enable access to integrated
information, within and among enterprises, based on open standards
and global interoperability.
- TIOBE Software - The Coding Standards Company
- my GUI guy - PDF2HTMLgui
Convert pdf files into html
- Software Development Articles-UML, Agile, Java, .NET,
Test, Project Management, SCM, ...
Software development articles web directory : UML, Agile, software
testing, programming, Java, .NET, project management
- How Google Finds Your Needle in the Web's
Haystack
A mathematical discussion on Google's PageRanking
- Dr. Dobb's | Rounding Algorithms | December 28,
2006
The mind boggles at the variety and intricacy of the rounding
schemes that designers may choose, depending on application
- HTTP/1.1 (DELETE, GET, HEAD, PUT, POST)
An activity diagram to describe the resolution of the response
status code, given various headers. Very good.
- IP2Location.com - Lookup IP address to Country, State,
City, Netblock, Longitude and Latitude
Lookup Country and Internet Service Provider (ISP) by IP
Address
- The Pragmatic Programmers, LLC
Software Development Best Practices from the best-selling book 'The
Pragmatic Programmer'.
- Domain Commandments for Internet Business
Developers
10 tips to determine a good domain name
- OER
Commons
OER Commons is a teaching and learning network of shared materials,
from K-12 through college, from algebra to zoology, open to all to
use.
- Pipes:
Rewire the web
Graphically combine feeds and create more complex feeds
- Creating a multiplatform autorun CD
- Open Clip Art
Library Drawing Together
The Open Clip Art Library aims to create an archive of user
contributed clip art that may be freely used. All graphics
submitted to the project must be placed into the Public Domain
according to the Public Domain statement created by the Creative
Commons. If you'd like to help out, please join the mailing list.
Also, browse the archives to review the project's history.
- DevCentral - C++ Tutorials
DevCentral - Articles and tutorials with easy to understand
examples for the seasoned professional to the student.
- Zamzar - Free
online file conversion
Convert files
- NNSquad -
Network Neutrality Squad
The Network Neutrality Squad (NNSquad) is an open-membership,
open-source effort, enlisting the Internet's users to help keep the
Internet's operations fair and unhindered from unreasonable
restrictions.
- Internet Speed Testers
- World Wide Web Consortium Process Document
- OpenDHT: A
Publicly Accessible DHT Service
- Ontology-based IT Pedagogical Knowledge
Framework
How to distinguish between computer science (CS), information
systems (IS), information engineering (IE), software engineering
(SE), information technology (IT), electronic commerce (EC),
computer engineering (CE), etc?
- swiss-copyright.ch – Welcome to the
website for the revision of the swiss copyright law
Platform for the Revision of the Swiss Copyright Law
- From parallel SCSI to serial SCSI
SCSI (Small Computer System Interface), often called Parallel SCSI,
is almost 30 years old and can hardly keep up with the demands of
today’s IT environment. Serial Attached SCSI
(SAS) was developed to address the limitations inherent in SCSI.
This article highlights the differences between these two
interfaces and points out the attributes that account for the
increasing popularity of SAS.
- Domain Name Generators
- 10 Papers Every Programmer Should Read (At Least
Twice)
Tools for Developers
- Eclipse
- Eclipse.org
Eclipse is a kind of universal tool platform - an open extensible
IDE for anything and nothing in particular.
- ECESIS
The goal of the Eclipse Community Education Project (ECESIS) is to
promote the creation, improvement and distribution of commercial
and academic quality Eclipse courseware, education and training
technologies, and resource material.
- Introductory
- Some Plugins
- Eclipse -
Omondo - The Live UML Company
This is the UML plugin that I currently use.
- Lomboz J2EE Plugin
Here is a widely used J2EE plugin for Ecliplse supporting all Java
application servers with flexible launching and debugging
capability- Supported servers include JBoss, WebLogic Server,
Tomcat, JOnAS, JRun, and almost any J2EE compliant server.
- Lomboz Tutorials
How to use the tool?
- Easy Struts for Eclipse / JBuilder
The Easy Struts project provides plug-ins for the Eclipse 2.0,
Borland JBuilder 5, and Borland JBuilder 6 development environments
to enable you to develop web applications based on the MVC design
pattern provided by the Jakarta Struts framework.
- JNDI Explorer for Eclipse by Renaud
Waldura
Explore a JNDI namespace using this Eclipse plugin.
- JBoss-IDE
- alphaWorks : JAR Class Finder
JAR Class Finder is a WSAD/Eclipse plug-in utility for finding JAR
files containing a given class for the Java build path of a project
and for helping to fix NoClassDefFound exceptions.
- Openknows
Tomcat Eclipse's Plugin
- EclipsePlugins : hi! Find your plugin for Eclipse
here.
- UMLet Homepage - Free UML Tool
A simple and easy to use tool to create UML diagrams.
- WebLogic Plugin 1.1.1 for Eclipse
- Andrej Koelewijn: Using eclipse to debug your
tomcat web application
- The
Eclipse Visual Editor Project
The Eclipse Visual Editor project is a framework for creating GUI
builders for Eclipse. It includes reference implementations of
Swing/JFC and SWT GUI builders, but intends to be useful for
creating GUI builders for other languages such as C/C++ and
alternate widget sets, including those that are not supported under
Java.
- Create your own visualisations in Eclipse
A good tutorial on Eclipse Visualizer. View the resources of your
Eclipse project in different angles.
- EclipseHTMLEditor
Eclipse HTML Editor is an Eclipse plugin for HTML/JSP/XML
Editing.
- StrutsIDE
StrutsIDE is an Eclipse plugin for web application development that
used Struts.
- CSS
Editor (Eclipse Plugin)
- MockCreator: Java Mock Generator
Create mock objects with the help of this plugin.
- Eclipse XML - XSLT Editor
- E-BOB :
Eclipse-Based Object Bench
The Object Bench is a tool to create, view, and inspect objects in
a visual manner for testing and learning purposes.
- PHPEclipse.net
A nice ide to php development.
- Standard Widget Toolkit (SWT)
- SWT: The
Standard Widget Toolkit
SWT project site.
- Eclipse Technical Articles on SWT
From the Eclipse site.
- The SWT FAQ
- The SWT Community Page
This page provides links to additional SWT ports, widgets, and
applications maintained elsewhere in the community.
- SWT Widgets - Screenshots
- SWT Snippets
A nice set of code shippets are available from this place.
- Getting Started with Eclipse and the SWT
A good set of tutorials on SWT, JFace and other aspects of
development with Eclipse.
- SWT: The Standard Widget Toolkit
PART 1: Implementation Strategy for Java Natives
- SWT: The Standard Widget Toolkit
PART 2: Managing Operating System Resources. Guidelines are
provided on how to release the resources properly.
- Developing SWT applications using Eclipse
Setting up Eclipse for SWT development is described here. (This is
one approach which is easier.)
- Equipping SWT applications with content
assistants
- Taking a look at SWT Images
- DND in SWT
- Writing Your Own Widget
- SWT Color Model
- Understanding Layouts in SWT
- Custom widgets
- Migrate your Swing application to SWT
- Sleak
A tool to detect memory leaks in SWT
- How to use the JFace Tree Viewer
- An Eclipse Nebula widgets primer
The SWT toolkit offers a robust interface to the native widgets of
the operating system it's running on. However, native widgets often
aren't enough. The Eclipse Nebula project is working to bridge this
gap with custom widgets for functionality, including calendaring
and advanced tables. This tutorial demonstrates five Nebula
widgets, including Grid, CDateTime, CompositeTable, PGroup, and
PShelf.
- Eclipse Rich Client Platform (RCP)
- Rich Client Tutorial Part 1
- Rich Client Tutorial Part 2
- Rich Client Tutorial Part 3
- Make your Eclipse applications richer with view
linking
- Branding your application
- Concepts of the Eclipse Rich Client Platform: What
It's All About
A book excerpt
- Explore Eclipse's embedded Rich Client
Platform
Get an introduction to the embedded Rich Client Platform (eRCP).
Learn about the various components that make up eRCP and get some
examples on how to use them in your applications.
- Using Eclipse Ganymede to develop for the desktop,
Web and mobile devices, Part 1: Developing for the Rich Client
Platform, the Ganymede way
The Ganymede release of Eclipse includes 24 separate projects,
covering a wide range of technologies. Many of these projects are
mature, and this release provides incremental improvements to
those. But Ganymede also includes a number of new projects that
introduce new technologies to the Eclipse platform. In this
three-part 'Using Eclipse Ganymede to develop for the desktop, Web
and mobile devices' tutorial series, we will cover the following
new Ganymede features: RCP, RAP, and eRCP, which allow you to
develop software for the desktop, Web, and mobile platforms,
respectively, with one common code base; Subversion for version
control; and p2 for update and installation. Here in Part 1, we
will use the mature Rich Client Platform (RCP) to develop an
application for the desktop using Subversion for source control,
and we will package and distribute the application using p2.
- Eclipse Visual Editor
- Web Tools Platform
- SOA Tools Platform
- Use the Eclipse SOA Tools Platform plug-in to build
and deploy a Web service
With the Eclipse STP plug-in, you can go from a Java interface,
annotate it with Web service-related properties, create a Web
Services Description Language (WSDL) for the Web service, generate
and code Java stubs you can then compile into a WAR file, and
deploy on your favorite Web server. This tutorial shows you how to
accomplish all this using the Eclipse STP plug-in.
- EMF/GEF
- A Shape Diagram Editor
For a beginer, this is a good article to start with GEF.
- Create an Eclipse-based application using the
Graphical Editing Framework
This article describes the initial steps involved in creating an
Eclipse-based application using the Graphical Editing Framework
(GEF).
- Building a Database Schema Diagram Editor with
GEF
- Displaying a UML Diagram with Draw2D
- IBM Redbooks | Eclipse Development using the
Graphical Editing Framework and the Eclipse Modeling
Framework
- Using GEF with EMF
- Model-driven development with the Eclipse Modeling
Framework, Part 1
- Model with the Eclipse Modeling Framework, Part
2
- Model with the Eclipse Modeling Framework, Part
3
- Create an Eclipse-based application using the
Graphical Editing Framework
This article describes the initial steps involved in creating an
Eclipse-based application using the Graphical Editing Framework
(GEF). GEF has been used to build a variety of applications for
Eclipse, including state diagrams, activity diagrams, class
diagrams, GUI builders for AWT, Swing and SWT, and process flow
editors. Eclipse and GEF are both open source technologies.
- Metamodeling with EMF: Generating concrete,
reusable Java snippets
Learn how to extend the Eclipse Modeling Framework (EMF) Ecore
metamodel by adding elements and attributes to model reusable Java
snippets. Also see, step by step, how to use dynamic templates with
JET to generate the implementation code for the extended model
elements.
- GMF
- UML
- Getting Started with UML2
This article describes how to get started with the UML2 plug-ins
for Eclipse. In particular, it gives an overview of how to create
models (and their contents) both programmatically and by using the
generated UML2 editor.
- Plugin Development
- Notes on the Eclipse Plug-in Architecture
- ONJava.com: Eclipse Plugins Exposed, Part 1: A
First Glimpse
- What to plug into Eclipse
There's more to Eclipse than writing Java code.
- Speed development with Eclipse wizards
One of the greatest features of the Eclipse framework and
integrated development environment (IDE) is its extensibility. In
this article, you'll learn how to quickly build a wizard that
automates the process of adding a new file. Because the contents of
the file can be predefined, the wizard enables better development
through consistency and automation.f
- Build extensions for Eclipse one snippet at a
time
Find out how to build a plug-in for Eclipse and Rational
Application Developer V7. You can use this plug-in to define
snippets that let you add code that follows enterprise standards.
This plug-in allows you to drag and drop pieces of code into the
editor.
- Build extensions for Eclipse one snippet at a
time
Find out how to build a plug-in for Eclipse and Rational
Application Developer V7. You can use this plug-in to define
snippets that let you add code that follows enterprise standards.
Similar to the Snippets view that comes with the Web Tools Project,
this plug-in allows you to drag and drop pieces of code into the
editor. We follow object-oriented best practices so the snippets
can be loaded from any source, such as a database (like Apache
Derby), filesystem, or Web service.f
- Speed development with Eclipse wizards
One of the greatest features of the Eclipse framework and
integrated development environment (IDE) is its extensibility. In
this article, you'll learn how to quickly build a wizard that
automates the process of adding a new file. Because the contents of
the file can be predefined, the wizard enables better development
through consistency and automation.f
- Plug-in development 101, Part 1: The
fundamentals
Plug-in development in Eclipse is somewhat of an art form. If
you're new to the concept of plug-ins, especially in the context of
OSGi and Eclipse, it can be quite burdensome learning the myriad
tools Eclipse has to help you write plug-ins. The purpose of this
article is to help you learn some basic plug-in development skills
with some best practices sprinkled in for good measure.
- Create your own Eclipse plug-in template
Default plug-in templates in Eclipse are useful as long as they
meet users' needs. When a specified requirement is beyond the scope
of a default template, it is necessary to customize a template.
This article offers insight into how to customize a plug-in project
template in Eclipse, elaborates on multisection implementation and
control within templates, introduces UI component customization
methods to improve usability, illustrates a way to add input
validation function on the UI side, and explains how to organize
the directory structure of plug-in project automatically.
- Eclipse Process Framework (EPF)
- Eclipse
Process Framework Project (EPF)
The Eclipse Process Framework (EPF) aims at producing a
customizable software process enginering framework, with exemplary
process content and tools, supporting a broad variety of project
types and development styles.
- Other Articles
- developerWorks : Open source : Technical library :
Articles
Points to lots of articles on Eclipse.
- J2ME Related
- Database
- Put Eclipse features to work for you
- Debugging with the Eclipse Platform
- Refactoring for everyone
- XML development with Eclipse
- Enable a help system within the Integrated
Solutions Console
Want to know how that help system works?
- Documenting your project using the Eclipse help
system
- Using Eclipse AspectJ: Your First Steps
A book excerpt.
- Migrating to Eclipse: A developer's guide to
evaluating Eclipse
How Eclipse differs from Netbeans, IntelliJ IDEA, and Borland
JBuilder?
- Building cheat sheets in Eclipse
Cheat sheets help your customers get their hands dirty with your
product and learn about its features interactively.
- Build rich Internet applications
Using OpenLaszlo, Eclipse Laszlo IDE, and Web Tools
- Inside the Workbench: A guide to the workbench
internals
- Expose plug-ins as Web services with
Eclipse
With the recent development of a Open Services Gateway Initiative
(OSGi) server-side implementation, you can now extend traditional
Eclipse plug-ins as Web services. Using the Eclipse Equinox
Incubator server-side project, an implementation of the OSGi
framework that you can deploy on an application server, you can
package and dynamically load Eclipse plug-ins in a Web application
server. You can expose plug-ins as Web services, and at the same
time allow them to interact with other plug-ins that were intended
for client-side applications.
- Enterprise Java Community: Eclipse, Equinox, and
OSGi
A simple introduction to Equinox
- Get started with Jigloo, a GUI builder for
Eclipse
Jigloo is an Eclipse plug-in that enables you to build
sophisticated graphical user interfaces (GUIs) rapidly that run on
the Java platform. It can be used to build Swing-based applications
and Standard Widget Toolkit (SWT)-based applications. It is an
easy-to-use visual editor, so you can create the UI for your
desktop application quickly. In this tutorial, we build a simple
workflow application and use Jigloo to create its UI. Learn how
easy it is to get started with Jigloo and to tap into its advanced
features, such as visual inheritance. Finally, we test an
application and package it for others to use.
- Dr. Dobb's | Eclipse and Public Health Software |
June 8, 2007
Open source community will have access to a processing engine for
understanding and planning more efficient responses to
pandemics
- Revitalize your applications with Eclipse
Forms
Eclipse Forms offers a way to enhance the user experience of your
Eclipse applications. It offers a 'Web-like' look for your
applications without using the embedded browser. The goal of this
article is to give a brief introduction Eclipse Forms as a user
interface (UI) toolkit and to provide an easy-to-follow example to
get you started.
- alphaWorks : Web Browser-Based Interaction with the
Eclipse IDE : Overview
An Eclipse plug-in that enables browser-based access to
Eclipse.
- More IDEs
- MOTODEV Studio
MOTODEV Studio is an integrated development environment offering a
fast and easy way to create applications that take advantage of the
latest functionality in a wide array of Motorola's products.
- BIRT
- Developing an Eclipse BIRT Report Item Extension @ ECLIPSE
DEVELOPER'S JOURNAL
The Eclipse platform is an Open Source, integrated system of
application development tools that you implement and extend using a
plug-in interface. Eclipse provides a set of core plug-ins that
configures the basic services for the platform's framework. A
platform developer can build and integrate new tools in this
application development system.
- Eclipse Corner Articles
- Introduction to BIRT, Part 1
Learn how to install the Eclipse Business Intelligence and
Reporting Tools (BIRT) plugins, create a new reporting project,
create a new report, and connect the report to an Apache Derby (IBM
Cloudscape) database.
- Misc
- Getting started with Eclipse code
templates
This tutorial covers the basic use of Eclipse code templates. It
takes a broad approach to expose the key concepts and skills that
apply to templates regardless of the particular plug-in they're
associated with. You will learn about the benefits of templates,
how to create and edit them, and how to use them within the Eclipse
IDE to increase your productivity.
- Equinox p2 cures Eclipse plug-in
headaches
This article explores the new features of Equinox p2, which debuted
in Eclipse V3.4. It looks at the pitfalls of the update manager
user interface (UI) that was available in earlier versions of
Eclipse and shows how the Equinox p2 framework is an improvement.
Specifically, it shows how to use the new features in the Equinox
p2 framework to install Eclipse and its plug-ins.
- Dr. Dobb's | Test Case Generation, UML, and Eclipse
| October 28, 2008
Standard notations and open environments make useful tools for
software quality-assurance techniques possible.
- PDT
- NetBeans
- Visual Web Pack
- NetBeans Visual Web Pack 5.5 - Tutorials -
Developing a Web Application
A good introductory tutorial.
- NetBeans Visual Web Pack - Tutorials - Getting Started
With NetBeans Visual Web Pack
This tutorial gives you a whirlwind tour of the Netbeans Visual Web
Pack integrated development environment (IDE). The tutorial shows
you how to use the IDE to perform the typical phases of web
application development.
- NetBeans Visual Web Pack 5.5 - Tutorials - Using
Page Fragments
Creating theme based web applications (common fragments (header,
footer,...) is described here.
- NetBeans Visual Web Pack 5.5 - Tutorials -
Performing Inserts, Updates, and Deletes
Database access (create, retrieve, update, and delete records) is
described here.
- Carol McDonald's Blog: Sample Store Catalog
Application using Visual Web Pack and the Java Persistence
APIs
A good article with enough screen shots.
- NetBeans 5.5 Visual Web Pack Installation
Guide
Contains some instructions on creating a new database inside
NetBeans among other things.
- NetBeans Visual Web Pack 5.5 - Tutorials - Using
Databound Components to Access a Database
Using NetBeans Visual Web Pack 5.5, add components to a page, bind
those data-aware components to a local database, and build and
deploy to an application server.
- LAB-4430: Developing Custom JSF Components For
Netbeans Visual Web Pack
- Creating a CSS-Based Fixed Page Layout - NetBeans IDE 6.0
Tutorial
This tutorial describes how to create a CSS-based fixed page layout
in NetBeans IDE 6.0.
- NetBeans Wiki: Web Tutorial Status
- NetBeans 6.0 - Tutorials - How to Use Virtual
Forms
This tutorial explains how to use virtual forms in NetBeans
6.0.
- NetBeans IDE 6.0 Web Application Documentation
Release documentation, tutorials, webinars, articles, and blogs for
the NetBeans IDE 6.0 Web Application Development
- Enterprise Pack
- GUI Development
- Other
- Apache Ant
- Ant's
Home
Apache Ant is a Java-based build tool. In theory, it is kind of
like Make, but without Make's wrinkles.
You write all the tasks (compilation, testing, copying,
downloading, emailing the progress...) that are required to be
executed when the project is built in a build.xml file. Then you
simply type "ant" and that's it.
- Apache Ant - Resources
- Articles
- Maven
- Subversion
- Build Environments
- GCJ
- Obfuscators/Decompilers
- Covert Java: Obfuscating Classes
An article of usage of obfuscators
- ProGuard
ProGuard is a free Java class file shrinker and obfuscator. It can
detect and remove unused classes, fields, methods, and attributes.
It can then rename the remaining classes, fields, and methods using
short meaningless names. The resulting jars are smaller and harder
to reverse-engineer.
- Java
Optimize and Decompile Environment (JODE)
JODE is a java package containing a decompiler and an optimizer for
java.
- Jmangle: The Java Class Mangler
The Jmangle program helps discourage reverse engineering of Java
programs and software piracy by allowing the developer to mangle
the symbols used in the class file.
- Groovy
- Groovy
Groovy is a new agile dynamic language for the JVM combining lots
of great features from languages like Python, Ruby and Smalltalk
and making them available to the Java developers using a Java-like
syntax.
- Groovy - Scripting for Java
A good article to get started with Groovy. Comprehensive.
- Build scripts with Groovy and Ant
This article shows how to put together Ant and Groovy to build a
more flexible and powerful automation tool.
- Python
- DrPython
DrPython is a highly customizable, extensible editor/environment
for developing programs written in the Python programming
Language.
- XDoclet
- Database
- Execute
Query
Execute Query is an operating system independent database utility
written entirely in Java. Very nice.
- P6Spy
P6Spy is an open source framework for applications that intercept
and optionally modify database statements. The tool can primarily
be used to log the SQL statements.
- SchemaSpy
- AJAX
- Discover the Ajax Toolkit Framework for
Eclipse
The Ajax Toolkit Framework (ATF) is a core piece of the new Open
Ajax initiative, which aims to increase accessibility to the
powerful Web programming technique through the Eclipse Foundation.
The ATF extends the Eclipse Web Tools Platform (WTP) by adding an
Asynchronous JavaScript and XML (Ajax) development environment for
a variety of open source Ajax tool kits, including Dojo, Zimbra,
and Rico. This article includes a HelloWorld example in which you
install and configure the ATF, then use Eclipse and Dojo to create
a basic Web application.
- Web
- Web Developer Extension
A useful Firefox extension for web developers.
- Modify Headers
A useful Firefox extension for web developers.
- Web Test Tools
A superb collection of web test tools. Each entry has a comment as
well.
- Fiddler HTTP Debugger - A free web debugging
tool
Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic
between your computer and the Internet. Fiddler allows you to
inspect all HTTP Traffic, set breakpoints, and "fiddle" with
incoming or outgoing data. Fiddler includes a powerful event-based
scripting subsystem, and can be extended using any .NET
language.
- HTML
Tidy Project
When editing HTML it's easy to make mistakes. Wouldn't it be nice
if there was a simple way to fix these mistakes automatically and
tidy up sloppy editing into nicely layed out markup?
- HTML Editors
- Modeling
- Umbrello UML Modeller
- AndroMDA -
Homepage
AndroMDA (pronounced: andromeda) is an open source code generation
framework that follows the model driven architecture (MDA)
paradigm. It takes a UML model from a CASE-tool and generates
classes and deployable components (J2EE or other), specific for
your application architecture.
- BOUML - a free
UML tool box
BOUML : A free UML toolbox running under Unix/Linux/Solaris and
Windows to specify and generate code in C++, Java, Php, Python and
Idl
- Graphviz
Graph Visualization Software
- UniMod
UniMod states for Unified Modeling. Long term project goal is to
create unified methodology for application development process that
will close the gap between Design and Development phases. Present
implementation can reasonably generate code from the models.
Superb!
- Drawing UML Diagrams with UMLGraph
- Testing
- PatternTesting
PatternTesting is a testing framework that allows to automatically
verify that Architecture/Design/Best practices recommendations are
implemented correctly in the code. It uses AOP and AspectJ to
perform this feat.
- dogtail: taking your application for a
walk
dogtail is a Desktop GUI Tester for Linux. It is a GUI test tool
and automation framework written in Python that uses Accessibility
(a11y) technologies to communicate with desktop applications.
dogtail scripts are written in Python and executed like any other
Python program.
- luntbuild - automate and manage your builds
LuntBuild is a powerful build automation and management tool.
Continuous integration or daily build can be easily setup through a
clean web interface. Generated builds are well managed through
functions such as search, categorizatoin, promotion, patching,
deletion, etc. It also acts as a central build artifacts download
area for your whole team.
- In pursuit of code quality: Automate GUI testing
with TestNG-Abbot
TestNG-Abbot is a testing framework that breathes new life into
testing GUI components. This month, Andrew Glover walks you through
the hardest part of GUI testing with TestNG-Abbot, which is
understanding how a user scenario will play out. Once you've got
that down, you'll find it surprisingly easy to isolate GUI
components and then verify them using the framework's handy fixture
objects.
- Synergy
Synergy lets you easily share a single mouse and keyboard between
multiple computers with different operating systems.
- Automation for the people: Hands-off load
testing
Load testing is often relegated to late-cycle activities, but it
doesn't need to be that way. In this installment of Automation for
the people, automation expert Paul Duvall describes how you can
discover and fix problems throughout the development cycle by
creating a scheduled integration build that runs JMeter tests.
- Misc
- Online Lab - Introduction to Ant, CVS, Eclipse and Tomcat
for Life Sciences Developers
- Sun Java Studio Creator
- load4j
Load4J provides a framework for developing and running stress
tests. The framework itself is a scalable distributed system to
based on Java RMI. Setting up stress tests of your own requires the
development of Java classes.
- Bluefish Editor
Bluefish is a powerful editor for experienced web designers and
programmers. Bluefish supports many programming and markup
languages, but it focuses on editing dynamic and interactive
websites.
- IzPack
IzPack is an installers generator for the Java platform. It
produces lightweight installers that can be run on any operating
system where a Java virtual machine is available.
- SableCC parser
generator
SableCC is an object-oriented framework that generates compilers
(and interpreters) in the Java programming language.
- PMD
PMD scans Java source code and looks for potential problems like:
Empty try/catch/finally/switch blocks, Unused local variables,
parameters and private methods, Empty if/while statements,
Overcomplicated expressions - unnecessary if statements, for loops
that could be while loops, Classes with high Cyclomatic Complexity
measurements.
- Jalopy
Java Source Code Formatter Beautifier Pretty Printer
Jalopy is a source code formatter for the Sun Java programming
language. It layouts any valid Java source code according to some
widely configurable rules; to meet a certain coding style without
putting a formatting burden on individual developers.
- SLOCCount
SLOCCount is a set of tools for counting physical Source Lines of
Code (SLOC) in a large number of languages of a potentially large
set of programs.
- XPath Explorer
XPath Explorer (XPE) is a GUI application that lets you
interactively experiment with XPath.
- GeSHi -
Generic Syntax Highlighter
Syntax highlighting PHP class supports more than 30 languages.
- Software
Development Tools-Java, .NET, PHP, Database, Testing UML, Project
Management, SCM
Software development tools for java, .net, php, ruby, xml,
javascript, ajax, database, software testing, project management,
etc.
- JDepend
A Java package dependency analyzer that generates design quality
metrics.
- Automation for the people: Pushbutton
documentation
Project documentation is often one of the necessary evils in
delivering a software product. But imagine being able to generate
your documentation at the click of a button. In this installment of
Automation for the people, automation expert Paul Duvall explains
how you can use open source tools to automate the generation of
Unified Modeling Language (UML) diagrams, build figures,
entity-relationship diagrams (ERDs), and even user
documentation.
Software Forges
- SourceForge.net
Largest repository of Open Source code and applications available
on the Internet!
- ObjectWeb
ObjectWeb is an international consortium fostering the development
of open-source middleware for cutting-edge applications: EAI,
e-business, clustering, grid computing, managed services and more.
Don't forget to look at their downloads.
- ObjectWeb Forge: Project List
- The
Codehaus
The Codehaus is an open-source project repository with a strong
emphasis on Java, focussed on quality components that meet real
world needs. They believe in open source as a pragmatic approach to
software development, and all projects are business-friendly in
terms of licensing.
- OpenSymphony
OpenSymphony is an Open Source project dedicated to providing
enterprise class J2EE components. Really good products are found
here.
- Savannah:
Welcome [Savannah]
This web site (called Savannah) is a central point for development,
distribution and maintenance of GNU Software.
- Tigris.org:
Open Source Software Engineering
Tigris.org is a mid-sized open source community focused on building
better tools for collaborative software development.
Software And Related Documents
- Repositories/Directories
- Java
- Linux
- VOIP
- ERP/HRIS
- Business Applications
- webERP
Integrated Accounting ERP: Multi-currency, multi-location
inventory, SO, AR multi-branch, PO, AP, GL, Bank, Sales Analysis,
multi-level BOM, assemblies, kit-sets, price variances, flexible
pricing, discounts, pdf reports.
- PHP POS - Online Point Of Sale Program
PHP Point Of Sale is designed to help small businesses with keeping
track of customers, inventory, finances and generate reports based
on sales. This program works great for businesses that use cash,
check, or account numbers for their sales.
- The Open For
Business Project
Open Source ERP, Open Source CRM, Open Source E-Business /
E-Commerce, Open Source SCM, Open Source MRP, Open Source CMMS/EAM,
...
- Accounting
Receiving and Inventory Administration
ARIA contains Accounting, Receiving and Inventory Management and
Payroll.
- Enterprise Payroll Systems
- Linux-Kontor ERP System
Not very active. Is this a dead project?
- OSSuite
- CK-Ledger: Demo Site Entrance
- Silk: A
Framework for Open Collaboration
Silk is a general purpose, web centric, enterprise collaboration
application built on industry standard technology (J2EE, JBOSS,
MySQL and Linux among others) and designed to provide a viable open
alternative to the proprietary collaboration environments offered
by the major enterprise software vendors.
- SugarForge
SugerCRM is a nice customer relationship management
application.
- ERP5 Community - Industrial Grade Open Source /
Libre Software ERP/CRM Solution: Zope Products
ERP5 is based on Zope which is extended with a framework of advance
components in order to provide entreprise level features to the
Zope Object Database.
- Compiere ERP
CRM Software
Needs Oracle database!
- XRMS :
Open-Source CRM
A fully-integrated suite of PHP web-based customer relationship
management (CRM), Sales Force Automation (SFA), and business
intelligence (BI) tools, allowing companies to integrate their
sales, service, and marketing data into a single information
store.
- Help Desks
- Web Based WYSIWYG Editors
- Social Networking
- Learning Management
- E-Learning Content Authoring Packages
- Javanti -
eLearning Authoring Tool
Javanti is an Integrated Development Environment (IDE) for
eLearning applications. Several assessment types and a
collaborative working mode are available. The java-based software
is open source and runs on Windows, Linux and Mac.
- Freestyle Learning
Freestyle Learning
- Screen Capture
- vncrec
A simple VNC session recorder and player.
- vnc2swf
Record a vnc session into a flash file.
- Creating Animated Screenshots on Linux LG #102
This article explains how to use vncrec and vnc2swf tools to
capture the screen and embed audio.
- LinuxDevCenter.com: Making Screen-Capture Movies
This artilce demonstrates how to create an animated image with
multiple screen captures. No audio. No special tools are required
other than ImageMagic.
- Jacareto
Jacareto is a capture & replay tool for programs written in
Java.
- Wink
Wink is a Tutorial and Presentation creation software, primarily
aimed at creating tutorials on how to use software (like a tutor
for MS-Word/Excel etc). Using Wink you can capture screenshots, add
explanations boxes, buttons, titles etc and generate a highly
effective tutorial for your users.
- DebugMode Forums :: View topic - Look! Wink with
sound!
Discusses about adding audio to Wink
- XMG - The X MPEG Grabber
XMG is a utility for the X Window System which allows you to create
MPEG-1 video streams by repeatedly grabbing a window on the screen
and then joining the frames into an MPEG sequence.
- Xvidcap Project Home Page
A small tool to capture things going on on an X-Windows display to
either individual frames or an MPEG video.
- GIMP
- Multimedia
- Multimedia Players
- Video
for Linux resources
A good categorized software list about video on Linux
- VideoLAN
The VideoLAN project targets multimedia streaming of MPEG-1,
MPEG-2, MPEG-4 and DivX files, DVDs, digital satellite channels,
digital terrestial television channels and live videos on a
high-bandwidth IPv4 or IPv6 network in unicast or multicast under
many OSes.
- VLC media player
VLC (initially VideoLAN Client) is a highly portable multimedia
player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4,
DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming
protocols.
- xine - A Free Video
Player
xine is a free multimedia player. It plays back CDs, DVDs, and
VCDs. It also decodes multimedia files like AVI, MOV, WMV, and MP3
from local disk drives, and displays multimedia streamed over the
Internet.
- Flash
- Multimedia Manipulation
- Kino
A video editing tool
- Making Movies with Kino | Linux Journal
- Kino Tips: Installing from Scratch and Exporting MPEG
Videos | Linux Journal
- Kino Tutorial
- Cinelerra
A vedio editing tool
- Cinelerra Tutorial - Getting Started
- Secrets of Cinelerra
Secrets of Cinelerra
- Cinelerra CV Manual: Table of Contents
Cinelerra CV Manual: Table of Contents
- FFmpeg
FFmpeg is a complete solution to record, convert and stream audio
and video.
- VideoHelp.com - Tools - swf2avi
Convert an swf file into avi.
- Omnividea FOBS - FFMpeg C++ & JMF Bindings
FOBS is a set of object oriented APIs to deal with media. It relies
in the ffmpeg library, but provides developers with a much simpler
programming interface.
- Composite Media Group - IBM Research
MPEG 4 related technologies from IBM. A nice cross-platform toolkit
is found here.
- KToon: 2D
Animation Toolkit - Home
KToon: 2D Animation Toolkit. Create flash files with this.
- Nedron's Faq-O-Matic: What size should I use when creating
menus?
Image sizes to be used in videos
- PHASEX: A New Linux Softsynth | Linux Journal
- Some Linux Audio Updates And Expansions | Linux
Journal
- Updates, Beautiful Updates | Linux
Journal
More tools...
- Flash
- O'Reilly -- Web Mastering: The Art of Optimizing
Sound Files for Napster and the Internet
O'Reilly coauthor discusses production techniques of posting audio
files to Napster and other Web sites. By Josh Beggs, coauthor of
O'Reilly's Designing Web Audio (December 2000).
- LinuxPlanet - Tutorials - Building A Linux Music Studio -
Cranky Audiophile Approves of Digital
This is a great time to be your own recording and sound engineer.
There are all kinds of great digital recording gear, from tiny
portable recorders to multi-channel mixer-recorders with CD
burners, and Linux has a wealth of good-quality audio recording and
editing programs.
- LinuxPlanet - Tutorials - Building A Linux Music Studio
Part 2 - Fixing Volume Levels
Last week we made a music CD from a live digital recording the easy
and simple way. Today we're going to fix volume levels and do
graceful fades and transitions using Audacity and normalize.
- Kokkini Zita: The Audio Software Of Fons Adriaensen
| Linux Journal
- Give Me 3 Synths, Part 3 | Linux Journal
- Audio/Visual Synthesis For Linux: The New Art, Part
1 | Linux Journal
- Audio/Visual Synthesis: The New Arts, Part 2 |
Linux Journal
- BBC - Commissioning - A Guide to Picture
Size
Some guidelines on image sizes to be used when videos are created
for TV screens and computer screens.
- Portable Hard Disk Recorder How-To
- Java Sound & Music Software for Linux, Part 2 |
Linux Journal
- Hyper Low-Latency Audio with a Real-Time Kernel |
Linux Journal
- Pictures
- Music
- Speech Processing
- Sharing
- Flash
- Misc
- DVD
- DVD FAQ
The official DVD FAQ (Frequently Asked Questions about DVD) of the
Internet DVD newsgroups. The most comprehensive source of DVD
technical information in the galaxy. By Jim Taylor.
- What is DVD?
- Content Management
- Open
Source Content Management System List (perl, php, python, m4, java,
etc) Blog API
- The CMS
Matrix - cmsmatrix.org - The Content Management Comparison
Tool
Compare content management systems
- OpenACS
OpenACS (Open Architecture Community System) is a toolkit for
building scalable, community-oriented web applications.
- Metadot: The World's Most Popular Open Source Portal
Server
Metadot Portal Server is a point-and-click web builder software to
allow non technical users to build and maintain intranets,
extranets and websites in just a few clicks. It includes content
management, collaboration features and a dashboard like My Yahoo.
It can be extended by programming new portlets called Gizmos. Uses
Perl, Mysql, Apache, Linux.
- Mambo
An open-source, full-featured CMS.
- Caravel
Content Management
Seems to be a superb CMS
- Bricolage
Bricolage is a full-featured, open-source content-management and
publishing system. Features include intuitive and highly
configurable administration, workflow, permissions, templating,
server-neutral output, distribution, and document management.
- opencms.org: OpenCms - The Open Source Content Management
System
OpenCms is a professional level Open Source Website Content
Management System. OpenCms helps to create and manage complex
websites easily without knowledge of html. An integrated WYSIWYG
editor with a user interface similar to well known office
applications helps the user creating the contents, while a
sophisticated template engine enforces a site-wide corporate
layout.
- Building Websites with OpenCms
An article pointing to a book except as well.
- Drupal
Drupal can support a variety of websites ranging from personal
weblogs to large community-driven websites.
- Drupal used project: developerWorks : Sample IT
projects: Using open source software to design, develop, and deploy
a collaborative Web site
- Daisy
Daisy is a comprehensive content management application framework,
consisting of a standalone repository server accessible through
HTTP/XML and a high-level (remote) Java API, and an extensive Daisy
browsing and editing DaisyWiki application. Daisy is licensed under
the commercially-friendly Apache License 2.0.
- Gallery :: your photos on your website
Gallery is a slick Web-based photo album written using PHP. It is
easy to install, includes a config wizard, and provides users with
the ability to create and maintain their own albums in the album
collection via an intuitive Web interface. Photo management
includes automatic thumbnail creation, image resizing, rotation,
ordering, captioning and more. Albums can have read, write, and
caption permissions per individual authenticated user for an
additional level of privacy.
- Magnolia Content Management (CMS)
The Magnolia 2.0 CMS tries to combine an clean GUI, enhanced
usability, web-based deplyoment and J2EE enterprise strength. It is
the first open source CMS using JSR-170, the "Java Content
Repository API".
- SAPID
SAPID is open source site development environment compatible with
XML Sapiens specification (unified language of managed sites).
- Search Tools - Enterprise Search Engines - Information,
Guides and News
A really good site on different search tools avaliable.
- Magnolia
JSR170 Based
- WordPress
› Free Blog Tool and Weblog Platform
- Wiki
- Owl
Intranet
Owl is a multi user document repository (knowledgebase) system
written in PHP4 for publishing files/documents onto the web for a
corporation, small business, group of people, or just for
yourself.
- redhat.com | Lyceum: One installation, many blogs
- Drupal
- Fedora
Commons - Home
Fedora is an acronym for the Flexible Extensible Digital Object
Repository Architecture. The Fedora Repository is very flexible; it
is capable of serving as a digital content repository for a wide
variety of uses. Among these are digital asset management,
institutional repositories, digital archives, content management
systems, scholarly publishing enterprises, and digital
libraries.
- Publishing
- DocBook
- Linux as a Publishing Platform
An article: Using Linux, OOo, Scribus and The GIMP lowers the
barriers to taking your book to publication.
- Podcasting
- Microblogging
- Build a digital book with EPUB
Need to distribute documentation, create an eBook, or just archive
your favorite blog posts? EPUB is an open specification for digital
books based on familiar technologies like XML, CSS, and XHTML, and
EPUB files can be read on portable e-ink devices, mobile phones,
and desktop computers. This tutorial explains the EPUB format in
detail, demonstrates EPUB validation using Java technology, and
moves step-by-step through automating EPUB creation using DocBook
and Python.
- Utility
- Office
- HylaFAX+
A fax server.
- AvantFAX.com
- What is AvantFAX?
Home of AvantFAX Web 2.0 network faxing
- KoolWIRE.com - PDF to RTF Converter
- OpenOffice
- Paragraph and Page Spacing in OpenOffice.org Writer |
Linux Journal
- Expand the editing capabilities of OpenOffice with
XSLT
You might know that you can pull XML data into OpenOffice's
spreadsheet program, Calc, but did you know that you can create a
filter to make word-processing documents out of data stored as XML?
This tutorial shows you how to use OpenOffice's import/export
filters to open your XML data as though it's just a plain document.
From there, users can edit the document much more naturally and
then save it back to its native format. You can also use this
feature to easily turn your documents into XML data.
- OpenOffice Converter Installation
Configure OpenOffice to act as a service.
- OpenOffice.org template collections | Linux
Journal
- Extensions for OpenOffice.org Impress | Linux
Journal
- Faxing in OpenOffice.org | Linux Journal
- Automating the creation of slide shows in
OpenOffice.org | Linux Journal
- How to open Microsoft OpenXML docx documents in
OpenOffice : mypapit gnu/linux blog
- Convert OpenXML (.docx, etc.) in Linux using
command line - OpenOffice.org Ninja
- OpenOffice Calc: Charting: Creating a Gantt
chart
- OpenOffice.org Impress: Preparing a Slide Show |
Linux Journal
- Convert SpreadSheets to CSV files with Python and
pyuno, Part 2 | Linux Journal
- Python (pyuno) "Hello World" Addon for OpenOffice |
Linux Journal
- Creating Handouts
- Creating handouts - OpenOffice.org Wiki
- OpenOffice.org Training, Tips, and Ideas: Resizing
the slides in OpenOffice Impress Handouts
This excellent tip comes to me from Robert. You can specify the
number of slides in your Presentation handouts. Click the Handouts
tab at the top of the work area and you get this view. Pick 1, 2,
3, 4,...
- OpenOffice Impress - Adding and formatting
notes
OpenOffice Impress User Guide
- OpenOffice.org Training, Tips, and Ideas: Printing
handouts in OpenOffice.org Impress (repost)
Note: See also a related article I wrote for TechTarget.com on
creating presentations in OpenOffice.org 2.0. Printing handouts is
a little more complicated than it needs to be. Here's the quick
description. With a presentation open, choose File >
Print,...
- Remote Desktop
- TightVNC:
VNC-Based Free Remote Control Solution
TightVNC is a free remote control package derived from the popular
VNC software. With TightVNC, you can see the desktop of a remote
machine and control it with your local mouse and keyboard, just
like you would do it sitting in the front of that computer.
- VNC Reflector
VNC Reflector is a specialized VNC server which acts as a proxy
sitting between real VNC server (a host) and a number of VNC
clients. It was designed to work efficiently with large number of
clients.
- VNCj
VNCj is toolkit for creating 100% Java VNC servers. Using VNCj, you
can create a full graphical user interface (GUI) in Java, using
Swing and AWT, and immediately export it to anyone on the network
with a VNC viewer.
- FreeNX
Free Software (GPL) Implementation of the NX Server
- Synergy
Synergy lets you easily share a single mouse and keyboard between
multiple computers with different operating systems, each with its
own display, without special hardware. It's intended for users with
multiple computers on their desk since each system uses its own
monitor(s).
- GDM logins using VNC
- SSL secures VNC applications
SSL provides a novel mechanism for convenient, secure access of
remote desktops with VNC and standard Web browsers.
- Networking
- Computer Management
- SystemImager
SystemImager is software that automates Linux installs, software
distribution, and production deployment.
- Moodss
and Moomps
Moodss is a modular GUI application that can monitor systems,
networks, and databases. It displays data in graphical viewers,
sends emails and execute scripts on thresholds, archive data in a
SQL database, and includes a daemon for background monitoring.
- OCS Inventory NG
Open Computer and Software Inventory Next Generation is an
application designed to help a network or system administrator keep
track of the computer configuration and software installed on the
network.
- OpenQRM -
Open Resource Manager
openQRM is an open source systems management platform which
integrates with existing components in enterprise data centers.
openQRM is derived from a proven commercial product and distributed
under a modified Mozilla Public License.
- ISPConfig
ISPConfig is an open source hosting control panel for Linux.
ISPConfig is licensed under BSD license.
- Zenoss: Open
Source Network & Systems Monitoring
Zenoss is an enterprise-grade open source monitoring solution built
on the python-based Zope application server. Zenoss Inc. provides
support and professional services for the Zenoss open source
project.
- Custom checks and notifications for Nagios | Linux
Journal
- Ganglia and Nagios, Part 1: Monitor enterprise
clusters with Ganglia
This is the first article in a two-part series that looks at a
hands-on approach to monitoring a data center using the open source
tools Ganglia and Nagios. In Part 1, see how to install and
configure Ganglia, the scalable, distributed monitoring system for
high-performance clusters based on a hierarchical design. Also
learn how to add more monitoring capability by writing Ganglia
plug-ins and by enabling external-source spoofing.
- Ganglia and Nagios, Part 1: Monitor enterprise
clusters with Ganglia
This is the first article in a two-part series that looks at a
hands-on approach to monitoring a data center using the open source
tools Ganglia and Nagios. In Part 1, see how to install and
configure Ganglia, the scalable, distributed monitoring system for
high-performance clusters based on a hierarchical design. Also
learn how to add more monitoring capability by writing Ganglia
plug-ins and by enabling external-source spoofing.
- Ganglia and Nagios, Part 2: Monitor enterprise
clusters with Nagios
This is the second article in a two-part series that looks at a
hands-on approach to monitoring a data center using the open source
tools Ganglia and Nagios. In Part 2, learn how to install and
configure Nagios, the popular open source computer system and
network monitoring application software that watches hosts and
services, alerting users when things go wrong. The article also
shows you how to unite Nagios with Ganglia (from Part 1) and add
two other features to Nagios for standard clusters, grids, and
clouds to help with monitoring network switches and the resource
manager.
- Directories
- Fedora Directory Server
- JXplorer -
an open source ldap browser
A very good one.
- ONLamp.com: LDAP Server Administration with GOsa
GOsa (GOnicus System Administrator) is a web administration tool
for managing accounts and systems in LDAP databases, written in PHP
and licensed under the GNU GPL.
- Centralize user accounts with OpenLDAP
A good article covering many aspects of OpenLDAP.
- LDAP Series Part VI - Directory Service Modeling | Linux
Journal
Just one artical of a good series.
- Documentation - Fedora Directory Server
- LPI exam 301 prep, Topic 305: Integration and
migration
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3)
exam. In this fifth in a series of six tutorials, Sean walks you
through integrating LDAP with your system's logins and
applications. He also details the procedure to integrate your
server into a foreign Microsoft Active Directory.
- Python and LDAP
At some point in their careers, most systems administrators need to
interact with an LDAP server. This article shows how LDAP can be
used for Apache authentication, as well as how to perform CRUD, or
Create, Read, Update, and Delete operations on an OpenLDAP
database, using the Python module python-ldap.
- RSS
- Introduction to Syndication, (RSS) Really Simple
Syndication
- PCWorld.com - News on Demand
A good article. Look at the feature comarison charts if you need to
select one.
- RSS 101
An article
- Linux RSS Feed Readers / News Aggregators
Article
- RSS Jobs - RSS Readers
Article
- BottomFeeder - Cross-platform RSS/Atom News
Aggregator
My favorite. Pretty cool!
- RSSOwl
| RSS / RDF / Atom Newsreader
Applications that collect data from RSS-compliant sites are called
RSS readers or "aggregators." RSSOwl is such an application. It
lets you gather, organize, update, and store information from any
compliant source in a convenient, easy to use interface, save
selected information in various formats for offline viewing and
sharing, and much more.
- Straw,
the GNOME 2 desktop news aggregator
Straw is a desktop news aggregator for the GNOME environment. Its
aim is to be a faster, easier and more accessible way to read news
and weblogs than the traditional web browser.
- Syndigator - an RSS feed reader
Syndigator is an RSS feed reader based on Gtk2 and is targeted
primarily at those people using Linux (since this is the platform
that the developers are using).
- Kiza's Spot: Snownews
Console based.
- weblog for blogreader project
- Dreams Of A Rarebit Fiend
HotSheet is a program that retrieves news headlines from multiple
websites, displays them, and allows you to interact with them (e.g.
to get the story that goes with a particular headline).
- Informa : News Aggregation Library for Java
The Informa library provides a convenient Java API for handling
news channels and metadata about them. Different syntax formats
(RSS 0.91, 1.0, 2.0 and Atom 0.3) for feeds are supported. Also
support for channel information descriptions (OPML) available.
- mozdev.org - forumzilla
Integrates with Mozilla and Thunderbird.
- Site Specific Browsers
- Database
- SwisSQL Stored Procedure Migration Tools.
SwisSQL offers Free Edition for Stored Procedure Migration tools.
The migrations that are possible are : Oracle to SQL Server, Oracle
to DB2, Oracle to Sybase, Oracle to Java, SQL Server to Oracle, SQL
Server to DB2, Sybase to Oracle, Sybase to DB2, DB2 to Oracle, DB2
to SQL Server.
- Daffodil Replicator
Daffodil Replicator is a powerful Open Source data replication tool
that allows bi-directional data synchronization between
heterogeneous databases – Oracle, SQL Server,
Postgre SQL, Derby, Daffodil DB – supporting
JDBC drivers, triggers and procedures.
- Open Source Database Software Comparison
A good one.
- Comparison of different SQL implementations
A good one.
- MySQL
- Integration
- Clustering
- ESB
- Mule--Open Source ESB and Integration Platform
Mule is the leading open source ESB (Enterprise Service Bus) and
integration platform. It is a scalable, highly distributable object
broker that can seamlessly handle interactions with services and
applications using disparate transport and messaging
technologies.
- Apache
Synapse
An ESB implementation
- Mock Web services with Apache Synapse to develop
and test Web services
Apache Synapse is a simple, lightweight, high-performance
enterprise service bus (ESB) released under the Apache License,
Version 2.0 from the Apache Software Foundation. Using Apache
Synapse, you can filter, transform, route, manipulate, and monitor
SOAP, binary, XML, and plain text messages that pass through your
large-scale enterprise systems by HTTP, HTTPS, Java Message Service
(JMS), Simple Mail Transfer Protocol (SMTP), Post Office Protocol
Version 3 (POP3), FTP, file systems, and many other transport
mediums. But for an individual developer, what's the use of an ESB
product in your day-to-day life? The simplicity of the
configuration, out-of-the-box feature set, extensible architecture,
and the minimal footprint makes it a versatile and powerful tool
that you can use for a variety of tasks. This article examines how
you can use Apache Synapse to create mock Web services.
- Groupware
- OpenGroupware.org
A great groupware server.
- PHProjekt -
an open source groupware suite
PHProjekt is a modular application for the coordination of group
activities and to share informations and document via intranet and
internet.
- Zimbra Collaboration Suite, Version 4.5 | Linux
Journal
- GForge
Collaborative Development Environment CDE: Welcome
- dotProject
- dotProject Training Materials and Courseware
Welcome to the dotProject Training Site.This site is established
and managed by Saki Computer Services Pty Ltd, staff of Saki have
been project administrators for dotProject since 2002, and users of
the system since 2001.Good documentation is an extremely resource
and time intensive task and in order to be able to support this
activity here and on the free documentation site
(http://docs.dotproject.net), we have established this resource to
generate a small amount of revenue to support that activity. Your
support of this site is contributing to dotProject's ongoing
development and support in a really positive manner - providing you
with a quality training resource at the same time. We thank you
most sincerely for that support and we will continue to contribute
documentation to the free online documentation site as our primary
concentration.Please ensure that if you kindly purchase one of our
online courses that you purchase just the one, try it and make sure
you are happy with the content before proceeding to the next
course. Where a course is a special sub-set of another
course we have adjusted all of the course summaries to indicate
this.We apologise - for the first period of operation of this
courseware the site will be running on a slow link to the Internet.
If there is enough interest in the site then we will look at
funding the move to a faster link.If you would like to try any of
the free courses - just click on the coursename and we'll log you
straight in as our guest.
- Planning/Scheduling/Tracking
- VTCalendar
A nice event calendar
- WebCalendar
WebCalendar is a PHP-based calendar application that can be
configured as a single-user calendar, a multi-user calendar for
groups of users, or as an event calendar viewable by visitors.
- WebCalendar
Another good web calendar
- XPlanner
Home
XPlanner is a project planning and tracking tool for eXtreme
Programming (XP) teams.
- TimeSleuth
TimeSleuth is a system for recording the amount of time spent
performing activities such as consulting, project work, etc., and
producing useful reports such as time sheets and summaries from the
recorded data.
- WR Time Tracker
WR Time Tracker is a simple, open source, web-based time tracking
system.
- plan -
calendar and day planner
A good one.
- MultiSync - A Synchronization Tool
MultiSync is a modular program to synchronize calendars,
addressbooks and other PIM data between programs on your computer,
other computers, mobile devices, PDAs or cell phones.
- Personal Information Management Systems
- Office / Project Management Software
- Taskjuggler - Project Managers Delight - Home
A comprehensive project management tool.
- Chandler, a next-generation Personal Information Manager
(PIM) integrating calendar, e-mail, contact management, task
management, notes, and instant messaging
Nice look and feel.
- ProjectKoach - a light-weight tool for agile project
management
Good Software, delivers better solutions for modern software
teams
- Wilos
Is a cLever process Orchestration Software | Open source process
& project management
- Bug Tracking
- Mantis Bug
Tracker
Mantis is a popular free web-based bug tracking system. It is
written in the PHP scripting language and works with MySQL, MS SQL,
and PostgreSQL databases and a webserver. Mantis has been installed
on Windows, Linux, Mac OS, OS/2, and others. Almost any web browser
should be able to function as a client. It is released under the
terms of the GNU General Public License (GPL).
- Ontology
- PC Benchmark
- Roy Longbottom's PC Benchmark Collection
- PerfSuite
PerfSuite is a collection of tools, utilities, and libraries for
software performance analysis where the primary design goals are
ease of use, comprehensibility, interoperability, and
simplicity.
- Linux hardware stability guide, Part 1
- CPU Burn-in Homepage
CPU Burn-in v1.01 by Michal Mienik is the ultimate stability
testing tool for overclockers. The program heats up any x86 CPU to
the maximum possible operating temperature that is achievable by
using ordinary software.
- Memtest86 -
Memory Diagnostic Page
Memtest86 is thorough, stand alone memory test for x86 architecture
computers.
- freshmeat.net: Project details for kernbench
kernbench is a CPU throughput benchmark. It is designed to compare
kernels on the same machine, or to compare hardware.
- Haveland-Robinson Associates - Home Page
- bandwidth: a benchmark - memory
This is an artificial benchmark for measuring memory bandwidth,
useful for identifying a computer's weak areas.
- Linux hardware stability guide, Part 2
- Search Engines
- Use IBM OmniFind Yahoo! Edition REST APIs
Learn how you can easily access a freely downloadable search
engine, IBM OmniFind Yahoo! Edition, from your custom
applications.
- Nutch
Nutch provides a transparent alternative to commercial web search
engines.
- Jakarta Lucene
Jakarta Lucene is a high-performance, full-featured text search
engine library written entirely in Java. It is a technology
suitable for nearly any application that requires full-text search,
especially cross-platform.
- java.net: Lucene Intro
An introductory article/tutorial on Lucene.
- Communication
- Reporting
- Advanced charting in BIRT
Since 2004, the Eclipse-based Business Intelligence and Reporting
Technology (BIRT) community has grown and gained massive success.
This success is growing as more users are starting to integrate
with BIRT technology to present business data. A key reason for
this success is that users are discovering the rich BIRT reporting
components. The BIRT charting capabilities is one of the rich
components that allow the end user to uncover trends in data to
answer business questions. BIRT provides extensive interactive
charting and other advanced features to allow report developers to
create professional-looking reports.
- Introduction to BIRT, Part 1
Learn how to install the Eclipse Business Intelligence and
Reporting Tools (BIRT) plugins, create a new reporting project,
create a new report, and connect the report to an Apache Derby (IBM
Cloudscape) database.
- Introduction to BIRT, Part 2
This demo shows how to create a data set from a data source created
in Part 1, build an SQL query, build a table, preview a report, and
run the report using the Business Intelligence and Reporting Tools
(BIRT) viewer.
- JMagallanes
- Pentaho
Commercial Open Source Business Intelligence: Reporting
Project
- JasperReport
- Data Mining
- Data Manipulation
- Security
- Misc
- Coefficient - coefficient
Coefficient is a scalable open source project based collaboration
platform that can run in J2EE and web application containers. It
currently provides basic collaboration tools as hot deployable
modules. It also provides a workflow engine to help guide projects
through their development cycle.
- AWStats
AWStats is a free powerful and featureful tool that generates
advanced web, ftp or mail server statistics, graphically.
- Open Tax Solver
OpenTaxSolver (OTS) is an easy-to-use free program for calculating
Tax Form entries and tax-owed or refund-due, such as Federal or
State personal income taxes.
- Google
Code
Google Code is Google's place for Open Source software. You find
projects and APIs.
- DataVision
DataVision is an Open Source reporting tool similar to Crystal
Reports. Reports can be designed using a drag-and-drop GUI. They
may be run, viewed, and printed from the application or exported as
HTML, XML, PDF, LaTeX2e, DocBook, or tab- or comma-delimited text
files.
- Boa
Webserver
A tiny webserver particularly for embedded systems.
- Workrave
Workrave is a program that assists in the recovery and prevention
of Repetitive Strain Injury (RSI). The program frequently alerts
you to take micro-pauses, rest breaks and restricts you to your
daily limit.
- Computer Laboratory - Xen virtual machine
monitor
Xen is a virtual machine monitor for x86 that supports execution of
multiple guest operating systems with unprecedented levels of
performance and resource isolation.
- LogMiner
LogMiner is a powerful log analysis package for Apache (or other
web servers using the combined log format).
- :: SiteBar :: The
Online Bookmark Manager | The Bookmark Server
SiteBar is a solution for people who use multiple browsers or
computers and want to have their bookmarks available from anywhere
without need to synchronize them or take them along.
- WinSCP :: Freeware SFTP and SCP client for
Windows
- Grisbi -
Personal Finance Manager for all
Grisbi is a personnal accounting application running under
GNU/Linux and Windows, released under the GPL licence.
- Checkpointing.org - The home to checkpointing
packages
The softwares found here are about taking "snapshot pictures" of
running applications for later use.
- Dr. Dobb's | Checkpointing, CHPOX, and Linux | April 21,
2006
- UW Classroom Presenter
The basic goals of Classroom Presenter are to provide instructors
with increased flexibility in delivering a presentation and to
facilitate interaction with the audience. Presenter is a
distributed presentation system for the Tablet PC.
- Implement business logic with the Drools rules
engine
Use a declarative programming approach to write your program's
business logic.
- Using Inkspace
- Tesseract: an Open-Source Optical Character Recognition
Engine | Linux Journal
- phplist.com :
Homepage : home
- chrysocome.net
Rawwrite for Windows - a low level copy tool for Windows.
- Azureus : Java BitTorrent Client
- Microsoft's TrueType core fonts on rpm based
systems
- Winmail.dat opener
Online opener of winmail.dat files
- Exploring Space with Celestia | Linux
Journal
- Rapid Application Development
- Mobile
- Installers
- Automation for the people: Wielding wizard-based
installers
Installing software is often a painful chore for most users. The
installation package you generate -- the 'last mile' of software
development -- can make the difference between user adoption and
another product thrown into the virtual waste bin. In this
installment of Automation for the people, automation expert Paul
Duvall demonstrates how the freely available, open source IzPack
tool for writing wizard-based installers can make installing your
software a snap for users.
- Human/Computer Interface
- Touchlib - Home
Touchlib is a library for creating multi-touch interaction
surfaces.
Corporate Governance
IT Governance
- Need for ICT Governance and Management Standards,
October 2006
- The governance landscape: Steering and measuring
development organizations to align with business strategy
from The Rational Edge: Are you seeking a clear explanation of
organizational governance? This paper describes different levels of
governance and how they affect critical management concerns such as
productivity and risk. It also explores the link between good
governance and the ability of software development organizations to
align their processes with business strategy.
- Frameworks
- COBIT
- COBIT
COBIT is an IT governance framework and supporting toolset that
allows managers to bridge the gap between control requirements,
technical issues and business risks.
- COBIT Case Studies
Control Objectives for Information and Related Technology, (COBIT)
a generally applicable and accepted standard for good Information
Technology security and control practices that provides a reference
framework for management, users, and IS audit, control and security
practitioners.
- AS 8015
- Publication Details - AS 8015-2005 Corporate
governance of information and communication technology
Australian standards, ISO standards, European standards, Irish
Standards, International standards, IEC standards, ANSI standards,
Engineering standards, technical specifications, specifications and
technical information for engineers, ETSI standards, Business
standards, Telecommunication standards\
- AS 8015 (2005) - Australian Standard for Corporate
Governance of ICT
Overview of AS8015-2005 Australian Standard for the Corporate
Governance of ICT
- AS 8015 (2005) - Australian Standard for Corporate
Governance of ICT
Overview of AS8015-2005 Australian Standard for the Corporate
Governance of ICT
- AS8015 - Wikipedia, the free encyclopedia
- ISO/IEC 38500
- ITIL
- REF (from CERT)
- Bodies/Organizations
- Books
- Newsletters
- News/Resource Sites
- Webinars/Podcasts
- Strategic Alignment
- Investment
- Compliance
- Auditing
- The State of IT Auditing in 2007 - EDPACS: The EDP
Audit, Control, and Security Newsletter
Summing-up the state of such a broad professional field in just a
few short pages is not easy so, in place of a thousand words, here
is a picture. Thi...
- The Vital Need For Quality Internal
Auditing
Compliance Week is a newsletter on corporate governance and
compliance issues that reaches over 40,000 financial and legal
executives at U.S. public companies.
- Organizational Governance: Guidance for Internal
Auditors
Known to be a landmark publication.
- Current Position Papers - The Institute of Internal
Auditors
The Institute of Internal Auditors (IIA) is an international
professional association of more than 120,000 members. Throughout
the world, we are recognized as the internal audit profession's
leader in guidance, certification, education, and research.
- The Role of Auditing in Public Sector Governance
- 20 Questions Directors Should Ask about Internal
Audit
A really good document including guidelines as well.
- Government of Canada - Audit Related
Guidelines/Documents
- GTAG11 - Developing the IT Audit Plan
The Institute of Internal Auditors (IIA) is an international
professional association of more than 120,000 members. Throughout
the world, we are recognized as the internal audit profession's
leader in guidance, certification, education, and research.
- IT Resources - The Institute of Internal
Auditors
The Institute of Internal Auditors (IIA) is an international
professional association of more than 120,000 members. Throughout
the world, we are recognized as the internal audit profession's
leader in guidance, certification, education, and research.
- ITAC Publications
- FFIEC Information Technology Examination
Handbook
- Systems Development Life Cycle and IT
Audits
- Systems Development Life Cycle and IT
Audits
- Ethics and Auditing (A book)
- IT Control Objectives for Sarbanes-Oxley 2nd
Edition
Validate your IT control compliance against SOX.
- Guide to the Assessment of IT Risk (GAIT) - The
Institute of Internal Auditors
The Institute of Internal Auditors (IIA) is an international
professional association of more than 120,000 members. Throughout
the world, we are recognized as the internal audit profession's
leader in guidance, certification, education, and research.
- Calabrese’s Razor «
Righteous IT
Metrc based evaluation of the relative importance of different
controls.
- STSC CrossTalk - Management’s
Inspection Responsibilities and Tools for Success - Mar/Apr
2009
There are many pitfalls that cause software inspections to fail.
This article addresses management’s critical
role in preventing these pitfalls to attain successful inspections.
In addition to meeting their responsibilities, management needs a
comprehensive computerized set of tools to support their efforts.
By carrying out their responsibilities—supported
by inspection-specific tools—management will be
better equipped to implement sustained successful project
inspections that consistently reap the benefits of lower project
cost and high product quality.
- Assessing the "readiness" for an IT project -
AuditNet Internet Resources for Auditors
AuditNet, the Web portal and online community for the audit
profession provides free audit work programs, ICQ's, checklists,
monographs, workpapers, job opportunities and more.
- Security
- Why is Security a Software Issue? - EDPACS: The EDP
Audit, Control, and Security Newsletter
Software is everywhere. It runs your car. It controls your cell
phone. It's how you access your bank's financial services, receive
electricity and nat...
- The IT disaster recovery plan
Continuity Central provides a constantly updated one-stop resource
of business continuity and disaster recovery information. Expert or
novice, Continuity Central will meet your needs, keeping you
up-to-date with everything that happens in this fast changing
market and enabling you to rapidly and comprehensively research the
subject.
- UK government publishes final version of
‘A national framework for responding to an
influenza pandemic’
Continuity Central provides a constantly updated one-stop resource
of business continuity and disaster recovery information. Expert or
novice, Continuity Central will meet your needs, keeping you
up-to-date with everything that happens in this fast changing
market and enabling you to rapidly and comprehensively research the
subject.
- Security Governance
- Books
- The Definitive Handbook of Business Continuity
Management
Continuity Central provides a constantly updated one-stop resource
of business continuity and disaster recovery information. Expert or
novice, Continuity Central will meet your needs, keeping you
up-to-date with everything that happens in this fast changing
market and enabling you to rapidly and comprehensively research the
subject.
- Computers at Risk: Safe Computing in the
Information Age
Computers at Risk presents a comprehensive agenda for developing
nationwide policies and practices for computer security. Specific
recommendations are provided for industry and for government
agencies engaged in computer security activities.
- Resource Sites
- Information Security: Covering today's security
topics
Find the latest information on Internet Security, Access Control
Management, Network Security and more.
- Security School Course Catalog from
SearchSecurity.com
Free online security training led by information security experts
on the latest security topics such as Sarbanes-Oxley compliance,
intrusion prevention, access management, CISSP certification, email
security, Web security and more.
- CERT's
Podcast Series: Security for Business Leaders
- ENISA:
Index
The European Network and Information Security Agency, ENISA, is a
new agency of the European Union. Formally, ENISA came into being
on 14 March 2004, following the adoption of Regulation (EC) No
460/2004 of the European Parliament and of the Council on 10 March
2004. The Executive Director, was nominated by the Management Board
and later appointed by the European Parliament on 6 October, 2004.
Operations started 1, September, 2005, in Crete, after successful
EU25-wide competitions and recruitment of skilled candidates from
all over Europe. The Agency's work is essential to achieve a high
and effective level of network and information security within the
Community. It will seek to develop a culture of network and
information security for the benefit of citizens, consumers,
business and public sector organisations in the European Union.
This will also contribute to the smooth functioning of the Internal
Market. As its in-house expertise grows, ENISA shall help the
Commission, the Member States and, consequently, the business
community to address, respond and especially to prevent network and
information security problems. The Agency shall also assist the
Commission in the technical preparatory work for updating and
developing Community legislation in the field of network and
information security.
- ENISA : Publications & Deliverables
- Whitepapers - www.technicalinfo.net
- Privacy
- Wireless
- News
- SDLC
- STSC CrossTalk - Practical Defense in Depth - Sep
2008
As part of its ongoing commitment to Bill Gates’
vision of Trustworthy Computing, Microsoft officially adopted
important security- and privacy-related disciplines to its software
development process. These changes, called the Security Development
Lifecycle (SDL) have led to a demonstrable reduction in security
vulnerabilities in products such as Microsoft’s
Windows Vista operating system and its SQL Server 2005 database.
The purpose of this article is not to describe the SDL in detail,
but to outline some of the practical defensive measurements in use
at Microsoft required by the SDL. If Microsoft’s
SDL is new to you, refer to the sidebar, “A
Brief SDL Overview.â€
- STSC CrossTalk - Enhancing the Development Life
Cycle To Produce Secure Software - Sep 2008
Over the past decades, efforts to enhance software development life
cycle (SDLC) practices have been shown to improve software quality,
reliability, and fault-tolerance. More recently, similar strategies
to improve the security of software in organizations such as
Microsoft, Oracle, and Motorola have resulted in software products
with less vulnerabilities and greater dependability,
trustworthiness, and resilience. In its mission to improve the
security of software used in America’s critical
infrastructure and information systems, the Department of Homeland
Security’s (DHS) Software Assurance Program has
sponsored the creation of the book Enhancing the Development Life
Cycle to Produce Secure Software , a source of practical
information intended to help developers, integrators, and testers
identify and systematically apply security and assurance
principles, methodologies, and techniques to current SDLC
practices, and thereby increase the security of the software that
results. Unlike the numerous other books on secure software
development, Enhancing the Development Life Cycle does not espouse
any specific methodology, process model, or development philosophy.
Instead it explains the essentials of what makes software secure,
and takes an unbiased look at the numerous security principles and
secure development methodologies, practices, techniques, and tools
that developers are finding effective for developing secure
software – information that readers can leverage
in defining their own SDLC security-enhancement strategies.
- STSC CrossTalk - Hazardous Software Development -
Sep 2008
Developing safety-critical software is often an extremely
complicated process, and if managed incorrectly could have the
tendency to cause more harm than good. In order to deal with the
challenge of writing safety-critical software, certain
considerations must be followed. Different case studies will be
used in this article to illustrate points about the ethics
standards, hazard identification challenges, and aftermath
management techniques needed to effectively manage the development
and deployment of safety-critical software.
- Misc
- PCI
- e-Book: "PCI for Dummies"
Qualys, Inc. provides on demand vulnerability management solutions
to identify and fix network security vulnerabilities and ensure
security compliance.
- Performance/Measurement/Benchmarking
- Outsourcing
- Data Governance
- Executing a data governance strategy: Data
Protection Security School: Security Schools:
SearchSecurity.com
Russell L. Jones of Deloitte & Touche on how to build an
enterprise data governance strategy; learn to plan, organize and
implement policies and procedures that secure application
data.
- Best Practices for Protecting Critical Business
Data
We live in an information age. In this era, even the smallest of
businesses must manage large volumes of paper and electronic
records, often juggling data in multiple formats and across
distributed locations, to serve customers. Protecting this
information and managing it properly is paramount to ensuring a
company's success, both now and in the future. An effective data
protection strategy safeguards data against disaster and would-be
identity thieves and restores it in the event of destruction,
damage or loss. Additionally, the right plan ensures companies
comply with broad and industry-specific regulations for managing
that information. Regardless of its size or industry, an
organization requires a data protection program that mitigates
risk, reduces cost, ensures compliance and improves overall
operations.
- Playing It Safe: How to Protect and Share Sensitive
Data with Third Parties | Deloitte Insights podcast - Deloitte
LLP
Sharing sensitive data with third parties may be necessary, but it
always carries a degree of risk.To use our embedded media player,
please install the latest version of Macromedia Flash Player.
  Download | Subscribe:  Email
| Â iTunes | Â RSS (What is
RSS?)Â We may have many friends, but
we’re willing to confide only in a few. Why do
we choose to share something personal with one person and not with
another — and what happens when that person
violates our trust? Companies have to make those very
- How to conduct a data classification
assessment
Before data protection is possible, businesses must learn how to
conduct a data classfication assessment. Tom Bowers explains.
- Development Governance
- Development governance for software
management:
Read how key performance indicators (KPIs) can be derived from a
Rational infrastructure to gain insight into and exert management
control with respect to development processes. Look for the Webinar
link at the end of this article.
- Achieving governance goals with GQM
from The Rational Edge: Read how the Goal-Question-Metric Approach
(GQM) provides a way for whole teams, or individual team members,
to better understand the role they play in successful software
development.
- Business Continuity/Disaster Management/Recovery
- Failures
- Lean
- Risk
- Guide to the Assessment of IT Risk (GAIT)
The Institute of Internal Auditors (IIA) is an international
professional association of more than 120,000 members. Throughout
the world, we are recognized as the internal audit profession's
leader in guidance, certification, education, and research.
- SaaS (Software As A Service)
- Misc
- CareerJournal | Should Employees Be Allowed To Try
Out New Technologies?
Human Resource Management Journal - Human resource articles and
information from the experts at Career Journal. Read professional
human resource management topics and stories from some of the most
highly regarded people in the human resource field
- Survey of IT Governance Instruments, Standards,
Guides, Regulations, Laws and Frameworks
Discussion Paper on IT Governance and Management Standards
- IT Governance Global Status Report - 2008
IT Governance Global Status Report - 2008
- IBM Global Business Services - The Global CFO Study
2008
Balancing risk and performance with Integrated Finance
Organization
- IT
Unified Compliance Framework: Harmonized Policy Controls
What We DoThe Unified Compliance Framework (UCF) is the first and
largest independent initiative to map IT controls across
international regulations, standards, and best practices.
- Corporate social responsibility - Wikipedia, the
free encyclopedia
- Tone From the Top
Making process improvement a reality - you need a sound business
case.
- Information Technology Process Institute - Research,
Benchmarking, Prescriptive Guidance
The Information Technology Process Institute is a not-for-profit
organization seeking to improve IT service management
- IT Process Institute White Papers
The Information Technology Process Institute is a not-for-profit
organization seeking to improve IT service management
- Information Technology Control Guidelines, 3rd Edition
(1998)
- British Airways: A Case Study in
‘Lean’ IT
Savings of £100M per year after two years just from a
little process reengineering and a new focus on
IT’s interface with the customer, writes
CIOUpdate columnist Laurie Orlov.
- AIS Electronic Library (AISeL) - Susan Foster, Paul
Hawking, and Andrew Stein: Change Management: The Forgotten
Critical Success Factor In Enterprise Wide System
Implementations
- AIS Electronic Library (AISeL) - Ernest Jordan and David
Musson: Corporate Governance and IT Governance: exploring the
board's perspective
- A
glossary from ISACA
Pretty good.
- Review of the Australian Government's Use of
Information and Communication Technology
- Why Does It Depend?
Where a group should begin their ITSM journey?
- ITGI: An Executive View of IT Governance
- STSC CrossTalk - Software Assurance Practice at
Ford: A Case Study - Mar/Apr 2009
Software pervades our technological society, handling our financial
transactions, managing power transmission, facilitating most forms
of communication, and keeping us safe. This makes defects in
software one of the most potent threats to our national security,
and turns identification of best practices in software development,
acquisition, and long-term use the highest national priority. This
article presents the best practices employed by the Ford Motor
Company to develop and maintain their software assets.
Enterprise Architecture
- Introductory
- An Introduction to Enterprise
Architecture
Author Gabriel Bechara delivers a simplified, top-down approach to
enterprise architecture in the context of SOA (service-oriented
architecture). He focuses on information technology and how to
build a better alignment between business and IT.
- Architecture principles: Creating the foundation
for robust architecture
The answer to 'What is architecture?' depends on who you ask. What
it takes to develop a strong architecture is even more difficult to
define. However, there are well-known tenets you should employ when
doing architecture. In this article you explore one of these
tenets: architecture principles.
- Enterprise IT architect: Meet the new kid on the
block
A new role is developing in IT shops around the world: the
enterprise IT architect. Discover why this role is critical for
your software development team, and your entire organization, to
move forward. Learn which skill sets are required for this position
and the role an enterprise IT architect plays in assisting chief
information officers (CIOs) and other decision makers in providing
high-quality IT services. And get direction on how to get certified
as an IT architect.
- Exploring IT architecture disciplines, Part 1:
Build an enterprise architecture
- Exploring IT architecture disciplines, Part 2:
Begin with the business architecture
When you build an enterprise architecture, you must start at the
beginning -- that is, with a full understanding of the nature of
your business. The best way to do that is to map the business
itself to an architecture of its own, then use that map as the
basis for all other architectural components. In this article --
the second in a series outlining the makeup of enterprise
architectures -- you learn how to do just that.
- Exploring IT architecture disciplines, Part 3: Move
on to the information architecture
As you progress toward the design of your enterprise architecture,
you must supplement your new business architecture with an
information architecture -- an architecture that outlines
mission-critical information and how to store it, protect it, and
manage it. Learn how to design and maintain an information
architecture for your organization.
- Exploring IT architecture disciplines, Part 4:
Update your infrastructure architecture to serve and protect your
enterprise
Update your existing infrastructure architecture with validation
and possible realignment of the infrastructure to meet the
requirements outlined in both your business and the information
architectures.
- Exploring IT architecture disciplines, Part 5: Use
an application architecture to bring your developers into the
corporate fold
To make the most of existing investments in IT, the development
architecture must be designed after the infrastructure
architecture. Now that you have worked out the infrastructure
architecture, you can proceed to the development architecture and
help make your developers full-fledged corporate citizens.
- Exploring IT architecture disciplines, Part 6:
Build the integration architecture
A key aspect of any enterprise architecture is the integration of
all the parts and pieces. This is the purpose of the integration
architecture -- to make sure that everything works smoothly.
Designing this architecture is the sixth step in the enterprise
architecture process, the step where everything comes
together.
- Exploring IT architecture disciplines, Part 7:
Operations architecture
Because they are responsible for making sure that everything works
as advertised, operations personnel often feel as if they have the
weight of the world on their shoulders. And because the
architecture must work as promised, this phase is crucial to the
entire design process. This article -- the last installment in this
series on enterprise architecture -- introduces the final
architecture in the enterprise architectural design: the operations
architecture.
- The Convergence of Strategy, Performance and
Enterprise Architecture in the US Federal Government
A good view is provided here.
- Frameworks
- Zachman Framework
- TOGAF
- Department of Defence Architecture Framework
- Misc
- ITIL
(IT Infrastructure Library) and ITSM Directory
The IT Infrastructure Library, ITIL, is a series of documents that
are used to aid the implementation of a framework for IT Service
Management (ITSM). This framework defines how Service Management is
applied within specific organisations.
- Information Architecture
- Information Architecture 101: A crash course for
the enterprise architect
- User experience case studies
Provide insight into the process of IA.
- BoxesAndArrows.com
Hundreds of articles on a wide variety of information architecture,
usability, and user experience topics.
- The
IAWiki
- Explore the different approaches to information
management in SOA
Demonstrates how to leverage the power of information management
for Service-Oriented Architecture (SOA)-based modeling,
architecture, design, and implementation.
- Louis
Rosenfeld
A top practitioner of IA and coauthor of the seminal Information
Architecture for the World Wide Web published by O'Reilly
- Triple Dog Dare Media
Download EZCalc and USort - For cluster analysis
- Information service patterns, Part 4: Master Data
Management architecture patterns
Master Data Management (MDM) brings you a methodology for
maintaining consistent data across diverse business functions.
- STSC CrossTalk - The Defense Technical Information
Center: Information for the Defense Community - Dec 2008
We all seem to be doing more with less these days. Take a few
minutes to learn about what is available at the Defense Technical
Information Center (DTIC), an organization that can save you time
and money. The DTIC offers a world of information at your
fingertips, whether you use a desktop or a laptop. The DTIC has
information that is from the defense community, about the defense
community, and for the defense community.
- Infrastructure Architecture
- Infrastructure architecture essentials, Part 1:
Build a reliable yet inexpensive infrastructure
architecture
Building a highly reliable architecture doesn't have to cost a
fortune. Simple steps and a bit of bargain hunting can ease the
strain on your budget.
- Infrastructure architecture essentials, Part 2:
Find, avoid, and eliminate system bottlenecks
Systems will always have resource limits that define performance
bounds. The term 'bottleneck' implies that a system has a resource
imbalance and therefore a rate-limiting stage in processing that
leaves costly resources underutilized. In theory, a perfectly
resource-balanced, infinitely scalable system should never have a
bottleneck or wasted resources. Discover methods and tools for
finding, eliminating, and avoiding system bottlenecks so that you
can provide the highest performance at the lowest cost for
applications and users.
- Big iron lessons, Part 3: Performance monitoring
and tuning
For many developers and engineers, performance is often an
afterthought. But when a product functions as designed and has
proven stability and the right feature mix, success in the
marketplace often depends upon performance. Architectural decisions
define the ultimate feasible performance of any product. In this
article, learn how performance-monitoring technology initially
developed for mainframes can help you improve your own code's
performance.
- Big iron lessons, Part 4: Power, cooling, and
performance: Find the right balance
The z990 mainframe system uses active cooling with cycle steering
to achieve balance. See how you can incorporate similar emergent
cooling and adaptive power control methods into your embedded
system designs.
- Infrastructure architecture essentials, Part 3:
System design methods for scaling
In an ideal world, all systems would have linear scaling of all
resources with linear cost, but this is rarely the case. Cost may
include not only capital expenditures but operational costs for
increased cooling, power, rack space, and management requirements.
System designers and solution architects who plan ahead for scaling
can at least control cost, make initial trade-offs for the long
term, and provide mostly linear scaling with similar increases in
capital and operating costs. Choosing the right scaling
strategy--ranging from simple server-client to clusters to grid,
cloud, or general Internet services--up front is critical. This
article arms systems designers and solution architects with methods
for success.
- Common Information Model (computing) - Wikipedia,
the free encyclopedia
- DMTF - Common Information Model (CIM)
The DMTF is the industry organization that is leading the
development, adoption and unification of management standards and
initiatives for desktop, enterprise and Internet environments.
- Infrastructure architecture essentials, Part 4:
Scalable enterprise systems management
Discover the methods used to manage enterprise resources, including
storage, compute nodes, switches, and the data and services that
this infrastructure provides.
- Business Process/Modeling
- Learn business process modeling basics for the
analyst
Basics, as they say.
- Business Process
Management Initiative
Defines standards for business process modeling, including a
language with which to specify business processes, their
tasks/steps, and the documents produced.
- Using a phased methodology in business process
management
Using a phased methodology in process management can drive a
balanced view of the future for companies redesigning internal
processes. Learn about the steps involved in typical process
management phases and how to establish a phased methodology in your
organization.
- Business modeling with UML: Understanding the
similarities and differences between business use cases and system
use cases
A wonderful article. Nicely explains how business operations map
into a system design.
- Architecture in practice, Part 6: Why Business
Process Management (BPM) is important to an enterprise
This installment in the Architecture in practice column focuses on
why business process management (BPM) is imperative for both the
business and IT. Effective management of business processes is
essential for driving business agility in an enterprise. Get an
introduction to BPM and its lifecycle phases, and learn how it is
complementary to Systems-Oriented Architecture (SOA).
- Execute business processes with Eclipse
Everyone -- from consultants and analysts to architects and
engineers -- has ideas. But implementing a new idea can be
challenging, requiring knowledge of an unfamiliar development
language or hiring costly developers. What if there was a way to
create an executable business process using a graphical editor that
can ultimately be executed on an appropriate engine? Well, there
is. Using the Eclipse STP BPMN Modeler, you can graphically create
a business model represented in XML that can be converted to an
executable using Eclipse ATL that will ultimately deploy on Apache
ODE.
- Governing and managing enterprise models: Part 1.
Introduction and concepts
This is part Part 1 of a multipart article series about discussing
governance and management of enterprise models -- models that have
value across an entire company, region, or division. This first
part introduces the topic.
- Governing and managing enterprise models: Part 2.
Generic procedures
This is Part 2 of a six-part series of articles about governance
and management of enterprise models -- models that have value
across an entire company, region, or division. This part discusses
detailed procedures for the governance and management of enterprise
models. The procedure descriptions in this part are
tool-agnostic.
- Patterns
- IBM Patterns for e-business
IBM's Patterns for e-business are a group of pre-tested, reusable
assets that can help speed the process of developing Web-based
applications.
- Defining SOA as an architectural style
Define Service-Oriented Architecture (SOA) as an architectural
style to promote business-aligned enterprise services as the
fundamental unit for designing and building solutions. Discover how
SOA helps you to create a true alignment between business and IT
and explore a pattern language that can be used to implement this
architectural style.
- IBM Patterns for e-business Resources
Patterns for e-business resources feature Redbooks and White
Papers, Independent Analyst Reports and Customer References,
Multimedia presentations and WebCasts.
- Patterns-discussion FAQ
- Software Assurance
- Build Security In Home
Superior content! Build Security In (BSI) contains and links to
best practices, tools, guidelines, rules, principles, and other
resources that software developers, architects, and security
practitioners can use to build security into software in every
phase of its development. BSI content is based on the principle
that software security is fundamentally a software engineering
problem and must be addressed in a systematic way throughout the
software development life cycle.
- Books
- Misc
- Energistics (Petrotechnical Open Standards
Consortium)
The energy standards resource center (Oil/Gas)
- MIT Total Data Quality Management Program and the
International Conference on Information Quality
- TDWI: Business
Intelligence and Data Warehousing Education, Research, and
Community
TDWI is the premier provider of in-depth, high quality education
and reasearch in the Business Intelligence and data warehousing
industry. TDWI is your source for strategies, techniques, and tools
required to successfully design, build, and maintain business
intelligence and data warehousing applications.
- Enterprise architecture essentials, Part 2: Develop
and manage an enterprise architecture repository
In this article, explore the structural and management issues
around the creation of a robust enterprise architecture repository,
which can allow you to fully exploit your companies existing
assets.f
- Federal Chief
Information Officers Council
CIO.gov is the website for the United States Chief Information
Officers Council
- STSC CrossTalk - Software System Engineering: A
Tutorial - Oct 2007
Applying system-engineering principles specifically to the
development of large, complex software systems provides a powerful
tool for process and product management. Software engineering has
its early roots in system engineering which is reflected in their
many common terms. This article discusses a merger between system
engineering and software engineering called software system
engineering. System engineering looks at controlling the total
system development including software. Software engineering looks
at controlling just software development. (System engineers would
call software engineering component engineering.) The application
of system engineering to the development of software gives a large
measure of control software development.
- Exploring the fundamentals of architecture and
services in an SOA, Part 2: The importance of business
architecture, model-driven development, and reusing existing
assets
In this second article in the series, get a closer look at
architecture--this time at the business level. Learn about
model-driven development (MDD), and reusable asset frameworks and
types, which can be leveraged when architecting Service-Oriented
Architecture (SOA) solutions.
- Sarbanes-Oxley Report
Not tightly about IT
- IT Today: For today's technology leaders
- Governing your value stream: A foundation for lower
IT costs and increased returns
from The Rational Edge: This article explains how the formation of
a value stream through an IT organization (the linking of value
chains and supply chains) is accomplished through the application
of deliberate IT governance and project and portfolio management
practices.
- The professional architect: Part 3: The business
case for enterprise data architecture
Good enterprise data architecture requires adherence to a new type
of discipline--and an extensive array of IT and business
resources--in order to earn the needed commitment from your
sponsoring organization. By understanding the overall landscape of
affected applications and gathering useful metrics, you can make
this commitment easier to achieve. In this article, I'll describe
how to communicate the value of enterprise data architecture, and
how to keep on track and deliver what you promised.
- EACOE -
Enterprise Architecture Center of Excellence
The EACOE enterprise architect certification offers the best
enterprise architecture skills in the industry. We will equip you
with tools every enterprise architect needs.
- Considering the layers of the enterprise
architecture |Real World SOA | David Linthicum |
InfoWorld
Just as a well-designed operating system will provide a stable
platform for computing, so will a well-designed enterprise
architecture/SOA
- Traceability solution blueprint for business
performance optimization, Part 1: Understanding the architecture of
a comprehensive track-and-trace solution
Product traceability is an essential requirement in many industries
today. In this article, learn about a proven architecture blueprint
for traceability solutions. After a component model explanation,
the article provides a product mapping to the IBM software stack
and introduces key capabilities of various products relevant for
this architecture solution blueprint. You'll get a comprehensive
overview of how IBM InfoSphere (TM) Traceability Server,
WebSphere(R) Premises Server, IBM InfoSphere Master Data Management
Server for Product Information, and other products work together to
capture the essential data, deliver it reliably, store the data
securely, and make it available through the appropriate analytic
tools to solve supply chain problems.
Service Oriented Architecture
- Introductory
- Revisiting the definitive SOA definition
Many definitions!
- developerWorks : SOA and Web services : New to SOA
and Web services
Introductory material from IBM
- Service
Oriented Architecture
IBM on SOA
- SOA Details
IBM Developerworks on SOA
- Arch2Arch: Service-oriented Architecture (SOA)
Service-oriented Architecture (SOA) Center on BEA's Arch2Arch.
Service-oriented architecture (SOA) is a design methodology aimed
at maximizing the reuse of application-neutral services to increase
IT adaptability and efficiency. While these concepts ...
- SOA development and best practices
The SOA and Web services space gives developers, architects and
decision-makers a variety of techincal content - articles,
tutorials, workshops and interactive community tools - that help
with SOA development, implementation and management.
- Service Oriented Architecture
Sun Microsystems on SOA
- IBM's SOA Foundation. An architectural introduction
and overview
A very good read for architects and technical people focusing on
many aspects of SOA. Also introduced is the vision of IBM on
SOA.
- BEA's SOA Reference Architecture - A Foundation for
Business Agility
BEA's SOA Reference Architecture offers an architectural framework
for planning SOA-based projects that maximize interoperability and
reuse.
- Introduction to SOA for managers
Learn about the value proposition for SOA and adoption
strategies.
- developerWorks : Podcasts : WebSphere
Good resources on SOA
- SOA: Glossary - IBM
A service-oriented architecture (SOA) provides an application
framework that turns business applications into individual business
functions and processes, called services. IBM has proven
experience, software, and services to help implement an SOA
solution that enables business process flexibility.
- Insight and outlook, Part 1: Why and when should
you choose SOA?
IBM technical leaders answer pressing questions about IT
architecture.
- ONJava.com: An Introduction to Service-Oriented
Architecture from a Java Developer Perspective
- Java(TM) Boutique - Service Oriented Architecture - Part
1
- Java(TM) Boutique - Service Oriented Architecture -
Part 2 - Page 1
- Java(TM) Boutique - Tutorial - Service-oriented
Architecture, Part 3
- Defining SOA as an architectural style
Define Service-Oriented Architecture (SOA) as an architectural
style to promote business-aligned enterprise services as the
fundamental unit for designing and building solutions. Discover how
SOA helps you to create a true alignment between business and IT
and explore a pattern language that can be used to implement this
architectural style.
- Exploring the fundamentals of architecture and
services in an SOA, Part 2: The importance of business
architecture, model-driven development, and reusing existing
assets
In this second article in the series, get a closer look at
architecture--this time at the business level. Learn about
model-driven development (MDD), and reusable asset frameworks and
types, which can be leveraged when architecting Service-Oriented
Architecture (SOA) solutions.
- Building next-generation SOAs with SCA and
SDO
As Service-Oriented Architectures continue to grow and mature,
developers and architects are faced with an ever-growing number of
programming interfaces, transports, data sources and other details.
Service Component Architecture (SCA) and Service Data Objects (SDO)
provide a single programming interface for a wide variety of
services and data sources. In this briefing, you'll see how the
simplicity of SCA and SDO lets you focus on things that matter to
your organization, not on the details of particular APIs.
- Open SOA Collaboration
- SOA development and best practices
The SOA and Web services space gives developers, architects and
decision-makers a variety of techincal content - articles,
tutorials, workshops and interactive community tools - that help
with SOA development, implementation and management.
- IBM developerWorks : Book excerpt - from Executing
SOA: A Practical Guide for the Service-Oriented Architect
from The Rational Edge: Read a chapter from a new book on
service-oriented architecture, which focuses on the practical
aspects of implementation.
- SOA
Consortium
- SOA Consortium Resource Hub
- MemberPublications - JotSpot Wiki (soaalliance)
- If SOA is the answer - what was the
problem?
- Defining SOA as an architectural style
Define Service-Oriented Architecture (SOA) as an architectural
style to promote business-aligned enterprise services as the
fundamental unit for designing and building solutions. Discover how
SOA helps you to create a true alignment between business and IT
and explore a pattern language that can be used to implement this
architectural style.
- Architect's Dictionary (SOA Thinker)
Compares point-to-point, EIA and SOA
- Slides of SOA presentation - SIE
- Video of SOA - SEI
- Service-Oriented Architectures as an
Interoperability Mechanism
- JOT: Journal of Object Technology - From The
Business Motivation Model (BMM) To Service Oriented Architecture
(SOA), Birol Berkem
(none)
- Business Side
- IBM - Built for Innovation - United
States
Business side of SOA
- Issues and Best Practices for the BPM and SOA
Journey
Takes a look at the issues associated with combining BPM and SOA,
how the two approaches complement each other, identifying a range
of best practice observations and pitfalls to avoid. The paper also
explores a couple of modeling techniques to help coordinate the
bottom approach of SOA, with the top-down methodology of BPM.
- Book excerpt -- from The New Language of Business:
SOA & Web 2.0
from The Rational Edge: An excerpted chapter from the recent book,
The New Language of Business: SOA & Web 2.0, by Sandy Carter.
One of IBM's top service-oriented architecture strategist
demonstrates how business leaders can use innovations in technology
to drive dramatic process improvements and support accelerating
change.
- Bridging Business Value to SOA: SOA Best
Practices
This presentation discusses best practices for SOA implementation.
(Karin Duermeyer) - IBM
- Value Assessment
- STSC CrossTalk - DoD Business Mission Area
Service-Oriented Architecture to Support Business Transformation -
Oct 2008
The Department of Defense (DoD) Business Mission Area (BMA)
accounts for roughly half of the DoD Information Technology (IT)
budget. Many of the DoD’s business systems have
been in use for years and are straining to support the agility of
business operations necessary today. As well, many new systems are
being developed on such a scale that it takes nearly a decade to
produce the first results. A potential answer to this situation is
delivering business capabilities through a service-oriented
architecture (SOA)1. Much of the private sector is rapidly moving
in this direction. The question is, will it work for the DoD? This
article is about the results of market research conducted by the
BMA Chief Technical Officer (CTO) and Chief Architect (CA) over a
period of about six months to learn about state-of-the-art SOA and
what the DoD can count on from SOA vendors to deliver both business
services and SOA infrastructure in the near- to mid-term.
- Resource Kits
- Enterprise Service Bus
- Simplify integration architectures with an
Enterprise Service Bus
Dispel the myths of an Enterprise Service Bus and learn how you can
apply this architectural style to the implementation of
Service-Oriented Architecture-based applications.
- Combining Service-Oriented Architecture and
Event-Driven Architecture using an Enterprise Service Bus
A high level view of an ESB in terms of SOA/DEA
- IBM Redbooks | Patterns: SOA with an Enterprise
Service Bus in WebSphere Application Server V6
A wealth of patterns on using an ESB in an enterprise.
- Enterprise Java Community: Mule: A Case
Study
- Enterprise Service Bus implementation
patterns
This article describes technical criteria for selecting an ESB,
shows how IBM products can implement an ESB, and then surveys
common ESB implementation patterns. It covers the three primary IBM
ESB products (WebSphere Message Broker, WebSphere ESB, and
WebSphere DataPower SOA Appliances) as well as products that
support or extend the ESB pattern (WebSphere MQ, WebSphere Service
Registry and Repository, WebSphere Transformation Extender,
WebSphere Adapters, WebSphere Process Server, WebSphere Business
Services Fabric, and IBM Tivoli Composite Application Management
for SOA. The article also describes two detailed ESB implementation
case studies.
- Exploring the Enterprise Service Bus, Part 1:
Discover how an ESB can help you meet the requirements for your SOA
solution
This article is first in a series that describes and defines the
Service-Oriented Architecture (SOA) pattern called the enterprise
service bus (ESB). In this series, discover how the ESB fits within
the IBM SOA Foundation and how other parts of the foundation relate
to the ESB, as well as the core principles of the ESB. Without
describing a specific product or ESB implementation, this series
also provides a common basis for understanding and evaluating how
an ESB can help address the requirements of your service-oriented
solution.
- Exploring the Enterprise Service Bus, Part 2: Why
the ESB is a fundamental part of SOA
Part 1 of this series describes how the architectural pattern
called the enterprise service bus (ESB) fits within the IBM SOA
Foundation and how the ESB relates to other parts of the
foundation. In this article, find out why IBM believes the ESB
provides tremendous value when adopting a Service-Oriented
Architecture (SOA). The authors share insights and best practices
from their extensive experience on many successful SOA client
projects that employed an ESB.
- Exploring the Enterprise Service Bus, Part 3: Four
approaches to implementing a canonical message model in an
ESB
Why should you care about a canonical message model (CMM) and the
general pattern? Find out in this article, Part 3 of the Exploring
the Enterprise Service Bus series. The CMM is a crucial element of
the enterprise service bus (ESB). This article explains how to
achieve CMM, highlights the characteristics of different
approaches, and evaluates the pros and cons of each approach. After
reading this article, you'll understand the role and value of CMM
for ESB.
- Enterprise Connectivity Patterns: Implementing
integration solutions with IBM's Enterprise Service Bus
products
This article describes and defines a set of enterprise connectivity
patterns that encapsulate some of the more common solutions in the
application connectivity space. Many of these patterns build on and
refine the more general architectural pattern known as the
enterprise service bus (ESB). In defining a classification scheme
for these patterns and discussing the various factors that
influence their selection and implementation, this article and the
accompanying developerWorks wiki can help lead to the appropriate
choice of solution for your particular connectivity
requirements.
- Governance
- IBM SOA Governance, service oriented architecture,
SOA
SOA governance enables organizations to realize the full potential
of Service Oriented Architecture — SOA.
Essential issues surrounding the lifecycle of a service are
decision rights (who is empowered to make what decisions) and
measurements and controls (how to determine if the goals are
achieved)
- A case for SOA governance
Help your enterprise reap its true benefits by strengthening your
awareness to the importance of SOA governance for an enterprise
which has IT as one of its key organizations. The author
illustrates some key responsibilities of a governance body and
concludes by showing you how you can effectively implement SOA
governance.
- IBM Redbooks | Implementing Technology to Support
SOA Governance and Management
Implementing SOA governance and management requires the
consideration of three pillars: people, process, and technology.
This IBM Redbooks publication addresses the third pillar,
technology, demonstrating how to build advanced SOA solutions.
- InfoQ: SOA Governance: An Enterprise View
SOA architect Michael Poulin explains the necessity for SOA
governance to ensure an SOA initiative's success, and explains the
role the OASIS SOA Reference Model and the accompanying SOA
Reference Architecture assign to SOA Governance. Michael observes
SOA governance specifics from the enterprise perspective and
illustrates them with several examples of SOA Governance
policies.
- SOA governance scenarios
You need an appropriate governance process model in place to
effectively realize the benefits of Service-Oriented Architecture
(SOA) development life-cycle activities. This article describes SOA
governance processes based on scenarios that are adopted in a
typical enterprise during the SOA development life cycle. Take a
close look at important life-cycle activities, such as service
identification, service creation and reuse, service testing,
service versioning and change management, service-level management
(quality of service), and service security. Learn about the
challenges that your organization might face in a typical SOA
development life cycle and how to address these challenges by
implementing governance subprocesses and by delegating certain
roles and responsibilities to the respective layers of a governance
body for each scenario.
- AMIS Technology blog » Blog Archive
» The world of SOA Governance according to Oracle -
Introducing the Enterprise Repository
- IBM developerWorks : Book excerpt -- from SOA
Governance: Achieving and Sustaining Business and IT
Agility
from The Rational Edge: Read Chapter 4 from a new book on best
practices for governing IT in any service-oriented environment. The
book introduces a proven SOA governance model, defines what must be
governed, helps you identify key stakeholders, and then walks
through SOA governance assessment and planning, setting goals and
objectives, and establishing roadmaps and deliverables.
- Analysis and Design
- Elements of Service-Oriented Analysis and
Design
- Building SOA applications with reusable assets:
Reusable assets, recipes, and patterns
This series demonstrates how reusable assets such as recipes,
software patterns and models can accelerate the development of SOA
solutions.
- Building SOA applications with reusable assets,
Part 2: SOA recipe reference example
This second article describes a reference example in which a recipe
can be applied.
- Streamline SOA development using service
mocks
Simplify SOA development -- especially if your project involves
multiple teams -- and raise SOA application quality with use cases
and mock objects.
- Achieving Business Agility through Model-Driven
SOA
The way to achieve the real business agility with SOA.
- JOT: Journal of Object Technology - A Picture is
Worth a 1000 Words?, Mahesh H. Dodani
Use of effective images (graphical models) in the area of SOA are
discussed here.
- Best practices for service interface design in SOA,
Part 1: Exploring the development, interfaces, and operation
semantics of services
This article is the first in a series that focuses on best
practices for service interface design, including high-level
aspects of development approaches, service granularity, and
operation signatures. Subsequent articles in this series examine
best practices for structuring Web Services Description Language
(WSDL) documents and fault handling.
- Java Pro - SOA Design: Meeting in the
Middle
Compare business services and integration services in SOA design,
and discover how ESBs employ integration to implement SOA
- Principles of service design: Service
versioning
Explore the rationale and various approaches to service versioning.
(John Evdemon; MSDN, Aug 2005)
- Design an SOA solution using a reference
architecture
The Service-Oriented Architecture (SOA) reference architecture
discussed in this article provides a blueprint for an enterprise or
application architecture. It also establishes the building blocks
of SOA: services, components, and flows that collectively support
business processes and goals.
- Using model-driven development and pattern-based
engineering to design SOA: Part 1. Creating UML profiles and model
templates
This tutorial, Part 1 of the series, discusses the relationship
between SOA and the extensibility features of IBM Rational Software
Architect. It shows how you can leverage your own custom templates
and profiles in Rational Software Architect to automate the design
of an SOA solution. Rational Software Architect provides several
features that you can use in combination to improve your
productivity when you are designing SOA and other solutions. You
can also use these automations to improve the quality of the
solution, as well as to support your overall governance
process.
- SOA Design: Meet in the middle
Top-down, bottom-up, and meet-in-the-middle approaches to SOA
implementation.
- A practical application of SOA
A good article particularly illustrating how SOA is implemented in
the telecommunications industry. How already available disparate
systems are integrated are also described.
- Design an SOA solution using a reference
architecture
A great article. May I say it's a must read?
- Modeling SOA: Part 2. Service
specification
In this second article of this five-part series, we continue
defining the SOA solution by modeling the specification of each
service in detail. These specifications will define contracts
between consumers and producers of the service. These contracts
include the provided and required interfaces, the roles those
interfaces play in the service specification, and the rules or
protocol for how those roles interact.
- Apply asset-based development to services in an
SOA, Part 1: SOA and asset development tooling, life cycle, and
governance
This two-part series focuses on asset-based development for
services in a Service-Oriented Architecture (SOA). See how some of
the primary IBM products from the asset-based development and SOA
development worlds come together to enable effective reuse of
assets in an SOA implementation. This article explains how you can
leverage SOA and asset life cycles and governance processes
described in the IBM Rational Method Composer plug-in products in
parallel during an SOA implementation. Part 2 shows how to manage
and govern service assets and metadata effectively as a service
passes through the different stages in the SOA and asset life
cycles, using IBM tooling.
- Build a resilient SOA infrastructure, Part 2:
Short-term solutions for issues involving tightly coupled SOA
components
This article, Part 2 in a series on building a resilient
Service-Oriented Architecture (SOA) infrastructure, focuses on
short-term solutions to problems associated with the use of
synchronously interconnected SOA components across servers and
tiers. The solutions presented here are highlighted because of
their ability to mollify the negative impact incurred by these
types of problems, thereby increasing the resiliency of the
SOA.
- InfoQ: Service-Oriented Development with Consumer-Driven
Contracts
In this article, Ian Robinson discusses how "consumer-driven
contracts", in the form of "stories for services" and unit tests
exchanged between service development streams, can strengthen the
service-oriented development lifecycle. In contrast to contracts
defined from the POV of the provider, consumer-driven contracts
result from combining the demands of all known service
consumers.
- Process-oriented modeling for SOA, Part 1: A
technique for process decomposition
In this series, learn about a new decomposition technique that can
help you specify business processes that are aligned with a
Service-Oriented Architecture (SOA). This first article explores
decomposing a business process into different layers of
responsibility--as opposed to different levels of detail--and also
looks into the role of the process controller as well as how
services are identified by where they are needed.
- Process-oriented modeling for SOA, Part 4: Tying it
all together with a case study
Learn how a process model drives both a use case model and service
model. This article ties everything together with a case study
about home shopping that illustrates the concepts in the previous
parts of this series.
- Planning/Implementing SOA
- Service Oriented Architecture: Six steps to a
successful SOA
Taking an organization through a service oriented architecture
implementation is an evolving process which needs the right
approach to succeed. These six critical steps will put you on a
sound footing.
- Successfully Planning for SOA
- Successfully Planning for SOA: Building Your SOA
Roadmap
- Successfully Planning for SOA: Long-term SOA
Planning
- SOA Project Planning Aspects
The topics in this chapter constitute the best practices the
authors have uncovered for forming a project office, how to define
the phases of SOA adoption, the need for and mechanisms of SOA
governance, and finally, the various project roles and how they
interact with each other.
- Advice for a successful implementation: Avoid culture
clash
- JOT: Journal of Object Technology - Change
Happens!, Mahesh H. Dodani
Provides some guidelines in implementing SOA as part of the
enterprise architecture in an organization.
- Insight and outlook, Part 1: Why and when should you
choose SOA?
- An Introduction to Enterprise
Architecture
Author Gabriel Bechara delivers a simplified, top-down approach to
enterprise architecture in the context of SOA (service-oriented
architecture). He focuses on information technology and how to
build a better alignment between business and IT.
- Building SOA solutions with Industry Models and the
IBM Rational Software Development Platform
from The Rational Edge: The authors describe how IBM's Industry
Models for targeted industries can be customized to support unique
business requirements via the IBM Rational and WebSphere
toolset.f
- Building a successful SOA project
Explore lessons learned and best practices for implementing a
successful Service-Oriented Architecture (SOA) project, including
organizational readiness, the role of the user, transforming a
process, asset-based support, and tooling requirements.
- Migration
- Architectural manifesto: Migrating to a
Service-Oriented Architecture
Get a closer look at the benefits of Service-Oriented Architectures
(SOA). Determine whether an SOA is the best fit for your business
needs, and see an example migration from a traditional
systems-based architecture to a service-oriented one.
- Migrating to a service-oriented architecture, Part
1
This is the first in a series of papers intended to help you better
understand the value of a service-oriented architecture (SOA), and
to develop a realistic plan for evaluating your current
infrastructure and migrating it to a true service-oriented
architecture. It is intended that after reading this paper, you
will understand why it is claimed that a SOA is the best platform
for carrying existing assets into the future, as well as enabling
the rapid and correct development of future applications.
Additionally, you should have a better understanding of the major
considerations in planning such a migration.
- Migrating to a service-oriented architecture, Part
2
This is the second part of the introduction in a series of articles
intended to help you better understand the value of a
service-oriented architecture (SOA), and to develop a realistic
plan for evaluating your current infrastructure and migrating it to
a true service-oriented architecture. It is intended that after
reading this paper, you will understand why it is claimed that a
SOA is the best platform for carrying existing assets into the
future, as well as enabling the rapid and correct development of
future applications. Further, you should have a better
understanding of the major considerations in planning such a
migration. Part 1 of this paper described some of the forces
driving consideration of a SOA, and the requirements that might be
placed on the architecture. Part 2 continues now with the
discussion of services and interfaces.
- Design strategies for legacy system involvement in
SOA solutions
Service-Oriented Architecture (SOA) is at the heart of many
business-transformation efforts. Many enterprises approach SOA
transformation incrementally, using their valuable legacy IT
systems to participate as service providers. The solution
architect's challenge is not only to deliver the SOA infrastructure
as a means to aid transformation, but also to ensure that
enterprise-wide business operations remain robust and compliant.
Your enterprise must develop an enterprise information-management
strategy that can be part of the SOA and maintain overall data and
content consistency across all business operations. Discover the
challenges of such transformations, and review some design
strategies to consider.
- Patterns
- IBM developerWorks : Blogs : Building SOA
applications with patterns
Get involved in the developerWorks community by participating in
developerWorks Blogs.
- Information service patterns, Part 1: Data
federation pattern
The data federation pattern virtualizes data from multiple
disparate information sources. The pattern creates an integrated
view into distributed information without creating data redundancy
while federating both structured and unstructured information. This
article describes the federation of structured information (data)
with a focus on the SOA context. This pattern specification helps
data and application architects make informed decisions on data
architecture and document decision guidelines.
- Cache mediation pattern specification: an
overview
Cache mediation resides between the service provider and the
service consumer, and therefore can benefit multiple service
providers and service consumers in one solution. This article
proposes a cache mediation pattern as a reusable solution to
accelerate service response in a Service-Oriented Architecture
(SOA) environment where messaging middleware is employed as the
communication channel.
- Web services response template pattern: a
specification
The Web services response template pattern offers service providers
and clients more control and flexibility over request response
invocations in a heterogeneous environment. Examine the WS response
template pattern and the solutions that improve service interfaces
and make them more flexible.
- The requester side caching pattern specification:
An overview
Learn how the requester side caching pattern mediates the
interaction between one or more clients and one or more data
providers and how it can speed access to the data while reducing
costs.
- developerWorks : SOA and Web services : Technical
library view
Browse the SOA (Service-Oriented Architecture) and Web services
technical library view for technical articles and tips, tutorials,
standards and specifications, and IBM Redbooks. View the list by
product, title, topic, or keyword and sort your results.
- SOA antipatterns
The obstacles to the adoption and successful realization of
Service-Oriented Architecture.
- Using patterns to create a service-oriented
component middleware
Investigate a pattern story about many patterns applied on a
middleware project and learn how the patterns were applied, how
successful each was, and the interactions and relationships between
the patterns. If you're a pattern user, pattern writer, or pattern
theorist, this article is for you.
- Using patterns to create a service-oriented
component middleware
Investigate a pattern story about many patterns applied on a
middleware project and learn how the patterns were applied, how
successful each was, and the interactions and relationships between
the patterns. If you're a pattern user, pattern writer, or pattern
theorist, this article is for you.
- WebSphere Process Server and WebSphere Enterprise
Service Bus deployment patterns, Part 1: Selecting your deployment
pattern
This article identifies the application properties and availability
expectations that you can use to select a specific deployment
pattern. It includes a downloadable document that describes these
deployment patterns and the mapping of the requirements to
them.
- WebSphere Process Server and WebSphere Enterprise
Service Bus deployment patterns, Part 2: My first WebSphere Process
Server cluster
This article, the second in the series, focuses on selecting a
correct deployment pattern to meet the requirements of a given
customer application or project.
- IBM Patterns for e-business Resources
Patterns for e-business resources feature Redbooks and White
Papers, Independent Analyst Reports and Customer References,
Multimedia presentations and WebCasts.
- Defining SOA as an architectural style
With other things, this detailed article proposes a pattern
language for SOA
- Toward a pattern language for Service-Oriented
Architecture and Integration, Part 1: Build a service
eco-system
A good and detailed article.
- Toward a pattern language for Service-Oriented
Architecture and Integration, Part 2: Service composition
Part 2 of the same detailed article above.
- Principles of service design: Service patterns and
antipatterns
Discusses tenets for SOA design, along with major patterns and
antipatterns that can be used for service definitions.
- IBM Redbooks | Patterns: SOA with an Enterprise
Service Bus in WebSphere Application Server V6
A wealth of patterns on using an ESB in an enterprise.
- Using UML service components to represent the SOA
architecture pattern
In this article, use Unified Modeling Language (UML) models to
describe the SOA architecture pattern and its associated service
components. And learn about the service components of the SOA
pattern in the context of industry-standard UML formats to help
stakeholders to better understand the components that constitute an
SOA.f
- IBM Redbooks | Patterns: Implementing an SOA using
an Enterprise Service Bus
Many enterprises (large and small) are focused on increasing their
business flexibility while simplifying their IT infrastructure in
order to better meet their business objectives.
- IBM Redbooks | Patterns: Service-Oriented Architecture and
Web Services
The Patterns for e-business are a group of proven, reusable assets
that can be used to increase the speed of developing and deploying
Web applications. This IBM Redbook focuses on how the Self-Service
and Extended Enterprise business patterns, ...
- soa patterns assets reusable
reusable-assets
This expert space provides details and discussions around how
reusable assets such as software patterns and UML models can be
used to accelerate the development of SOA solutions.
- soa patterns assets reusable
reusable-assets
This expert space provides details and discussions around how
reusable assets such as software patterns and UML models can be
used to accelerate the development of SOA solutions.
- InfoQ: Service Firewall Pattern
How can you protect a service against detect malicious incoming
messages and prevent information disclosure on outgoing messages?
In this sample chapter from Arnon Rotem-Gal-Oz' in-progress book
SOA Patterns, Arnon explains how to use a Service Firewall to
intercept incoming and outgoing messages and inspect them in a
dedicated software component or hardware.
- Services-based enterprise integration patterns made
easy, Part 4: Enterprise service bus
The first three articles in this series covered the basic concepts
necessary to develop services-based integration patterns and
explained the various components and standards that, together, are
known as Web services. Web services are designed to deal with some
of the heterogeneity found in a large enterprise. However, Web
services alone aren't enough to provide a complete solution to the
heterogeneity problem. In this installment, Part 4 of this series,
learn about the enterprise service bus, which, along with Web
services, completes services-based integration patterns.
- Arnon Rotem-Gal-Oz's Cirrus Minor - SOA
Anti-Pattern : The Knot
- IBM developerWorks : Book excerpt -- from SOA
Design Patterns
from The Rational Edge: Read Chapter 16 from an innovative new
catalog of 85 design patterns for service-oriented architecture and
service-orientation. It documents the most proven and successful
design techniques for succeeding with modern-day SOA.
- Web Services
- New to Web services
Get the technical details of what makes a Web service.
- The Web Services Conceptual Architecture
Explore the technical ideas behind Web services technology and how
it functions.
- Web Services Architecture, W3C Working Group Note 11
February 2004
This document defines the Web Services Architecture. It identifies
the functional components and defines the relationships among those
components to effect the desired properties of the overall
architecture.
- Standards
- Standards roadmap
Understand the impact and importance of standards and
specifications for the development of SOA and Web services.
- Thomas
Erl's WS-Standards
SOA Systems Architect Thomas Erl provides an introduction to the
core set of first- and second-generation (WS-*) Web Services
specifications.
- Build configurable workflows with WS-BPEL and IoC,
Part 1: Understanding dynamic business workflows
Inversion of Control (IoC) and Web Services Business Process
Execution Language (WS-BPEL) can be effective tools for
implementing dynamic business workflows. In this article, the first
in a two-part series, Bilal Siddiqui describes business workflows'
dynamic nature and proposes a two-layer workflow model that lets
you use XML to build configurable and flexible solutions.
- Understanding Web Services specifications, Part 1:
SOAP
- Understanding Web Services specifications, Part 2:
Web Services Description Language (WSDL)
- Understanding Web Services specifications, Part 3:
Uniform Description and Discovery Interface (UDDI)
Learn the basic concepts of the Uniform Description and Discovery
Interface (UDDI), and how to access it using a Java application, in
this third in a series of tutorials on the major Web services
specifications.f
- Understanding Web Services specifications, Part 4:
WS-Security
This tutorial, Part 4 of the 'Understanding Web services
specifications' series, explains the concepts behind WS-Security
and related standards such as XML Signature, which combine to make
security in the Web services world not just possible, but
practical.f
- Understanding Web Services specifications, Part 5:
WS-Policy
This tutorial, Part 5 of the 'Understanding Web Services
specifications' series, explains the concepts behind WS-Policy and
related standards, such as WS-SecurityPolicy, which provide a means
to specify possible configurations of a Web service, and also to
enforce defined security and authentication.f
- Understanding Web Services specifications, Part 6:
WS-Interoperability
The goal of Web services is to enable communication between
different software and hardware systems. These systems typically
differ in both their hardware and software configurations. These
differences have been overcome through the definition of standard
protocols, such as those employed in building Web services.
Occasionally, incompatibility issues arise even when using these
standard protocols, which can lead to interoperability problems.
This tutorial, Part 6 of the 'Understanding Web Services
specifications' series, explains the nature and origin of Web
service interoperability problems. This tutorial also introduces
you to the WS-I Basic Profile, which is a set of guidelines Web
services should adhere to in order to achieve optimum
interoperability.f
- Understanding Web Services specifications, Part 7:
WS-Business Process Execution Language
You have a pretty robust system of services, but what you really
want is an application that makes use of them to implement your
business processes. Web Services Business Process Execution
Language (WS-BPEL) provides you with a standard technology for
composing and combining Web services so they will do what you want
at the macro level, and not just the micro level. This tutorial,
the last of a seven-part series, explains how to create a process
flow for your services using WS-BPEL.f
- WS-Federation How To
- WSDL
- Describe REST Web services with WSDL 2.0
At their core, Web services define a mechanism for
machine-to-machine interaction using a network and XML. A key
component of a Web service is a formal description with Web
Services Description Language (WSDL). Until recently there was no
formal language to describe REpresentational State Transfer (REST)
Web services -- now there's WSDL 2.0. This article introduces you
to REST and WSDL 2.0, and walks you through creating a WSDL 2.0
description of a REST Web service.
- REST
- REST based authentication
Discussion of some of the issues of authenticating REST-style web
services including an example of securing your services with Basic
or Digest auth using Apache HTTP Server.
- RESTful Web services: The basics
Representational State Transfer (REST) has gained widespread
acceptance across the Web as a simpler alternative to SOAP- and Web
Services Description Language (WSDL)-based Web services. Key
evidence of this shift in interface design is the adoption of REST
by mainstream Web 2.0 service providers -- including Yahoo, Google,
and Facebook -- who have deprecated or passed on SOAP and
WSDL-based interfaces in favor of an easier-to-use,
resource-oriented model to expose their services. In this article,
Alex Rodriguez introduces you to the basic principles of REST.
- Transactions
- Patterns
- Web Service Security-Scenarios, Patterns, and
Implementation Guidance for Web Services Enhancements (WSE)
3.0
Covers patterns for Web services security and their implementation
using Microsoft's WSE 3.0. (Jason Hogg, Don Smith, Fred Chong,
Dwayne Taylor, Lonnie Wall, Paul Slater; Microsoft Press,
2005)
- Dr. Dobb's | Basic SOA Using REST | May 7,
2007
Building and using RESTful web services using both the standard
java.net.* classes and servlets, and the JAX-WS 2.0 APIs.
- Implementation Stacks
- Some Interesting Web Services
- Software
- UDDI
- Apache
jUDDI - Welcome to jUDDI
jUDDI (pronounced "Judy") is an open source Java implementation of
the Universal Description, Discovery, and Integration (UDDI)
specification for Web Services.
- UDDI4J
UDDI4J is a Java class library that provides an API to interact
with a UDDI (Universal Description, Discovery and Integration)
registry.
- Misc
- Gabriel Bechara's Blog: Web Services
versioning
- Web services hints and tips: JAX-RPC versus JAX-WS,
Part 4
This fourth part of the series about Java API for XML-based RPC
(JAX-RPC) 1.1 and Java API for XML Web Services (JAX-WS) 2.0
compares the dynamic invocation models. This tip walks you through
the similarities and describes the major differences, using an
example for each model.f
- Tight-coupling Web services in the SOA
Look at the pros and cons of both tight and loose coupling Web
services and the resulting change in scale that comes from tight
coupling. This article includes examples of criteria to measure
performance of tightly coupled Web services during the testing
process.
- Faults and exceptions in JAX-WS
This article details the Java API for XML Web Services (JAX-WS)
mapping of Web Services Description Language (WSDL) faults to Java
exceptions, Java exceptions to WSDL faults, and some other
exceptions defined by the JAX-WS specification.
- Tip: Detect XML document encodings with SAX and
XNI
Sometimes when you forward XML documents, you just want to copy the
bytes from point A to point B. You don't necessarily want to parse
the entire thing, but you do need to determine the character
encoding to set the metadata appropriately. In these cases,
streaming APIs such as SAX and XNI offer a fast and efficient way
to inspect the encoding without paying for full parsing.
- Polymorphic Web services, Part 1: Polymorphic
data
The potential benefits of a Service-Oriented Architecture (SOA) in
terms of loose coupling and reuse, leading to business agility,
have been well publicised for some time. But for SOA to provide a
truly flexible platform for business process management (BPM), you
need to introduce an element of abstraction into your service
invocations. This article shows you how to use XML extensions and
dynamic service invocation techniques to provide a double whammy of
polymorphism, creating truly flexible service invocations while
simplifying business processes.
- Performance
- The elements of Web service performance
Ever since the beginning of Web services as a class of application,
performance, in terms of response time and memory requirements, has
been a major consideration. In particular, the use of XML and SOAP
is seen as an obstacle to high performance and the developers of
various toolkits have devoted much effort to fixing performance
problems.
- Transports
- Mashup
- The ultimate mashup -- Web services and the
semantic Web, Part 1: Use and combine Web services
As Web services grow in popularity, enterprising Web and
application developers create new and innovative applications with
their data. In addition to single-service applications, developers
are creating mashups, applications that combine data from multiple
services to create something new. This series chronicles the
creation of the ultimate mashup, an application that not only
stores data from different mashups but uses semantic technology to
enable users to create their own mashups by swapping services, or
even by picking and choosing data. It uses Java(TM) programming and
a combination of servlets, JSP, software from the open source Jena
project, and DB2's new native XML capabilities. In this part,
Nicholas Chase introduces the concept of mashups, shows you how
they work and how to build a simple version of one.
- Web 2.0
- Using Web 2.0 architecture for a more flexible
enterprise
Web 2.0 repositories can help you create a flexible software
architecture. Such software can be easily plugged into Web 2.0
communities and extranets. However, creating a fluid system that
works in accordance with requirements for modifiability,
performance, security, scalability, and reusability can be
challenging. Learn techniques that help you ensure that your
enterprise Web 2.0 architecture meets your quality
requirements.f
- Enterprise Web 2.0, Part 2: Enterprise Web 2.0
solution patterns
This four-part article series presents an overview of how both
commercial and public organisations are seeking to exploit the
current generation of Internet technologies. Part 1 of this series
explores the increasingly widespread effect that the maturing
Internet, characterised by the banner Web 2.0, is having on such
organisations. In this article, learn about the basic business
capabilities enabled by Web 2.0 technologies -- I call them
Enterprise Web 2.0 solution patterns -- that organisations can
apply while searching for innovations in their businesses,
products, and services.
- Architect Center: Enterprise 2.0
Enterprise 2.0 is what happens when Web 2.0 gets down to business.
Learn how to transform the enterprise with powerful, user-friendly
social computing tools that change how people relate to information
technology.
- Versioning
- Dr. Dobb's | Versioning and SOA--There is no IDog2
| November 7, 2007
Udi discusses the issues around versioning and SOA and how the
asynchronous nature of messaging obviates the need for previously
accepted interface-based versioning practices.
- Comment lines: Greg Flurry: Service versioning in
SOA
Using service-oriented architectures as a way of enabling flexible
and resilient enterprises is becoming widespread. Success with
initial SOA deployments now lets architects and developers focus on
things that are common to all business and IT systems. One such
constant in any system is change. This article discusses the
challenge of change in SOA and describes a model that helps address
the challenge.
- Case Studies
- Security
- SOA security 1-2-3, Part 3: Test your SOA
security
Examine a Service-Oriented Architecture (SOA) security
implementation road map in this series. This article -- the last in
a three-part series -- provides rules for testing SOA security.
Discover the tools and knowledge needed in your organization to
build the best security for your SOA.
- BPEL
- SOA Best Practices: The BPEL Cookbook
Learn advanced BPEL concepts and best practices for development,
deployment, and administration from the architects implementing
them in real-world applications.
- Testing
- SCA
- Introducing SCA
A nicely written article.
- Exploring the WebSphere Application Server Feature
Pack for SCA: Part 1: An overview of the Service Component
Architecture feature pack
An introduction to open Service Component Architecture concepts,
objectives of the technology, and highlights of some key
integration points that provide great value to IBM WebSphere
Application Server V7 users.
- Organizations
- Home - Open SOA Collaboration
The OSOA organization's charter is to define a core set of
specifications that describe a language-neutral model for building
applications and systems using a Service Oriented Architecture.
OSOA also defined a set of programming language specific
specifications that extend and complement other approaches to
implementing services, such as Java, BPEL, C++, and Java EE
technologies such as EJBâ„¢ components.
- Committees | OASIS Open CSA
- Implementations
- Service Component Architecture (SCA) lets you
invoke components from different technologies
Service Component Architecture (SCA) is a new technology that
abstracts underlying computer services so a system is more flexible
while incorporating subsystems implemented in different
technologies. SCA moves many details of access technology,
implementation, and protocols into the middleware layer, away from
the business logic. This abstraction comes at a price for some
developers. It can be difficult to understand and debug business
applications. Learn how a component is invoked when the invocations
are taking place over various protocol bindings and implementation
types. The example uses the open source Apache Tuscany SCA runtime
to explain the underlying complexity.
- Misc
- Service-Oriented Architecture expands the vision of
Web services
Learn how to move forward from simple models to those that
represent real-world business models of arbitrary complexity.
- Strategic success of SOA will depend on real
sharing of services and software tools
- FTPOnline Special Report: Service-Oriented
Architecture
A service-oriented architecture (SOA) can allow your enterprise to
react quickly to changes in the competitive environment. This
FTPOnline Special Report gives you practical information to help
your enterprise implement SOA quickly and effectively.
- Requirements process for SOA projects, Part 2:
Capturing requirements for an SOA application
In this article, you model use cases and business requirements for
services for Service-Oriented Architecture (SOA) projects. You also
learn how to best capture and document these requirements.
- Information service patterns, Part 2: Data
consolidation pattern
The data consolidation pattern specification helps data and
application architects make informed architectural decisions and
improve decision guidelines. See how you can apply the pattern in
the SOA context.
- Enterprise Application Transformation: Leveraging
your investment in proven, mission-critical business
applications
from The Rational Edge: This article describes how the new
Enterprise Generation Language technology supports the development
of service-oriented architectures by leveraging existing IT
resources and legacy language development teams.
- IBM developerWorks : Blogs : Building SOA
applications with patterns
Get involved in the developerWorks community by participating in
developerWorks Blogs.
- JOT: Journal of Object T echnology - Where's the
(Business) Beef?, Mahesh Dodani
- Predicts 2007: SOA Advances
- Defining SOA as an architectural style
Define Service-Oriented Architecture (SOA) as an architectural
style to promote business-aligned enterprise services as the
fundamental unit for designing and building solutions. Discover how
SOA helps you to create a true alignment between business and IT
and explore a pattern language that can be used to implement this
architectural style.
- The Missing Piece in SOA - A presentation
- Architecture in practice, Part 2: An introduction
to SOA solution scenarios
IBM now offers eight scenarios to help you get started with
Service-Oriented Architecture (SOA). In this introductory article
in a multipart miniseries, you explore each SOA solution scenarios
and discover how they can help accelerate your SOA
implementation.
- ZapThink :: Research - SOA and the Zachman
Framework
Focused research, analysis, and insight on XML, Web Services, and
Service-Orientation
- Dr. Dobb's | Semantically Enabled SOA | May 4,
2007
Semantic Service-Oriented Architectures introduce semantic
enhancements to services so that agents can dynamically combine
services to satisfy business goal.
- Dr. Dobb's | Basic SOA Using REST | May 7,
2007
Building and using RESTful web services using both the standard
java.net.* classes and servlets, and the JAX-WS 2.0 APIs.
- IBM Redbooks | JKE Case Study: SOA Security and
Management Scenario SOA Scenario
This paper is part of a series of Service Oriented Architecture
(SOA) papers featuring a fictitious JK Enterprises (JKE) company in
a case study.
- The information perspective of SOA design, Part 1:
Introduction to the information perspective of a Service Oriented
Architecture
This article is written for architects and practitioners designing
a Service Oriented Architecture (SOA). It introduces a set of
patterns and capabilities representing the information perspective
in the design of an SOA. The key patterns addressed are the
business glossary, the canonical model and data quality analysis.
See how these patterns are positioned in SOA and discover the
contributions they make to an SOA solution. Get an introduction to
the related IBM products: IBM Information Server, Rational Data
Architect, and IBM Industry Models. This article is the first in a
series: subsequent articles explore each of the patterns in more
detail and then show how IBM products may be used to implement each
pattern.
- The information perspective of SOA Design, Part 6:
The value of applying the data quality analysis pattern in
SOA
Discover the value and approach of data quality analysis in the
context of an SOA environment. Learn about the concepts involved in
data quality analysis and see the basic steps needed to initiate a
data quality assesment project within the broader SOA project.
Analyze these issues so that appropriate implementation choices can
be made. This is the sixth article in a series called the
“The information perspective of SOA design, '
and will be followed by a related article that describes in more
detail how the related IBM products (WebSphere Information
Analyzer) can be used in this context.
- SOA meets situational applications, Part 3:
Examples and lessons learned
The first article in this series explained the applicability of
Web-based situational applications (SAs) to the enterprise, their
relationship to Service-Oriented Architecture (SOA), and how they
can be used to improve the current state of corporate IT. Part 2
described the IBM experience in building the Situational
Applications Environment (SAE), which has been developed to support
the community-based computing that takes advantage of both
traditional SOA and emerging Web 2.0 technologies and approaches.
This third and final installment describes several SAs, the
business situation that inspired their creation, their
architecture, the tangible business results that come from
technologies that enable each solution, and lessons learned.
- IBM Redbooks | Aligning Business Process
Management, Service-Oriented Architecture, and Lean Six Sigma for
Real Business Results
Lean Six Sigma (LSS) produces real results in difficult economic
times by uncovering process waste, reducing non-value adding
activity, and increasing productivity. The benefits are even felt
in IT.
- IBM developerWorks : Top 10 SOA and Web services
tutorials and articles -- September 2008
Check out which SOA and Web services tutorials and articles
developerWorks readers found most interesting last month.
- STSC CrossTalk - Key Transformational Techniques to
Achieve Enterprise-Scale Interoperability - Nov 2008
This article examines key modernization and transformation
strategies for interoperability, including enterprise use of open
source, service-oriented architecture (SOA), and agile techniques
in software development. The article concludes with a real-world
case study on legacy modernization and interoperability for a major
government agency through use of these tools and techniques.
- JOT: Journal of Object Technology - A Model-driven
Approach to Service Policies, Harshavardhan Jegadeesan, Sundar
Balasubramaniam
(none)
Software Architecture
- General
- Architectural Software Development
- Architecture Evaluation
- Architectural manifesto: Evaluating
architectures
The evaluation phase is the first critical juncture in the design
and implementation of your architecture.
- Evaluating a Software Architecture
This book excerpt provides a detailed view on architecture
evaluation. It also introduces different methods of evaluating
software architectures.
- ATAM: Method for Architecture Evaluation (Research
Paper)
Architecture Tradeoff Analysis Method (ATAM) is a technique for
analyzing software architectures.
- SAAM: A Method for Analyzing the Properties of
Software Architectures (Research Paper)
Software Architecture Analysis Method, the predecessor of
ATAM.
- Active Reviews for Intermediate Designs
- Active Reviews for Intermediate Designs
(ARID)
- Active Reviews for Intermediate Designs (ARID)
- Architecture Reviews: Practice and
Experience
- ATAM
- Assessing quality in software
architectures
Learn about four methods to help you understand the quality of
existing software architectures. The assessment methods can help
you analyze whether a software architecture design is suitable for
a given set of requirements. See how to improve the quality of a
software architecture through architectural assessments.
- InfoQ: Lessons Learned from Architecture
Reviews
In this presentation, Rebecca Wirfs-Brock presents some practical
lessons she has learned from doing architectural reviews. Many
times projects are not delivered in time, or have quality problems
or have an incomplete set of features due to architectural flaws.
The reviews are meant to highlight existing risks and strengths of
the architecture, and to reveal issues initially neglected.
- STSC CrossTalk - A Uniform Approach for System of
Systems Architecture Evaluation - Mar/Apr 2009
For a large-scale system of systems (SoS), severe integration and
run-time problems can arise due to inconsistencies, ambiguities,
and gaps in how quality attributes (such as reliability) are
addressed in the underlying systems. This is exacerbated in
contexts where major system and software elements of the SoS are
developed concurrently and oftentimes independently. Using a
defense system scenario, this article outlines a uniform approach
for capturing quality attribute requirements as augmentations to
mission threads early in the development process and for analyzing
SoS, system, and software architectures against these mission
thread augmentations.
- Documenting The Architecture
- Patterns
- Modeling
- The value of modeling
This article discusses how modeling can help development teams
manage complexity and enable communication, design, and assessment
for requirements, architectures, software, and systems. In addition
to explaining how to use models productively throughout the
software development lifecycle, it looks at trends affecting the
future of modeling.
- Modelsoft Consulting Corp
Couple of simple design problems - solutions are available here in
the resources section.
- An MOF-based repository for enterprise architecture
models
This paper presents the work Unisys has done to create a central
enterprise architecture (EA) at a large organization within the
United States federal government. This work includes defining a
standard core EA modeling language supported by the EA repository,
and building transformations between tool-specific EA models to the
standard core EA language.
- Build effective system models
UML models that follow best practices feature views that are
directed toward a specific form, have a common theme across all
diagrams, and contain a pivot around which each diagram is focused.
In this article, you'll learn how to organize and present UML model
views based on the principles of form, theme, and pivot.
- The four dimensions of system models
Architectural frameworks such as RUP SE and the Zachman Framework
help us understand large systems and how to view dependencies. But
when an actual system model is being examined by a team of
analysts, misunderstandings can still arise over what the various
views within a model are attempting to convey. The author proposes
an improved approach to describing the parts of a complex system
model.
- Making the model work for you
from The Rational Edge: Learn about the differences between models
and UML diagrams used in the process of software analysis and
design. This article steps you through several operations using IBM
Rational modeling tools to illustrate various ways to view and
alter a model.
- Operation-state modeling
Operation-state modeling is a technique for writing detailed and
consistent service specifications. Learn how to objectively verify
the validity of a service implementation by checking its behavior
against the operation-state model.
- Model service-oriented architecture with Rational
Software Architect: Part 5. Service Identification
This tutorial series introduces the concepts and tools involved
with modeling service-oriented architecture (SOA) using IBM
Rational Software Architect. You will learn how Rational Software
Architect, along with IBM WebSphere Business Modeler, supports a
model-driven development (MDD) approach to the specification of
SOA. This fifth tutorial in this series will step through how you
would identify services and create the initial service model in
Rational Software Architect. It continues using the online DVD
rental case study introduced in the previous four parts, and you
will use Rational Software Architect to create the initial service
model based on that case study.
- Business analyst tools for requirements management
and business modeling
Keep up to date with the latest tools and best practices for
business analysts to help translate business requirements into IT
requirements. Confer and collaborate with other business analysts
in an online community environment.
- JOT: Journal of Object Technology - Methodological
Proposal for Business Process Management sustained in the use of
Patterns, Pedro Bonillo, Nancy Zambrano and Eleonora
Acosta
(none)
- MDA
- Component Development
- Clustering
- Cost and Scalability in Vertical and Horizontal
Architectures
A technical white paper from Sun Microsystems.
- Vertical and Horizontal Scalability: A Study of
Representative UNIX, Linux, and Windows Customer
Environments
A technical white paper from Sun Microsystems.
- Designing for High Availability
- Web Farms: Availability and Scalability
- InfoQ: Scalability Worst Practices
In this article, former Orbitz lead architect Brian Zimmer
discusses scalability worst pratices. Topics covered include The
Golden Hammer, Resource Abuse, Big Ball of Mud, Dependency
Management, Timeouts, Hero Pattern, Not Automating, and
Monitoring.
- Requirements
- JOT: Architecture-Related Requirements
In this column, the authors describe the three major kinds of
architecture-related requirements, discuss the most important
characteristics they should have, describe the responsibilities of
their stakeholders, and warn of the major negative consequences
they can have on downstream activities when they are not properly
engineered.
- Analyze use cases by architectural
relevance
Learn how to use architectural mechanisms, such as persistence,
networking, and security, to assess and qualitatively rank use
cases and scenarios for architectural relevance. Architects and
project managers can then use these rankings to more effectively
schedule resources and organize projects.
- Dr. Dobb's | So What Are Requirements? | August 3,
2007
Karl Wiegers answers the question: "So what are requirements?"
- Process Impact -- Publications by Karl
Wiegers
Process Impact helps companies improve the effectiveness of their
software processes. We provide training on software process
improvement, metrics, requirements, peer reviews and inspections,
and creating a healthy software engineering culture.
- The Five Levels of Requirements Management
Maturity
- Requirements Management Plan Example
A complete Requirements Management Plan for a large real-life
project.
- Requirements planning: overlooked and
undervalued
This article takes a high-level look at project requirements and
the requirements cycle to help you understand the role of the
business analyst in requirements planning.
- Examples
- An IBM Rational approach to the Department of
Defense Architecture Framework (DoDAF)
This article presents an overview of the Department of Defense
(DoD) Architecture Framework (DoDAF) and describes its Operational
View (OV) products. The author describes the relationships among
the different views, and how the views can be leveraged both
individually and collectively to add value in the modeling and
design of complex systems.
- Product Line Engineering
- Software Product Line Engineering with Feature
Models
Winter 2006 issue
- Software Product Lines (At SEI)
Software Product Lines is a leading source of software product line
research, education, and products and services for promoting the
software product line approach to software development.
- STSC CrossTalk - Production Planning for a Software
Product Line - Jan 2009
The goal of using a software product line (SPL) approach is to
predictably develop multiple software-intensive systems (products)
in an efficient, timely, and cost-effective manner that takes
economic advantage of the features common to the products.
Achieving this goal requires more than reusable (core) assets. It
requires production planning that formulates a production strategy,
devises a production method, and composes a production plan that is
followed for each product. We present a three-step approach to
production planning that guides an organization from the goals for
the SPL to a comprehensive production plan.
- STSC CrossTalk - Experiences With Software Product
Line Development - Jan 2009
Overwatch Systems recently transitioned to a software product line
(SPL) approach. Using its SPL, Overwatch Systems provides both
software products and custom software system development in the
domain of intelligence planning, collection, and analysis to the
U.S. DoD and intelligence community. This article describes the
approach taken in Overwatch Systems’ transition,
describes the product line architecture that is a key to the
Overwatch Intelligence Center (OIC) SPL, and provides the lessons
learned during the transition.
- STSC CrossTalk - Software Product Management - Jan
2009
It’s easy to confuse the disciplines of project
manager and product manager. Simply put, the development of the
product or service falls to the project manager, while the market
success of software and system products depends on the skills and
competence of the product manager. This article provides an
overview of software product management and the role of a product
manager, and describes concrete practices that can boost an
organization’s software product management and
thus the success rate of products in terms of predictability,
quality, and efficiency.
- New frontiers in innovation for product line
engineering: Featuring Lockheed Martin
from The Rational Edge: This introduction to product-line
engineering describes a method that some organizations are using to
evolve their product portfolios, resulting in improved
productivity, quality, and efficiency in the way teams develop
systems and software. To read more about this new method in
practice, be sure to click on the link to the Lockheed Martin
article at the end of this introduction.
- Embedded.com - Use product line engineering to
reduce the total costs required to create, deploy & maintain
systems & software
An introduction to Software Product Line (SPI) engineering, an
emerging discipline in the software industry that offers great
promise for high degrees of strategic reuse within a product line
portfolio of similar products.
- Modern Trends/Keep Yourself Updated
- Misc
- On demand business process life cycle, Part 1:
Create the foundation for your on demand business
processes
- On demand business process life cycle, Part 2:
Patterns for e-business recipe
- Plug-in to Reusability in Java
Uncovers the secrets of "Plug-in Architecture," where parameterized
classes are the plug-ins. Defines Interfaces for several important
classes used in an application, and then, gives the actual class
names in a parameter file read by the application on start-up.
- java.net: Refactoring in Java
Book excerpt: Introduce Null Object
- Big iron lessons, Part 2: Reliability and
availability: What's the difference?
- TheServerSide.com - A beginners guide to Dependency
Injection
- Evolving Java-based APIs
- OASIS Universal Business Language (UBL)
UBL, the Universal Business Language, is the product of an
international effort to define a royalty-free library of standard
electronic XML business documents such as purchase orders and
invoices. UBL is designed to plug directly into existing business,
legal, auditing, and records management practices, eliminating the
re-keying of data in existing fax- and paper-based supply chains
and providing an entry point into electronic commerce for small and
medium-sized businesses.
- JOT: Journal of Object Technology - How to align IT
with the changes using UML, Birol Berkel
Applying the “Goal Driven
Development†Process on a case study using UML 2 and
the BMM
- Characteristics of a software architect
- Managing J2EE and .NET Interoperating
Applications
- In pursuit of code quality: Code quality for
software architects
How to continuously monitor and correct quality aspects of code
that can affect the long-term viability of your software
architecture?
- IT Architect... Profession of the Future
The Open Group approach of producing better architects.
- Developing resilient architectures: Identify,
analyze, and design for change
Using change cases to document and streamline the design
process.
- An introduction to architecture
management
from The Rational Edge: Read how the IBM Rational team is expanding
what has been traditionally called Analysis, Design, and
Construction to include Architecture Management: the discipline of
governing software architecture amidst changes to the requirements
that drive it and the code that implements it.
- Complex
Event Processing
It can be applied to extracting and analyzing information from any
kind of distributed message-based system. It is developed from the
Rapide concepts of (1) causal event modeling, (2) event patterns
and pattern matching, and (3) event pattern maps and
constraints.
- Cover Pages: OMG Membership Approves Adoption of Reusable
Software Assets (RAS) Standard.
A good introductory page on RAS
- The Law of Leaky Abstractions - Joel on
Software
"All non-trivial abstractions, to some degree, are leaky." - A very
good read
- The
Principle of Least Astonishment | Andy Wibbels
From the world of systems design and usability comes the principal
of least astonishment - or I've also heard it called the principle
of least surprise. When two elements of an interface conflict or
are ambiguous, the behaviour should be that which will least
surprise the human user or programmer at the time the conflict
[...]
- Bill Higgins / the tension between transparency and
abstraction
weblog
- Architecture Complexity
Blog by Grady Booch on February 13, 2007 about how to compare the
complexity of different architectures.
- Architecture principles: Creating the foundation
for robust architecture
The answer to 'What is architecture?' depends on who you ask. What
it takes to develop a strong architecture is even more difficult to
define. However, there are well-known tenets you should employ when
doing architecture. In this article you explore one of these
tenets: architecture principles.
- Ajax and REST, Part 1
Described how to use AJAX capabilities to regain REST properties of
web applications.
- Paul's
REST Resources
A collection of articles on REST
- Architecture in practice, Part 3: Top ten tips for
writing great IT project proposals
Just as there is a software development methodology, there is an
approach you can take toward IT project proposal development to
maximize your chances of success. In the latest installment in the
Architecture in practice column, IBM architect Tilak Mitra takes
the viewpoint of a proposal leader and highlights the major steps
you should follow to ensure the development of a high-quality
proposal.
- Applying an analytical framework
Analytical frameworks can help to collect and organize analysis
patterns, tools, skills, organization techniques, examples, and
expertise of others who have solved similar modeling problems.
Learn how to use analytical frameworks to your advantage in various
software development areas, from security, messaging and user
interfaces, to hiring and training personnel.
- Evolving Java-based APIs - Eclipsepedia
This document is about how to evolve Java-based APIs while
maintaining compatibility with existing client code.
- Application architecture essentials, Part 9:
Architecting applications for volatility
For environments with factors that create uncertainty and a
potential for change, this article discusses approaches and tools
that can help reduce the impact of volatility on your
application.f
- Legacy transformation guidance for a small or
medium business
This article explains how to identify and analyze various
alternatives to help a small or medium business to modernize its
legacy information technology assets. A fictional telecommunication
service company providing high-speed Internet access, cable
television, local and long distance telephone and wireless services
to residential customers and local businesses in several metro
areas in the mid-west is used as a case study. The IT department of
the company provides application services such as management of
service orders and provisioning, troubles reporting and resolution,
message processing, and billing system to support the business. The
company needs to transform its legacy systems to support new
business plans. The solution features products and services from
IBM.
- An introduction to the Master Data Management
Reference Architecture
Get a short introduction to the Master Data Management Reference
Architecture for the enterprise which supports implementing
Multiform Master Data Management. Learn about the key concepts that
drive the design of the Master Data Management Reference
Architecture and Logical System Architecture and see how to map the
relevant IBM Information Management software products to the core
components of the Master Data Management Reference Architecture.
Each product is briefly introduced, and in the Resources section of
this paper you will find a wealth of additional information for
reference. Finally, you will also learn about an upcoming book,
Enterprise Master Data Management: An SOA Approach Managing Core
Information, that describes the Master Data Management Reference
Architecture in full detail as well as other topics related to
Master Data Management.
- A Scalable, Commodity Data Center Network
Architecture
- Occasionally Connected Systems Architecture:
Concurrency
When designing systems that support users who need to work offline,
one of the challenges developers face is how to deal with
concurrency problems when these users re-connect and synchronize
their data with the server. Explore patterns for conflict
identification and resolution in the first of this series on
Occasionally Connected Systems Architecture.
- Influences that can shape architectural decision
making
Architects routinely make complex decisions as they define
solutions to complex problems. The results very often depend upon
the strength of inputs, or influences, from a number of
authoritative sources. This article reviews some of the most
important categories of inputs and suggests a checklist that should
be used by all architects.
- Evolutionary architecture and emergent design:
Investigating architecture and design
Software architecture and design generate a lot of conversational
heat but not much light. To start a new conversation about
alternative ways to think about them, this article launches the
Evolutionary architecture and emergent design series. Evolutionary
architecture and emergent design are agile techniques for deferring
important decisions until the last responsible moment. In this
introductory installment, series author Neal Ford defines
architecture and design and then identifies overarching concerns
that will arise throughout the series.
- Evolutionary architecture and emergent design:
Test-driven design, Part 1
Most developers think that the most beneficial part of using
test-driven development (TDD) are the tests. But, when done right,
TDD improves the overall design of your code. This installment in
the Evolutionary architecture and emergent design series walks
through an extended example showing how design can emerge from the
concerns that float up from testing. Testing is only a side effect
of TDD; the important part is how it changes your code for the
better.
- Security
Project Management
- Introductory
- RUP and PMBOK
- Portfolio Management
- Portfolio management: An introduction
This introduction expresses IBM’s viewpoint
about the foundations and essentials of portfolio management, and
discusses ideas and assets that support and enable effective
portfolio management practices.
- Portfolio management: The IBM view of PM
essentials
This article defines a set of fundamental principles for portfolio
management and discusses how to apply them. Reflecting the IBM
perspective on portfolio management, it identifies ideas and assets
that support and enable effective application of the
discipline’s practices.
- Software Project Planning/Estimation
- Introductory
- Estimating Software Development
Introductory. Characteristics of a good estimate are found
here.
- Estimating Project Costs and Monte Carlo Simulation
in MS Excel
Basic rules that you need to keep in mind in coming up with an
accurate and realistic estimate, common mistakes that we do.
- Software Cost Estimation
A research paper which summerizes different estimationg techniques,
compare them. A good read.
- SPC :: What We Do :: Expert Knowledge :: Estimation &
Project Planning
Resources from many places are captured here in a simple to read
format. Also are links to elsewhere.
- QSM Resources - Articles and Papers - Quantitative
Software Management, Inc.
Lots of good articles on many aspects of project estimation and
planning
- Software Estimation, Enterprise-Wide
from The Rational Edge: This article, Part 1 in a two-part series,
presents an overview of approaches, techniques, models, and tools
used in estimating costs, schedules, and other factors on software
projects. Emerging innovations are discussed in addition to
well-established methods. Part 2 provides advice on what methods to
apply in specific circumstances.f
- RSPA Project Planning Resources
- STSC CrossTalk - Software Estimating Models: Three
Viewpoints - Feb 2006
This article compares the approaches taken by three widely used
models for software cost and schedule estimation. Each of the
models is compared to a common framework of first-, second-, and
third-order models to maintain consistency in the comparisons.
- STSC CrossTalk - Understanding Software Project
Estimates - Mar/Apr 2009
With two-thirds of software projects running long and over budget
[1] , it is important that upper management understand the value of
proper estimation techniques, and that their estimators are as
accurate as possible. This article discusses formal estimation
techniques, accurate software estimation tools, the
misinterpretation of estimation as target setting, and the accuracy
of estimates.
- CHAOS - STANDISH GROUP REPORT
- Estimating Project Costs and Monte Carlo Simulation
in MS Excel
Basic rules that you need to keep in mind in coming up with an
accurate and realistic estimate, common mistakes that we do.
- Range Estimation
- COCOMO
- Function Points
- Use Case Based Estimation
- Estimating Object Oriented Systems
- Iterative Software Development
- Geographically Distributed Development
- Resource Planning/Scheduling
- Monte Carlo Simulation
- Benchmark
- GQM
- Achieving governance goals with GQM
from The Rational Edge: Read how the Goal-Question-Metric Approach
(GQM) provides a way for whole teams, or individual team members,
to better understand the role they play in successful software
development.
- Fixed Price
- Earned Value Management
- Earned Schedule
- Critical Chain Project Management
- Risk Analysis
- Embedded Systems Development
- Agile
- Cost
- Dr. Dobb's | Estimating Software Costs | October 1,
2000
Estimating Software Costs-First in a four-part series: How big will
the system be? How do you measure it?
- STSC CrossTalk - Software Cost Estimating Methods
for Large Projects© - Apr 2005
For large projects, automated estimates are more successful than
manual estimates in terms of accuracy and usefulness. In descending
order, the costs of large projects include defect removal,
production of paper documents, coding, project management, and
dealing with new requirements that appear during the development
cycle. In addition, successful estimates for large projects must be
adjusted to match specific development processes, to match the
experience of the development team, and to match the results of the
programming languages and tool sets that are to be utilized. Simple
manual estimates cannot encompass all of the adjustments associated
with large projects.
- Other Sizing/Metrics Related Links
- Software Measurement Home Page, metrics, quality, cost
estimation, size estimation, COCOMO, function points, complexity -
Yazýlým
Ölçümü Ana
Sayfasý
Nicely summerized information is here.
- STSC CrossTalk - The Evolution of Software Size: A
Search for Value© - Mar/Apr 2009
Software size measurement continues to be a contentious issue in
the software engineering community. This article reviews software
sizing methodologies employed through the years, focusing on their
uses and misuses. It covers the journey the software community has
traversed in the quest for finding the right way to assign value to
software solutions, highlighting the detours and missteps along the
way. Readers will gain a fresh perspective on software size, what
it really means, and what they can and cannot learn from
history.
- Joyful research: Finding meaningful
metrics
A project which tries to create a tool which can be used to
investigate the traceability of a software development
project.
- Misc
- Configuration Management
- Pragmatic Project Automation
Two chapters are free of charge (Introduction and Scheduled
Builds)!
- Pragmatic Version Control
Two chapters are for free (Introduction to version control and
Managing 3rd party code)
- Quality busters: What version is this?
Modern applications are built using many shared components,
including dynamic link libraries (DLLs), JAR files, and runtime
environments. Keeping track of these components, their versions,
and their dependencies creates development and operational issues.
This article discusses some of those issues and the considerations
that arise from the use of components.
- Change Management
- Becoming a world class build and release
organization
from The Rational Edge: This highly detailed case study identifies
build and release challenges at an electronics and semiconductor
testing company and specifies steps this company can take to
develop a 'world-class' Change and Release Management
organization.
- Requirements
- JOT: Journal of Object Technology - Common
Requirements Problems, Their Negative Consequences, and the
Industry Best Practices to Help Solve Them , Donald
Firesmith
- JOT: Journal of Object Technology - Specifying Good
Requirements
- Anti-patterns for people and tools
from The Rational Edge: Gary Pollice continues his list of common
mistakes in software development practice, adding to last month's
observations about process adoption with a second and third set
this month regarding people management and tools adoption.
- Agility with Use Cases
- SPC :: What We Do :: Expert Knowledge :: Software
Requirements Development & Management
- Difference between include and extend in use
cases
This answer to a forum question explains the difference between
include and extend relationships between use cases.
- Mountain Goat Software - Advantages of User Stories
for Requirements - agile, user stories, InformIT Network
Mountain Goat Software is a Colorado, USA-based process and project
management consultancy and training firm. Through its Certified
ScrumMaster, agile estimating and planning, user story, Certified
Scrum Product Ownerâ„¢, and other courses Mountain
Goat Software founder Mike Cohn helps companies adopt and improve
their use of agile processes and techniques in order to build
extremely high performance development organizations.
- Lean Management
- Failure/Correcting
- Misc
- Project Management Proverbs. UK Project Management Course
link.
- Practical
Software and Systems Measurement
Practical Software and Systems Measurement (PSM) was developed to
meet today's software and system technical and management
challenges. It is an information-driven measurement process that
addresses the unique technical and business goals of an
organization. The guidance in PSM represents the best practices
used by measurement professionals within the software and system
acquisition and engineering communities.
- Crystal Clear Applied: The Seven Properties of
Running an Agile Project
Book excerpt.
- Real Life Project Management: Time Management for
Project Managers
- Traceability Eclipse Plug-in
This project targets at developing a tool called Tracer which will
be able to produce lots of matrics on software development projects
on traceability.
- Adaptive Project Management Using Scrum
- Decision Making Tips
- The Process Model of Linux Application
Development
- Assessing the economic value of software
projects
- Strategies for software development project
success: A personal perspective
A seasoned software development professional offers personal advice
and describes best practices for improving project success,
touching on communication, use cases, testing, and marketing.
- An Introduction to Catastrophe Disentanglement for
Software Projects > Overview of the Catastrophe Disentanglement
Process
- IEEE Spectrum: Why Software Fails
An article with good real world experiences.
- Measuring project health: Part One
from The Rational Edge: What project managers choose to measure as
a gauge on performance generally receives the team's special
attention. Naturally, project health depends on accurate metrics,
but more importantly it requires that the right things be measured.
This article describes some of the fallacies associated with
traditional software project metrics, then focuses on effective
measurement during the Inception phase.
- Do We Have to Choose Between Management and
Leadership
Viewing leadership and management as dichotomous sets up a false
choice...
- Comparing the Rational Unified Process (RUP) and
Microsoft Solutions Framework (MSF)
from The Rational Edge: The Microsoft Solutions Framework and the
Rational Unified Process both offer process guidance for software
development teams, but how do you go about comparing the two? This
article presents the major structural differences and similarities
for both frameworks.
- Best practices for lean development
governance
from The Rational Edge: The first in a series of articles covering
IBM Rational's recommended approach to governing modern software
development efforts, this article explores the mission and
principles of lean governance, along with the organization and
stakeholder collaboration required for project-by-project
success.f
- Communication
- People
- STSC CrossTalk - Heroes: Carrying a Double-Edged
Sword - Aug 2008
Every organization has key performers that it depends on for its
success. Organizations often cast them as heroes that ride in to
save the day. These heroes play an important role in getting their
organizations through difficult situations, getting products out
the door, and keeping customers happy. However, reliance on heroes
can create problems just as big as the ones the heroes help
resolve. Organizations must recognize the double-edged sword that
heroes bring with them. There are ways an organization can leverage
the good qualities that heroes bring and minimize the negative
ones.
- STSC CrossTalk -
“Spending†Efficiency to Go Faster -
Jan 2009
Have you ever been on a project where some person or group is
holding up the works? They are called the
“bottleneck†station, and here are
some usual and unusual strategies for improving output in the
presence of various bottlenecks.
- The Role of Leadership in Software Development |
Agile Software Development Videos
When you look around, there are a lot of leaders recommended for
software development. We have the functional manager and the
project manager, the scrum
- Fee
- How to negotiate a kill fee
It's not uncommon for a project to end early or be canceled. When
that happens, you may want to negotiate a kill fee. We'll ...
OOA/OOD/OOP
Patterns
- Introductory
- Design pattern (computer science) - Wikipedia, the
free encyclopedia
A great place! Nice categorization, lots of info. Code samples in
different languages.
- Patterns-discussion FAQ
A very good FAQ
- Patterns and Software: Essential Concepts and
Terminology
As the title says: Concepts and terminology -- well explained
here.
- Patterns: Non-Software Examples of Software Design
Patterns - AGCS
Look at these non-software examples to understand what software
patterns are.
- A Learning Guide To Design Patterns
A good guide with relavent questions to stimulate your
learnings.
- Tutorials about Patterns
PPTs can be downloaded.
- Design Patterns, Pattern Languages, and
Frameworks
Resources from one of the authors of POSA.
- Using Patterns to Improve Our Architectural
Vision
Describes what pattern languages are and other things
- Paper by Bob Tarr: Introduction To Design Patterns
(PDF)
- Dr. Dobb's | The Value of Pattern Implementations |
May 4, 2007
The pattern implementation is an artifact that allows the
codification of a pattern specification and automates its
application in a particular environment.
- Java design patterns 101
An introductory article if you are new to design patterns. Talks
about what a patterns is and presents couple of mostly used (GoF)
patterns.
- GOF/POSA Patterns
Descriptions with UML diagrams provided. C++ or Java code is also
found.
- Design
Patterns and Refactoring
Design Patterns and Refactoring articles and guides. Design
Patterns video tutorials for newbies. Simple descriptions and full
source code examples in Java, C++, C#, PHP and Delphi. Really good
site!
- Design Patterns
Discussion about Design Patterns with diagrams, real life examples
and code on C++, C#, Java and Delphi. All patterns here. Another
good site!
- Books
- Synopses
- Applying Patterns
- JUnit: A Cook’s Tour
Describes how patterns are recusively applied to solve a design
problem (JUnit testing framework design). A great read!
- Pattern Repositories/Libraries
- Hillside.net - Your Patterns Library
An online catelog of links to other resources, how to document a
pattern, presentations, tools, FAQ,... Useful content here!
- Portland Pattern
Repository
A repository of patterns used in various places.
- Enterprise Java Patterns
Repository at theserverside.com
- Workflow Patterns
This site serves as a repository for workflow modeling patterns.
These patterns can be used to examine the expressive power of a
workflow server that you intend to work with or they can serve as a
set of ideas how to implement given business requirements having
some workflow server already deployed in your organization.
- IBM Pattern Web Site
A portal to all of the pattern activities going on at IBM right
now
- Gang of Four Patterns
- Dependency Injection
- Inversion of Control Containers
This article looks at three popular IoC implementations: Hivemind,
PicoContainer, and Spring.
- Dependency Injection & Testable
Objects
Designing loosely coupled and testable objects
- Use Inversion of Control in method
signatures
The Inversion of Control (IoC) pattern is normally used for
components. This article describes how to use the pattern on method
signatures to decrease the coupling between components and improve
performance. IBM Global Business Services consultant Andr Fachat
uses two examples to show the flexibility of this approach.
- Implementations
- J2EE
- General
- EJB
- Clustering
- A.C.E. Smart Cache: Speeding Up Data
Access
To cache data objects (be they value objects or entity beans) that
are frequently read, yet represent mutable data (read-mostly). This
problem is not so difficult when only one server (JVM) is in use,
but is much more complicated when applied to a cluster of servers.
The Active Clustered Expiry Cache can solve this problem.
- Presentation Tier Scalability
A book excerpt. Couple of design patterns on scalability of the
presentation tier are discussed here.
- Integration
- Misc
- Idioms
- Misc
- (ootips) Model-View-Controller
- Pattern-Oriented Software Architecture: Patterns for
Concurrent and Networked Objects
- Advanced Object-Oriented Design &
Programming
From San Diego State University.
- community.java.net - Java Patterns
- ONLamp.com: Using Design by Contract in C
- PatternsCentral
Discuss about patterns.
- patterns: Home
- JOT: Journal of Object Technology - Object-Oriented
Design Patterns for Detailed Design, W. Al-Ahmad
This paper discusses the use of design patterns during the
transition phase from analysis to design of object-oriented
systems.
- Anti-pattern - Wikipedia, the free encyclopedia
- Wikipatterns - Wiki Patterns
- Design Pattern Links, Articles, eBooks, and other
resources. - Lance's Whiteboard
Lance Hunt's blog on Software Development with C#, .NET, Sql
Server, and other misc. topics thrown in for good measure.
- Patterns for Concurrent, Parallel, and Distributed
Systems
- Patterns in Practice: Design For Testability
UML
- Introductory
- Official UML Specification Documents
- Agile
Modeling (AM) Home Page
Talks about the Agile Modeling. Superb site with enough guidelines
for you to create better UML 2.0 diagram.
- Unified
Modeling Language (UML) Dictionary
- UML
Tutorial
- UML
- UML Tutorial
- UML Tutorial in 7 days
- Practical UML
- UML Resource
Page
- Articles from Object Mentor
- UML Class Diagrams for Java Programmers
- Walking through a UML design
- Modeling demystified, Part 1: Creating a system
specification from the user's point of view
With this series, learn how to build a user model, which is a
description of a set of people and how they will work with an IT
solution. In this introductory article in the series, get an
introduction to Unified Modeling Language (UML) modeling and find
out how to create a specification of a system from the
user’s point of view.
- Modeling demystified, Part 2: Building a user
model
A user model is a description of a set of people and how they will
work with an IT solution. This type of modeling, which is based on
leading usability theory and practice, lets solution architects
specify the externals of the IT solution so that it's both useful
and usable to all types of users. In this article, learn how to
build a user model of a simple component that supports secure
access to Web resources. See how a user model can identify possible
gaps in your requirements definitions.
- Modeling demystified, Part 3: Extend UML for user
models
This series provides basic information on how to build user models.
In this third article, learn about the stereotypes and
relationships used to extend Unified Modeling Language (UML) for
user models. A user model is a description of a set of people and
how they will work with an IT solution.
- Software development magazine: UML, Agile, programming,
testing, project management, jobs
Free practical knowledge and jobs on software development and
software engineering for software developers, testers and project
managers Web Testing, UML, Agile Approaches (Scrum, XP, TDD),
Programming (Java, .NET, Ajax, RIA, Ruby on Rails), Databases,
Software Configuration Management, Software Project Management,
Software Process Improvement (CMM, SEI, CMMI), Software Analysis
and Design, Software Quality Assurance, GUI Building, Programming,
User Requirements, User Interface, Software Development Tools, Risk
Management, IT Industry News, etc.
- Good Introduction From The Rational Edge
- Use Cases
To be moved to elsewhere...
- Business Modeling
- Misc
Test Infected Programming
- JUnit
- Related Tools
- DbUnit
DbUnit is a JUnit extension (also usable with Ant) targeted for
database-driven projects that, among other things, puts your
database into a known state between test runs.
- Jakarta Cactus
Cactus is a simple test framework for unit testing server-side java
code (Servlets, EJBs, Tag Libs, Filters, ...).
- StrutsTestCase for JUnit
StrutsTestCase for JUnit is an extension of the standard JUnit
TestCase class that provides facilities for testing code based on
the Struts framework.
- HttpUnit
Written in Java, HttpUnit emulates the relevant portions of browser
behavior, including form submission, JavaScript, basic http
authentication, cookies and automatic page redirection, and allows
Java test code to examine returned pages either as text, an XML
DOM, or containers of forms, tables, and links. HttpUnit also
contains ServletUnit that can be used to test Servlets in isolation
(ie. in a simulated servlet caontainer)
- jWebUnit
jWebUnit provides a high-level API for navigating a web application
combined with a set of assertions to verify the application's
correctness. This includes navigation via links, form entry and
submission, validation of table contents, and other typical
business web application features. This code utilizes HttpUnit
behind the scenes. The simple navigation methods and ready-to-use
assertions allow for more rapid test creation than using only JUnit
and HttpUnit.
- JUnitPerf
JUnitPerf is a collection of JUnit test decorators used to measure
the performance and scalability of functionality contained within
existing JUnit tests.
- JUnitScenario - Simulating application usage
JUnitScenario is tool to simulate real life usage of applications.
It allows you to describe scenarios that are composed of unit tests
calls and simulate several users following those scenarios.
- JUnitEE
JUnitEE provides a TestRunner which outputs HTML and a servlet
which can be used as an entry point to your test cases.
- Testing Java Interfaces with JUnit
GroboUtils JUnit Extension (GJE) that helps you write tests for
inherited logic. Among other features, GJE helps reflect the source
structure in the tests—if a class extends a
class and/or implements an interface, then so do its test
suites.
- TestNG
TestNG is a testing framework inspired from JUnit and NUnit but
introducing some new functionalities that make it more powerful and
easier to use.
- JUnitDoclet
It generates skeletons of TestCases based on your application
source code. Most of the present IDEs support this feature. You
don't want to use JUnitDoclet for this though I have listed it
here.
- Jester
Jester is different than code coverage tools, because it can find
code that is executed by the running of tests but not actually
tested. Jester's approach is called mutation testing. However,
Jester is not meant as a replacement for code coverage tools,
merely as a complementary approach.
- Assertion Extensions for JUnit
Assertion Extensions for JUnit provides a set of complex assertions
that execute within the JUnit framework.
- Unit testing the Eclipse way
Does your legacy code demand a matching test suite of classes to
run against its source code base? For such purposes, jMock
qualifies as a great testing framework. However, not all cases may
suit the occasion, especially when you must construct objects in a
manner that jMock doesn't expect. To avoid the hassle of producing
suites of custom mock objects to support the unit tests in an
application, you can tailor RMock to work with jMock seamlessly to
achieve a positive result.f
- HtmlUnit - Welcome to HtmlUnit
- Download the Simple Test testing framework - Unit tests
and mock objects for PHP
- Mock Objects
- Misc
- testdriven.com: Your test-driven development
community
This site is dedicated to promoting techniques, tools, and general
good will in the test-driven community.
- White Box Vs. Gray Box Analysis
- ONJava.com: Agile User Interface
Development
- java.net: Testing Your Enterprise JavaBeans with
Cactus
- Simple Test testing framework - Unit tests and mock
objects for PHP
- Evil Unit Tests
Some good guidelines on how to implement tests.
- Crafting Java with Test-Driven Development, Part
13: Nine Reasons Why You Should Be Using TDD > Reduced Time in
Up-Front Design
- In pursuit of code quality: Programmatic testing
with Selenium and TestNG
Software development articles web directory : Java, .NET, PHP, XML,
UML, Agile, software testing, programming, project management
- Make JUnit testing Java applications easier with
Grester
So, you've written a bunch of unit tests. As a developer, you run
your tests multiple times per day, especially in a continuous
integration environment. But how badly would they break if the
sources had to change? When Jester and Maven combine to make
Grester, you can quickly find out.
- ArticleS.UncleBob.TheThreeRulesOfTdd
An interesting article that sets three simple rules to go with Test
Driven Development
- Video: The Value of Small Tests | Software Development
Videos
Whenever unit-tests are written, chances are good that the code is
not isolated. Many tests run against a given
class/interface/function. The design didn't
- InfoQ: JavaScript Test Driven Development with JsUnit and
JSMock
This article is a crash course in writing maintainable JavaScript.
We'll add features to a running example by iteratively following a
simple principle: write a unit test, make it pass. Each test will
serve as a quality feedback loop, creating both a safety net and an
executable form of documentation for anyone who wants to change the
production code.
Automated Code Generation
Java
- Introductory
- Reference Documentation
And need to see the officials documents? Start from here...
- The Java Tutorial (From Sun Microsystems, Inc.)
Everything.
- Java Reference Guide
- More Java Tutorials from Sun Microsystems, Inc.
Here's a great collection from the origin of Java.
- Introduction to Programming Using Java
The best book to read if you are new to programming and also new to
Java.
- Thinking in Java, 3rd edition
One of the best books. A little bit hard at the beginning. Covers
everything from the beginning to the advanced.
- Essentials of the JavaTM Programming Language: A
Hands-On Guide, Part 1
Suitable for beginners and is easy to follow.
- Essentials of the JavaTM Programming Language: A
Hands-On Guide, Part 2
Suitable for beginners and is easy to follow.
- Java Theory and Practice from
developerWorks
- Technical Articles and Tips (Categorical
Listing)
Lots of technical articles...
- Java Developer Connection: Articles (Alphabetical
Listing)
The same set of articles...
- Programmer Quiz
- developerWorks : Java technology :
Tutorials
- Developer Bookshelf
Sample chapters from great books
- The Java Language Specification - Second
Edition
- API Documentation (J2SE v1.4.2)
Documentation on the Standard Library (Packages, classes,
interfaces, methods, fields). You should get a copy of this
downloaded and installed in your local machine.
- JDocs.com
JDocs is a comprehensive online resource for Java API
documentation. All the javadocs for a variety of popular packages
are loaded into a db-driven system, and users can contribute their
own notes to virtually any class, field, method. Superb!
- Java.net: A Community for Everyone
Get engaged with Java.
- Java API Map (ONJava.com)
Here's a map for you to find your direction. It summarizes Java API
and you can click on individual items to see articles, tutorials
and other resources.
- JavaRSS -
Java News, Java Articles and Java Blogs, Just one
bookmark.
JavaRSS.com is a portfolio of websites rich in Java News, Java
Articles and Java Blogs. Java developers, Java Architects and Java
Managers can read daily news, articles and blogs through the
convenience of your favorite browser.
- Colorado Software Summit
The best conference for Java developers.
- The Elements of Java Style
For those who are serious about clean coding.
- Java and JavaScript Programming, by Richard G
Baldwin
A great collection of links tutorials are here.
- Java User Groups: Java Technology Pointers
A very worth collection of links. Superb.
- How was Java named?
- E-mail Lists
- Certification
- Java SE 1.5 (Java SE 5)
- Java 6
- java.net: Source Code Analysis Using Java 6
APIs
Why does Java 6 expose the javac compiler through a programmatic
interface? It's not just for building IDEs. In this article, Deepa
Sobhana and Seema Richard show how to use the new feature for
static code analysis, with an example that verifies that...
- JFC/Swing
- Introductory
- Applets
- Threading
- 2D/3D
- Image Manipulation
- Component Internals
- Components
- L2FProd.com - Common Components
"L2FProd.com Common Components" project provides common user
interface controls that aren't in the standard Swing toolkit. They
include a status bar, a Windows-style directory chooser, and a
property sheet component.
- Swing Depot: Component Suites
This page — the first in a planned series about
products to help you develop Swing GUIs — lists
a few high-quality collections of components that you can use
alongside standard Swing components. Superb!
- Look And Feel
- Describe UI in XML
- Open XUL
Alliance - Creating A Rich Internet For Everyone
Starting point! Links to many things on rich internet
exploring.
- Thinlet
Thinlet is a GUI toolkit, a single Java class, parses the hierarchy
and properties of the GUI, handles user interaction, and calls
business logic. Separates the graphic presentation (described in an
XML file) and the application methods (written as Java code).
- Jelly Swing
It allows XML documents (Jelly scripts) to be used to define the
layout and rendering of Swing front ends which avoids lots of
mundane Java coding, using markup to define the view of your front
end and allowing you to bind to Java code for the business objects
and models.
- XUI
XUI is a Java and XML framework for building rich client, desktop
and mobile applications. The framework can save you up to 60% of
the code typically needed to build an application. The result is
real savings in development time and maintenance costs and greater
stability.
- SwingML
SwingML is a specification based on XML that releases the power of
the JFC/Swing libraries making them easier to implement in the
client side and providing an alternative to replace completely the
use of HTML. In the traditional model a server side component
returns HTML to the web browser. In the SwingML model a server side
component produces SwingML and returns it to the client side where
an applet will receive it and use it to render the graphical user
interface, this makes possible the creation of graphical user
interfaces based totally on Swing instead of HTML.
- Misc
- Piccolo Home Page
It is a revolutionary way to create robust, full-featured graphical
applications in Java, with striking features such as zooming and
multiple representation. Piccolo is an extensive toolkit based on
the Java2D API. And best of all, it is free and open source!
- Java Pro : Turn a JTable into a
Spreadsheet
- Introducing the Reflexive User Interface
Builder
RIB specifies a flexible and easy-to-use XML markup language for
describing Java GUIs and provides an engine for creating them.
- Magic with Merlin: Dynamic event listener
proxies
Replace anonymous inner classes with dynamic proxies (An easy way
of event handling!).
- The Swing HTML Parser
Parsing an HTML file with standard classes from javax.swing.text
package. I use a tweaked solution of this for managing this list of
links!
- java.net: The JModalWindow Project
There are times when you want a modal window that implements
window-specific modality rather than the application-wide modality
provided by the standard JDialog class. This article explains the
workings of the JModalWindow project, which provides two top-level
components, called ModalWindows, that introduce such modality. The
first ModalWindow class, JModalWindow, is a subclass of JWindow
that's generally used for dialogs that block other windows. The
second, JModalFrame, is a subclass of JFrame that can be used
either as a blocked window or as a blocking window.
- Hans Muller's Blog: Another 40 Swing Component
Libraries
A superb list of libraries.
- Jeppers
Jeppers is a full featured web-based spreadsheet editor written in
Java. It also provides an LGPL grid component that can be used in
Swing applications.
- Automate GUI tests for Swing applications
- java.net: Asserting Control Over the GUI: Commands,
Defaults, and Resource Bundles
This article is about defining Swing application behavior. It's
about combining low-level J2SE primitives, like Actions,
ResourceBundles, and UIDefaults, in a way that's appropriate for
moderately large desktop Java applications. Localization becomes
easier.
- Create Great-Looking GUIs With NetBeans IDE
5.5
Learn how NetBeans IDE 5.5 GUI Builder's Free Design layout mode
and GroupLayout manager help you create platform-independent
designs for user interfaces. New features simplify
internationalization and reuse of GUI components in Java SE 6 or
ealier versions of the Java platform.
- SwingLabs Java Desktop Technology
SwingLabs is an Open Source laboratory for exploring new ways to
make Swing applications easier to write, with improved performance
and greater visual appeal.
- Swing [Archive] - close JDialog with ESC
key?
- JDBC
- Other Persistence/Object Relational Mapping
- Hibernate
- Caching
- Ehcache
Ehcache is a small, fast and simple in-process Java cache,
available under an open source license.
- Whirlycache
Whirlycache is a fast, configurable in-memory object cache for
Java. It can be used, for example, to speed up a website or an
application by caching objects that would otherwise have to be
created by querying a database or by another expensive
procedure.
- FKache
Open Source
Its intentions is to increase the performance of dynamic
applications by providing a means to manage cached data. An
effective cache implementation will remove the bottlenecks from the
database.
- Javapedia - Cache
A list of caching products.
- Middlegen
Middlegen is a free general-purpose database-driven code generation
engine based on JDBC , Velocity , Ant and XDoclet . If you already
have a database, you can use Middlegen to generate persistance
layers with EJB (CMP 2.0), JDO, Hibernate, Torque or database GUI
with JSP/Struts.
- FireStorm/DAO - Java Code Generator for JDBC, J2EE,
EJB, JDO, and DAO
(Commercial Product) FireStorm/DAO Java code generator imports
database schema definitions from SQL scripts or from live databases
via JDBC and then generates a complete persistence tier based on
the Data Access Object (DAO) design pattern. FireStorm/DAO can
generate source code based on the Java Database Connectivity
(JDBC), Java Data Object (JDO), and Enterprise JavaBean (EJB)
specifications.
- Enhydra
DODS
Based on XML data model descriptions (DOML files) SQL DDL,
sophisticated Java O/R code and documentation (HTML, pdf, XMI) is
generated automatically using a generator GUI, by Ant tasks or from
within your IDE of choice (using Kelp).
- JORM
JORM (Java Object Repository Mapping) is an adaptable persistence
service. It can be used to offer various personalities, such as one
compliant with the CMP EJB specification (TM), another with the OMG
PSS specification or another with the JDO (Java Data Objects)
specification (TM). JORM provides object persistency through
different secondary storage supports, such as files, relational
databases or object-oriented databases.
- Prevayler
Prevayler is the free-software Prevalence layer for Java. It is not
a database, but can be used as a replacement for a database in many
circumstances. It uses object serialization to store all the
modifications to your data in a sequential form.
- ObJectRelationalBridge - OJB from Apache
ObJectRelationalBridge (OJB) is an Object/Relational mapping tool
that allows transparent persistence for Java Objects against
relational databases.
- Introduction to Service Data Objects
Another database programming model...
- O/R
Broker
O/R Broker is a JDBC framework, much in the spirit of iBatis, where
you roll your own SQL statements.
- Butler
- Butler
Project
Butler framework is an object model on top of JDBC that models
tables, records, foreign keys, etc. It has functionallity for
querying the database, updating records, and viewing database
metadata. This framework sees tables as tables, records as
records... That's strange compared with the other frameworks that
try hide the database schema.
- The power of table-oriented programming
- ONJava.com: Simple Object Persistence with the db4o Object
Database
- PriDE:
PRImitive Database Environment
PriDE is a thin and high-performance Java O/R mapper for relational
databases, originally developed by MATHEMA Software GmbH. It
doesn't follow any persistence management standards but relies on
common design patterns and is production-proved in both J2SE and
J2EE environments.
- JoSQL -
SQL for Java Objects
JoSQL (SQL for Java Objects) provides the ability for a developer
to apply a SQL statement to a collection of Java Objects. JoSQL
provides the ability to search, order and group ANY Java objects
and should be applied when you want to perform SQL-like queries on
a collection of Java Objects.
- An
In-Depth Look at OpenJPA
Open JPA is a fully compliant, enterprise grade open-source JPA
implementation suitable for production use. In this session, you
will see how OpenJPA goes beyond the specification to include
important features including caching, dynamic fetch group
configuration...
- SourceForge.net: c3p0:JDBC DataSources/Resource
Pools
c3p0 is an easy-to-use library for augmenting traditional
(DriverManager-based) JDBC drivers with JNDI-bindable DataSources,
including DataSources that implement Connection and Statement
Pooling, as described by the jdbc3 spec and jdbc2 std
extension.
- Data Binding
- JDO
- Code Generation
- JVM
- Garbage Collection
- Performance
- Java
Performance
- Java 2 Platform, Standard Edition (J2SE Platform),
version 1.4.2 Performance White Paper
- Java Performance Tuning
Tips, other web resources, newsletters and reports on tools you can
use.
- jvmstat
The jvmstat tools provide access to light weight performance and
configuration instrumentation exported by the HotSpot JVM and
displays the information in various formats.
- NetBeans Profiler
- HotSwap Client Tool
Using this tool, you can dramatically improve the time of the usual
"test - find a bug - stop the program - change - recompile -
restart the program" development cycle by removing the "stop" and
"restart" elements from it.
- HAT -- The Java Heap Analysis Tool
This tool can help you to debug an analyze the objects in a running
Java program.
- GC Portal
The GC Portal enables analysis and performance tuning of Java
applications from a garbage collection (GC) perspective by mining
the verbose:gc logs generated by the JVM. GC Portal is a one-stop
page for GC issues and includes an extensive collection of
whitepapers, case studies and other material.
- Quest
Software - JProbe Suite
Identify method and line level performance bottlenecks. Free
prifiler is available.
- Optimize your Java application's
performance
- Performance Comparison of Java/.NET Runtimes (Oct
2004)
- Hyperic - The Leading Provider of Predictable and Open IT
Management Frameworks
Manage your software and monitor the performance using this tool. A
free full featured evaluation version is a available.
- Java Tuning White Paper
A not very lengthy white paper on the topic. A good one.
- Monitor and diagnose performance in Java SE
6
Java Platform, Standard Edition 6 (Java SE) focuses on performance,
with expanded tools for managing and monitoring applications as
well as diagnosing common problems. This article outlines the basis
of monitoring and management in the Java SE platform and provides
detailed information about the relevant enhancements in Java SE
6.
- Monitor and diagnose performance in Java SE
6
Java Platform, Standard Edition 6 (Java SE) focuses on performance,
with expanded tools for managing and monitoring applications as
well as diagnosing common problems. This article outlines the basis
of monitoring and management in the Java SE platform and provides
detailed information about the relevant enhancements in Java SE
6.
- Ropes: Theory and practice
Systems that manipulate large quantities of string data are poorly
served by the Java language's default String and StringBuilder
classes. A rope data structure can be a better alternative. This
article introduces Ropes for Java, a rope implementation for the
Java platform; explores performance issues; and provides pointers
for effective use of the library.
- Java SE Performance at a Glance
Performance is critical for the success of applications built on
Java technology and impacts all levels of the software stack.
- Help for the NUMA Weary : Jon Masamitsu's
Weblog
- Robust Java benchmarking, Part 1: Issues
Program performance is always a concern, even in this era of
high-performance hardware. This article, the first in a two-part
series, guides you around the many pitfalls associated with
benchmarking Java code. Part 2 covers the statistics of
benchmarking and offers a framework for performing Java
benchmarking. Because almost all new languages are virtual
machine-based, the general principles the article describes have
broad significance for the programming community at large.
- [JavaSpecialists 158] - Polymorphism Performance
Mysteries Explained
Java Specialists
- VisualVM
- Java run-time monitoring, Part 1: Run-time
performance and availability monitoring for Java systems
Run-time performance monitoring is critical to achieving and
maintaining a well-performing system. In this article, the first in
a three-part series, Nicholas Whitehead explains how to do
low-level granular monitoring of Java performance efficiently. The
data you generate can provide valuable insights into system
operation and reveal constraints and influences that affect an
environment's stability and performance.
- XML
- XML programming in Java technology, Part
1
This updated tutorial covers the basics of manipulating XML
documents using Java technology. Doug Tidwell looks at the common
APIs for XML and discusses how to parse, create, manipulate, and
transform XML documents.
- Practical XML for Java Programs
A simple to digest article.
- Getting Groovy with XML [Aug. 12, 2004]
Groovy has a lot of good XML support itself, and this article goes
into the details of how to suck in, munge, and spew out XML.
- dom4j: the
flexible XML framework for Java
dom4j is an easy to use, open source library for working with XML,
XPath and XSLT on the Java platform using the Java Collections
Framework and with full support for DOM, SAX and JAXP.
- XOM
XOM is a new XML object model. It is an open source (LGPL),
tree-based API for processing XML with Java that strives for
correctness and simplicity.
- JDOM
- XMLBeans
XMLBeans is a tool that allows you to access the full power of XML
in a Java friendly way. The idea is that you can take advantage of
the richness and features of XML and XML Schema and have these
features mapped as naturally as possible to the equivalent Java
language and typing constructs.
- Namespaces in XML Schemas, Part 1: An
Introduction
- Tip: Map between XML and databases
- XMLBeans
- Receive events from XMLBeans
XMLBeans is a great XML-to-Java data-binding technology, but it
lacks the ability to register observers for model changes. However,
you can customize generated plain old Java objects (POJOs) to
include the necessary interfaces and the notification of changes.
Create a Sudoku Rich Client Platform (RCP) game application in
Eclipse, and learn how to use eventing to validate the user's
input.
- Castor
- The Castor
Project
- Data binding with Castor, Part 1: Install and set
up Castor
Download, install, and configure Castor for data binding.
- Data binding with Castor, Part 2: Marshall and
unmarshall XML
In the last article of this series, you downloaded, installed, and
set up Castor. In this article, you'll learn how to convert your
Java(TM) classes to XML and transform that XML back into Java code,
as well as how Castor works and how to design your classes to
function well with the API.
- Data binding with Castor, Part 3: Map between
schemas
Use Castor to convert data in an unwieldy or inconvenient XML
document to your custom Java objects.
- Evaluating XPaths from the Java platform
XPath makes selecting elements, attributes, and text in an XML
document easy. Learn how to evaluate XPaths from Java programming,
and work with the returned nodes.
- XPath
- Exception Handling
- Threading/Concurrency
- Programming Java threads in the real world, Part
1
- Programming Java threads in the real world, Part
2
- Programming Java threads in the real world, Part
3
- Programming Java threads in the real world, Part
4
- Programming Java threads in the real world, Part
5
- Programming Java threads in the real world, Part
6
- Programming Java threads in the real world, Part
7
- Programming Java threads in the real world, Part
8
- Programming Java threads in the real world, Part
9
- Using the New Concurrent Utility Classes in Java
5.0
- Minimal Synchronization Techniques
A book excerpt. JDK 5.0 targeted.
- ONJava.com: Advanced Synchronization in Java
Threads, Part 1
There's a new look to threads in J2SE 5.0: the original options for
coordinating threads with wait() and notify() are now augmented
with classes representing new and sophisticated strategies for
working with threads. In this first excerpt from Java Threads, 3rd
Edition, Scott Oaks and Henry Wong look at the new
java.util.concurrent package.
- ONJava.com: Advanced Synchronization in Java
Threads, Part 2
- Concurrent Programming in Java: Design principles and
patterns
This is the supplement to the book Concurrent Programming in Java:
Design Principles and Patterns by Doug Lea
- Concurrency in JDK 5.0
- Java theory and practice: Going atomic
The new atomic classes are the hidden gems of java.util.concurrent.
Good read.
- Java theory and practice: Dealing with
InterruptedException
- Dr. Dobb's | Spin Buffers | June 8, 2007
If you are writing high-performance applications, you should
consider using Spin Buffers that eliminate the need for
synchronization.
- timingframework: Timing is Everything
A library for making Java animation and timing-based control
easier.
- Better monitors for Java - Java World
Theodore S. Norvell introduces the conceptual underpinnings of
Hoare-style monitors (such as the use of exclusive access,
conditions, and assertions) then presents his own Java-based
monitor package that automates assertion checking during
execution.
- Spice up collections with generics and
concurrency
The Java Collections Framework is an important aspect of the Java
platform. Both desktop and enterprise applications typically
collect items to work with. This article shows you how to work with
collections while taking advantage of enhancements made to the
framework in Java SE 6. You can go far beyond HashMap or TreeSet by
using generics and concurrency features to make your applications
more maintainable and scalable.
- Dr. Dobb's | The Many Faces of Deadlock | July 31,
2008
Deadlock can happen whenever there is a blocking (or waiting) cycle
among concurrent tasks.
- Utilizing a Multi-Core System with the Actor
Model
Demand for multi-core/multi-processor applications is growing, but
developing for a multi-threaded application does not require a
steep learning curve or an understanding of complicated edge cases.
Learn how to develop efficient multi-threaded applications without
using synchronized blocks.
- Fork/Join Framework
- Concurrency with fork/join in JDK 7 «
Collaborative Creativity
- Java theory and practice: Stick a fork in it, Part
1
One of the additions to the java.util.concurrent packages coming in
Java 7 is a framework for fork-join style parallel decomposition.
The fork-join abstraction provides a natural mechanism for
decomposing many algorithms to effectively exploit hardware
parallelism. The next installment in this series covers the
ParallelArray classes, which simplify parallel sorting and
searching operations on in-memory data structures.
- Java theory and practice: Stick a fork in it, Part
2
One of the additions to the java.util.concurrent packages coming in
Java 7 is a library for fork-join-style parallel decomposition. In
part one of this series, author Brian Goetz shows how fork-join
provides a natural mechanism for decomposing many algorithms to
effectively exploit hardware parallelism. In this article, he'll
cover the ParallelArray classes, which simplify parallel sorting
and searching operations on in-memory data structures.
- Java on Multi-Core Systems
- Security
- I/O
- Networking
- Collections
- Spice up collections with generics and
concurrency
The Java Collections Framework is an important aspect of the Java
platform. Both desktop and enterprise applications typically
collect items to work with. This article shows you how to work with
collections while taking advantage of enhancements made to the
framework in Java SE 6. You can go far beyond HashMap or TreeSet by
using generics and concurrency features to make your applications
more maintainable and scalable.
- Java theory and practice: Going wild with generics,
Part 2
Wildcards can be very confusing when it comes to generics in the
Java language, and one of the most common mistakes is to fail to
use one of the two forms of bounded wildcards ('super T' and '?
extends T') when needed. You've made this mistake? Don't feel bad,
even the experts have, and this month Brian Goetz shows you how to
avoid it.
- JXTA
- Jini
- I18N
- Reflection
- JavaBeans
- JNI
- Logging
- Java For Desktops
- Sound
- Java
Sound Resources
This site helps you to learn and master the Java Sound API. You'll
find code examples, FAQs and applications.
- ONJava.com: Extend JavaSound to Play MP3, Ogg
Vorbis, and More
- MP3 SPI for Java Sound
MP3SPI is a Java Service Provider Interface that adds MP3 (MPEG
1/2/2.5 Layer 1/2/3) audio format support for Java Platform. It
supports streaming, ID3v2 frames, Equalizer, .... It is based on
JLayer and Tritonus Java libraries.
- MP3 library for the Java Platform
MP3 decoder/player/converter library for Java platform.
- Talking Java!
Make your program talking in a very simple way. Not a standard
product though.
- Java Sound, An Introduction
- Java Sound, Getting Started, Part 1, Playback
- Java Sound, Getting Started, Part 2, Capture Using
Specified Mixer
- Java Sound, Capturing Microphone Data into an Audio
File
- JMX
- Lightweith Containers
- JAX-WS
- Real-time Java
- Bluetooth
- JavaFX
- OSGi
- Misc
- Password Masking in the Java Programming
Language
Provides a platform-independent solution to the command-line input
password masking problem.
- JAR files revealed
- Simplify your application delivery with
One-JAR
Packaging all of them into a single file. A good technique is
described here.
- Store objects using the Preferences API
- Scheduling recurring tasks in Java
applications
- Java programming dynamics, Part 1: Classes and
class loading
Take a look at what goes on behind the scenes of executing your
Java application in this new series on the dynamic aspects of Java
programming.
- Java programming dynamics, Part 2: Introducing
reflection
Reflection gives your code access to internal information for
classes loaded into the JVM and allows you to write code that works
with classes selected during execution, not in the source code.
This makes reflection a great tool for building flexible
applications.
- Java programming dynamics, Part 3: Applied
reflection
- How to lock down your Java code (or open up someone
else's)
Whether you're patching in code from one of the many open-source
libraries on the Web or making calls to common operating system
routines, you inevitably spend some part of your week crunching
code that you didn't write, and for which you may not have the
source. When it comes time to debug this code, you'll need access
to a good Java decompiler and the know-how to use it properly. At
the same time, you'll also want to know how to protect your own
code from prying eyes.
- Testing and Java Technology
- Java Collection Hierarchy : Holub
Associates
- Java Order-of-Precedence Chart : Holub
Associates
- Java on Linux (TWiki)
This is a web-based collaboration area for Java on Linux.
Installation tips, packaging, performance tips, alternative JVMs,
integration with Linux desktops, making Linux system calls...
- IEEE-754 References
Working with floating point numbers?
- Lend a helping hand to your Java
applications
Build your next Java application help system with JavaHelp 2.0
- Java theory and practice: Coaxing J2EE out of the
container
There are a number of J2EE technologies that can exist outside of
the J2EE container, and some J2SE applications may benefit from
them.
- Learn to speak Jamaican
Jamaica, the JVM Macro Assembler, is an easy-to-use assembly
language for JVM bytecode programming.
- SendMail.java
- FindBugs, Part 1: Improve the quality of your
code
- FindBugs, Part 2: Writing custom detectors
- Java Pro - Writing a Code Generator in
Java
Design and implement a flexible, Java code-generation system that
is easy to maintain, intuitive to work with, and based on IOM
- Covert Java: Hacking Non-Public Methods and
Variables of a Class
- Absolute Java -- "Arrays†(Chapter
6)
A book except. Nice chapeter containing sufficient information on
manipulating arrays.
- An Introduction to Java Map Collection Classes
- Cross-Referencing HTML the Tiger Way
Xref can be used to add real cross-referencing to your HTML
documentsf. This tool automatically numbers chapter headings,
figures, tables, and other items across multiple documents,
generates lists like a table of contents including hyperlinks, and
allows to add automatically numbered references to your texts.
- Enumerated Types
A book excerpt.
- Java programming gotchas
This article explains some Java programming "gotchas" that
application developers might overlook when writing software.
- JNode
JNode is a Java New Operating System Design Effort. The goal is to
get an simple to use and install Java operating system for personal
use. Any java application should run on it, fast & secure!
- Create Intelligent E-mail Filters with JavaMail and
Classifier4j
Classifier4J is an open source Java library that will let you build
custom applications that read e-mails and other types of text
documents, separating the wheat from the chaff exactly the way you
intend.
- Developing Auto-ID Solutions using Sun Java System
RFID Software
- Jarhoo
Into which package that class belongs? Or how about figuring out
the jar file name which contains a known class? Here's an online
search engine.
- Understanding Network Class Loaders
This article helps you learn about class loaders in general and
network class loaders in particular... as well as the security
issues that surround them.
- Acquire Images with TWAIN and SANE, Part 1
How to access a scaner in your java program?
- Core Java: Collections Framework and
Algorithms
- Java theory and practice: Enable initialization
atomicity
Guidelines in developing APIs. Great.
- Java to EXE Why When When Not and How
- Java Service Wrapper - What is the Java Service
Wrapper?
Make the Java application a Windows/Unix service.
- iText,
a Free Java-PDF Library: Home Page
iText is a JAVA library that can be used to generate complex PDF
documents (with images, tables,...).
- Enterprise Java Community: Book Excerpt: Creating
and Manipulating PDF
- Java theory and practice: The closures
debate
Everyone has a favorite feature idea or two for adding to the Java
language. With the open-sourcing of the Java platform and the rise
in popularity of other languages for server-side applications
(JavaScript and Ruby, to name two), the debate over the future of
the Java language has never been more vigorous. Should the Java
language embrace major new additions, such as closures? Or is that
too much messing with a good thing? In this month's Java theory and
practice, Brian Goetz reviews the concepts involved and provides
details on the two competing closures proposals.
- JPC
- Computer Virtualization in Java
- Send HTML mail with images (Javamail) - Real's Java
How-to
Real's JAVA JAVASCRIPT and PowerBuilder How-to pages with useful
code snippets
- Robots, mazes, and subsumption
architecture
Robot simulators can be both serious research tools and, as IBM
computer programmer Paul Reiners shows in this article, a route to
some serious fun with Java programming. Find out how to create
light-seeking and maze-navigating virtual robots in the Java
language using Simbad -- an open source robot simulator based on
Java 3D technology -- to realize the robotics-design concept of
subsumption architecture.
- Java examples
(example source code) Organized by topic
A good collection of scriptlets is found here.
- Java theory and practice: I have to document
THAT?
The Java language takes an integrated approach to API documentation
through the Javadoc comment convention. The Javadoc tool can help
generate pretty API documentation, but the vast majority of Java
API documentation out there is simply awful. Because it is part of
the source code, the responsibility for the documentation of APIs
falls squarely on the engineer. In this article, Brian rants about
the current state of Java documentation practices and offers some
guidelines on how to write more useful Javadoc.f
- Automation for the people: Continual
refactoring
Refactoring is a well-accepted practice for improving existing
code. Yet, how do you find the code that should be refactored, in a
consistent and repeatable manner? In this installment of Automation
for the people, you'll learn how to use static analysis tools to
identify code smells to refactor, with examples showing how to
improve odiferous code.
- Java's new math, Part 1: Real numbers
Join Elliotte Rusty Harold for a look into 'new' features in the
classic java.lang.Math class in this two-part article. Part 1
focuses on more purely mathematical functions. Part 2 will explore
the functions designed for operating on floating-point
numbers.
- Maths
- Java's new math, Part 2: Floating-point
numbers
Join Elliotte Rusty Harold for a look into 'new' features in the
classic java.lang.Math class in this two-part article. Part 1
focuses on more purely mathematical functions. Part 2 explores the
functions designed for operating on floating-point numbers.
Java Enterprise Edition
- Introductory
- Java EE 5
- Java EE 5: Power and productivity with less
complexity
Momentum for organizations to adopt Java Platform, Enterprise
Edition 5 (Java EE 5) is steadily increasing as the platform's
container support, developer tools, educational resources, and
developer-community experience all improve. Get a high-level view
of the new productivity features and API enhancements in Java EE 5
and work through a Web service example that demonstrates its
simplified development models.
- E-mail Lists
- Application Servers
- Tomcat
- JBoss
- Apache Geronimo
- GlassFish
- IBM WebSphere
- WebSphere Application Server Community Edition
- WebLogic
- JOnAS
- JOnAS
JOnAS is the Open Source implementation by ObjectWeb of the J2EETM
specification. JOnAS is a pure JavaTM implementation of this
specification that relies on the JDK.
- EJOSA -
Enterprise Java Open Source
EJOSA (Enterprise Java Open Source Architecture) is a project
supporting the effective development of J2EE-based web application.
It should offer a solution how to overcome the complexity of J2EE
application development by using Open Source products Enhydra
(http://www.enhydra.org) and JOnAS (http://www.objectweb.org).
- Jetty
- Misc
- Best Practices
- bpcatalog: Java BluePrints Solutions Catalog
The Javaâ„¢ BluePrints Solutions Catalog is a new
project from the Java BluePrints program. It consists of a set of
guidelines and best practices and small applications to illustrate
these guidelines on the J2EE 1.4 platform.
- PreciseJava.com - The path to improvement
Over 100 Best Practices To Improve Performance In J2EE: EJB, JDBC,
JSP, Servlets, JMS, Patterns
- Effective Enterprise Java - State
Management
A book excerpt. Good strategies in manipulation of state is
available here.
- Project Conventions for Enterprise Applications
Early Access 1
- Naming Conventions for Enterprise Applications
Early Access 2
- IBM WebSphere Developer Technical Journal: The top
10 (more or less) J2EE best practices
- IBM WebSphere Developer Technical Journal: The top
Java EE best practices
This is an updated version of a similarly-named article published
in the IBM WebSphere Developer Technical Journal in 2004. This
revision takes into account changing technology trends and, more
importantly, recommends certain practices that the authors assumed
would be commonly followed, but, as they have learned, are
not.
- EJB
- ONJava.com: Developing Your First Enterprise Beans,
Part 1
- ONJava.com: Developing Your First EJBs, Part
2
- Mastering EJB II on the TheServerSide.com
- EJB Design Patterns Book on the
TheServerSide.com
- Enterprise JavaBeans, 3rd Edition: Exercise
Workbooks and Examples
Though this is a companion for a book, it is complete. Learn how to
deploy applications in WebLogic, WebSphere, JBoss and even in J2EE
Reference Implementation. Code samples are available.
- Using a BLOB data type in a CMP Entity
Bean
- Tutorial on CMP/CMR and EJB QL
This is a comprehensive hands-on-guide to CMP/CMR with sample code
for J2EE RI. Simple to follow.
- Enterprise JavaBeans Query Language in Sun Java
System Application Server 8 and J2EE 1.4 SDK
A good place to start with EJBQL.
- Simplifying EJB Development with EJB 3.0
- ONJava.com: Using Timers in J2EE
Applications
- ONJava.com: Local and Remote EJB
Interfaces
Which one to choose?
- Monson-Haefel's Guide to Enterprise JavaBeans -
What's New in EJB 2.1
A collection of articles on EJB 2.1 features.
- EJB 3.0 Tutorials
A good one.
- Ease of Development in Enterprise JavaBeans
Technology
What is planned for EJB 3.0?
- Does EJB 3.0 really make application development
easy?
A nice comparison.
- Converting a POJO to a Persistent Entity
A simple introductory example on EJB 3.0 capabilities.
- Design enterprise applications with the EJB 3.0
Java Persistence API
JPA provides a standard OR mapping solution, formerly the domain of
third-party frameworks
- An Introduction to the Enterprise JavaBeans 3.0
Specification
From BEA Dev2Dev
- Introduction to EJB 3 Persistence
A webinar from BEA
- Writing Performant EJB Beans in the Java EE 5
Platform (EJB 3.0) Using Annotations
The Enterprise Java Beans (EJB) 3.0 specification vastly improves
the simplicity of programming EJB beans and increases your
productivity as a developer. This article shows you how to get the
best performance out of the new EJB 3.0 programming model.
- The Performance of EJB 3.0 @ JAVA DEVELOPER'S
JOURNAL
We've all heard about the simplicity and power of the EJB 3.0
specification. And because this has proven to be true, we can't
help but think that performance must be rather poor. After all, all
that simplicity must come at a price.
- Articles - EJB 3.0 Performance Measurements
- java.net: Migrating from EJB 2.x to EJB
3.0
Sangeetha S and Subrahmanya S V look at the specifics of what's
changed from EJB 2.x to 3.0 and introduce strategies for making the
move.
- HAPPYWOLF: EJB3.0 Introduction
- Tutorial: EJB 3.0 Enterprise Beans for the JBoss
Application Server
This tutorial takes you through the basics of using NetBeans IDE
5.5 to develop an enterprise application uses EJB 3.0 technology
and to deploy the application to the JBoss Application Server
- EJB 3.1
- Test Your EJBs With JMeter | Javalobby
Sometimes it’s helpful to do some performance
benchmarks on your EJBs. There are a few different ways to do this,
but I’ve found that Apache’s
JMeter is...
- JPA
- JMS
- CORBA/RMI/RMI-IIOP
- JNDI
- Web Application Development
- JSP/Servlets
- The Secret Life of JavaServer Pages
An introductory article. A good one.
- Java Servlet Programming
- jGuru: Servlets FAQ Home Page
- jGuru:
JSP FAQ Home Page
- Making of MetroSphere, Part 12: Hands-on JSP
technology intro: Creating a community weblog
This tutorial is for developers who want to learn more about using
JavaServer Pages (JSP) technology to build applications. It
discusses the basics of JSP components in general, their
integration with JavaBeans, and the creation and use of custom tag
libraries.
- Java Testing and Design
A free book.
- Servlets and JavaServer Pages: The J2EE Technology
Web Tier on TheServerSide.com
A free book.
- JavaServer Pages Technology - Documentation
Couple of nice jsp reference cards are available here.
- Tag Libraries
- Custom Tags in JSP Pages
From The Java Web Services Tutorial.
- Using Custom Tags
- ONJava.com: Designing JSP Custom Tag Libraries
[Apr. 19, 2001]
- ONJava.com: Advanced Features of JSP Custom Tag
Libraries [Jan. 18, 2001]
- ONJava.com: Jakarta Taglibs [May. 29,
2001]
- JAKARTA-TAGLIBS Tutorial
- JSTL
- Make Ajax development easier with
AjaxTags
Developers and users have much higher expectations for the
usability and responsiveness of Web-based applications in the Web
2.0 era. Unless you've been living under a rock for the past two
years, you've likely heard of Asynchronous JavaScript + XML (the
Ajax technique). Ajax allows you to build slick, responsive, and
highly dynamic browser-based user interfaces without requiring
browser page reloads. This article takes a look at AjaxTags, a
Java/JavaScript Library that lets you easily integrate Ajax
functionality into your JSP pages.
- Ajax and Java development made simpler, Part 4:
Create JSF-like components, using JSP tag files
JavaServer Pages (JSP) and JavaServer Faces (JSF) used to have
different variants of the Expression Language (EL). Their
unification in JSP 2.1 opened new possibilities, allowing you to
use deferred values and deferred method attributes in your custom
JSP tags. This article shows how to develop Java Web components
based on JSP tag files, which are much simpler and easier to build
than the JSF components.
- Building Ajax-enabled JSP TagLib controls, Part 2:
Auto-populate and field validator controls
Build Asynchronous JavaScript + XML (Ajax) controls that can be
used in business-line applications. These configurable JavaServer
Pages (JSP) TagLib-based controls leverage JavaScript Serialized
Object Notation (JSON), JavaScript scripting language, and
Cascading Style Sheets (CSS). Because they are standard JSP TagLib
controls, find out how you can easily drop them into any
application to provide more intuitive and responsive user
interfaces.
- Orbeon PresentationServer (OPS)
- Orbeon PresentationServer
Orbeon PresentationServer is a J2EE-based MVC framework for
building Web applications that present and capture XML documents
using XForms, XSLT, and Web Services.
- Orbeon Studio
Orbeon Studio is an integrated development environment (IDE) that
improves productivity when creating applications for
PresentationServer. Studio plugs in to Eclipse, the open,
industry-supported platform for development tools. Studio can also
be run in standalone mode for developers that do not already use
Eclipse.
- Orbeon Tutorial
- Templating
- Misc
- ONJava.com: Writing JSPs in XML using JSP 1.2 [Nov.
28, 2001]
- Developing Multilingual Web Applications Using
JavaServer Pages Technology
- The Servlet API and NIO: Together at last
- J2EE pathfinder: Filtering with Java Servlets
2.4
Introduces you to the Servlet filter architecture, defines the many
uses of filters, and walks you through the three steps of a typical
filter implementation.
- JSP 2.0 Expression Language
- Testing Portal Web Applications With
HttpUnit
- Introduction to Jakarta Tapestry
Tapestry differs greatly from the majority of other popular web
application frameworks because it allows you to develop web
applications in a component-based manner rather than an operation
centric manner.
- java.net: Generating Images with JSPs and Servlets [Apr.
22, 2004]
- TheServerSide.com - HttpClient and
FileUpload
Interacting with a web server from the client side.
- Send Form Data from Java: A Painless Solution
Interacting with a web server from the client side.
- How To Authenticate a Servlet App with Windows
Passwords
- Comparing Web Frameworks
This presentation presents technical, and political merits of
Struts, Spring, Tapestry, WebWork, and JavaServer Faces.
- Servlets and JSP the J2EE Web Tier - Jayson Falkner and
Kevin Jones
The official book support site for Servlets and JSP; the J2EE Web
Tier.
- Stapler
Project
Stapler is a library that "staples" your application objects to
URLs, making it easier to write web applications. The core idea of
Stapler is to automatically assign URLs for your objects, creating
an intuitive URL hierarchy.
- Design interactive error handling for Web
apps
- OpenLaszlo
Laszlo is an open source platform for the development and delivery
of rich Internet applications on the World Wide Web. With XML you
describe the interface and Laszlo can deliver a Flash user
interface to the browser.
- java.net: Laszlo: An Open Source Framework for Rich
Internet Applications
A good introduction.
- Open XUL
Alliance - Creating A Rich Internet For Everyone
Links to many resources about rich internet exploring.
- OpenReports
- Home
OpenReports is a flexible open source web reporting solution that
allows users to generate dynamic reports in a browser. OpenReports
uses JasperReports, an excellent full featured open source
reporting engine, and was developed using leading open source
components including WebWork, Velocity, Quartz, and Hibernate.
- Cewolf - Chart Enabling Web Object Framework
Cewolf can be used inside a Servlet/JSP based web application to
embed complex graphical charts of all kinds (e.g. line, pie, bar
chart, plots, etc.) into a web page.
- Build Web apps with ThinWire and Java code, Part 2:
Using the SplitLayout Class
With ThinWire, an open-source development framework, you can build
Web applications that look and feel like desktop applications. In
this five-part series, you'll learn how to develop rich Web
applications using ThinWire and Java. In Part 2, you learn to use
the SplitLayout class in conjunction with your own layout
management code to dynamically change the layout of a ThinWire GUI
based on the current size of the Web browser window.
- Build Web apps with ThinWire and Java code, Part 4:
Write a template class
ThinWire is an open source development framework that lets you
build Web applications that look and feel like desktop
applications. This five-part series explores how to develop rich
Web applications using ThinWire and Java programming. In this
installation, learn how to write a template class that defines one
of the most commonly used Web page layouts.
- Build Web apps with ThinWire and Java code, Part 4:
Write a template class
ThinWire is an open source development framework that lets you
build Web applications that look and feel like desktop
applications. This five-part series explores how to develop rich
Web applications using ThinWire and Java programming. In this
installation, learn how to write a template class that defines one
of the most commonly used Web page layouts.
- New features added to Servlet 2.5
- Web Tier to Go With Java EE 5: Summary of New
Features in Java Standard Tag Library (JSTL) 1.2
- Build Web apps with ThinWire and Java code, Part 3:
Styling support
With ThinWire, an open-source development framework, you can build
Web applications that look and feel like desktop applications. In
this five-part series, you'll learn how to develop rich Web
applications using ThinWire and Java programming. Here in Part 3,
you learn to use ThinWire styling support at both a global level
and an individual component level.
- Raible Designs | Comparing JVM Web Frameworks
Presentation
- JavaServer Faces
- Introductory
- Resource Sites
- Chapter 1: "Introducing JavaServer Faces"
Excerpt from "JavaServer Faces in Action"
- Chapter 4: "Getting Started with the Standard
Components"
Excerpt from "JavaServer Faces in Action"
- Tutorial: JSF (JavaServer Faces) & Apache
MyFaces
A good tutorial
- Developing Web Applications with JavaServer
Faces
- ONJava.com: Handling Events in JavaServer Faces,
Part 1
Book excerpt.
- Apache
MyFaces
This is the official homepage of the first free open source
JavaServer(tm) Faces implementation called "MyFaces".
- JSF-Spring
JSF-Spring provides glue code for comprehensive integration of JSF
(JavaServer Faces) and the Spring framework. This is done in a
implementation independent way so that it can be used with any JSF
implementation.
- JSF for nonbelievers: Clearing the FUD about
JSF
JavaServer Faces is easier than you think.
- JSF for nonbelievers: The JSF application
lifecycle
Walk through the 6 phases of JSF's request processing
lifecycle
- JSF for nonbelievers: JSF conversion and
validation
Use JSF's conversion and validation framework to ensure data-model
integrity.
- faces-config
Details about different XML tags are found here
- Design with the JSF architecture
Exploring design patterns used in the JavaServer Faces
framework.
- Web Tier to Go With Java EE 5: Summary of New
Features in JavaServer Faces 1.2 Technology
- Seamless JSF, Part 1: An application framework
tailor-made for JSF
JavaServer Faces (JSF) is the first standardized user interface
framework for Java Web applications. Seam is a powerful application
framework that extends JSF. Discover the strong chemistry that
these two frameworks share in this first article of a new
three-part series. Dan Allen introduces Seam's enhancements to the
JSF life cycle, including contextual state management, RESTful
URLs, Ajax remoting, proper exception handling, and convention over
configuration.
- Building Database-driven Applications with
JSF
Develop JSF-based Web applications that update and query a
relational database using Oracle TopLink and JSTL's SQL tags
- JSFTemplating and Woodstock: Component Authoring
Made Easy
You can write a JavaServer Faces component with only two files with
the help of the Woodstock and JSFTemplating projects.
- Getting started with JavaServer Faces 1.2, Part 1:
Building basic applications
JavaServer Faces (JSF) technology, a server-side framework that
offers a component-based approach to Web user-interface
development, has come a long way. JSF 1.2 (incorporated into Java
Enterprise Edition 5) has fixed some JSF pain points and added some
nice features. This tutorial series covers how to get started with
JSF 1.2. It's heavy on examples and light on theory -- just what
you need to get started quickly.
- Getting started with JavaServer Faces 1.2, Part 2:
JSF life cycle, conversion, validation, and phase
listeners
This tutorial series covers how to get started with Java Server
Faces (JSF) technology, a server-side framework that offers a
component-based approach to Web user-interface development. Part 1
gets you started with a JSF 1.2 overview and a basic application.
This sequel gives you a firm grasp of JSF's more-advanced features:
custom validators, converters, and phase listeners. Along the way
you'll gain an understanding of the JSF application life
cycle.
- Craft Ajax applications using JSF with CSS and
JavaScript, Part 1: Enhance the appearance of your JSF
pages
Typical Web applications require the use of Cascading Style Sheets
(CSS) and JavaScript, together with a server-side framework, such
as JavaServer Faces (JSF). CSS lets you change the visual
characteristics of Web components within Ajax and other
applications so they can have a pleasant and distinctive look. In
the first installment of this two-part series, find out how to use
the CSS-related attributes of standard JSF components. In addition,
learn how to create a custom JSF component that sets the default
styles of nested components, making it very easy to ensure a
consistent look for all pages of your Web application. You can also
use this technique to programmatically set other component
attributes, as you'll see in Part 2, which will show how to make
JSF forms more dynamic using JavaScript.
- JavaServer Faces (JSF) - developerWorks
Space
A one-stop shop containing the best JSF related information on the
Internet such as articles, tutorials, news, JSF components, events,
and books. The only JSF bookmark you need.
- Craft Ajax applications using JSF with CSS and
JavaScript, Part 2: Dynamic JSF forms
In the first article of this two-part series, author and Java
developer Andrei Cioroianu showed how to use the style attributes
of JavaServer Faces (JSF) components and how to set up default
values for those attributes. In this second installment of the
series, learn how to exercise the JavaScript-related attributes of
standard JSF components. Learn several Web techniques based on the
Document Object Model (DOM) APIs, JavaScript, and Cascading Style
Sheets (CSS). See how to hide and display optional JSF components
without refreshing a Web page, how to implement client-side
validation that is executed in the Web browser, and how to develop
a custom component that displays help messages for the input
elements of a Web form.
- Enterprise Java Community: JSF Anti-Patterns and
Pitfalls
- Enterprise Java Community: Ed Burns's Enterprise
Grade Ajax and JSF
- Combine JSF with Dojo widgets to create a better
user experience
As a mature Web framework, JavaServer Faces (JSF) provides
end-to-end lifecycle management and a rich component model with
complete event handling and data binding. Dojo is a popular
Asynchronous JavaScript + XML (Ajax) library that provides rich
widgets and fancy effects for Web2.0 applications. By leveraging
JSF and Dojo technologies, you can create a better user experience
by using JSF integrated features on the server side and Dojo user
interfaces on the client side. This article explains this process
and describes how you can easily build Web applications to give
your users a better experience.
- Facelets
- AJAX
- adaptive path » ajax: a new approach
to web applications
The original AJAX article.
- Mastering Ajax, Part 1: Introduction to
Ajax
From an overview to a detailed look
- An Introduction To Ajax
- AJAX:Getting Started - MDC
- Asynchronous JavaScript Technology and XML (AJAX)
With Java 2
- Asynchronous Rendering of Portlet Content With AJAX
Technology
- A Backbase Ajax Front-end for J2EE Applications
- CPAINT :: home
CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a
multi-language toolkit that helps web developers design and
implement AJAX web applications with ease and flexibility.
- start [RIALTO - Rich Internet Ajax Toolkit -
OpenSource]
- Dojo -
DojoToolkit.org
Dojo is the Open Source JavaScript toolkit that helps you build
serious applications in less time. It fills in the gaps where
JavaScript and browsers don't go quite far enough, and gives you
powerful, portable, lightweight, and tested tools for constructing
dynamic interfaces. Dojo lets you prototype interactive widgets
quickly, animate transitions, and build Ajax requests with the most
powerful and easiest to use abstractions available.
- Rico
A JavaScript library for creating rich internet applications.
- Realtime Form Validation Using AJAX
- Realtime Form Validation Using AJAX
- Ajaxian
- Considering Ajax, Part 2: Change your life with
mashups
- Dr. Dobb's | Using JSF and JSR 168 Portals to
Develop Ajax Applications | March 13, 2007
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Ajax and Java development made simpler, Part 4:
Create JSF-like components, using JSP tag files
JavaServer Pages (JSP) and JavaServer Faces (JSF) used to have
different variants of the Expression Language (EL). Their
unification in JSP 2.1 opened new possibilities, allowing you to
use deferred values and deferred method attributes in your custom
JSP tags. This article shows how to develop Java Web components
based on JSP tag files, which are much simpler and easier to build
than the JSF components.
- Portals/Portlets
- Introductory
- Community
- community.java.net - Portlet
This is a gathering of developers and technical experts working on
Portals and related technologies. Here you will find open source
projects, articles, tips, news, product announcements, blogs and
FAQs.
- PortletExchange.com
This is a forum for developers and users of portal technology.
Don't forget to look at the download section.
- Portlet Specification
- Enterprise Portals
- Single Sign-On
- WSRP
- Misc
- Struts
- The
Apache Struts Web Application Framework
- The Struts User's Guide - Table of Contents
- strutsejb: StrutsEJB Introduction
StrutsEJB is an open source class library for building J2EE-based
web applications quickly using Struts, EJB and JSTL.
- Developing Struts with Easy Struts for
Eclipse
Pretty good!
- Java(TM) Boutique - Stepping through Jakarta
Struts
Well suited for the beginers.
- Understanding JavaServer Pages Model 2
architecture
- Jakarta Pitfalls: Time-Saving Solutions for Struts,
Ant, JUnit, and Cactus (Java Open Source Library)
- ONJava.com: Learning Jakarta Struts, Part
1
- ONJava.com: Learning Jakarta Struts, Part
2
- ONJava.com: Learning Jakarta Struts, Part
3
- ONJava.com: Learning the New Jakarta Struts 1.1,
Part 1 [Nov. 06, 2002]
- ONJava.com: Learning the New Jakarta Struts 1.1,
Part 2 [Nov. 13, 2002]
- Struts Whitepaper (pdf)
- Best practices for Struts development
- Struts best practices
- StrutsTestCase for JUnit
StrutsTestCase for JUnit is an extension of the standard JUnit
TestCase class that provides facilities for testing code based on
the Struts framework.
- ONJava.com: Unit Test Your Struts
Application
- ONJava.com: Extending Struts
- TheServerSide.com - Struts action mappings: Devide
Et Impera
This article discusses different combinations of a Struts action
class and a form bean and how these combinations can be used. For
each combination, consequences are shown, as are usage tips. The
combinations shown are 'Full action', 'Form-only action',
'Form-only call sequence', 'Action class-only action', 'JSP-only
action', and more.
- Java(TM) Boutique - Handling Messages, Errors and
Exceptions in Struts 1.1
- Struts in Action
Book excerpts: Developing applications with Tiles, Validating user
input.
- Validator (Chapter 6 of Struts - The Complete
Reference)
Book excerpt. Sample code in the book can also be downloaded.
- java.net: Web Wizard Component, Part 1: The
Model
How do you create an HTML Wizard?
- java.net: Web Wizard Component, Part 2: The
View
How do you create an HTML Wizard?
- NetUI Page Flows: An Evolution of Struts
Beehive, an open-source project by the Apache Software Foundation,
goes to great lengths to make Web application development even more
straightforward by building a simple Page Flow model on top of
Struts.
- Using the Struts Validator
- Using multiple Struts configuration files
A good article on breaking big Struts applications into manageable
chunks.
- Struts
Applications
Community maintained sample Struts applications are found here. A
good collection.
- Tiles
- SIP Servlets
- An Introduction to SIP, Part 1: Meet SIP
The Session Initiation Protocol (SIP) is a signaling protocol with
great significance to the telecommunications industry. This article
introduces SIP and related concepts.
- An Introduction to SIP, Part 2: SIP
Servlets
Learn about the SIP Servlet API and how it can be used to build a
simple server-side chat client.
- The SIP Servlet Programming Model
Nasir Khan presents a detailed look at the SIP servlet programming
model and the SIP servlet API. Learn the design motivations of the
SIP servlet container and how various API constructs can be used to
create powerful SIP applications.
- Misc
- JavaScript EE, Part 2: Call remote JavaScript
functions with Ajax
In Part 1 of this series, you learned how to use the javax.script
API in Asynchronous JavaScript and XML (Ajax) and Java Platform,
Enterprise Edition (Java EE) applications and how to build a Java
servlet that lets you run server-side JavaScript files. This
article shows how to implement a Remote Procedure Call (RPC)
mechanism for Web applications that use JavaScript on both servers
and clients. You'll also learn several interesting techniques, such
as implementing Java interfaces with JavaScript, building an
XMLHttpRequest wrapper, making Ajax debugging easier, and using JSP
tag files to generate JavaScript code.
- SOA
- Web Services
- Designing Web Services with the J2EE(TM) 1.4
Platform : JAX-RPC, SOAP, and XML Technologies
J2EE Blueprints.
- Best Practices and Web services Profiles
- SOAP
Version 1.2 Part 1: Messaging Framework
- XML-RPC in Java programming
- The Web Services Protocol Stack
- Web Services Specifications
A really good collection of specifications related with Web
Services from MSDN.
- Distributed transactions with WS-AtomicTransaction
and JTA
The aim of this article is to introduce Web Services Transaction
(WS-Transaction) concepts and its interaction with transaction
services, specifically the J2EE transactional model, Java
Transaction API (JTA). It references WebSphere Application Server
in its examples.
- Web services - HP Dev Resource Central
- UDDI Inquiry : Sampel Chapter
UDDI inquiry process is explained here.
- SearchWebServices.com | SOA/SOI Learning
Guide
This guide explains what service-oriented architecture is and how
service-oriented integration fits into the world of Web services.
You'll find service-oriented articles, tutorials, examples, tips,
white papers, expert advice and more to pump up your SOA and SOI
know-how quickly.
- Simple Object Access Protocol (SOAP) 1.1
- Basic Profile - Version 1.0 (BdAD)
- Developer's introduction to JAX-RPC, Part 1: Learn
the ins and outs of the JAX-RPC type-mapping system
- A developer's introduction to JAX-RPC, Part 2: Mine
the JAX-RPC specification to improve Web service
interoperability
- Web services programming tips and tricks: Using
SOAP headers with JAX-RPC
- Web services programming tips and tricks: How to
create a simple JAX-RPC handler
- Web services programming tips and tricks: Extend
JAX-RPC Web services using SOAP headers
- Web Services Programming Tips and Tricks: Use
collection types with SOAP and JAX-RPC
This article introduces a couple of techniques that you can use to
build interoperable Web services that take and return object
collections. This is the first of a series of articles covering
this subject. Future articles will cover more detailed
scenarios.f
- Java Pro - Combining SOAP and JavaMail
See how to use SOAP and other transport protocols with JavaMail for
asynchronous, XML messaging among applications.
- Java Pro Magazine - XML Messaging with
JAXM
A crucial Java piece in the Web services scheme, JAXM brings some
structure to XML messaging.
- XML & Web Services Magazine - Making Web
Services More Flexible
Combining asynchronous messaging transports like Java Message
Service with SOAP means that Web services can have more uses.
- Java Pro - On Optimizing Service
Orchestration
Think creatively to overcome the slower performance of Java-based
Web services.
- Design and Implementation of an Asynchronous
Invocation Framework for Web Services
- J2EE-Supported Web Service Standards and
Technologies
A book excerpt.
- Mutual Authentication for Web Services: A Live
Example
This paper describes that implementation procedure for mutual
authentication, step by step, and offers debugging tips.
- Web Services Security - Part 1:
Authentication
- SOAP with Attachments explained
- Invoking a Web service with a JMS client
- jax-ws: JAX-WS Guide
- Securing Web Services
Learn about the prominent industry standards providing
comprehensive security solutions.
- wsit:
Project Tango
- metro:
Home
- The Java(TM) Web Services Tutorial
- JAX-WS 2.0 ea3 -- Annotations
- jax-ws: JAX-WS FAQ
- User Guide - JBossws
- JSR 311: JAX-RS: The Java API for RESTful Web
Services
- REST for Java developers, Part 1: It's about the
information, stupid - JavaWorld
To understand REST, Java developers need to stop focusing on
software and start focusing on information. Learn how REST's
information-driven, resource-oriented approach to building Web
services can satisfy your users and make your development projects
easier.
- Create stand-alone Web services applications with
Eclipse and Java SE 6, Part 1: The Web service server
application
Use the Eclipse Integrated Development Environment (IDE) and Java
Platform, Standard Edition (Java SE) 6 to create a stand-alone Web
services application that can be run from the console. In this
tutorial, the first in a series, start by getting familiar with the
Eclipse IDE. Configure the environment; create projects, packages,
and classes; then run the application from the command line.
- RESTful Web services: The basics
Representational State Transfer (REST) has gained widespread
acceptance across the Web as a simpler alternative to SOAP- and Web
Services Description Language (WSDL)-based Web services. Key
evidence of this shift in interface design is the adoption of REST
by mainstream Web 2.0 service providers -- including Yahoo, Google,
and Facebook -- who have deprecated or passed on SOAP and
WSDL-based interfaces in favor of an easier-to-use,
resource-oriented model to expose their services. In this article,
Alex Rodriguez introduces you to the basic principles of REST.
- IBM developerWorks : Top 10 SOA and Web services
tutorials and articles -- October 2008
Check out which SOA and Web services tutorials and articles
developerWorks readers found most interesting last month.
- Maintaining Sessions using JAX-WS 2.0 : Art
Frechette's Blog
- A little bit about Message Context in JAX-WS
- Performance
- Spring
- Spring - java/j2ee Application Framework
Spring is a layered Java/J2EE application framework, based on code
published in Expert One-on-One J2EE Design and Development by Rod
Johnson (Wrox, 2002).
- Spring - Java/J2EE Application Framework
Reference documentation
- Spring Quick Start Tutorial - Developing Your First
Spring Web Application
Book excerpt.
- ONJava.com: Demonstrating Spring's Finesse
- Spring and AspectWerkz - A Happy Marriage
There are many situations where you need a more full-blown AOP
framework (such as AspectWerkz) to do the job.
- The Aurora MVC Framework
Aurora is an open-source MVC framework that is aimed at writing
configurable, fully object-oriented form controllers using the
Spring Framework.
- JSF-Spring
JSF-Spring provides glue code for comprehensive integration of JSF
(JavaServer Faces) and the Spring framework.
- ONJava.com: An Introduction to Aspect-Oriented
Programming with the Spring Framework, Part 1
- ONJava.com: An Introduction to Aspect-Oriented
Programming with the Spring Framework, Part 2
- Spring Web Flow
Spring Web Flow is a core module of the Spring Framework that is a
strong fit for web applications with demanding page flow
requirements.
- Better J2EEing with Spring
- The Spring series, Part 3: Swing into Spring
MVC
Learn how to develop MVC-based applications using the Spring
framework.
- Extending Spring JMX support
- Develop Spring applications for IBM WebSphere
Application Server -- Part 1
In this first of three articles, learn about Spring, the Spring
bean factory, and AOP, and about how to integrate Spring and Struts
applications.
- Using the Java Persistence API with Spring
2.0
- Spring Integration with WebLogic Server
- Enterprise Java Community: Spring Loaded Observer
Pattern
- OSGi and Spring, Part 1: Build and deploy OSGi
bundles using Apache Felix
Develop, build, and package Java class components as Open Services
Gateway initiative (OSGi) bundles and deploy them in the Apache
Felix runtime environment. Then use Felix shell commands to start
and stop the bundles and dynamically update them.
- How to access servlet context before spring bean's
properties are set
- Transaction strategies: Understanding transaction
pitfalls
A good article which explains the pitfalls and remedies.
- OSGi and Spring: Part 2: Build and deploy OSGi as
Spring bundles using Felix
Build and package Java classes as OSGi bundles using the Spring DM
framework in a Felix container. This article, Part 2 of this
series, shows you how to create bundles using the Spring framework
and then deploy them in a Felix runtime environment. You will see
how the core OSGi framework dependency is removed through a simple
Spring-based configuration.
- Light Weight Containers
- CUBA:
Component Unification Base
CUBA is a small framework for the development of component-based
systems which can be run as EJB applications, AXIS web services or
stand-alone J2SE programs. CUBA follows the EJB session bean
component and programming model, causing the framework to act as an
ultra-thin compatibility layer for J2EE-compliant application
servers.
- Java Connector Architecture
- Security
- JMX
- XML (Java EE Related)
- Clustering
- Performance
- Applications
- Misc
- TheServerSide.com What's New in J2EE 1.4
- TheServerSide.com J2EE Community - Interview -
Whats new in J2EE 1.4
- High-impact Web tier clustering, Part 2: Building
adaptive, scalable solutions with JavaSpaces
- Portability Verification of Applications for the
J2EE Platform
- Build and implement a single sign-on
solution
- Invoking Web services with Java clients
- Simplify enterprise Java authentication with single
sign-on
- J2EE pathfinder: Java security with JAAS and
JSSE
- Test infect your Enterprise JavaBeans - JavaWorld
May 2000
- Java Pro - Monitor Multitiered Apps in One
Location
Take advantage of a solution that gives you one place to view the
status of all applications running within the network.
- The Apache Beehive Project
This is the project working on making J2EE easier by building a
simple object model on J2EE and Struts. The goal is to take the new
JSR-175 metadata annotations and use them to reduce the coding
necessary for J2EE.
- Accessing and Interacting with Remote SOAP-enabled
Services
This article provides an introduction to SOAP, discusses SOAP
messages and their syntax, presents Sun's SOAP with Attachments API
for Java (SAAJ).
- MiddlewareRESEARCH.com
MiddlewareRESEARCH.com is the world's first portal dedicated to the
analysis and distribution of research on middleware
technology.
- TheServerSide.com - ACID is Good. Take it in Short
Doses
Some insights on using ACID transactions
- Galvanium Framework
Galvanium framework is a lightweight J2EE/.NET interop framework
that allow databinding of Java objects in .NET controls. It is
built based on Hessian and IKVM. Galvanium is good for one who has
J2EE backend, and want to have GUI on the .NET side. It fits for
system that utilizes Hibernate/Session Bean. .NET side of Galvanium
talks to J2EE via Hessian Servlet.
- JavaPolis - Home
Conference; Nice place to grab slides/presentations.
- OpenXava
Develope full J2EE applications just by writing xml files.
- Build a highly available application platform for
J2EE, Part 1: Delivering on the continuous computing
promise
- TheServerSide.com - BPEL and Java
The article introduces BPEL and concentrates on the idea of
extending BPEL, to be able to compose resources other than web
services (EJBs, JMS, etc), and the possibility to mix BPEL and Java
code.
- Exception management and error tracking in
J2EE
- Java theory and practice: Stick a fork in it
(fork-join framework)
One of the additions to the java.util.concurrent packages coming in
Java 7 is a framework for fork-join style parallel decomposition.
The fork-join abstraction provides a natural mechanism for
decomposing many algorithms to effectively exploit hardware
parallelism.
- JavaScript EE, Part 1: Run JavaScript files on the
server side
Combine JavaScript with Java code on the server to get the freedom
to use the same JavaScript routines on both servers and clients. In
addition, the techniques presented throughout this series will
allow you to maintain a single code base for both Ajax and non-Ajax
clients. Because much of the server-side code would still be
written in the Java language, you'll find it necessary to expose
the Java Platform, Enterprise Edition (Java EE) features to
JavaScript. In this series, learn how to run JavaScript files on
the server side, call remote JavaScript functions with Ajax, and
use the Java Scripting API with the JavaServer Pages (JSP)
technology.
J2ME
- Introductory
- E-mail Lists
- Symbian: Developer: newsletter
Symbian was established as a private independent company in June
1998 and is owned by Ericsson, Nokia, Matsushita (Panasonic),
Motorola, Psion, Siemens and Sony Ericsson. Symbian supplies the
advanced, open, standard operating system - Symbian OS - for
data-enabled mobile phones.
- Wireless Tech Tips
- Resource Centers
- Security
- Enterprise Messaging
- Web Services
- Misc
XML
- The XML Guide
This is a summary of the (W3C) XML Specification 1.0. Each section
contains examples, rules to alert you of well-formedness and
validity constraints, and notes that provide tips to help you
understand XML syntax.
- XML links
XML links at JavaRanch.
- XML Reference Guide
- SAX
This is the official website for SAX.
- SAX2 Quickstart
This document provides a quick-start tutorial for Java programmers
who wish to use SAX2 in their programs.
- Working XML: Mapping files into SOAP requests, Part
2
- XML Security: The XML Key Management
Specification
The XML Key Management Specification (XKMS) outlines an easy
mechanism for accessing and integrating with Public Key
Infrastructure (PKI). In this article, Manish Verma explains the
objective behind XKMS and then offers a step-by-step guide to using
the XKMS service to register and retrieve information related to a
public and/or private key.
- Practical data binding: Get your feet wet in the
real world
You will understand the differences between general data binding
and data binding in the XML world, as well as round-tripping,
semantic equivalence, and what to look for in a data binding
package.
- XML:
Managing Data Exchange
- XML Matters: GUIs and XML configuration
data
One area where XML is used increasingly is in the configuration of
graphical user interfaces, especially in elements that are
persistent but should not be fixed at compile-time.
- XML Matters: GUIs and XML configuration data, Part
2
- Open Source
Native XML Database
eXist is an Open Source native XML database featuring efficient,
index-based XQuery processing, automatic indexing, extensions for
full-text search, XUpdate support and tight integration with
existing XML development tools.
- Use Cascading Stylesheets to display XML
- Java(TM) Boutique - Digesting XML
documents
Digester from Jakarta Commons.
- Start working with XMLStarlet
Open source toolkit allows you to work with XML from the command
line.
- Introduction to XML
This tutorial discusses what XML is, why it was developed, and how
it's shaping the future of electronic commerce. It also covers a
variety of important XML programming interfaces and standards, and
ends with two case studies showing how companies are using XML to
solve business problems.
- Encode your XML documents in UTF-8
- Working XML: A first version of the lightweight
client
- XML development with Eclipse
- xml2: Examples
- Practical data binding: XPath as data binding tool,
Part 1
- Namespaces in XML Schemas, Part 1: An Introduction
- Sun Java Studio Enterprise IDE
- Namespaces in XML Schemas, Part 2 of Two-Part
Series: import and include
- XSL Tutorial
A good and short one
- Working XML: Get started with XPath 2.0
Understand the new data model.
- XPath
- Locate specific sections of your XML documents with
XPath, Part 2
Part 1 of this tutorial gave you a foundational understanding of
XPath. Using slash notation, wildcards, unions, and simple text,
you learned how to locate elements and attributes anywhere within
an XML document. However, sometimes you need more than just
matching based on the name of a node. Predicates give you advanced
and refined searching capabilities, allowing you to evaluate the
values of attributes and the parent and child nodes of a targeted
element. Rather than find a wider node set and refine or filter
that set programmatically, you can add predicates to your XPaths to
find exactly the nodes you want.
- Locate specific sections of your XML documents with
XPath, Part 2
Part 1 of this tutorial gave you a foundational understanding of
XPath. Using slash notation, wildcards, unions, and simple text,
you learned how to locate elements and attributes anywhere within
an XML document. However, sometimes you need more than just
matching based on the name of a node. Predicates give you advanced
and refined searching capabilities, allowing you to evaluate the
values of attributes and the parent and child nodes of a targeted
element. Rather than find a wider node set and refine or filter
that set programmatically, you can add predicates to your XPaths to
find exactly the nodes you want.
- Discovering XProc
Since October 2005, the W3C XML Processing Model Working Group (WG)
has collaborated on a Working Draft (WD) specification titled
'XProc: An XML Pipeline Language.' As early implementations start
to appear on the horizon and the anticipation of a second Last Call
by the W3C WG (paving the way to a W3C draft recommendation), it
has become clear that over the past 12 months, the XProc
specification effort has picked up pace. Discover what XProc is
today and its future, get the back story on some of the more
contentious issues, and even run through a few examples.
- XBRL
- Filing financial statements in XBRL: How-to,
lessons learned, and best practices
In the past few years, eXtensible Business Reporting Language
(XBRL) has emerged to meet increased regulatory and transparency
requirements for financial reporting. The global connectivity of
the Internet has encouraged the rapid development of XBRL
standards. Effective December 15, 2008, the US Securities and
Exchange Commission (SEC) will require companies with more than $5
billion in market capitalization to file their financial statements
in XBRL. Over the following two years, all publicly traded
companies in the US will be required to file using XBRL. In this
article, learn the fundamentals of XBRL, the steps in the filing
process, and lessons from an actual filing with the SEC.
- Thinking XML: Analyze financial reporting using
XBRL
Thanks to recent events, the world turns its eyes to Wall Street.
One of the hot topics is how to increase the transparency of
descriptions of business activity and financial results. The
financial sector and the SEC have long approached this problem with
XBRL, an XML language for business reports. XBRL uses a variety of
XML technologies, including XLink to provide rich detail for
financial information. Learn to interpret and analyze financial
report information in XBRL, using an actual U.S. Securities and
Exchange Commission report as an example.
- XSLT
- Avoid common XSLT mistakes
Inexperienced XML and XSLT developers often exhibit bad habits that
can cause critical flaws in XSLT code. In this article, get a feel
for the typical problems that come up in stylesheets and how to
remedy them.
- Introduction to XSLT
The need to transform XML is so common that Extensible Stylesheet
Language Transformations (XSLT) is considered one of the basic XML
specifications. This tutorial explains how to create XSLT
stylesheets. It also covers the basics of XPath, which enables you
to select specific parts of an XML document. Finally, it gives you
a look at some of the more advanced capabilities that XSLT
offers.
- Avoid common XSLT mistakes
Inexperienced XML and XSLT developers often exhibit bad habits that
can cause critical flaws in XSLT code. In this article, get a feel
for the typical problems that come up in stylesheets and how to
remedy them.
- XML Schema
- XML Schema 1.1, Part 1: An introduction to XML
Schema 1.1
With XML Schema's wide adoption and diversity of usage, schema
users have requested many improvements and new capabilities. The
W3C XML Schema working group has developed XML Schema 1.1 to
address these most commonly requested features including several
which address shortcomings of XML Schema 1.0. In this first of a
multi-part series of articles, authors Neil Delima, Sandy Gao,
Michael Glavassevich, and Khaled Noaman introduce XML Schema 1.1
with an overview of the features introduced in this emerging
standard and take an in-depth look at the additions and changes to
the datatypes portion of the specification.
- Ten XML Schemas you should know
In this article, look at some top XML schemas that provide
solutions for all sorts of problems, from the basics of Web
services to data description. You'll also cover database-like
solutions that involve contacts and invoices. The schemas in this
article were chosen for their usefulness and utility, plus their
impact on the XML community in how information is shared and
exchanged using the XML format.
- XML style guidelines for leveraging schema
validators
- XML Schema 1.1, Part 2: An Introduction to XML
Schema 1.1
In this second of a six-part series of articles, take an in-depth
look at the co-constraint mechanisms introduced by XML Schema 1.1,
specifically the new assertions and type alternatives features with
authors Neil Delima, Sandy Gao, Michael Glavassevich, and Khaled
Noaman.
- XML Schema 1.1, Part 2: An Introduction to XML
Schema 1.1
In this second of a six-part series of articles, take an in-depth
look at the co-constraint mechanisms introduced by XML Schema 1.1,
specifically the new assertions and type alternatives features with
authors Neil Delima, Sandy Gao, Michael Glavassevich, and Khaled
Noaman.
- XQuery
- Use XQuery for the presentation layer
Many Web applications use the Model-View-Controller (MVC) pattern
to separate the three concerns. Using XQuery for presentation
enables view-side developers to create robust presentation effects
without tying the view to any particular underlying application
server or programming language. This article explains in detail the
advantages of using XQuery over other view technologies, how XQuery
is implemented in the presentation layer, and a realistic example
of such an implementation.
- Use XQuery for the presentation layer
Many Web applications use the Model-View-Controller (MVC) pattern
to separate the three concerns. Using XQuery for presentation
enables view-side developers to create robust presentation effects
without tying the view to any particular underlying application
server or programming language. This article explains in detail the
advantages of using XQuery over other view technologies, how XQuery
is implemented in the presentation layer, and a realistic example
of such an implementation.
- Harness the power of XML to Open Financial Exchange
files
The ongoing task of bookkeeping is made somewhat easier when
financial institutions allow customers to download files for import
into their chosen accounting package. These files can pose a
problem for financial programmers, however, because they are
frequently only available in Open Financial Exchange (OFX) format,
which is not XML compatible. Discover how to use PHP with string
substitution to make OFX files XML compliant. Thus, you harness the
power of XML parsing and deconstruction to OFX files and make
financial programming more precise.
Web
- Introductory
- HTML
- HTML 4.01 Tag Reference from W3Schools
- Source Code Availability for The W3C MarkUp Validation
Service
When developing Web applications, you can avoid most of the
frustrating cross-browser issues by installing a local copy of the
W3C Validator.
- Cleaning Your Web Pages with HTML Tidy
- The future of HTML, Part 1: WHATWG
- The cranky user: Oh, the pixel pickle
Do you think the pixel is the only unit of measurement for building
graphical displays? Come on, you can measure better than that! This
month, the Cranky user offers tips for user-friendly HTML layout
and interface design, and explains why pixels aren't always the
best unit for the job.
- New elements in HTML 5
Hypertext Markup Language (HTML) 5 introduces new elements to HTML
for the first time since the last millennium. New structural
elements include aside, figure, and section. New inline elements
include time, meter, and progress. New embedding elements include
video and audio. New interactive elements include details,
datagrid, and command.f
- Drop Down
- XHTML
- JavaScript
- TwinHelix: DHTML / JavaScript Designs
- JavaScript Language Essentials
- DateBox -
Intuitive Date Input Selection
A good calender to use for date inputs.
- Popup date picker
Another good date/time picker
- JavaScript Kit- Comprehensive JavaScript, DHTML, CSS
tutorials and over 400+ free JavaScripts!
- Cross-Browser.com
This site features X - a cross-browser DHTML javascript library,
and many demos, applications, articles and documentation.
- Dynamic Drive DHTML Scripts- Jason's Date Input
Calendar
A simple calendar to select dates.
- The JavaScript Pop-up Window Primer
- Dynamic
Drive DHTML(dynamic html) & JavaScript code library
- Dynamic Drive DHTML Scripts- Analog Clock
(static)
- irt.org - JavaScript FAQ Knowledge Base
- Prototype
JavaScript Framework: Class-style OO, Ajax, and more
- dojo, the
Javascript Toolkit: brought to you by the Dojo Foundation
- Javascript Programming Conventions
- Finite state machines in JavaScript, Part 1: Design
a widget
Finite state machines were long used as an organizing principle for
designing and implementing complex behavior in event-driven
programs, such as network adapters and compilers. Now, programmable
Web browsers open a new event-driven environment to a new
generation of applications. Browser-based applications, popularized
by Ajax, are becoming more complex. Designers and implementers
benefit from the discipline and structure that finite state
machines offer. In this article you, learn how to use a finite
state machine to design complex behavior for a simple Web widget --
an animated tooltip that fades into and out of view.
- jQuery: The Write
Less, Do More, JavaScript Library
- SoundManager 2: Javascript Sound for the
Web
A Javascript sound API providing cross-platform audio features to
Javascript, "The sound API Javascript has been missing." Provided
free of charge under a BSD license.
- Harry Maugans » How to Create a
Collapsible DIV with Javascript and CSS
- Harry Maugans » How to Create an
Animated, Sliding, Collapsible DIV with Javascript and CSS
- Build a stylish image gallery using Lightbox 2 and
JavaScript
The Web has increasingly become a medium for showing off art. From
candid snapshots taken by an amateur photographer to professional
art galleries, Web pages are primary vehicles for displaying
images. But a beautiful image is hindered--or aided--by its frame.
Using a simple JavaScript library, you can 'frame' your online
images beautifully and provide an intuitive user interface along
the way.
- Orbited
– Networking for the Web
Orbited provides a pure JavaScript/HTML socket in the browser. It
is a web router and firewall that allows you to integrate web
applications with arbitrary back-end systems. You can implement any
network protocol in the browser—without
resorting to plugins.
- JavaScript Slideshow by BarelyFitz: free image slideshow
for HTML web pages and eBay auctions
JavaScript picture slideshow, free, easy to use, object oriented
code.
- CSS
- CSS digest
Cascading Style Sheets are a tool for efficiently controlling the
layout and design of Web pages and web-based interfaces. CSS Digest
is a collection of selected links about Cascading Style Sheets and
their usage. Our goal is to provide Web designers with current
pointers to useful CSS resources, including quick references,
tutorials, hacks, tips, news, and standards.
- Cascading Style Sheets - WikiKnowledge
- Cascading Style Sheets - Wikibooks, collection of
open-content textbooks
- css Zen
Garden: The Beauty in CSS Design
Amazing! What you can do with CSS.
- mezzoblue § css Zen Garden
— Resource Guide
A great collection of resources.
- Learn web standards :: hands on css
tutorial
A getting started tutorial. A good one.
- Complete CSS Guide - Cascading style sheets reference -
Contents
A pretty good one.
- Cascading Style Sheets, level 1
Standard.
- Cascading Style Sheets, level 2
Standard.
- Ten Things You Can Do with CSS (That You Might Not
Have Known You Could Do)
- Learn web standards :: css browser
support
Some useful information is tabulated here.
- Position This! CSS Positioning
Demystified
This article examines the four true positioning schemes in CSS,
clarifies the confusion between absolute and relative positioning,
and explains that although floats are often great for use in
layouts.
- Naming Conventions for Class and ID in CSS
- Learn web :: links
Pointers to some more goodies.
- How to Style Forms in CSS > Parts of a Form
Element
- CSS Cheat Sheet (V2)
- Search Engines
- AJAX
- adaptive path » ajax: a new approach
to web applications
Words from the man who coined the word 'AJAX'
- Mastering Ajax
A series of articles on Ajax. Pretty good.
- AJAX FAQ for the Java Developer
- Using AJAX with Java Technology
A simple/small article on AJAX. Introductory. Read it if you know
nothing about AJAX.
- Build apps using Asynchronous JavaScript with XML
(AJAX)
A good tutorial from IBM developerWorks
- Ajax for Java developers: Ajax with Direct Web
Remoting
This article shows you how to use Direct Web Remoting (DWR) to
expose JavaBeans methods directly to your JavaScript code and
automate the heavy-lifting of Ajax.
- AjaxAC -
Open-source PHP framework for creating AJAX / JavaScript
applications
AjaxAC is an open-source framework written in PHP, used to
develop/create/generate AJAX applications.
- qooxdoo
qooxdoo is an advanced open-source javascript based toolkit.
qooxdoo continues where simple HTML is not enough anymore.
- CPAINT :: home
CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a
multi-language toolkit that helps web developers design and
implement AJAX web applications with ease and flexibility.
- Rico
An open-source JavaScript library for creating rich internet
applications.
- SAJAX - Simple Ajax Toolkit by ModernMethod -
XMLHTTPRequest Toolkit for PHP
Sajax is an open source tool to make programming websites using the
Ajax framework — also known as XMLHTTPRequest or
remote scripting — as easy as possible. Sajax
makes it easy to call PHP, Perl or Python functions from your
webpages via JavaScript without performing a browser refresh.
- RIALTO - Rich Internet Ajax Toolkit
Rialto (Rich Internet Application Toolkit) is ajax-based cross
browser javascript widgets library.
- Dojo -
DojoToolkit.org
Dojo is the Open Source JavaScript toolkit that helps you build
serious applications in less time.
- AjaxAnywhere - Ajax Anywhere :: AJAX without JavaScript
coding
AjaxAnywhere is designed to turn any set of existing JSP or JSF
components into AJAX-aware components without complex JavaScript
coding.
- Discover the Ajax Toolkit Framework for
Eclipse
The Ajax Toolkit Framework (ATF) is a core piece of the new Open
Ajax initiative, which aims to increase accessibility to the
powerful Web programming technique through the Eclipse Foundation.
The ATF extends the Eclipse Web Tools Platform (WTP) by adding an
Asynchronous JavaScript and XML (Ajax) development environment for
a variety of open source Ajax tool kits, including Dojo, Zimbra,
and Rico. This article includes a HelloWorld example in which you
install and configure the ATF, then use Eclipse and Dojo to create
a basic Web application.
- phpRiot() :: Creating sortable lists with PHP and
AJAX :: PHP articles, PHP tutorials, MySQL tutorials, PostgreSQL
tutorials
phpRiot is a site dedicated to web development using PHP, as well
as related tools such as PostgreSQL, MySQL and Apache.
- An Introduction To Ajax
This article introduces Ajax, a methodology you can use to build
dynamic and responsive Web applications.
- Ajax and XML: Five cool Ajax widgets
With the Web 2.0 wave came a whole new emphasis on the user
experience. Part of that experience is the development novel ways
to interact with and present information to users. Often, these new
interfaces are called widgets and use Asynchronous JavaScript + XML
(Ajax) to communicate with the server. Discover five widgets that
you can use to enhance the interactivity of your site.
- developerWorks: Ajax how-to articles, tutorials, and
community support for developers
The Ajax resource center provides a one-stop shop for Web
developers seeking information on the Ajax programming model. The
center provides a snapshot of all the Ajax and Web 2.0 related
activities on developerWorks, including articles and tutorials,
discussion forums, blogs, events, and news.
- Mastering Ajax, Part 9: Using the Google Ajax
Search API
Making asynchronous requests isn't just about talking to your own
server-side programs. You can also communicate with public APIs
like those from Google or Amazon, and add more functionality to
your Web applications than just what your own scripts and
server-side programs provide. In this article, Brett McLaughlin
teaches you how to make and receive requests and responses from
public APIs like those supplied by Google.
- ZK - #1 Ajax
project in SourceForge.net
- Ajax and XML: Five Ajax anti-patterns
You can learn a lot about how to do things correctly by
understanding how things are done incorrectly. Certainly, there's a
right way and a wrong way to write Asynchronous JavaScript + XML
(Ajax) applications. This article discusses some common coding
practices you will want to avoid.
- Ajax and XML: Five common Ajax patterns
Asynchronous JavaScript + XML (Ajax) was certainly the technology
buzzword of 2006 and looks to do just as well or better in 2007.
But what does it really mean for your application? And which common
architectural patterns are used widely in Ajax applications?
Discover five common Ajax design patterns that you can use as a
basis for your own work.
- Ajax : Ajax-Development-Gotchas - SWiK
Ajax : Gotchas in Ajax Development (please edit this list if you
have a gotcha to contribute) Basic Browser quirks and limitations
XMLHttpRequest can’t access remote servers. For
some odd reason, although there are ways in javascript to send and
receive data to remote servers, such as through
- At the Forge - Dojo | Linux Journal
- Ajax and XML: Learning from Ajax's best
Take a tour through some of the best Asynchronous JavaScript + XML
(Ajax) applications in the Web 2.0 world. Discover how these
applications succeed at the user level and find techniques you can
explore for your own Web 2.0 applications to create an exciting
user experience.
- Ajax Simplified | Linux Journal
- Ajax and XML: Ajax for lightboxes
In a world where everything is designed to amaze and distract, it's
awfully difficult to get a user's attention. Learn how to use new
techniques such as lightboxes, pop-ups, windows, and fading
messages with your Ajax tools to get your users' eyes on your
content.
- Ajax and XML: Ajax for media
With the advent of widely available broadband, media, movies,
images, and sound drive the Web 2.0 revolution. Learn to combine
media with technologies such as PHP and Asynchronous JavaScript +
XML (Ajax) to create a compelling experience for your
customers.
- Track spatial objects with an Ajax-driven radar
screen
Maybe you're trying to keep track of the traffic waiting for you on
the commute home, or perhaps you're tracking the objects and people
floating around Second Life or another virtual world. Wouldn't it
be nice if you could track that kind of thing right from your
browser? This tutorial shows you how to use Ajax to create an
animated, self-updating radar screen.
- Dojo
- Dojo concepts for Java developers
Dojo is being used more and more in Web-based applications. Many
developers have strong skills in Java programming, but only limited
experience in JavaScript. They can struggle with the conceptual
leap from a strongly typed, object-oriented compilation language to
a dynamic, weakly typed scripting language. This confusion can make
it difficult for developers to correctly declare Dojo classes. This
article helps clear up this confusion, shows why it may be
necessary to set context, and describes how to go about it.
- Let's chat with Ajax
Want to chat with Asynchronous JavaScript and XML (Ajax)? Wish you
could have a dedicated, open source Web chat pop up in response to
a system event and let you know what's happening--for example, when
performance goes below the guaranteed service level? Regular
developerWorks author Judith Myerson introduces the idea of a
two-panel chat for systems administrators to exchange private
messages on one side and broadcast messages to general users on the
other side. She offers solutions for chat server overload and talks
about the issues of downloading Ajax Chat, how to change
configurations, and even how to add as many channels as you
want.
- Blogs
- Misc
- Mushup
- Develop a dynamic location-based mashup
Mashups are a new, highly interactive Web development methodology.
Essentially a mix of related content put together from disparate
sources, mashups provide rich dynamic content for a superb user
experience. Getting Asynchronous JavaScript + XML (Ajax) and mashup
chops into your development toolbox will benefit you with high
demand in the evolving Web 2.0 workspace.
- jQuery
- Web 2.0
- What Is Web 2.0 | O'Reilly Media
Tim O'Reilly attempts to clarify just what is meant by Web 2.0, the
term first coined at a conference brainstorming session between
O'Reilly Media and MediaLive International, which also spawned the
Web 2.0 Conference.
WAP
- Introductory
- Resource Centers
- Wap
Forum
The Wireless Application Protocol (WAP) Forum developed the
de-facto world standard for wireless information and telephony
services on digital mobile phones and other wireless terminals. It
has published an open, global wireless protocol specification based
on existing Internet standards, such as XML and IP, for all
wireless networks.
- Forum Nokia - Developer resources
The Nokia WAP Developer Forum is targeted at developers who are
interested in using the Nokia WAP products to create services on
the Wireless Application Protocol (WAP) platform.
- Ericsson Mobility World
At Ericsson Mobility World you get the latest product information
and software on WAP and many more technologies.
- Openwave
(Phone.com)
Openwave (Nasdaq: OPWV) is the leading independent provider of open
software products and services for the communications industry,
including wireless operators, broadband providers and device
manufacturers worldwide.
- Palo
Wireless WAP Resource Center
- Symbian OS - the mobile operating system
Symbian was established as a private independent company in June
1998 and is owned by Ericsson, Nokia, Matsushita (Panasonic),
Motorola, Psion, Siemens and Sony Ericsson. Symbian supplies the
advanced, open, standard operating system - Symbian OS - for
data-enabled mobile phones.
- Speedware - Wireless Solutions
MobileDev is the first Wireless Development Environment (WDE)
specifically for WAP Internet applications. Its innovative
open-ended development model integrates a graphical application
mapper with a wizard interface and a rich tool set. MobileDev
supports WAP technologies like WML, HDML, Microsoft Active Server
Pages (ASP), Perl and Java Server Pages (JSP).
- Tools
- Cool WAP Sites
- Security
- Misc
PHP
- The PHP
Project
- Basic Tutorials
- OOP
- Advanced PHP V5 objects
Create reusable, extensible, and scalable PHP code
- Build seven good object-oriented habits in
PHP
With PHP's object-oriented (OO) language features, if you aren't
already creating your applications with OO principles in mind,
these seven habits will help you get started in the transition
between procedural programming and OO programming.
- What's new in PHP V5.3, Part 3:
Namespaces
PHP V5.3 will be released by the end of 2008. This series of
articles covers new and exciting features found in this release.
Part 1 of the series looked at the changes made to the object
oriented programming and object handling in PHP 5.3. Part 2 looked
at lambda functions and closures. Here in Part 3, we look at
namespaces, which is one of the most anticipated and the most
debated feature in this release of PHP. The concept of namespaces
provides a way to help avoid problems with multiple functions,
classes, and constants of the same name being defined multiple
times.
- Libraries/Scripts
- Frameworks
- Database/ORM
- A Practical Approach to Object-Relational Mapping
in PHP
PHPBuilder.com, the resource for PHP tutorials, templates, PHP
manuals, content management systems, scripts, classes and more for
the PHP developer.
- ADOdb
Database Abstraction Library for PHP (and Python) for MySQL,
PostgreSQL, Microsoft SQL Server, Oracle, Firebird, Interbase,
LDAP, Access, VFP, DB2 and many other databases
ADOdb is a database abstraction library for PHP. Widely used.
- Debugging
- Debugging PHP using Eclipse and PDT
The PHP Development Tools (PDT) plug-in, when installed with
Eclipse Europa, gives you that ability to quickly write and debug
PHP scripts and pages. PDT supports two debugging tools: XDebug and
the Zend Debugger. Learn how to configure PDT for debugging PHP
scripts and discover which perspectives you use when taking closer
looks at your scripts.
- Ajax
- Security Guidelines
- Code Obfuscation/Encryption
- Searching
- Build a custom search engine with PHP
While Google and its ilk are virtually omniscient, the Web's mighty
search engines aren't well suited to every site. If your site
content is highly specialized or distinctly categorized, use Sphinx
and PHP to create a finely tuned local search system.f
- Web Services
- Build Web services with PHP in Eclipse
Learn how to build Web services in PHP using the PHP Development
Tools plug-in in Eclipse Europa. Become familiar with the PDT
project, and learn how to create and deploy useful PHP projects,
learn about the philosophy behind contract-first development, and
understand the basic parts that make up a Web Services Description
Language (WSDL) file.
- Build Web services with PHP in Eclipse
Learn how to build Web services in PHP using the PHP Development
Tools (PDT) plug-in in Eclipse in three easy steps. First, become
familiar with the PDT project, and learn how to create and deploy
useful PHP projects. Second, learn the philosophy behind
contract-first development. Finally, get an informative overview of
the basic parts that make up a Web Services Description Language
(WSDL) file.
- Video
- Setting up your own on-demand video site with PHP,
Part 3: Integrating YouTube
Setting up your own on-demand video site doesn't have to be
complicated. Upload some videos and put them up for people to watch
-- easy enough. But if you're going to be doing a lot of videos,
you'll need a way to keep them organized. This three-part series
takes you through everything you need to know to create video
optimized for the Web, as well as creating a PHP application that
will help keep your videos organized and accessible. Part 1 lays
the groundwork by assembling and installing the necessary
components and gathering and converting the video. Part 2 builds
the basic application. Here in Part 3, you add create a slick user
interface and integrate the example with YouTube.
- Misc
- PHP Session Management With Cookies [Mar. 28,
2002]
- Zend / Authentication Using PHP
- Web site user modeling with PHP
Web site user modeling, a mathematical discipline, is easier than
you might expect. In this tutorial, Paul Meagher shows you how to
construct a user-modeling platform with PHP and MySQL --
technologies well suited for a species of user-modeling called Web
site user modeling. Even small Web-development shops can use
clickstream data to build Web site user models.
- SAX and PHP
- ONLamp.com: Simplify Business Logic with PHP
DataObjects
- ONLamp.com: Allowing Registration-Required Binary
Downloads
This article demonstrates how to create a web site that offers a
binary download in exchange for user-supplied information in a
manner that protects your data.
- ONLamp.com: Migrating to Page Controllers
This articles illustrates (Page Controll Pattern) how to structure
coding leading to separation of logic and presentation in a single
scripting file (If you are Model 1).
- ONLamp.com: Three-Tier Development with PHP
5
- PHP-Based User Authentication
- Access an enterprise application from a PHP
script
In this article and through code examples, learn how to use the new
SOAP extension in PHP 5 to access a J2EE application using Web
services, without having to leave the PHP environment or learn a
new programming model.
- Unit tests and mock objects for PHP
- MaxMind - GeoIP Free Country IP Country
Determine the Internet visitor's country based on the IP
address.
- Debugging techniques for PHP programmers
- Create a Web storefront using PHP and PayPal, Part
3
- Paint 3-D images with PHP
- Devise Web 2.0 applications with PHP and DHTML,
Part 1: Cook up your own with these recipes
- Devise Web 2.0 applications with PHP and DHTML,
Part 2: Use JavaScript to create HTML elements on the fly
- BeebleX - The
PHP Search Engine
- Whenpenguinsattack.com
Nice blogs!
- How to internationalize your PHP apps
Localizing an application can be planned, or it can happen as a
rushed afterthought. Discover techniques and tools such as gettext,
XML, XSLT, and design patterns that can help when retrofitting
localization into a mature product or planning for localization up
front.
- Convert XML to JSON in PHP
With the growing popularity of Web 2.0, a new data interchange
format called JavaScript Object Notation (JSON) is emerging as a
useful way to represent data in the business logic running on
browsers. Learn how PHP-based server programs can convert
XML-formatted enterprise application data into JSON format before
sending it to browser applications.
- Pull parsing XML in PHP
Discover the XMLReader library, which is bundled with PHP 5 and
enables PHP pages to process XML documents in an efficient
streaming mode.
- What's new in PHP V5.2, Part 2: Using the new input
filtering extensions
In Part 2 of this 'What's new in PHP V5.2,' learn how to
effectively use the new input filtering extensions provided by the
new PHP V5.2. This is a much-needed feature that will allow you to
validate inputs to forms and other input mediums without having to
rely on third-party software. After reading this, you will be
effective at filtering inputs to increase application
security.
- Separate content from presentation with XSLT,
SimpleXML, and PHP 5
Over the years, developers have devised many strategies and
frameworks to facilitate the separation of business logic and
presentation logic. In this tutorial, you will explore two
solutions to separating data and business logic from presentation
logic: one using XSLT through the XSL module in PHP 5 and the other
using the SimpleXML module in PHP 5. To do this, you'll use a Web
page for a personal resume stored as an XML file as an
example.
- What's new in PHP V5.3, Part 4: Creating and using
Phar archives
PHP V5.3 is scheduled to release soon. This 'What's new in PHP
V5.3' series covers new and exciting features found in this
release. Part 1 looks at the changes made to the object-oriented
programming and object handling in PHP V5.3, Part 2 looks at lambda
functions and closures. And in Part 3, we look at namespaces, which
is one of the most anticipated and the most debated feature in this
release of PHP. Here in Part 4, we take a close look at Phar, which
is an archive format that can be used within PHP. It can be used to
not only archive files but also to deliver and run an entire PHP
application from a single file. It can be used with PHP as an
extension from the PECL repository, but will be an official
extension of PHP in the upcoming version.
- What's new in PHP V5.3, Part 5: Upgrading from PHP
V5.2
This 'What's new in PHP V5.3' series covers new and exciting
features in PHP V5.3, which is scheduled to release soon. Part 1
looks at the changes made to the object-oriented programming and
object handling in PHP V5.3, Part 2 looks at lambda functions and
closures. In Part 3, we look at namespaces, which is one of the
most anticipated and the most debated feature in this release of
PHP. In Part 4, we take a close look at Phar, which is an archive
format that can be used within PHP. In this final part of the
series, learn about things to consider when upgrading from PHP
V5.2. There are changes that break backward-compatibility and
features that are deprecated in PHP V5.3 for removal in future
versions. Some enhancements to existing features within PHP are
also covered.
- XML
- XML for PHP developers, Part 1: The 15-minute
PHP-with-XML starter
This first article of a three-part series introduces PHP5's XML
implementation and helps those relatively new to using XML with PHP
to read, parse, and manipulate, and write a short and uncomplicated
XML file using the DOM and SimpleXML in a PHP environment.
- Harness the power of XML to Open Financial Exchange
files
The ongoing task of bookkeeping is made somewhat easier when
financial institutions allow customers to download files for import
into their chosen accounting package. These files can pose a
problem for financial programmers, however, because they are
frequently only available in Open Financial Exchange (OFX) format,
which is not XML compatible. Discover how to use PHP with string
substitution to make OFX files XML compliant. Thus, you harness the
power of XML parsing and deconstruction to OFX files and make
financial programming more precise.
Perl
Python
- Introductory
- Writing Simple Programs
Sample Chapter from Python Programming : An Introduction to
Computer Science http://www.fbeedle.com/99-6.html
- Objects and Graphics
Sample Chapter from Python Programming : An Introduction to
Compuhttp://www.fbeedle.com/99-6.htmlter Science
- Algorithm Design and Recursion
Sample Chapter from Python Programming : An Introduction to
Computer Sciencehttp://www.fbeedle.com/99-6.html
- A Python Quick Reference to Useful
Commands
- The ServerSide Interoperability Blog »
Python Mini-Learning Guide
The ServerSide Interoperability Blog -
- Python 3 primer, Part 1: What's new
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards
compatibility with the 2.x line but has cleaned up some syntax
issues. This article is the first in a series that talks about the
changes that affect the language and backwards compatibility, and
it provides examples of new features.
- Python 3 primer, Part 2: Advanced topics
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards
compatibility with the 2.x line but has cleaned up some syntax
issues. This second article builds on the previous article. In Part
2 of this two-part series, discover more new Python features and
details on more advanced topics such as changes in abstract base
classes, metaclasses, and decorators.
Ruby
- Ruby Tutorial
- Cross-platform development with JRuby and
Swing
In addition to building Web and console applications with Ruby, you
can write complex GUI desktop applications that run unmodified on
multiple platforms. Thanks to JRuby, a robust alternative to the
traditional C implementation of Ruby, Ruby GUI toolkits can use UI
tools available to the Java platform. This article introduces
Monkeybars, a library that uses JRuby and Swing for building
applications, and takes you through an example application.
- RailsLab .:. Scaling Rails
Scaling Rails screencasts produced by Gregg Pollack and supported
by New Relic
Groovy
Grails
- System iNetwork (formerly iSeries Network) - The
Search for the Holy Web Dev Grail(s)
Grails a Ruby on Rails150inspired framework implemented with the
Groovy language may be web devs holy grail Grails brings the power
of a declarative language to the Java platform and lets you use
your existing Java skills to make complex websi
- Mastering Grails: GORM: Funny name, serious
technology
Any good Web framework needs a solid persistence strategy. In this
second installment of his Mastering Grails series, Scott Davis
introduces the Grails Object Relational Mapping (GORM) API. See how
easy it is to create relationships between tables, enforce data
validation rules, and change relational databases in your Grails
applications.
- Mastering Grails: Grails and the mobile
Web
The number of cell phone users worldwide is at 3.3 billion and
rising, and Internet access from mobile phones is on a rapidly
upward trajectory. Developing for the mobile Web has its unique
demands. In this Mastering Grails installment, Scott Davis shows
you how to make your Grails applications mobile phone
friendly.
- Mastering Grails: Testing your Grails
application
Grails makes it easy to ensure that your Web applications start out
bug free and stay that way. As a bonus, you can leverage your test
code to produce a rich set of executable documentation that is
always up-to-date. This month, Grails guru Scott Davis shows you
the Grails testing ropes.
- Mastering Grails: Give your Grails applications a
facelift
In this installment of Mastering Grails, Scott Davis demonstrates
how to make drastic changes to the look and feel of a Grails
application using Cascading Style Sheets (CSS), templates, tag
libraries (TagLibs), and more.
- Rich Internet Applications with Grails, Part 1:
Build a Web application using Grails and Flex
Rich Internet Applications (RIAs) promise the dynamism and
functionality of desktop applications through the browser. One of
the key characteristics is moving your presentation layer to the
client and backing it with a robust RESTful service layer on the
server. This idea is being popularized with buzzwords like SOUI
(Service Oriented User Interface) and SOFEA (Service Oriented Front
End Architecture). In this article, the first of a two-part series,
you will see how simple it is to create a Web service back end
using Groovy's Grails Web application framework, and you will hook
it up to an RIA developed with Adobe's Flex framework.
- Mastering Grails: Rewiring Grails with custom URIs
and codecs
In this installment of Mastering Grails, Scott Davis shows you how
to customize the standard Uniform Resource Identifier (URI) that
Grails generates for Web pages. Moving from primary keys to
descriptive titles in URIs gives users a more memorable and more
meaningful path to the resources that they seek.
- Rich Internet Applications with Grails, Part 2:
Grails and the Google Web Toolkit
In this second part of a two-part series, add to the Grails-powered
Web services you created in Part 1. You will create a new search
page, but this time using the Google Web Toolkit (GWT) to create
the application. You will also use some richer UI widgets from the
Ext GWT library.
C/C++
Some Other Programming Languages
- Dr. Dobb's | JForth: Implementing Forth in Java |
May 21, 2008
JForth: Implementing Forth in Java
- An introduction to XML User Interface Language
(XUL) development
XUL is a tried and true application framework. In fact, the
recently released Firefox 3.0 is not only built using XUL, but
provides a XUL runtime environment that enables any Firefox user to
run other XUL applications. In this tutorial, you start to program
in XUL and learn about some tools to help you develop XUL apps.
Build a XUL-based blog editor as you enhance your Web development
skills to build desktop apps with XUL.
- An introduction to XML User Interface Language
(XUL) development
XUL is a tried and true application framework. In fact, the
recently released Firefox 3.0 is not only built using XUL, but
provides a XUL runtime environment that enables any Firefox user to
run other XUL applications. In this tutorial, you start to program
in XUL and learn about some tools to help you develop XUL apps.
Build a XUL-based blog editor as you enhance your Web development
skills to build desktop apps with XUL.
Security
- Introductory
- Information
- Research
- E-mail Lists
- Vulnerabilities
- Threats
- National Criminal Justice Reference Service
- Security- Network World Newsletter
This newsletter is written by M. E. Kabay, Ph.D., CISSP. He is an
Associate Professor in the Department of Computer Information
Systems at Norwich University in Northfield, Vt. This is the best
security newsletter I am subscribed to.
- Crypto-Gram Newsletter
Crypto-Gram is a free monthly e-mail newsletter from security
expert Bruce Schneier, with over 100,000 readers. In its seven
years of regular publication, Crypto-Gram has become one of the
most widely read forums for free-wheeling discussions, pointed
critiques, and serious debate about security.
- ITL Bulletine : NIST
Published 6-8 times per year, ITL Bulletins present an in-depth
discussion of a single topic of significant interest to the
information systems community. Bulletins are published by the
Information Technology Laboratory of the National Institute of
Standards and Technology.
- Linux Security: Tips, Tricks, and Hackery
- Security Guidelines/Awareness
- Incident Management
- Web Application Security
- Cryptography
- Handbook of Applied Cryptography
- The Theory of Cryptography
Sample chapter
- RSA Laboratories | Cryptography FAQ
RSA Laboratories' Frequently Asked Questions About Today's
Cryptography, Version 4.1
- Lecture Slides and Video Archives
Those interested in learning more about cryptography from an
academic perspective will surely find this interesting.
- E-mail Lists
- Counterpane: Crypto-Gram
Crypto-Gram is a free monthly e-mail newsletter on computer
security and cryptography from Bruce Schneier (author of Secrets
and Lies and Applied Cryptography, inventor of Blowfish and
Twofish, CTO and founder of Counterpane Internet Security, Inc.,
general crypto pundit and occasional crypto curmudgeon).
- Asymmetric Encryption
- Symmetric Encryption
- SSL
- Cracking
- Misc
- Identification and Authentication
- Personal Identity Verification (PIV) Project
A new project for improving the identification and authentication
of Federal employees and contractors for access to Federal
facilities and information systems (From NIST).
- Identification and Authentication lecture
(PowerPoint)
- A White Paper on Authentication and Access
Management
Issues in Cross-organizational Use of Networked Information
Resources
- OpenID: an
actually distributed identity system
OpenID is an open, decentralized, free framework for user-centric
digital identity.
- The NTLM Authentication Protocol
- SSO With Kerberos
- Base Information
- mod_auth_kerb
- Windows Kerberos Implementation
- Java
- Misc
- Kerberos LDAP master-slave configuration
management
Kerberos and LDAP are designed to allow for a master/slave setup.
In a centralized environment, user and group management can be
handled through the LDAP/KRB5LDAP (Kerberos LDAP) protocol. This
article explains how to configure KRB5LDAP (Kerberos LDAP)
master/slave for KRB5LDAP clients.
- opensso: Home
- From the Trenches at Sun Identity, Part 1: Access
Management for Web Applications
Jamie Nelson, director of engineering for access and federation
management at Sun, explains why security--authentication,
authorization, and audit--is a major oversight in Web development
and suggests ways to do it right from the start.
- From the Trenches at Sun Identity, Part 3:
Federated Access Management Simplified
In this interview, Sun senior product line manager Daniel Raskin
talks about his dedication to simplifying federation and identity
management tasks for enterprises and describes the key features of
the upcoming Sun Federated Access Manager.
- From the Trenches at Sun Identity, Part 4: Virtual
Federation, a Pioneering Way for Exchanging Authentication
Data
Sun identity architect expounds on virtual federation: the
definition, the problems solved, the process, and the
benefits.
- OpenID
- Dr. Dobb's | OpenID Single Sign-On | September 23,
2008
OpenID is an open standard that defines a way that web-based
applications can authenticate users via a single identity.
- At the Forge - OpenID
- Pros and Cons of OpenID - O'Reilly Radar
Openid, the lightweight, distributed ID system, has been getting a
lot of press lately for good reason. (For an overview of the system
see this earlier Radar post.) Started by LiveJournal founder Brad
Fitzpatrick (now with SixApart), it has recently started getting a
lot of support - kind of. Up until recently, Zooomr, Ma.gnol.ia,
and various SixApart properties were...
- Multi-factor Authentication
- Implement two-factor authentication for AIX using
Kerberos
In the ever-growing need for higher security systems, multi-factor
authentication is preferred for network security. Since Kerberos is
one of the most popular network authentication mechanisms, learn
how to design a multi-factor authentication over the Kerberos
protocol. Understand the use of One-Time Password (OTP) and GSS-API
to achieve this.
- Identity Theft
- Phishing
- Anti-Phishing Working Group
Phishing attacks use 'spoofed' e-mails and fraudulent websites
designed to fool recipients into divulging personal financial data
such as credit card numbers, account usernames and passwords,
social security numbers, etc.
- How Not to Get Hooked by a
‘Phishing’ Scam
- Netcraft
Toolbar
Report phishing sites using this toolbar.
- Anti-Phishing Working Group
Our mission is to provide a resource for information on the problem
and solutions for phishing and email fraud.
- Pharming & Phishing
MiniTutorials is a great resource for Web design tips, SSI , CSS
and general computer tips on maintenance.
- Pharming Out-Scams Phishing
A fast-spreading online swindle redirects web users to phony sites
where criminals can capture passwords and other data. Unlike
phishing, which targets one user at a time, pharming nabs multiple
victims at once. By Michelle Delio.
- APWG
(Anti Phishing Working Group)
Our mission is to provide a resource for information and solutions
for eliminating the fraud, identity theft and electronic crime that
result from phishing, pharming and email spoofing of all
types.
- Schwarzl IP Checker: Who is owner of an given ip number
?
Schwarzl s Tools: Domain Checker, IP Adressen Test, eMail
Gueltigkeitpruefung, Webserver Software...
- Privacy
- CDT's Guide to Online Privacy
Privacy Basics: Fair Information Practices.
- US CODE: Title 5,552a. Records maintained on
individuals
U.S. law on records maintained on individuals.
- The
Communitarian Network
For individual rights and social responsibility.
- Progressive
Policy Institute: Defining the Third Way
The Progressive Policy Institute is a catalyst for political
change. Its mission is to modernize progressive politics and
government for the Information Age.
Third Way politics seeks a new balance of economic dynamism and
social security, a new social compact based on individual rights
and responsibilities, and a new model for governing that equips
citizens and communities to solve their own problems.
- Generally Accepted Privacy Principles
The AICPA and the Canadian Institute of Chartered Accountants
(CICA) have formed the AICPA/CICA Privacy Task Force, which has
been developing privacy best practices and related services to help
organizations manage privacy risk and implement good privacy
practices. The Privacy Task Force has developed
Generally Accepted Privacy Principles. Learn More>>
- Privacy Compliance: A Guide for Organizations &
Assurance Practitioners (Revised 2004)
- Privacy Policy
- The privacy policy problem, Part 1: A model policy
- Network World
Many organizations strive to protect the confidentiality of
prospects and clients. In this column and the next three, I want to
explore issues relating to privacy policies and the sometimes
problematic relations between legitimate, well-meaning institutions
and the commercial organizations with which they do business - and
the criminal organizations which abuse their good names and
reputations.
- Privacy Policy | School of Graduate Studies |
Norwich University
Norwich University School of Graduate Studies
- The privacy policy problem, Part 2: Controlling
business partners - Network World
In this series of four articles, I'm exploring privacy policies.
Today I'll continue with an analysis of potential problems due to
independent partner organizations working on behalf of their
clients without adequate supervision and coordination.
- The privacy policy problem, Part 3: Opting out of
opting out - Network World
In my most recent two columns, I've been discussing privacy
policies. Today I want to look at some of the issues that can occur
when you work with other organizations whose policies may differ
from yours.
- The privacy policy problem, Part 4: Reality hits
home - Network World
It's not going to be easy, but at least you can put your
privacy-protection measures in place before you face a major PII
disaster. Keep your eyes open, follow up on abuse of your corporate
identity, and make your own policies clear and effective.
- Data Remanence
- Computer Forensics
- Network Security (Other)
- Email Hazards
- Intrusion Detection
- Tools
- Intrusion Detection Systems
- The Open Web
Application Security Project
- CERIAS
- Homepage
Zeitline is an open-sourced graphical tool written in Java used for
the analysis of forensic events.
- http://coast.cs.purdue.edu/pub/tools
- http://www.cert.org/tech_tips/security_tools.html
- NMAP Grepable Output by MadHat on
24/12/03
One of the often overlooked and underused output methods of nmap is
the grepable or "machine" output. This output places all results
for a single host on a single line, making it easier to use with
other command line tools, like grep and awk. It also makes it
easier to use when scripting.
- fwall
fwall is a simple user-friendly firewall script for iptables. It is
based on bash. It includes a configuration for 1-2 interfaces, port
forwarding, DoS protection, and so on.
- Another
File Integrity Checker
Afick is a security tool, very close from the well known tripwire.
It allows to monitor the changes on your files systems, and so can
detect intrusions.
- Cipherdyne -- gpgdir
gpgdir is a perl script that uses the CPAN GnuPG module to encrypt
and decrypt directories using a gpg key
- Prelude
Hybrid IDS
Prelude is an innovative Hybrid Intrusion Detection system designed
to be very modular, distributed, rock solid and fast.
- Tcpdump: An Open Source Tool for Analyzing
Packets
- IPTables Linux firewall with packet string-matching
support
- snort2iptables
Convert Snort rules into iptables rules
- Nagios
Nagios is an open source host, service and network monitoring
program.
- SysAdmin to SysAdmin: Service monitoring with
Nagios
An article on configuring/operation of Nagios.
- Keep an Eye on Your Linux Systems with
Netstat
How to use the netstat tool is discussed here.
- ettercap
Ettercap is a suite for man in the middle attacks on LAN. It
features sniffing of live connections, content filtering on the fly
and many other interesting tricks. It supports active and passive
dissection of many protocols (even ciphered ones) and includes many
feature for network and host analysis.
- OSIRIS -
Host Integrity Monitoring
Osiris is a centralized file-integrity program that uses a
client/server architecture to check for changes on a system. A
central server maintains the file-integrity database and
configuration for a client and at a specified time, sends the
configuration file over to the client, runs a scan and sends the
results back to the server to compare any changes. Those changes
are then sent via email, if configured, to a system admin or group
of people.
- Detecting suspicious network traffic with
psad
Port Scan Attack Detector
- Network monitoring with ngrep
- Hacks From Pax: Network Server Monitoring With Nmap
- The Community's Center for Security
- Password Generator
Generate good passwords with this tool
- Forgot the Administrator's Password?
Various tools to reset your Windows system password
- IptablesWeb
IptablesWeb is a free software (under GPL licence): it allows to
inspect iptables logs, to receive e-mails and alerts using a web
browser; it's a plugin-based multilanguage and multiuser software
written in PHP.
- chkrootkit
-- locally checks for signs of a rootkit
chkrootkit locally checks for signs of a rootkit. Includes
ifpromisc.c to check if the interface is in promiscuous mode,
chklastlog.c and chkwtmp.c to check for lastlog and wtmp deletions
and chkproc.c for signs of LKM trojans.
- Buffer Overflow
- Presentations
- Hacking
- Compliance
- Incidents
- Social Engineering
- Auditing
- Misc
- MKS - Secure Process
- SpamAssassin: Welcome to SpamAssassin
- MAPS
Realtime Blackhole List
- Netfilter - Basic Intrusion Prevention using
Content-based Filtering
- PestPatrol
- The SANS Institute ~ System Administration, Networking and
Security - Computer Security Education and Information Security
Training
- BSI Sitemap
- Security
Recommendation Guides // National Security Agency //
- ONLamp.com: Secure Programming Techniques [Apr. 17,
2003]
- Sniffit Page
- Doing It All with OpenSSH, Part 1
- Mich
Kabay's Home Page
- Knock
Knock, Who's There?
This technique involves a daemon listening for a particular knock
sequence. A knock is established by a client trying tomake a
connection to a closed port. If the client provides the
correctsequence, the server modifies its firewall rules to allow
access to aspecific port for that user.
- Port Knocking
- Secure programmer: Keep an eye on inputs
This article discusses various ways data gets into your program,
emphasizing how to deal appropriately with them; you might not even
know about them all!
- Improving Passive Packet Capture: Beyond Device
Polling
Passive packet capture is necessary for many activities including
network debugging and monitoring. With the advent of fast gigabit
networks, packet capture is becoming a problem even on PCs due to
the poor performance of popular OSs. The introduction of device
polling has improved the capture process quite a bit but not really
solved the problem. This paper proposes a new approach to passive
packet capture that combined with device polling further improves
it and allows, on fast machines, packets to be captured at (almost)
wire speed.
- An Introduction To SQL Injection Attacks For Oracle
Developers
- Wireless network security basics
- The CERT/CC Vulnerability Disclosure Policy
- Spam
Laws
- Help Net Security - Secure Web Based Mail
Services
Understanding how web mail system work can help in deciding if web
mail systems can be securely deployed.
- Linux Security HOWTO
A general overview of security issues that face the administrator
of Linux systems.
- Choosing and Protecting Passwords
- A practical approach for defeating Nmap
OS-Fingerprinting
- Some B0t B@it -- $p@m Yourself, and thousands of
other known $p@mmers!!!!!
Spam the spamers...
- Federal Information Systems Security Educators'
Association (FISSEA)
- Understanding TCP Reset Attacks, Part I
- Google Hacking Mini-Guide
Using search engines such as Google, "search engine hackers" can
easily find exploitable targets and sensitive data. This article
outlines some of the techniques used by hackers and discusses how
to prevent your site from becoming a victim of this form of
information leakage.
- HIPAA: What It Is and Why You Should Care
- Lecture Slides from M. E. Kabay on
Cybercrime
- Google Your Site For Security
Vulnerabilities
- Providing Database Encryption as a Scalable
Enterprise Infrastructure Service
This paper explores a new approach for data privacy and security in
which a security administrator protecting privacy at the level of
individual fields and records, and providing seamless mechanisms to
create, store, and securely access databases.
- SQL Injection Attacks by Example
A pretty good article.
- Things To Look For In Host-Based Intrusion
Prevention
Intrusion prevention systems?
- InfraGard
Secure USA's infrastructure. An FBI program started in 1996.
- Freedom to Tinker » Blog Archive
» Acoustic Snooping on Typed Information
- Trends In Proprietary Information Loss
A good report. A bit dated. But still contains valuble
information.
- Exploring a National Cybersecurity Exercise for
Universities
Some ideas to standardize cybersecurity exercises.
- Apache-SSL: Certificates, Configuration and
More
End-to-end discussion of configuring Apache HTTP
Server’s support for SSL.
- YouTube - The Chaser's War on Everything - Terrorist
security response
The Chaser's War On Everything examines how security responds to an
American tourist recording a video as opposed to someone dressed
"slightly differently".V...
- A brief history of data-breach apology letters -
Network World
Here are 10 examples of data breaches and the resulting apologies
issued by companies, universities, and one government agency. After
each apology, the team from the Web site Perfect Apology weighs in
with a detailed evaluation and ranking on a 10-point scale. Read
through the list to find out who scored a -3 on the Perfect Apology
scale.
- White-Collar Crime
The Web site of the only publication delivering authoritative,
practical corporate compliance and anti-fraud information for
corporations, government agencies and non-profits.
- Your printer: An open door for hackers? - Network
World
It turns out that the old problem of misdirected faxes has a new
twist: networked printers are posing the potential for misdirected
printouts - including printer hacking.
- Introduction to Forensics | Linux Journal
- How to Sell Security - CIO.com - Business Technology
Leadership
We don't invest in information security because we're predisposed
to take the risk that nothing bad will happen. So if you want to
sell security, a leading expert advises, you have to turn it into
something people actually want to buy.
- Infrastructure Protection
I found some resources in infrastructure protection and information
warfare that might interest some readers. This column will be a bit
of a collage of neat infowar stuff that you may have overlooked but
that bears attention and even rereading.
- Please hold your call is being transferred to a
phreak...(the insecurity of voice) | NetworkWorld.com
Community
- Security Alert: DNS Security Vulnerability | Linux
Journal
- Practical Defense In Depth
- Adeona: A Free, Open Source System for Helping Track and
Recover Lost and Stolen Laptops
Privacy-Preserving Location Tracking of Lost or Stolen Devices
- eXtensible Configuration Checklist Description Format
(XCCDF)
XCCDF is a specification language for writing security checklists,
benchmarks, and related kinds of documents.
- CWE -
2009 CWE/SANS Top 25 Most Dangerous Programming Errors
Common Weakness Enumeration (CWE) is a list of software
weaknesses.
- Biometric IDs
- Biometric blooper? - Network World
Frank Platt writes: The U.K. is planning to launch a national
biometric identity card next year, along with a national database
to include all the citizenry. This card will certainly be
convenient when purchasing or banking or to quickly authenticate
one's identity. But the whole idea may be deeply flawed.
- Spaming
- The
Spamhaus Project - SBL
The SBL ('Spamhaus Block List') is a list of IP addresses of known
spam gangs and spam services. The SBL is broadcast in realtime to a
network of servers for the purpose of limiting spam email from
those IPs.
- SpamCop.net - Blocking List ( bl.spamcop.net )
Beware of cheap imitations! SpamCop has been protecting the
internet community since 1998. Automatically file spam reports with
the network administrators who can stop unsolicited email at the
source. Subscribe, and filter your email before it reaches your
inbox.
- The
CBL
- Passive Spam
Block List
Networking
Free And Open Source Software
- The Free Software Definition - GNU Project - Free Software
Foundation (FSF)
Since 1983, developing the free Unix style operating system GNU, so
that computer users can have the freedom to share and improve the
software they use.
- The Cathedral and the Bazaar
From Eric Raymond...
- Open Source Initiative OSI - Licensing
A collection of different licensing schemes.
- Business
Readiness Rating
Business Readiness Ratings (BRR) is being proposed as a new
standard model for rating open source software. It is intended to
enable the entire community (enterprise adopters and developers) to
rate software in an open and standardized way.
- ONLamp.com: Open Source and Free Documentation
Licenses, Part 1: The GNU FDL
- ONLamp.com: Open Source and Free Documentation
Licenses, Part 2: The Open Publication License
- OSBC Presentation Files
Some nice presentation material on open source.
- The Rise of
Open Source Licensing - Challenge to the Use of Intellectual
Property in the Software Industry
A book. You can download the pdf version.
- Open source licensing, Part 1: The intent
This article -- the first of two -- describes the tenets of
copyright and explains the intents of an open source license.
- Open source licensing, Part 2: Academic v.
reciprocal
This article, the second in a two-part series, explores the two
most popular forms of open source licenses -- the academic license
and the reciprocal license -- and describes the obligations of
licensees that accept the terms of each.
- O3
Magazine
The focus of O3 is on the use of Free and Open Source (FOSS)
software in Enterprise Data Networking environments.
- Comparing Open Source Licenses: GPL vs.
BSDL
- Dr. Dobb's | Java and Open Source Software
Roundtable, Part 1 | February 1, 2007
Views from multiple people on Java and open source in enterprise
applications
- Dr. Dobb's | Java and Open Source Roundtable, Part
2 | February 1, 2007
Views from multiple people on Java and open source in enterprise
applications
- Dr. Dobb's | How To Tell The Open Source Winners
From The Losers | February 3, 2007
A good article on what you should focus on when open source
software is to be selected for the enterprice.
- Jonathan Schwartz's Weblog : Weblog
- Use of Free and Open-Source Software (FOSS) in the
U.S. Department of Defense
- GPLv3: What the new version of the General Public
License means for software developers
from The Rational Edge: Read how the latest version of the General
Public License, GPLv3, impacts software development in several
important areas, especially in regard to the creation of systems
based on components from multiple licensed sources.
- Dr. Dobb's | Saving Open Source | October 1,
2008
The cause of free and open-source software dodged a bullet earlier
this year.
- Open Source, Open Standards and Re-Use: Government
Action Plan
Open Source, Open Standards and Re–Use:
Government Action Plan
Linux
- Introductory
- Introduction to UNIX and Linux: Tutorial lectures and
exercise sheets
A very good tutorial with exercies.
- HowtoForge -
Linux Howtos and Tutorials | Howtos about Linux and Open
Source
- Linux quick reference card 1 Help 2 Work session 3
Keyboard 4 The ...
A good quick reference card.
- A Linux Quick Reference to Useful
Commands
Another quick reference.
- Linux Command Directory
A great reference of commands.
- Linux Reference Guide
- Windows-to-Linux roadmap: Series overview
A series of articles for the beginners.
- developerWorks : Linux : Tutorials
Targeted at LPI certification.
- The Linux
Documentation Project
TLDP is one of the largest Internet projects, where a few hundred
people have written several hundred documents, ranging from small
manual pages to in-depth guides that span over a hundred pages. The
documentation covers nearly all aspects of Linux and is freely
distributed, like Open Source software itself.
- The Linux System Administrator's Guide
- Linux Network Administrators Guide
- Conceptual Architecture of the Linux Kernel
- Concrete Architecture of the Linux Kernel
- History of Linux
- Embeded Linux Journal
- LPI exam 101 prep (topic 103): GNU and UNIX
commands
An introductory tutorial. A good one.
- LPI exam 102 prep, Topic 106: Boot, initialization,
shutdown, and runlevels
- LPI exam 202 prep, topic 208: Web
services
How to configure and run the Apache HTTP server and the Squid proxy
server?
- LPI exam 202 prep, topic 210: Network client
management
Configure a DHCP server, NIS server, LDAP server, PAM to support
authentication
- LPI exam 301 prep, Topic 301: Concepts,
architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3)
exam 301. In this first in a series of six tutorials, Sean
introduces you to Lightweight Directory Access Protocol (LDAP)
concepts, architecture, and design. By the end of this tutorial,
you will know about LDAP concepts and architecture, directory
design, and schemas.
- pSeries and AIX Information Center
A good collection of commands with usage examples.
- Basic Introduction to UNIX/linux
- Advanced Introduction to UNIX/linux
- Linux
Kernel in a Nutshell
This book is freely available to download
- Anatomy of the Linux kernel
The Linux kernel is the core of a large and complex operating
system, and while it's huge, it is well organized in terms of
subsystems and layers. In this article, you explore the general
structure of the Linux kernel and get to know its major subsystems
and core interfaces. Where possible, you get links to other IBM
articles to help you dig deeper.f
- xentheon - where
is my mind
- Anatomy of the Linux networking stack
One of the greatest features of the Linux operating system is its
networking stack. It was initially a derivative of the BSD stack
and is well organized with a clean set of interfaces. Its
interfaces range from the protocol agnostics, such as the common
sockets layer interface or the device layer, to the specific
interfaces of the individual networking protocols. This article
explores the structure of the Linux networking stack from the
perspective of its layers and also examines some of its major
structures.f
- Conceptual Architecture of the Linux Kernel
- Concrete Architecture of the Linux Kernel
- The
linux-kernel mailing list FAQ
FAQ for kernel developers
- Linux Professional Institute (LPI) exam prep :
Overview
Before you take the Linux Professional Institute (LPI) exams,
review these developerWorks tutorials, designed as self-study
guides for each topic in the four exams.
- developerWorks : Anatomy of Linux Series
Browse the Linux technical library view for technical articles and
tips, tutorials, and IBM Redbooks. View the list by product, title,
topic, or keyword and sort your results.
- E-mail Lists
- Distributions
- DistroWatch.com: Put the fun back into computing. Use
Linux, BSD.
News and feature lists of Linux and BSD distributions.
- Fedora
- KNOPPIX Linux
Live CD
KNOPPIX is a bootable CD with a collection of GNU/Linux software,
automatic hardware detection, and support for many graphics cards,
sound cards, SCSI and USB devices and other peripherals. It is not
necessary to install anything on a hard disk. Due to on-the-fly
decompression, the CD can have up to 2 GB of executable software
installed on it.
- Pollix LiveCD
Pollix is a Live CD with many programming tools (for Java, Python,
Perl and Tcl/Tk). Based on Knoppix, Pollix boots from the CD and
detects hardware automatically - there is no need for
installation.
- Devil-Linux
Devil-Linux is a special Linux distribution, which is used for
Firewalls / Routers.
- Open Source Real-Time Linux Project
The purpose of this project is to identify and implement technology
enhancements to further reduce interrupt latency and task
preemption latency in the current 2.6 kernel series.
- JS/UIX
- Terminal
A very interesting distribution!
- Instalinux
- Create a Custom Linux Network Install Image
The System Designer allows you to design a Linux system profile
which can be downloaded onto a single network install image.
- LinuxCOE
Create distributions of your choise with all the configurations set
and let them install what you created.
- Linux Links - The Linux Portal:
Distributions/Mini_Distributions
- SME Server
A great Linux distro for small and medium enterprises. Easy to
install and has a web based admin interface.
- DSL
information
A very small (50MB) distribution with a desktop
- MenuetOS
Not a Linux distribution! But written in assembly language!
- Useful Tools
- Managing your projects with Planner
Create a gantt chart, add resources, manage the calendar,...
- DMI
Decode
This is the home page for dmidecode, a tool for dumping a
computer's DMI (some say SMBIOS) table contents in a human-readable
format (see a sample output). This table contains a description of
the system's hardware components, as well as other useful pieces of
information such as serial numbers and BIOS revision.
- VI Editor
- Fast Reboot with kexec
- The User-mode Linux Kernel Home Page
User-Mode Linux is a safe, secure way of running Linux versions and
Linux processes. Run buggy software, experiment with new Linux
kernels or distributions, and poke around in the internals of
Linux, all without risking your main Linux setup.
- The Multi Router Traffic Grapher
- Bootchart
Bootchart is a tool for performance analysis and visualization of
the GNU/Linux boot process.
- CheckInstall
Install programs with source files, but keep track of the packages
(rpm, deb,...). This is a great tool.
- FUSE:
Filesystem in Userspace
With FUSE it is possible to implement a fully functional filesystem
in a userspace program.
- FUSE Based FileSystems
A very useful collection of file systems that uses FUSE.
- SSH Filesystem
- Easy Backup and Restore
Some good scripts to backup and restore
- Linux Audio Recording Tutorial
- Doing a Reverse Hex Dump | Linux Journal
- Clustering
- Building a Linux Cluster, Part 1: Why
Bother?
- Building a Linux Cluster, Part 2: What's
Involved?
- Building a Linux Cluster, Part 3: How To Get
Started
- redhat.com | Open source high-availability
clustering
- Cluster Project Page (RedHat)
- Linux.com | Condor: Building a Linux cluster on a
budget
Guidelines in setting up a cluster with Fedora Code 3, DRBL
(Diskless Remote Boot on Linux) and Condor.
- Open Directory - Computers: Parallel Computing:
Beowulf
- High-performance Linux clustering, Part 1:
Clustering fundamentals
- High performance Linux clustering, Part 2: Build a
working cluster
- Build a heterogeneous cluster with coLinux and
openMosix
Demonstrates how to build a mixed or hybrid HPC Linux cluster.
- Interesting Examples
- Facilities on Demand
- Parallel File Systems
- PVM
- MPI
- Benchmark
- Misc
- Clusters - OpenFacts
Some nice links on clustering
- Distributing Server Load with Round-Robin DNS
- Lazy Linux: 11 secrets for lazy cluster
admins
'Cluster' means different things to different people. In the
context of this article, cluster is best defined as 'scale-out' --
scale-out clusters generally have a lot of the same type of
components like Web farms, render farms, and high performance
computing (HPC) systems. Administrators will tell you that with
scale-out clusters any change, no matter how small, must be
repeated up to hundreds of thousands of times; the laziest of
admins have mastered techniques of scale-out management so that
regardless of the number of nodes, the effort is the same. In this
article, the authors peer into the minds of the laziest Linux
admins on Earth and divulge their secrets.
- Grid Computing
- High Availability
- Security
- Linux Security Administrator's Guide
This document is a general overview of security issues that face
the administrator of Linux systems.
- Hacking Linux Exposed
Lots of articles to secure your system.
- Securing a Unix Server
Particular examples of the specific commands and configuration
options are presented and analyzed after their integrity has been
tested and verified. Great consideration was given so that they can
be clearly followed. The whole implementation was based on Linux
and open source software.
- Secure programmer: Countering buffer
overflows
This article first explains what buffer overflows are and why
they're both so common and so dangerous. It then discusses the new
Linux and UNIX methods for broadly countering them -- and why these
methods are not enough. It then shows various ways to counter
buffer overflows in C/C++ programs, both statically-sized
approaches (such as the standard C library and OpenBSD/strlcpy
solution) and dynamically-sized solutions, as well as some tools to
help you.
- Automating Security with GNU cfengine
A sysadmin tool for automating changes across many machines,
recording update information and making them all safer.
- Securing Linux Systems With Host-Based Firewalls
Implemented With Linux iptables at InformIT.com
- Secure Passwordless Logins with SSH Part 1
- Secure Passwordless Logins with SSH Part 2
- Secure Passwordless Logins with SSH Part 3
- Linux.com | Securing a fresh Linux install, part
1
- Linux.com | Securing a fresh Linux install, part
2
- Linux.com | Securing a fresh Linux install, part
3
- UNIX Key Security
- John
the Ripper password cracker
John the Ripper is a fast password cracker, currently available for
many flavors of Unix (11 are officially supported, not counting
different architectures), DOS, Win32, BeOS, and OpenVMS.
- Five Linux Security Myths You Can Live Without
A good one.
- SELinux
- IptablesWeb
Inspect your iptables logs using a web browser!
- Linux Example Firewall Scripts (ipchains and
iptables)
- Apache Security - The Complete Guide to Securing Your
Apache Web Server
A nice book. Couple of chapters are free and online.
- Apache Security - Links and Bibliography
A great collection of links related with Apache security.
- Adaptive Firewalls with iptables
- BASTILLE-LINUX
The Bastille Hardening program "locks down" an operating system,
proactively configuring the system for increased security and
decreasing its susceptibility to compromise.
- Chrooted SSH HowTo | HowtoForge - Linux Howtos and
Tutorials
Let the users be jailed in a chrooted environment.
- Quick HOWTO: Linux Firewalls Using
iptables
- Project VOLANS: Setting up VPN using PPP over
SSH
- Hardening the Linux desktop
Although GNU/Linux has the reputation of being a much more secure
operating system than Microsoft Windows, you still need to secure
the Linux desktop. This tutorial takes you through the steps of
installing and configuring antivirus software, creating a
backup-restore plan, and making practical use of a firewall. When
you finish, you'll have the knowledge and tools you need to harden
your Linux desktop against most attacks and prevent illegitimate
access to your computer.
- Understanding and configuring PAM
The Pluggable Authentication Module (PAM) API exposes a set of
functions that application programmers use for security-related
functions like user authentication, data encryption, LDAP, and
more. In this article, get a basic guide to the PAM model on Linux,
see how to configure PAM, and learn how to design a sample PAM
login application in 10 easy steps.
- X11
- Shell Scripting
- LinuxCommand.org: Writing shell scripts.
- Shell Scripting: Using FTP to Automatically Create
a Mirror of a Specified Directory of Files on a Remote
Server
- Encrypting Shell Scripts
- Sams Teach Yourself Shell Programming in 24
Hours
- Advanced Bash-Scripting Guide
Many things...
- Variable Mangling in Bash with String Operators | Linux
Journal
A HOWTO for using string operators in bash to manipulate
variables.
- LPI exam 102 prep, Topic 109: Shells, scripting,
programming, and compiling
In this tutorial, Ian Shields continues preparing you to take the
Linux Professional Institute Junior Level Administration (LPIC-1)
Exam 102. In this fifth in a series of nine tutorials, Ian
introduces you to the Bash shell, and scripts and programming in
the Bash shell. By the end of this tutorial, you will know how to
customize your shell environment, use shell programming structures
to create functions and scripts, set and unset environment
variables, and use the various login scripts.
- Linux bash
commands - MAN Pages
A list of bash commands.
- Linux tip: Controlling the duration of scheduled
jobs
Say you need to debug a pesky problem by running some traces for 30
minutes at midnight, or you would just like to use your Linux
system as an alarm clock. This tip helps you stop jobs, such as
those started with the cron and at capabilities, after the jobs
have run for a certain time, or when some other criteria are met.
This tip now includes information on the timeout command in the
AppleTalk networking package (Netatalk). -Ed.f
- 10 Linux commands you’ve never
used
- Bash Process Substitution | Linux Journal
- Validating an IP Address in a Bash Script | Linux
Journal
- Floating Point Math in Bash | Linux
Journal
- Add a Binary Payload to your Shell Scripts | Linux
Journal
Generally when we think of shell scripts we think of editable text,
but it's possible to add binary data to your shell script as well.
In this case we're going to talk about adding a binary payload to
the end of your shell script.
- Development
- Virtualization
- Virtual Linux
A good introduction to various techniques
- Double Your Fun with User-mode Linux
An article on User-mode Linux
- bochs:
The Open Source IA-32 Emulation Project
Bochs is a highly portable open source IA-32 (x86) PC emulator
written in C++, that runs on most popular platforms. It includes
emulation of the Intel x86 CPU, common I/O devices, and a custom
BIOS. Currently, Bochs can be compiled to emulate a 386, 486,
Pentium, Pentium Pro or AMD64 CPU, including optional MMX, SSE,
SSE2 and 3DNow instructions.
- Computer Laboratory - Xen virtual machine
monitor
A good one which needs specifically ported Linux guest OSs.
- Open Source Processor Emulator
- FreeOSZoo
FreeOSZoo provides ready-to-run images of QEMU virtual computers,
pre-installed with a Free Operating System and a set of popular
free software.
- Plex86
x86 Virtual Machine Project
- Xen Virtualization and Linux Clustering, Part 1 | Linux
Journal
- Xen Virtualization and Linux Clustering, Part 2 | Linux
Journal
- Virtualization in Xen 3.0 | Linux Journal
- FedoraXenQuickstartFC5 - Fedora Project
Wiki
How to setup Xen in Fedora Core 5?
- OpenVZ
OpenVZ is an Operating System-level server virtualization solution,
built on Linux.
- VirtualBox
InnoTek Systemberatung GmbH
- QEMU
A processor emulator that is used to run an x86 Linux Kernel on x86
Linux.
- Kernel based Virtual Machine
- Discover the Linux Kernel Virtual Machine
Learn about the architecture of the Linux KVM as well as why its
tight integration with the kernel may change the way you use
Linux.
- TechComparison - Linux Virtualization Wiki
Compares different virtualization solutions available for
Linux
- Cooperative
Linux
One can run Linux inside Windows using this. Development seems to
have come to a halt.
- Dr. Dobb's | Virtualization and Pixelation | April
3, 2007
An interesting article about creation of a digital picture
frame.
- The
Hercules System/370, ESA/390, and z/Architecture Emulator
- A comparison of virtualization features of HP-UX,
Solaris, and AIX
Most IBM AIX administrators understand the virtualization features
available to them on their System p platform through PowerVM, which
is also available on the System p for Linux. But what about the
other UNIX hardware platforms? What do they have to offer and how
do some of their features compare to PowerVM? This article explores
all of these topics in detail.
- Security
- Dr. Dobb's | .NET Development on Linux | December 2,
2008
Eric finds out that a VM and Mono comes in handy when creating C#
.NET programs. In addition to Linux, Mono lets you develop and run
.NET client and server applications on Solaris, Mac OS X, Windows,
and UNIX.
- Ghost
- Backup
- Booting
- Network Booting
- SYSLINUX
SYSLINUX is a boot loader for the Linux operating system which
operates off an MS-DOS/Windows FAT filesystem. It is intended to
simplify first-time installation of Linux, and for creation of
rescue- and other special-purpose boot disks.
- HOWTO: Booting Knoppix from a DOS floppy -
Knoppix.net
- The Linux BootPrompt-HowTo
- Linux initial RAM disk (initrd) overview
The Linux initial RAM disk (initrd) is a temporary root file system
that is mounted during system boot to support the two-state boot
process. The initrd contains various executables and drivers that
permit the real root file system to be mounted, after which the
initrd RAM disk is unmounted and its memory freed. In many embedded
Linux systems, the initrd is the final root file system. This
article explores the initial RAM disk for Linux 2.6, including its
creation and use in the Linux kernel.
- Linux tip: Finding rootfs during boot
As a Linux administrator, you may encounter rootfs errors
like'cannot mount rootfs' and 'kernel panic' when you try to reboot
a server after attaching volumes from external storage or even
after installing a new Linux operating system. This article
outlines the Linux booting process on an x86 platform, shows why
this problem happens, and offers four tips to avoid it or fix
it.
- USB
- Multimedia
- Misc
- Cheap IP Takeover
- Creating a Firewall from the Command Line of any
Server
- Forwarding TCP Ports to Arbitrary Machines
- Monitor System Resources with top
- Quick Logins with ssh Client Keys
- The Linux
Kernel Archives
- Speed-start your Linux app 2004: Developing a Web
service on Linux
- The art of writing Linux utilities
- Build a network router on Linux
- Linux
Standard Base Project
Develops and promotes a set of standards that will increase
compatibility among Linux distributions and enable software
applications to run on any compliant system.
- Programming Linux sockets, Part 1
- Programming Linux sockets, Part 2
- Linux for software developers - HP Dev Resource
Central
- rsync
rsync is a file transfer program for Unix systems. rsync uses the
"rsync algorithm" which provides a very fast method for bringing
remote files into sync. It does this by sending just the
differences in the files across the link, without requiring that
both sets of files are present at one of the ends of the link
beforehand.
- Use rsync to back up a directory tree of files
- Getting started with SSH - Kimmo Suominen
- The Myths of Open Source - Open Source - CIO Magazine Mar
1,2004
- Hacking Big Mouth Billy Bass in Linux
The goal is to use any Linux device--desktop or embedded--to make
the Big Mouth Billy Bass say or act any way you want!
- A taste of Wine: Transition from Windows to
Linux
It can allow you to run most Windows software atop Linux or other
UNIX-like operating systems.
- More graphics from the command line
Pretty cool. Illustratest how to manipulate images from the command
line.
- Introduction to Enterprise Linux - OSNews.com
- Reboot Linux faster using kexec
This article talks about kexec, a feature available for the Linux
2.6 kernel, which speeds up system boot time by using a Linux
kernel in order to boot to another kernel, thereby avoiding the
temporally costly firmware and bootloader stages of system
reboot.
- Getting to know GRUB
This free tutorial shows how to install and use GRUB, the Grand
Unified Boot Loader, to boot your Linux system. Like LILO, GRUB
takes care of loading and booting the kernel. Unlike LILO, GRUB is
rich with features, much easier to use, much more reliable and
flexible, and just plain neat-o.
- Desktop Publishing with OpenOffice.org
- User-Level Memory Management in Linux
Programming
- Music Education With Linux Sound Tools
- A Linux-Based Implementation of Mobility Using
SIP
- HNS - Secure Development Framework
This whitepaper deals with developing a secure framework, both for
internal and outsourced development. Within this context, secure
development is considered to be the process of producing reliable,
stable, bug and vulnerability free software.
- Linux on Laptops
This is an index of information and documentation of interest to
those who now use or are considering using the Linux operating
system on a notebook or laptop computer.
- Cooperative
Linux
Cooperative Linux is the first working free and open source method
for optimally running Linux on Microsoft Windows natively.
- Booting from Flash Disk
Links about booting Linux from Flash disk into /dev/ram.
- Building a LAMP Server w/ LDAP
Authentication
- Better Living Through RPM, Part 1
Illustrates how to use the rpm package manager effectively.
- Understanding Virtual Memory
How does virtual memory wok in Linux?
- Code Internationalization 101
- Some notes about building a Linux cluster
- Linux-powered networking, Part 1: Build a DNS
server with ISC BIND
- Linux-powered networking, Part 2: Set up a DHCP
server to manage IP addresses
- Prompt magic
Customize the prompt.
- Bashish
Bashish is a theme engine for the console. It can change most
customizable properties of a terminal and switch theme on-the-fly
so different themes can be used at the prompt and in
applications.
- Captive: The first free NTFS read/write filesystem for
GNU/Linux
Project is not maintained. But useful.
- Tips for using vi/vim
- Active Directory Solutions for Linux
Explains a number of solutions let you link Linux systems with
Active Directory
- Linux.com | Linux LDAP authentication
- Linux.com | Advanced Linux LDAP
authentication
- How to setup and maintain OpenLDAP server for your
network - FedoraNEWS.ORG
- RPM Guide
- Install a touchscreen for Linux
How to set up and configure a PSOne LCD with touchscreen
input?
- At the Sounding Edge: Music Notation Software For Linux |
Linux Journal
- At the Sounding Edge: Music Notation Software for Linux,
Part 2 | Linux Journal
- Bruce Byfield | Linux Journal
A series of articles on OpenOffice.
- Doing more with more: Dual-head display
Configuring a dual-head display
- At the Sounding Edge: Music Notation Software for Linux,
Part 3 | Linux Journal
- Bandwidth monitoring with iptables
- Packaging software with RPM, Part 1
- Packaging software with RPM, Part 2
- Solaris to Linux Migration: A Guide for System
Administrators
- Links on Embedded Linux
- Exchange - OpenFacts
Replacements for MS Exchange
- How
to set up a mail server on a GNU / Linux system
Very nice!: Ubuntu + Postfix + Courier IMAP + MySQL + Amavisd-new +
SpamAssassin + ClamAV + SASL + TLS + SquirrelMail + Postgrey
- The /proc filesystem
Linux System Configuration and the proc filesystem
- The Linux Infrared Remote Control (LIRC) Project | Linux
Journal
Linux Infrared Remote Control (LIRC) allows you to use inexpensive
hardware to control your Linux PC with a TV remote control.
- Performance tuning UNIX systems
- Linux: Setup a transparent proxy with Squid in
three easy steps | nixCraft
- Bring back deleted files with lsof
Bring back deleted files with lsof -- article related to Tools
& Utilities.
- Linux Timeline | Linux Journal
- Host multiple SSL sites on a single network card
with IP aliasing
The interest in using SSL and name-based virtual hosts together is
on the increase. Some people will tell you that such a thing is
impossible, but you can implement virtual hosts in Apache through
IP-based virtual hosts. In this article, John Liao and Jim Miles
show you how.
- Anatomy of Postfix | Linux Journal
- A Server (Almost) of Your Own | Linux Journal
- Sound &
MIDI Software For Linux
A great site on sound resources
- Mondo Rescue backup software
Mondo Rescue
- redhat.com | How to set up a home DNS
server
- redhat.com | How to set up a home DNS server, part
II
- Professional audio with Fedora Core 6
- UNIX® Load Average Part 1: How It
Works
Explore the use of averages in performance analysis and capacity
planning to understand how the load average can be reorganized to
do better capacity planning.
- AtikoTek -Edu-WebDv-WebSrvr-Apache- htaccess
Help, Tutorial On Apache Web Server Configuration Related
Areas
- Red Hat Magazine | Squid in 5 minutes
- Industrial-strength Linux lockdown, Part 1:
Removing the shell
For technical and non-technical users alike, maintaining a large
installed base of Linux machines can be a harrowing experience for
an administrator. Technical users take advantage of Linux's extreme
configurability to change everything to their liking, while
non-technical users running amok within their own file systems.
This tutorial is the first in a two-part series that shows you how
and why to lock those machines down to streamline the associated
support and administration processes. In this tutorial, you learn
how to remove the interpreters from the installation base
system.f
- A guide to using PDFs on GNU/Linux | Linux
Journal
- Tuning LAMP systems, Part 3: Tuning your MySQL
server
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl)
architecture are constantly being developed and deployed. But often
the server administrator has little control over the application
itself because it's written by someone else. This series of three
articles discusses many of the server configuration items that can
make or break an application's performance. This third article, the
last in the series, focuses on tuning the database layer for
maximum efficiency.f
- LPI exam 101 prep: Hardware and
architecture
In this tutorial, Ian Shields begins preparing you to take the
Linux Professional Institute Junior Level Administration (LPIC-1)
Exam 101. In this first of five tutorials, Ian introduces you to
configuring your system hardware with Linux. By the end of this
tutorial, you will know how Linux configures the hardware found on
a modern PC and where to look if you have problems.
- Logical volume management
Volume management is not new in the -ix world (UNIX, AIX, and so
forth). And logical volume management (LVM) has been around since
Linux kernel 2.4v1 and 2.6.9v2. This article reveals the most
useful features of LVM2--a relatively new userspace toolset that
provides logical volume management facilities--and suggests
seseveral ways to simplify your system administration tasks.f
- Splits directory into multiple with equal size for
ISO burning purpose
Sometime it is necessary to convert a directory with many multiple
files (which are all smaller than a certain medium, eg. DVD) and
splits it into volumes,†looking for the optimal order
to get the ...
- Guide to IP Layer Network Administration with
Linux
This guide provides an overview of many of the tools available for
IP network administration of the linux operating system, kernels in
the 2.2 and 2.4 series. It covers Ethernet, ARP, IP routing, NAT,
and other topics central to the management of IP networks.
- Systems Administration Toolkit: Network
scanning
Discover how to scan your network for services and how to regularly
monitor your services to keep uptimes to a maximum. A key way of
ensuring the security of your network is to know what is on your
network and what services individual machines are at risk of
exposure. Unauthorized services, such as Web servers or file
sharing solutions, not only degrade performance, but others can use
these services as routes into your network. In this article, learn
how to use these same techniques to ensure that genuine services
remain available.
- HOWTO: Linux NAT in Four Steps using
iptables.
- Rebooting the Magic Way | Linux Journal
- Mastering IPTables, Part I | Linux Journal
- Reduce your PC's power consumption through smart
activity monitors
Learn how to reduce power consumption in your Linux computers by
monitoring application-usage patterns and user activity.
- Interrogating a Linux Machine | Linux
Journal
- Understanding IBM InfoSphere MDM Server security,
Part 3: Using LDAP to implement transaction authorization
IBM InfoSphere Master Data Management Server allows you to plug in
your transaction authorization provider. In this article, learn
about the default transaction authorization provider and explore an
example showing how to implement a transaction authorization
provider using an LDAP server.
- Removing annoying console beeps
Tips for a Debian GNU/Linux System Administrator.
- Video tutorial: Set up a secure virtual host in
Apache | Linux Journal
- Speed Up Multiple SSH Connections to the Same
Server | Linux Journal
- Howto: Linux kill and logout users
Learn how to logout Linux users forcefully. You can kill all
process and logout users with pkill and other commands.
- Setup Postfix to Login to Your Email Account and
Deliver Mail | Linux Journal
- Hacks
- Storage
- Scale your file system with Parallel NFS
The Network File System (NFS) is a stalwart component of most
modern local area networks (LANs). But NFS is inadequate for the
demanding input- and output-intensive applications commonly found
in high-performance computing -- or, at least it was. The newest
revision of the NFS standard includes Parallel NFS (pNFS), a
parallelized implementation of file sharing that multiplies
transfer rates by orders of magnitude. Here's a primer.
Solaris
IT (Other Stuff)
Software Development (Other Stuff)
- Table Oriented Programming
- Table Oriented Programming
They say it is "A practical, intuitive, and consistent way to
organize and process data and algorithm collections".
- AOP
- Methods/Processes
- Extreme Programming
- What is iterative development? -- Part 1: The
developer perspective
What does it mean for software development project team members to
work iteratively and incrementally?
- What is iterative development? -- Part 1: The
developer perspective
- A roadmap to method development
from The Rational Edge: This article describes an iterative,
risk-driven, architecture-centric, and quality-oriented approach to
method development derived from the long-term experience of the IBM
Rational Unified Process (RUP) development team. It first describes
the work products to be produced, and then lays out a step-by-step
roadmap for applying the approach throughout a method development
project. The approach utilizes software development and RUP
principles, and can be implemented using IBM Rational Method
Composer (RMC).
- Dr. Dobb's | Enough of Processes: Let's Do
Practices Part I | March 12, 2007
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Agile
- Manifesto
for Agile Software Development
We are uncovering better ways of developing software by doing it
and helping others do it. These are our values and principles.
- Agile
Alliance: Agile Alliance Home
- The declaration of interdependence for modern
management - AC
- Manifesto for Software Craftsmanship
- Crystal Clear Applied: The Seven Properties of
Running an Agile Project > Property 1.Frequent Delivery
- Distributed Scrum: Agile Project Management with
Outsourced Development Teams
This article analyzes and recommends new best practices for
globally distributed Agile teams based on two real-life
projects.
- Dr. Dobb's | Pitching Agile to Senior Management |
May 7, 2007
So your boss just doesn't get "agile"? Scott provides a "management
speak" primer on how to effectively pitch your ideas.
- Staying Agile in an uncertain economy
from The Rational Edge: If you're experiencing a climate where
management may be pulling back from Agile and moving towards more
traditional, plan-driven methods, you will want to be able to
defend the economic benefits of Agile with sound,
management-oriented business cases. This article describes
how.
- An agile experience report: A model for system
test
from The Rational Edge: Many companies are embracing agile
development practices as a way to improve the quality and timely
delivery of their products. How to best execute a system test
strategy in an agile development environment is a question every
company and team may want to answer.
- Using an Agile Software Process with Offshore
Development
- The Agile Unified Process (AUP) Home Page
- Dr. Dobb's | Agile and Large Teams | June 17,
2008
Does Agile scale to big—make that "really big"—team
sizes?
- Generalizing Specialists: Improving Your IT Career
Skills
- Dr. Dobb's | Scaling On-Site Customer | December 11,
2007
When trying to scale agile software development for complex
situations, a common stumbling block is how to understand,
prioritize, and act on requirements.
- Architecture Envisioning: An Agile Best
Practice
- Agile Data
Home Page
- DOI : Better Software Magazine: In this Issue
Featured Articles.
StickyMinds is the information place for software test, management,
and quality assurance professionals. Articles, papers, links,
books, tools, forum
- IBM developerWorks : Blogs : Agility@Scale:
Strategies for Scaling Agile Software Development
Get involved in the developerWorks community by participating in
developerWorks Blogs.
- Dr. Dobb's | Agile on a Fixed Budget | August 3,
2007
Scott examines strategies for dealing with constraints that
business stakeholders may put on software development teams.
- Dr. Dobb's | Is Fixed-Price Software Development
Unethical? | July 18, 2008
Reducing risks, better serving customers
- Wiki Customization to Resolve Management Issues in
Distributed Software Projects
- STSC CrossTalk - Good Old Advice - Aug
2008
From Winston Royce, Fred Brooks, Gerald Weinberg, and the speakers
at the 1968 North Atlantic Treaty Organization (NATO) conference on
software engineering to Barry Boehm, Victor Basili, Capers Jones,
and Tom DeMarco, the best-known writers have been making the same
recommendations, which we still ignore today.
- Dr. Dobb's | Agile on a Fixed Budget | August 3,
2007
Scott examines strategies for dealing with constraints that
business stakeholders may put on software development teams.
- Reducing the Risk of Fixed-Price Projects - Dr.
Dobb's | Dr. Dobb's Agile Newsletter 07/08 | July 28,
2008
What to do when stakeholders still insist on "precise estimates" at
the beginning of projects
- InformIT: The Software Project Manager's Bridge to
Agility: Scope Management > Scope Planning
- Mountain Goat Software - Introducing An Agile
Process to an Organization
Mountain Goat Software is a Colorado, USA-based process and project
management consultancy and training firm. Through its Certified
ScrumMaster, agile estimating and planning, user story, Certified
Scrum Product Ownerâ„¢, and other courses Mountain
Goat Software founder Mike Cohn helps companies adopt and improve
their use of agile processes and techniques in order to build
extremely high performance development organizations.
- Mountain Goat Software - Advantages of User Stories
for Requirements
Mountain Goat Software is a Colorado, USA-based process and project
management consultancy and training firm. Through its Certified
ScrumMaster, agile estimating and planning, user story, Certified
Scrum Product Ownerâ„¢, and other courses Mountain
Goat Software founder Mike Cohn helps companies adopt and improve
their use of agile processes and techniques in order to build
extremely high performance development organizations.
- Improving On Traditional Release Burndown Charts | Mike
Cohn's Blog - Succeeding With Agileâ„¢
A suggested improvement on the traditional Scrum release burndown
chart so that the burndown chart helps ScrumMasters see what will
be delivered in their agile project
- Visualizing a Large Product Backlog With a Treemap | Mike
Cohn's Blog - Succeeding With Agileâ„¢
Describes how ScrumMasters and Product Owners on Scrum and Agile
projects can visualize a large product backlog of user stories with
a treemap.
- Mountain Goat Software - Home
Mountain Goat Software is a Colorado, USA-based process and project
management consultancy and training firm. Through its Certified
ScrumMaster, agile estimating and planning, user story, Certified
Scrum Product Ownerâ„¢, and other courses Mountain
Goat Software founder Mike Cohn helps companies adopt and improve
their use of agile processes and techniques in order to build
extremely high performance development organizations.
- InfoQ: Presentation: 10 Ways to Screw Up with Scrum
and XP
In this presentation filmed during Agile 2008, Henrik Kniberg talks
about 10 possible reasons to fail while doing Scrum and XP. Maybe
the team does not have a definition of what Done means to them, or
they don't know what their velocity is, or they don't hold
retrospectives.
- How
Yahoo! International is Becoming Agile : From the Editor of Methods
& Tools
- Scaling On-Site Customer | December 11,
2007
When trying to scale agile software development for complex
situations, a common stumbling block is how to understand,
prioritize, and act on requirements.
- JOT: Journal of Object Technology - Agile Software
Product Lines, Deconstructed, John D. McGregor
- IBM - Agile ECM (Enterprise Content
Management)
IBM Enterprise Content Management - Agile ECM - helps companies
make “better decisions fasterâ€.
It’s a reality for those successful companies
that manage and deliver content for excellent customer service,
maximum workforce efficiency and double-digit return on
investment.
- The Distributed Agile Team
Scott examines the myths surrounding agile software
development.
- Defense Acquisition Performance: Could Some Agility
Help?
Learn how Agile techniques can help with the evolutionary
acquisition of defense systems, especially in attacking the
obstacles of risk mitigation alternatives funding, non-key
performance parameter requirements deferment, and technology
readiness assessment.
- Embedded
- Book excerpt - from The Software Project Manager's
Bridge to Agility
from The Rational Edge: Read a chapter from one of the latest books
on making the transition to agile software development.
- RUP
- STSC CrossTalk - Why Do I Need All That Process?
I’m Only a Small Project© - Feb
2008
At Intel’s Information Technology (IT)
department, we developed extensive processes for our projects.
While the large projects get the glory, the majority of our
projects are less than six months long, have small teams, limited
scope, and low risk. We found that we have a variety of project
sizes but a single set of processes originally built for larger
projects. So how did we fix that issue?
- Software Process Engineering Metamodel
- OpenUP
- OpenUP In a Nutshell
from The Rational Edge: This article explores OpenUP, a recently
developed process framework for software development, focused on
agile practices derived from the Rational Unified Process. The
author uses sidebar commentary to explain OpenUP to RUP-savvy
readers.
- RUP-SE
- The new, improved RUP SE architecture
framework
from The Rational Edge: This article summarizes recent improvements
to the RUP SE architecture framework, an essential element of the
systems engineering plug-in for the IBM Rational Unified Process,
or RUP. It explains concepts underlying the framework's main
components: example viewpoints and model levels.f
- Scrum
- Process Improvement
- STSC CrossTalk - A Process Improvement Commentary -
Aug 2008
This commentary provides some observations regarding process
improvement (PI) throughout the past 20 years, offering views
related to process models and standards, organizational change, and
the PI practitioner.
- STSC CrossTalk - Software Process Improvement
Implementation: Avoiding Critical Barriers - Jan 2009
This article seeks to identify perceptions and experiences of
practitioners about critical barriers (CBs) that can undermine the
implementation of Software Process Improvement (SPI) programs. The
objective of this study is to summarize CBs and provide guidelines
about how to avoid them. The results of this article provide advice
to SPI managers and practitioners on what and how to address CBs
when developing SPI implementation initiatives.
- Surveys Exploring The Current State of Information
Technology Practices
Some interesting survey results are found here.
- Workflow Management
- The Workflow
Management Coalition
The Workflow Management Coalition, founded in August 1993, is a
non-profit, international organization of workflow vendors, users,
analysts and university/research groups.
- e-workflow
- the workflow portal
White papers, case studies and more goodies on workflows.
- The State of Workflow
A good article about workflows.
- Organizational Management in Workflow
Applications
An interesting article that discusses the relation between business
processes and the organisational data involved.
- Business Process Management (BPM)
The BPM group is an international cluster of researchers, educators
and professional consultants who have leading edge expertise in the
growing field of Business Process Management.
- Workflow-based Process Controlling
Design, Development, and Application of Workflow-driven Process
Information Systems. A free book.
- Software
- Enhydra
Shark
Shark is an extendable workflow engine framework including a
standard implementation completely based on WfMC specifications
using XPDL (without any proprietary extensions !) as its native
workflow process definition format and the WfMC "ToolAgents" API
for serverside execution of system activities.
- Enhydra
JaWE
Enhydra JaWE (Java Workflow Editor) is the first open source
graphical Java workflow process editor fully according to WfMC
specifications supporting XPDL as its native file format and LDAP
connections. It can be used to edit / view every XPDL file which
conforms to WfMC specifications.
- Java Business
Process Management
jBpm is a flexible, extensible workflow management system.
- Manageability - Open Source Workflow Engines
Written in Java
A good list of open source workflow products.
- BPEL
- Reverse Engineering
- Model Driven Development
- Standards
- The SAE AADL
Standard Info Site
The AADL is an international standard for embedded computer
systems, issued by the Society of Automotive Engineers (SAE). AADL
supports predictable engineering through model-based analysis and
integration of real-time applications on their target platforms.
Fields of application include avionics and space applications,
automotive electronics, ground-based control systems, and
industrial process control equipment.
- Software Failures
- Evolution
- Misc
- DOJ Systems Development Life Cycle
Guidance
- Methods And Tools
On-line magazine and newsletter on software engineering and
software development
- The cranky user: All I want is a quick, easy
install
Those stupid installations...
- The cranky user: All I want is a quick, easy
install, Part 2
Here's the second part of that...
- Object Mentor - Articles
Goodies on many topics...
- New to Autonomic computing
A great guide to the subject
- Deploy software, autonomically
This article shows you how the general tenets of autonomic
computing are applied to software installation. It describes the
packaging and installation process for software applications, as
well as the autonomic computing components and tools required to
evolve it into an autonomic computing process. In addition to this
look at the architecture, it provides an overview of the first
release (V1.1) of autonomic install components and tools from IBM,
referred to as solution installation and deployment
technologies.
- IBM developerWorks : Autonomic Computing Toolkit
overview
The author explores the landscape of accepted investment valuation
practices and shows how each can be applied to software project
portfolio management techniques.
- developerWorks : Sample IT projects
- Software Engineering for Internet Applications
An good online book on the topic.
- SQL
for Web Nerds
A good online book. Intermediate level.
- Lazy programming and lazy evaluation
Lazy programming is a general concept of delaying the processing of
a function or request until the results are needed. This concept
has numerous applications, from the obvious to the obscure.
Thinking in terms of lazy programming can help you rid your code of
unneeded computation and restructure programs to be more
problem-oriented.
- Agile Documentation Strategies
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- ACM: Curricula Recommendations
- Dr. Dobb's | Agile Documentation Strategies |
February 5, 2007
Documentation is an important part of every system, agile or
otherwise.
- Top-10 Application-Design Mistakes (Jakob Nielsen's
Alertbox)
Application usability is enhanced when users know how to operate
the UI and it guides them through the workflow. Violating common
guidelines prevents both.
- Regular Expressions Cheat Sheet (V2)
- System Reliability/Uptime
- Metrics
- STSC CrossTalk - Using Software Quality Methods to
Reduce Cost and Prevent Defects - Dec 2008
Everyone knows that it’s better to
“do it right the first time.†But in
organizations, this requires the ability to predict outcomes of
their established “best practicesâ€
as well as the ability to justify costs when it comes to applying
what may be new approaches. This is just as true in software
development as it is in any other business practice. This article
will survey some of these best practices and present a method for
evaluating the costs and benefits of applying them.
- DevCreek
DevCreek provides an open, free service that helps software
development teams monitor, analyze and learn from metrics collected
by their ongoing project activities.
- Collaboration
- Configuration Management
- Requirements
- Domain Driven Design
- Testing/Quality Assurance
Software Applications
- Enterprise Resource Planning
- Supply Chain Management
Computing (Other Stuff)
- SparkNotes Study Guides
C++ Fundamentals, Arrya, Pointers, Trees, Recursion, Searching,
Sorting. Problems are also included with answers for them.
- Sorting
- Searching
- Multitasking
- 'Multis' Can Mean Better Performance
- Dr. Dobb's | Optimizing Software for Multicore
Processors | May 7, 2007
With the potential for real performance gains, multicore processors
present the challenge of deciding how to validate and optimize
code.
- Dr. Dobb's | Software to Hardware Parallelization |
May 20, 2008
To accelerate algorithms on multi-core systems, you must first
identify the code within the application that can be parallelized,
then figure out how to parallelize it.
- Intel's Thread Building Blocks (TBB)
- Dr. Dobb's | Understanding and Avoiding Memory
Issues with Multi-core Processors | December 11, 2008
When programming for multiple thread or multiple core systems, it
is important to understand memory allocation and access
- Multicore Processors
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Parallel Computing
- IBM Roadrunner - Wikipedia, the free encyclopedia
- Vendors
share for 06/2008 | TOP500 Supercomputing Sites
- 8 Simple Rules for Designing Threaded
Applications
The Threading Methodology used at Intel has four major steps:
Analysis, Design & Implementation, Debugging, and Performance
Tuning. These steps are used to create a multithreaded application
from a serial base code. While the use of software tools for the
first, third, and fourth steps is well documented, there hasn't
been much written about how to do the Design & Implementation
part of the process.
- Lock Options - A compile-time deadlock prevention
scheme
The two major problems in concurrent programs are data races and
deadlocks. The solutions that Bartosz presents here is based on a
deadlock-avoidance protocol.
- Dr. Dobb's | Fundamental Concepts of Parallel
Programming | December 31, 2008
Moving from a linear to a parallel programming model
- Graduating from Multitasking to Multiprogramming |
Intel Go Parallel
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Introduction to Parallel Computing: Part
2
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Multi-Core OO: Part 2
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Multicore and Parallelism: Catching Up
Software tools and techniques for global software development. Dr.
Dobb's features articles, source code, blogs,forums,video
tutorials, and audio podcasts, as well as articles from Dr. Dobb's
Journal, BYTE.com, C/C++ Users Journal, and Software Development
magazine.
- Database
- Speech Processing
- Other Theories
- Other OSs
- pico]OS
pico]OS is a highly configurable and very fast real time operating
system (RTOS). It targets a wide range of architectures, from very
small 8 bit processors and microcontrollers up to very huge
platforms.
- Keystroke Dynamics
- Expand your text entry options with keystroke
dynamics
Measure the total time of entry and verify the time between
keystrokes to help authenticate a user regardless of the data being
entered. Require nonprintable characters, such as backspace and
break, in the password to enable new levels of password
obfuscation. Learn how to apply the open source tools xev and Perl
in keystroke dynamics to measure the more-subtle characteristics of
human-computer interaction.
- Create a continuous keystroke-dynamics monitor with
Perl and xev
Learn how to use Perl, xev, and custom algorithms to monitor who is
currently at the keyboard based on characteristic typing
patterns.
- Expand your user-authentication options with mouse
dynamics
Learn how to apply the open source tools cnee and Perl in
mouse-click dynamics to measure the more-subtle characteristics of
human-computer interaction. Use the number and hold time of mouse
click events to help authenticate users.
- Graphics Programming
- Cloud
- Dr. Dobb's | Security and Cloud Computing | September 19,
2008
Best practices for protecting data in the cloud
- The Wisdom of Cloud Computing - CIO.com - Business
Technology Leadership
A hot technology must weather stability, security and support
issues to win over large enterprises
- Cloud computing with Amazon Web Services, Part 3:
Servers on demand with EC2
In this series, learn about cloud computing using Amazon Web
Services. Explore how the services provide a compelling alternative
for architecting and building scalable, reliable applications. This
article introduces you to the virtual servers provided by Amazon
Elastic Compute Cloud (EC2). Learn how EC2 can help you configure
your applications' computing requirements on the fly and adjust
capacity based on demand.
- Dr. Dobb's | The Cloud Computing Adoption Model |
October 20, 2008
A context for thinking strategically about cloud computing
- Dr. Dobb's | Computing In the Clouds | February 3,
2009
The Cloud concept in a nutshell
- Architectural manifesto: An introduction to the
possibilities (and risks) of cloud computing
Cloud computing has been a hot topic in the media and in the IT
industry. There are critics who say that it's nothing new. In this
final edition of Architectural Manifesto, learn about the
possibilities and risks of cloud computing.
- Cloud computing with Linux
Cloud computing and storage convert physical resources (like
processors and storage) into scalable and shareable resources over
the Internet (computing and storage 'as a service'). Although not a
new concept, virtualization makes this much more scalable and
efficient through the sharing of physical systems through server
virtualization. Cloud computing gives users access to massive
computing and storage resources without their having to know where
those resources are or how they're configured. As you might expect,
Linux plays a huge role. Discover cloud computing, and learn why
there's a penguin behind that silver lining. [And see the new
Resource links to the latest developerWorks content on cloud
computing. -Ed]
- developerWorks spaces: cloud, cloud computing,
saas, software as a service
Cloud computing for developers is your starting point for the
latest IBM, developerWorks and general industry information on
cloud computing. Discover why cloud computing is important, how to
get started, and where to learn more about it.
- Cloud computing versus grid computing
Want to know more about cloud and grid computing? Learn how you can
use Infrastructure as a Service to get a full computer
infrastructure using Amazon's Elastic Compute Cloud (EC2). See the
similarities, differences, and issues to consider in grid and cloud
computing. Explore some of the security issues and choices for Web
development in the cloud, and see how you can be environmentally
friendly using cloud computing.
- Architectural manifesto: An introduction to the
possibilities (and risks) of cloud computing
Cloud computing has been a hot topic in the media and in the IT
industry. There are critics who say that it's nothing new. In this
final edition of Architectural Manifesto, learn about the
possibilities and risks of cloud computing.
- The Tale of Three Cloud SLA’s -
Cloud Computing Adviser
Wikpedia says... The SLA records a common understanding about
services, priorities, responsibilities, guarantees and warranties.
Each area of service scope should have the 'level of service'
defined.
- Open
Cloud Manifesto.org
- An Executive Primer on Cloud Computing - Dr.
Dobb's
What vendors aren't telling you about cloud computing
- Grid
- LHC
- BOINC
BOINC is an open-source software platform for computing using
volunteered resources
- Code Analyzing
Multimedia
Hardware
Electronics
- Good Stuff
- Magazines
- Computer Interfacing/Embeded Systems
- Transistor Radios
- Circuit Schematics
- Digital Signal Processing
- Semiconductors
- Capture/Design/Simulation Tools
- gEDA
Project Homepage
The gEDA project has produced and continues working on a full GPL'd
suite of Electronic Design Automation tools. These tools are used
for electrical circuit design, schematic capture, simulation,
prototyping, and production.
- Open
Collector
Links to pages and projects related to open hardware and free EDA
systems
- The Spice Home Page
SPICE is a general-purpose circuit simulation program for nonlinear
dc, nonlinear transient, and linear ac analyses.
- Spice 3f5 Manual
- Spice+ Enhanced Spice for DOS, Windows and Linux
Spice+ is a general-purpose circuit simulation program, based
directly on Spice3f5, developed at the University of California
(Berkeley).
- Design Tools
- XCircuit
XCircuit is a program for drawing publishable-quality electrical
circuit schematic diagrams and related figures, and produce circuit
netlists through schematic capture.
- PCB
PCB is an interactive printed circuit board editor for the X11
window system.
- Electric VLSI Design System
C and Java implementations are available.
- The Electric CAD Tool
About the development of Electric VLSI CAD tool...
- TinyCAD for Windows
An simple open-source schematic capture program for Windows
- Open
Collector
Open Collector carries listings and news for free EDA software and
circuit designs.
- The Spice Home Page
- Magic Home Page
- Analog Devices : Virtual Design Center : Design
Tools : Design Tools for Amplifiers & Comparators
Tools are online!
- Logisim
Logisim is an educational tool for designing and simulating digital
logic circuits. Pretty good.
- Communication
- Manufacturers/Sellers
- California
Eastern Labs
NEC Corporation's North American sales and marketing partner for
RF, wireless, optoelectronic and fiber optic semiconductor
products.
- Wireless Robotics
- Analog
- Misc
Mathematics
- Tutorials, Books, Journals
- SparkNotes Math Study Guides
Algebra, Geometry, Trigonometry, Calculus. A cool site!
- MathWorld
MathWorld is a comprehensive and interactive mathematics
encyclopedia intended for students, educators, math enthusiasts,
and researchers.
- Textbooks in Mathematics
A good collection of links pointing to a large amount of
resources.
- AMS Books Online
Free, free! Great books.
- Mathematics - Online books and journals
Online Books, Full-text Journals and Digitized Collections in
Mathematics.
- Google Directory - Science > Math >
Publications > Online Texts
A great list!
- The Math
Forum
They have a nicely categorized library that points to many
resources around the web.
- An Introduction to Fourier Theory - Forrest
Hoffman
A good introduction.
- Numerical Recipes Books On-Line
I love this book. You can freely download all the chapters in pdf
format.
- Algorithms
A free book on algorithms. A good one according to many.
- The
Scientist and Engineer's Guide to Digital Signal
Processing
A free book.
- A Compendium of Common Probability
Distributions
- Introduction to Probability
A nice book on probability
- MIT | Textbook Publications
Couple of nice books (at least two) on Calculus are found
here.
- Game Theory
.net - Resources for Learning and Teaching Strategy for Business
and Life
- Programming Pearls
This book is a collection of essays about a glamorous aspect of
software: programming pearls whose origins lie beyond solid
engineering, in the realm of insight and creativity.
- Survival Statistics
An excellent introduction to sound survery design
- Good Data, Bad Data, and Process Behavior
Charts
About errors in measurements,...
- Tools
- Octave
GNU Octave is a high-level language, primarily intended for
numerical computations. Octave has extensive tools for solving
common numerical linear algebra problems, finding the roots of
nonlinear equations, integrating ordinary functions, manipulating
polynomials, and integrating ordinary differential and
differential-algebraic equations. It is easily extensible and
customizable.
- Octave-Forge
Octave-Forge is a collection of packages providing extra
functionality for GNU Octave.
- BRL-CAD
BRL-CAD is a powerful constructive solid geometry solid modeling
system that includes an interactive geometry editor, ray tracing
support for rendering and geometric analysis, network distributed
framebuffer support, image and signal-processing tools.
- The R
Project for Statistical Computing
R is a language and environment for statistical computing and
graphics. It provides a wide variety of statistical (linear and
nonlinear modelling, classical statistical tests, time-series
analysis, classification, clustering, ...) and graphical
techniques, and is highly extensible.
- Statistical programming with R: Part 1. Dabbling with a
wealth of statistical facilities
- Statistical programming with R: Part 2. Functional
programming and data exploration
- A Collection of Modelling and Simulation Resources on the
Internet
- Free Statistical Software
- GNU Octave - A Tutorial
- Graphviz
Graph Visualization Software
- Software Libraries And Source Code
- Java Numerics
The JavaNumerics page provides a focal point for information on
numerical computing in Java.
- Colt
Colt provides a set of Open Source Libraries for High Performance
Scientific and Technical Computing in Java.
- Commons-Math: The Jakarta Mathematics Library
Provide implementations for only the most basic mathematical
algorithms.
- JAMA: Java Matrix Package
JAMA is a basic linear algebra package for Java. It provides
user-level classes for constructing and manipulating real, dense
matrices. It is meant to provide sufficient functionality for
routine problems, packaged in a way that is natural and
understandable to non-experts.
- FFTW Home
Page
FFTW is a C subroutine library for computing the discrete Fourier
transform (DFT) in one or more dimensions, of arbitrary input size,
and of both real and complex data (as well as of even/odd data,
i.e. the discrete cosine/sine transforms or DCT/DST).
- RngPack: High-Quality Random Numbers for Java
RngPack is a pseudorandom number generator package for Java.
- PLplot
- A Scientific Plotting Library
PLplot is a library of functions that are useful for making
scientific plots. PLplot can be used from within compiled languages
such as C, C++, FORTRAN and Java, and interactively from
interpreted languages such as Octave, Python, Perl and Tcl.
- JGAP:
Java Genetic Algorithms Package
- BLAS
The BLAS (Basic Linear Algebra Subprograms) are routines that
provide standard building blocks for performing basic vector and
matrix operations.
- LAPACK
-- Linear Algebra PACKage
LAPACK is written in Fortran77 and provides routines for solving
systems of simultaneous linear equations, least-squares solutions
of linear systems of equations, eigenvalue problems, and singular
value problems. The associated matrix factorizations (LU, Cholesky,
QR, SVD, Schur, generalized Schur) are also provided, as are
related computations such as reordering of the Schur factorizations
and estimating condition numbers. Dense and banded matrices are
handled, but not general sparse matrices. In all areas, similar
functionality is provided for real and complex matrices, in both
single and double precision.
- Lapack++
LAPACK++ is a library for high performance linear algebra
computations. The library includes support for solving linear
systems using LU, Cholesky, QR matrix factorizations, and symmetric
eigenvalue problems, for real-valued and complex matrices.
- Dr. Dobb's | A Simple and Efficient FFT
Implementation in C++, Part I | May 10, 2007
In the first part of this two-part series, Vlodymyr presents an
efficient implementation of the Cooley-Tukey fast Fourier transform
(FFT) algorithm using C++ template metaprogramming.
- Computational
Infrastructure for Operations Research Home Page
- Java CSE Homepage
Java Resources for Science and Engineering.
- Mathtools.net
Link Exchange for the Technical Computing Community.
- MathDL: The MAA Mathematical Sciences Digital
Library
A nice place for maths lovers.
- Mathematics | Entertainment
Here are some famous mathematical problems from throughout history
as well as some mathematical puzzles, facts, games and trivia.
Enjoy!
- Misc
People
Improvement Tools
Career/Office Culture
Training
- SFIA
Foundation
The Skills Framework for the Information Age, or SFIA, provides a
common reference model for the identification of the skills needed
to develop effective Information Systems (IS) making use of
Information Communications Technologies (ICT). SFIA enables
employers of IT professionals to carry out a range of HR activities
against a common framework of reference - skill audit, planning
future skill requirements, development programmes, standardisation
of job titles and functions, and resource allocation.
Music
- Classical Music Radio Stations
- Public domain
Misc
- Federation of American Scientists
- The American
Institute of Physics
Physics publications and resources.
- Digital Human
The Digital Human is an Open Source Software Consortium using 21st
century information technology tools to represent the body's
processes from DNA molecules and proteins to cells, tissues,
organs, and gross anatomy. I was surprised to see SPICE being used
for human simulation!
- The Electronic
Frontier Foundation (EFF)
EFF is a nonprofit group of passionate people —
lawyers, volunteers, and visionaries — working
to protect your digital rights.
- NationMaster.com - Where Stats Come Alive!
A massive central data source and a handy way to graphically
compare nations.
- Musipedia:
The Open Music Encyclopedia
They are building a searchable, editable, and expandable collection
of tunes, melodies, and musical themes.
- Yellowstone Volcano Observatory (YVO)
Yellowstone Volcano Observatory was established as a partnership
between the U.S. Geological Survey, Yellowstone National Park, and
the University of Utah. This Web site provides up to date
information on the volcanic and seismic activity in the region as
well as historical data.
- Food And Nutrition
The United Nations Food and Agriculture
Organization’s site on global nutrition.
- SparkNotes Reference Tools
All are online: Dictionary, Thesaurus, Maps; Calculator, Periodic
Table, Unit Conversions, Physical Constants. A greate place to
visit!
- time and date.com
Have a problem with times?
- If - Rudyard Kipling
- CIPB Public Broadcasting Quiz
HOW MUCH DO YOU KNOW ABOUT TV?
- The Modern English Collection -- Electronic Text
Center
This heterogeneous collection contains fiction, non-fiction,
poetry, drama, letters, newspapers, manuscripts and illustrations
from 1500 to the present, arranged for browsing by author's last
name or by category of interest. Each text is encoded in SGML or
XML and includes a bibliographic header with details about the
creation of the electronic text and its print source.
- How To Become A Hacker?
- Free Computers
A list of places from where you can get a free computer!
- SCIgen - An Automatic CS Paper Generator
Write scientific research papers easily...
- The
English-to-American Dictionary
Pretty good information on words.
- Central
Intelligence Agency & Director of Central Intelligence
- HealthyComputing - The Premier Source For Computer and
Office Ergonomics
- Telephone
Directory - Switchboard Internet Yellow Pages and White Pages -
Maps
USA only
- Character Counts
Character education resources
- Making Ethical Decisions
An online book
- ImageBank
Find images you want.
- Flickr
Share your photos with others. An online album.
- Open Clip Art
Library Drawing Together
The Open Clip Art Library aims to create an archive of user
contributed clip art that may be freely used. All graphics
submitted to the project should be placed into the Public Domain
according to the Public Domain statement created by the Creative
Commons. If you'd like to help out, please join the mailing list.
Also, browse the archives to review the project's history.
- Instant Messaging Emoticons
- CareerJournal.com | Resume Gallery
This explains the differences between resume styles as well as
their pros and cons.
- United States Patent and Trademark Office Home
Page
- Some Anagrams
- Anagrams
- Fun People
Humor
- Patently Silly - The Humor of Invention - presented by
Daniel Wright
- WORDCOUNT / Tracking the Way We Use Language /
WORDCOUNT. An interactive presentation of the 86,800 most common
words in the English language. By Jonathan J. Harris /
Number27
- IEEE Spectrum: Learn Like A Human
Why Can't A Computer Be More Like A Brain?
- American flag images (including print-ready)
- Public Domain Clip Art
- The Open
Video Project
- Star
Wars
You need to telnet to this server. You will then be able to watch
the movie. Really entertaining!
- Very
Funny Ads
- FREE printable templates for your home office or
business
From HP. Nice tool.
- As We May Think
By Vannevar Bush - An article about what scientists should do after
the war?
- goosh.org - the
unofficial google shell.
goosh is a google-interface that behaves similar to a
unix-shell.
- SCIgen - An Automatic CS Paper Generator
- The
Dialectizer
Browse the web or read text in any of several comic English
dialects. Pick from Redneck, Jive, Cockney, Elmer Fudd, Swedish
Chef, Moron, and Pig Latin.
- SUPER
CHIMNEY
- freesound
:: home page
Freesound: collaborative database of creative-commons licensed
sound for musicians and sound lovers. Have you freed your sound
today?