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