Upload
martinfrid
View
219
Download
0
Embed Size (px)
Citation preview
8/14/2019 Copy of F1
1/21
F1 Server
8/14/2019 Copy of F1
2/21
Presentation2
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
8/14/2019 Copy of F1
3/21
Presentation3
Main Goals
A Server framework for developing businesscapabilities that interact on an intelligent andsignificant level
Platform for the company's enterprise products,Versioning, Issue Mgmt, Requirements Mgmt,
A server that includes functions that are consideredstandard in an enterprise solution
Based on generic parts of Collage Server. Redesignedas required to fit the architecture goals of F1
Multi-tier solution that provides end-endinfrastructure, from DBMS to clients
Support for major databases
8/14/2019 Copy of F1
4/21
Presentation4
Other goals
Allow multiple groups to work on different core serverlogic capabilities
Single code base
International support
Automated server testing
Centralized platform support
Scalable
8/14/2019 Copy of F1
5/21
Presentation5
Timeline
Jan 2002
Initial formulation of concept
Jan 2003
Official start of development based on Collage
Series of Engineering meetings between groups to agreeon architecture and design (every 3 months)
June 2003
Course correction, more ambitious in rel 1.
May 2004
Cancelled by Serena
8/14/2019 Copy of F1
6/21
Presentation6
Services
Administration
Configuration
Authentication
Licensing
Server Interface
Transport
Data accessConnection Pooling
TransactionsResource tracking
Oracle MS-SQL Sybase
Versioning
ContentMgmt.
IssueMgmt.
Requirements
Workflow
Revision
Library
F1 Server
Desktop Clients
IDE Integrations
Server Interface
Transport
Test
Framework
Test case
Data
Metadata
Repository
FTP & WebDav
Server Interface
Transport
Integrations
Server Interface
Transport
WebService
JSP Client
UI Framework
Public Web Service
8/14/2019 Copy of F1
7/21
Presentation7
Project and System
System
Installation configuration
System aspects
Project Database
RDMS specific
Shared project aspects
Project
Users & groups
Project configuration
Asset
Asset types
Generalized Asset concept
Relationships
Permissions
System
Project
Database
Project
Asset
8/14/2019 Copy of F1
8/21
Presentation8
F1 System features
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
System
8/14/2019 Copy of F1
9/21
Presentation9
F1 System services
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
System
8/14/2019 Copy of F1
10/21
Presentation1
F1 Project Databases
Created on a DBMS host
Configuration of content storage
Revision libraries
DBMS storage
Container for one or more projects Container for configurations across projects
Example: promotion model (versioning), asset typesetup (content management)
Management of Users, Groups & Permissions acrossprojects
Project
Database
8/14/2019 Copy of F1
11/21
8/14/2019 Copy of F1
12/21
Presentation1
F1 Assets
Asset is Reference point between capabilities
Everything is an asset: files, folders, issues, workflow tasks,requirements,
Assets are typed by mimetype, capability type
Additional capability specific data can be added
Asset types Hierarchy of types
Definition of properties system and capability required
Definition of Metadata user configurable
Fine grained permission control as asset by asset basis Modeled after Windows NT permission model
Audit log of asset related operations
User, time, operation, description Extendable by capabilities
System Asset service provide storage and linear versioning
Asset
8/14/2019 Copy of F1
13/21
Presentation1
F1 Capabilities
Encapsulates business objects and related businesslogic
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
TBD
8/14/2019 Copy of F1
14/21
Presentation1
Interfacing to F1
Server Interface
The interface point
Identical and collapsible In-proc and Remote interface
In-Proc (Java)
Remote (C++ or Java)
Pluggable transport HTTP and Socket
Designed to be efficient
Java C++
F1
In-Proc
Server Interface
Transport
Remote
Server Interface
Transport
Socket/HTTP
Remote
Server Interface
Transport
Presentation ServerIntegrations
8/14/2019 Copy of F1
15/21
Presentation1
Presentation Server on Server Interface
UI Framework
Session Management
Track active workspace andother session states
User preferences
Open SelectionSets other Server Interfaceresources
Caching
Frequently used metadata
Project configuration Types (Mime, Asset,
Contribution, )
Load balancing
Presentation Server
F1-UI Framework
Server Interface
Transport
Services
Administration
Configuration
Authentication
Session Mgmt.
Versioning
ContentMgmt.
IssueMgmt.
Workflow
VM CM IM WF
Server Interface
Transport
VM CM IM WF
Administration
Configuration
Versioning
ContentMgmt.
IssueMgmt.
Workflow
8/14/2019 Copy of F1
16/21
Developing new capabilities
8/14/2019 Copy of F1
17/21
Presentation1
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
8/14/2019 Copy of F1
18/21
Presentation1
Data model for capability
Capability data model should contain new tables fornew properties
Capability can refer/link into
Asset
Asset Types
History
Permission
Project Users
Projects
Capability
History
Asset
8/14/2019 Copy of F1
19/21
Presentation1
Data model
Asset table
Unified way of referencing various kinds of businessobjects
Allow requirements or issues to contain references to anyobject 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 andobject types
8/14/2019 Copy of F1
20/21
Presentation2
Compromise Areas
Extending existing tables vs. adding new
Integration of functionality and business logic acrosscapabilities
Data model upgrades
8/14/2019 Copy of F1
21/21
Presentation2
Defined model for business logic
Strict set of rules for any business logic command
Methods are Command object implementations
Command object handles
Database Connections, PreparedStatements,
Resource tracking and cleanup Transactions
Exception handling
Diagnostics
Error detection and reporting
Scripting and Event hooking (incomplete planning)
Database, platform and locale independent