|
Update: September 4, 2008
Version 1.2 includes an application wiki; improved search and report generation capabilities; a guided tour that can be viewed without installation; and a decision modeling tutorial.
What is Architectural Decision Knowledge Wiki?
Capturing and sharing software architecture design rationale has always been particularly challenging in complex application domains such as enterprise computing. Because of the ongoing acceleration of technology innovation and economic forces such as outsourcing and offshoring, conservative knowledge management practices and existing tools are no longer sufficient; they offer only rudimentary support for knowledge exchange and collaboration on the Internet.
Architectural Decision Knowledge Wiki responds to these challenges. This Web 2.0 collaboration system supports the cooperative decision-making work of software architects. This situational application wiki has a layered client-server architecture; team members need only a Web browser in order to work with the system. The domain and database model extends that suggested by the IBM Unified Method Framework Artifact "Architectural Decisions (ARC 100)"; decision reports can be generated.
Architectural Decision Knowledge Wiki can be used for the following purposes:
- accelerating design activities through rapid reuse of knowledge (required activities, best practices)
- demonstrating delivery project excellence, improving quality of decision making and communication
- facilitating technical quality assurance reviews
- providing practitioner education
- supporting SOA (Service-Oriented Architecture) governance.
The download package contains the wiki software; related documentation such as installation instructions and administrator's and user's guide; frequently asked questions; decision capturing advice; several examples and tutorials introducing decision modeling concepts; and sample content.
The following features are currently supported:
- ability to create, read, update, and delete operations on projects, decision topics, architectural decisions, and alternatives
- ARC 100 work product generation (selected content, for direct inclusion in client deliverables)
- decision dependency management and relationship editor
- decision lifecycle management (decision scope, phase, role, and status attributes)
- import and export of projects and decisions
- searching and filtering by various attributes
- collaboration features such as comments, tags, and attachments.
The server part of the application wiki runs on Microsoft Windows® XP. On the client side, Mozilla Firefox and Microsoft Internet Explorer are the supported browsers.
How does it work?
Architectural Decision Knowledge Wiki is a rich Internet application (RIA). It extends a PHP-based wiki engine and application server with widgets and commands supporting architectural decision capturing and modeling.
Software architects and other team members can interface with the wiki using standard Web browsers such as Mozilla Firefox and Internet Explorer. The client part of the RIA runs inside these browsers and is implemented in JavaScript™ and Dojo. This client part communicates with the server part through Ajax sent over HTTP; the server part is implemented in PHP, following common architectural patterns such as layering and model-view-controller.
The extended ARC 100 domain model shines through on all three server layers: the presentation layer (wiki commands, master-details), the domain layer (object-oriented PHP, componentization), and the persistence layer (relational database, data gateway patterns). A RESTful service API is available so that the tool can be integrated with other tools (such as requirements management and process modeling tools), as well as with code generators. The tool's database provides an SQL interface.
For more information about architectural decision modeling and the domain
model, have a look at this developerWorks article.
|