codebeamer Architecture #2732969/HEAD / v911 |
Tags:
not added yet
codebeamer ArchitectureTable of Contents
IntroductionThis document describes the architecture and major components of codebeamer ALM. Overview
Architecture details
codebeamer: Architecture and Componentscodebeamer ALM is a layered web application that is built using several industry-proven technologies. The platform uses several open source frameworks. codebeamer consists of the following main layers and components:
A web container: Apache TomcatSince it is a web application, users working with codebeamer ALM are using their web browsers. codebeamer uses an Apache Tomcat web server as the container to process web request from users. Web requests are handled by the web controllers using the Spring Model-View-Controller The components of the application are managed by the most popular open source framework: Spring The web container also features functionality for accessing data managed by codebeamer ALM remotely, using an open Security LayerSecurity is a very important factor of enterprise applications such as codebeamer ALM. Security features are critical to control who can access what information in the system, and to control what operations are allowed for each user. Therefore, security is handled through the application starting from a top level Security layer. This layer handles Authentication (e.g. answers the question Who are you?), and the Authorization of each user (What are you allowed to do?). This is the first line of the defense over the web controller layer. Combined with the various security and permission checks implemented throughout the core of codebeamer ALM, this gives perfect confidence over security and access control. Security is configured throughout the application on various levels: system administrators can configure global security Groups for users which can be detailed granularly (down to projects by Project Managers using Roles). Various permission tokens can be granted to these entities (Groups/Roles/Users). By checking the existence of such tokens, the system can decide if the user is permitted to view certain pieces of information, or to execute certain actions. For more details see: codebeamer ALM Corecodebeamer's core is built as a traditional layered architecture, where the top level is a set of manager services covering the various functional areas of the application (such as a manager service for Tracker operations, or a manager service for Test Management). Each manager service is communicating with various DAO Data is modelled through traditional DTOs History, Auditing and complete Traceabilitycodebeamer ALM is designed to keep track of each item's history of changes, both in terms of content and meta data (e.g. information about when and who made the change). Therefore, users can see what happened to all work items in the past and can compare versions or even go back to certain steps in the artifact's history. This helps keep track of changes and verify the most valuable data in the system. Relying on this feature, compliance audits can simply verify what is and has been happening to the requirements, test cases, and all other work items. Traceability User Management and LDAP/Active Directorycodebeamer ALM contains a For many enterprises there is a need for central User Management, which is also supported by codebeamer ALM via synchronizing Searching and Reportingcodebeamer ALM implements several techniques to allow users to efficiently find any information they need. These are:
Workflow enginecodebeamer ALM's core contains a custom-built workflow engine. This engine allows users to add and customize Workflows Wiki engine with Wiki pluginsIn order to make sure the developed product is of high quality and fits user specifications, the requirements descriptions also need to be complex and rich. Wikis provide an easy way/markup/syntax to write complex pages quickly. codebeamer ALM includes a powerful Wiki engine based on a fork of JSPWiki The Wikis are used for example to:
Event engineAny changes in work items, wiki pages, or other artifacts within codebeamer ALM (whether due to user actions or system automation events) triggers internal events in codebeamer's core. These events may then be used by the system to send notification emails to the affected user(s), to update the affected artifact's history, or to enable communication between system components. The Event engine may be customized, so in case custom automation processes or synchronization with external systems are necessary, Background jobsAs with any complex and large system, sometimes codebeamer ALM must perform periodical cleanups, scheduled jobs, or other time-consuming background processes. These are performed by the built-in Scheduler/Job engine. Some examples are:
SCM Management: Managed Repositories and SCMLoopcodebeamer's Managed Repository features:
It is also possible to integrate codebeamer ALM with external repositories which are not managed directly by the system. This requires that the external repository is instrumented by SQL databasescodebeamer ALM uses an SQL database for storing most of its model data. Currently The codebeamer core automatically manages the various database aspects like schema installation and upgrades, indexing, query optimization, caching, and transactions. The platform's built-in For the best performance, the database system and codebeamer ALM should be configured to use the same high-speed network with low latency times. For optimal performance, advanced fetching techniques like paging and data caching is used on various levels throughout the application. File systemcodebeamer may use disk storage for non-transactional data or large files. An example is Document Management, where big files can be more efficiently stored/retrieved on the native file-system than in SQL databases. SCM tools use their native format (a Git repository is stored on the filesystem), but their information is automatically synchronized with the SQL database by using the appropriate event hooks or change listeners (such as SCMLoop). Another native disk storage is the Lucene search engine Performance Test Results
|
Fast Links
![]() codebeamer Overview codebeamer Knowledge Base Services by Intland Software |
This website stores cookies on your computer. These cookies are used to improve your browsing experience, constantly optimize the functionality and content of our website, furthermore helps us to understand your interests and provide more personalized services to you, both on this website and through other media. With your permission we and our partners may use precise geolocation data and identification through device scanning. You may click accept to consent to our and our partners’ processing as described above. Please be aware that some processing of your personal data may not require your consent, but you have a right to object to such processing. By using our website, you acknowledge this notice of our cookie practices. By accepting and continuing to browse this site, you agree to this use. For more information about the cookies we use, please visit our Privacy Policy.Your preferences will apply to this website only.
Note that user-behavior analytics are being captured on this server for the purpose of improving the Codebeamer user experience.