Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
F1
› Initial status
– Existing products with revenue streams and install bases
• PVCS VM, PVCS Dimensions – Source code control and process
• Tracker – Defect tracking
• Collage – Web Content Management
› Project Motivator
– New markets
– Single code base
– Integrated solutions
– Two projects nearing end of life
› Multiple groups
– Denmark
• Server, Architecture
– Oregon
• Clients, Defect tracking, Versioning
– London
• Process
› Unclear overall structure and responsibility breakdown
2 Presentation
Main Goals
3 Presentation
Other goals
4 Presentation
Timeline
› Jan 2002
– Initial formulation of concept
› Jan 2003
– Official start of development based on Collage
– Series of Engineering meetings between groups to agree
on architecture and design (every 3 months)
› June 2003
– Course correction, more ambitious in rel 1.
› May 2004
– Cancelled by Serena
5 Presentation
Public Web Service
F1 Server
Transport
Test
Server Interface Integrations
Framework
Content Mgmt.
Services
Requirements
Issue Mgmt.
Versioning
Workflow
Administration
Configuration
Authentication
Test case Licensing
Data …
Metadata
Repository
6 Presentation
Project and System
› System
– Installation configuration
System – System aspects
› Project Database
Project – RDMS specific
Database – Shared project aspects
› Project
– Users & groups
– Project configuration
Project
› Asset
– Asset types
– Generalized Asset concept
Asset – Relationships
– Permissions
– …
7 Presentation
F1 System features
System
› Installation configuration
– Installer
– DBMS host configuration
– Flexible installation topology
› User & Group management
– LDAP
– Authentication
› Capability registration
› Licensing of capabilities
› Disaster recovery
› Audit logging
– Security violations
– Configuration changes
– …
› Diagnostics
› Scheduled tasks management with mail notifications
› FTP & WebDav server
8 Presentation
F1 System services
System
› Database support
– Connection pooling
– Resource tracking and management
– Support for multiple DBMS
– XML wrapping of SQL thus abstracting SQL out of code
› User Interface framework
– Extensible client for new capabilities
– Localizable
– Infrastructure for main UI constructs for consistency
– Infrastructure to ensure efficient server communications
› Events
› Scripting
9 Presentation
F1 Project Databases Project
Database
10 Presentation
F1 Projects Project
11 Presentation
F1 Assets Asset
12 Presentation
F1 Capabilities
TBD
› Encapsulates business objects and related business
logic
– Objects implemented as F1 Assets
– Logic implemented as F1 Commands
› Self contained package
– Enabled by licensing
– Extends Server Interface with new functionality
– Extends Repository data model with new tables, columns
› Builds on F1 Server framework
› Built using F1 Capability SDK
13 Presentation
Interfacing to F1
› Server Interface
Java C++
Remote Remote
– “The” interface point
Server Interface Server Interface – Identical and collapsible In-
Transport Transport proc and Remote interface
• In-Proc (Java)
Socket / HTTP
Transport
In-Proc
Server Interface
F1
14 Presentation
Presentation Server on Server Interface
› UI Framework
Presentation Server
– Session Management
Administration
Configuration
Content Mgmt.
Issue Mgmt.
Versioning
• Track active workspace and
Workflow
other session states
• User preferences
F1-UI Framework
• Open SelectionSets
Server Interface VM CM IM WF
Transport • other Server Interface
resources
– Caching
• Frequently used metadata
Transport
• Project configuration
Server Interface VM CM IM WF
• Types (Mime, Asset,
Content Mgmt.
Services
Issue Mgmt.
Versioning
Workflow
Administration
Configuration
Contribution, …)
Authentication
Session Mgmt. – Load balancing
15 Presentation
Developing new capabilities
Capability Deliverables
› Client
– GUI desktop clients based on Server Interface
– Web application built on Presentation Server on Server Interface
› Server Interface
– Server Interface Capability object
– Remote and In-proc implementations
– Serializations for any payloads
› Server Capability
– Business Logic
– SQL Statements
– Data model schema
– Database upgrades
› Automated Test cases
› Well packaged functionality for other capabilities
– Versioned content storage from Versioning
17 Presentation
Data model for capability
Capability
– Asset
– Asset Types
– History
– Permission
– Project Users History
– Projects
–… Asset
18 Presentation
Data model
› Asset table
– Unified way of referencing various kinds of business
objects
• Allow requirements or issues to contain references to any
object type
– Allows storage of content through Asset system service
• Optionally versioned content
– Permissions, Asset history
› History table
– Logging of events
– Centralized reporting on events across capabilities and
object types
19 Presentation
Compromise Areas
20 Presentation
Defined model for business logic
21 Presentation