Software Architecture Document



Similar documents
Software Architecture Document

Data Repository (CRC) Cell

Software Architecture Document

Ontology Management (ONT) Cell

i2b2 Cell Messaging Project Management (PM) Cell

Project (Group) Management Installation Guide (Linux) Version 1.3. Copyright 2007 MGH

Identity Management Framework (IM) Cell

Project Management (PM) Cell

i2b2 Installation Guide

Customer Bank Account Management System Technical Specification Document

Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Various Load Testing Tools

Full VM Tutorial. i2b2 Desktop Installation (Windows) Informatics for Integrating Biology and the Bedside

ORACLE DATABASE SECURITY. Keywords: data security, password administration, Oracle HTTP Server, OracleAS, access control.

Windows Installation Guide

Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines

vcommander will use SSL and session-based authentication to secure REST web services.

Client/server is a network architecture that divides functions into client and server

CloudCERT (Testbed framework to exercise critical infrastructure protection)

Web Curator Tool Software Architecture Document

Databases Lesson 04 Client Server Computing and Adaptation

WebNow Single Sign-On Solutions

Remote Authentication and Single Sign-on Support in Tk20

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

PROGRESS Portal Access Whitepaper

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

Architecture and Mode of Operation

A collaborative platform for knowledge management

Authentication and Single Sign On

WebSphere Training Outline

1. Introduction 1.1 Methodology

An Oracle White Paper June Security and the Oracle Database Cloud Service

Chapter 2 Database System Concepts and Architecture

Using EMC Documentum with Adobe LiveCycle ES

CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide

IUCLID 5 Guidance and Support

Business Process Management

EUR-Lex 2012 Data Extraction using Web Services

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Service Manager and the Heartbleed Vulnerability (CVE )

Perceptive Experience Single Sign-On Solutions

WHITE PAPER. Domo Advanced Architecture

StreamServe Persuasion SP5 StreamStudio

Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL

MicrosoftDynam ics GP TenantServices Installation and Adm inistration Guide

A Monitored Student Testing Application Using Cloud Computing

Oracle Data Integrator: Administration and Development

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

SAML-Based SSO Solution

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

enterprise^ IBM WebSphere Application Server v7.0 Security "publishing Secure your WebSphere applications with Java EE and JAAS security standards

Getting started with OWASP WebGoat 4.0 and SOAPUI.

Centralized Oracle Database Authentication and Authorization in a Directory

SOA Software: Troubleshooting Guide for Agents

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

OpenLDAP Oracle Enterprise Gateway Integration Guide

TIBCO Spotfire Platform IT Brief

Architecture Guidelines Application Security

Exam Name: IBM InfoSphere MDM Server v9.0

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Link Analysis Tool Design Description Final Version

Client-server 3-tier N-tier

Novell Access Manager

Chapter 7, System Design Architecture Organization. Construction. Software

SERENA SOFTWARE Authors: Bill Weingarz, Pete Dohner, Kartik Raghavan, Amitav Chakravartty

STATE OF NEW HAMPSHIRE BUREAU OF PURCHASE AND PROPERTY 25 CAPITOL STREET - ROOM 102 CONCORD NEW HAMPSHIRE NOTICE OF CONTRACT REVISION

HP Project and Portfolio Management Center

SAML Security Option White Paper

SOA REFERENCE ARCHITECTURE: WEB TIER

Xerox DocuShare Security Features. Security White Paper

MicroStrategy Intelligence Server Configuration Table of contents

SECTION 1: INTRODUCTION

EMC Clinical Archiving

Session Service Architecture

For <Project> Version 1.0

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

December P Xerox App Studio 3.0 Information Assurance Disclosure

SwiftScale: Technical Approach Document

About Contract Management

Sports Management Information Systems. Camilo Rostoker November 22, 2002

1 What Are Web Services?

Oracle Communications Cartridge Feature Specification for Broadsoft Broadworks Enterprise Services

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

1 What Are Web Services?

Core J2EE Patterns, Frameworks and Micro Architectures

Building Java Servlets with Oracle JDeveloper

Oracle Database Security and Audit

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

EMC XDS Repository Connector for ViPR

CA Business Intelligence

Pentaho Reporting Overview

AGILEXRM REFERENCE ARCHITECTURE

FileMaker Server 11. FileMaker Server Help

A framework for web-based product data management using J2EE

HR Onboarding Solution

Secure the Web: OpenSSO

Transcription:

Software Architecture Document Project Management Cell 1.0 1 of 16

Abstract: This is a software architecture document for Project Management(PM ) cell. It identifies and explains important architectural elements. This document will serve the needs of stake holders to understand system concepts and give a brief summary of the use of the PM message format. Revision History Revision Date Author Description Number 1.0 8.27.07 Mike Mendis Version 1.0 2 of 16

Table of Contents Revision History............ 2 1. Overview............ 4 1.1. PM Definitions, Acronyms and Abbreviations.........5 1.1.1 Vocabulary Data Object (VDO)......... 5 1.2 User Role............ 5 1.3 Security............ 5 1.5 Assumptions/Constraints............5.6 Technical Platform............ 5 1.6.2 Security............ 6 1.6.3 Persistence............ 6 1.6.4 Reliability/Availability......... 6 1.6.5 Performance............ 6 2. Use Case............ 7 2.1 Operations............ 7 3. Architecture Description......... 7 3.1 Components and Connector View......... 8 3.1.1. Client-Server Style............8 3.2 Module View type............ 10 3.2.1 Decomposition Style...........10 3.2.2 Uses Style............ 11 3.3 Mappings of Styles............ 13 4. Data View............ 14 5. Deployment View............ 14 5.1 Global Overview............ 14 5.2 Detailed deployment model......... 15 References............ 16 3 of 16

1. Overview The Project Management cell (PM ) is an i2b2 Hive Core cell. This cell has two basic functions: to control user access to various services and to keep track of where these services are located. User access is determined by a user s role, which is a variable associated with a user that serves to define the actions that user may perform. The role may determine how much data to return and whether or not there is access to a particular service. The default role is user and there are other roles, such as manager, administrator, and protected_access, each with its own set of privileges regarding what data can be viewed. An individual i2b2 user has one or more roles. In addition, there is the concept of a target location or domain that further defines the environment and associated permissions. The target location is a variable that defines the PM server location to be accessed. When a person logs in to the i2b2 workbench, a login screen comes up that requires the username, password and target location to be entered. The target location is also called the domain and it is used to authenticate the user. The domain is actually shorthand for the domain name. i2b2 cells have mappings of domain names to URLs, which tell where the service is that will authenticate the user. If the domain does not exist in the lookup table, the person is not authenticated. If the domain exists, the user is authenticated. In effect, the mapping of domain name to url provides an extra layer of security to the authentication process. The PM cell next performs authorization, the process of determining the user s roles and permissions and privileges, and returns what the user is allowed to see. The message used by the PM cell for this information is get_user_configuration. 4 of 16

1.1. PM Definitions, Acronyms and Abbreviations 1.1.1 Vocabulary Data Object (VDO). 1.2 User Role The primary roles/participants in the PM system are as follows: User Authentication to verify that specific user is valid and authorization providing the proper roles and user specific information. Group Maintain all the projects for the hive and which user and roles are related to the project. Cell Services Maintain location of cell services and variables associated with that specific cell. 1.3 Security Users may access PM with a user-id and password combination, secure http (https) can be used to encrypt the username, password and all transmitted data to and from the PM cell. 1.5 Assumptions/Constraints.6 Technical Platform The technology used to build the product is as follows Java 2 Standard Edition 5.0 version 11 Oracle Server 10g database (optional) Apache Tomcat 5.5 GridSphere 2.2 Axis2.1.1 web service (SOAP/REST messaging) 5 of 16

1.6.2 Security The application must implement basic security behaviors: Authentication: Authenticate using at least a user name and a password Authorization: User may only access categories that they are allowed to by role Confidentiality: Sensitive data must be encrypted Data integrity : Data sent across the network cannot be modified by a tier Auditing: In the later releases we may implement logging of sensitive actions 1.6.3 Persistence This application utilizes JDBC calls to retrieve persisted data. 1.6.4 Reliability/Availability The Reliability/Availability will be addressed through the J2EE platform Targeted availability is 16/7: 16 hours a day, 7 days a week The time left (8 hours) is reserved for any maintenance activities 1.6.5 Performance The user authentication and authentication must be under 10 seconds. 6 of 16

2. Use Case The diagram below depicts common use cases a user may perform with the PM cell. 2.1 Operations The PM service is designed as a collection of operations, or use cases: get_user_configuration: returns a list of project and roles available for a given user. Also all the services cell information for the hive is provided 3. Architecture Description This section provides a description of the architecture as multiple views. Each view conveys the different attributes of the architecture. 1) Components and Connector View a) Client-Server Style 2) Module View a) Decomposition Style b) Uses Style 3) Data View 4) Deployment View 7 of 16

3.1 Components and Connector View A Components and Connector view represents the runtime instances and the protocols of connection between the instances. The connectors represent the properties such as concurrency, protocols and information flows. Following diagram represents the Components and Connector view for the multi-user installation. As seen below, component instances are shown in more detail with specific connectors drawn in different notations. 3.1.1. Client-Server Style The PM system is represented using the Client-Server view. 3.1.1.1 Primary Presentation Client i2b2 Workbench SOAP/REST Server Project Management Server JDBC db 8 of 16

3.1.1.2 Element Catalog Element Name Type Description i2b2 Workbench Client Component Webservice client submits the requests to PM Server components and renders response XML. Project Management Server Server Component ONT cell uses Project Management cell to authenticate user. ONT cell constructs PM request message and makes a web service call to Project Management Cell. db JDBC Web Service Data Repository Component Query Connector Request Connector This repository is a database for the cell, group, role and user information. SQL query used as a connector between the ONT System and the Metadata database. SOAP or REST protocol used to communicate with the external system. 3.1.1.2 Design Rationale, Constraints N-tier Architecture The client-server style depicts an n-tier architecture that separates the presentation layer from business logic and data access layer thus providing for a high degree of portability. 9 of 16

3.2 Module View type The module view shows how the system is decomposed into implementation units and how the functionality is allocated to these units. The layers show how modules are encapsulated and structured. The layers represent the allowed-to-use relation. Following sections describe the module view using Decomposition and Uses Styles. 3.2.1 Decomposition Style The Decomposition style presents system functionality in terms of manageable work pieces. It identifies modules and breaks them down into sub-modules and so on, until a desired level of granularity is achieved. 3.2.1.1 Primary Presentation System Project Management Server Segment Project Manager 3.2.1.2 Element Catalog Element Name Type Description project Manager Subsystem This subsystem manages queries for user and cell operations. 3.2.1.3 Context Diagram Project Management Server Project Manager 10 of 16

3.2.2 Uses Style The Uses style shows the relationships between modules and sub-modules. This view is very helpful for implementing, integrating and testing the system. 3.2.2.1 Primary Presentation System Segment Project Management Server PM Module Project Manager Subsystem PM Webservice Request Handler Request DAO User Data Object 3.2.2.2 Element Catalog Element Name Type Description PM Module Module Authenticates user through Gridsphere Server System PM Webservice Communication Module Provides web service interface to project manager operations. Request Handler Business Object Delegates Ontology requests to Data Access Object layer to perform database operations. Request DAO Data Access Supports database query operations. Object User Data Object Transfer Object Object representation of persisted data 11 of 16

3.2.2.3 Context Diagram Request Response PM Webservice PM Server uses Request Handler uses Request DAO encapsulates Database creates obtains User Data Object 12 of 16

3.2.2.4 Sequence Diagram Business Object Data Access Object Data Source 1. Create 2. Get Data 2.1. Get Data 2.2. Create Transfer Object 2.3. Return Object 3.3 Mappings of Styles The following table is a mapping between the elements in the Component & Connector Client-Server view shown in section 3.1.1, and the Modules Decomposition and Uses views shown in sections 3.2.1 and 3.2.2. The relationship shown is is-implemented-by, i.e. the elements from the C&C view shown at the top of the table are implemented by any selected elements from the Modules views, denoted by an X in the corresponding cell. PM Server Gridsphere Management Server PM Service X X PM Webservice X Request Handler X Request DAO X X User Data Object X Metadata Database 13 of 16

4. Data View The key data elements related to the PM system are: 5. Deployment View 5.1 Global Overview Database Server PM Client Internet WebServer Tomcat Application Server Webservice Gridsphere Service 14 of 16

5.2 Detailed deployment model Tomcat Application Server <<deployment> > <<deployment> <<deployment> > > <<deployment> > PM.aar I2b2project portlet default portlet PM-core.jar Database Server 15 of 16

References i2b2 (Informatics for Integrating Biology and the Bedside) https://www.i2b2.org/resrcs/hive.html 16 of 16