USER GUIDE | PUBLIC SAP PowerDesigner Document Version: 16.7.00 – 2020-04-03

PowerDesigner Web SAP PowerDesigner Documentation Collection company. All rights reserved. affiliate

THE BEST RUN 2020 SAP SE or an SAP © Content

1 PowerDesigner Web...... 7

2 Working with Models and Diagrams in PowerDesigner Web...... 9 2.1 Creating a Model...... 11 2.2 Searching for Diagrams or Objects...... 12 2.3 Viewing Diagrams...... 14 Navigating in the Model Structure...... 17 Viewing Lists...... 18 Object Properties...... 19 Commenting on Diagrams...... 20 Sharing, Printing, Reporting On, and Exporting Diagrams...... 22 Applying Heat Map Coloring to a Diagram...... 22 Generating a Report on a Model...... 25 Comparing Model Versions...... 26 Keyboard Shortcuts...... 27 2.4 Editing Diagrams...... 30 Creating Objects in a Diagram...... 33 Creating and Editing Objects in a List...... 35 Creating Additional Diagrams in a Model...... 36 Importing Objects from CSV Files...... 37 Formatting Symbols...... 41 Auto-Layout for Diagrams and Composite Symbols...... 48 Reusing Objects ...... 51 Referencing an Object in an Info Tab Property Field...... 55 Referencing Objects in Lists on the Dependencies Tab...... 55 Verifying Diagrams...... 56 Reviewing Models for Publication...... 60 Publishing Models...... 61 2.5 Impact and Lineage Analysis...... 63 Customizing the Analysis Rules...... 66 2.6 Translating Models and Viewing Translated Models...... 69 2.7 Model-to-Model Generation...... 71 2.8 Browsing The Repository...... 71 Creating a Chart...... 73 Uploading and Working with External Files...... 75 Renaming, Moving, and Deleting Repository Items...... 75 Subscribing to Change Notifications...... 76

PowerDesigner Web 2 PUBLIC Content Object Names and Codes...... 76 Transferring Content Between Repositories...... 77 Understanding Document Permissions...... 79 2.9 Viewing Charts...... 80 EA Example Charts...... 81

3 Requirements...... 85 3.1 Requirement Diagrams...... 87 3.2 Requirements (RQM)...... 89 Linking Requirements with Design Objects...... 90 Assigning Workloads...... 91 3.3 Users and Groups (RQM)...... 91 Adding Users and Groups to a Group...... 92 3.4 Importing Requirements from a ReqIF File...... 92 3.5 Exporting Requirements to a ReqIF File...... 95 3.6 Importing Requirements from a Word Document...... 95 Creating a New Requirements Model...... 95 Updating an Existing Requirements Model...... 96

4 ...... 97 4.1 Structuring EAM Objects...... 98 4.2 Linking EAM Objects...... 103 4.3 Analyzing EAM Objects with Criteria...... 105 4.4 Visualizing EAM Objects in Computed Diagrams...... 107 4.5 Reusing Objects in an EAM...... 113 4.6 Organization Architecture Modeling...... 115 Sites (EAM)...... 115 Organization Units (EAM)...... 116 People (EAM)...... 118 Roles (EAM)...... 120 4.7 Business Architecture Modeling...... 121 Business Capabilities...... 121 Process Groups and Business Processes...... 124 Value Streams and Value Flows...... 128 4.8 Application Architecture Modeling...... 129 Systems and Applications (EAM)...... 130 Databases (EAM)...... 132 Components (EAM)...... 133 Documents and Reports (EAM)...... 134 Forms (EAM)...... 135 ETL Jobs (EAM)...... 136 Contracts (EAM)...... 138

PowerDesigner Web Content PUBLIC 3 Application and Business Services (EAM)...... 138 Data (EAM)...... 141 4.9 Infrastructure Architecture Modeling...... 142 Servers, Workstations, Mobile Devices, and Network Nodes (EAM)...... 143 Networks (EAM)...... 146 Deployment Instances (EAM)...... 147 4.10 Goal and EA Project Modeling...... 149 Goals (EAM)...... 150 Programs, Projects, and Phases (EAM)...... 151

5 Business Process Architecture...... 153 5.1 BPMN 2.0...... 153 BPMN 2.0 Descriptive...... 153 BPMN 2.0 Executable...... 166 5.2 Importing SAP Solution Manager 7.2 Process Diagrams...... 185 Exporting Diagram Changes to Solution Manager...... 186 Updating Diagram Changes from Solution Manager...... 187 5.3 Process Maps...... 188 Creating a Multi-Level Process Map...... 192

6 Information Architecture...... 193 6.1 Conceptual Data...... 193 Entities...... 194 Relationships...... 199 Inheritances...... 201 Associations...... 203 Structured Types...... 205 Data Items...... 206 Generating a CDM to a PDM...... 208 6.2 Physical Data (Databases)...... 217 Migrating a Database to SAP HANA...... 219 Reversing Calculation Views for Impact Analysis...... 220 SAP HANA 2.0 Deployment Infrastructure (HDI)...... 221 SAP HANA 2.0 Database...... 249 SAP Big Data Services...... 266 SAP SQL Anywhere 17...... 267 Oracle 12c...... 276 Microsoft SQL Server 2016...... 283 IBM DB2 v11 for z/OS...... 306 Teradata 15...... 313 Hadoop Hive 2...... 324 Common Database Objects...... 324

PowerDesigner Web 4 PUBLIC Content Reverse-Engineering a Database...... 344 Generating to a Database...... 347 Generating a PDM to a New PDM...... 348 Generating Models using the CSN notation...... 349 6.3 NoSQL...... 351 Document Schemas (NoSQL)...... 352 Complex Structures (NoSQL)...... 353 Properties (NoSQL)...... 355 Reverse-Engineering JSON Schemas...... 357 Generating JSON Schemas...... 358 6.4 Data Movement...... 358 Database Inputs...... 360 Data Transformation Steps...... 360 Database Outputs...... 363 Reverse-Engineering FlowGraph Files...... 363 Generating FlowGraph Files...... 364 6.5 Identifying and Documenting Personal Data...... 365

7 Common Objects...... 367 7.1 Business Rules...... 367 Attaching a Business Rule to an Object...... 368 7.2 Areas...... 368 7.3 Packages ...... 369 7.4 File Objects...... 370 7.5 Traceability Links...... 371

8 Installing and Administering PowerDesigner Web ...... 372 8.1 Installing the PowerDesigner Web Server...... 372 8.2 Controlling Repository Access...... 375 Creating Repository Users...... 378 Managing Externally-Authenticated Repository Users...... 380 Creating Repository Groups...... 382 Granting Privileges to Users and Groups...... 385 Granting Access Permissions on Repository Items...... 386 Pushing Diagrams and Folders to Users' Homepages...... 387 Unblocking Blocked Users ...... 388 Deactivating Users...... 388 Obtaining Emergency Access to the Repository...... 389 8.3 Configuring the PowerDesigner Web Server...... 390 Connecting to the Database Server...... 390 Connecting to a License Server...... 392 Connecting to an LDAP Server for User Authentication...... 392

PowerDesigner Web Content PUBLIC 5 Connecting to an SMTP Server for Notifications...... 395 Defining a Password Policy...... 396 Enabling Secure Connections (SSL/TLS) for PowerDesigner Web...... 398 Enabling Single Sign-On for PowerDesigner Web...... 405 Configuring the Full-Text Search Index...... 408 Configuring Other PowerDesigner Web Parameters...... 408 8.4 Monitoring Repository Activities...... 413 Defining a Retention Policy for Log Data...... 414 8.5 Using APIs...... 415 Enabling the OAuth 2.0 Client Credentials Flow...... 415 Exporting Repository Content Using an API...... 416 8.6 Customizing Modeling Objects...... 416 Creating Custom Properties...... 417 Creating Custom Dependencies...... 419 Customizing Lists of Values...... 421 Renaming Standard Object Types...... 422 Customizing Object Property Sheets...... 422 Creating Custom Object Types...... 424 Creating Custom Extension Files...... 425 Attaching a Custom Extension File to a Model...... 426 Making Your Customizations Available in the New Model Dialog...... 426

PowerDesigner Web 6 PUBLIC Content 1 PowerDesigner Web

PowerDesigner Web lets you browse, create, and edit PowerDesigner diagrams and objects through a Web browser.

PowerDesigner Web supports the creation and editing of the following kinds of models:

● Business Process - Business process models help you identify, describe, and decompose business processes. PowerDesigner Web supports two variants of BPMN 2.0: ○ BPMN 2.0 Descriptive - Commonly used by process owners, BPMN 2.0 Descriptive is aimed at business users and contains a subset of the BPMN 2.0 objects suitable for business process design and analysis. See BPMN 2.0 Descriptive [page 153]. ○ BPMN 2.0 Executable - Commonly used by process implementers, BPMN 2.0 Executable includes all the standard BPMN 2.0 objects, and is aimed at technical modelers and those who are reverse- engineering from SAP BPM or BPMN2 Modeler. See BPMN 2.0 Executable [page 166]. In addition, you can import processes from and export updates to SAP Solution Manager 7.2. See Importing SAP Solution Manager 7.2 Process Diagrams [page 185]. ● Conceptual Data - Conceptual data models help you design and analyze the conceptual structure of your information systems, to identify the principal entities to be represented, their attributes, and the relationships between them. See Conceptual Data [page 193].

PowerDesigner Web PowerDesigner Web PUBLIC 7 ● Data Movement - Data movement models help you design and analyze the transfer of data between data stores, and the transformations that they undergo on the way. You can reverse-engineer flowgraph files from and generate them to SAP Web IDE. See Data Movement [page 358]. ● Enterprise Architecture - Enterprise architecture models help you analyze and document your organization, its capabilities and processes, the applications and systems that support them, and the physical architecture on which they are implemented. See Enterprise Architecture [page 97]. ● NoSQL Document Schema (JSON) - NoSQL models help you design, analyze, and document the JSON structures that are accepted and generated by your systems. You can reverse-engineer JSON schemas (or derive them from JSON documents) and generate JSON schema files. See NoSQL [page 351]. ● Physical Data - Physical data models help you design and analyze the structure of your databases. You can reverse-engineer any supported database and generate to SAP HANA. See Physical Data (Databases) [page 217]. ● Process Map - A process map provides a graphical view of your business architecture, and helps you identify your business capabilities and high-level processes, independent of the people and business units who fulfill them. See Process Maps [page 188]. ● Requirements - Requirements documents display a hierarchical list of written requirements. See Requirements [page 85].

PowerDesigner Web supports consuming your content through:

● Browsing diagrams and model objects online (see Viewing Diagrams [page 14]). ● Sharing links to diagrams, printing them, and exporting them as SVG images or PowerPoint slides (see Sharing, Printing, Reporting On, and Exporting Diagrams [page 22]). ● Generating reports on your diagrams and model objects (see Generating a Report on a Model [page 25]). ● Highlighting diagram symbols based on dependencies or criteria (see Applying Heat Map Coloring to a Diagram [page 22]). ● Running an impact analysis on model objects (see Impact and Lineage Analysis [page 63]). ● Posting comments to diagrams and model objects (see Commenting on Diagrams [page 20]).

PowerDesigner Web works with the following Web browsers:

● Chrome ● Firefox ● Edge

 Note

There are a number of known display issues when using Edge. We recommend that Windows users use Chrome instead.

● Safari for macOS ● Mobile Safari for iOS

PowerDesigner Web 8 PUBLIC PowerDesigner Web 2 Working with Models and Diagrams in PowerDesigner Web

To visit PowerDesigner Web, navigate to the URL indicated to you by your administrator and, if required, enter your user name and password.

● The homepage provides access to all the features of PowerDesigner Web. The following cards may appear: ○ Quick Links Card - Lists common commands and favorite folders: ○ Create New Model - To create your own models (see Creating a Model [page 11]). ○ Browse 'Repository' - To access the full repository contents (see Browsing The Repository [page 71]). You can add shortcuts to other folders by favoriting them in the Repository Explorer. ○ Open Dashboard - To access all the charts defined on repository models (see Viewing Charts [page 80]). ○ Worklist cards - List diagrams that you are editing or have submitted or that have been sent to you for comment or review: ○ My Work in Progress - Lists models that you are currently editing. Click the list item to open the model for editing or submission (see Editing Diagrams [page 30]) or click the X to delete your changes and remove it from the list. ○ Submitted Models - Lists models that you have submitted for publication and that are awaiting review. You can open a submitted model for viewing, but you cannot edit it. ○ Invitations to Comment - Lists draft models to which you have been invited to comment before they are submitted for publication. Click a model to open it for comment (see Commenting on Diagrams [page 20]). ○ Invitations to Review - Lists draft models that have been submitted to you for review for publication. Click a model to open it for review (Reviewing Models for Publication [page 60]).

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 9  Note

If your administrator has configured PowerDesigner Web to send emails, then you will receive an email when a model arrives in your workspace for comment or review, when comments are posted to your models, and when your models are approved or rejected for publication.

○ Diagram Cards - Provide direct access to diagrams. The icon changes when the diagram's parent model enters one of your worklists. These cards may be pushed to your homepage by an administrator, and you can add your own by favoriting diagrams in the diagram viewer (see Viewing Diagrams [page 14]) or the homepage Recently Viewed carousel. To remove a card, hover over it and click the Remove button in the top-right corner. ○ Recently Viewed - Lists diagrams that you have viewed or edited. Click the card to open a carousel containing your recently viewed diagrams. Click a card in the carousel to open the diagram, or click the star at the bottom of the card to add the diagram to your homepage.

 Note

You can reorganize the order of the cards by drag and drop but the page is constrained to show a similar number of cards in each column.

● In the navigation panel: ○ Click Home to return to this page ○ Click Repository Explorer to browse for models, diagrams, and objects (see Browsing The Repository [page 71]). ○ Click Diagram Viewer to view open diagrams (see Viewing Diagrams [page 14]). ○ Click Impact Analysis to view open analysis diagrams (see Impact and Lineage Analysis [page 63]). ○ Click Activities to view your repository activities (see Monitoring Repository Activities [page 413]). ○ Click Customize to view model extensions (see Customizing Modeling Objects [page 416]). ○ Click Administration to administer the repository (see Installing and Administering PowerDesigner Web [page 372]). ● In the top toolbar: ○ Click the Search button to search the repository contents (see Searching for Diagrams or Objects [page 12]). ○ Click your name to access configuration options: ○ Manage Cards - Show or hide cards in your homepage. ○ User Account - Review the information stored for your repository user account. Click Download to download the information. ○ Change Password - (If your user is controlled by PowerDesigner Web).

 Note

Account names and passwords managed by PowerDesigner are case-sensitive and must only contain standard ASCII characters.

○ Language - Change the user interface language. The PowerDesigner UI is available in the following languages: ○ English ○ German ○ Spanish ○ French

PowerDesigner Web 10 PUBLIC Working with Models and Diagrams in PowerDesigner Web ○ Portuguese ○ Russian ○ Simplified Chinese ○ About - Obtain version information for PowerDesigner . ○ Help - Access this help. ○ Log Out

2.1 Creating a Model

If you have Submit or higher permission on a repository folder, you can create a new model. Each model can contain one or more diagrams.

Procedure

1. Click the Create New Model item in the homepage Quick Links card. 2. In the left pane, navigate to the repository location where you want to create the model. You must have at least Submit permission (see Understanding Document Permissions [page 79]) for the location where you want to create the model.

 Note

You can also create models in the repository explorer, by navigating to the folder where you want to create the model, clicking the Diagrams tab, and then clicking the + tile (or clicking the menu button and selecting Create New Model).

3. Enter a name for the model, and select the type of model to create: ○ Business Process - Business process models help you identify, describe, and decompose business processes. PowerDesigner Web supports two variants of BPMN 2.0: ○ BPMN 2.0 Descriptive - Commonly used by process owners, BPMN 2.0 Descriptive is aimed at business users and contains a subset of the BPMN 2.0 objects suitable for business process design and analysis. See BPMN 2.0 Descriptive [page 153]. ○ BPMN 2.0 Executable - Commonly used by process implementers, BPMN 2.0 Executable includes all the standard BPMN 2.0 objects, and is aimed at technical modelers and those who are reverse- engineering from SAP BPM or Eclipse BPMN2 Modeler. See BPMN 2.0 Executable [page 166]. In addition, you can import processes from and export updates to SAP Solution Manager 7.2. See Importing SAP Solution Manager 7.2 Process Diagrams [page 185]. ○ Conceptual Data - Conceptual data models help you design and analyze the conceptual structure of your information systems, to identify the principal entities to be represented, their attributes, and the relationships between them. See Conceptual Data [page 193]. ○ Data Movement - Data movement models help you design and analyze the transfer of data between data stores, and the transformations that they undergo on the way. You can reverse-engineer flowgraph files from and generate them to SAP Web IDE. See Data Movement [page 358].

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 11 ○ Enterprise Architecture - Enterprise architecture models help you analyze and document your organization, its capabilities and processes, the applications and systems that support them, and the physical architecture on which they are implemented. See Enterprise Architecture [page 97]. ○ NoSQL Document Schema (JSON) - NoSQL models help you design, analyze, and document the JSON structures that are accepted and generated by your systems. You can reverse-engineer JSON schemas (or derive them from JSON documents) and generate JSON schema files. See NoSQL [page 351]. ○ Physical Data - Physical data models help you design and analyze the structure of your databases. You can reverse-engineer any supported database and generate to SAP HANA. See Physical Data (Databases) [page 217]. ○ Process Map - A process map provides a graphical view of your business architecture, and helps you identify your business capabilities and high-level processes, independent of the people and business units who fulfill them. See Process Maps [page 188]. ○ Requirements - Requirements documents display a hierarchical list of written requirements. See Requirements [page 85]. 4. Click Create to create your model and open it in the Diagram Editor. Use the tools in the toolbox to draw your diagram (see Editing Diagrams [page 30]). 5. Click Save at any time to save the current state of your model. After saving you can navigate away from or close the window. Your draft model will not be available to other users, but is listed in the My Work in Progress section of your homepage (see Working with Models and Diagrams in PowerDesigner Web [page 9]). 6. [optional] Invite other users to comment on your model before publication (see Commenting on Diagrams [page 20]). 7. [optional] Verify that the model conforms with the appropriate modeling rules (see Verifying Diagrams [page 56]).

8. When your model is complete, click Publish Submit Changes to submit it for review before publication or, if you have permission, Publish Publish to publish it directly (see Publishing Models [page 61]).

2.2 Searching for Diagrams or Objects

You can search for any diagram or object from most screens. You can filter by location, model and object type and many other properties, and then review an object's properties, open a diagram, or export your results to a CSV or PDF file.

Procedure

1. Click the Search button in the application header bar to open the Search dialog.

PowerDesigner Web 12 PUBLIC Working with Models and Diagrams in PowerDesigner Web

2. Enter the text you want to find in the Search field at the top of the dialog and click the Search button.

The search results are displayed: ○ Click an object to select it. If the property pane is open, its property sheet is displayed. ○ Click the Open button to open the selected object in its diagram. If the object appears in multiple diagrams, a dialog is displayed to allow you to choose which one to open.

The following tools are available above the list of results:

Tool Description

Group - Groups objects by type.

Export to CSV - Exports the list of results to a CSV file.

Export to PDF - Exports the list of results to a PDF file.

Hide Properties / Show Properties - Hide or show the Properties panel, which provides detailed infor­ mation about the selected object.

3. [optional] On the Location tab in the top-left corner, navigate to a particular folder, branch, project, or model in the repository tree to restrict the search to its contents.

The results are cleared. Click the Search button to search again. 4. [optional] On the Filter tab in the top-left corner, add appropriate property filters to restrict the search by these criteria:

○ Model Type - For example, to search only for tables, views, and columns, select Physical Data Model.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 13 ○ Object Type - For example, to search only for tables, select Table.

 Note

You must select a Model Type before you can select an Object Type.

○ Any other property - Click Add Filter to add a property/value pair to filter by.

 Note

The available properties depend on the selected Object Type. You can filter by most properties appearing in the Info tab, but not on properties referencing an object.

The results are cleared. Click the Search button to search again. 5. [optional] Use the in list to the right of the search field to specify which text fields you want to search for your search string in:

○ Name Only - [default] To search for objects by their human-readable names. ○ Code Only - To search for objects by their technical names. ○ All Fields (Full Text) - To search in all text fields, including Name, Code, Comment, Description, and Annotation. In full text mode, the following kinds of search string are supported:

Search String Results

top Contains the string top. Returns top, stop, and tops.

top bottom Contains top or bottom.

"top bottom" Contains the phrase top bottom.

top AND bottom Contains both top and bottom.

top AND NOT Contains top and does not contain bottom. bottom

t?p ? is a wild card for a single character. Returns tip, tap, and top.

t*p * is a wild card for one or more characters. Returns tip, tap, top, and temp.

top~ Contains words similar to top.

2.3 Viewing Diagrams

The Diagram Viewer lets you view and comment on model diagrams.

You can open a diagram from:

● The homepage (see Working with Models and Diagrams in PowerDesigner Web [page 9])

PowerDesigner Web 14 PUBLIC Working with Models and Diagrams in PowerDesigner Web ● The Repository (see Browsing The Repository [page 71]) ● The Search dialog (see Searching for Diagrams or Objects [page 12]).

In each case, the diagram opens in a new tab in the Diagram Viewer.

● In the diagram panel: ○ Click and drag to move around the diagram. Use your mouse wheel to zoom in and out. Click the Show Overview arrow in the bottom-right corner to display the Overview panel, which helps you navigate in large diagrams. ○ Select a symbol or link to display the object's properties in the Properties panel at right (see Object Properties [page 19]). ○ Click the + symbol in the bottom-center of a symbol to open its sub-diagram or related diagram in a new tab. ○ Click the diagram background and then click the Add to Homepage star above the property sheet to add the diagram as a card in your homepage. ● The following tools are available above the diagram:

Tool Description

Model Explorer - Navigate in the model structure. To go down into a sub-package, click the down arrow and select it. To go up to a parent package or object, click it in the breadcrumb trail (see Navigating in the Model Structure [page 17]).

View Selector - Select views available in the current package. Each package contains one or more diagrams and an object lists view.

Hide Properties / Show Properties - Hide the Properties panel and maximize the Diagram panel or show the Properties panel (see Object Properties [page 19]).

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 15 Tool Description

Heat Map - Apply heat map coloring to the diagram (see Applying Heat Map Coloring to a Diagram [page 22]).

Share - (see Sharing, Printing, Reporting On, and Exporting Diagrams [page 22]). Select:

○ Share Link - Obtain a shareable link to the diagram or object.

○ Print Diagram - Generate a printable image of the diagram.

○ Export Diagram as Image - Save the diagram to an SVG file.

○ Export Diagram to PowerPoint - Download the diagram as a *.pptx file for opening in Microsoft PowerPoint 2013 or higher.

○ Generate Report - Generate a report from the diagram (see Generating a Report on a Model [page 25]).

○ Export to Repository Zip File - Download a zip file of the model for importing to another repository (see Transferring Content Between Repositories [page 77]).

Show Comments - Open the Comments panel and review or add comments (see Commenting on Diagrams [page 20]). Select an object in the diagram to show only the comments attached to it, or click the diagram background to show all the comments.

Content Language - Select an alternative language in which to view the diagram content (see Translating Models and Viewing Translated Models [page 69]).

Edit Edit - [editable diagrams] Open the diagram for editing (see Editing Diagrams [page 30]).

Menu - Select:

○ Show Model Object Lists - Open the model property sheet Children tab to list all the ob­ jects in the model that contains the diagram.

○ Impact and Lineage Analysis - Open an analysis diagram showing the dependencies of the selected object (see Impact and Lineage Analysis [page 63]).

○ Subscribe to Change Notifications - Subscribe to receive an email each time the diagram is updated (see Subscribing to Change Notifications [page 76]).

○ Export/Generate - Certain diagrams allow exporting or generating to a file or system.

○ Help - Open the application help.

PowerDesigner Web 16 PUBLIC Working with Models and Diagrams in PowerDesigner Web 2.3.1 Navigating in the Model Structure

A model acts as a container for its diagrams and any objects they contain. Models can be subdivided into packages to represent different tasks or subject areas. Each model and package has one or more diagrams, along with lists of the objects it contains. In some types of models, other objects can also contain diagrams. You can navigate in the model structure and open diagrams and lists in new tabs using the breadcrumbs and view selector in the diagram toolbar.

In this example, the ACME Landscapes model contains a package, Sales, which contains a sub-package Floorplans, which in turn contains the Executive View diagram, which is the tab that is currently in focus in the diagram viewer:

● To open a diagram in the next level down in the model package structure, click the down arrow between the breadcrumbs and the view selector and select a child package. Alternatively, click the plus sign in the bottom of the package symbol. ● To open a diagram inside another object (such as a process), click the plus sign in the bottom of its symbol. ● To open a diagram higher up in the model structure, click the model or one of the packages or objects in the breadcrumbs. ● To open another view at the current level of the model structure, click the view selector and select a diagram or the Object Lists item, which provides a tabular view of the objects (see Viewing Lists [page 18]).

Each view opens in a new tab. You can close tabs as necessary. If you close the last open tab in a model containing changes, you will be prompted to save it.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 17 2.3.2 Viewing Lists

The List Viewer lets you view your model objects in tabular form. To open the List Viewer from a diagram, click the View Selector control in the top toolbar and select Object Lists.

● In the filter bar: ○ To move between different lists, click the Select Variant arrow in the List Viewer header. ○ Enter text in the Search field to filter the list by any visible column. ○ Click the Filters link to add properties to filter on. ● In the list tool bar:

Tool Description

N/A Use the checkboxes to include: ○ Sub-Packages - Include objects located in sub-packages below this model or package. ○ Shortcuts - Include objects defined in other models or packages and re-used in this pacakge ○ Sub-Objects - Include objects that are children of the objects in the list. This option can show the contents of composite objects like business capabilities that are decomposed into sub-capabili­ ties or processes that are decomposed into sub-processes.

Export to CSV - Export the list contents to a CSV file. By default only the current list will be supported, but you can select other lists or in the Object Types drop-down to export multiple lists in a zip file.

 Note

To control the columns that are visible and which will be exported, use the Customize Columns tool before exporting. Any filters are not taken into account. All the objects in the list will be ex­ ported.

PowerDesigner Web 18 PUBLIC Working with Models and Diagrams in PowerDesigner Web Tool Description

Customize Columns - Control the columns that are displayed in the list.

● In the view toolbar above the list:

Tool Description

Model Explorer - Navigate in the model structure. To go down into a sub-package, click the down ar­ row and select it. To go up to a parent package or object, click it in the breadcrumb trail (see Navigat­ ing in the Model Structure [page 17]).

View Selector - Select views available in the current package. Each package contains one or more dia­ grams and an object lists view.

Hide Properties / Show Properties - Hide the Properties panel and maximize the Diagram panel or show the Properties panel (see Object Properties [page 19]).

Content Language - Select an alternative language in which to view the diagram content (see Translat­ ing Models and Viewing Translated Models [page 69]).

Edit Edit - [editable diagrams] Open the diagram for editing (see Editing Diagrams [page 30]).

Menu - Select:

○ Impact and Lineage Analysis - Open an analysis diagram showing the dependencies of the selected object (see Impact and Lineage Analysis [page 63]).

○ Help - Open the application help.

2.3.3 Object Properties

You can review the properties of an object in the Properties panel, which is available in the Repository and Diagram viewers.

These tools are available in the property panel header:

Tool Description

Previous Property Sheet - Navigates to the previously viewed property sheet.

Open Diagram - Opens the diagram in which the object appears, centered on the object. If the ob­ ject appears in multiple diagrams, a dialog is displayed to allow you to choose which one to open.

Show/Hide Section - Lists all the sections that can be displayed on the tab, with checkmarks against those currently visible. Select a section to show or hide it.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 19 Tool Description

Go To Section - Lists all the sections currently displayed on the tab. Select a section to go to it.

These tabs organize the properties of the object:

● Info - Contains core information for identifying and defining the object. ● Children - Lists objects that belong to the object. For example, a system can contain sub-systems and other objects or a physical data model table contains columns and indexes. ○ Click an object name in a list to navigate to the property sheet of that object. ○ When in the diagram viewer in Edit mode, you can create child objects in the lists on this tab. ● Dependencies - Lists the objects to which the object is connected and on which it depends or which depend on it. ○ Click an object name in a list to navigate to the property sheet of that object. ○ When in the diagram viewer in Edit mode, you can create links to other objects in some lists (see Referencing Objects in Lists on the Dependencies Tab [page 55]). ● Diagrams - Lists the diagrams contained by or associated with the object. Click a diagram thumbnail to open the diagram, or the + tile to create a diagram. ● Charts - [models] Lists the charts defined on the model. Click a chart thumbnail to open the chart, or click the + tile to create a chart (see Creating a Chart [page 73]). ● Versions - [models] Lists the versions of the model published in the repository, with a separate list per branch where appropriate. To compare two versions of a model in a single branch, select their checkboxes and click the Compare tool (see Comparing Model Versions [page 26]). ● Permissions - [folders, models] Lists the users and groups with permissions to view and edit the contents of the folder or item. Users with Full permission on the object and administrators with the Manage Users and Permissions right can modify the permissions (see Understanding Document Permissions [page 79]). ● Subscriptions - Lists the users and groups receiving email notifications when the item is updated. Users with Full permission on the object and administrators with the Manage Users and Permissions right can modify subscriptions (see Subscribing to Change Notifications [page 76]).

 Note

PowerDesigner Web can display most PowerDesigner object properties, but certain calculated properties and collections of sub-objects and associated objects are not presently supported.

2.3.4 Commenting on Diagrams

Any user can comment on any object in any published diagram they have permission to see. By default your draft diagrams are private but you can invite other users to view and comment on them before you submit your changes for publication.

 Note

Comments posted to published diagrams are preserved across versions, but comments posted to draft diagrams are removed when the diagram is published.

PowerDesigner Web 20 PUBLIC Working with Models and Diagrams in PowerDesigner Web Yellow speech bubbles show above objects in the diagram that have comments. Click a comment bubble to open the Comments panel to read, reply to, or close existing comments, or to add new ones.

● In the top toolbar: ○ [in your draft diagrams] Click Publish Invite to Comment to give other users access to your draft diagram and the ability to post comments to it before you publish it. Select or enter the name of the user to invite, enter a short message, and click Send.

 Note

If you are invited to comment on another user's draft diagram, it will appear in your homepage in the Invitations to Comment list.

○ Click the Comments tool to show or hide the Comments panel. ● In the Diagram panel: ○ Select an object to show only those comments associated with it, or to add a comment to it. ○ Click the diagram background to view all the comments for all the objects in the diagram or to add a comment to the diagram itself. ● In the Comments panel: ○ Click a comment to reply to it. ○ Click a comment and click the check mark to mark it as closed and hide it. The comment can be redisplayed if you select to display all comments. ○ Click a comment that you have posted (which does not have any replies) and click the pencil to edit it or the trash can to delete it. ○ Click an object name in a comment to center the diagram on that object. ○ Click the top of the panel to toggle between showing all comments and hiding comments that are marked as closed.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 21 2.3.5 Sharing, Printing, Reporting On, and Exporting Diagrams

You can share a link to your diagram, print it, generate a report from it, and export it in various formats.

Click the Share button to display the options:

● Share Link - Obtain a shareable link to the diagram or object. You can specify: ○ Version -Choose between: ○ Latest (default) - The link will always point to the latest version of the diagram. ○ This specific version - The link will continue to point to the specific version even as new versions are published. ○ Include selected object/Include view center/Include zoom scale - Include these elements in the shared URL.

● Print Diagram - Generate a printable image of the diagram.

● Export Diagram as Image - Save the diagram to an SVG file.

● Export Diagram to PowerPoint - Download the diagram as a *.pptx file for opening in Microsoft PowerPoint 2013 or higher.

● Generate Report - Generate a report from the diagram (see Generating a Report on a Model [page 25]).

● Export to Repository Zip File - Download a zip file of the model for importing to another repository (see Transferring Content Between Repositories [page 77]).

2.3.6 Applying Heat Map Coloring to a Diagram

You can apply heat map coloring to any diagram based on impacts from one or more selected objects. In addition, enterprise architecture diagrams support heat map coloring based on analysis criteria.

Context

The two modes function as follows:

Mode Impact Analysis Analysis Criteria

Availability Any diagram. Enterprise architecture diagrams only.

Analysis Objects List Manually populated from your selection or by Automatically populated with the analysis crite­ searching. ria objects defined in the current model.

PowerDesigner Web 22 PUBLIC Working with Models and Diagrams in PowerDesigner Web Mode Impact Analysis Analysis Criteria

Diagram Symbol Col­ Symbols highlighted if they are impacted by the Symbols colored on a spectrum from, by de­ oring selected objects (see Impact and Lineage Anal­ fault, red (low) to green (high), based on the val­ ysis [page 63]). ues assigned to them for the selected analysis criterion (see Analyzing EAM Objects with Crite­  Note ria [page 105]).

Coloring is based on the impact side of the analysis tree only.

The impact analysis is controlled by the Library/Heatmap Analysis rule set (see Customizing the Analysis Rules [page 66]).

Cross-Model Analysis Yes. You can populate the list with analysis ob­ No. The analysis objects list is restricted to anal­ jects drawn from one or more models, and then ysis criteria defined in the current model. use it to drive heat map coloring in any diagram in any model.

Procedure

1. Click the Heat Map tool to open the Heat Map panel. 2. Select whether to base the coloring on: ○ Impact Analysis (any diagram) ○ Analysis Criteria (enterprise architecture diagrams only) 3. [impact analysis] To add an object to the list to drive the analysis, click the Add tool and select:

○ Add Selected Objects - Adds the objects currently selected in the diagram to the list. ○ Search to Add Objects - Opens a selection dialog to allow you to search for objects to add to the list.

 Note

The list is maintained to the end of your session. To manually remove an object from the list, select its checkbox and click the Remove tool.

4. [impact analysis] Use the Analysis Levels field to specify the number of levels of impacts to take into account. The default is to color objects that are up to three nodes away from the analysis object in the impact tree. 5. Select one object (or for impact analysis one or more objects) in the list and click Enable Heat Map to apply the coloring.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 23

In this example, the Procurement We select heat map coloring based on We select heat map coloring based on capability contains six child capabili­ Impact Analysis, and add the Kayak Analysis Criteria, and select the ties. system to the analysis list and select Cloud Readiness criteria in the it. Two of the child capabilities are im­ analysis list. Each of the child capabi­ pacted by Kayak and are highlighted lites is scored for Cloud yellow. Readiness and highlighted from red (low) to green (high).

6. [analysis criteria, edit mode] If an object's color for the selected criterion is incorrect, you can change it by selecting the symbol to display its context toolbar and clicking Menu :

 Note

Values can only be modified when you are editing the diagram. Users viewing the diagram in read-only mode cannot change them. You can select multiple symbols to set the same value for all of them.

PowerDesigner Web 24 PUBLIC Working with Models and Diagrams in PowerDesigner Web In our example, the Cloud Readiness value for Invoice Management is not correct, but we can change it:

7. Click Disable Heat Map or close the panel to remove the coloring.

2.3.7 Generating a Report on a Model

You can generate a PDF or Word report from your model. Reports include all diagrams and lists of the objects in them.

Procedure

1. Open the diagram that you want to report on, click the Share button, and select Generate Report.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 25 2. Select whether to generate in PDF or Word format. 3. Select the types of object that you want to include in the report in the content panel on the right, the order in which they will appear (using the arrows above the list), and what properties and sub-objects will be displayed for them in what order.

By default, all objects are included and all properties displayed for them. 4. Click Generate to generate the report, which will automatically download to your browser.

2.3.8 Comparing Model Versions

You can, at any time, compare your draft model (or a model on which you have been invited to comment, or one that has been sent to you for review) with the published version from which the edits were begun by selecting Menu Compare Versions . You can also compare any two published versions of a model in a single branch from its Versions tab.

● In the top toolbar: ○ Click the Previous View tool to go back to the diagram. ○ Click the Properties tool to display the Compare Properties panel, which shows the Initial Properties, the Changes to them, and the New Properties of the selected object. ○ Click the Show Comments tool to open the Comments panel and review or add comments (see Commenting on Diagrams [page 20]). Select an object in the diagram to show only the comments attached to it, or click the diagram background to show all the comments. ○ Select Menu Impact and Lineage Analysis to open an analysis diagram in a new tab (see Impact and Lineage Analysis [page 63]). ● In the diagram panels: ○ The published diagram is displayed in the left panel and the draft version in the right panel. Differences are color-coded as follows:

PowerDesigner Web 26 PUBLIC Working with Models and Diagrams in PowerDesigner Web ○ Creations - Green (right panel only) ○ Changes - Orange (both panels) ○ Deletions - Red (left panel only) ○ Click an object in either panel to select it in the list of changes. ○ Click and drag to move around the diagram. Use your mouse wheel to zoom in and out. Click the Show Overview arrow in the bottom-right corner to display the Overview panel, which helps you navigate in large diagrams. ○ Review or add comments in the right panel (see Commenting on Diagrams [page 20]). ● In the bottom toolbar: ○ Click the filter tool to control the display of creations, changes, symbol changes (including creation and deletion of symbols), and deletions. ○ Click the left or right arrows to go to the next or previous change. ○ Click the change text itself to display the list of changes. Changes are grouped by the object affected and you can drill down to see the details of each individual change. The following tools are available above the list:

Tool Description

All Display all changes.

Display only creations.

Display only modifications.

Display only deletions.

Display a list of changes in text form, taking into account any filtering, in a dialog. You can export the list in CSV format from this dialog.

○ Click Close to return to the Diagram Viewer.

2.3.9 Keyboard Shortcuts

These keyboard shortcuts are available in the Diagram Viewer.

Keyboard Shortcuts for Viewing Diagrams

These keyboard shortcuts are available when viewing diagrams:

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 27 Keys Description

F5 Zoom to 100% on current center / on default view / on diagram center

Ctrl + F5

Shift + F5

F6 Zoom in / out

F7

F8 Zoom to show all symbols / all used pages / all pages

Ctrl + F8

Shift + F8

F9 Show / hide diagram Overview panel

Left Scroll left / right / up /down

Right

Up

Down

Home Fast scroll left / right / up /down

End

Page Up

Page Down

Keyboard Shortcuts for Editing Diagrams

These keyboard shortcuts are additionally available when editing diagrams:

Keys Description

F2 Edit symbol field / move to next edit field on symbol

Tab

Ctrl + Z Undo / redo

Ctrl + Y

Ctrl + A Select all

PowerDesigner Web 28 PUBLIC Working with Models and Diagrams in PowerDesigner Web Keys Description

Ctrl + click Multi-select

Shift + click

Shift + drag

Drag Move symbol / and all symbols it points to

Alt + drag

Del Delete symbol or object / force delete symbol only / force delete object (see Creating Ob­ jects in a Diagram [page 33]) Ctrl + Del

Shift + Del

Ctrl + Left Decrease / increase selected symbol width

Ctrl + Right

Ctrl + Up Decrease / increase selected symbol height

Ctrl + Down

Ctrl + drag symbol handle Resize symbol keeping center / keeping aspect / keeping both

Shift + drag symbol han­ dle

Ctrl + Shift + drag symbol handle

Ctrl + Shift + S Copy selected symbol size / paste size

Ctrl + Alt + S

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 29 2.4 Editing Diagrams

PowerDesigner Web supports editing requirements documents, enterprise architecture diagrams, process maps, and BPMN 2 Descriptive and Executable process diagrams. To enter edit mode, click Edit in the toolbar above the diagram panel.

 Note

You must have Submit or higher permission on a model to edit it (see Understanding Document Permissions [page 79]). For requirements models, if the model is already locked for editing by another user, you will be notified with the possibility to send an email to them.

● In the Diagram panel: ○ Use the toolbox on the left to create or reuse objects: ○ Drag an object tool onto the diagram and release your mouse button to create it or click the Reuse Model Objects tool to access a list of model objects to add to the diagram (see Creating Objects in a Diagram [page 33]). ○ Click the Link tool to select it, and then click and drag from one object to another in the diagram to create the appropriate type of link between them. ○ Click the Note tool to select it, and then click anywhere in the diagram to add a note symbol. You can enter any appropriate text in your note, resize it, change its fill, outline, and font color, and draw links between it and other symbols. ○ Select multiple objects by dragging over or clicking them while holding down the Shift key, or by clicking the Lasso tool and then clicking and dragging over them. ○ Use the editing toolbar at the top to change the fill, outline, and font color of the selected symbols and to align, distribute, resize, and layout symbols (see Formatting Symbols [page 41]). ○ Click and drag to move around the diagram. Use your mouse wheel to zoom in and out. Click the Show Overview arrow in the bottom-right corner to display the Overview panel, which helps you navigate in large diagrams.

PowerDesigner Web 30 PUBLIC Working with Models and Diagrams in PowerDesigner Web ○ Select a symbol or link to display the object's properties in the Properties panel at right (see Object Properties [page 19]). ○ Click the + symbol in the bottom-center of a symbol to open its sub-diagram or related diagram in a new tab. ○ Select an object to display its context toolbar: ○ Click and release an object tool to create a new object immediately next to it or (for BPMN) below it. ○ Click and drag an object tool to control the placement of the new object. ○ Click and drag the Link tool to create a link from the present object to another object. ○ Click the Properties tool to change the object type. ● The following tools are available in the main toolbar above the diagram:

Tool Description

Model Explorer - Navigate in the model structure. To go down into a sub-package, click the down ar­ row and select it. To go up to a parent package or object, click it in the breadcrumb trail (see Navigat­ ing in the Model Structure [page 17]).

View Selector - Select views available in the current package. Each package contains one or more dia­ grams and an object lists view.

To create a new diagram in the current package, select New Diagram in the list.

Hide Properties / Show Properties - Hide the Properties panel and maximize the Diagram panel or show the Properties panel (see Object Properties [page 19]).

Heat Map - Apply heat map coloring to the diagram (see Applying Heat Map Coloring to a Diagram [page 22]).

Share - (see Sharing, Printing, Reporting On, and Exporting Diagrams [page 22]). Select:

○ Share Link - Obtain a shareable link to the diagram or object.

○ Print Diagram - Generate a printable image of the diagram.

○ Export Diagram as Image - Save the diagram to an SVG file.

○ Export Diagram to PowerPoint - Download the diagram as a *.pptx file for opening in Mi­ crosoft PowerPoint 2013 or higher.

○ Generate Report - Generate a report from the diagram (see Generating a Report on a Model [page 25]).

○ Export to Repository Zip File - Download a zip file of the model for importing to another re­ pository (see Transferring Content Between Repositories [page 77]).

Show Comments - Open the Comments panel and review or add comments (see Commenting on Dia­ grams [page 20]). Select an object in the diagram to show only the comments attached to it, or click the diagram background to show all the comments.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 31 Tool Description

Content Language - Select an alternative language in which to view the diagram content (see Translat­ ing Models and Viewing Translated Models [page 69]).

Publish - Select:

○ Verify - Launch an interactive verification of your diagram (see Verifying Diagrams [page 56]).

○ Invite to Comment - Invite other users to view your draft diagram and post comments on the objects in it before you submit it for publication.

○ Submit Changes - Submit your diagram for review by accredited users before publication. You will no longer be able to edit it.

○ Publish - [requires Write or higher permission] Publish your changes to make them availa­ ble to all users (see Publishing Models [page 61]).

○ - Revert Changes - Delete your draft diagram and abandon your changes. The published ver­ sion of the diagram will remain unchanged.

Save | Cancel Click Save to save your changes from this editing session or click Cancel to cancel your changes and revert to your last saved version. Your latest saved version is available in your homepage Work in Progress list (see Working with Models and Diagrams in PowerDesigner Web [page 9]).

PowerDesigner Web 32 PUBLIC Working with Models and Diagrams in PowerDesigner Web Tool Description

Menu - Select:

○ Show Model Object Lists - Open the model property sheet Children tab to list all the objects in the model that contains the diagram.

○ Compare with Initial Diagram - Compare your version of the diagram with the published ver­ sion from which you began (see Comparing Model Versions [page 26]).

○ Impact and Lineage Analysis - Open an analysis diagram showing the dependencies of the selected object (see Impact and Lineage Analysis [page 63]).

○ Subscribe to Change Notifications - Subscribe to receive an email each time the diagram is updated (see Subscribing to Change Notifications [page 76]).

○ Generate Model - Generate a new model from the model (see Model-to-Model Generation [page 71]).

○ - Change Pool to Horizontal/Vertical - [business process] Change the orientation of your pools and lanes to horizontal (left to right) or vertical (top-to-bottom).

 Note

You can only change the orientation of your diagram if the diagram does not contain any pools.

○ Import Objects from CSV File - Import lists of objects into the diagram (see Importing Ob­ jects from CSV Files [page 37]).

○ Help - Open the application help.

2.4.1 Creating Objects in a Diagram

You can create objects in a diagram with the diagram Toolbox, with symbol toolbars, or by copying and pasting existing objects. You can create a new symbol for an existing object in your diagram with the Toolbox Reuse Model Objects tool.

 Note

For information about importing lists of objects, see Importing Objects from CSV Files [page 37].

The Diagram Toolbox

The diagram Toolbox is always available on the left of the diagram viewer in edit mode and contains tools to create and reuse objects:

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 33 ● To create an object in the diagram - Drag a tool from the Toolbox and drop it in the diagram. ● To create a link between symbols - Click the Link tool to select it, click and hold on the symbol that you want to be the source of the link and then drag and release the link on the symbol that is the target of the link. ● To create a new symbol in your diagram for an object that is already present in your model - Click the Reuse Model Objects tool to open an alphabetical list of objects in the model. ○ Drag an object from the list to create a new symbol for it in the diagram. If the object has links to other objects in the diagram, these links will be recreated in the diagram. ○ You can add the same object to a diagram multiple times (and add it to multiple diagrams).

 Note

For information about adding an object from the Library or from elsewhere in the repository, see Reusing Objects [page 51].

Symbol Toolbars

Select a symbol to display its toolbar. Each symbol toolbar contains a subset of tools commonly used with that type of object:

● To create an object from the toolbar of a symbol - Click or drag a tool. ● To create a link from the symbol to another symbol - Drag the Link tool and release it on the target symbol.

Copy and Pasting Objects

You can copy and paste a symbol to create a copy of the object by pressing Ctrl + C and Ctrl + V or using the Copy and Paste tools in the diagram toolbar.

When copying an object:

● Any sub-objects listed on the object's property sheet Children tab are also copied. For example, when copying an EAM business capability, any sub-capabilities are also copied. ● Most links to associated objects listed on the object's property sheet Dependencies tab are also copied but the associated objects are not themselves copied. For example, if the business capability is associated with an analysis criteria or business rule, then the copy of the business capability will also be associated with these objects.

 Note

No diagram links, including traceability links, will be copied to the new object.

● Shortcuts are copied as shortcuts to the same target object.

 Note

You can copy and paste from one tab to another in the Diagram Viewer, but copying between separate browser tabs is not supported.

PowerDesigner Web 34 PUBLIC Working with Models and Diagrams in PowerDesigner Web Deleting Symbols

When deleting a symbol, the following rules are followed:

● If your model contains only one diagram, and the diagram contains: ○ Multiple symbols for the same object - Only the selected symbols will be deleted. ○ Only one symbol for the object - The symbol and the object will be deleted. ● If your model contains multiple diagrams, you will be prompted to choose between deleting only the symbol or deleting the symbol and the object. ● To force the deletion of the object and all its symbols in all diagrams, press Shift + Del (or select Delete Delete Objects ). ● To force the deletion of only the symbol (retaining the object for later use), press Ctrl + Del (or select Delete Delete Symbols ).

 Note

To undo a mistaken deletion (or any other action), press Ctrl + Z (or select Undo).

2.4.2 Creating and Editing Objects in a List

You can create any object in the List Viewer by selecting the appropriate list and clicking the Add tool in the list toolbar. To open the List Viewer from a diagram, click the View Selector control in the top toolbar and select Object Lists.

Context

For general information about using object lists, see Viewing Lists [page 18].

In the list tool bar:

Tool Description

Create - Create an object in the list.

 Note

Objects created in a list are not automatically added to a diagram. Open a diagram and use the Tool­ box Reuse tool to create symbols for objects you create in a list (see Creating Objects in a Diagram [page 33].

Undo [ Ctrl + Z ] / Redo [ Ctrl + Y ] - Step back or forward through your changes since the last save.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 35 Tool Description

Delete [ Del (or, in Safari, FN + Del )] - Delete the selected objects from the list.

Export to CSV - Export the list contents to a CSV file. To control the columns that are visible and which will be exported, use the Customize Columns tool.

 Note

Any filters are not taken into account. All the objects in the list will be exported.

Customize Columns - Control the columns that are displayed in the list.

In the list:

● To display the property sheet of an object in the property sheet panel, click its name in the list. ● To select one or more objects in the list, use the checkboxes in the first column. ● To perform an edit on multiple objects in the list, select their checkboxes and then enter or select the appropriate value in a column in any of the selected lines.

2.4.3 Creating Additional Diagrams in a Model

You can subdivide your model into packages to represent different tasks or subject areas. All models and packages contain one or more diagrams along with lists of model objects and you can add additional diagrams as necessary. In some types of models, other objects can also contain diagrams.

To create a new package (containing a new diagram) at the current level of the model structure, use the Diagram Toolbox Package tool (see Packages [page 369]).

To create a new diagram at the current level of the model structure, click the view selector and select Create New Diagram.

 Note

The new diagram is initialized with the symbols selected in the current diagram. You can select symbols manually, with the Lasso tool, by pressing SHIFT and dragging over the diagram canvas or, to select all symbols, pressing CTRL + A .

For more information about using the breadcrumbs and view selector, see Navigating in the Model Structure [page 17].

To delete a diagram, click the view selector and select Object Lists, select the All Diagrams list, select the diagram in the list, and click the Delete tool.

 Note

You cannot delete the last diagram inside a model, package, or other object. Deleting a diagram does not delete the objects that are displayed in it.

PowerDesigner Web 36 PUBLIC Working with Models and Diagrams in PowerDesigner Web 2.4.4 Importing Objects from CSV Files

You can import lists of objects defined in CSV files into your model. For example, if you have lists of sites, servers, people, and applications, you can import them into PowerDesigner Web rather than creating them manually. You can also choose to create shortcuts instead of objects by specifying the reference models that contain the source objects to which you want to create shortcuts.

Context

To optimize the import process:

● Basics: ○ Name the CSV file after the type of object you are importing so that PowerDesigner Web can auto- match it. For example, to import a list of sites, name the file Site.csv. ○ Use the first line in the file to specify a name for each column, and name each column after the property it contains. In this example, the file HardwareServer.csv contains three servers:

Name,Virtual,Serial Number,Operating System

Server 1,Y,1234,Windows Server 2,N,3456,Linux

Server 3,Y,5678,Unix

○ Use commas, semi-colons, or tabs as column separators. ○ To import lists of multiple types of objects in one go, create one CSV file for each type of object and group them in a zip file. ● Referencing other objects: ○ To quickly create a collection of objects in the definition of another object, enter a comma-separated list between quotes. In this example, the file ProcessGroup.csv contains one process group, which contains three sub- groups:

Name,Comment,ProcessGroups

Sales,This parent group contains three subgroups,"Advertising,Store Sales,Online Sales"

○ To specify a property that references another object, enter the code or the name of the referenced object. In most cases, if the referenced object does not exist, it will be created. In this example, the filePerson.csv contains three people, where Jenny is the manager of Lisa. Kate, the manager of Bob, does not exist in the model and will be created:

Name,Manager,Email

Jenny,,[email protected] Lisa,Jenny,[email protected]

Bob,Kate,[email protected]

○ To specify the parent of an object (for example, the process to which a sub-process belongs or the system to which an application belongs), use a Parent column and specify the fully-qualified code of the parent.  Note

You must create the parent object before you can refer to it from the child object.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 37 In this example, the file System.csv contains three systems, where the second system is a child of the first, and the third system is a child of the second:

Parent,Name

,Kayak Kayak,Whirlpool

Kayak.Whirlpool,Dapple

● Creating graphical links between objects: ○ Many graphical links specify a source object (Object1) and a target object (Object2). In this example, the file InfrastructureLink.csv creates links between the previously created servers:

Object1,Object2

Server_1,Server_2 Server_2,Server_3

Server_3,Server_1

In this example, the file TraceabilityLink.csv creates links between a server, a system, and a process:

Object 1,Object 2

Server 1,Kayak Kayak,Sales

Sales,Server 1

○ Some links, such as role associations, belong to an artifact (Parent) and use a specific property for their other extremity (RolePlayer). The file name should contain the parent object type followed by a dot and then the link type. In this example, the file HardwareServer.RoleAssociation.csv links people to servers as owners:

Parent,RolePlayer

Server_1,Jenny,Owner Server 2,Bob,Owner

Server 3,Kate,Owner

● Creating shortcuts: ○ If the reference models that you will use to create shortcuts use custom extensions, you must have the same extensions (in the same order) in the current model.

When all the files are placed in a zip and imported, they produce the following diagram:

PowerDesigner Web 38 PUBLIC Working with Models and Diagrams in PowerDesigner Web

Procedure

1. In your diagram, select Menu Import Objects from CSV File . 2. On the Info tab, click Browse, navigate to the file you want to import, and click Open to select it for import.

You can import a .csv, .tsv, .txt file, or a .zip file containing these files. 3. Click Next to go to the Mappings tab. 4. For each file listed on the left, review the object type identified as contained in it, and the mappings proposed for each column.

Use the Data Preview panel to review the data contained in the file. 5. [If creating shortcuts instead of objects] Click the Reference Models tab and select the appropriate models. 6. Click Import to import the objects.

PowerDesigner Web imports the files and creates or updates the objects in the diagram using the following rules: ○ Before creating an object, PowerDesigner Web determines whether it already exists in the model by: ○ Searching for an object of the same type with the same code, and then ○ Searching for an object of the same type with the same name. ○ If the object cannot be found, it will be created. ○ If the object is found, it will be updated as follows: ○ If a property is empty or has a value assigned and a new value is given in the file, the value will be updated. ○ If a property has a value assigned and no new value is given in the file, the original value will be retained.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 39 2.4.4.1 Example: Importing Capabilities, Applications, Coverage Links, and Criteria from CSV Files

In this example, we import business capabilities and applications, along with coverage links that connect them, and analysis criteria to score the capabilities. You can use these examples as templates for importing your own objects.

To import these files together in one step, add them to a zip file and import the zip.

File Contents Detail

Parent,Name,Code File name: BusinessCapability.csv

,HR,C001 C001,Recruiting Employees,C002 Lists capabilities to import, and contains three columns: C001,Onboarding Employees,C003 Parent, Name, and Code. C001,Rewarding and Retaining Employees,C004 For information about other properties you can import, see C001.C002,Source Candidates,C005 C001.C002,Select Candidates,C006 Business Capabilities [page 121]. C001.C003,Manage Employee Orientation,C007 C001.C003,Manage Equipment Provision,C008 C001.C004,Manage Benefits,C009

C001.C004,Administer Payroll,C010

Name,Code File name: Application.csv

Aurora,A001 Boxter,A002 Lists applications to import, and contains two columns: CandyCone,A003 Name and Code. For information about other properties you can import, see Systems and Applications (EAM) [page 130].

Parent,Linked Object,Value Application.CoverageLink.csv

A0001,C001.C002.C005,No Maturity A0001,C001.C002.C006,Low Maturity Creates links between the imported applications and capa­ A0002,C001.C003.C007,Medium Maturity bilities. It contains three columns: A0003,C001.C003.C008,High Maturity A0001,C001.C004.C009,Medium Maturity ● Parent - The fully-qualified application code.

A0002,C001.C004.C010,High Maturity ● Linked Object - The fully-qualified capability code. ● Value - The maturity level of the coverage

Name,Code,List of Values File name: AnalysisCriterion.csv

24 Hour Availability, 24HOUR,"1,2,3,4,5" Lists criteria to import, and contains three columns: Name,

Cloud Readiness,CLOUD,"1,2,3,4,5" Code, and List of Values.

For information about other properties you can import, see Analyzing EAM Objects with Criteria [page 105].

PowerDesigner Web 40 PUBLIC Working with Models and Diagrams in PowerDesigner Web File Contents Detail

Parent,Analysis Criterion,Value File name:

C001.C002.C005,24HOUR,2 BusinessCapability.AnalysisCriterionValu C001.C002.C006,24HOUR,2 e.csv C001.C003.C007,24HOUR,3 C001.C003.C008,24HOUR,4 C001.C004.C009,24HOUR,4 Assigns criteria values to each of the level 3 capabilities. It C001.C004.C010,24HOUR,1 contains three columns: C001.C002.C005,CLOUD,5 C001.C002.C006,CLOUD,1 ● Parent - The fully-qualified capability code. C001.C003.C007,CLOUD,3 ● Analysis Criterion - The criterion code. C001.C003.C008,CLOUD,3 C001.C004.C009,CLOUD,4 ● Value - The criterion value to assign to the capability. C001.C004.C010,CLOUD,3

2.4.5 Formatting Symbols

You can use the tools in the editing toolbar above the diagram to change the fill, outline, and font color of the selected symbols, to align, distribute, resize and layout symbols. The Undo, Redo, and Delete tools are also available here.

The following tools are available:

Tool Description

Fill Color - Choose a fill color for the selected symbols.

 Note

Fill and outline colors can only be changed for box symbols, and not for icon symbols. You can change the font color of any symbol.

In this example, the fill and line color of the parent system box symbols can be changed, but only the font color of the sub-system icon symbols is changeable:

Outline Color - Choose an outline color for the selected symbols, and a line style, for link symbols.

Font Color - Choose a font color for the selected symbols.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 41 Tool Description

Content Settings - Choose a display mode and content for the selected symbols:

● [EAM symbols supporting sub-symbols] Specify the display mode for the selected symbol: ○ Icon - [if supported] Display the symbol as an icon. ○ Box - Display the symbol as a box without any sub-symbols. ○ Box with Content - Display the symbol as a box with all its sub-symbols. You can choose the display mode for any sub-symbol at any level. In this example, the site France, can be displayed as an icon, a box, or a box with content:

● Customize the properties that are displayed in the symbol (see Customizing Symbol Content [page 44]).

Copy Format - Copy the format of one symbol and apply it to one or more other symbols:

● To copy the format of one symbol to another symbol, select the first symbol, click the Copy Format tool, and then click on the second symbol. ● To copy the format of one symbol to a selection of symbols, select the first symbol, click the Copy Format tool, and use the Lasso tool (or use Shift and drag) to select and apply the format to the other symbols. ● To copy the format of one symbol to multiple other symbols, select the first symbol, double-click the Copy Format tool, and then click on the other symbols in turn.

 Note

Any objects that you create while the Copy Format tool is pressed in this way will be created with the selected format.

● To stop copying the format, click the Copy Format tool to release it.

Restore Default Format - Undo your formatting changes and revert to the default format for the se­ lected type of object.

PowerDesigner Web 42 PUBLIC Working with Models and Diagrams in PowerDesigner Web Tool Description

Align Symbols - Open a toolbar to align, distribute, or resize two or more symbols:

● - Align Left [ Ctrl + Alt + L ]

● - Align Center [ Ctrl + Alt + C ]

● - Align Right [ Ctrl + Alt + R ]

● - Align Top [ Ctrl + Alt + T ]

● - Align Middle [ Ctrl + Alt + M ]

● - Align Bottom [ Ctrl + Alt + B ]

● - Distribute Horizontally [ Ctrl + Shift + Alt + H ] - Evenly space the selected symbols horizontally.

● - Distribute Vertically [ Ctrl + Shift + Alt + V ] - Evenly space the selected sym­ bols vertically.

● - Same Width [ Ctrl + Alt + W ] - Set all of the selected symbols to the width of the widest selected symbol.

● - Same Height [ Ctrl + Alt + H ] - Set all of the selected symbols to the height of the tallest selected symbol.

● - Same Size [ Ctrl + Alt + S ] - Set all of the selected symbols to the width of the widest selected symbol and the height of the tallest selected symbol.

 Note

You must select two or more symbols to enable these tools.

Auto-Layout - Minimize symbol overlaps, link crossings, and distances between related nodes (see Auto-Layout for Diagrams and Composite Symbols [page 48]).

Undo [ Ctrl + Z ] / Redo [ Ctrl + Y ] - Step back or forward through your changes since the last save.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 43 Tool Description

Delete [ Del (or, in Safari, FN + Del )] - Delete the selected symbols.

When deleting a symbol, the following rules are followed:

● If your model contains only one diagram, and the diagram contains: ○ Multiple symbols for the same object - Only the selected symbols will be deleted. ○ Only one symbol for the object - The symbol and the object will be deleted. ● If your model contains multiple diagrams, you will be prompted to choose between deleting only the symbol or deleting the symbol and the object. ● To force the deletion of the object and all its symbols in all diagrams, press Shift + Del (or

select Delete Delete Objects ). ● To force the deletion of only the symbol (retaining the object for later use), press Ctrl + Del

(or select Delete Delete Symbols ).

 Note

To undo a mistaken deletion (or any other action), press Ctrl + Z (or select Undo).

2.4.5.1 Customizing Symbol Content

All symbols show, by default, the name of the object in the symbol header area. You can customize symbol header content to show up to five object properties.

Procedure

1. Select the symbols that you want to customize and then click the Content Settings tool in the diagram toolbar.

 Note

When selecting multiple objects, they must all be of the same type, or the Content Settings tool is disabled.

The left pane of the dialog shows a preview of the symbol, which you can show in any available display mode. The right pane shows the details of the selected content element. 2. In the left pane of the dialog, click a + tool to add a new text element.

 Note

By default, content elements are laid out vertically one above the other. To lay out your properties side- by-side, move your mouse just beyond the text elements to reveal the boundary of their parent property group element, click to select it, and then select Horizontal in the Orientation list.

PowerDesigner Web 44 PUBLIC Working with Models and Diagrams in PowerDesigner Web 3. In the right pane, select the property to associate with the new text element.

 Note

A boolean property (represented by a check box in the property sheet) displays the name of the property on the symbol if the check box is selected. In this example, Server QSD1 has the Multiple property selected, Server RTY3 has the Virtual property selected, and Server IOP5 has both properties selected:

4. Add other properties as necessary up to a maximum of five.

To remove a text element, hover over it in the left pane and then click the X tool. 5. [optional] To have your customization apply only to the selected symbols, deselect the Set as model default for all symbols of this type option.

If you leave this option selected, your customizations are applied to all symbols for this type of object in all diagrams in the model. 6. Click OK to confirm your changes.

In this example, the Type and Owner properties are added to the Kayak application symbol. The additional content is available when the symbol is shown in Box (with or without content) and Icon modes:

Default Symbol Customized Symbol in Box and Icon Modes

7. [optional] To copy the content changes to other symbols in the diagram, use the Copy Format tool (see Formatting Symbols [page 41]).

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 45 2.4.5.2 Customizing Link Symbols

You can customize the labels displayed in source, center and destination sections of link symbols and choose a line style for the link symbol.

Context

Procedure

1. Select the link symbols that you want to customize and then click the Content Settings tool in the diagram toolbar.

 Note

When selecting multiple links, they must all be of the same type, or the Content Settings tool is disabled.

The left pane of the dialog shows a preview of the different sections of the symbol. 2. In the left pane of the dialog, click inside text located at the center of a section (destination, center or source) to display the corresponding options in the Details pane on the right.

When no property is specified for the current section label, Unmapped is displayed in the left pane, when a property is selected but no value is assigned to this property, [Empty] is displayed. 3. In the right pane, select the property to associate with the chosen section, or select none to remove an existing label. 4. [optional] To have your customization apply only to the selected symbols, deselect the Set as model default for all symbols of this type option.

If you leave this option selected, your customizations are applied to all symbols for this type of object in all diagrams in the model. 5. Click OK to confirm your changes. 6. Click the Outline Color tool in the diagram toolbar to display the Style dialog. 7. Select a line style in the first drop-down list box at the top of the dialog, then click the diagram background to close the dialog and validate your changes.

PowerDesigner Web 46 PUBLIC Working with Models and Diagrams in PowerDesigner Web 8. [optional] To copy the content changes to other symbols in the diagram, use the Copy Format tool (see Formatting Symbols [page 41]).

The following diagram contains two infrastructure links. The link between Hardware Server A and Workstation C has a default format and no custom label, but the link between Hardware Server A and Workstation B has a custom line style and custom source, center and destination labels mapped with First Object, Physical Type and Second Object, respectively.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 47 2.4.6 Auto-Layout for Diagrams and Composite Symbols

Click the Auto-Layout tool in the format toolbar above the diagram to organize the symbols in your diagram. PowerDesigner Web will try to minimize symbol overlaps, link crossings, and distances between related nodes.

In enterprise architecture diagrams (see Enterprise Architecture [page 97]), the Auto-Layout dialog offers two modes. You can select:

● Linked nodes - [any or no symbol selected] Minimizes symbol overlaps, link crossings, and distances between related nodes. The following options are available:

Option Description

Direction Specifies the direction in which symbols should be laid out. You can choose: ○ Left to Right ○ Right to Left ○ Top to Bottom ○ Bottom to Top

Layout sub-symbols Specifies to also layout sub-symbols inside composite symbols using the same options.

PowerDesigner Web 48 PUBLIC Working with Models and Diagrams in PowerDesigner Web Option Description

Spacing Specifies the spacing between symbols in pixels.

In the following example, six capabilities have many links between them. The symbols are not well aligned and the links cross many times. An auto-layout is applied with the following options: ○ Direction: Top to Bottom ○ Spacing: 20

Original AutoLayout

● Grid - [single composite symbol or no symbol selected] Lays symbols or sub-symbols out in rows or columns (up to the limit specified). The following options are available:

Option Description

Direction Specifies the direction in which symbols should be ordered in the parent sym­ bol. You can choose: ○ Left to Right - Lay symbols out in rows up to the maximum specified. ○ Top to Bottom - Lay symbols out in columns up to the maximum speci­ fied.

To a maximum of Specifies the maximum number of symbols allowed in a row or column.

For example if you set Left to Right and 3 then symbols will be laid out in three columns.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 49 Option Description

Spacing Specifies the spacing between symbols in pixels.

Objects currently ordered Specifies the direction in which symbols are currently ordered in the parent symbol in order to guide the new layout. You can choose: ○ Left to Right ○ Top to Bottom If the symbols are in a single row or column, then this option has no effect.

In the following example, the sub-symbols are aligned first in two columns and then in a single column:

Autolayout Options Symbols

Original. The sub-symbols are not well aligned

Autolayout with options: ○ Direction: Left to Right ○ To a maximum of: 2 ○ Spacing: 10 ○ Objects currently ordered: Left to Right The children are aligned in two columns and read from left to right 1,2,3,4

Autolayout with options: ○ Direction: Left to Right ○ To a maximum of: 2 ○ Spacing: 10 ○ Objects currently ordered: Top to Bottom The children now read from left to right 1,3,2,4 (because their previous order was specified as Top to Bottom).

PowerDesigner Web 50 PUBLIC Working with Models and Diagrams in PowerDesigner Web Autolayout Options Symbols

Autolayout with options: ○ Direction: Left to Right ○ To a maximum of: 1 ○ Spacing: 10 ○ Objects currently ordered: Top to Bottom The children are now aligned in one columns and read 1,2,3,4 (because their previous order was specified as Top to Bottom).

 Note

The grid mode can only layout one composite symbol and one level of sub-symbols at a time.

2.4.7 Reusing Objects

You can reuse an object defined in one model in any other model of the same type. Reusing objects in this way prevents unneccessary duplication of information and improves the quality and scope of impact analysis. When you create an object in a diagram and begin entering its name, PowerDesigner Web will propose a list of existing objects that you can reuse.

Context

 Note

For information about reusing objects that are already present in your model, see Creating Objects in a Diagram [page 33].

For example:

● A site, organization unit, business capability, system, or application created in one enterprise architecture diagram can be reused in multiple other enterprise architecture diagrams.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 51 ● A lane, task, activity, data object, or intermediate event created in one BPMN 2.0 Descriptive diagram can be reused in multiple other BPMN 2.0 Descriptive diagrams.

 Note

Objects saved in the Library folder are prioritized for reuse (see Promoting Reuse through the Library Folder [page 54]).

Procedure

1. Create an object in the diagram.

The symbol is created and the default name is selected ready for overwriting:

2. Begin entering the name of the object. PowerDesigner Web proposes a list of existing objects (from the current model and the Library folder), containing the entered characters:

PowerDesigner Web 52 PUBLIC Working with Models and Diagrams in PowerDesigner Web

○ If the object that you want to use appears in the list, click it to reuse it and insert it into your diagram:

Your local object is replaced by a shortcut to the library object, which is read-only, and any properties you had previously defined for the object are lost.

 Note

Any time you create a shortcut, the model containing the object being reused is added to the list of Target Models on the model property sheet Dependencies tab. If you delete a target model from this list, you will also delete all shortcuts to objects in this model.

○ If the object that you want to reuse does not appear in the list, click the Search button in the right of the field to open the Search dialog, initialized to search the current model and the Library folder for the entered characters. You can reconfigure the search results: ○ Add to or change the characters to search for in the Search field and press enter. ○ On the Location tab in the top-left corner, navigate to a particular folder, branch, project, or model in the repository tree to restrict the search to its contents. ○ On the Filter tab in the top-left corner, add appropriate property filters to restrict the search by these criteria.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 53  Note

When selecting an object for reuse, the model and object type filters are set to read-only.

When you find the object, select it in the list of results and click Select to reuse it. ○ If you do not find an object to reuse, click Cancel and enter a name to create a new object. 3. [EAM and BPMN symbols containing sub-symbols] When reusing a BPMN sub-process object or any of the EAM objects whose symbols can display sub-symbols, all sub-symbols are shown by default. If some or all of the sub-symbols are not relevant in this context, you can hide them by selecting them and pressing Delete . To restore any hidden sub-symbols, select the parent symbol and click Settings Restore Sub- Symbols .

2.4.7.1 Promoting Reuse through the Library Folder

You can promote the reuse of commonly-used or reference objects by saving them in a model in the repository Library folder. Objects saved in this way are proposed to users when they create objects in their own models.

For example, you may create lists of sites and organization units/pools/lanes, systems, applications, and process steps in diagrams and save them to the Library folder. When a user creates a site in a diagram and begins to enter its name, they will be prompted to reuse an existing site from the Library. If the user selects to reuse an object, the local object that they were creating is replaced by a shortcut to the library object.

Promoting reuse in this way prevents unneccessary duplication of information and improves the quality and scope of impact analysis.

 Note

The following BPMN 2.0 Descriptive and Executable objects can be reused:

● Pools ● Lanes ● Tasks/Activities ● Data Objects/Data Stores ● Intermediate Events

The following BPMN 2.0 Descriptive and Executable objects cannot be reused:

● Start/End Events ● Gateways ● Sequence and Message Links and Data Associations

BPMN 2.0 Descriptive objects cannot be reused in BPMN 2.0 Executable diagrams and vice versa.

PowerDesigner Web 54 PUBLIC Working with Models and Diagrams in PowerDesigner Web 2.4.8 Referencing an Object in an Info Tab Property Field

Certain properties on the Info tab of an object's property sheet are completed by selecting another object. Some properties are populated when you draw a link or perform another action in the diagram editor, some let you add or create the object in the field, and others support both methods.

Context

When on the Info tab, you can add objects to these lists as follows:

● Click the down-arrow in the field to select an existing object from the current model. ● Click the Select tool to the right of the field to search for an object in the current model or in another model. By default, the dialog lists all the objects of the appropriate type in the model, but you can modify the search criteria (see Searching for Diagrams or Objects [page 12]), and then click the Search button to search again. When you find the appropriate object, select it in the results list and then click Select to insert it into the property field. ● [if available] Click the New tool to the right of the field to create a new object and insert it in the field.

2.4.9 Referencing Objects in Lists on the Dependencies Tab

The lists on the Dependencies tab of an object's property sheet indicate that there is a connection between the object and the objects listed. Some lists are populated when you draw a link or perform another action in the diagram editor, some let you add or create objects in the list, and others support both methods.

Context

When on the Dependencies tab, you can add objects to these lists as follows:

● Click the Add Existing tool above the list to search for an object in the current model or in another model. By default, the dialog lists all the objects of the appropriate type in the model, but you can modify the search criteria (see Searching for Diagrams or Objects [page 12]), and then click the Search button to search again. When you find the appropriate object, select it in the results list and then click Select to insert it into the property field. ● [if available] Click the Create New tool above the list to create a new object and insert it in the list.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 55 2.4.10 Verifying Diagrams

You can, at any time while editing a diagram, verify that it conforms with the appropriate modeling rules. To begin verification, select Publish Verify button.

 Note

Requirements documents do not support verification.

Red or orange speech bubbles show above objects in the diagram that have errors or warnings, and the relevant tab and property in its property sheet are highlighted where possible. Click an error bubble to open the Errors and Warnings panel to view the errors and warnings.

● In the Diagram panel: ○ Select an object to show only those errors and warnings associated with it. All objects are tested to ensure that they have a name and that the name is unique for objects of that type in the current scope, which is generally the current process or diagram. ○ Click the diagram error bubble under the zoom and pan tools in the top-left corner to view all the errors and warnings for all the objects in the diagram. ● In the Errors and Warnings panel: ○ Click an object name in a comment to center the diagram on that object. ○ Click the top of the panel to toggle between showing errors and warnings and errors only.

Once you have launched a diagram verification, PowerDesigner Web continues to verify your changes in real time so that as you correct issues, the counts of errors and warnings in the bubble and list decrease. To exit validation mode, click Save to save your changes, and then press F5 to refresh your browser window.

2.4.10.1 Verifying BPMN 2.0 Process Diagrams

PowerDesigner Web provides a set of standard verification rules for BPMN 2 process diagrams.

The verification rules in this list apply to BPMN 2.0 Executable and (where appropriate) BPMN 2.0 Descriptive:

● All Objects: ○ Name Uniqueness: Object names and codes must be unique for objects of the same type in the namespace.

PowerDesigner Web 56 PUBLIC Working with Models and Diagrams in PowerDesigner Web ● Activities: ○ Missing incoming flow/Missing outgoing flow: Activities/processes must have at least one incoming and one outgoing flow. ○ Invalid implementation: Activities/processes cannot be implemented by an activity/process that is, itself, implemented. ○ Invalid decomposition: Tasks must not contain other objects. Only sub-processes and other composite activities can contain other objects. ○ Invalid item-aware elements: Events and tasks must only contain item-aware objects of type Data Input or Data Output. ○ Too many default flows: Activities and intermediate events must not have more than one default outgoing flow. ○ Invalid implementation type: Call activities must have an implementation type of Reuse process. ○ Missing start/Missing end: Sub-processes/composite processes must have at least one start and at least one end. ○ Invalid incoming flows/Invalid outgoing flows: Event sub-processes must not have any incoming or outgoing flows. ○ Too many start events: Event sub-processes must have exactly one start event. ○ Invalid incoming flows/Invalid outgoing flows: Compensation activities must not have any incoming sequence flows that are not of type Compensation, nor any outgoing sequence flows. ○ Invalid for export: Manual tasks cannot be exported to a NetWeaver BPMN2 file. ● Gateways: ○ Too few incoming or outgoing flows: Gateways/decisions must have more than one outgoing flow to represent a split (conditional branch) or more than one incoming flow to represent a merge. ○ Too many default flows: Gateways must not have more than one default outgoing flow. ○ Missing outgoing flow: Gateways must have at least one outgoing flow. ○ Missing incoming flow: Gateways (except event-based gateways) must have at least one incoming flow. ● Sequence and Message Flows: ○ Missing source/Missing destination: Flows must have both a source and a destination object. ○ Invalid message format: Sequence flows must not have message formats attached to them. ○ Undefined message format: Message flows must either specify a message format or have their message format set to . ○ Duplicate definition: Message formats must not have the same definition as another message format. ○ Invalid correlation property: Message flows must specify a correlation property from among those defined in their correlation key. ○ Invalid source/Invalid destination: Message flows can only go from (have as sources) and point to (have as destinations) activities, pools, catching message intermediate events, or message start events. ● Events: ○ Missing outgoing flow: Starts must have at least one outgoing flow. ○ Missing incoming flow: Ends must have at least one incoming flow. ○ Not permitted at top level: Start events of type Escalation, Error, or Compensation are only permitted in event sub-processes.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 57 ○ Not permitted in sub-process: Start events that are not of type Standard are not permitted in sub-processes. ○ Not permitted in event sub-process: Start events of type Standard are not permitted in event sub-processes. ○ Not permitted in transaction: Start events that are not of type Standard are not permitted in transactions. ○ Not permitted in ad-hoc sub-process: Start and end events are not permitted in ad-hoc sub- processes. ○ Only permitted in transactions: End events of type Cancel are not permitted at the top level or in event sub-processes. They are only permitted in transactions. ○ Invalid item-aware elements: Events and tasks must only contain item-aware objects of type Data Input or Data Output. ○ Too many default flows: Activities and intermediate events must not have more than one default outgoing flow. ○ Too few event definitions: Multiple events must contain at least two event definitions. ○ Invalid event definitions: Multiple and parallel multiple events of type: ○ Start (at the top level) - can only contain Message, Timer, Conditional, Error, and Signal event definitions. ○ Interrupting start (in an event sub-process) - can only contain Message, Timer, Escalation, Conditional, Error, Compensation, and Signal event definitions. ○ Non-interrupting start (in an event sub-process) - can only contain Message, Timer, Escalation, Conditional, and Signal event definitions. ○ Interrupting boundary - can only contain Message, Timer, Escalation, Conditional, Error, Cancel, Compensation, and Signal event definitions. ○ Non-interrupting boundary - can only contain Message, Timer, Escalation, Conditional, and Signal event definitions. ○ Intermediate catching - can only contain Message, Timer, Conditional, Link, and Signal event definitions. ○ Intermediate throwing - can only contain Message, Escalation, Link, Compensation, and Signal event definitions. ○ End - can only contain Message, Error, Escalation, Cancel, Compensation, Signal, and Terminate event definitions. ○ Invalid decomposition: Events must not be decomposed. They must not contain other objects. ○ Missing stereotype: Events must bear a stereotype to define what type of event it is. ○ Invalid reusability: Events must not be specified as reusable. ● Data and Data Associations: ○ Unused resource: Data objects/resources must be linked to at least one activity/process. ○ Not permitted in tasks or events: Data objects and data object references are not permitted in tasks or events. ○ Missing data object/Invalid data object: Data object references must specify the data object to which they are a reference. ○ Invalid source/Invalid destination: Data associations/resource flows can only go from (have as sources) and point to (have as destinations) activities/processes and data objects/resources. ○ Missing source item/Invalid source item : Data associations with a transformation type of Output must specify an item-aware element (of type Data Output) from among those defined on their source activity, which will be transferred from the activity to the data.

PowerDesigner Web 58 PUBLIC Working with Models and Diagrams in PowerDesigner Web ○ Missing target item/Invalid target item: Data associations with a transformation type of Input must specify an item-aware element (of type Data Input) from among those defined on their target activity, which will be transferred to the activity from the data. ● Item-aware Elements: ○ Not permitted in start events: Item-aware elements of type Data Input are not permitted in start events. ○ Not permitted in intermediate catch events: Item-aware elements of type Data Input are not permitted in intermediate catch events. ○ Not permitted in intermediate throw events: Item-aware elements of type Data Output are not permitted in intermediate throw events. ○ Not permitted in end events: Item-aware elements of type Data Output are not permitted in end events. ● Correlation Keys: ○ Missing variables: Correlation keys must contain at least one variable. ● Implementation Objects - These objects are not commonly modeled in PowerDesigner Web but may be present in models created in the PowerDesigner desktop client: ○ Missing interfaces: Service providers must contain at least one interface. ○ Missing operations: Interfaces must contain at least one operation. ○ Missing input message (One-Way): One-way operations must specify an input message. ○ Missing input message (Request-Response): Request-response operations must specify both an input and an output message. ○ Missing input message (Solicit Response): Solicit response operations must specify both an input and an output message. ○ Missing output message (Notification): Notification operations must specify an output message. ○ Missing output message (Request-Response): Request-response operations must specify both an input and an output message. ○ Missing output message (Solicit Response): Solicit response operations must specify both an input and an output message.

2.4.10.2 Verifying Enterprise Architecture Diagrams

PowerDesigner Web provides a set of standard verification rules for enterprise architecture diagrams.

● All Objects: ○ Name Uniqueness: Object names and codes must be unique for objects of the same type in the namespace.

● Organization architecture checks: ○ Missing organization unit: A person must belong to at least one organization unit. ○ Manager not in organization: A manager of an organization unit must belong to that organization unit. A manager of a person must belong to the same organization unit as the person. ○ Cannot manage self: A person cannot manage herself. ● Application architecture checks: ○ Not deployed: Each application, database, component, form, and application service should be deployed at least once.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 59 ○ Incorrectly used: Contracts must have at least one incoming and one outgoing link with an application service, a business service, or a role. ○ Multiple input service types: Contracts must have either roles, business services, or application services as inputs, but not any combination of these types. ○ Same input and output: Contracts cannot have the same service as an input and output. ● Infrastructure architecture checks: ○ Serial number / Asset number / Mac address uniqueness: These identifiers must be unique for infrastructure assets. ○ Isolated node: Each infrastructure asset should be linked to at least one other node. ○ No deployed object: Each deployment instance should be an instance of some object. ○ Not deployed: Each deployment instance should be deployed to a server, workstation, mobile device, or network. ○ Unsuitable server: If a deployment instance is deployed to a software server, the type of the software server must be appropriate for the instance.

2.4.11 Reviewing Models for Publication

If you have Write permission or higher on a model that another user has submitted for publication, then it will appear in your homepage for review before publication. The changes proposed in the model will not be published until you or another user with Write permission or higher approves it.

Context

 Note

If you have Write permission or higher on a model, and choose to submit your changes for peer review, the submitted model will appear in your own review list (as well as being sent to other qualified users) and you can, at any time, review and publish it yourself. For information about permissions, see Understanding Document Permissions [page 79].

Procedure

1. Click the item in the Invitations to Review list to open it for review.

 Note

Only changes submitted through PowerDesigner Web appear in your homepage for review. Changes submitted through the PowerDesigner desktop client will not appear.

2. If the Comments panel is not already open, open it and review any comments that the modeler and her peers have posted (see Commenting on Diagrams [page 20]).

PowerDesigner Web 60 PUBLIC Working with Models and Diagrams in PowerDesigner Web 3. Review the content of the model for accuracy and compliance with your organization's modeling standards: ○ To verify that it conforms with the appropriate modeling rules, click the Verify button at the bottom right of the window (see Verifying Diagrams [page 56]). ○ To obtain an interactive analysis of the changes made from the published version, select Menu Compare Versions (see Comparing Model Versions [page 26]). 4. If there are problems with the model, you can: ○ Add comments to the objects requiring further attention (see Commenting on Diagrams [page 20]). ○ Click Edit and make corrections yourself (see Editing Diagrams [page 30]). 5. Once your review is complete, click the Publish tool and select one of the following options: ○ Publish - Approve all the changes and publish them to make them available to everyone (see Publishing Models [page 61]). ○ Return for Revision - Return the draft model to the modeler to make the changes required before publication. Before returning the model for revision, you should document your requirements using comments. ○ Reject Changes - Reject the draft model and delete the changes.

2.4.12 Publishing Models

When your changes (or the changes you are reviewing) are complete, you can publish them and make the new version of the model available to all users.

Context

 Note

You must have Write permission or higher to directly publish a model. If you have only the Submit permission, select Publish Submit Changes to send your changes for review before publication.

Procedure

1. [recommended] Review the content of the model for accuracy and compliance with your organization's modeling standards:

○ To verify that it conforms with the appropriate modeling rules, select Publish Verify (see Verifying Diagrams [page 56]). ○ To obtain an interactive analysis of the changes made from the published version, select Menu Compare Versions (see Comparing Model Versions [page 26]).

2. Click Publish Publish and enter a comment to explain the purpose of these changes.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 61 The publication comment is displayed against the version number on the model property sheet Versions tab (see Object Properties [page 19]). 3. Click OK to publish the changes.

 Note

If another user has published a new version of the model since you began editing, you will be prompted to review and apply their changes before publishing your new version (see Reviewing Updates to the Published Version [page 62]). Click Update to review the changes. After review, you are returned to the diagram viewer and need to click Publish Publish again.

A new version of the model is published. To continue editing, click Edit. To return to your homepage, click Home.

2.4.12.1 Reviewing Updates to the Published Version

If another user has published a new version of the model since you began editing you will be prompted to review and apply their changes in your model before publishing your changes. You can accept or reject each update individually before continuing with the publication.

Every difference between your version of the model and the new version checked in after you began editing is treated as an action that must be performed on your version to make it consistent with the published version. You can select or deselect individual actions in order to obtain only the updates you want. When you have finished your review, click OK to return to your updated diagram.

● In the diagram panels: ○ The published diagram is displayed in the left panel and your version in the right panel. Differences are color-coded as follows: ○ Create actions - [Green (right panel only)] By default, any object that is absent in the local version and present in the published version will be created (the create action is selected). ○ Update actions - [Orange (both panels)] By default, where a property has a different value in the published version and the local version, the published version property has priority (the update action is selected). ○ Delete actions - [Red (left panel only)] By default, any object that is present in the local version and absent in the published version will be preserved (the delete action is unselected). ○ Conflicts - [various colors (both panels)] By default, the change made in the local version is preserved. ○ Click an object in either panel to select it in the list of changes. ○ Click and drag to move around the diagram. Use your mouse wheel to zoom in and out. Click the Show Overview arrow in the bottom-right corner to display the Overview panel, which helps you navigate in large diagrams. ● In the bottom toolbar: ○ Click the filter tool to control the display of creations, changes, symbol changes (including creation and deletion of symbols), deletions and conflicts. ○ Click the left or right arrows to go to the next or previous change. ○ Click the change text itself to display the list of changes. ○ Click OK to apply the selected changes and return to your updated diagram.

PowerDesigner Web 62 PUBLIC Working with Models and Diagrams in PowerDesigner Web ● In the top toolbar: ○ Click the Properties tool to display the Compare Properties panel, which shows the Published Properties, the Changes to them, and the Local Properties of the selected object. ○ Click the Show Comments tool to open the Comments panel and review or add comments (see Commenting on Diagrams [page 20]). Select an object in the diagram to show only the comments attached to it, or click the diagram background to show all the comments. ○ Select Menu Impact and Lineage Analysis to open an analysis diagram in a new tab (see Impact and Lineage Analysis [page 63]).

2.5 Impact and Lineage Analysis

PowerDesigner Web maintains connections between objects within diagrams, in different diagrams, and across different domains. Impact and lineage analysis allows you to visualize and follow these connections to understand the dependencies between objects and the impact of making a change on one of the objects in the chain. The analysis is driven principally by the lists of objects that appear on the Dependencies and optionally Children tabs of an object.

Context

 Note

Administrators with the Manage All Documents privilege can edit the analysis rule sets that control the inclusion of object collections in the analysis and their positioning on the lineage or impact sides of the analysis tree (see Customizing the Analysis Rules [page 66]).

Procedure

1. Select the object that you want to analyze in the diagram viewer to display its context toolbar and then click Menu Impact and Lineage Analysis . Alternatively, navigate to the property sheet of the object you want to analyze in the diagram viewer, repository, or search dialog, and select Menu Impact and Lineage Analysis .

The analysis diagram opens in a tab in the Impact Analysis viewer. By default, up to three levels of impacts (comprising up to 100 objects) is displayed to the right of the analysis object and up to three levels of lineages (comprising up to 100 objects) is displayed to the left. You can: ○ Hover over an object to see its object type and the model it belongs to in a tooltip. ○ Click the Show Properties tool in the top right-hand corner to display the property sheet of the selected object.

In this example, the Kayak system depends on a number of components and sites, and impacts various other objects:

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 63

2. If an object displays a small plus sign on its outer edge, you can click on it to expand the analysis along this path.

Alternately, select an object and press + to expand one level (or Ctrl + + to expand up to five levels) of analysis.

 Note

Objects on the impact (right-hand) side of the analysis can only display further impacts and objects on the lineage (left-hand) side can only display further lineages. To display the lineages of an object shown among the impacts (or the impacts of an object shown among the lineages), you must recenter the analysis on the object by selecting it and clicking the Change Analysis Object tool.

3. The following tools are available in the toolbar:

Tool Description

Lineage Rule Set - Specifies the lineage rule set which controls the display of objects on which the analyzed object depends on the left of the analysis tree. Select to hide lineage objects.

Impact Rule Set - Specifies the impact rule set which generates the display of objects which de­ pend on the object on the right of the analysis tree. Select to hide impacted objects.

Change Analysis Object - Recenters the analysis on the selected object.

Open Diagram - Opens the diagram in which the object appears, centered on the object. If the ob­ ject appears in multiple diagrams, a dialog is displayed to allow you to choose which one to open.

PowerDesigner Web 64 PUBLIC Working with Models and Diagrams in PowerDesigner Web Tool Description

Reanalyze - Reruns the analysis to take into account recent local and server changes.

4. [optional] Select any object that you want to remove from the analysis and press Delete . 5. [optional] Select any object in the analysis to highlight the paths that connect it to the analysis object:

In this example, a business capability, far removed from the initial system, is selected, and the multiple impact paths that lead to it are highlighted:

6. [optional] Click the Menu button and select a command to share, print, or export the diagram (Sharing, Printing, Reporting On, and Exporting Diagrams [page 22]). 7. Your analysis diagram remains open until you close its tab. If you launch other analyses, they open in separate tabs.

You can switch freely back and forth between the Impact Analysis, Diagram Viewer, Repository Explorer, and other screens as necessary.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 65 2.5.1 Customizing the Analysis Rules

Administrators with the Manage All Documents privilege can edit the analysis rules that control the inclusion of object collections in the analysis and their positioning on the lineage or impact sides of the analysis tree.

Context

Three analysis rule sets are provided with PowerDesigner Web:

● Global Lineage Analysis and Global Impact Analysis - These two rule sets control the display of object collections on the left and right sides respectively of the Impact and Lineage Analysis window. ● Heatmap Analysis - Controls the coloring of symbols when using an impact analysis-based heat map (see Applying Heat Map Coloring to a Diagram [page 22])

 Caution

Edits to these rule sets will affect the behavior of impact analysis and heat maps for all repository users.

Procedure

1. Navigate to the property sheet of the object for which you want to customize the analysis rules in the diagram viewer, repository, or search dialog, and select Menu Impact and Lineage Analysis . 2. Select the lineage and / or impact rule set that you want to edit.

Tool Description

Lineage Rule Set - Specifies the lineage rule set which controls the display of objects on which the analyzed object depends on the left of the analysis tree. Select to hide lineage objects.

Impact Rule Set - Specifies the impact rule set which generates the display of objects which de­ pend on the object on the right of the analysis tree. Select to hide impacted objects.

3. Click the Show Properties tool to display the property sheet.

Lineage and Impact tools are displayed alongside: ○ Properties on the Info tab that reference another object. ○ List of objects on the Children and Dependencies tabs. Each property and list can show the following tool states:

PowerDesigner Web 66 PUBLIC Working with Models and Diagrams in PowerDesigner Web Tools Display

Lineage - The objects are displayed on the left side of the analysis tree as impacting the object.

Impact - The objects are displayed on the right side of the analysis tree as being impacted by the ob­ ject.

Lineage and Impact - The objects are displayed on both sides of the analysis tree.

None - The objects are not displayed in the analysis tree

 Note

The Lineage or Impact tool states cannot be modified if you have not selected a lineage or impact rule set.

4. Use the tools to hide or display objects as necessary and then click the Refresh tool to preview your changes in the analysis tree.

When you modify a tool state, the rule set containing that tool state is marked with an asterisk to show that it contains an unpublished change.

For example, the project Raindrop displays the goals it fulfills and people connected to it via role associations as lineages and the assets it impacts as impacts:

You could customize the analysis by displaying the property sheet, clicking the Dependencies tab, and : ○ Moving the Goals Fulfilled to the impacts side of the analysis tree. ○ Hiding the Role Associations in the analysis tree.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 67

As both the Global Lineage Analysis and Global Impact Analysis rule sets have been modified, each one will be marked with an asterisk.

 Note

The changes apply to all instances of the selected type of object. When analysing other projects, their goals will be displayed as impacts, and their role associations will not be displayed.

5. [optional] Select another type of object and use the tools to modify the types of objects that it displays in the analysis tree and click the Refresh tool to preview them.

6. When you are satisfied with your modifications, select Publish Publish , enter a comment describing your changes, and click OK to publish the modified rule sets to the repository and make them available to all users.

 Note

If you need to roll back a published change to a rule set, go to the repository explorer, navigate to the Library folder, select the appropriate rule set, click the Versions tab, and then click the Delete tool to delete the latest version of the rule set. If you have made modifications to both lineages and impacts you may need to roll back changes to two rule sets.

PowerDesigner Web 68 PUBLIC Working with Models and Diagrams in PowerDesigner Web 2.6 Translating Models and Viewing Translated Models

PowerDesigner Web supports translating your model content for viewing in over 30 languages. Each repository has a default master language for creating models and objects, and users can choose the language in which they want to view model content.

Context

By default, all users view model content in the default (Master) language until they click the Content Language tool and select a different language. The (Master) language is neutral - it can represent, English, French, or any other language that is the principal working language for your organization.

 Note

The content language is separate from the interface language, which controls the language in which you see field names, tooltips, help and other interface elements. To change the interface language, go to the homepage, click your name, select Language, and then click your preferred language.

PowerDesigner Web supports translating model content as follows:

● All models, diagrams, and objects in a repository must be created in the (Master) language, and we recommend that you complete and publish models in the (Master) language before undertaking their translation. ● The primary text fields, Name, Comment, and Description for all objects can be translated for viewing in multiple languages. ● When you select a Content Language, PowerDesigner Web will present content in the diagram and property sheet to you in this language if it is translated, and will display fields containing untranslated data with a light yellow background.

 Note

Translated content is only visible in the diagram viewer and property sheet, and is not visible in the Search dialog, diagram verification, and other features.

● The Content Language tool changes based on your choice and on the availability of translated content in the diagram being viewed:

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 69 No Content Language Selected or Model Content Master Language Selected Other Language Selected

No content translated

[default] No translation has been performed and so all fields show yellow. You can translate them if you have Submit or higher permission on the diagram.

Some or all content translated

You have not chosen a content lan­ You can view translated content if it is guage, but are made aware that there available in your language and/or are translations available. translate yellow fields.

● If you edit a model while viewing it with a Content Language that is not the (Master) language, any edits that you make are saved as the selected language.

 Note

Creating objects in a language other than the master language is not supported.

To change the language in which you view diagram content:

Procedure

1. Open a diagram and click the Content Language tool in the top toolbar, next to the Menu button.

Languages into which all or part of the model content has been translated are available in the list, and other languages are available by clicking the Other Languages item. 2. Click a language to select it as your Content Language.

If object names and other translatable data are available in the selected language they will be displayed. Otherwise, content will be shown in the master language with a light yellow background to signal that it requires translation into the selected language. 3. [optional] If you have Submit or higher permission on the diagram, you can edit it and enter translations for the Name, Comment, and Description fields of objects.

To translate a field with a light yellow background into your content language, select and overwrite the existing content.

 Note

Any edits you make will be saved as the selected language. Creating objects in a language other than the master language is not supported.

PowerDesigner Web 70 PUBLIC Working with Models and Diagrams in PowerDesigner Web 2.7 Model-to-Model Generation

You can generate a model to another model to make a copy of it.

Context

 Note

You can only generate to a new model. You cannot update an existing model.

Procedure

1. Open the model from which you want to generate a new model. 2. If the model is not already editable, click the Edit tool.

3. Select Menu Generate Model .

If there are unsaved changes in your model, you will be prompted to save. 4. Select the folder that you want to generate the model to and specify a name for it. 5. Click Generate to generate the model.

The generated model opens in a new tab and is added to your homepage in the My Work in Progress section. 6. Make any appropriate edits to the generated model and then publish it to make it available to other users (see Publishing Models [page 61]).

2.8 Browsing The Repository

The Repository gives you access to all the published models, diagrams, and objects that you have permission to see via a navigable tree view. To access the repository, click Repository Explorer in the navigation panel or click the Browse "Repository" (or another favorite folder) item in your homepage Quick Links card.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 71

● The top-left panel lets you can navigate in the repository tree structure to browse its content: ○ Click a folder, branch, project, model, or package to descend into it and view its contents. The item is added to the path, with an X to its right, and its property sheet is displayed in the right-hand panel. ○ Click the X to the right of an item in the path to return to the level above. ● The bottom-left panel lists the documents that are the immediate children of the currently selected folder, branch, or project, or the packages contained within the model or package: ○ Click a document or package in the bottom-left panel to view its property sheet in the right-hand panel. ● The right-hand panel displays the property sheet of the currently selected folder or document (see Object Properties [page 19]): ○ Select Menu Subscribe to Change Notifications to receive an email when the document or the contents of the folder change. ○ Select Menu Share Link to obtain a link to the document or folder. ○ [folders] Click the Add to Homepage star to add a shortcut to the folder to the Quick Links card in your homepage. The following tabs are most commonly used in the repository: ○ Diagrams - Lists thumbnails of diagrams contained in the item: ○ Click a diagram thumbnail to open it (see Viewing Diagrams [page 14]). ○ [folders] Click the + tile (or click the menu button and select Create Model or Import ) to create a diagram inside a new model.

 Note

The new model will, by default, inherit the permissions of its parent folder.

○ [models] Click the + tile to create a new diagram inside the model. ○ [models] Select Menu Generate Report - to generate a report for the model's diagrams (see Generating a Report on a Model [page 25]).

PowerDesigner Web 72 PUBLIC Working with Models and Diagrams in PowerDesigner Web ○ Charts [models] - Lists thumbnails of charts contained in the item: ○ Click a chart thumbnail to open it. ○ Click the + tile to create a chart (see Creating a Chart [page 73]). ○ Children - Lists all the documents and folders contained in the folder, branch, or project or the objects contained within the model or package. The following actions are available for folders, branches, and projects: ○ Click the menu button and select Create Folder to create a sub-folder.

 Note

The new folder will, by default, inherit the permissions of its parent location (see Understanding Document Permissions [page 79]).

○ Click the menu button and select Upload New File to upload a new external file for storage in the repository (see Uploading and Working with External Files [page 75]). ○ Use the list to rename, move or delete items (Renaming, Moving, and Deleting Repository Items [page 75]). ○ Permissions - Lists the users and groups with permissions to view and edit the contents of the folder or the item. Users with Full permission on the object and administrators with the Manage Users and Permissions privilege can modify permissions (see Understanding Document Permissions [page 79]). ○ Subscriptions - Lists the users and groups receiving email notifications when the item is updated. Users with Full permission on the object and administrators with the Manage Users and Permissions privilege can modify subscriptions (see Subscribing to Change Notifications [page 76]). ○ Versions - [models, external files] Lists the published versions of the item.

2.8.1 Creating a Chart

If you have Submit or higher permission on a model, you can create a chart to analyze its contents. You create charts from the Charts tab of the model's property sheet, and can view them either in that tab or via the Dashboard.

Procedure

1. Navigate to the model for which you want to create a chart, click the Charts tab, and then click the + tile.

 Note

You must have at least Submit permission (see Understanding Document Permissions [page 79]) for the model for which you want to create the chart to see the + tile. If it is not visible to you, contact your administrator.

2. Select the appropriate dataset from the list to open it in the Chart Editor.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 73  Note

The datasets in this list are created using the PowerDesigner desktop client. If you require a dataset that is not available, contact your administrator. For detailed information about working with datasets, see Customizing and Extending PowerDesigner > Extension Files > Chart Datasets (Profile) .

3. Select the type of chart you want to use: ○ Column Charts - Standard, stacked, and 2 Y-Axes column charts. ○ Line Charts - Standard, area, combined column, 2 Y-Axes, and combined column and 2 Y-Axes line charts. ○ Pie Charts - Pie and donut charts. ○ Scatter Charts - Scatter and bubble charts. ○ Map Charts - Heat and tree maps. 4. Select appropriate measures and dimensions. The chart will dynamically update as you make changes to its parameters.

 Note

For examples of measures and dimensions, see EA Example Charts [page 81]).

5. Once you are happy with your chart, click Save to publish it and make it available to other users on the model property sheet Charts tab and in the Dashboard (see Viewing Charts [page 80]).

PowerDesigner Web 74 PUBLIC Working with Models and Diagrams in PowerDesigner Web  Note

You can subsequently edit the chart by opening it from the Charts tab and clicking the Edit tool in the top toolbar. You cannot edit a chart when it is opened from the Dashboard.

2.8.2 Uploading and Working with External Files

You can upload Word, Excel, PDF, and other files into the repository to make them available next to your models. Files are listed in the Documents section in the bottom-left panel and on the Children tab of the folder. You must have Write or higher permission on a folder to upload an external file to it, and Write or higher on the file to upload a new version of it. Users must have Read permission or higher to see and download the file.

● Upload a new external file - On the Children tab of the folder, click the menu and select Upload New File, navigate to the file to upload, and then click Upload. The file will inherit the permissions of its parent folder. To change them, use the tools on its Permissions tab (see Understanding Document Permissions [page 79]). ● Download an external file - On the Children tab of the parent folder, click the file name to go to its property sheet, and then click the file name hyperlink on the Info tab to begin the download. ● Upload a new version of the file - On the file's Info tab, click the Upload New Version tool, navigate to the new version to upload, and then click Upload. A list of versions of the file is maintained on its Versions tab. ● Receive an email when the file is updated - Select Menu Subscribe to Change Notifications . ● Share a link to the file - Select Menu Share Link .

2.8.3 Renaming, Moving, and Deleting Repository Items

You can rename, move, or delete models, files, and folders in the repository from the Children tab of their parent folder. You must have at least Write permission to rename an item and Full permission to move or delete it.

The following operations are supported:

● Rename an item - On the Children tab of the parent folder, hover over the item name and then click the pencil that appears. ● Move one or more items - On the Children tab of the parent folder, select the checkboxes to the left of the items to move, click the Move tool, select the folder to move them to and then click Move. ● Delete one or more items - On the Children tab of the parent folder, select the checkboxes to the left of the items to delete, click the Delete tool, and then click Delete. ● Delete the latest version of a model or file - On the document's Versions tab, click the Delete Latest Version tool.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 75 2.8.4 Subscribing to Change Notifications

You can subscribe to receive an email each time a model is created, updated, or deleted. You can subscribe to a repository folder or to an individual model. Repository administrators and users with Full permission on a document or folder can grant subscriptions on it.

● Subscribe to a folder - Navigate to the folder, click the menu and select Subscribe to Change Notifications. The subscription icon is displayed above the folder name, and you will receive an email each time a diagram in the folder (or in any of its subfolders) is: ○ Published for the first time. ○ Republished with a new version. ○ Deleted. ● Subscribe to a model - Navigate to the model, click the menu and select Subscribe to Change Notifications. The subscription icon is displayed above the model name, and you will receive an email each time it is updated or when it is deleted. ● Grant subscriptions to other users - [administrators or users with Full permission] Navigate to the folder or model and select the Subscriptions tab. Click the + button to open a list of available users and groups, select one or more, and click OK to add them to the list.

2.8.5 Object Names and Codes

Each object has a name, which is intended to be human readable, and a code, which is used when generating scripts. Codes are, by default, synchronized with names. You can control synchronization on an object-by- object basis and specify the conversion of individual words via a name-to-code conversion table.

The rules for synchronizing codes with names are as follows:

● When you create an object, or edit its name, the code is, by default, synchronized with the new name, subject to the following rules: ○ Lowercase letters are capitalized. ○ Non-alphanumeric characters are replaced by underscores. ● To control the conversion of specific strings (for example, to convert the word Customer in names to the abbreviation CUST in codes), use a name-to-code conversion table (see Specifying a Name-to-Code Conversion Table [page 76]). ● To make a code vary from the name of its object, overwrite the value in the Code field. ● To resynchronize a code with the name of its object, click the Synchronize button to the right of the Code field.

2.8.5.1 Specifying a Name-to-Code Conversion Table

By default, names of objects are converted into codes with all letters converted to uppercase and all non- alphanumeric characters replaced with underscores. You can additionally specify a .csv file containing a list of strings that may appear in object names paired with equivalent (generally shorter) strings with which to replace them when generating object codes. For example, each instance of the word Customer in object names in your model could be converted to CUST in their codes.

PowerDesigner Web 76 PUBLIC Working with Models and Diagrams in PowerDesigner Web Procedure

1. Upload your conversion table to the repository (see Uploading a Name-to-Code Conversion Table [page 77]). 2. In your model, navigate to the model property sheet Info tab and click the Select button to the right of the Conversion table field.

The Select File dialog opens to the Library/Resources/Conversion Tables folder. 3. Select your conversion table and click Select to attach it to your model.

Any word that you enter in the Name field of an object (and that appears in the first column in your file) is replaced in the Code field by the corresponding word in the second column.

2.8.5.2 Uploading a Name-to-Code Conversion Table

You must upload a conversion table to the repository before you can use it in your model. Your conversion table must be a plain text file with column-separated values and have a .csv extension.

Procedure

1. Create your conversion file and save it in an appropriate location.

The file must contain one comma-separated name-code pair per line and have a .csv extension.

In this example, the following file is saved as AcmeConversionTable.csv:

Account,ACCT

Customer,CUST

Suppler,SUPP

2. On the homepage, click the Repository tile to enter the repository explorer. 3. Navigate to the folder in which you want to store your conversion table.

 Note

You can store your conversion table in any folder, but we recommend that you upload them to the dedicated Library/Resources/Conversion Tables folder.

4. Click Menu Upload New File . 5. Click Browse, navigate to and select your conversion file, and click Open to prepare it for upload. 6. Click Upload to create the file in the repository folder and make it available for use.

2.8.6 Transferring Content Between Repositories

You can transfer content from one repository to another by exporting and importing repository zip files. You can use this mechanism to move models, extensions, analysis rule sets, and external files from one repository

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 77 to another in your current environment, or to migrate content from an on-premise repository to a cloud repository or vice versa.

Exporting Content

Navigate to a folder, model, or other file in the repository explorer and select Menu Export to Repository Zip File to export its contents, including any sub-folders and their contents.

 Note

You cannot export the entire repository from root. You can only export from a first-level or lower sub-folder. In case of a time out, go into a sub-directory to export a sub-set of the content.

 Note

The Global Impact Analysis, Global Lineage Analysis, and Heatmap Analysis rule sets (see Customizing the Analysis Rules [page 66]) are located in the Library folder.

Alternatively, to export a model, open it in the diagram viewer and select Share Export to Repository Zip File .

A file named EAD_.zip is downloaded in your browser containing one .json file for each model and external file organised in sub-folders as appropriate, along with any extension files associated with the models. If warnings or errors occur, a log file will be downloaded in your browser.

Importing Content

In order to import content, you must:

● Select a zip file that has been exported from an SAP EA Designer or SAP PowerDesigner repository. No other type of file can be imported. The maximum zip file size that can be imported is 100MB. ● Have at least Write permission on the folder to import into. ● [to import extensions] Have the Edit Extensions on Web user right.

Navigate to the folder in the repository explorer where you want to import the content and select Menu Import Repository Zip File . Click Browse, navigate to a zip file exported from another repository, and select Open and then Upload.

The content is imported to the selected folder and any extensions that are not already present are imported to the relevant folder and reconnected with the models. If warnings or errors occur, a log file will be downloaded in your browser.

Importing content is subject to the following restrictions:

● The maximum zip file size that can be imported is 100MB. ● Shortcuts - If a model contains shortcuts to objects in another model (see Reusing Objects [page 51]), the shortcuts can only be correctly resolved if you also import the target model that contains the source

PowerDesigner Web 78 PUBLIC Working with Models and Diagrams in PowerDesigner Web objects that the shortcuts point to. The target model can be imported after the model containing shortcuts. ● Reimporting content: ○ You can update content. If any models in your zip file are already present in the target folder, any changes present in the new version are applied to the existing models. ○ You can reimport content into a different folder to create copies with new IDs for all the models and model objects. ○ When you reimport models containing shortcuts to other models, the shortcuts are resolved by preference to another model being imported in the same zip file or, if that is not possible, to a model that is already present in the repository. In the following example: ○ The models Model A and Model B, which each contain shortcuts pointing to the other, are exported in a zip file and then imported into a new repository in Folder 1. ○ The zip is then re-imported into Folder 2 to create independent copies with new IDs, which resolve their shortcuts locally in the folder. ○ Model A is then exported on its own in a separate zip file and imported into the same repository in Folder 3 to create another copy. However, as Model B is not available in the zip file being imported, Model A cannot resolve its shortcuts locally, and instead resolves them against the original Model B in Folder 1:

2.8.7 Understanding Document Permissions

Access to repository folders and the models and other documents stored in them is controlled by administrators and by users who have Full permission on the object. You must have Read to be able to open a model diagram, Submit permission to be able to edit (propose changes to) it, and Write permission to be able to publish changes.

If you believe that you do not have an appropriate permission on a document, contact your administrator.

The complete list of possible permissions is as follows:

● List - This permission level is not currently in use. ● Read - Open and compare documents. ● Submit - Also propose changes to the document for review by a user with Write permission. ● Write - Also review changes by other users and publish changes directly. ● Full - Also move and delete documents, and manage permissions granted to users and groups.

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 79  Note

Administrators, who have implicit Full permission on all repository objects, will only receive models for review if they have been granted explicit Write permission on them.

2.9 Viewing Charts

The Dashboard gives you access to charts visualizing information drawn from published models. To access the Dashboard, click the Open Dashboard item in your homepage Quick Links card.

Click a chart thumbnail to open it in the Chart Viewer. Click a chart element or table line to drill down into the data.

 Note

Charts are not created directly in the Dashboard, but on the Charts tab of a model property sheet (see Creating a Chart [page 73]).

PowerDesigner Web 80 PUBLIC Working with Models and Diagrams in PowerDesigner Web 2.9.1 EA Example Charts

Charts allow you to visualize statistics drawn from your metadata. The EA Example model has a number of example charts defined for it, which can be viewed by installing the EA Example repository and navigating to it with PowerDesigner Web.

The following example charts are defined in the EA Charts extension file, which is loaded by default in your repository library (and which is delivered as part of the EA Example files available at / Examples/EAExample).

Dataset and Chart Configuration Chart

Question: What OS are my servers running?

Path: Model Hardware Server (Operating System,

Operating System Version)

Chart: A pie chart with each OS as a piece of the pie:

● Pie Sectors: Count (of hardware servers) ● Legend Color: Operating System

Question: What OSs are running where?

Path: Site Site Site Hardware Server (Operating

System, Operating System Version)

Chart: A stacked bar chart with OSs as stacked colored bars

● Measures: Count (of hardware servers) ● X Axis: Region, Country ● Legend Color: Operating System

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 81 Dataset and Chart Configuration Chart

Question: What DBMSs are my servers running?

Path: Model Database (DBMS, DBMS Version)

Chart: A pie chart with each DBMS as a piece of the pie:

● Pie Sectors: Count (of databases) ● Legend Color: DBMS

Question: What DBMSs are deployed where?

Path: Site Site Site Hardware Server Deployment

Instance Database (DBMS, DBMS Version)

Chart: A tree map:

● Area Weight: Count (of databases) ● Area Color: Count (of databases) ● Area Name: Region, Country, Site, DBMS

Question: Who are my process owners and what processes do they own?

Path: Organization Unit Organization Unit Person

Role Association Process

Chart: A bar chart with a bar per person:

● Y Axis: Count (of processes) ● X Axis: Person ● Legend Color: Organization Unit

PowerDesigner Web 82 PUBLIC Working with Models and Diagrams in PowerDesigner Web Dataset and Chart Configuration Chart

Question: What is my IT Capex by Program and Project?

Path: Program Program Project (ItCapex)

Chart: A tree map:

● Area Weight: ItCapex ● Area Color: ItCapex ● Area Name: Program, SubProgram, Project

Question: What is my IT Capex by Goal?

Path: Goal Goal Goal Fulfillment Project

(ItCapex)

Chart: A pie chart with each goal as a piece of the pie:

● Pie Sectors: ItCapex ● Legend Color: Goal

Question: What is my IT Capex by Business Capability?

Path: BusinessCapability BusinessCapability

TraceabilityLink Project (ItCapex)

Chart: A bar chart with a bar per business capability:

● Y Axis: ItCapex ● X Axis: L1 Business Capability

PowerDesigner Web Working with Models and Diagrams in PowerDesigner Web PUBLIC 83 Dataset and Chart Configuration Chart

Question: How complex are the dependencies of my busi­ ness capabilities on applications?

Path: BusinessCapability BusinessCapability

TraceabilityLink System EnterpriseApplication

Chart: A bar chart with a bar per business capability:

● Y Axis: Count (of applications) ● X Axis: L1 Business Capability

Question: What is the impact of my projects on processes?

Path: Process Process Process Process

TraceabilityLink System Impact Project

Chart: A bar chart with a bar per business capability:

● Y Axis: Count (of projects) ● X Axis: L1 Business Capability

PowerDesigner Web 84 PUBLIC Working with Models and Diagrams in PowerDesigner Web 3 Requirements

Requirements documents display a hierarchical list of written requirements. You can link requirements to users and groups who will work on them or are otherwise associated with them, and with any object that contributes to the fulfillment of the requirement or is impacted by it.

In this example, the Registration requirement is selected in the hierarchy:

To create a requirements document, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Requirements, and click Create.

● The following tools are available in requirements documents:

Tool Description

Insert Requirement (Ctrl+I)/Insert Child Requirement (Ctrl+Shift+I) - Insert a new requirement as a sibling or a child under the selected requirement.

PowerDesigner Web Requirements PUBLIC 85 Tool Description

Find Object to Reuse -

Open the Search dialog (see Searching for Diagrams or Objects [page 12]) to search for the re­ quirements that you want to reuse. You can reuse requirements from both the current model and other models in the repository. The reused requirements can only be edited in their original models.

To insert the reused requirements as the children to a requirement in your current model, select the requirement before clicking this tool. If no requirement is selected, the reused requirements are added to the root level of your model.

 Note

This tool is also available in the requirement diagrams (see Requirement Diagrams [page 87]).

Move Up (Shift+Alt+Up Arrow)/Move Down (Shift+Alt+Down Arrow) - Move the selected require­ ments up or down in the tree at a single level.

Promote (Shift+Alt+Left Arrow)/Demote (Shift+Alt+Right Arrow) - Move the selected require­ ments up or down a level in the tree.

Expand/Collapse - Open or close the selected branch of the tree.

Undo [ Ctrl + Z ] / Redo [ Ctrl + Y ] - Step back or forward through your changes since the last save.

Customize Columns - Open the Columns dialog to show or hide columns in the document or change their order. Select the checkbox to the left of a column name in the list to display it, and use the arrows at the top of the list to change the order of columns.

Enable / Disable Filter - Toggle between enabling and disabling filters defined in column headers.

● To filter requirements by values in a column, click the column header to open the filter pop-up. Specify an operator and a value to filter against. When using the operator = with a column containing text, * (asterisk) can be used as a wild card.

 Note

When a filter is set on a column, a filter icon is displayed on the right of the column header. To disable the filter, click the column header and then click the Clear Column Filter link in the pop-up.

● To select multiple requirements click in the checkboxes in the left-most column. When multiple requirements are selected, any edits you make to properties in a column (other than Title ID, Name, or Code) are applied to all the selected items. ● To view a previous version of a requirements model, open the requirements model in the Repository Explorer and select the Versions tab to open its version history. Click the > button to open a version in read- only mode.

PowerDesigner Web 86 PUBLIC Requirements  Note

You can only edit the latest version of a requirements model.

3.1 Requirement Diagrams

Requirement diagrams allow you to visualize the hierarchy and other relationships between all or some of the requirements from your requirements list.

This example shows the Multi-Functional Forklift requirement and two of its child requirements, Tires and Counterweight. Requirement symbols display the title, title ID, and comment of the requirement.

To create a requirement diagram from a requirements list, select any requirements you want to visualize and then click the diagram selector in the tool bar and choose Create Requirement Diagram. You can use the diagram selector to switch between the list and diagram views, and to create additional diagrams to visualize other subsets of your requirements.

To show or hide the child requirements of a parent requirement, click the " + " or " - " on the bottom of the parent symbol.

The following tools are available in requirement diagrams:

Tools Description

Reuse Model Objects. Opens a list to allow you to drag existing requirements into the diagram.

PowerDesigner Web Requirements PUBLIC 87 Tools Description

Requirement. Creates a new top-level requirement in the diagram. To add the requirement as a child of an existing requirement, drag it onto the parent requirement symbol.

To create a child requirement under an existing requirement, select the parent requirement and then click the Child Requirement tool in its context toolbar.

To separate a child requirement from its parent, delete the link between them. The former child will become a top-level requirement.

 Note

The title ID is updated to reflect the new position of the requirement in the hierarchy each time you move it, and any changes you make are also reflected in the document view.

Derive Dependency. Creates a dependency between two requirements. You can create the following types of dependency:

● Derive Dependency (default) - A requirement is derived from a source requirement. For example, Engine Power and Vehicle Weight are two derived requirements that support the source requirement Vehicle Acceleration. Click the Derive Dependency tool to select it and then click and drag from Engine Power to Vehicle Acceleration. ● Copy Dependency - A requirement is reused from another requirement with a separate require­ ment ID. Comment text of the copied requirement is read-only and is subject to source require­ ment comment changes. For example, a Safety Regulatory requirement for Tire A Type is reused in the requirements hierarchy of Tire B Type. Click the Derive Dependency tool to select it and then click and drag from the copied requirement in the requirements hierarchy of Tire B Type to the source requirement. Select the Change Link Type tool on the link to change the link type to Copy Dependency. As a result, the comment text of the copied requirement changes to the same as the comment text on the source require­ ment. ● Trace Dependency - A requirement has a general connection with another requirement. For exam­ ple, the requirement Vehicle System Requirements Specification traces back to the requirement Vehicle System Missions Specification. Click the Derive Dependency tool to select it and then click and drag from the source requirement to the traced requirement. Select the Change Link Type tool on the link to change the link type to Trace Dependency.

 Note

You can also enter a customized stereotype for the link on its property sheet under the Info tab.

These dependency links are listed on the requirements property sheet Dependencies tab in the Outgoing Traceability Links and Incoming Traceability Links lists.

Note. Add notes to your diagram and link them to your symbols.

PowerDesigner Web 88 PUBLIC Requirements Tools Description

Link – Provides an alternative way to create a link. Select the tool and connect two objects with a de­ fault link, then choose Change Link Type to change to another link as appropriate.

This tool is available in both the diagram toolbox and in the context menu of the relevant objects.

Lasso. Select multiple symbols by dragging over them.

3.2 Requirements (RQM)

A requirement is a clear and precise description of a necessary capability or characteristic of a product or process. Requirements can have a priority, status, workload, and other properties assigned to them, and can contain sub-requirements.

To create a sibling of the selected requirement, click the Insert Requirement tool, press Ctrl + I or, if you are in the last requirement in the grid, press the Down Arrow key. To create a child requirement of the selected requirement, click the Insert Child Requirement tool or press Ctrl + Shift + I .

To demote the requirement to a child of the previous requirement, click the Demote tool or press Shift + Alt + Right Arrow . To move it up a level in the tree, click the Promote tool or press Shift + Alt + Left Arrow .

To display the description of the selected requirement, press Ctrl + M .

The following properties are available on the Info tab in the General category:

Property Description

Parent [read-only] Displays the name of the parent requirement. For top-level requirements this is the model name.

Title Specifies a short summary of the requirement.

Code Generates a unique code for the requirement. You can override an individual requirement code by typing directly in this field.

Description Specifies a detailed description of the requirement. Click the Pop Out button to open this field in a larger floating editor.

The following properties are available in the Detail category:

Property Description

Comment Provides space for any comment on the requirement.

Type Specifies the type of the requirement. Choose a value from the list or enter your own value.

PowerDesigner Web Requirements PUBLIC 89 Property Description

Status Specifies the present validation status for the requirement. Choose a value from the list or enter your own value.

Priority Specifies the priority level attached to the requirement. Select a value in the list or type a value. The value cannot be null or negative, and is limited to one decimal (for example: 1.9).

Selected Specifies that the requirement has been selected to be implemented in the project. If this checkbox is cleared, the requirement is excluded from the project and the sum of workloads.

Risk Specifies the level of risk associated with implementing the requirement. Choose a value from the list or enter your own value.

Verification Specifies the type of testing to be applied to the development of the requirement. Choose a value from the list or enter your own value.

Workload 1-4 Specifies four separate workloads (see Assigning Workloads [page 91]). Workloads for require­ ments with sub-requirements are read-only fields calculated as the sums of all sub-requirement workloads.

The following tabs contain additional information:

● Children - Lists sub-requirements. ● Dependencies - Lists users or groups allocated to the requirement and other objects the requirement depends on or impacts.

3.2.1 Linking Requirements with Design Objects

You can link requirements to design objects (objects from other types of models) and to other requirements using traceability links.

 Note

PowerDesigner Web unifies the concepts of traceability links and requirement traceability links, which are separate in desktop PowerDesigner.

You can create traceability links pointing from or to the requirement:

● To create a traceability link pointing from the requirement to the design object or other requirement: 1. Select the requirement and click the Dependencies tab in its property sheet. 2. Click the Add tool in the header of the Outgoing Traceability Links list to open the search dialog. 3. Search for the object that you want to link to the requirement, optionally filtering by location, object type, and other criteria (see Referencing an Object in an Info Tab Property Field [page 55]), and click Select to add it to the Outgoing Traceability Links list.

 Note

The object's property sheet lists the requirement on its Dependencies tab in the Incoming Traceability Links list.

PowerDesigner Web 90 PUBLIC Requirements ● To create a traceability link pointing from the design object (or other requirement) to the requirement: 1. Select the design object (or other requirement) and click the Dependencies tab in its property sheet. 2. Click the Add tool in the header of the Outgoing Traceability Links list to open the search dialog. 3. Search for the requirement that you want to link to the object, optionally filtering by location and other criteria (see Referencing an Object in an Info Tab Property Field [page 55]), and click Select to add it to the Outgoing Traceability Links list.

 Note

The requirement's property sheet lists the design object (or other requirement) on its Dependencies tab in the Incoming Traceability Links list.

3.2.2 Assigning Workloads

A workload is the time assigned to a person or team to satisfy a requirement. Values must be greater than or equal to zero, and limited to one decimal place (for example: 3.5).

No time unit is enforced to measure workloads but, in order to properly calculate totals, you should decide on and consistently use the same unit (hour or day) for all workloads.

You assign workloads to a requirements on the Info tab in the Detail section, where there are fields to record four separate workloads.

You can only assign workloads to requirements that have no sub-requirements. Workloads for parent requirements, packages, and the model are read-only fields calculated as the sums of all their sub-requirement workloads.

3.3 Users and Groups (RQM)

Users are people concerned by one or more requirements. Users can be assigned to Groups, and users and groups can be associated with requirements. You create users and groups on the model property sheet Children tab.

To create a user or group:

1. Click in an empty line in the document to access the document's property sheet and then click on the Model link to go to the model's property sheet. 2. Click the Children tab. If the Users or Groups list is not visible, click the Show/Hide Section tool and select the appropriate list to display it. 3. Click the Add tool in the header of the list.

PowerDesigner Web Requirements PUBLIC 91 The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Email address E-mail address of the user or group.

The following tabs contain additional information:

● Dependencies - Lists groups and users that belong to the group, groups the user or group belongs to and other objects the user or group depends on or impacts.

3.3.1 Adding Users and Groups to a Group

You can add users and groups to a group from the group's property sheet.

Procedure

1. Open the property sheet of a group, and click the Dependencies tab. 2. If the list of Group Users is not visible, click the Show/Hide Section tool and select it. 3. Click the Add tool at the top of the Group Users list, and use the Search dialog to select the user or group to add (see Referencing an Object in an Info Tab Property Field [page 55]). The user or group is now a member of the group.

3.4 Importing Requirements from a ReqIF File

Requirements Interchange Format files are XML files used to exchange requirements between different requirement management tools. PowerDesigner Web supports importing a .reqif file or a .reqifz ZIP archive containing a .reqif file and associated images. You can create a new requirements model from a ReqIF file or update an existing requirements model.

PowerDesigner Web 92 PUBLIC Requirements Context

You can import requirements and associated data from a ReqIF file to either merge into an existing model, or to create a new model in the repository.

Procedure

1. Open the repository explorer from the Quick Links card in your homepage, navigate to the folder you are importing into, and select Menu Import ReqIF File .

 Note

If you are merging ReqIF requirements into an existing model, you can also directly open the requirements list in edit mode, and select Menu Import ReqIF File .

2. On the Info tab, click Browse, navigate to the file you want to import, and click Open to select it for import.

You can import: ○ A .reqif or .xml file containing ReqIF information. ○ A .reqifz or .zip archive file containing a ReqIF file and supporting files, such as images.

When the file loading is complete, you will see the name of the default Mapping Template used to configure the mappings between ReqIF properties and PowerDesigner Web properties. 3. [optional] Select an alternative mapping template as appropriate.

By default, the Automatic Match template matches properties by property name. Your administrators may have prepared and shared other templates to support ReqIF standards. 4. [optional] Go to the Mappings tab and review the mappings proposed:

○ The ReqIF specification, which contains a hierarchical list of requirements objects in a ReqIF file, is mapped to the PowerDesigner Web requirements model. Choose the Requirements Model tab to view the mapped attributes and a data preview from the uploaded ReqIF file. ○ The ReqIF specification object (SpecObject), which represents a requirements object in a ReqIF file, is mapped to the PowerDesigner Web requirement object. Choose the Requirements tab to view the mapped attributes and a data preview from the uploaded ReqIF file.

 Note

Some ReqIF files may contain the ReqIF specification object type (SPEC-OBJECT_TYPE) to represent requirement type, such as software requirements or hardware requirements. If the imported requirements are of different types, each type will be listed as a tab on the left panel of the dialog box. Optionally, choose each tab to view and specify different mappings for different requirement types and the imported requirements are mapped to the PowerDesigner Web requirements.

5. [optional] Update mappings as appropriate by selecting a PowerDesigner Web property in the list.

Use the tools to review, edit, and create templates: ○ Manage Templates - To review the list of available templates. You can rename or delete your templates.

PowerDesigner Web Requirements PUBLIC 93 ○ Save - [if available] To save changes made to the mappings contained in the selected template. ○ Save as - To create a new template from the current mappings. Administrators can select to share the template with other users. 6. Click Import. A confirmation dialogue opens. 7. Choose Confirm to confirm the requirements models you are importing, and how they will be imported into the repository folder. You can change the action type if necessary. ○ If a requirements model detected in the ReqIF file has the same name as a model in this repository folder, its action is set to Merge and its requirements will be merged into the model. You can choose to merge the file into another model in the folder by selecting it in the Import to Model column. When merging requirements into an existing model: ○ If the fully-qualified Name or Code of an imported requirement can be matched to an existing requirement, it updates the existing requirement's properties as appropriate. For example, to update the properties of requirement Identified Users in this example, an imported requirement must: ○ Be a direct child of the requirement Use Cases, and ○ Have the Name Identified Users (or, if the name has been updated, have the Code REQ_0002).

○ If the fully-qualified Name or Code of an imported requirement is not present in the existing list, it is appended as a child of its parent requirement. For example, to create a new requirement as a sibling to the requirement Identified Users, an imported requirement must: ○ Be a direct child of requirement Use Cases, but ○ Have a new Name Identified Use Cases and new Code REQ_0003.

 Note

If the requirements model you are merging into is locked by another user, the model name will be highlighted and the import will not proceed. Choose Notify Users to send an email notification to the relevant user.

○ If no requirements model in this repository folder has the same name, the action is set to New and a new requirements model will be created. Rename the model to be created in the Import to Model column as appropriate.

After the import, the newly created models are submitted for publication, and the merged models will have a new draft version.

An import log providing a summary of the actions performed in the import is automatically downloaded to your browser.

PowerDesigner Web 94 PUBLIC Requirements 3.5 Exporting Requirements to a ReqIF File

Requirements Interchange Format files are XML files used to exchange requirements between different requirement management tools. PowerDesigner Web supports exporting all or parts of a requirements list (including any images contained in your requirements) to a .reqifz ZIP archive.

Procedure

1. Open a requirements list from your homepage or the repository explorer.

2. Select Share Export to ReqIF File . 3. On the Info tab, specify the filename to export to and click Next. 4. By default, all the requirements are selected for export. If appropriate, use the checkboxes to unselect requirements and specify a subset. To review your selection, click the Show Selected button. 5. Click Export to generate and download the .reqifz file.

3.6 Importing Requirements from a Word Document

You can import a hierarchy of requirements contained in a Microsoft Word file with a .docx extension into a new or existing requirements model.

Context

You can either create a new requirements model in the repository or update an existing one by importing requirements from a Word document.

Creating a New Requirements Model

Procedure

1. Open the repository explorer from the Quick Links card in your homepage, navigate to the folder you want to create the model in, and select Menu Import Requirements from Word File . 2. Click Browse, navigate to the Word file you want to import, and click Open to select it for import.

 Note

The file must be in the standard .docx format.

PowerDesigner Web Requirements PUBLIC 95 3. Select Upload.

The contents of the Word document are analyzed and imported to SAP EA Designer as follows: ○ Requirement Names – Are taken from Word titles with "heading" styles. ○ Requirement Descriptions – Are taken from the body under each formatted heading, including text (without any heading style), images and tables. ○ Requirement Title IDs – Are generated according to the heading level of the formatted texts.

 Note

Avoid increasing heading styles by more than one level. For example, a title with Heading 1 should be followed by a subtitle with Heading 2.

○ Requirements Model Name – Is derived as follows: ○ By default, using the Word Document’s title property. ○ If no title property is available, with the first line above the first heading in the document. ○ If no such line is available, using the Word document name. ○ Click the new model to open it in the Requirements Document View.

Updating an Existing Requirements Model

Procedure

1. Open the requirements model that you want to update in edit mode, and select Menu Import Requirements from Word File . 2. Click Browse, navigate to the Word file you want to import, and click Open to select it for import.

 Note

The file must be in the standard .docx format.

3. Select Upload. ○ If the fully-qualified name of an imported requirement can be matched to an existing requirement, it updates the existing requirement’s description.

 Note

If the imported requirement does not contain any description, it keeps the description of the existing requirement, if there is any.

○ If the fully-qualified name of an imported requirement is not present in the existing list, it is appended as a child of its parent requirement.

PowerDesigner Web 96 PUBLIC Requirements 4 Enterprise Architecture

Enterprise architecture models help you analyze and document your organization, its capabilities and processes, the applications and systems that support them, and the physical architecture on which they are implemented.

In this example, various systems upload data to a Business Warehouse system:

To create an enterprise architecture model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Enterprise Architecture, and click Create.

● Enterprise architecture diagram toolboxes contain categories for each of the architecture domains. Click a category to access the tools for that domain:

Tool Description

Organization Architecture. See Organization Architecture Modeling [page 115].

Business Architecture. See Business Architecture Modeling [page 121].

Application Architecture. See Application Architecture Modeling [page 129].

Infrastructure Architecture. See Infrastructure Architecture Modeling [page 142].

PowerDesigner Web Enterprise Architecture PUBLIC 97 Tool Description

Goals and Projects. See Goal and EA Project Modeling [page 149].

Link. See Linking EAM Objects [page 103].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

● Many objects can be decomposed into sub-objects, and some can contain or be used to group other objects (see Structuring EAM Objects [page 98]). ● Any object can be connected to another object via a variety of types of links with different semantic meanings (see Linking EAM Objects [page 103]). ● Objects defined in one diagram can be reused in another (see Reusing Objects in an EAM [page 113]).

4.1 Structuring EAM Objects

You can structure and organize your objects in various ways. Many enterprise architecture objects can be decomposed into sub-objects, and some can contain other objects and/or can be used to group other objects.

The following objects provide the principal ways for grouping other objects:

● Areas - Provide logical groupings of objects (see Areas [page 368]). Any object can be attached to an area and can appear inside the area symbol. Objects can be attached to multiple areas:

● Sites - Provide geographical groupings of objects (see Sites (EAM) [page 115]). Many types of objects can be attached to a site and can appear inside the site symbol. Organization units, roles, business capabilities, systems, and databases can be attached to multiple sites, while people and machines can only be attached to one:

PowerDesigner Web 98 PUBLIC Enterprise Architecture

● Networks - Provide virtual groupings of objects (see Networks (EAM) [page 146]). Hardware objects and deployment instances can be attached to a network and can appear inside the network symbol:

 Note

Objects associated with an area, site, or network do not belong to these objects, and will not be deleted if you delete the area, site, or network. However, areas can contain sub-areas, sites can contain sub- sites, and networks can contain sub-networks, and these sub-objects do belong to their parents and will be deleted if their parent is deleted.

● Organization units - Can contain sub-units and can group people (see Organization Units (EAM) [page 116]). A person can belong to multiple organization units.  Note

Sub-units and people cannot be displayed inside their parent organization unit symbol. They can be shown only in an organization chart, which can be viewed, but not edited, on the Web.

● Business capabilities can contain sub-capabilities (see Business Capabilities [page 121]). Process groups can contain sub-groups and processes, while business processes can contain sub-processes (see Process Groups and Business Processes [page 124]). Value streams can contain sub-streams and value flows (see Value Streams and Value Flows [page 128]). In each case, sub-objects will be deleted if their parent is deleted (but processes, which can be displayed in the value flows to which they contribute value, do not belong to these flows and will not be deleted if you delete the flow):

PowerDesigner Web Enterprise Architecture PUBLIC 99  Note

Sub-processes cannot be displayed inside their parent process symbol. They are shown in a sub- diagram (see Creating Sub-Processes Inside Processes [page 127]).

● Systems and applications can contain various other application architecture objects (see Systems and Applications (EAM) [page 130]), which will be deleted if you delete the parent object:

● Hardware and software servers, workstations, and mobile devices can have application architecture objects deployed to them (see Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 143]). The deployment is modeled with deployment instances (see Deployment Instances (EAM) [page 147]). Each deployment instance is a sub-object of its parent hardware object, and will be deleted if you delete the parent, leaving the software asset itself unaffected.

In this diagram, all the main ways of decomposition, containing, and grouping objects are represented as follows:

PowerDesigner Web 100 PUBLIC Enterprise Architecture Symbol Meaning

Box-in-box Decomposition - The object can be decomposed into sub-objects, which belong to the parent object and will be deleted if the parent is deleted. For example, an area can contain sub-areas and a site can contain sub-sites. Sub-objects are displayed on the Children tab of the parent object's property sheet.

 Note

*Organization units can contain sub-units but this relationship can only be shown in an organization chart, which can be viewed, but not edited, on the Web.

 Note

**Business processes can contain sub-processes, but these can only be shown in sub-diagrams (see Creating Sub-Processes Inside Processes [page 127]).

Solid arrow Containing sub-objects - The object can contain other objects, which belong to the parent object and will be deleted if the parent is deleted. For example, a system can contain sub-systems, applications, databases, and other software artifacts. Child objects are displayed on the Children tab of the parent object's property sheet.

Dashed arrow Grouping objects - The object can group other objects, but these grouped objects do not belong to the grouping object and will not be deleted if the grouping object is deleted. For example, a site can group people, capabilities, systems, servers, and various other objects. Grouped objects are displayed on the Dependencies tab of its property sheet.

 Note

***Areas can group any artifact.

PowerDesigner Web Enterprise Architecture PUBLIC 101

PowerDesigner Web 102 PUBLIC Enterprise Architecture 4.2 Linking EAM Objects

Enterprise architecture objects can be connected to each other through a variety of types of links with different semantic meanings. Any object can be connected to any other object, and the Link tool creates a default type of link based on the source and target.

To create a link between two objects:

● Select the source object to display its context pad, click on the link tool and drag and drop the end of the link on the target object. ● Click the link tool in the toolbox, and click and drag from the source object to the target object.

A default link is created based on the type of the source and target object. For many source and target combinations, you can select a different link type after creation by selecting the link, clicking the Type tool, and choosing a new type.

The following kinds of links are available:

● Business flows and application and infrastructure links (solid lines) - Can be created between any combination of organization, process, application, and infrastructure architecture objects:

○ Business Flows - Commonly represent a communication between people, departments and functions, and can carry documents. These links are created by default when you link organization or process architecture artifacts together. ○ Application Links - Commonly represent a relationship between application artifacts. These links are created by default when an application artifact is the source or target object. ○ Infrastructure Links - Commonly represent a physical (or wireless) link between infrastructure artifacts. These links are created by default when infrastructure artifacts are linked together.

PowerDesigner Web Enterprise Architecture PUBLIC 103 ● Special links - these links have a special meaning and can only be created in certain contexts: ○ Role Associations (dash-dot line) - Represent a responsibility for (or other relationship with) an artifact (see Associating a Person, Organization Unit, or Role with an Object [page 119]). These links are created by default when you draw a link from an artifact to an organization unit, person, or role:

○ Fulfillment Links (dashed line) - Represent the fulfillment of a corporate goal by a program or project (see Specifying the Fulfillment of Goals by a Project [page 152]). These links are created by default when you draw a link from a program or project to a goal:

○ Impact Links (dotted line) - Represent the impact that a program or project may have on an artifact (see Specifying the Impact of a Project on EA Assets [page 152]). These links are created by default when you draw a link from a program or project to an artifact:

● Traceability Links (dashed line) - Can be created between any object in any model and any other object in that or another model (see Traceability Links [page 371]):

PowerDesigner Web 104 PUBLIC Enterprise Architecture

4.3 Analyzing EAM Objects with Criteria

Analysis criteria allow you to define a benchmark, standard, or scale, and then score your objects against it.

For example, you could set the following criteria:

● Cloud Readiness - Rank your business capabilities on a scale of 1-5. ● 24/7 Availability - Assign a scale of importance Low, Medium, High for each of your systems.

To create a criterion:

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Analysis Criteria. 2. Click the Add tool to create a new criterion in the list and then click its name to go to its property sheet. 3. Enter an appropriate name for the criterion and optionally a comment to explain its use. 4. Select a list of values (or enter your own comma-separated list of values) and, optionally, click the Colors button to the right of the field to change the default color used to indicate each value when the criterion is used in a heat map (see Applying Heat Map Coloring to a Diagram [page 22]). 5. Click the Dependencies tab and expand the Analyzed Objects section. 6. Click the Add tool to select objects to analyze with the criterion. Select the objects you want to analyze (you can filter by type in the Filter pane and by name in the Search field), and click Insert Items to add them to the list. 7. In the Value field, select a value to assign to the objects.

 Note

As the objects remain selected when you add them to the list, the value is assigned to all the objects you added. If you need to assign different values to certain objects, change your selection and set the values as necessary.

Criteria can be used to drive heat map coloring (see Applying Heat Map Coloring to a Diagram [page 22]).

PowerDesigner Web Enterprise Architecture PUBLIC 105 The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Category/Type Specifies the category/type of criteria. You can choose from the following standard categories/ types or enter your own:

● Maturity: ○ Architecture ○ Change ○ Performance ○ Result ● Transformation: ○ Risk ○ Objective ○ Issue ○ Scope ● Impact: ○ Financial ○ Regulatory ○ Reputation ○ Customer ● ○ Pain Point ○ Control ○ Goal ○ Scope

List of Values Specifies a list of values available to assign to objects for the criterion. You can choose from the fol­ lowing standard value lists or enter your own comma-separated list:

● 1,2,3,4,5 ● Low,Medium,High ● Very Low,Low,Medium,High,Very High

The following tabs contain additional information:

● Dependencies - Lists objects that have values assigned for the criterion, and other objects it depends on or impacts.

PowerDesigner Web 106 PUBLIC Enterprise Architecture 4.4 Visualizing EAM Objects in Computed Diagrams

You can create a computed diagram to quickly visualize any type of EAM object in a standard layout without having to manually draw or format them. By default all the objects of the selected type are shown, but you can filter by property values or analysis criteria and choose another type of object to overlay onto them.

Procedure

1. Create your objects either manually or by importing a CSV file (see Example: Importing Capabilities, Applications, Coverage Links, and Criteria from CSV Files [page 40]). 2. Click the view selector in the toolbar and select Create Computed Diagram.

By default, the diagram is created and populated with your business capabilities, with all level one capabilities and any level two capabilities they contain displayed:

 Note

To visualize the objects in a package, move down into the package (see Navigating in the Model Structure [page 17]) and select Create Computed Diagram. The computed diagram shows the objects at the model root or in the current package, but does not include any objects in any sub-packages.

3. Enter a name for the diagram and optionally use the Object Type field to change the type of object to display.

The Object Type list is filtered to show only those types of objects that are present in the model. If the type of object you want to show is not available in the list, use the Select tool to the right of the field to select from a list of all object types.

PowerDesigner Web Enterprise Architecture PUBLIC 107 In this example, we retain the default object type:

4. [optional] Use the Level field to select the number of levels of objects that you want viewers to see.

 Note

If the selected object type cannot be decomposed into sub-objects, the Level field will have no effect.

In this example, we select to show three levels of capabilities:

PowerDesigner Web 108 PUBLIC Enterprise Architecture

5. [optional] Use the Show (L1) field to select level one objects to show and hide the rest.

Alternatively, select one or more level one objects in the diagram and use the Show/Hide menu in the context pad.

In this example, we select to show only the Service and Sales level one capabilities, along with their children up to level three:

PowerDesigner Web Enterprise Architecture PUBLIC 109

6. [optional] Use the Filter By and Show fields in the General section to choose a property or an analysis criterion to filter the objects by.

 Note

Only properties that display as a combo box or checkbox can be selected to filter by. The filter is applied only to those objects that are displayed, and will not cause any objects excluded via the Show (L1) field to appear, even if they meet the filter criteria.

In this example, we select to filter by an analysis criteria, Cloud-Readiness, and to show only those capabilities that are rated Medium or High:

PowerDesigner Web 110 PUBLIC Enterprise Architecture

7. [optional] Use the Overlay with field in the Overlay section to select a dependency to display other objects as overlays on top of the objects.

You can display any object that is directly linked to your objects using this field. The list is filtered to show only those dependencies that are present in the model. If the dependency you want to show is not available in the list, use the Select tool to the right of the field to select from a list of all direct dependencies.

 Note

Overlays representing the dependency at any level are shown on the object itself, if it is visible, or on its closest parent.

In this example, we select to display the Application Coverage dependency:

PowerDesigner Web Enterprise Architecture PUBLIC 111

8. [optional] Use the Filter By and Show fields in the Overlay section to choose a property (with a combo box or checkbox) or an analysis criterion to filter the overlays by.

In this example, we select to filter by an analysis criteria, Application Lifecycle, and to show only those applications that are at Phase Out or End of Life:

PowerDesigner Web 112 PUBLIC Enterprise Architecture

9. [optional] Apply heatmap coloring to your computed diagram (see Applying Heat Map Coloring to a Diagram [page 22]). 10. [optional] Create other computed diagrams to focus on other types of objects or other subsets or levels of detail.

 Note

Computed diagrams are read-only. You cannot move symbols or edit properties of objects in this view. Computed diagrams are recalculated each time that you open them and will automatically reflect any changes to your objects made in other diagrams or in object lists.

4.5 Reusing Objects in an EAM

It is common to build reference diagrams detailing the structure of your enterprise assets and then to reuse artifacts from these reference diagrams in other diagrams that are designed to communicate about a subset of artifacts in a particular context. Reusing an artifact from one diagram in another diagram creates a shortcut to the original artifact, preventing unneccessary duplication of information, and improving the quality and scope of impact analysis.

For example, you might develop the following reference models to document your environment:

● Capability and process maps - Detailing your business capabilities, process groups, and business processes.

PowerDesigner Web Enterprise Architecture PUBLIC 113 ● Organization - Detailing your organization units, roles, and people. ● Physical environment - Detailing your sites and sub-sites and the networks, servers, and other hardware deployed to them. ● Systems and Applications - Detailing the software in use in your organization.

To reuse an artifact from a reference diagram in your diagram, create an object of the required type and begin entering the name of the artifact you want to reuse. PowerDesigner Web proposes a list of existing objects (present in the current model and the Library folder), containing the entered characters:

Select an object from the list or click the Search button to search for another object to reuse (see Reusing Objects [page 51]). When you select an object to reuse, a read-only shortcut is created in your diagram pointing to the original object.

The following rules apply to using shortcuts in your diagrams:

● You can place a shortcut inside a local object (as a child or grouped object) but you cannot place a local object inside a shortcut. You can only modify the content of a shortcut in its original diagram. ● You can draw links to and from a shortcut, with the exception of traceability links, which cannot originate from a shortcut. You can only create a traceability link originating in a local object and pointing towards another local object or a shortcut. ● You can create a shortcut to an object or to any of the objects that it contains, but you cannot show the contents of an object inside its shortcut symbol. For example, if you have a site, Europe, which contains a sub-site, Germany, which contains a sub-site, Berlin, which contains a server, Ber-105TX, you can create a shortcut to any of these objects, Europe, Germany, Berlin, or Ber-105TX, but you cannot show the detail of this hierarchy in another diagram.

PowerDesigner Web 114 PUBLIC Enterprise Architecture 4.6 Organization Architecture Modeling

PowerDesigner Web lets you capture, analyze, visualize, and plan changes to your organization.

The following tools are available:

Tool Description

Organization Architecture - Click to show or hide the tools below.

Site - A physical location. See Sites (EAM) [page 115].

Organization Unit - A group, department, or other collection of people or organization units. See Or­ ganization Units (EAM) [page 116].

Person - An individual. See People (EAM) [page 118].

Role - A set of responsibilities. See Roles (EAM) [page 120].

4.6.1 Sites (EAM)

A site is a physical location that can contain sub-sites and can geographically group people, organizations and various other objects.

In this example, the Sales Team organization unit and CRM system are located in the Paris site:

To create a site, drag the Site tool and drop it in empty space or in an existing:

● Site (to create a sub-site) ● Area

PowerDesigner Web Enterprise Architecture PUBLIC 115 You can link a site to any other object using the Link tool (see Linking EAM Objects [page 103]). You can add the following kinds of objects to a site:

● Sub-sites ● Organization units, people, and roles ● Business capabilities ● Systems and databases ● Hardware and software servers, workstations, mobile devices, networks, and network nodes

For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 98].

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Address / Zip code / Specify the address of the site. City / Country

Phone Specifies the telephone number of the site.

Population Specifies the number of people at the site.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Children - Lists sub-sites. ● Dependencies - Lists objects grouped in the site and other objects it depends on or impacts.

4.6.2 Organization Units (EAM)

An organization unit is a department, group, or team that can contain sub-units and can group people.

In this example, the Office of the CBO organization unit is a stakeholder of the ERP to Cloud goal:

PowerDesigner Web 116 PUBLIC Enterprise Architecture

To create an organization unit, drag the Organization Unit tool and drop it in empty space or in an existing:

● Site ● Area

 Note

Sub-units cannot be created or displayed inside their parent unit symbol. To add a sub-unit to an organization unit, use the Sub-Organizations list on the parent's Children tab. This relationship can be shown inside an organization chart, which can be viewed, but not edited, on the Web.

You can link an organization unit to any other object using the Link tool (see Linking EAM Objects [page 103]). You can add the following kinds of objects to an organization unit:

● Sub-units (using the Sub-Organizations list on its Children tab) ● People (using the People list on its Dependencies tab)

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Manager Specifies the manager of the organization unit. Click the Select tool and search for a person or role (see Referencing an Object in an Info Tab Property Field [page 55]).

Telephone Specifies the telephone number of the organization unit.

Email Specifies the email address of the organization unit.

Web site Specifies the url for the web site of the organization unit.

The following tabs contain additional information:

● Children - Lists sub-units. ● Dependencies - Lists people grouped in the organization unit, roles it performs, and other objects it depends on, role associations implicating the organization unit (see Associating a Person, Organization Unit, or Role with an Object [page 119]) and other objects it impacts.

PowerDesigner Web Enterprise Architecture PUBLIC 117 4.6.3 People (EAM)

A person is an individual who holds a position within an organization and plays roles in relation to artifacts.

In this example, Mike Sanderson is the owner of the PAR08-T65 server:

To create a person, drag the Person tool and drop it in empty space or in an existing:

● Site ● Area

 Note

People cannot be created or displayed inside an organization unit symbol. To add a person to an organization unit, use the People list on the organization unit's Children tab. This relationship can be shown inside an organization chart, which can be viewed, but not edited, on the Web.

You can link a person to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Manager Specifies the manager of the person. Select a person from the list or click the New tool to the right of the field to create a new one.

Site Specifies the site where this person is located. Click the Select tool and search for a site (see Refer­ encing an Object in an Info Tab Property Field [page 55]).

Job title Specifies the job title of the person.

Telephone Specifies the telephone number of the person.

Email Specifies the email address of the person.

The following tabs contain additional information:

PowerDesigner Web 118 PUBLIC Enterprise Architecture ● Dependencies - Lists roles that the person performs and other objects they depend on, role associations implicating the person (see Associating a Person, Organization Unit, or Role with an Object [page 119]) and other objects that they impact.

4.6.3.1 Associating a Person, Organization Unit, or Role with an Object

You can specify the role that a person (or an organization unit or role) plays for another object by drawing a link from the object to the person. The list of objects for which the person plays a role is available on the person's Dependencies tab, and the list of people playing a role towards an object is listed on the object's Dependencies tab.

Context

For example:

● A person may be defined as the administrator of a hardware server and the manager of a site. ● An organization unit may be identified as being responsible for the Sales business capability. ● A role may be designated as the contact for the Madrid site.

In this example, Bob is responsible for a wide range of objects:

PowerDesigner Web Enterprise Architecture PUBLIC 119

4.6.4 Roles (EAM)

A role is a set of responsibilities. Roles can be assigned to people or organization units or can be used in place of them.

In this example, the Presales Engineer role is implicated in the Prepare POC Presentation process:

To create a role, drag the Role tool and drop it in empty space or in an existing:

● Site ● Area

You can link a role to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

The following tabs contain additional information:

● Dependencies - Lists people and organization units that perform the role and other objects it depends on, role associations implicating the role (see Associating a Person, Organization Unit, or Role with an Object [page 119]) and objects it impacts.

PowerDesigner Web 120 PUBLIC Enterprise Architecture 4.7 Business Architecture Modeling

PowerDesigner Web lets you capture, analyze, visualize, and plan changes to your processes and capabilities and the value streams and flows you derive from them.

The following tools are available:

Tool Description

Process Architecture - Click to show or hide the tools below.

Area - An abstract object for grouping other objects. See Areas [page 368].

Business Capability - An aggregation of processes and/or sub-capabilities. See Business Capabilities [page 121].

Process Group - A group of processes. See Process Groups and Business Processes [page 124].

Business Process - An activity performed in the enterprise. See Process Groups and Business Proc­ esses [page 124].

Value Stream - A group of value flows. See Value Streams and Value Flows [page 128].

Value Flow - A value-creating set of processes. See Value Streams and Value Flows [page 128].

4.7.1 Business Capabilities

Business capabilities are an abstract representation of what a business does. Capabilities can be broken down into sub-capabilities and can be realized by business processes, which provide a concrete vision of how the business does things.

In this example, the Banking Operations capability contains sub-capabilities:

To create a capability, drag the Business Capability tool and drop it in empty space or in an existing:

● Business Capability ● Site ● Area

PowerDesigner Web Enterprise Architecture PUBLIC 121 You can link a capability to any other object using the Link tool (see Linking EAM Objects [page 103]). You can add the following kinds of objects to a business capability:

● Sub-capabilities

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

Level [read-only] Specifies the level of the capability. Level 1 capabilities contain level 2 capabilities and so on.

The following tabs contain additional information:

● Children - Lists sub-capabilities. ● Dependencies - Lists processes and value flows that implement the capability and other objects that the capability depends on or impacts.

4.7.1.1 Realizing Business Capabilities via Processes or Value Flows

Business capabilities can be associated with business processes or value flows to show how they are realized.

Procedure

1. Select the business process or value flow to which you want to associate the business capability to display its property sheet, click the Dependencies tab, and expand the Business Capabilities list. 2. Click the Add tool to open a selection dialog, select one or more capabilities, and click Insert Items to add them to the list.

The business processes and value flows that are associated with a capability are listed on its Dependencies tab in the Realized by Processes and Realized by Value Flows lists.

PowerDesigner Web 122 PUBLIC Enterprise Architecture 4.7.1.2 Specifying Application Coverage of Business Capabilities

Business capabilities can be associated with applications that provide capability coverage.

Procedure

1. Select the application to which you want to associate the business capability to display its property sheet, click the Dependencies tab, and expand the Capability Coverage list. 2. Click the Add tool to open a selection dialog, select one or more capabilities, and click Insert Items to add them to the list.

The applications that are associated with a capability are listed on its Dependencies tab in the Application Coverage list. 3. Specify the maturity value of the coverage. You can choose from:

○ Not Applicable ○ No Maturity ○ Low Maturity ○ Medium Maturity ○ High Maturity

4.7.1.3 Creating a Computed Capability Map

You can create a computed capability map to show your business capabilities grouped by parent. Creating a computed diagram in this way allows you to quickly visualize and share your capabilities in a standard layout without having to manually draw or format them.

Procedure

1. Create your capabilities either manually or by importing a CSV file (see Example: Importing Capabilities, Applications, Coverage Links, and Criteria from CSV Files [page 40]). 2. Click the view selector in the toolbar and select Create Computed Diagram. 3. Use the controls in the computed diagram property sheet to specify the number of levels of capability displayed, to show or hide level one capabilities, and to overlay your capabilities with other objects linked to them by dependencies. For detailed information about these controls, see Visualizing EAM Objects in Computed Diagrams [page 107]

In this example, we select to display the Service and Sales level one capabilities with their children up to level three overlaid with the Application Coverage dependency:

PowerDesigner Web Enterprise Architecture PUBLIC 123

4.7.2 Process Groups and Business Processes

Process groups and business processes represent how things are done in the organization. Process groups can be broken down into sub-groups and the lowest level of sub-group are broken down into business processes. Business processes can be broken down into sub-processes and can be linked to BPMN diagrams to analyze their steps. Processes can realize business capabilities and can contribute to value flows.

 Note

The hierarchy of process groups can be shown in a process map (see Process Maps [page 188]).

In this example, the New Account Creation process group contains various processes:

PowerDesigner Web 124 PUBLIC Enterprise Architecture To create a process group or process, drag the appropriate tool and drop it in empty space or in an existing:

● Process Group ● Area

You can link a process group or process to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Number ID Specifies the number of the process in the sequence. Numbers are allotted sequentially as proc­ esses are created. If you move processes around, the numbers may no longer correspond to the desired order. You can modify the number of a process here, and the other numbers will be changed to avoid duplications and fill holes in the sequence where possible.

Reused process [process] Specifies the name of the reused process.

Level [process group, read-only] Specifies the level of the process group. Level 1 groups contain level 2 groups and so on.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Children - [process groups] Lists sub-groups and business processes. ● Dependencies - Lists value flows that the process contributes to, capabilities that it realizes, data inputs and outputs to the process, and other objects it depends on or impacts.

4.7.2.1 Associating Processes with Value Flows

You can associate business processes with value flows to show how they contribute to creating value in your enterprise. You can associate a process with a value flow by dragging it onto the value flow symbol or via the value flow's property sheet.

Procedure

1. Select the value flow to which you want to add the business process to display its property sheet, click the Dependencies tab, and expand the Processes list. 2. Click the Add tool to open a selection dialog, select one or more processes, and click Insert Items to add them to the list.

PowerDesigner Web Enterprise Architecture PUBLIC 125 The value flows that are associated with a business process are listed on its Dependencies tab in the Contributing to Value Flows list.

4.7.2.2 Specifying Input and Output Data for Processes and Value Flows

You can associate input and output data with processes and value flows. You can create or select data objects in your EAM or select data objects from your business process or conceptual and physical data models.

Procedure

1. Select the process or value flow to which you want to add data to display its property sheet, click the Dependencies tab, and expand the Inputs or Outputs list. 2. Click the Select tool to open a selection dialog, navigate to another folder or model if necessary, select one or more data objects, and click Insert Items to add them to the list.

The processes and value flows that are associated with an EAM data object are listed on its Dependencies tab in the Input to... and Output from... lists.

4.7.2.3 Linking Processes to BPMN Business Process Diagrams

While you can decompose process groups into sub-groups and business processes, it is common practice to model the steps of these processes in a BPMN business process diagram. The process group structure is commonly maintained by an enterprise architect or process analyst, while the modeling of process steps is often done by process owners.

Context

 Note

You must create the BPMN business process diagram before you can link it to a business process.

Procedure

1. Select the business process, and click the Diagrams tab of its property sheet.

PowerDesigner Web 126 PUBLIC Enterprise Architecture 2. Click the Add tool in the header of the Related Diagrams list to open the search dialog. 3. Search for the diagram that you want to link to the process, optionally filtering by location and other criteria (see Referencing an Object in an Info Tab Property Field [page 55]), and click Select to add it to the Related Diagrams list. The business process diagram is now associated with the process. You can navigate to it from the process by clicking the + symbol:

4.7.2.4 Creating Sub-Processes Inside Processes

You can decompose processes into sub-processes, and sub-processes can be displayed inside the parent process symbol or in a sub-diagram.

Context

To create a sub-diagram and drill down into it, double-click a business process symbol. Once you have created the sub-diagram, the process symbol displays a + symbol that you can click to drill down into it:

To go back up to the previous diagram, use the Previous View button in the title bar, or use the breadcrumbs in the diagram toolbar (see Navigating in the Model Structure [page 17]). If you later decide to remove the process decomposition, select the composite process in the main diagram, click the Diagramstab in the process property sheet, hover the sub-diagram thumbnail and click the Delete tool. All sub-processes and other child objects contained in this diagram will be deleted.

PowerDesigner Web Enterprise Architecture PUBLIC 127 4.7.3 Value Streams and Value Flows

Value streams and value flows identify how value is generated by the organization. Value streams can contain sub-streams and value flows. Value flows can contain sub-flows, can realize business capabilities, and can identify the processes that contribute to the value generation.

In this example, the VS Retail Loans value stream contains two value flows, to which various processes contribute:

To create a value stream or value flow, drag the appropriate tool and drop it in empty space in the diagram, or in an existing:

● Value Stream ● [value flow] Value Flow ● Area

You can link a value stream or value flow to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Level [value stream, read-only] Specifies the level of the value stream. Level 1 streams contain level 2 streams and so on.

The following tabs contain additional information:

● Children - Lists sub-streams and sub-flows. ● Dependencies - Lists capabilities realized by the flow, processes contributing to it, data inputs and outputs to the flow, and other objects it depends on or impacts.

PowerDesigner Web 128 PUBLIC Enterprise Architecture 4.8 Application Architecture Modeling

PowerDesigner Web lets you capture, analyze, and visualize your systems, applications, databases, services, and other software assets.

The following tools are available:

Tool Description

Application Architecture - Click to show or hide the tools below.

System - A packaged application. See Systems and Applications (EAM) [page 130].

Application - A computer program. See Systems and Applications (EAM) [page 130].

Database - A database. See Databases (EAM) [page 132].

Component - A replaceable part of an application. See Components (EAM) [page 133].

Form - A UI component. See Forms (EAM) [page 135].

Document - A document. See Documents and Reports (EAM) [page 134].

Report Document - A report. See Documents and Reports (EAM) [page 134].

ETL Job - A data extraction, transformation, and load. See ETL Jobs (EAM) [page 136].

Contract - An agreement between services. See Contracts (EAM) [page 138].

Application Service - An externally visible unit of functionality. See Application and Business Services (EAM) [page 138].

Business Service - A service offered by an organization. See Application and Business Services (EAM) [page 138].

PowerDesigner Web Enterprise Architecture PUBLIC 129 4.8.1 Systems and Applications (EAM)

These objects provide the primary building blocks for modeling your software assets. A system can encapsulate sub-systems, applications and applications services, databases, components, and forms. An application can encapsulate sub-applications, components, and forms.

In this example, the Kayak system contains a form, report, and database, as well as the Kayak application, which, in turn, contains the Kayak Core component, which is connected to a number of shared components:

To create a system or application, drag the appropriate tool and drop it in empty space or in an existing:

● [system] Site ● System ● [application] Application ● Hardware or software server, workstation, mobile device, or network (as a deployment instance, see Deployment Instances (EAM) [page 147]) ● Area

You can link a system or application to any other object using the Link tool (see Linking EAM Objects [page 103]). You can add the following kinds of objects to a system or application:

● Applications/sub-applications ● Components ● Forms ● [system] Sub-systems ● [system] Databases ● [system] Documents and reports ● [system] ETL jobs ● [system] Application Services

PowerDesigner Web 130 PUBLIC Enterprise Architecture

For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 98].

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type [application only] Specifies the type of application. Choose a value from the list or enter your own value.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

[applications] The following properties are available in the Detail category:

Property Description

Development Lan­ Specifies the language in which the application was developed. Choose a value from the list or en­ guage ter your own value.

Version Specifies the version of the application.

Operating System Specifies the operating system for the application. Choose a value from the list or enter your own value.

Vendor Specifies the vendor of the application. Choose a value from the list or enter your own value.

License Number Specifies the license number for the application.

Cost Specifies the cost of the application.

Expiration Date Specifies the expiration date for the application.

The following tabs contain additional information:

PowerDesigner Web Enterprise Architecture PUBLIC 131 ● Children - Lists application architecture objects contained in the system or application. ● Dependencies - Lists objects that the system or application depends on or impacts.

4.8.2 Databases (EAM)

Databases store data.

In this example, the CRM DB database is replicated daily to the Data Warehouse database:

To create a database, drag the Database tool and drop it in empty space or in an existing:

● Site ● System ● Hardware or software server, workstation, mobile device, or network (as deployment instance, see Deployment Instances (EAM) [page 147]) ● Area

You can link a database to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the database. Choose a value from the list or enter your own value.

DBMS / DBMS ver­ Specifies the DBMS of the database. Choose a value from the list or enter your own value. . You can sion optionally specify a version of the DBMS.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

PowerDesigner Web 132 PUBLIC Enterprise Architecture ● Dependencies - Lists objects that the database depends on or impacts.

4.8.3 Components (EAM)

A component is an encapsulated, reusable, and replaceable part of an application, which can be used to implement a service or an application.

In this example, various components are consumed by the Banzai and Velocity systems:

To create a component, drag the Component tool and drop it in empty space or in an existing:

● System or application ● Hardware or software server, workstation, mobile device, or network (as deployment instance, see Deployment Instances (EAM) [page 147]) ● Area

You can link a component to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

PowerDesigner Web Enterprise Architecture PUBLIC 133 Property Description

Type Specifies the type of the component. You can choose between:

● EJB ● Servlet ● Presentation ● DataAccess ● Controller ● COM ● ActiveX

Programming Lan­ Specifies the programming language in which the component is written. guage

The following tabs contain additional information:

● Dependencies - Lists objects that the component depends on or impacts.

4.8.4 Documents and Reports (EAM)

Documents and reports represent structured output generated and consumed in the enterprise.

In this example, the HR system contains a document and a report:

To create a document or report, drag the appropriate tool and drop it in empty space or in an existing:

● System ● Area

You can link a document or report to any other object using the Link tool (see Linking EAM Objects [page 103]).

PowerDesigner Web 134 PUBLIC Enterprise Architecture The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the document or report.

Version [document only] Specifies the version number of the document.

Category [report only] Specifies the category of the report. You can choose between:

● Business ● Specification ● Strategic ● Technical

Period [report only] Specifies the frequency with which the report is generated. You can choose between:

● Daily ● Weekly ● Monthly ● Yearly

Document Format [document only] Specifies the XML model that is used to represent the structure of the document. Select an XSM from the list or use the tools to the right of the field to create a new XSM or view the properties of the currently selected one. For more information about XML models, see XML Archi­ tecture .

The following tabs contain additional information:

● Dependencies - Lists data (see Data (EAM) [page 141]) that the document or report contains and other objects that it depends on or impacts.

4.8.5 Forms (EAM)

A form represents a UI component of a system or application.

In this example, the Candycone system contains various forms:

PowerDesigner Web Enterprise Architecture PUBLIC 135

To create a form, drag the Form tool and drop it in empty space or in an existing:

● System or application ● Hardware or software server, workstation, mobile device, or network (as deployment instance, see Deployment Instances (EAM) [page 147]) ● Area

You can link a form to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type / Style Specify the type (mobile, Web, or window) and style of the form.

The following tabs contain additional information:

● Dependencies - Lists data (see Data (EAM) [page 141]) that the form processes and other objects that it depends on or impacts.

4.8.6 ETL Jobs (EAM)

An ETL job represents a replication, transformation, or other movement of data.

In this example, the Daily Sales Replication job replicates sales data to two backup databases:

PowerDesigner Web 136 PUBLIC Enterprise Architecture

To create an ETL job, drag the ETL Job tool and drop it in empty space or in an existing:

● System ● Area

You can link an ETL job to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Dependencies - Lists source and target databases and other objects that the ETL job depends on or impacts.

PowerDesigner Web Enterprise Architecture PUBLIC 137 4.8.7 Contracts (EAM)

A contract is an agreement between services or between an asset and a stakeholder.

In this example, the Kayak Service Level Agreement defines a contract between the system and its stakeholders:

To create a contract, drag the Contract tool and drop it in empty space or in an existing:

● Area

You can link a contract to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Dependencies - Lists objects that the contract depends on or impacts.

4.8.8 Application and Business Services (EAM)

An application service is an externally visible unit of functionality, provided by one or more applications or components, and exposed through well-defined interfaces. A business service is a service offered by an organization to its customers that directly supports the work performed in a business process or capability, exposed by an application-to-business interface.

In this example, the Same Day Delivery business service depends on other business services which are dependent on multiple application services:

PowerDesigner Web 138 PUBLIC Enterprise Architecture

To create an application or business service, drag the appropriate tool and drop it in empty space or in an existing:

● [application service] System ● [application service] Hardware or software server, workstation, mobile device, or network (as deployment instance, see Deployment Instances (EAM) [page 147]) ● Area

You can link an application or business service to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

PowerDesigner Web Enterprise Architecture PUBLIC 139 Property Description

Type Specifies the type of service.

For business services, you can choose between:

● Consulting ● Customer Service ● Distribution Service ● Marketing Service ● Personal Service ● Sales Service

For application services, you can choose between:

● Business Process ● Collaboration ● Data ● Infrastructure ● Integration ● Presentation

Quality of Service Specifies the quality of the service. You can choose between: Level ● Best effort service ● Differentiated service ● Guaranteed service

Security Level Specifies the security of the service. You can choose between:

● High ● Moderate ● Low

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Children - Lists operations belonging to the service. ● Dependencies - Lists objects that the service depends on or impacts.

PowerDesigner Web 140 PUBLIC Enterprise Architecture 4.8.8.1 Business and Application Service Operations

An operation is an abstract description of an action supported by a service. For example the Login service may require a Get ID operation. You can create operations in the Operations list on the service property sheet Children tab.

The following properties are available on the Info tab in the General category:

Property Description

Parent Specifies the service to which the operation belongs.

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Operation type Specifies the type of the operation. You can choose between:

● Notification ● One-way ● Request-Response ● Solicit-Response

Input Specifies the document or data required to start the service, which can be linked to an XML model to define its format (see Documents and Reports (EAM) [page 134])

Output Specifies the document or data returned by the service, which can be linked to an XML model to define its format (see Documents and Reports (EAM) [page 134])

4.8.9 Data (EAM)

Data objects are pieces of information that are input to or output from business processes and value flows or are used or transmitted by documents, reports, and forms. You can create data objects in the Data list on the model property sheet Children tab and add them to other objects via the Data, Inputs, or Outputs lists on their property sheet Dependencies tab.

 Note

You can select data artifacts from any enterprise architecture model, business process model, or conceptual or physical data model when associating data with EAM artifacts.

PowerDesigner Web Enterprise Architecture PUBLIC 141 The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

The following tabs contain additional information:

● Dependencies - Lists objects that contain the data or for which it acts as input or output, and other objects that it depends on or impacts.

4.9 Infrastructure Architecture Modeling

PowerDesigner Web lets you capture, analyze, visualize, and plan changes to the physical infrastructure that supports your activities.

The following tools are available:

Tool Description

Infrastructure Architecture - Click to show or hide the tools below.

Hardware Server - A high availability resource machine. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 143].

Software Server - A commercial software environment. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 143].

Workstation - A client machine. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 143].

Mobile Device - A handheld client. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 143].

Network Node - A hardware component connected to a network. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 143].

Network - A LAN, WAN, or other kind of network. See Networks (EAM) [page 146].

Deployment Instance - An instance of an object defined elsewhere. See Deployment Instances (EAM) [page 147].

PowerDesigner Web 142 PUBLIC Enterprise Architecture 4.9.1 Servers, Workstations, Mobile Devices, and Network Nodes (EAM)

A software server is a commercial software environment, which contains a set of applications and which can be deployed to a hardware server. A hardware server is a device that serves data or other support to network devices and which usually has higher specifications than client devices. A workstation is a client machine to which an application or a server can be deployed. A mobile device is a portable client used remotely to access the network. Network nodes represent other type of network objects (routers, switches, firewalls, modems, printers, faxes, etc).

In this example, various servers are connected to a gigabit switch:

To create any of these objects, drag the appropriate tool and drop it in empty space or in an existing:

● [hardware server] Hardware server (to create a sub-server) ● [software server] Software server (to create a sub-server) ● [software server] Hardware server or workstation ● [workstation] Workstation (to create a sub-workstation) ● [hardware server, software server, workstation, mobile device] Network ● Area

You can link an application or business service to any other object using the Link tool (see Linking EAM Objects [page 103]). You can add the following kinds of objects to these objects:

● [hardware server] Sub-servers ● [software server] Sub-servers ● [workstation] Sub-workstations ● [hardware server, workstation] Software servers ● [hardware server, software server, workstation, mobile device] Deployment instance

PowerDesigner Web Enterprise Architecture PUBLIC 143

For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 98].

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the object. Choose a value from the list or enter your own value.

Site Specifies the site to which the object is deployed. Click the Select tool and search for a site (see Referencing an Object in an Info Tab Property Field [page 55]).

Multiple [hardware server, workstation and mobile device only] Specifies that the object represents multiple machines.

Virtual [hardware server and workstation only] Specifies that the object represents a virtual machine. For more information about creating virtual machines, see Modeling Cluster Servers and Virtual Ma­ chines [page 145].

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following properties are available in the Detail category for certain types of objects:

Property Description

Serial Number Specifies the serial number of the object.

Asset Number Specifies the asset number of the object .

MAC Address Specifies the MAC address of the object.

Vendor Specifies the vendor of the object.

Memory Specifies the amount of RAM in the object. Choose a value from the list or enter your own value.

Operating System Specifies the operating system of the object. Choose a value from the list or enter your own value.

PowerDesigner Web 144 PUBLIC Enterprise Architecture Property Description

CPU Specifies the CPU in the object.

Mass Storage Specifies the amount of storage in the object. Choose a value from the list or enter your own value.

Operating System Ver­ Specifies the operating system version of the object. sion

The following tabs contain additional information:

● Children - [except network nodes] Lists deployment instances and other sub-objects contained in the object. ● Dependencies - Lists objects the object depends on, networks in which it is contained, and other objects that the object impacts.

4.9.1.1 Modeling Cluster Servers and Virtual Machines

You can model complex machine-in-machine environments using the Type and Virtual properties.

To model virtual machines, create or drag a hardware server or workstation onto a hardware or software server or a workstation and select the Virtual property for the child machines.

In the following example the hardware server, workstation, and software server each contain a virtual server and virtual workstation:

To model a cluster server, create a hardware server, set its Type to Cluster Server and then drop other hardware servers onto it to create nodes.

In the following example, the cluster server contains four hardware server nodes:

PowerDesigner Web Enterprise Architecture PUBLIC 145

4.9.2 Networks (EAM)

A network allows computers to communicate with each other either locally or over large distances via telecommunications.

In this example, the Cloud supports a Mobile Document Solution system:

To create a network, drag the Network tool and drop it in empty space or in an existing:

● Network ● Area

PowerDesigner Web 146 PUBLIC Enterprise Architecture You can link a network to any other object using the Link tool (see Linking EAM Objects [page 103]). You can add the following kinds of objects to networks:

● Networks ● Hardware servers, software servers, workstations, mobile devices

Networks can group hardware and deployed software assets:

For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 98].

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the network. Choose a value from the list or enter your own value.

Site Specifies the site within which the network is located. Click the Select tool and search for a site (see Referencing an Object in an Info Tab Property Field [page 55]).

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Children - Lists deployment instances and sub-networks. ● Dependencies - Lists hardware and software servers, workstations and mobile devices associated with the network and other objects it depends on or impacts.

4.9.3 Deployment Instances (EAM)

Deployment instances represent the deployment of software objects to physical systems. You can deploy a system, application, application service, database, component, or form to multiple servers, workstations, or mobile devices. If you do not want to specify physical systems, you can deploy your software to a software server or an area, or simply to the diagram background.

PowerDesigner Web Enterprise Architecture PUBLIC 147 In this example, the Managed Mobile Device used by the Employee contains an additional deployed application:

To create a deployment instance:

1. Drag the Deployment Instance tool (or any deployable application architecture tool) and drop it in an infrastructure object that can contain deployed objects:

Deployable Objects Infrastructure Objects Supporting Deployment

○ System ○ Hardware Server ○ Application ○ Software Server ○ Database ○ Workstation ○ Component ○ Mobile Device ○ Form ○ Network ○ Application Service ○ Deployment Instance

 Note

You can alternatively create a deployment instance outside of an infrastructure object in empty space or in an area.

2. To associate the deployment instance with its application object, click the Select tool to the right of the Deployed Object field, and use the Search dialog to select the object to be deployed (see Referencing an Object in an Info Tab Property Field [page 55]).  Note

Dragging an existing application object onto an infrastructure object will create a deployment instance of it there.

PowerDesigner Web 148 PUBLIC Enterprise Architecture You can link a deployment instance to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Deployed Object Specifies the system, application, application service, database, component or form being de­ ployed.

The following tabs contain additional information:

● Dependencies - Lists objects that the deployment instance depends on or impacts.

4.10 Goal and EA Project Modeling

PowerDesigner Web lets you visualize your organization's goals, how your EA projects will help fulfill them, and the impacts those projects will have on your enterprise assets.

The following tools are available:

Tool Description

Goal and Project - Click to show or hide the tools below.

Goal - A mission, vision, strategy, or objective. See Goals (EAM) [page 150].

Program - A high-level EA initiative. See Programs, Projects, and Phases (EAM) [page 151].

Project - An EA initiative. See Programs, Projects, and Phases (EAM) [page 151].

[none] Analysis Criterion - A benchmark, standard, or scale. See Analyzing EAM Objects with Criteria [page 105].

PowerDesigner Web Enterprise Architecture PUBLIC 149 4.10.1 Goals (EAM)

Goals allow you to model your organization's mission, vision, strategy, and objectives, to show how they are related to your organization's business and IT architecture, and how they will be addressed through enterprise architecture initiatives.

In this example, the Simplify goal contains sub-goals, one of which is partly fulfilled by the Upgrade ASE project:

To create a goal, drag the Goal tool and drop it in empty space or in an existing goal. You can link a goal to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Children - Lists sub-goals. ● Dependencies - Lists programs and projects fulfilling the goal and other objects it depends on or impacts.

PowerDesigner Web 150 PUBLIC Enterprise Architecture 4.10.2 Programs, Projects, and Phases (EAM)

Programs and projects represent EA initiatives that are intended to fulfill corporate goals and may impact elements of your organization's business and IT architecture. Programs can contain sub-programs and projects, and projects can contain phases.

In this example, the Cloud Cover program contains Project Xtant, which partially fulfills the Move CRM Systems to the Cloud goal, and impacts a number of systems:

To create a program or project, drag the appropriate tool and drop it in empty space or in an existing program. You can create sub-programs or projects inside a program, and phases (which are not shown in the diagram) inside a project. You can link a program or project to any other object using the Link tool (see Linking EAM Objects [page 103]).

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Start date/End date Specify the duration of the program, project, or phase.

Progress Specifies the current advancement of the program, project, or phase.

Status Specifies the present status of the program, project, or phase.

PowerDesigner Web Enterprise Architecture PUBLIC 151 Property Description

IT Capital Expendi­ Specify values for each of these types of expenditure for the program, project, or phase. ture/IT Operating Ex­ penditure/Business Expenditure

Owner Specifies the person, role, or organization unit that is responsible for the object. Select an owner directly here, or create a role association of type Owner.

The following tabs contain additional information:

● Children - Lists sub-programs and projects contained in a program or phases contained in a project. ● Dependencies - Lists goals that will be fulfilled by the initiative and other objects it depends on or impacts.

4.10.2.1 Specifying the Fulfillment of Goals by a Project

You can specify the fulfillment of goals by projects (or programs or phases) by drawing a link from the project to the goal. To specify a fulfillment percentage and comment, select the link and enter these values in its property sheet. The list of goals fulfilled by the project is available on the project's Dependencies tab, and the list of projects fulfilling the goal is available on the goal's Dependencies tab.

4.10.2.2 Specifying the Impact of a Project on EA Assets

You can specify the impact of projects (or programs or phases) on your enterprise assets (organization, process, application, and infrastructure architecture objects) by drawing a link from the project to the impacted asset. The list of assets impacted by the project is available on the project's Dependencies tab, and the list of projects impacting an asset is available on the asset's Dependencies tab.

PowerDesigner Web 152 PUBLIC Enterprise Architecture 5 Business Process Architecture

Business process diagrams help you identify, describe, and decompose your processes into their component steps.

5.1 BPMN 2.0

Business Process Modeling Notation (BPMN) 2.0 is a standardized graphical notation intended to promote communication between non-technical business users who must document their processes and developers seeking to implement them using business execution languages.

PowerDesigner provides support for two variants of BPMN 2.0:

● BPMN 2.0 Descriptive - Commonly used by process owners, BPMN 2.0 Descriptive is aimed at business users and contains a subset of the BPMN 2.0 objects suitable for business process design and analysis. ● BPMN 2.0 Executable - Commonly used by process implementers, BPMN 2.0 Executable includes all the standard BPMN 2.0 objects, and is aimed at technical modelers and those who are reverse-engineering from SAP BPM or Eclipse BPMN2 Modeler.

5.1.1 BPMN 2.0 Descriptive

Commonly used by process owners, BPMN 2.0 Descriptive is aimed at business users and contains a subset of the BPMN 2.0 objects suitable for business process design and analysis.

PowerDesigner supports creating BPMN 2.0 Descriptive process diagrams, which focus on the sequence flow in a single process (which can be in a pool), and collaboration diagrams, which include two or more pools, with messages passing between them:

PowerDesigner Web Business Process Architecture PUBLIC 153

To create a BPMN 2.0 Descriptive model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Business Process (BPMN 2.0 Descriptive), and click Create.

The following tools are available in BPMN 2.0 diagrams:

Tool Description

Pool/Lane - Represents companies, departments, roles, sub-entities (see Pools and Lanes (BPMN Descriptive) [page 155]).

Start Event - Initiates a process (see Start and End Events (BPMN Descriptive) [page 157]).

Task - Represents work performed within a process (see Tasks (BPMN Descriptive) [page 158]).

Gateway - Represents a decision or parallel actions and the reunification of the sequence flow (see Gateways (BPMN Descriptive) [page 160]).

End Event - Terminates a process (see Start and End Events (BPMN Descriptive) [page 157]).

PowerDesigner Web 154 PUBLIC Business Process Architecture Tool Description

Data Store - Represents a database, filing cabinet or other data container (see Data (BPMN Descriptive) [page 163]).

Data Object - Represents a report, document, or other piece of data used in the process (see Data (BPMN De­ scriptive) [page 163]).

Note. Add notes to your diagram and link them to your symbols.

Flow - Links objects with one of the following kinds of flow:

● Sequence Flow - Links two elements (events, activities, gateways) to show the progress in a process. ● Message Flow - Links a pool (or one of its activities) to another pool (or one of its activities), and passes a message between them. ● Data Association - Links a data object to an task or event.

File. See File Objects [page 370].

Lasso. Select multiple symbols by dragging over them.

5.1.1.1 Pools and Lanes (BPMN Descriptive)

Pools represent companies, departments, or roles. Lanes represent sub-entities within these organizations and appear as swimlanes inside the pool. Many BPMN diagrams contain one or more pools, with all the other objects placed in the lanes of these pools.

 Note

Pools can be vertical (top to bottom) or horizontal (left to right). You can change the orientation of your diagram (if it does not contain any pools) by selecting Menu Change Pool to Horizontal/Vertical .

To create a pool, drag the Pool/Lane tool and drop it in the diagram. A start is automatically created in the pool (see Start and End Events (BPMN Descriptive) [page 157]).

A single pool in a diagram generally represents the organization:

To add a lane to a pool, drag the Pool/Lane tool over an existing pool in the diagram. A green line will appear to show where the lane will be added. Click to create the lane in this position.

Each lane in the primary pool represents a department or other sub-entity within the organization:

PowerDesigner Web Business Process Architecture PUBLIC 155

BPMN diagrams may contain a second pool to represent a partner, such as a customer or supplier with whom the organization interacts. To create a second pool, drag the Pool/Lane tool and drop it in the diagram:

Since you generally will not know the details of a partner's processes, the second pool is commonly treated as a "black box". No tasks or other objects are created within it, and it is linked to the first pool only via message flows.

 Note

You can drag lanes from one pool to another, or into empty space to create a new pool, and lanes can be reused and appear in multiple different pools.

Pools and lanes can have the following properties:

PowerDesigner Web 156 PUBLIC Business Process Architecture Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Multi-instance [pools] The pool represents multiple instances of the specified role.

5.1.1.2 Start and End Events (BPMN Descriptive)

A process begins with a start event and terminates with one or more end events.

To create a start, drag the Start tool and drop it in the diagram.

 Note

A start event is created by default when you create a pool (see Pools and Lanes (BPMN Descriptive) [page 155]).

By default, a standard start is created. To change the type of the start, select it, click the Properties tool, and select the appropriate type. In BPMN 2.0 Descriptive, the following types of start events are available:

Symbol Description

Undefined Start Event - The process simply starts without any specific triggering event.

Message Start Event - The process begins following receipt of a message, such as an order or enquiry.

Timer Start Event - The process begins on a specific date or at a specific time, such as Monday morn­ ing at 9am.

 Note

If you do not specify a name for your event and merely accept the default name, no name will be displayed under the symbol in the diagram. To subsequently specify a name to appear in the diagram, select the event symbol and press F2 or enter a name in the property sheet.

To create an end:

● Select an object in the diagram and click (or click and drag) the End tool in its context toolbar to create a new end after it in the control flow, or ● Drag the End tool and drop it in the diagram.

By default, a standard end is created. To change the type of end, click the Properties tool and select a type from the list. In BPMN 2.0 Descriptive, the following types of ends are available:

PowerDesigner Web Business Process Architecture PUBLIC 157 Symbol Description

Standard End Event - The process simply ends when all of the tasks are completed.

Message End Event - The process terminates by sending a message, such as a quotation, invoice, or report.

Terminate End Event - All tasks in any parallel sequence flows are terminated immediately when one branch reaches a terminate end event.

Starts and ends can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

5.1.1.3 Tasks (BPMN Descriptive)

The main contents of a process are the tasks that are performed during its execution.

To create a task:

● Select an object in the diagram and click (or click and drag) the Task tool in its context toolbar to create a new task after it in the control flow, or ● Drag the Task tool and drop it in the diagram.

The task is created with its default name highlighted, ready for you to enter an appropriate name.

In BPMN 2.0 Descriptive, the following types of tasks are available:

Symbol Description

Standard Task - Can be used for any kind of activity.

Service Task - A task performed by an application or web service without any human input.

User Task - A task performed by a human interacting with a software application.

Call Activity - A task which reuses a globally defined process. For example, you may define the login process and then reuse it in multiple processes (see Call Activities (BPMN Descriptive) [page 160]).

Sub-Process - A task that is, itself, broken down into subtasks (see Sub-Processes (BPMN Descriptive) [page 159]).

Tasks can have the following properties:

PowerDesigner Web 158 PUBLIC Business Process Architecture Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Reusable process Specifies that the task can be referenced for reuse by a call activity (see Call Activities (BPMN Descriptive) [page 160]).

Called object [Call Activities] Specifies the global task or process that is reused by the call activity.

5.1.1.3.1 Sub-Processes (BPMN Descriptive)

A sub-process is a task that is broken down into sub-tasks. For example, you may break the Log In task into the sub-tasks Enter User Name and Enter Password.

To create a sub-process:

● Select an object in the diagram and click (or click and drag) the Task tool to create a new task after it in the control flow, or ● Drag the Task tool and drop it in the diagram.

Enter a name for the task and then click the Properties tool to change its type, and select Sub-Process.

The sub-process is initially empty:

To begin to specify the details of the sub-process, drag the Start in the sub-process symbol to create the start inside it:

PowerDesigner Web Business Process Architecture PUBLIC 159  Note

When you hover over the sub-process, its border is highlighted in green to indicate that you are about to create an object inside it.

Add tasks and other objects as necessary to complete the definition of the sub-process:

The symbol grows to accommodate these objects, and you can resize it and reposition them as necessary.

 Note

Objects created inside a sub-process are listed on the Children tab of its property sheet.

5.1.1.3.2 Call Activities (BPMN Descriptive)

Call activities are tasks that reuse an existing global process or task. For example, you may define a process called Log In and then reuse it in various other processes.

To create a call activity, first create a task:

● Select an object in the diagram and click (or click and drag) the Task tool in its context toolbar to create a new task after it in the control flow, or ● Drag the Task tool and drop it in the diagram.

Enter a name for the task and then click the Properties tool in its context toolbar to change its type, and select Call Activity.

To specify the task that will be reused, go to the Called object field on the Info tab, click the Select tool and search for a task to call (see Referencing an Object in an Info Tab Property Field [page 55]).

 Note

Only tasks that have the Reusable Process property selected can be called.

5.1.1.4 Gateways (BPMN Descriptive)

Gateways control the sequence flow of the process, and can split or merge the flow to show many decisions or simultaneous actions are required.

To create a gateway:

PowerDesigner Web 160 PUBLIC Business Process Architecture ● Select an object in the diagram and click (or click and drag) the Gateway tool in its context toolbar to create a new gateway after it in the sequence flow. ● Drag the Gateway tool and drop it in the diagram.

By default, an exclusive gateway is created. To change to a parallel gateway, click the Properties tool and select Parallel Gateway. In BPMN 2.0 Descriptive, two types of gateways are available:

Symbol Description

Exclusive gateway - Only one outgoing branch is performed, depending on the condition.

Parallel gateway - All outgoing branches are performed simultaneously.

Click a tool on the gateway's context toolbar to create a task or other object after it in the control flow:

To create a second object in a new branch, reselect the gateway and click and drag a tool on its context toolbar to place the second object in a suitable position. By preference its flow should depart from a different corner of the gateway symbol:

To specify a condition on a sequence flow connecting the gateway to an object, select the flow and enter an appropriate value in the Condition Alias field in the Properties panel. The value is displayed in the diagram on the sequence flow near to the gateway:

PowerDesigner Web Business Process Architecture PUBLIC 161

You should add a condition to all sequence flows leaving the gateway. You can add further alternate sequence flows as necessary. In this example, once a purchase order is raised, an exclusive gateway controls the subsequent sequence flow based on the value of the order:

Gateways are also used to merge sequence flows when two or more parallel or exclusive flows reunite to continue the process. In this case the two types of gateway have the following meanings:

Symbol Description

Exclusive gateway - Waits for one incoming branch to complete before continuing.

Parallel gateway - Waits for all incoming branches to complete before continuing.

In this example, one of the approval tasks will arrive at the final exclusive gateway, which then triggers the sending of the purchase order:

PowerDesigner Web 162 PUBLIC Business Process Architecture

Gateways can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

5.1.1.5 Data (BPMN Descriptive)

Data objects represent data used in the process.

To create a data object, drag the Data Store or Data Object tool and drop it in the diagram.

In BPMN 2.0 Descriptive, the following types of data are available:

Symbol Description

Data object - Information used in the process.

PowerDesigner Web Business Process Architecture PUBLIC 163 Symbol Description

Data store - A database, filing cabinet, or other location from which the process can read or to which it can write data, and which persists beyond the lifetime of the process instance.

To show a task (or other object) reading from a data object or data store, click the data and then click and drag the Link tool from its context toolbar and drop it onto the task to create a data association (a dashed line) pointing to the task:

To show a task (or other object) writing to a data object or data store, click the task and then click and drag the Link tool from its context toolbar and drop it onto the data to create a data association pointing to the data:

 Note

Data associations may not cross a pool or composite process boundary to, for example, link an object inside the pool with a data object outside it (or vice versa).

Data can have the following properties:

PowerDesigner Web 164 PUBLIC Business Process Architecture Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Collection [data objects] Specifies that the object represents a collection of elements.

Capacity / Unlimited [data stores] Specify the capacity of the store either as a numeric value or as unlimited.

5.1.1.6 Sequence and Message Flows (BPMN Descriptive)

Sequence flows are solid lines with an arrow at one end, which link the elements in a process in the diagram or in a single pool and show the order in which they are performed. Message flows are dotted lines with an arrow at one end, which link two separate pools (or elements in two separate pools) and show the direction in which the message is sent.

A sequence or message flow is created automatically when you create an object from the context toolbar of another object. To create a sequence flow explicitly:

● Select an object in the diagram, click the Link tool in its context toolbar, and drag it to another element in the same pool, or ● Click the Link tool in the toolbox, and click and drag from one element to another in a single pool.

To create a message flow explicitly:

● Select an object in the diagram, click the Link tool in its context toolbar, and drag it to another pool (or an element in another pool), or ● Click the Link tool in the toolbox, and click and drag from one one pool (or an element in the pool) to another pool (or an element in the other pool).

PowerDesigner Web Business Process Architecture PUBLIC 165 In the following example, note how the flows between tasks in a single pool are solid line sequence flows, while the flows between pools are dotted line message flows:

Sequence and message flows can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor­ mally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchroniza­ tion, enter a new code in the Code field.

Source/ Destination Specify the objects that are linked by the flow. For sequence flows, the source object comes before the destination object in the process. For message flows, the source object emits the message and the destination object receives it.

Condition [sequence flows] Specifies the condition that must be fulfilled for the process to take this branch fol­ lowing a gateway.

5.1.2 BPMN 2.0 Executable

Commonly used by process implementers, BPMN 2.0 Executable includes all the standard BPMN 2.0 objects, and is aimed at technical modelers and those who are reverse-engineering from SAP BPM or Eclipse BPMN2 Modeler.

PowerDesigner supports the following BPMN Executable 2.0 diagrams:

● Process diagrams - Focus on the sequence flow in a single process in a participant. ● Collaboration diagrams - Can additionally show the messages that pass between participants. You can show participants as black boxes or with processes inside them.

PowerDesigner Web 166 PUBLIC Business Process Architecture In the following example collaboration diagram, the interactions between the staff of a pizza restaurant and a customer are analyzed:

In the following example process diagram, the booking process internal to a travel agency is analyzed:

PowerDesigner Web Business Process Architecture PUBLIC 167

To create a BPMN 2.0 Executable model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Business Process (BPMN 2.0 Executable), and click Create.

The following tools are available in BPMN 2.0 executable diagrams:

Tool Description

Pool/Lane - Represents companies, departments, roles, sub-entities (see Pools and Lanes (BPMN Executable) [page 173]).

Start Event - Initiates a process (see Start, Intermediate, and End Events (BPMN Executable) [page 173]).

Activity - Represents work performed within a process (see Activities (BPMN Executable) [page 176]).

Intermediate Event - Happens during and influences the course of a process (see Start, Intermediate, and End Events (BPMN Executable) [page 173]).

Gateway - Represents a decision or parallel actions and the reunification of the sequence flow (see Gateways (BPMN Executable) [page 177]).

End Event - Terminates a process (see Start, Intermediate, and End Events (BPMN Executable) [page 173]).

Data Store - Represents a database, filing cabinet or other data container (see Data and Data References (BPMN Executable) [page 178]).

Data Object - Represents a report, document, or other piece of data used in the process (see Data and Data References (BPMN Executable) [page 178]).

Note. Add notes to your diagram and link them to your symbols.

PowerDesigner Web 168 PUBLIC Business Process Architecture Tool Description

Flow - Links objects with one of the following kinds of flow:

● Sequence Flow - Links two elements (events, activities, gateways) to show the progress in a process. ● Message Flow - Links a pool (or one of its activities) to another pool (or one of its activities), and passes a message between them. ● Data Association - Links a data object to an activity or event.

File. See File Objects [page 370].

Lasso. Select multiple symbols by dragging over them.

5.1.2.1 Collaboration and Process Diagrams (BPMN Executable)

A collaboration diagram analyzes the sequence flow of processes and the exchange of messages between participants (represented as swimlanes and pools). Each pool contains an implicit process with a start event and one or more end events. A process diagram analyzes the sequence flow in a single process in a participant (which can be shown or implicit).

5.1.2.2 Conversation Diagrams (BPMN Executable)

A conversation diagram focuses on the communications between participants. You cannot create or display processes or choreographies in this diagram.

 Note

Conversation diagrams can be created and edited in the PowerDesigner desktop client, but are read-only in PowerDesigner Web.

In the following example, the various conversations associated with deliveries from a supplier to a retailer are analyzed:

PowerDesigner Web Business Process Architecture PUBLIC 169

 Note

PowerDesigner does not support the display of processes within participant symbols in a conversation diagram.

Conversation nodes have the following properties:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed informa­ tion about the object. By default the code is synchronized with the name. To decouple name- code synchronization, enter a new code in the Code field.

Reusable Specifies whether the conversation node may be reused in other contexts.

Reuse conversation Specifies the conversation node that is being reused in this context.

Correlation key [atomic conversations only] Specifies the correlation key (set of correlation properties drawn from the message) used to associate the conversation to a particular instance of a process (see Correlation Keys (BPMN Executable) [page 180]). Each flow connected to the node must have the same key as the node.

PowerDesigner Web 170 PUBLIC Business Process Architecture  Note

You can associate a conversation node with a choreography diagram or with a choreography task in order to model the choreography of the messages that flow through it. Choreography diagrams and tasks associated with a conversation node are initialized with the participants linked to the node:

● To associate a choreography diagram with a conversation node from the choreography diagram, right- click the diagram background and select Diagram Properties , and then select the appropriate node in the Related node list on the General tab of the diagram property sheet. Any choreography tasks you create in the diagram will be initialized with the participants associated with the node. ● To associate a choreography task with a conversation node from the task property sheet, select the appropriate node in the Related node list on the General tab of the task property sheet. The task participants will be set to the participants associated with the node. ● To associate a conversation node with an existing choreography diagram from the conversation node symbol, right-click the symbol and select Related Diagram . Alternately, you can create a new choreography diagram from a conversation node, by selecting Related Diagram New . In both cases, to complete the link, you must open the choreography diagram property sheet and select the node in the Related node list. Any choreography tasks you create in the diagram will be initialized with the participants associated with the node.

Conversation links have the following properties:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed informa­ tion about the object. By default the code is synchronized with the name. To decouple name- code synchronization, enter a new code in the Code field.

Participant Specifies the participant to which the link is joined.

Conversation node Specifies the conversation node to which the link is joined. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

5.1.2.3 Choreography Diagrams (BPMN Executable)

A choreography diagram is used to analyze how participants exchange information to coordinate their interactions. A choreography diagram can be used to expand and analyze in detail the exchange of messages associated with a conversation node in a conversation diagram.

 Note

Choreography diagrams can be created and edited in the PowerDesigner desktop client, but are read-only in PowerDesigner Web.

In the following example, the exchange of messages between a patient and a doctor is analyzed:

PowerDesigner Web Business Process Architecture PUBLIC 171

 Note

PowerDesigner does not support the display of participant swimlanes nor the display of collaboration diagrams within choreography tasks. In addition, you cannot create intermediate events in choreography diagrams, and only one initiating and one responding participant are supported for atomic choreography tasks (though multiple participants are calculated for a task containing sub-tasks).

Choreography tasks have the following properties:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed informa­ tion about the object. By default the code is synchronized with the name. To decouple name- code synchronization, enter a new code in the Code field.

Related node Specifies the conversation node with which the choreography task is associated. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Composite status Specifies whether the task is a choreography task or choreography sub-process (which can itself contain choreography tasks, listed on the Choreography Tasks tab).

If you revert from a choreography sub-process back to a choreography task, then any tasks that you have created inside it will be deleted.

Reusable Specifies whether the task may be reused in other contexts.

Reuse task Specifies the choreography task that is being reused in this context.

Initiating and Respond­ [atomic tasks only] Specify the participants that interact through the choreography task. The ini­ ing participants tiating participant and her message are colored white and the responding participant and her message are colored grey. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object. Select the Multiple check box to specify that there is more than one initiating or responding participant.

Initiating and Return [atomic tasks only] Specify the messages that the participants exchange through the choreogra­ messages phy task. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Loop characteristics Specifies that the task is a loop or multiple-instance (parallel or sequential) choreography task.

PowerDesigner Web 172 PUBLIC Business Process Architecture 5.1.2.4 Pools and Lanes (BPMN Executable)

Pools represent companies, departments, or roles. Lanes represent sub-entities within these organizations and appear as swimlanes inside the pool. Many BPMN diagrams contain one or more pools, with all the other objects placed in the lanes of these pools.

BPMN Executable pools and lanes behave in the same way as those in BPMN Descriptive (see Pools and Lanes (BPMN Descriptive) [page 155]).

In BPMN Executable, pools and lanes can also appear in conversation diagrams as square nodes (see Conversation Diagrams (BPMN Executable) [page 169]) and in choreography diagrams, where they do not have a separate symbol but are displayed on the top or bottom band of the choreography task symbol (see Choreography Diagrams (BPMN Executable) [page 171]).

5.1.2.5 Start, Intermediate, and End Events (BPMN Executable)

An event is something that happens during the course of a process. Events include the start and end of an activity, and any other intermediate happenings (such as a change of state or receipt of a message) which will affect its sequence or timing.

In BPMN 2.0 Executable, various different types of start, intermediate and end events can be created depending on the context, and their type is indicated by their symbols:

● None - Untyped events, which indicate start points, state changes, and final states. ● Message - Receiving and sending messages. ● Timer - Cyclic timer events, points in time, time spans, or timeouts. ● Escalation - Escalating to a higher level of responsibility. ● Conditional - Reacting to changed business conditions or integrating business rules. ● Link - Off-page connectors. Two corresponding link events equal a sequence flow. ● Error - Catching or throwing named errors. ● Cancel - Reacting to canceled transactions or triggering cancellation. ● Compensation - Handling or triggering compensation. ● Signal - Signaling across different processes. A signal thrown can be caught multiple times. ● Multiple - Catching one out of a set of events. Throwing all events defined. ● Parallel multiple - Catching all out of a set of parallel events. ● Terminate - Triggering the immediate termination of a process.

PowerDesigner Web Business Process Architecture PUBLIC 173

You can create events in the contexts shown above in the following ways:

● Start events - can be created directly in the diagram, in a pool or lane, in a standard or transaction sub- process (standard starts only), or in an event-based sub-process. Use the Start Event tool in the toolbox. To change the type, click the Properties tool in its context toolbar and select the appropriate type.

 Note

Start events are not permitted in ad hoc sub-processes.

PowerDesigner Web 174 PUBLIC Business Process Architecture  Note

To make an event-based sub-process start event non-interrupting (with the dashed outer circle), deselect the Interrupting property.

● Intermediate catch events - can be created directly in the diagram, in a pool or lane, or in any type of sub- process. Use the Intermediate Catch Event tool in the context toolbar or the toolbox to create the event. To change the type, click the Properties tool in its context toolbar and select the appropriate type. ● Intermediate boundary events - can be created on the edge of a task or of any type of sub-process. Use the Intermediate Catch Event tool in the context toolbar or the toolbox, and click on the border of the task or sub-process. To change the type, click the Properties tool in its context toolbar and select the appropriate type.

 Note

To make an intermediate boundary event non-interrupting (with the dashed outer circles), deselect the Interrupting property.

● Intermediate throw events - can be created directly in the diagram, in a pool or lane, or in any type of sub- process. Use the Intermediate Catch Event tool in the context toolbar or the toolbox, select the Properties tool from its context toolbar, select Intermediate Throw Event to change to the throw type, and then select the Properties tool again and select the appropriate type of throw event. ● End events - can be created directly in the diagram, in a pool or lane or in any type of sub-process. Use the End Event tool in the context toolbar or the toolbox. To change the type, click the Properties tool in its context toolbar and select the appropriate type.

 Note

End events are not permitted in ad hoc sub-processes. Cancel end events are only permitted in transactions.

Executable events can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Interrupting While most events interrupt the process modeled, event sub-process starts and intermediate boundary events can be specified as non-interrupting by deselecting this property. Non-interrupt­ ing events are marked by dashed outer circles.

Message [message events] Specifies the message that is associated with the event (see Messages (BPMN Executable) [page 180]).

PowerDesigner Web Business Process Architecture PUBLIC 175  Note

If you do not specify a name for your event and merely accept the default name, no name will be displayed under the symbol in the diagram. To subsequently specify a name to appear in the diagram, select the event symbol and press F2 or enter a name in the property sheet.

5.1.2.6 Activities (BPMN Executable)

Activities are work that is performed within a process.

To create an activity:

● Select an object in the diagram and click (or click and drag) the Task tool in its context toolbar to create a new activity after it in the control flow, or ● Drag the Task tool and drop it in the diagram.

The activity is created with its default name highlighted, ready for you to enter an appropriate name.

By default, an abstract task is created. To change the type of activity, click the Properties tool and select a type from the list. In BPMN 2.0 Executable, the following types of activities are available:

Symbol Description

Abstract task - Basic unit of work.

Send task - Sends a message to a participant external to the process. Once the message has been sent, the task is completed.

Receive task - Waits for a message to arrive from a participant external to the process. Once the message has been received, the task is completed.

User task - A human performer performs the task with the assistance of a software application and is scheduled through a task list manager of some sort.

Manual task - A task that is performed without the aid of any business process execution engine or any application. For example, a telephone technician installing a telephone at a customer location.

Business rule task - Sends input to a business rules engine and receives the output of the engine's calcula­ tions.

Service task - Uses a Web service or automated application.

Script task - Executed by a script interpreted by a business process engine.

Transaction - Set of activities that logically belong together, and which might follow a specific transaction protocol.

Call activity - Wrapper for a globally defined sub-process or task that is reused in the current process (see Call Activities (BPMN Descriptive) [page 160]).

Sub-process - An activity whose internal details have been modeled using activities, gateways, events, and sequence flows (see Sub-Processes (BPMN Descriptive) [page 159]).

Event sub-process - An activity that is activated when its start event is triggered, and can interrupt the higher level process context or run in parallel (non-interrupting) depending on the start event.

PowerDesigner Web 176 PUBLIC Business Process Architecture Symbol Description

Ad hoc sub-process - A specialized type of sub-process that is a group of activities that have no required sequence relationships, and whose sequence and number are determined by the performers of the activi­ ties.

Activities can have the following properties:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Reusable process Specifies that the process can be referenced by a call activity (see Call Activities (BPMN De­ scriptive) [page 160]).

Start quantity/ Completion Specify the number of tokens that must arrive before the activity can begin and the number quantity of tokens that must be generated from the activity. The default value is 1 and it is only changed in very advanced modeling situations.

Loop characteristics Specifies that the activity may be repeated in one of the following ways:

- default ● Loop ● Multi-Instance parallel ● Multi-Instance sequential

Compensation Specifies that the activity is intended for the purposes of compensation.

Called object [Call Activities] Specifies the global task or process that is reused by the call activity.

5.1.2.7 Gateways (BPMN Executable)

Gateways control the sequence flow of the process, and can merge or split the flow as dictated by the gateway conditions.

To create a Gateway:

● Select an object in the diagram and click (or click and drag) the Gateway tool in its context toolbar to create a new gateway after it in the sequence flow, or ● Drag the Gateway tool and drop it in the diagram.

By default, an exclusive gateway is created. To change the type of gateway, click the Properties tool and select a type from the list. In BPMN 2.0 Executable, the following types of gateways are available:

Symbol Description

Normal/Exclusive gateway - When splitting, routes the flow to one outgoing branch. When merging, waits for one incoming branch to complete before triggering the outgoing flow.

PowerDesigner Web Business Process Architecture PUBLIC 177 Symbol Description

Parallel gateway - When splitting, activates all outgoing branches simultaneously. When merging, waits for all incoming branches to complete.

Inclusive gateway - When splitting, activates one or more branches. When merging, waits for all incom­ ing branches to complete before merging.

Event-based gateway - Followed by catching events or receive tasks and routes the flow to whichever of these happens first.

Exclusive event-based gateway - Starts a new process instance for each occurrence of a subsequent event.

Parallel event-based gateway - Starts a new process instance for the occurrence of all subsequent events.

Complex gateway - Treats complex merging or branching behavior not covered by other gateways.

Gateways can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor­ mally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchroniza­ tion, enter a new code in the Code field.

Direction Specifies how the gateway may be used. You can select: ● Unspecified - The gateway may have any number of incoming and outgoing sequence flows. ● Converging - The gateway may have multiple incoming sequence flows but must have no more than one outgoing sequence flow. ● Diverging - The gateway may have multiple outgoing sequence flows but must have no more than one incoming sequence flow. ● Mixed - The gateway contains multiple outgoing and multiple incoming sequence flows.

Expression / Ex­ Specifies the condition that will be evaluated to decide which path the process follows following the pression alias gateway. The alias provides a short version of the condition which is displayed under the gateway in the diagram.

5.1.2.8 Data and Data References (BPMN Executable)

Data are physical or information items that are created, manipulated, or otherwise used during the execution of a process. Data references are objects that reference data objects for reuse.

 Note

PowerDesigner does not support the association of data objects with sequence flows.

PowerDesigner Web 178 PUBLIC Business Process Architecture To create data, drag the Data Store or Data Object tool and drop it in the diagram.

In BPMN 2.0 Executable, the following types of data are available:

Symbol Description

Data object / Collection data object - Information flowing through the process.

Data input / Collection data input - External input for the entire process, which can be read by an activ­ ity.

Data output / Collection data output - Variable available as the result of the entire process.

Data store - Place where the process can read or write data, such as a database or filing cabinet, and which persists beyond the lifetime of the process instance.

Data can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor­ mally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchroniza­ tion, enter a new code in the Code field.

Capacity/ Unlimited [data stores] Specify the size of the data store or the fact that it has an unlimited capacity.

Data object [data references] Specifies the data object to reference. Select an object from the list, or use the tools to the right of this field to create, delete, select an object, or review the properties of the se­ lected object.

State [data references] Specifies the state of the data object. You can select: ● Initial ● Processing ● Completed

Collection Specifies that the data object represents a collection of data, such as a list of order items.

To connect a task (or other object) to a data object or data store, use the Link tool from the context toolbar and draw a link from the task to the data (write) or from the data to the task (read).

 Note

Data associations may not cross a pool or composite process boundary to, for example, link an object inside the pool with a data object outside it (or vice versa).

Data associations can have the following properties:

PowerDesigner Web Business Process Architecture PUBLIC 179 Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed informa­ tion about the object. By default the code is synchronized with the name. To decouple name- code synchronization, enter a new code in the Code field.

Transformation type Specifies the direction of the transfer of the item-aware element (see Item-Aware Elements (BPMN Executable) [page 181]): ● Input - Specifies a read. The data association goes from the data object to the activity. ● Output - Specifies a write. The data association goes from the activity to the data object.

Source item [Output] Specifies the item-aware element (of type Data Output) defined on the activity to be transferred from it to the data object.

Target item [Input] Specifies the item-aware element (of type Data Input) defined on the activity to be transferred to it from the data object.

5.1.2.9 Correlation Keys (BPMN Executable)

Correlation keys are sets of correlation properties used to associate a message to a particular instance of a process.

BPMN executable correlation keys and correlation properties can have the following properties:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

The correlation properties regrouped in the correlation key are listed on the Dependencies tab.

5.1.2.10 Messages (BPMN Executable)

A message represents the content of a communication between two participants, and is passed along a message flow.

Messages can have the following properties:

PowerDesigner Web 180 PUBLIC Business Process Architecture Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

● Detail - Contains the following properties:

Property Description

External defini- Specifies the location path to an external file or an URL. tion

Message format Specifies the format of the message. You can enter your own format or choose one of the following: type ○ XML Schema ○ DTD ○ RELAX NG

Message format Specifies the content of the message. definition

5.1.2.11 Item-Aware Elements (BPMN Executable)

Item-aware elements are variables used to store or convey information during process execution. You can associate these elements with processes, activities, and events.

To create an item-aware element, use the Add tool above the appropriate list in the Children tab of a process, activity, or event property sheet.

The different types of element are available in the following types of object:

Data Object / Data Object Property Reference Data Input Data Output

Composite processes X X X X

Tasks X X X

Start events / Inter­ X X mediate catching events

End events / Inter­ X X mediate throwing events

Item-aware elements can have the following properties:

PowerDesigner Web Business Process Architecture PUBLIC 181 Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

5.1.2.12 Sequence and Message Flows (BPMN Executable)

Sequence flows are solid lines with an arrow at one end, which link the elements in a process in the diagram or in a single pool and show the order in which they are performed. Message flows are dotted lines with an arrow at one end, which link elements in two separate pools and show the direction in which the message is sent.

For information about creating sequence and message flows, see Sequence and Message Flows (BPMN Descriptive) [page 165]. BPMN executable sequence and message flows can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor­ mally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchroniza­ tion, enter a new code in the Code field.

Source/ Destination Specify the objects that are linked by the flow. For sequence flows, the source object comes before the destination object in the process. For message flows, the source object emits the message and the destination object receives it.

Condition [sequence flows] Specifies the condition that must be fulfilled for the process to take this branch fol­ lowing a gateway.

Message format [message flows] Specifies the message that transits the flow (see Messages (BPMN Executable) [page 180])

Correlation key [message flows] Specifies the correlation key used to associate the message to a particular instance of a process (see Correlation Keys (BPMN Executable) [page 180]). In a conversation diagram, each flow must have the same key as the conversation node to which it is connected.

Correlation property [message flows] Specifies the correlation property that acts as the unique identifier for this instance of the message .

PowerDesigner Web 182 PUBLIC Business Process Architecture 5.1.2.13 Importing and Exporting BPMN 2.0 Files

PowerDesigner can import and export BPMN 2.0 files, with a particular emphasis on supporting SAP BPM and the Eclipse BPMN2 Modeler.

Context

To import a BPMN 2.0 file, navigate to the appropriate repository folder and then click the Menu tool and select Import BPMN2 File.

 Note

You can also import a BPMN 2.0 file into an existing diagram. The import will overwrite any existing content in your diagram.

To export a BPMN 2.0 diagram, click the Menu tool and then select Export BPMN2 File.

The following BPMN 2.0 objects are supported in import and export:

Supported Objects

● DocumentRoot, Definitions, Property, Documentation, TextAnnotation ● Process ● Task, GlobalTask, GlobalBusinessRuleTask, GlobalManualTask, GlobalScriptTask, GlobalUserTask, BusinessRuleTask, ManualTask, ReceiveTask, ScriptTask, SendTask, ServiceTask, UserTask ● Transaction, CallActivity, SubProcess, AdHocSubProcess ● Message, MessageFlow ● Participant, ParticipantMultiplicity ● Collaboration ● Lane, LaneSet ● SequenceFlow ● MultiInstanceLoopCharacteristics, StandardLoopCharacteristics ● Association ● Group ● InputOutputSpecification, InputSet, OutputSet ● DataObject, DataStore, DataInput, DataOutput, DataState ● DataAssociation, DataInputAssociation, DataOutputAssociation ● DataObjectReference, DataStoreReference ● BoundaryEvent, IntermediateCatchEvent, StartEvent, EndEvent, ImplicitThrowEvent, IntermediateThrowEvent ● CancelEventDefinition, CompensateEventDefinition, ConditionalEventDefinition, ErrorEventDefinition, EscalationE­ ventDefinition, LinkEventDefinition, MessageEventDefinition, SignalEventDefinition, TerminateEventDefinition, TimerE­ ventDefinition ● ComplexGateway, EventBasedGateway, ExclusiveGateway, InclusiveGateway ParallelGateway ● Operation, Interface ● BPMNDiagram, BPMNPlane, BPMNShape, BPMNEdge, Bounds, Point

The following BPMN2 objects are not supported for modeling or in import and export:

PowerDesigner Web Business Process Architecture PUBLIC 183 Unsupported Objects

● CorrelationPropertyBinding, CorrelationPropertyRetrievalExpression, CorrelationSubscription ● MessageFlowAssociation, ParticipantAssociation, ConversationAssociation ● ResourceAssignmentExpression, ResourceParameter, ResourceParameterBinding, ResourceRole ● InputOutputBinding ● ItemDefinition ● ImplicitThrowEvent ● Assignment ● Auditing ● ComplexBehaviorDefinition ● Monitoring ● Relationship ● Rendering ● Expression, FormalExpression ● PotentialOwner ● HumanPerformer ● Category, CategoryValue ● EndPoint ● Error ● Escalation ● PartnerEntity, PartnerRole ● Resource ● Signal ● Extension, ExtensionAttributeDefinition, ExtensionAttributeValue, ExtensionDefinition Import

5.1.2.13.1 Importing from SAP BPM

PowerDesigner supports importing a SAP BPM v7.3 or higher process for editing in a new business process model.

Procedure

1. Start SAP NetWeaver Developer Studio and expand the Process Modeling folder. 2. Expand the Process folder, right-click a process, and select Exporting for BPMN 2.0.... 3. Select a file folder and name, and then click Export. 4. Open PowerDesigner Web, click the Repository tile, and navigate to the folder where you want to create the diagram. Click the Menu tool and select Import BPMN2 File, navigate to the file you exported from NetWeaver, select it, and click Open to import it as a new diagram.

 Note

You can also import a BPMN 2.0 file into an existing diagram. The import will overwrite any existing content in your diagram.

PowerDesigner Web 184 PUBLIC Business Process Architecture 5.1.2.13.2 Exporting to SAP BPM

PowerDesigner supports exporting a BPMN 2.0 business process diagram as a process to SAP BPM v7.3 or higher.

Context

 Note

PowerDesigner Web makes your process models available for browsing and importing directly into the SAP NetWeaver Developer Studio Process Composer v7.3 EHP1 SP15 or higher without the need to perform an export. For further information, see SAP BPM Developer’s Guide Modeling Processes with Process Composer at https://help.sap.com/viewer/p/SAP_NETWEAVER_731.

Procedure

1. In PowerDesigner Web, open your BPMN 2.0 diagram, click the Menu tool, and then select Export BPMN2 File. The BPMN 2.0 file is saved to your default download folder. 2. Start SAP NetWeaver Developer Studio and create a new Process Composer Development Component project. 3. Expand the Process Modeling folder, right-click the Processes folder, and select Importing BPMN 2.0 diagram.... 4. Navigate to the file you exported from PowerDesigner , select it, and click Open to import it.

5.2 Importing SAP Solution Manager 7.2 Process Diagrams

SAP® Solution Manager is an environment for managing and monitoring business processes. PowerDesigner Web supports importing SAP Solution Manager 7.2 process diagrams. You can share and comment on these business process diagrams, link their objects to objects in other models, and include them in impact analysis. You can edit process diagrams imported from Solution Manager, create new diagrams inside the processes you have imported, and export your changes back to Solution Manager.

Procedure

1. Open the repository explorer, navigate to the folder where you want to import the SAP Solution Manager diagrams, and select Menu Import SAP Solution Manager 7.2 .

PowerDesigner Web Business Process Architecture PUBLIC 185 2. On the Info tab, enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name (or IP address) and the port.

Credentials Enter the user name and password.

Client Enter the client number.

Use https connection Enables connection via https.

3. On the Selection tab, select your solution, branch, and scope, and then click View Hierarchy.

PowerDesigner Web queries the Solution Manager server and returns the folder structure under the selected solution, branch, and scope. 4. Navigate into the solution folder structure using the left panel, and select processes for import.

Use the following options to help with your process selection: ○ Select all - Select all processes displayed in the list. ○ Include sub-folders - Show processes contained in sub-folders for selection in the list. ○ Import full solution folder structure - By default, only the folder structure containing processes selected for import will be recreated in the PowerDesigner Web repository. 5. When your selection is complete, click Import.

The selected processes are imported, along with the containing folder structure, and immediately published in the PowerDesigner Web repository.

 Note

The import command is not available inside sub-folders of the initial import folder. If you re-import from the initial import folder, processes that are already present in the PowerDesigner Web repository will not be re-imported. You can, however, update individual diagrams with changes on the Solution Manager server (see Updating Diagram Changes from Solution Manager [page 187]).

5.2.1 Exporting Diagram Changes to Solution Manager

You can edit process diagrams imported from Solution Manager, create new diagrams inside the processes you have imported, and export your changes back to Solution Manager.

Context

 Note

You can only export changes to diagrams or new diagrams inside an existing Solution Manager process. You cannot create and export new processes that are not already present on the Solution Manager server.

PowerDesigner Web 186 PUBLIC Business Process Architecture Procedure

1. Open the repository explorer, navigate to your SAP Solution Manager branch folder, and select Menu Export SAP Solution Manager 7.2 . 2. On the Info tab, enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name (or IP address) and the port.

Credentials Enter the user name and password.

Client Enter the client number.

Use https connection Enables connection via https.

3. On the Selection tab, navigate into the solution folder structure using the left panel to the process containing your changes, and select the diagrams for export. 4. When your selection is complete, click Export.

The selected diagrams are exported to Solution Manager: ○ New lanes are created as draft roles, which you should associate with roles from your Solution Manager library. ○ New tasks are created as draft steps, which you should associate with steps from your Solution Manager library

5.2.2 Updating Diagram Changes from Solution Manager

Once you have imported Solution Manager processes into PowerDesigner Web, you can import updates from the Solution Manager server to keep your diagrams up to date.

Procedure

1. Navigate to and open the diagram that you want to update, and click Edit to enable changes to the diagram.

2. Select Menu Import SAP Solution Manager 7.2 . 3. On the Info tab, enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name (or IP address) and the port.

Credentials Enter the user name and password.

PowerDesigner Web Business Process Architecture PUBLIC 187 Parameter Description

Client Enter the client number.

Use https connection Enables connection via https.

4. Click Update. When the Update window opens, review the changes that will be imported and click OK to complete the update. 5. Make any other appropriate changes and then publish the diagram to make the updated version available to other users.

5.3 Process Maps

A process map provides a graphical view of your business architecture, and helps you identify your business capabilities and high-level processes, independent of the people and business units who fulfill them.

 Note

With business capabilities, process groups, and value streams all supporting box-in-box display in enterprise architecture diagrams, the specialized process map diagram is deprecated and may be removed in a future release.

In this example of a top-level process map, the groupings Management, Core, and Support are defined in areas, and ten high-level processes are defined:

PowerDesigner Web 188 PUBLIC Business Process Architecture

The 4. Demand to Cash and 8. Procure to Pay processes contain sub-maps, which you can enter by clicking the plus symbols at the base of their symbols (see Creating a Multi-Level Process Map [page 192]).

To create a process map, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Process Map, and click Create.

The following tools are available in process maps:

PowerDesigner Web Business Process Architecture PUBLIC 189 Tool Description

Business Process - An activity performed in the enterprise. See Process Groups and Business Proc­ esses [page 124].

To create a process, drag the Process tool and drop it in empty space or in an area or business capa­ bility. To create a second process following the first one, click the Process tool in its context toolbar. You can create as many processes as necessary in a row in this way:

To create a second row of processes, click the Process tool in the end process context toolbar and drag it down below the row before releasing it (or use the Process tool in the toolbox):

Processes in a row are loosely stuck together:

● To align the start or end of a row of processes with another symbol, drag the first or last process (without going beyond the upper or lower bounds of the row) and drop it when the guide line ap­ pears. The other processes in the row move with it. ● To detach a process from its row, drag it beyond the upper or lower bound of its row. ● To change the order of a row of processes, drag one process and drop it after the process you want it to follow. The other processes will make room for it if necessary:

 Note

Processes receive a number when they are created. If you move processes around, the num­ bers may no longer correspond to the desired order: You can modify the number of a proc­ ess in the Number ID field of its property sheet, and the other numbers will be updated to avoid duplications and fill holes in the sequence where possible.

● To create a sub-map inside a process, double-click its symbol (see Creating a Multi-Level Process Map [page 192]). ● To link a process to a business process diagram that models its steps, use the Diagrams tab (see Linking Processes to BPMN Business Process Diagrams [page 126]).

PowerDesigner Web 190 PUBLIC Business Process Architecture Tool Description

Business Capability - An aggregation of processes and/or sub-capabilities. See Business Capabilities [page 121].

To create a business capability, drag the Business Capability tool and drop it in empty space or in an area or business capability. You can create sub-capabilities and processes inside the capability by dragging the appropriate tool and dropping it in the capability symbol:

Area - An abstract object for grouping other objects. See Areas [page 368].

To create an area, drag the Area tool and drop it in empty space or in an existing area. You can create sub-areas, capabilities, and processes inside the area by dragging the appropriate tool and drop it in empty space or in the area symbol:

Link

Package. See Packages [page 369].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

PowerDesigner Web Business Process Architecture PUBLIC 191 5.3.1 Creating a Multi-Level Process Map

Process maps are commonly maintained by process analysts who, starting from a top-level overview of business areas and high-level capabilities, decompose top-level processes into sub-processes. Some or all of the processes in the top-level map are decomposed into sub-processes containing sub-maps and so on down through a number of levels. Areas and business capabilities are only permitted in the top-level and cannot be created in sub-maps.

It is common practice to decompose processes to four levels in a process map, and then to model the steps of each fourth-level process in a business process diagram (see Linking Processes to BPMN Business Process Diagrams [page 126]).

To create a sub-map inside a process, double-click its symbol. Processes that you create in this sub-map are sub-processes of the initial process and are listed on the Children tab of its property sheet. Their fully-qualified number includes the number of the parent process as a prefix.

To go down into an existing submap, click the plus sign in the bottom center of the process symbol or zoom into the process symbol until it fills the screen. To go back up to the parent map, use the breadcrumbs in the toolbar.

 Note

Process maps and any sub-maps contained in their processes are treated as a single diagram for simplicity during publication and in the Repository browser. To favorite a particular sub-map for easy access, click the diagram background and then click the Add to Homepage star above the property sheet to add the diagram as a card in your homepage.

PowerDesigner Web 192 PUBLIC Business Process Architecture 6 Information Architecture

PowerDesigner Web supports modeling conceptual data, physical databases, NoSQL, and data movement between your data stores.

6.1 Conceptual Data

Conceptual data models help you design and analyze the conceptual structure of your information systems, to identify the principal entities to be represented, their attributes, and the relationships between them. You can create entities, relationships, inheritances, and associations.

 Note

PowerDesigner Web can display and edit conceptual models created using SAP PowerDesigner desktop and stored in the repository.

To create a conceptual data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Conceptual Data, and click Create.

The following tools are available in conceptual data models:

Tool Description

Entity. See Entities [page 194].

One to Many, One to Many Dependent, and Many to Many Relationship. See Relationships [page 199].

Inheritance. See Inheritances [page 201].

Association. See Associations [page 203].

PowerDesigner Web Information Architecture PUBLIC 193 Tool Description

None Domain. See Domains [page 335].

None Structured Type. See Structured Types [page 205].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Link.

Lasso. Select multiple symbols by dragging over them.

6.1.1 Entities

An entity represents an object about which you want to store information. You can specify the characteristics of entities through attributes and select attributes that uniquely identify the entity in identifiers.

Context

In this example, the entities Salesperson and Customer both inherit characteristics from the entity Person and each is related to the entity Sale:

PowerDesigner Web 194 PUBLIC Information Architecture

Procedure

1. Drag the Entity tool and drop it in the diagram.

An entity is created and its default name selected for overwriting. Entering a name and pressing Tab creates an attribute. Entering a name for the attribute and pressing Tab allows you to specify its data type. You can continue pressing Tab to create attributes as necessary. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Number Specifies the estimated number of occurrences in the physical database for the entity (the num­ ber of records).

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal Data Specifies that personal data, which may need to be anonymized or be subject to special regula­ tion, is being stored.

Retention Specifies the period for which the data should be retained.

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

4. On the Children tab, create additional attributes (see Attributes [page 196]) and identifiers (see Identifiers [page 198]) as necessary.

PowerDesigner Web Information Architecture PUBLIC 195 6.1.1.1 Attributes

Attributes define the characteristics of an entity or structured type.

Context

In this example, the Person entity contains the attributes Person ID (which is a primary identifier), Last Name, First Name, Title, Email, Telephone Number, and Address:

Each attribute is associated with a data item (see Data Items [page 206]). You can either define attributes directly in your entities, or define data items and then reuse them as attributes in your entities.

Procedure

1. Select an entity or structured type symbol and click the Add Attribute tool in its context pad.

You can also add attributes in the entity property sheet by clicking the Children tab and using the Add tool above the Attributes list. Click the attribute name to display its property sheet. 2. Enter the following properties in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Entity/ Associa­ [read-only] Specifies the parent object. tion/ Inheritance

Data Item Specifies the related data item (see Data Items [page 206]).

PowerDesigner Web 196 PUBLIC Information Architecture Property Description

Data type/ Specifies the form of data to be stored and, where appropriate, the maximum number of charac­ Length/ Precision ters or numerals that can be stored, and the maximum number of places after the decimal point.

Domain Specifies the domain associated with the object (see Domains [page 335]). Use the tools to the right of this field to browse to or create a domain. Where a domain is specified, it overrides any selected data type.

Primary Identifier [entity attributes only] Specifies that the attribute is the primary identifier of the entity.

Mandatory Specifies that every object occurrence must assign a value to the attribute. Identifiers (see Identi­ fiers [page 198]) are always mandatory.

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal data Specifies the type of personal data that is being stored: level ○ [default] ○ Private (Identifying) - Information such as a name or id number that can di­ rectly identify an individual. ○ Sensitive - Information such as a salary or illness that an individual may not want known about them. ○ Quasi-Identifier - Information such as gender, age, or town that, while not suffi- cient to directly identify an individual, could do so if combined with other quasi-identifiers.

○ Standard Checks - Specifies the following data profiling properties:

Property Description

Minimum, Maximum, Specify the lowest and highest acceptable numeric values and the value assigned in the Default absence of an expressly entered value. You can set a: ○ Minimum - The lowest acceptable numeric value. ○ Maximum - The highest acceptable numeric value. ○ Default - The value assigned in the absence of an expressly entered value.

Format, Unit, No These properties are for documentation purposes only, and will not be generated. You Space, Cannot modify can choose a: ○ Format - For example, 9999.99 would represent a four digit number with two deci­ mal places. ○ Unit - A standard measure. ○ No space - Space characters are not allowed. ○ Cannot modify - The value cannot be updated after initialization.

PowerDesigner Web Information Architecture PUBLIC 197 Property Description

Case Specifies the acceptable case for the data. You can choose between: ○ Mixed case [default] ○ Uppercase ○ Lowercase ○ Sentence case ○ Title case

List of values Specifies the various values that are acceptable.

Select the Complete check box beneath the list to exclude all other values not appearing in the list.

○ Additional Checks - Specifies any further data profiling constraints. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.1.1.2 Identifiers

An identifier contains the entity attributes whose values uniquely identify each occurrence of the entity.

Context

For example, the identifier for the Client entity could contain the Client ID attribute.

Procedure

1. Select an entity attribute that can uniquely identify an instance and select the Primary Identifier checkbox in its property sheet Info tab.

An identifier is created and attached to the attribute. 2. Click the attribute's Dependencies tab, expand the Identifiers section, and click the name of the identifier to go to its property sheet 3. Enter the following properties in the Info tab General section:

PowerDesigner Web 198 PUBLIC Information Architecture Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Entity [read-only] Specifies the parent object.

Primary Identifier Specifies that the identifier is the primary identifier of the entity.

4. [optional] Click the Children tab, and add other attributes to the identifier.

6.1.2 Relationships

A relationship shows how two entities are related to each other and specifies the number of instances of each entity that can or must participate in the relationship.

Procedure

1. Select one of the following relationship tools from the toolbox and then click in the parent entity and drag and release the tool over the child entity:

Tool Description

One to Many Relationship. For example:

Each account executive may manage one or more accounts. Each account may be managed at most one account executive.

PowerDesigner Web Information Architecture PUBLIC 199 Tool Description

One to Many Dependent Relationship. For example:

Each order may contain one or more order lines. Each order is contained by exactly one order.

Many to Many Relationship. For example:

Each shipment may inlcude one or more products. Each product may be included in one or more shipments.

 Note

To change the type of relation after creation (or to change the link to another type of link) select the link symbol, click the Change Type tool and select another type from the list.

2. If necessary, adjust the properties on the Cardinalities tab :

Property Description

Cardinality Specifies the number of instances (none, one, or many) of an entity in relation to another entity. You can choose from the following values: ○ One-to-one (<1..1>) - One instance of entity A can correspond to only one instance of entity B. ○ One-to-many (<1..n>) - One instance of entity A can correspond to more than one instance of entity B. ○ Many-to-one () - More than one instance of entity A can correspond to the same one instance of entity B. ○ Many-to-many () - More than one instance of entity A can correspond to more than one instance of entity B.

Dominant role [one-to-one relationships only] Specifies one direction of the relationship as dominant. If you de­ fine a dominant direction, the one-to-one relationship generates one reference in a PDM, with the dominant entity as the parent table. If you do not define a dominant direction, the one-to-one rela­ tionship generates two references.

3. If necessary, adjust the cardinalities (minimum and maximum instances) at each end of the relationship:

PowerDesigner Web 200 PUBLIC Information Architecture In addition, this tab contains a groupbox for each direction of the relationship, containing the following properties:

Property Description

Role name Text that describes the relationship of EntityA to EntityB, and which is used to generate the asser­ tion statements displayed at the top of this tab. You should use the infinitive phrase that describes the relationship of one entity to the other. For example, Each Order may one or more line., and Each line must one and only one Order.

Dependent Specifies that the entity is dependent on and partially identified by the other entity.

In the following example, the Sale Item entity is dependent on the Product entity. Each sale item must contain a product and each product can appear as zero or more sale items:

Mandatory Specifies that each instance of the entity requires at least one instance of the other entity.

Implied by dependent.

Cardinality Specifies the maximum and minimum number of instances of EntityA in relation to EntityB (if mandatory, at least 1). You can choose from the following values:

○ 0..1 – Zero to one instances ○ 0..n – Zero to many instances ○ 1..1 – Exactly one instance ○ 1..n – one to many instances

6.1.3 Inheritances

Inheritances specify a supertype-subtype relationship between entities. The general, or supertype (or parent) entity contains all of the common characteristics, and the subtype (or child) entity contains only the particular characteristics.

Context

In this example, the entities Salesperson and Customer both inherit characteristics from the entity Person

PowerDesigner Web Information Architecture PUBLIC 201

Procedure

1. Select the Inheritance Link tool from the toolbox and then click in the parent entity and drag and release the tool over the child entity.

The tool creates an inheritance link from the child to the parent with an inheritance symbol in its middle. 2. Reselect the Inheritance Link tool and create inheritance links from any further child entities to the inheritance symbol. 3. Specify the name of the inheritance and whether it is mutually exclusive and complete in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Parent Specifies the name of the parent entity. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Mutually exclusive Specifies that only one child can exist for one occurrence of the parent entity. children

Complete Specifies that all instances of the parent entity (surtype) must belong to one of the children (sub­ types). For example, entity Person has 2 sub-types Male and Female; each instance of entity Per­ son is either a male or a female.

4. [optional] Open the Generation section to specify, for documentation purposes, whether the parent and child entities would be generated to a database:

PowerDesigner Web 202 PUBLIC Information Architecture Property Description

Generate parent Generate a table from the parent entity. If you select to not generate the child entities, the parent will take on their attributes and references.

In the case of parent-only generation, you can choose to define a specifying attribute, an entity attribute that is defined for a parent entity which differentiates occurrences of each child. Click the Children tab, expand the Attributes section and click the Add tool to create the specifying attrib­ ute, which would be generated as a column in the parent table.

For example, if the parent entity, Publication has two non-generated children, Print and Online, a specifying attribute called Online of type Boolean, could be used to distinguish between the two types of publication.

Generate children Generate a table from each child entity. The primary key of each child table is the concatenation of the child entity identifier and the parent entity identifier. You must additionally choose between: ○ Inherit all attributes – Each table inherits all the entity attributes of the parent entity. ○ Inherit only primary attributes - Each table inherits only the identifier of the parent entity.

6.1.4 Associations

Associations are an alternative to relationships that are commonly used in the Merise methodology to define the links between entities.

Context

In this example, the entities Vehicle, Client, and Agency are linked via the Rental association:

PowerDesigner Web Information Architecture PUBLIC 203

Procedure

1. Select the Association tool from the toolbox and then click in one entity and drag and release the tool over a second entity.

The tool creates an association between the two entities joined to them by association links. 2. [optional] Draw association links from the association to additional entities as necessary. 3. Specify the following properties in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Number Specifies the estimated number of occurrences in the physical database for the association (the number of records).

4. On the Children tab, expand the Attributes list and add any attributes that are specific to the association. 5. Select each of the association links and specify their properties in the Info tab General section:

Property Description

Entity Specifies the entity connected by the association link.

Association Specifies the association connected by the association link.

Role Specifies the label indicating the role of the association link.

Identifier Indicates if the entity is dependent on the other entity.

PowerDesigner Web 204 PUBLIC Information Architecture Property Description

Cardinality Specifies the number of occurrences (one or many) that one entity has relative to another. You define the cardinality for each association link between the association and the entity. You can choose between: ○ 0,1 - There can be zero or one occurrence of the association in relation to one instance of the entity. The association is not mandatory ○ 0,n - There can be zero or many occurrences of the association in relation to one instance of the entity. The association is not mandatory ○ 1,1 - One occurrence of the entity can be related to only one occurrence of the association. The association is mandatory ○ 1,n - One occurrence of the entity can be related to one or many occurrences of the associa­ tion. The association is mandatory

6.1.5 Structured Types

Structured types are data types that can contain a list of attributes, each of which has its own data type. Once you create a structured type, you can select it as a data type for your entity attributes in symbols and property sheets. An attribute that has a structured type as a data type displays a badge and its tooltip lists the names and types of the structured type attributes.

Context

For example, the Address structured type contains six attributes to fully define addresses:

PowerDesigner Web Information Architecture PUBLIC 205

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Abstract Data Types. Click the Add tool to create a new abstract data type in the list and then click its name to go to its property sheet. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

3. Click the Children tab and create attributes as necessary (see Attributes [page 196]).

6.1.6 Data Items

Data items are elementary pieces of information, which represent facts or definitions in an information system, and which may or may not be incorporated into one or more entities via attributes.

Context

Each attribute (see Attributes [page 196]) is associated with a data item. If you define an attribute directly in an entity symbol or Attributes section, a data item is automatically created and attached to it. Alternatively, you can define data items first and then reuse them as attributes in your entities, using the Reuse Data Item tool above the Attributes list.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists to open the List Viewer. Click the Select Variant arrow in the List Viewer header, and select Data Items. 2. Click the Add tool to create a new data item in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

PowerDesigner Web 206 PUBLIC Information Architecture Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Data type/ Specifies the form of data to be stored and, where appropriate, the maximum number of charac­ Length/ Precision ters or numerals that can be stored, and the maximum number of places after the decimal point.

Domain Specifies the domain associated with the object (see Domains [page 335]). Use the tools to the right of this field to create or browse to a domain, or to open the property sheet of the selected domain.

4. The following additional sections are available on the Info tab:

○ Standard Checks - Specifies the following data profiling properties:

Property Description

Minimum, Maximum, Specify the lowest and highest acceptable numeric values and the value assigned in the Default absence of an expressly entered value. You can set a: ○ Minimum - The lowest acceptable numeric value. ○ Maximum - The highest acceptable numeric value. ○ Default - The value assigned in the absence of an expressly entered value.

Format, Unit, No These properties are for documentation purposes only, and will not be generated. You Space, Cannot modify can choose a: ○ Format - For example, 9999.99 would represent a four digit number with two deci­ mal places. ○ Unit - A standard measure. ○ No space - Space characters are not allowed. ○ Cannot modify - The value cannot be updated after initialization.

Case Specifies the acceptable case for the data. You can choose between: ○ Mixed case [default] ○ Uppercase ○ Lowercase ○ Sentence case ○ Title case

List of values Specifies the various values that are acceptable.

Select the Complete check box beneath the list to exclude all other values not appearing in the list.

○ Additional Checks - Specifies any further data profiling constraints.

PowerDesigner Web Information Architecture PUBLIC 207 ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.1.7 Generating a CDM to a PDM

PowerDesigner Web supports generating a conceptual data model (CDM) to a physical data model (PDM). You can also generate a CDM to create a copy as a new CDM.

Context

You can generate multiple PDMs from a CDM, and regenerate to these PDMs to push updates from your CDM (see Regenerating a CDM to a PDM [page 215]).

Objects are generated as follows:

Conceptual Objects Standard DBMS SAP HANA 2.0 HDI

Entities Tables Entities or Tables

Attributes Columns Elements

Identifiers Keys Elements with Key property set to true.

Relationships (see Generating Relation­ References Associations ships, Associations, and Inheritances [page 210])

Inheritances (see Generating Relation­ Options control generation of parent Options control generation of parent ships, Associations, and Inheritances and child tables and child entities [page 210])

Associations (see Generating Relation­ Tables or References Entities or associations ships, Associations, and Inheritances [page 210])

Domains Domains Simple Types

PowerDesigner Web 208 PUBLIC Information Architecture Conceptual Objects Standard DBMS SAP HANA 2.0 HDI

Structured Types Abstract Data Types (if supported) Structured Types or Table Types

 Note

If a column type cannot be set to an abstract data type, then a column is generated for each structured type element.

Data Items [not generated] [not generated]

 Note

CDM shortcuts are generated as PDM shortcuts if an appropriate source PDM with the same DBMS is available (see Generating Shortcuts to a PDM [page 213]).

Procedure

1. Open the conceptual data model from which you want to generate a new model. 2. If the model is not already editable, click the Edit tool.

3. Select Menu Generate Model .

If there are unsaved changes in your model, you will be prompted to save. 4. Specify generation parameters as follows:

Parameter Description

Mode Select Generate New Model.

Name Specify a name for the new model.

Type Select the appropriate physical data model type.

Generate Entities as [SAP HANA 2.0 HDI only] Select to generate your entities as CDS entities or HDB ta­ bles in the new model. This option also controls the generation of structured types as CDS structured types or table types.

Folder Select the folder to create the new model in.

5. Click Generate to generate the model.

The generated diagram opens in a new tab and is added to your workspace in the My Work in Progress section. 6. Review the generated objects, make any appropriate edits to the generated physical diagram and then publish it and your conceptual diagram to make them available to other users (see Publishing Models [page 61]).

PowerDesigner Web Information Architecture PUBLIC 209 6.1.7.1 Generating Relationships, Associations, and Inheritances

The various types of relationships and associations generate different patterns in your physical data model, while the inheritance generation options control which tables are generated among the parents and children of your inheritances.

Relationships

The type of the relationship and the cardinalities and other properties of each of its roles affect generation to a PDM:

Case Generating from a CDM...... To a Standard PDM ... To a HANA HDI PDM

Many to Many Relationship

One to Many Relationship

Many to One Relationship

PowerDesigner Web 210 PUBLIC Information Architecture Case Generating from a CDM...... To a Standard PDM ... To a HANA HDI PDM

One to One Relationship

One to One Dominant Rela­ tionship

One to One Dependent Rela­ tionship

Associations

The number and cardinalities of the association links affect generation to a PDM:

PowerDesigner Web Information Architecture PUBLIC 211 Case Generating from a CDM...... To a Standard PDM ... To a HANA HDI PDM

One to Many Association

One to One Association

Single Entity Association

Inheritances

The generation options affect generation to a PDM:

PowerDesigner Web 212 PUBLIC Information Architecture Case Generating from a CDM...... To a Standard PDM ... To a HANA HDI PDM

Generate both the parent and the children.

Generate only the children.

Generate only the parent.

6.1.7.2 Generating Shortcuts to a PDM

If your CDM contains shortcuts to entities in another CDM and you have generated the source CDM to a PDM with the same DBMS, PowerDesigner Web will generate these entity shortcuts as table shortcuts in the PDM. If the source CDM has not been generated to a PDM with the same DBMS, the shortcuts will be generated as independent tables.

 Note

If the source CDM has been generated to multiple PDMs with the same DBMS, you will be prompted to specify which one to use to resolve the shortcuts. Your choice is remembered for subsequent regenerations.

PowerDesigner Web Information Architecture PUBLIC 213

In this example, Sales CDM, which contains shortcuts to entities in Library CDM, has been generated to PDMs with three different DBMSs:

● Sales PDM (Oracle) - The entity shortcuts are generated as table shortcuts, which are resolved against tables generated to Library PDM (Oracle). ● Sales PDM (HANA) - The entity shortcuts are generated as table shortcuts, which are resolved against tables generated to the selected PDM: Library PDM Alternative (HANA) ● Sales PDM (DB2) - The entity shortcuts are generated as tables because Library CDM has not been generated to a DB2 PDM.

 Note

Your entity shortcuts can inherit attributes from any part of an inheritance structure and generate them as table columns, even if the target entities containg the inherited attributes in the referenced model have not been generated to a PDM.

For information about creating shortcuts, see Reusing Objects [page 51].

PowerDesigner Web 214 PUBLIC Information Architecture 6.1.7.3 Regenerating a CDM to a PDM

Once you have generated a CDM to a PDM, you can regenerate at any time. Any updates made to the CDM since the last generation will be pushed, by default, to the PDM unless they conflict with changes made independently in the PDM. You can review the proposed changes before generation.

Procedure

1. Open the conceptual data model from which you want regenerate to your PDM. 2. If the model is not already editable, click the Edit tool.

3. Select Menu Generate Model .

If there are unsaved changes in your model, you will be prompted to save.

By default, the generation mode is set to Update Model. 4. Select the model that you want to update. 5. [optional] Select the Review changes option to open a merge window to review the changes that will be made to the PDM. 6. Click Generate to generate the model. 7. If you selected Review changes or if conflicts are detected between the source CDM and the target PDM, the merge window opens to allow you to review the changes that will be applied to your PDM.

 Note

A conflict is detected if changes are made independently to an object in the source CDM and the corresponding objects in the target PDM.

The merge window contains two panes showing: ○ Source Model [left pane] - A temporary PDM generated from the current CDM. ○ Generated Model [right pane] - The PDM to be updated. The following tools are available in this window to review the changes that will be applied to the previously generated PDM:: ○ Highlight - Click the menu in the bottom toolbar to open the list of available highlighting in the two diagrams:

PowerDesigner Web Information Architecture PUBLIC 215

You can select to highlight one or more of the following kinds of changes: ○ Created objects - [green] Objects that exist in the Source Model but not in the Generated Model. ○ Updated objects - [orange] Objects that have changes to properties.

 Note

An object containing sub-objects will be highlighted orange if any of its sub-objects have changes to properties.

○ Symbol changes - [orange] Symbols that have been moved or resized in the Source Model. ○ Deleted objects - [red] Objects that do not exist in the Source Model but are present in the Generated Model. The following options allow you to filter the creations, updates, symbol changes, and deletions that will be highlighted: ○ Show only conflicts - [dashed lines] Highlight only those creations, updates, symbol changes, and deletions that have been changed in conflicting ways in both the CDM and PDM. By default the changes in the CDM will be propagated to and overwrite the changes made locally in the PDM. ○ Local changes in target model - [orange] Highlight changes made locally in the target PDM. By default, these changes will be preserved and we recommend to disable this option to allow you to focus on changes coming from the CDM. ○ List of Actions - Click the menu in the bottom toolbar to open the list of actions that will be applied to the PDM:

○ Use the tools at the top of the list to filter the types of actions displayed. ○ Click an actions showing an arrow to display its sub-actions.

PowerDesigner Web 216 PUBLIC Information Architecture ○ Use the checkboxes before the actions to choose whether to apply them to the PDM or not. By default, most actions shown are selected to be applied except for the following: ○ Created objects- Objects that were previously generated from the CDM and have been deleted in the PDM will display as creations but are not selected to be applied to the PDM. ○ Deleted objects - Objects that were created locally in the PDM and are not the result of a generation will display as deletions but are not selected to be applied to the PDM. ○ Show Properties - Click the tool in the top toolbar to display a panel listing the properties of the selected object. 8. Click OK to continue the generation.

The generated diagram opens in a new tab and is added to your workspace in the My Draft Diagrams section. 9. Review the generated objects, make any appropriate edits to the generated physical diagram and then publish both it and the source conceptual diagram to make the new versions available to other users (see Publishing Models [page 61]).

6.2 Physical Data (Databases)

Physical data models help you design and analyze the structure of your databases. You can reverse-engineer any supported database and generate to SAP HANA.

PowerDesigner Web supports data architects, providing tools for modeling HANA and non-HANA data schemas to document, transform, and rationalize the enterprise information landscape, and streamlining their communication with developers working with SAP Web IDE for SAP HANA.

You can quickly plan and design your data architecture as HDI artifacts, initiate calculation views, and generate them with their associated data sources for development and deployment through Web IDE. Support for reverse-engineering HDI files from Web IDE as well as HANA catalog objects and non-HANA DBMS schemas allows you to open up data silos and connect them with your organization’s landscapes, strategies, requirements, and processes.

PowerDesigner Web provides two types of SAP HANA physical data models to allow you to interact with Web IDE or directly with the HANA catalog:

● Physical Data (SAP HANA 2.0 HDI) - for modeling CDS entities, calculation views, and other HDI artifacts. You can reverse-engineer from and generate to Web IDE via HDI files (see SAP HANA 2.0 Deployment Infrastructure (HDI) [page 221]). ● Physical Data (SAP HANA 2.0 Database) - for modeling tables and other catalog artifacts. You can reverse- engineer from and generate to the HANA catalog (see SAP HANA 2.0 Database [page 249].

PowerDesigner Web Information Architecture PUBLIC 217

 Note

PowerDesigner Web can display physical models created using SAP PowerDesigner desktop and stored in the repository, but only models using the DBMS versions from the following list can be edited using the Web UI.

The following DBMS versions are supported with the following features:

Generate Data­ DBMS Reverse Database Generate Report Generate Model base

SAP HANA 2.0 HDI Yes Yes Yes Yes

SAP HANA 2.0 Database Yes Yes Yes Yes

SAP Big Data Services Yes Yes Yes Yes

SAP SQL Anywhere 17 Yes Yes Yes

Oracle v12c Yes Yes Yes Yes

Microsoft SQL Server 2016 Yes Yes Yes Yes

IBM DB2 v11 for z/OS Yes Yes Yes

Teradata v15 Yes Yes Yes

Hadoop Hive 2 Yes Yes Yes Yes

PowerDesigner Web 218 PUBLIC Information Architecture 6.2.1 Migrating a Database to SAP HANA

PowerDesigner Web can help you migrate a database to SAP HANA.

Context

Procedure

1. Create a physical data model to contain your existing non-HANA database (see Creating a Model [page 11]).

2. Select Menu Reverse-Engineer Database , to reverse the database schema (see Reverse-Engineering a Database [page 344]). 3. Review the reversed objects in your model, and save and publish it as a record of your existing database (see Publishing Models [page 61]). 4. Reopen the model and click the Edit tool.

5. Select Menu Generate Model , specify a name, select the Physical Data (SAP HANA 2.0 HDI) type and click Generate to generate a new model (see Generating a PDM to a New PDM [page 348]) in which your tables are transformed into HDI artifacts.

 Note

You can alternatively generate to a Physical Data (SAP HANA 2.0 Database) model to generate HANA tables directly, but you will need to create a Physical Data (SAP HANA 2.0 HDI) model if you want to initialize calculation views in PowerDesigner Web.

6. Review your generated objects and modify them as necessary (see SAP HANA 2.0 Deployment Infrastructure (HDI) [page 221]). 7. [optional] Initialize calculation views (see Calculation Views (HDI) [page 237]).

PowerDesigner Web Information Architecture PUBLIC 219 8. Save and publish your Physical Data (SAP HANA 2.0 HDI) model.

9. Reopen the model and select Menu Generate HDI Files to generate a zip file containing all your HDI artifacts (see Generating HDI Files [page 246]). 10. Import the zip file into Web IDE, review, complete, and activate your artifacts.

6.2.2 Reversing Calculation Views for Impact Analysis

PowerDesigner Web supports reverse-engineering your calculation views along with their sources, linking them to your organization's landscapes, strategies, requirements, and processes and performing impact analysis on them.

Context

Procedure

1. Export your HDI project from Web IDE as a zip file. 2. [optional] Create a physical data model for each non-HANA database that is referenced as a remote source in .hdbvirtualtableconfig files among your HDI artifacts and reverse-engineer the necessary virtual table sources (see Reverse-Engineering a Database [page 344]). 3. [optional] Create a Physical Data (SAP HANA 2.0 Database) model to contain HANA catalog tables referenced in .hdbsynonymconfig files among your HDI artifacts and reverse-engineer the necessary synonym sources (see Reverse-Engineering a HANA Database [page 264]).

PowerDesigner Web 220 PUBLIC Information Architecture 4. Create a Physical Data (SAP HANA 2.0 HDI) model, select Menu Reverse-Engineer HDI Files , navigate to and select your HDI project zip file, and click Reverse (see Reverse-Engineering HDI Files [page 247]). 5. [optional] Create links between your HDI artifacts and other artifacts (see Traceability Links [page 371]). 6. Review your reversed HDI artifacts and save and publish your model (see Publishing Models [page 61]). 7. Reopen your model, select a calculation view or other artifact on which you want to perform an analysis, and select Menu Impact and Lineage Analysis (see Impact and Lineage Analysis [page 63]).

6.2.3 SAP HANA 2.0 Deployment Infrastructure (HDI)

PowerDesigner Web supports the creation of SAP HANA 2.0 HDI physical data models manually, by reverse- engineering HDI files, or by generation from another data model. You can model CDS artifacts and calculation views and generate HDI files for import to Web IDE for activation.

PowerDesigner Web and Web IDE

PowerDesigner Web supports generation to and reverse engineering from Web IDE of HDI artifacts via HDI files.

 Note

Round-trip regeneration of objects reverse-engineered from Web IDE is not supported.

The following HDI artifacts are supported:

● Core Data Services (CDS) artifacts: ○ Contexts (.hdbcds files)

PowerDesigner Web Information Architecture PUBLIC 221 ○ Datastores (.hdbcds files) ○ Entities (.hdbcds files) ○ Associations (potentially .hdbconstraint files) ○ Simple and Structured Types ○ Constants ● Calculation views: ○ Initialization: Calculation views with multiple sources (but a single main source) based on references between sources. ○ Generation (.hdbcalculationview files): Graphical calculation views are generated with their sources, projection lists, and intermediate join nodes defined for completion in Web IDE. ○ Reverse-Engineering (.hdbcalculationview files): Graphical calculation views are reversed with their sources and projection lists and, where possible, intermediate join nodes for inclusion in impact analysis. ● Other HDI artifacts: ○ Tables (.hdbtable, .hdbindex, and .hdbfulltextindex files) ○ Virtual tables (.hdbvirtualtable and .hdbvirtualtableconfig files) ○ Synonyms (.hdbsynonym and .hdbsynonymconfig files) ○ Procedures and Functions (.hdbprocedure and .hdbfunction files)

 Note

CDS Views, anonymous types, enumerations and other more technical CDS concepts are not supported.

To create an SAP HANA HDI physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (SAP HANA 2.0 HDI), and click Create.

The following tools are available in HANA HDI physical data models:

Can Be Cre­ Tool Details ated In

Contexts. See Contexts (HDI) [page 224]. Anywhere

Datastores. See Datastores (HDI) [page 225]. Anywhere

Entities. See Entities (HDI) [page 227]. Anywhere

Tables. See Tables (HDI) [page 231]. Root/Package

Extension. See Extensions (HDI) [page 243]. Root/Package

Virtual Tables. See Virtual Tables (HDI) [page 237]. Root/Package

Calculation Views. See Calculation Views (HDI) [page 237]. Root/Package

PowerDesigner Web 222 PUBLIC Information Architecture Can Be Cre­ Tool Details ated In

None Procedures/Functions. See Procedures / Functions (HDI) [page 244]. Root/Package

Associations. See Associations (HDI) [page 233]. Anywhere

None Simple Types. See Simple Types (HDI) [page 241]. Anywhere

Structured Types. See Structured Types (HDI) [page 242]. Anywhere

None Constants. See Constants (HDI) [page 242]. Anywhere

Packages. See HANA Packages () [page 223]. Packages in HDI are equivalent to folders Root/Package in Web IDE.

File. See File Objects [page 370]. Root/Package/ Context

Note. Add notes to your diagram and link them to your symbols. Anywhere

Lasso. Select multiple symbols by dragging over them. N/A

6.2.3.1 HANA Packages ()

HANA packages group together related information objects in a structured way and are equivalent to folders in Web IDE.

Procedure

1. Select the HANA Package tool and click in the diagram. 2. Open the property sheet tab, and complete properties as appropriate.

The following properties are available on the General tab:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

PowerDesigner Web Information Architecture PUBLIC 223 Name Description

Custom namespace Specifies a custom namespace for the package. By default, the package namespace is the full path to the package. To modify this behavior, open the model property sheet and uncheck the Append checkbox.

If you enter a custom namespace, a run-time namespace configuration file (.hdinamespace) is generated.

 Note

You can review and modify the package namespace here or in the property sheet of any dia­ gram in the package.

Extension package [packages containing extensions] Specifies a custom name for the package, which is generated to the CDS extension package descriptor (.package.dbcds).

The following read-only properties are provided for information on the HANA tab:

Name Description

Structure package [read-only] Specifies that the package is a structural package.

Package [read-only] Specifies the HANA object name.

3. Click OK to complete the creation of the HANA package.

6.2.3.2 Contexts (HDI)

Contexts provide a way of structuring your CDS artifacts. One file is generated for each top-level context.

Procedure

1. Drag the Context tool and drop it in the diagram (or select an existing context and click the Context tool in its context pad). 2. Enter the following properties in the property sheet in the Info tab General section:

PowerDesigner Web 224 PUBLIC Information Architecture Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Custom usings If you define an artifact in one context by referring to an artifact that is defined in another context that is present in a model in the PowerDesigner repository, the appropriate using statement is automatically created. Enter any other required usings here.

3. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the code that will be generated for the object. 4. Double-click the context symbol to open its diagram.

 Note

To go back up to the parent diagram, click the Previous View tool on the left of the top toolbar.

You can create the following HDI artifacts inside a context: ○ Contexts ○ Entities ○ Simple Types ○ Structured Types ○ Constants

6.2.3.3 Datastores (HDI)

A datastore object (DSO or sometimes NDSO) contains one or more inbound queues to load records to, an active data table to which records are loaded after activation, and a change log to provide a history of changes, rollback, and delta capabilities.

Procedure

1. Drag the Datastore tool and drop it in the diagram.

Alternatively, to transform an entity into a datastore, select the entity symbol and click the Convert to Datastore tool in its toolbar.

PowerDesigner Web Information Architecture PUBLIC 225 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the activated table. You can choose between: ○ Row - [default] If the majority of table access involves selecting a few records, with all attrib­ utes selected, ROW-based storage is preferable. ○ Column - If the majority of table access will be through a large number of tuples, with only a few selected attributes, COLUMN-based storage should be used. ○ Global temporary - The table definition is globally available while data is visible only to the current session. The table is truncated at the end of the session.

Unload priority Specifies the unload priority for the activated table from 0 to 9, where 0 means the table cannot be unloaded and 9 means earliest unload.

Custom usings [top-level datastores] If you define an artifact in one context by referring to an artifact that is de­ fined in another context that is present in a model in the PowerDesigner repository, the appropri­ ate using statement is automatically created. Enter any other required usings here.

3. Enter the following properties in the property sheet in the Info tab Detail section:

Property Description

Ensure Consis­ Enables the Ensure Consistency (Digest) option. tency

Support Snap­ Enables the Support Snapshot option. shot

Write Change Log Enables the Write Change Log option.

4. The following additional sections are available on the Info tab:

○ Technical Configuration - Specifies additional configuration information for the object. ○ @Annotations - Specifies standard CDS and custom user annotations for the object. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - [top-level datastores/entities] Displays the code that will be generated for the object. 5. On the Children tab, create elements as necessary in the Elements list (see Elements (HDI) [page 229]). 6. On the Children tab, create indexes as necessary in the Indexes list (see Indexes (HDI) [page 230]).

PowerDesigner Web 226 PUBLIC Information Architecture 7. On the Children tab, review the default inbound queue that is created as part of the datastore in the Activation Queues list.

You can add further inbound queues, if necessary, in this list.

To review an inbound queue's elements, click its name in the list to open its property sheet, and then click the Children tab. You can specify an aggregation type for each element.

6.2.3.4 Entities (HDI)

A CDS entity is a table with a set of data elements that are organized using columns and rows. You can create entities at the model root or under a context. One file is generated for each top-level entity not in a context.

Procedure

1. Drag the Entity tool and drop it in the diagram (or select an existing entity and click the Entity tool in its context pad).

An entity is created and its default name selected for overwriting. Entering a name and pressing Tab creates an element. Entering a name for the element and pressing Tab allows you to specify its data type. You can continue pressing Tab to create elements as necessary. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the activated table. You can choose between: ○ Row - [default] If the majority of table access involves selecting a few records, with all attrib­ utes selected, ROW-based storage is preferable. ○ Column - If the majority of table access will be through a large number of tuples, with only a few selected attributes, COLUMN-based storage should be used. ○ Global temporary - The table definition is globally available while data is visible only to the current session. The table is truncated at the end of the session.

Unload priority Specifies the unload priority for the activated table from 0 to 9, where 0 means the table cannot be unloaded and 9 means earliest unload.

PowerDesigner Web Information Architecture PUBLIC 227 Property Description

Custom usings [top-level entities] If you define an artifact in one context by referring to an artifact that is defined in another context that is present in a model in the PowerDesigner repository, the appropriate using statement is automatically created. Enter any other required usings here.

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal Data Specifies that personal data, which may need to be anonymized or be subject to special regula­ tion, is being stored.

Retention Specifies the period for which the data should be retained.

○ Versioning - Specifies that the table is system-versioned and is linked to a history table of archived records. You can specify the following properties:

Property Description

History Table Specifies that the table is system-versioned. Click Create to create the history table, which is by default called _History along with the ValidFrom and ValidTo time­ stamp columns in the base table.

 Note

To modify the default names for these objects, click the Settings button and modify the naming templates.

 Note

To enable system-versioning for multiple entities, open the Entities object list (see Cre­ ating and Editing Objects in a List [page 35]), select the appropriate entities, and select Create in the History Entity column.

For more information about system-versioned tables in SAP HANA, see System-Versioned Ta­ bles in the SAP HANA Administration Guide.

Validated Enables validation of the history table.

Technical Con­ Specifies additional configuration information for the history table. figuration

○ Technical Configuration - Specifies additional configuration information for the object. ○ @Annotations - Specifies standard CDS and custom user annotations for the object. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - [top-level datastores/entities] Displays the code that will be generated for the object.

PowerDesigner Web 228 PUBLIC Information Architecture 4. On the Children tab, create elements as necessary (see Elements (HDI) [page 229]). 5. On the Children tab, create indexes as necessary (see Indexes (HDI) [page 230]).

6.2.3.4.1 Elements (HDI)

Elements are entity or data store columns or structured type attributes.

Procedure

1. Select an entity or structured type symbol and click the Add Element tool in its context pad.

You can also add elements in the entity or structured type property sheet by clicking the Children tab and using the Add tool above the Elements list. Click the element name to display its property sheet. 2. Enter the following properties in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Data type / Specifies the data type of the element. Select a standard data type from the list, click Select to Length / Scale select a simple or structured type, or Create to create a new simple type. Certain data types re­ quire you to specify a length and scale.

Default value Specifies the default value assigned to the element. Select a constant from the list, click Select to search for a constant outside of the context, or Create to create a new constant.

Mandatory Specifies that a non-null value must be assigned.

Key Specifies that the element forms part of the primary key of the entity.

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

PowerDesigner Web Information Architecture PUBLIC 229 Property Description

Personal data Specifies the type of personal data that is being stored: level ○ [default] ○ Private (Identifying) - Information such as a name or id number that can di­ rectly identify an individual. ○ Sensitive - Information such as a salary or illness that an individual may not want known about them. ○ Quasi-Identifier - Information such as gender, age, or town that, while not suffi- cient to directly identify an individual, could do so if combined with other quasi-identifiers.

○ Detail - Specifies the following properties:

Property Description

Search index Specifies whether to use a full-text or fuzzy search index.

Aggregation Specifies the aggregation type for the element.

○ @Annotations - Specifies standard CDS and custom user annotations for the object. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.3.4.2 Indexes (HDI)

Indexes optimize data retrieval.

Procedure

1. Select an entity symbol to display its property sheet, select the Children tab and click the Add tool above the Indexes list. Click the index name to display its property sheet. 2. Enter the following properties in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

PowerDesigner Web 230 PUBLIC Information Architecture Property Description

Type Specifies the type of the index, which can be: ○ - [default] The server will choose the appropriate index type. ○ Cpbtree - Compressed Prefix B+-Tree, which can show better performance for larger keys for character, string, binary string, or decimal column types, or when the constraint is a com­ posite key, or a non-unique constraint. ○ Btree - Maintains sorted data that performs efficient insertion, deletion and search of re­ cords. ○ Fulltext - Creates an additional data structure to enable text search features on a specific column in a table. Enables the Full-Text tab (see below).

Unique Specifies that the index cannot contain duplicate values.

Sort Specifies whether values are sorted in ascending or descending order.

3. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. Click the Children tab, and click the Add tool above the Index Elements list to select the elements to be associated with the index.

6.2.3.5 Tables (HDI)

You can create tables instead of (or as well as) CDS entities in your SAP HANA 2.0 HDI model. You can create associations between tables and between tables and entities and use them as sources for calculation views.

Tables are generated and reversed as .hdbtable files.

You can specify to create tables instead of CDS entities when generating an SAP HANA 2.0 HDI PDM from a CDM (see Generating a CDM to a PDM [page 208]) or PDM (see Generating a PDM to a New PDM [page 348]).

For information about table properties, see Tables (HANA) [page 249].

6.2.3.6 SQL Views (HDI)

You can create SQL views in your SAP HANA 2.0 HDI model and specify tables and CDS entities as their sources.

SQL views are generated and reversed as .hdbview files.

You can specify to create SQL views when generating an SAP HANA 2.0 HDI PDM from another PDM (see Generating a PDM to a New PDM [page 348]).

For information about SQL view properties, see Views (HANA) [page 258].

PowerDesigner Web Information Architecture PUBLIC 231 6.2.3.7 Table Types (HDI)

You can create table types instead of (or as well as) CDS structured types in your SAP HANA 2.0 HDI model.

Table types are generated and reversed as .hdbtabletype files.

You can specify to create table types instead of CDS structured types when generating an SAP HANA 2.0 HDI PDM from a CDM (see Generating a CDM to a PDM [page 208]) or PDM (see Generating a PDM to a New PDM [page 348]).

For information about table type properties, see Abstract Data Types [page 336].

6.2.3.8 Synonyms (HDI)

Synonyms are aliases to tables and views in other schemas.

Context

Synonyms are generated and reversed as .hdsynonym and .hdsynonymconfig files.

 Note

Synonyms created in PowerDesigner Web can only be used to generate .hdsynonym and .hdsynonymconfig files and cannot be used directly as sources for calculation views in PowerDesigner Web.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Synonyms. Click the Add tool to create a new synonym in the list. 2. Click the Select tool to the right of the Default value field. 3. In the object picker, navigate to the model containing the source object, select it, and click OK. 4. [optional] Modify the name of the synonym, which is initialized to the name of the source object.

PowerDesigner Web 232 PUBLIC Information Architecture 6.2.3.9 Associations (HDI)

Associations define relationships between entities and tables.

Procedure

1. Select the source entity or table to display its context pad, click on the Link tool and drag and drop the end of the link on the target entity or table.

You can create associations from: ○ Entity-to-entity - The association type is set to Managed by default. A new attribute with the name of the target entity is added to the source entity with its data type set to . ○ Table-to-table - The association type is set to Managed and the Foreign Key Constraint option is selected by default. ○ Entity-to-table - The association type is set to Managed and the Foreign Key Constraint option is selected by default. ○ Table-to-entity - The association type is set to Unmanaged by default. 2. Select the association link to display its property sheet and review the following properties in the Info tab General section:

Property Description

Name Identifies the object.

Associated ele­ Specifies the element containing the association, its parent entity, and the cardinality at the source ment / Source end of the association. entity / Cardinal­ ity

Target entity / Specifies the entity to which the association points and the cardinality at the target end of the as­ Cardinality sociation.

3. Open the Details section, and review or specify the following properties as appropriate:

Property Description

Association type You can choose between: ○ Managed - [default for entity-to-entity, table-to-table, and entity-to-table associations] Dis­ plays the Foreign Key Constraint field. ○ Unmanaged - [default for table-to-entity associations] Displays the Join Condition field.

Foreign key con­ [managed associations] Specify to generate a .hdbconstraint file. Set appropriate properties straint in the Integrity section.

PowerDesigner Web Information Architecture PUBLIC 233 Property Description

Join condition [unmanaged associations] Enter a join condition.

4. [if the Foreign Key Constraint option is selected] Open the Integrity section, and specify the following properties as appropriate:

Property Description

Constraint name Specifies the name of the referential integrity constraint. Maximum length is 254 charac­ ters. If you edit this name, the User-defined button will be depressed. To return to the de­ fault name, click to release this button.

Implementation Specifies how referential integrity will be implemented. You can choose between: ○ Declarative- Referential integrity constraints are defined for particular references. When the reference is generated the target DBMS evaluates the reference validity and generates appropriate error messages. ○ Trigger - Referential integrity constraints are implemented by triggers based on the in­ tegrity constraints defined in the reference property sheet. The trigger evaluates refer­ ence validity and generates appropriate user-defined error messages.

Cardinality Indicates the minimum and maximum number of instances in a child table permitted for each corresponding instance in the parent table. The following values are available by de­ fault: ○ 0..* - A parent can have zero or more children. ○ 0..1 - A parent can have zero or one children. ○ 1..* - A parent can have one or more children. ○ 1..1 – A parent must have exactly one child

Alternately, you can enter your own integer values in one of the following formats (using * or n to represent no limit): ○ x..y - A parent can have between x and y children. For example: 2..n – There must be at least 2 children. ○ x - A parent can have exactly x children. For example: 10 - There must be exactly 10 children. ○ x..y, a..b - A parent can have between x and y or between a and b children. For example: 1..2, 4..n – There must be one, two, four or more children.

PowerDesigner Web 234 PUBLIC Information Architecture Property Description

Update/Delete constraint Specifies how updating a key value in the parent table will affect the foreign key value in the child table. You can choose between: ○ None - No effect on the child table. ○ Restrict - Values in the parent table cannot be updated or deleted if one or more matching child values exists. ○ Cascade - Updates or deletions of parent table values are cascaded to matching val­ ues in the child table. ○ Set null - Updates or deletions of parent table values set matching values in the child table to NULL. ○ Set default - Updates or deletions of parent table values set matching values in the child table to the default value.

Mandatory parent Specifies that each foreign key value in the child table must have a corresponding key value, in the parent table.

Change parent allowed Specifies that a foreign key value can change to select another value in the referenced key in the parent table.

5. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the code that will be generated for the object. 6. [managed entity-to-entity associations] Click the Children tab, and use the Association Keys list to specify one or more elements from the target entity as assocation keys.

In this example, the six Address elements are created through managed associations drawn from the Person entity to the Address entity (which uses the StreetAddress and CountryAddress structured types):

PowerDesigner Web Information Architecture PUBLIC 235 Association Type / Steps Generated Code

[default] Implicitly use the target entity's primary key as Address_1: Association to Address; foreign key.

To explicitly specify the target entity's primary key (e.g. Address_2: Association to Address id), as the association key, click the Children tab, click the { id }; Add tool above the Association Keys list, select the ele­ ment in the dialog, and click Select.

To specify one or more other elements (e.g. zipcode, Address_3: Association[1] to Address { zipCode, street, country }; street, and country) from the target entity as asso­ cation keys, add them in the Association Keys list.

To specify a cardinality for the association (e.g. 0..*), se­ Address_4: Association[0..*] to lect it in the Cardinality field in the General section. Address { zipCode };

To specify sub-elements from structured types (e.g. Address_5: Association[*] to Address street.name) as association keys, use the Add tool { street.name }; above the Association Keys list and descend into them in the dialog.

To specify an alias for any of the association keys, enter it Address_6: Association[*] to Address { street.name as streetName, in the Alias column in the list. country.name as countryName };

In this example, the inhabitants element is defined by an unmanaged association, drawn from the Room entity to the Employee entity:

Association Type / Steps Generated Code

In the Info tab Details section, select Unmanaged in the inhabitants: Association[*] to Association type list and enter the appropriate condition in Employee on id = inhabitants.officeId; the Join condition field.

PowerDesigner Web 236 PUBLIC Information Architecture 6.2.3.10 Virtual Tables (HDI)

Virtual tables allow you to access data in other databases without having to replicate to SAP HANA.

Procedure

1. Prepare the physical data model for the remote source containing the table you want to access and publish it in the repository. 2. In your HDI model, drag the Virtual Table tool and drop it in the diagram to create the virtual table and open an object picker to select its source table. 3. In the object picker, navigate to the model containing the source table, select the table, and click OK. 4. In the property sheet of the virtual table, complete the following fields:

○ Remote source - Enter the name of the remote source as it appears in the HANA database. ○ Remote database - [if required] Enter the name of the remote database as it appears in the HANA database.

6.2.3.11 Calculation Views (HDI)

A calculation view can perform complex calculations and can have entities, virtual tables, tables, and other calculation views as sources. You can create a calculation view at the model root or in a standard package, but not under a context.

Context

PowerDesigner Web provides support for the data architect working with calculation views as follows:

● Initiation of graphical calculation views with multiple sources (but a single main source) based on references between sources, join nodes, and projection lists and generation to Web IDE for completion and activation. ● Reverse-engineering of calculation views with sources and projection lists and, where possible, intermediate join nodes, for inclusion in impact analysis (see Reversing Calculation Views for Impact Analysis [page 220]).

 Note

Round-trip regeneration of calculation views reversed from Web IDE is not supported.

PowerDesigner Web Information Architecture PUBLIC 237 Procedure

1. Drag the Calculation View tool and drop it in the diagram to create the calculation view. 2. Click the Add Data Source Column tool in the calculation view context pad.

The Select Calculation View Main Source dialog opens to show all the potential sources in the current model.

To choose a main data source from another HANA 2.0 HDI or HANA 2.0 Database model, select it on the Location tab in the left pane. 3. Select the main data source for your calculation view.

You can choose one of the following types of objects as your main data source:

HANA 2.0 HDI Model HANA 2.0 Database Model

○ A datastore ○ A table ○ An entity ○ A virtual table ○ A table ○ A view ○ A virtual table ○ A calculation view

4. Click Select to open the Projection List Elements dialog, which allows you to select elements for the projection list in this source and other sources it points to. 5. Select elements/columns from the main data source to include in the projection list. 6. Expand the tree in the left pane to display other sources that the main source points to and select elements/columns from them to include in the projection list.

The number of elements/columns selected from each source is displayed in the Selected column. 7. For elements/columns that you want to use as measures, select the Measure field and choose an aggregation type from the Aggregation list. 8. [optional] Click the Selection button in the bottom toolbar to review all the elements/columns selected for the projection list. 9. Click OK to complete the creation of the calculation view. Traceability links are drawn from the calculation view to its sources and its property sheet is updated as follows:

○ The objects selected as sources are added to the read-only View Data Sources list on the Dependencies tab. ○ All of the columns from the sources required to construct the projection list are added to the read-only Referenced Columns list on the Dependencies tab. ○ The columns selected for the projection list are added to the Calculation View Columns list on the Children tab, and displayed in the view symbol. 10. [optional] Use the tools above the Calculation View Columns list to modify the list:

○ Add - Add a new calculated calculation view column to the list, complete its properties, including a formula to perform the calculation. Calculated columns only appear in this list and the symbol. They do not appear in the Projection List Elements dialog. ○ Delete - Delete a column from the projection list. ○ Move Up/Move Down - Reorder the columns in the projection list.

PowerDesigner Web 238 PUBLIC Information Architecture 11. Review the following properties in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Dimensional Type Specifies the type of the calculation view. You can choose between: ○ Cube - [default]. ○ Dimension

The following additional sections are available on the Info tab: ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the code that will be generated for the object.

6.2.3.11.1 Calculation View Columns (HDI)

Calculation view columns appear in the projection list. They are generally created through the Projection List Elements dialog, but calculated columns must be created manually in the Calculation View Columns list on the calculation view property sheet Children tab.

Calculation view columns have the following properties in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the ob­ ject. By default the code is synchronized with the name. To decouple name-code synchronization, en­ ter a new code in the Code field.

Measure / Aggre­ Specifies that the column is a measure. Choose the required aggregation from the list. gation

Calculated / For­ Specifies that the column is calculated. Enter the required formula. mula  Note

The formula of a calculated column created in PowerDesigner Web can only reference columns that are present in the Calculation View Columns list.

PowerDesigner Web Information Architecture PUBLIC 239 Property Description

Data type / Specifies the data type of the element. Select a standard data type from the list, click Select to select a Length / Scale simple or structured type, or Create to create a new simple type. Certain data types require you to specify a length and scale.

The following additional sections are available on the Info tab:

● Data Protection - Contains the following properties:

Property Description

Personal data Initialized with the value specified for the source element. Specifies the type of personal data that level the calculaion view column contains: ○ [default] ○ Private (Identifying) - Information such as a name or id number that can directly identify an individual. ○ Sensitive - Information such as a salary or illness that an individual may not want known about them. ○ Quasi-Identifier - Information such as gender, age, or town that, while not sufficient to directly identify an individual, could do so if combined with other quasi-identifiers.

Anonymize Specifies that the data should be anonymized in the calculation view. This option is enabled by de­ fault for columns identified as containing sensitive data.

Anonymization Specifies how the data should be anonymized: Method ○ DifferentialPrivacy - Randomizes sensitive information for individual records while leaving the outcome of statistical queries approximately the same. You should specify an ap­ propriate value for the Epsilon and Sensitivity parameters. This method is selected by default for calculation view columns that are marked as Sensitive and that have a data type of Double. ○ kAnonymity - Hides the individual record in a group of similar records. You should specify an appropriate value for the k parameter. This method is selected by default for calculation view columns that are marked as Sensitive and that have a data type that is not Double. For more information about these methods, see Anonymize Data Using Calculation Views in the SAP HANA Modeling Guide.

● Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ● Version Info - Provides information about the creation, modification, and location of the object in the repository.

PowerDesigner Web 240 PUBLIC Information Architecture 6.2.3.11.2 Defining Joins Between Calculation Views with View References

You can draw view references from a calculation view to another calculation view in the diagram to define a join between them and allow you to display them together in the hierarchy in the Projection List Elements dialog.

Procedure

1. Select the calculation view in the diagram to display its context pad. 2. Click the Link tool, drag it to another calculation view, and then drop it to create a view reference. 3. Select the view reference to display its property sheet and click the Children tab. 4. Expand the View Reference Joins list and click the Add tool to create a join. 5. Select a parent column and child column to define how the views are joined together. The two calculation views can now be displayed in the hierarchy in the Projection List Elements dialog to act as sources to a third calculation view.

6.2.3.12 Simple Types (HDI)

A simple type is a user-defined data type for your entity elements.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Simple Types. Click the Add tool to create a new simple type in the list.

Alternatively, on the property sheet of an element, click the Create tool to the right of the Data type field. 2. Enter an appropriate Name for the type and then select a type from the Data type field list (or click the Select tool to the right of the list to select another simple or structured type or constant). 3. The following additional sections are available on the Info tab:

○ @Annotations - Specifies standard CDS and custom user annotations for the object. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. To use the simple type, open the property sheet of an element (or other object that requires a data type), click the Select tool to the right of the Data type field, and select it in the dialog.

PowerDesigner Web Information Architecture PUBLIC 241 6.2.3.13 Structured Types (HDI)

A structured type is a data type comprising a list of attributes, each of which has its own data type.

Procedure

1. Drag the Structured Type tool and drop it in the diagram 2. Enter an appropriate Name for the type and then click the Children tab to specify its elements. 3. For each element, click the Add tool, enter an appropriate Name for the attribute, and then select a type from the Data type field list. 4. The following additional sections are available on the Info tab:

○ @Annotations - Specifies standard CDS and custom user annotations for the object. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 5. To use the structured type, open the property sheet of an element (or other object that requires a data type), click the Select tool to the right of the Data type field, and select it in the dialog.

6.2.3.14 Constants (HDI)

Constants are named values to assign to columns.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Constants. Click the Add tool to create a new constant in the list.

Alternatively, on the property sheet of an element, click the Create tool to the right of the Default value field. 2. Enter an appropriate Name for the constant, select a Data type, and then specify a Value. 3. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. To use the constant, open the property sheet of an element (or other object that requires a default value), click the Select tool to the right of the Default value field, and select it in the dialog.

PowerDesigner Web 242 PUBLIC Information Architecture 6.2.3.15 Sequences (HDI)

Sequences generate unique integers.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Sequences. Click the Add tool to create a new sequence in the list. 2. Enter an appropriate Name for the sequence, and then enter values for Start, Increment, and other fields as appropriate in the Physical Options (Common) section. 3. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. To use the sequence, open the property sheet of an element or other object that requires an incrementing value, click the Select tool to the right of the Default value field, and select it in the dialog.

6.2.3.16 Extensions (HDI)

CDS extensions support delivering updates to database artifacts without modifying the original artifacts. PowerDesigner supports extensions for CDS entities.

Context

For more information about CDS extensions, see Create a CDS Extension in the SAP HANA Core Data Services (CDS) Reference and the SAP HANA blog post CDS extension feature in HANA .

 Note

PowerDesigner supports extensions for CDS entities only. Extensions cannot be created for other CDS artifacts.

Procedure

1. Prepare your environment. You will require:

○ A base entity.

PowerDesigner Web Information Architecture PUBLIC 243 ○ An entity to extend the base entity - this must be in a different HANA package or a different model. 2. Open the diagram containing your extension entity and add your base entity to the diagram as a shortcut.

In this example, the Banking Customer entity in the Banking package will extend the Customer entity in the CRM package:

3. Use the Extension tool to draw a link from your extension entity to your base entity:

6.2.3.17 Procedures / Functions (HDI)

Procedures and functions can be used to help manage the underlying data model, performing complex and data-intensive business logic that cannot be performed with standard SQL.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select HDB Procedures or HDB Functions. 2. Click the Add tool to create a new procedure or function in the list and then click its name to go to its property sheet. 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

4. The following additional sections are available on the Info tab:

PowerDesigner Web 244 PUBLIC Information Architecture ○ Body - Specifies the code to define the procedure or function. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.3.18 Table Placement (HDI)

You can generate group names, types, and subtypes for tables, entities and data stores in your SAP HANA 2.0 HDI PDM to optimize table placement based on dependencies with calculation views and stored procedures.

For information about table placement, see Table Placement in the SAP HANA Administration Guide.

Group names, types, and subtypes are generated so that:

● Any table referenced by a calculation view is in the same group as all other tables referenced by that view. ● [if the Calculation views and stored procedures option is selected] Any table referenced by a stored procedure (HDB function or HDB procedure) has the same subtype as all other tables referenced by that procedure.

You can choose to apply the group options to the objects in your model and / or generate an SQL file to apply them to your database tables.

Select Menu Table Placement to open the Compute Table Placement dialog, select options as appropriate, and then click OK :

Option Description

Analyze dependencies Specify whether to analyze dependencies to: to ● Calculation views ● Calculation views and stored procedures

Group name prefix Specifies the prefix which is applied to each group name. Default: CV_.

Group type Specifies the type, which is applied to all tables that are assigned to a group. Default: DDO.

Group subtype prefix Specifies the subtype, which is applied to all tables that are assigned to a subgroup. Default: SP_.

Exclude objects Specifies a list of objects to exclude from grouping. You can enter names or codes of tables, calcu­ lation views, stored procedures, schemas, and HANA packages (namespaces) separated by car­ riage returns.

Generate SQL File Specifies to generate an SQL file containing the statements necessary to apply the group names, types, and subtypes to your tables, which downloads automatically in your browser.

Apply group options [edit mode only] Inserts the necessary group options into the Physical Options field for tables and to source objects into the Technical Configuration field for entities and data stores.

Create traceability [edit mode only] Creates traceability links from stored procedures to the tables it references. links for stored proce­ dures

PowerDesigner Web Information Architecture PUBLIC 245 6.2.3.19 Generating HDI Files

PowerDesigner Web supports generating HDI files from your model for importing into Web IDE.

Procedure

1. In your HDI model, open the model property sheet and ensure that a namespace is set in the model Info tab General section.

2. Select Menu Generate HDI Files . 3. On the Info tab, select a generation target:

○ Files - [optional] Modify the filename of the zip file to be generated. The file will be downloaded in your browser. ○ Git - Enter the full path to the Git repository folder to which you want to generate, enter your Git username and password, specify the branch, enter a commit message and an email address to notify. 4. [optional] Click the Preview tab and review the code to be generated. 5. Click Generate to generate the files.

PowerDesigner Web generates a zip file containing HDI files.

The following files are generated for each object:

Model Object File Generated

Model .hdiconfig and .hdinamespace

Package Sub-folder in zip file.

 Note

If a custom namespace is specified for the package, a run-time name-space configuration file (.hdinamespace) is generated.

 Note

If a package contains one or more CDS extensions, then a CDS extension package descriptor file (.package.dbcds) is generated.

Entity or datastore (at root or in a package) .hdbcds

.hdbsystemversioning (if system versioning is ena­ bled)

HDB Table .hdbtable (and potentially .hdbindex and .hdbfulltextindex)

PowerDesigner Web 246 PUBLIC Information Architecture Model Object File Generated

HDB View .hdbview

HDB Table Type .hdbtabletype

Top level context .hdbcds

Calculation view .hdbcalculationview

Virtual table .hdbvirtualtable and .hdbvirtualtableconfig

 Note

An appropriate remote source must be present in the catalog.

Synonym .hdbsynonym and .hdbsynonymconfig

Sequence .hdbsequence

Procedure .hdbprocedure

Function .hdbfunction

6. Import the files into Web IDE inside an hdbmodule node src folder (or subfolder).

You can import the .zip file as a whole or unzip it and extract individual files to import.

6.2.3.20 Reverse-Engineering HDI Files

PowerDesigner Web supports reversing HDI files exported from Web IDE into your model.

Context

 Note

Before reversing HDI files, you should ensure that any objects referenced in those files (via synonyms, virtual tables, or calculation view data sources) are already present in models in your repository, so that you can specify them on the Referenced Models tab of the reverse dialog. If a reference to an external object cannot be resolved, the referencing object will not be created.

For an overview of reverse-engineering calculation views, see Reversing Calculation Views for Impact Analysis [page 220].

PowerDesigner Web Information Architecture PUBLIC 247 Procedure

1. Create a Physical Data (SAP HANA 2.0 HDI) model (see Creating a Model [page 11]).

2. Select Menu Reverse HDI Files . 3. On the Info tab, select a reverse source:

○ Files - Click Browse, navigate to the file you want to reverse, and click Open to select it. You can import a .zip file or any of the following individual HDI files: ○ .hdbcds - context, entity, datastore ○ .hdbtable - HDB table ○ .hdbview - HDB view ○ .hdbtabletype - HDB table type ○ .hdbcalculationview - calculation view ○ .hdbvirtualtableconfig - virtual table ○ .hdbsequence - sequence ○ .hdbsynonym and .hdbsynonymconfig - synonym ○ .hdbfunction or .hdbprocedure - function or procedure ○ Git - Enter the full path to the Git repository folder from which you want to reverse, enter your Git username and password and specify the branch. The reverse will take all the valid HDI files in the specified folder. 4. Click the Referenced Models tab and select models that should be searched for objects referenced by objects in the files being imported.

For example: ○ An .hdbsynonymconfig file references a table in a HANA database model. PowerDesigner Web searches to match the table in any referenced models based on schema, name, and code and creates a shortcut to it. If the table cannot be found, no shortcut is created. ○ An .hdbvirtualtableconfig file references a table in an Oracle model. PowerDesigner Web searches to match the table in any referenced models based on schema, name, and code and creates a shortcut to it. If the table cannot be found, no virtual table is created. ○ An .hdbcalculationview file references an entity, table, or virtual table in another model as a data source. PowerDesigner Web searches to match the table or virtual table in any referenced models based on schema, name, and code and creates a shortcut to it. It searches to match the entity in the current model and then in any referenced models. If the object that the data source references cannot be found, the data source is created but it is not linked to anything. 5. Click Reverse to begin importing the files.

If your model already contains objects, a window showing the changes that will be merged to your model opens. Review the changes (see Reviewing Updates From a Reverse [page 346]) and then click Save to complete the reverse. 6. Review your reversed artifacts. 7. Save and publish your model to make it available to other users (see Publishing Models [page 61]).

PowerDesigner Web 248 PUBLIC Information Architecture 6.2.4 SAP HANA 2.0 Database

PowerDesigner Web supports the creation of SAP HANA 2.0 Database physical data models manually, by reverse-engineering, or by generation from another data model. You can model tables and other HANA catalog objects and generate them to the HANA catalog.

To create an SAP HANA Database physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (SAP HANA 2.0 Database), and click Create.

The following tools are available in HANA Database physical data models:

Tool Details

Tables. See Tables (HANA) [page 249].

Views. See Views (HANA) [page 258].

Virtual Tables. See Virtual Tables (HANA) [page 262].

Link. See References [page 341].

Procedures/Functions. See Procedures and Functions [page 340].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

6.2.4.1 Tables (HANA)

A table is a set of related data consisting of columns and rows.

Procedure

1. Drag the Table tool and drop it in the diagram.

PowerDesigner Web Information Architecture PUBLIC 249 A table is created and its default name selected for overwriting. Entering a name and pressing Tab creates a column. Entering a name for the column and pressing Tab allows you to specify its data type. You can continue pressing Tab to create columns as necessary. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the ob­ ject. By default the code is synchronized with the name. To decouple name-code synchronization, en­ ter a new code in the Code field.

Type Specifies the table type. You can choose between: ○ Row - [default] If the majority of table access involves selecting a few records, with all attributes selected, ROW-based storage is preferable. ○ Column - If the majority of table access will be through a large number of tuples, with only a few selected attributes, COLUMN-based storage should be used. ○ History column - Creates a table with a session type HISTORY, to support time travel quer­ ies, which are queries against historical states of the database. ○ Global temporary - The table definition is globally available while data is visible only to the current session. The table is truncated at the end of the session. ○ Local temporary - The table definition and data is visible only to the current session. The table is truncated at the end of the session.

Schema Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Number / Row Specifies the estimated number of records in the table, and the annual percentage rate at which this Growth Rate number is expected to grow.

Dimensional Specifies the type of the table for purposes of creating star or snowflake schemas containing fact ta­ type bles and dimensions. You can choose between: ○ Fact ○ Dimension ○ Exclude - Do not consider as a multidimensional object.

Generate Selects the table for generation to the database.

Using ex­ Creates an extended table (see Dynamic Tiering / Extended Storage (HANA) [page 263]). When se­ tended storage lected, you can additionally enable support for Row-level versioning.

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

PowerDesigner Web 250 PUBLIC Information Architecture Property Description

Personal Data Specifies that personal data, which may need to be anonymized or be subject to special regula­ tion, is being stored.

Retention Specifies the period for which the data should be retained.

○ Check - Specifies the constraints associated with the table. ○ Script - Specifies begin and end scripts for insertion directly before and after the object's creation statement. ○ Physical Options - Provides a text field for entering physical options. ○ Versioning - Specifies that the table is system-versioned and is linked to a history table of archived records. You can specify the following properties:

Property Description

History Table Specifies that the table is system-versioned. Click Create to create the history table, which is by default called _History along with the ValidFrom and ValidTo time­ stamp columns in the base table.

 Note

To modify the default names for these objects, click the Settings button and modify the naming templates.

 Note

To enable system-versioning for multiple tables, open the Tables object list (see Creating and Editing Objects in a List [page 35]), select the appropriate tables, and select Create in the History Table column.

For more information about system-versioned tables in SAP HANA, see System-Versioned Ta­ bles in the SAP HANA Administration Guide.

Validated Enables validation of the history table.

Physical options Specifies the physical options for the history table.

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the SQL script that will be generated for the object. ○ Partitions - Provides a text field for entering partition information. ○ Physical Options (Common) - Lists the most commonly-used physical options. This section is kept synchronized with the Physical Options section:

Name Description

Auto-Merge Specifies that automatic delta merge is triggered.

PowerDesigner Web Information Architecture PUBLIC 251 Name Description

On Commit Sets data availability of global temporary tables within session or transaction level.

Unload priority Specifies the unload priority for the table from 0 to 9, where 0 means the table cannot be unloaded and 9 means earliest unload.

Logging Specifies whether table logging is activated. You can choose between: ○ logging - [default] ○ nologging - specifies that logging is deactivated. As a result, the definition of the ta­ ble is persistent and globally available and data is temporary and global. The resource manager should therefore explicitly drop a NOLOGGING table.

Schema flexibility Specifies that the table schema is flexible.

Group / Type / Sub­ Sets group type, subtype and name. type

Location Specifies that partitions will be created on the listed instances using round robin scheme.

Replica Specifies the clause to create replicas in the specified index server.

Series Specifies that the table contains series data.

Retention period Specifies retention period for a table or table partitions.

4. Click the Children tab and create the following objects as necessary:

○ Columns - See Columns (HANA) [page 252]. ○ Keys - See Keys (HANA) [page 255]. ○ Indexes - See Indexes (HANA) [page 256].

6.2.4.1.1 Columns (HANA)

A column is a set of values of a single type in a table. Each row of the table contains one instance of each column. You can create a column from its parent table property sheet or symbol.

Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Columns list.

Alternatively, select a table symbol and use the Add Column tool in its context pad. Entering a name for the column and pressing Tab allows you to specify its data type. You can continue pressing Tab to create columns as necessary. 2. Click the column name in the Columns list (or select it in the table symbol) to display its property sheet.

PowerDesigner Web 252 PUBLIC Information Architecture 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Table Specifies the table which contains the column.

Data type/ Length/ ○ %n - length Precision ○ %s - length with precision ○ %p - decimal precision For example, the data type char(%n) , requires you to specify a length.

Use the tools to the right of the field to select or create an abstract data type for the column.

Domain Specifies the domain associated with the object (see Domains [page 335]). Use the tools to the right of this field to create or browse to a domain.

Primary key Specifies that the values in the column uniquely identify table rows (see Keys (HANA) [page 255]).

Foreign key Specifies that the column depends on and migrates from a primary key column in another table (see Keys (HANA) [page 255]).

Sequence Specifies the sequence associated with the column (see Sequences [page 339]).

With default Specifies that the column must be assigned a value that is not null.

Computed Specifies that the column is computed from an expression using values from other columns in the table. Enter an appropriate expression in the Computed expression field in the Info tab Detail section.

Mandatory Specifies that a non-null value must be assigned.

Identity Specifies that the column is populated with values generated by the database. Identity columns are often used as primary keys.

4. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

PowerDesigner Web Information Architecture PUBLIC 253 Property Description

Personal data Specifies the type of personal data that is being stored: level ○ [default] ○ Private (Identifying) - Information such as a name or id number that can di­ rectly identify an individual. ○ Sensitive - Information such as a salary or illness that an individual may not want known about them. ○ Quasi-Identifier - Information such as gender, age, or town that, while not suffi- cient to directly identify an individual, could do so if combined with other quasi-identifiers.

○ Detail - Contains the following properties:

Property Description

Column stored data Specifies the stored data type. type

DDIC data type Specifies the application data type.

Null values, Distinct Specify the size and distinctness of data values that you expect to store in the column. You values, Average can specify: length ○ Null values - [Default: 0%] Specifies the percentage of values to leave empty. ○ Distinct values - [Default: 100%] Specifies the percentage of values that must be unique. ○ Average length - [read only] The default value is the maximum length for the data type defined for the column.

Computed expres­ Specifies an expression used to compute data for the column. sion

○ Standard Checks - Specifies the following data profiling properties:

Property Description

Minimum, Maximum, Specify the lowest and highest acceptable numeric values and the value assigned in the Default absence of an expressly entered value. You can set a: ○ Minimum - The lowest acceptable numeric value. ○ Maximum - The highest acceptable numeric value. ○ Default - The value assigned in the absence of an expressly entered value.

Format, Unit, No These properties are for documentation purposes only, and will not be generated. You Space, Cannot modify can choose a: ○ Format - For example, 9999.99 would represent a four digit number with two deci­ mal places. ○ Unit - A standard measure. ○ No space - Space characters are not allowed. ○ Cannot modify - The value cannot be updated after initialization.

PowerDesigner Web 254 PUBLIC Information Architecture Property Description

Case Specifies the acceptable case for the data. You can choose between: ○ Mixed case [default] ○ Uppercase ○ Lowercase ○ Sentence case ○ Title case

List of values Specifies the various values that are acceptable.

Select the Complete check box beneath the list to exclude all other values not appearing in the list.

○ Additional Checks - Specifies any further data profiling constraints. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.4.1.2 Keys (HANA)

A primary key contains one or more columns whose combined values uniquely identify every row in a table. Each table can have only one primary key, but can have any number of alternate keys, which similarly contain one or more columns whose combined values uniquely identify every row in a table. Foreign keys contain one or more columns whose values match a primary or alternate key in some other table.

Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Keys list.

2. Click the key name in the Keys list to display its property sheet. 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

PowerDesigner Web Information Architecture PUBLIC 255 Property Description

Table Specifies the name of the table where the key is defined.

Constraint name Specifies the name of the key constraint. A primary key constraint is a named check that enforces the uniqueness and the presence of values in a primary key column.

Primary key Specifies that the key is the primary key of the table. There can be only one primary key in a table, so selecting this key as the primary key will deselect any existing primary key.

Key type Specifies the key type.

4. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 5. Click the Children tab, expand the Columns list and select the columns to associate with the key.

6.2.4.1.3 Indexes (HANA)

An index is a data structure associated with one or more columns ordered by the column values. Indexes are typically created for columns that you are frequently searched on to improve response times.

Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Indexes list. 2. Click the index name in the Indexes list to display its property sheet. 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Table Specifies the table to which the index belongs.

PowerDesigner Web 256 PUBLIC Information Architecture Property Description

Type Specifies the type of the index, which can be: ○ - [default] The server will choose the appropriate index type. ○ Cpbtree - Compressed Prefix B+-Tree, which can show better performance for larger keys for character, string, binary string, or decimal column types, or when the constraint is a composite key, or a non-unique constraint. ○ Btree - Maintains sorted data that performs efficient insertion, deletion and search of records. ○ Fulltext - Creates an additional data structure to enable text search features on a spe­ cific column in a table. Enables the Full-Text tab (see below).

Unique Specifies that the index cannot contain duplicate values.

Index order [btree only] Specifies whether the index should be created in ascending or descending or­ der.

Fillfactor Specifies how each node of a new index is filled as an integer percentage from 50 to 100. The default value is 90.

Nowait Specifies that the CREATE INDEX statement returns an error immediately in case a table lock cannot be acquired.

Online Specifies that an intentional exclusive lock is acquired on the table during the index creation to allow other DML statements. Without the ONLINE option, an exclusive lock is acquired. The ONLINE option is available for row store tables.

Related Key Specifies that the index is based on the columns contained in the selected key.

4. The following additional sections are available on the Info tab:

○ Physical Options - Provides a text field for entering physical options. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Full-Text [if you select Fulltext in the Type list]:

Name Description

Phrase index ratio Specifies the percentage of the phrase index between 0.0 and 1.0.

Search only Specifies whether the original document should be stored or only the search results. When selected, the original document content is not stored.

Text analysis Enables text analysis capabilities on the indexed column. Text analysis can extract entities such as persons, products, or places from documents, which are stored in a new table.

Configuration Specifies the path to a custom configuration file for text analysis.

Fast pre-process Specifies that fast preprocessing is used, and that linguistic searches are not possible.

PowerDesigner Web Information Architecture PUBLIC 257 Name Description

Fuzzy search index Specifies that a fuzzy search is performed with an additional index (faster search, but higher memory consumption).

Change tracking Specifies whether the index should be built in an asynchronous or synchronous manner.

Flush every (mi­ Specify how frequently an asynchronous index should be update. nutes) / Flush after (documents)

Language detec­ Specify the set of languages to be considered during language detection and the column tion / Language col­ where the language of a document is specified. umn

MIME type / Mime- Specify the default MIME type used for preprocessing (for example cf type column M_TEXT_ANALYSIS_MIME_TYPES and the column where the MIME type of a document is specified.

Token separators Specifies the set of ASCII characters used for token separation.

○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

5. Click the Children tab and create the following objects as necessary:

○ Index Columns - Click the Add tool to add columns from the parent table or the Create tool to create an expression.

6.2.4.2 Views (HANA)

A view is a query that provides access to all or a subset of the data in a table or multiple tables connected by joins. PowerDesigner Web supports creating views based on sources selected in the diagram, via a selection dialog, or through entering SQL code and provides a graphical view of the data sources and joins on which the view depends.

Context

PowerDesigner Web 258 PUBLIC Information Architecture Procedure

1. Select the data sources for the view in one of the following ways:

○ Select one or more tables and views in the diagram and press Ctrl + Shift + V , or ○ Drag the View tool and drop it in the diagram. Click the Select View Sources tool in the symbol's context pad, select tables and views as sources for the view, and click Select, or ○ Enter SQL code in the SQL Query section on the Info tab.

The view properties are updated as appropriate: ○ The tables and views selected as sources are added to the read-only Referenced Objects list on the Dependencies tab. ○ All of the columns from the sources used in the view are added to the read-only Referenced Columns list on the Dependencies tab. ○ All of the columns in the final projection list are added to the read-only Columns list on the Children tab, and displayed in the view symbol. ○ The SQL Query section on the Info tab is updated with the necessary SQL code to define the view query. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Usage Specifies how the view will be used. You can choose between: ○ Query only - Consultation only. The view cannot update tables. ○ Updatable - Consultation and update of underlying tables. ○ With Check options - Implements controls on view insertions.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Dimensional type Specifies the type of view table for purposes of creating star or snowflake schemas containing fact tables and dimensions. You can choose between: ○ CUBE ○ DIMENSION ○ Exclude - Do not consider as a multidimensional object.

Generate Selects the view for generation to the database.

3. Review the code in the SQL Query section and edit it as appropriate. When you click outside the field, your changes are validated (with any syntax errors indicated in the first line of the code) and the Referenced Objects, Referenced Columns, and Columns lists are updated as necessary. 4. Click the plus sign in the bottom center of the view symbol to enter the read-only view diagram.

PowerDesigner Web Information Architecture PUBLIC 259 The diagram shows the data sources on which the view depends and the joins linking them. Click a join symbol to see its SQL syntax. The following kinds of joins are represented graphically:

Symbol Join Type

Inner Join - Selects records that have matching values in both sources.

Left Join - Selects all records from the left table, matched records from the right table or null.

Right Join - Selects all records from the right table, matched records from the left table or null.

Full Outer Join - Selects all records when there is a match in either the left or right table.

Cross Join - Produces a Cartesian product result set where the number of rows in the first ta­ ble multiplied by the number of rows in the second table.

Union/Union All - Combines two result sets with the same number of columns with compatible data types in the same order.

Minus/Except - Returns only unique rows from the first result set that are not in the second.

Intersect - Returns only rows returned by both result sets.

To return to the parent diagram, click the Previous View button.

5. The following additional sections are available on the Info tab:

○ Script - Specifies begin and end scripts for insertion directly before and after the object's creation statement. ○ Physical Options - Provides a text field for entering physical options. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Cache Options - Provides the following options:

Name Description

Retention (min) Specifies the maximum staleness threshold that user can see in minutes.

Refresh on update Specifies to refresh the cache when the related table is updated.

PowerDesigner Web 260 PUBLIC Information Architecture Name Description

Filter Specifies a filter condition to limit the cache to a subset of elements (horizontal cropping).

○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the SQL script that will be generated for the object.

6.2.4.3 Users and Roles (HANA)

A user is a database object that identifies a person who can login or connect to the database. Roles are used to simplify the granting of rights to users, as privileges and permissions granted to a role are inherited by users who incarnate that role.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Users or Roles. Click the Add tool to create a new object in the list and then click its name to go to its property sheet.

Alternatively, on the property sheet of an object that has an owner, click the Create tool to the right of the Owner field. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Identification [users] Specifies the type of identification (local or external).

Implicit Schema [users] Specifies that the database generation will use the stored procedure sp_grantdbaccess instead of a create user statement.

Client [users] Restricts the access rights of the user to information concerning the specified client.

Provider identity [users] Specifies the method for authenticating the user.

3. The following additional sections are available on the Info tab:

○ Privileges - Specifies the privileges granted to the user or role. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution.

PowerDesigner Web Information Architecture PUBLIC 261 ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. [roles] Click the Dependencies tab and add users and roles to the role as necessary.

6.2.4.4 Virtual Tables (HANA)

Virtual tables allow you to access data in other databases without having to replicate to SAP HANA.

Procedure

1. Prepare the physical data model for the remote source containing the table you want to access and publish it in the repository. 2. In your HANA model, drag the Virtual Table tool and drop it in the diagram to create the virtual table and open an object picker to select its source table. 3. In the object picker, navigate to the model containing the source table, select the table, and click OK.

PowerDesigner creates the virtual table and links it to a remote source initialized to point to the source model. 4. In the virtual table propery sheet, click the name of the Remote source to open its property sheet, and complete its properties:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Adapter Specifies the adapter, and the type of access method to be used by the SAP HANA database to access the data.

Configuration file Specifies the configuration file for the adapter.

Configuration Specifies the connection parameters for the adapter.

Credential type Specifies the type of credentials required (currently only password) and the credentials to use

Model Specifies the PDM that contains the definition of the remote source.

PowerDesigner Web 262 PUBLIC Information Architecture 6.2.4.5 Dynamic Tiering / Extended Storage (HANA)

SAP HANA dynamic tiering is a native big data solution providing large volume, warm data management capability. Your highest value data remains in memory, and cooler less-valuable data is saved to the extended store.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Extended Storages. 2. Click the Add tool to create the extended storage in the list and then click its name to go to its property sheet. 3. Click the Properties button to open the extended storage property sheet and enter the following properties:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Location Specifies the host on which the extended storage is being created.

Size / Unit Specifies the size of data to be managed in extended storage.

Enable delta Specifies whether RLV store is created on extended storage.

4. To specify that a table should be located in the extended storage, select the Using extended storage option in the General section of the table property sheet Info tab.

6.2.4.6 Generating to a HANA Database

PowerDesigner Web supports generating your HANA Database model to a SQL script or directly to the database.

Procedure

1. In your HANA Database model, select Menu Generate Database . 2. On the Info tab, select a generation target:

PowerDesigner Web Information Architecture PUBLIC 263 ○ Script - [optional] Modify the filename of the zip file to be generated. The file will be downloaded in your browser. ○ Database - Enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name (or IP address) and the port.

Database [not required for HANA]

Credentials Enter the user name and password.

Use SSL / Validate Certifi- Specify to use SSL encrypted communication with the SAP HANA database and, op­ cate tionally, to require the validation of the SAP HANA SSL certificate. Selecting these properties updates the read-only Security Options field.

Additional Options Enter any other appropriate connection parameters (see SAP HANA Client Interface Programming Reference > JDBC Application Programming > Connect to SAP HANA via JDBC > JDBC Connection Properties).

 Note

To reverse-engineer from or generate to HANA databases running in the SAP Cloud Platform, you must install the Cloud Connector and configure an appropriate service channel. For detailed information, see SAP Cloud Platform Connectivity > Cloud Connector.

○ Git - Enter the full path to the Git repository folder to which you want to generate, enter your Git username and password, specify the branch, enter a commit message and an email address to notify.

3. [optional] Click the Options tab and review the generation options that are selected. 4. [optional] Click the Preview tab and review the code to be generated. 5. Click Generate to generate your model.

6.2.4.7 Reverse-Engineering a HANA Database

PowerDesigner Web supports reverse-engineering a SAP HANA 2.0 database to your model.

Procedure

1. Create a Physical Data (SAP HANA 2.0 Database) model (see Creating a Model [page 11]).

2. Select Menu Reverse Database . 3. On the Info tab, select a reverse source:

○ Script - Click Browse, navigate to the .sql file you want to reverse, and click Open to select it.

PowerDesigner Web 264 PUBLIC Information Architecture ○ Database - Enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name (or IP address) and the port.

Database [not required for HANA]

Credentials Enter the user name and password.

Use SSL / Validate Certifi- Specify to use SSL encrypted communication with the SAP HANA database and, op­ cate tionally, to require the validation of the SAP HANA SSL certificate. Selecting these properties updates the read-only Security Options field.

Additional Options Enter any other appropriate connection parameters (see SAP HANA Client Interface Programming Reference > JDBC Application Programming > Connect to SAP HANA via JDBC > JDBC Connection Properties).

 Note

To reverse-engineer from or generate to HANA databases running in the SAP Cloud Platform, you must install the Cloud Connector and configure an appropriate service channel. For detailed information, see SAP Cloud Platform Connectivity > Cloud Connector.

4. Click Connect to connect to the database and display the Selection tab:

○ The top-left pane lists the users or schemas, with the connecting user (or its default schema) selected. ○ The bottom-left pane lists the categories of database objects available (including global objects), with the Tables category selected. ○ The right pane lists up to 100 objects in the selected category, with none selected for reverse. 5. [database] Select the objects that you want to reverse either individually or in the category or panel list header.

 Note

Only the objects listed can be selected for reverse. By default 100 objects are listed in each category. To list further objects, scroll to the bottom of the list and click More.

The cart tool at the bottom of the dialog updates with the total number of objects selected. You can, at any time, click the cart tool to review the objects selected for reversing. 6. [database] [optional] Click the Options tab and review the options to control what information is reversed. Deselecting options to prevent the reverse of unnecessary information can improve performance:

Option Description

Primary and alternate keys [tables] Reverse table primary and alternate keys. Selected by default.

Foreign keys [tables] Reverse table foreign keys. Selected by default.

PowerDesigner Web Information Architecture PUBLIC 265 Option Description

Rebuild references when [tables] PowerDesigner Web will attempt to re-create references between tables by none are reversed matching primary key columns to columns in other tables by code.

Indexes [tables, views] Reverse indexes. Selected by default.

Triggers [tables] Reverse table triggers.

Checks [tables] Reverse table constraints.

Physical options Reverse physical options. Deselected by default.

Reverse tables referenced [tables] Extends the selection of tables to be reversed to include any tables referenced by selected tables by those you have selected.

7. Click the Referenced Models tab and specify models to search for objects referenced by shortcuts in your model. PowerDesigner Web searches to match the object in any referenced models based on schema, name, and code and creates a shortcut to it. If the object cannot be found, no shortcut is created. 8. Click Reverse to begin reversing objects.

If your model already contains objects, a window showing the changes that will be merged to your model opens. Review the changes (see Reviewing Updates From a Reverse [page 346]) and then click Save to complete the reverse. 9. Review your reversed objects. When reversing a .sql file, if errors are encountered, a log file is generated and downloaded in your Browser.

 Note

Following a reverse-engineering, object codes are no longer synchronized with names, to allow you to provide human readable names for your tables and other objects without changing their underlying SQL codes (see Object Names and Codes [page 76]).

10. Save and publish your model to make it available to other users (see Publishing Models [page 61]).

6.2.5 SAP Big Data Services

PowerDesigner Web supports the creation of SAP Big Data Services physical data models manually, by reverse-engineering, or by generation from another data model. You can model tables, views, and other objects and generate them to SAP Big Data Services.

To create an SAP Big Data Services physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (SAP Big Data Services), and click Create.

The following tools are available in SAP Big Data Services physical data models:

PowerDesigner Web 266 PUBLIC Information Architecture Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

6.2.6 SAP SQL Anywhere 17

PowerDesigner Web supports the creation of SAP SQL Anywhere v17 data models manually, by reverse- engineering, or by generation from another data model.

To create a SQL Anywhere physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (SAP SQL Anywhere 17), and click Create.

The following tools are available in SQL Anywhere physical data models:

Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

None Certificates. See Certificates (SQL Anywhere) [page 268].

None Events. See Events (SQL Anywhere) [page 269].

PowerDesigner Web Information Architecture PUBLIC 267 Tool Details

None Login policies. See Login Policies (SQL Anywhere) [page 269].

None Mirror servers. See Mirror Servers (SQL Anywhere) [page 270].

None Spatial Data. See Spatial Data (SQL Anywhere) [page 271].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

6.2.6.1 Certificates (SQL Anywhere)

SQL Anywhere supports X.509 certificates for transport-layer security.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Certificates. 2. Click the Add tool to create a new certificate in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the type of the certificate, which can be a string, variable, or file.

Certificate Specifies the source of the certificate.

PowerDesigner Web 268 PUBLIC Information Architecture 6.2.6.2 Events (SQL Anywhere)

Events allow you to automate and schedule actions.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Events. 2. Click the Add tool to create a new event in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the event in the Info tab General section, and then enter the following properties in the SQL Anywhere section:

Name Description

Event is scheduled Specifies that the server carries out a set of actions according to a schedule of times.

Schedule defini- Enter the schedule of event trigger times here. tion

Handler Each event has one handler.

The actions of an event handler are committed if no error is detected during execution, and rolled back if errors are detected.

Enable By default, event handlers are enabled. When DISABLE is specified, the event handler does not execute even when the scheduled time or triggering condition occurs. A TRIGGER EVENT state­ ment does not cause a disabled event handler to be executed.

At (databases) If you want to execute events at remote or consolidated databases in a SQL Remote setup, you can use this clause to restrict the databases at which the event is handled. By default, all data­ bases execute the event.

6.2.6.3 Login Policies (SQL Anywhere)

A login policy defines the rules to be followed when establishing a user’s database connection.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Login Policies. 2. Click the Add tool to create a new login policy in the list and then click its name to go to its property sheet.

PowerDesigner Web Information Architecture PUBLIC 269 3. Specify a name and comment for the login policy in the Info tab General section, and then enter the following properties in the SQL Anywhere section:

Name Description

Password life time Specifies the maximum number of days before a password must be changed.

Password grace time Specifies the number of days before password expiration during which login is allowed but the default post_login procedure issues warnings.

Password expires Specifies that the user's password will expire in the next login.

Locked Specifies that users are prohibited from establishing new connections.

Maximum connec­ Specifies the maximum number of concurrent connections allowed for a user. tions

Maximum failed log­ Specifies the maximum number of failed attempts, since the last successful attempt, to login to ins the user account before the account is locked.

6.2.6.4 Mirror Servers (SQL Anywhere)

SQL Anywhere supports database mirroring through the use of mirror servers.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Mirror Servers. 2. Click the Add tool to create a new mirror server in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the mirror server in the Info tab General section, and then enter the following properties in the Options section:

PowerDesigner Web 270 PUBLIC Information Architecture Name Description

Type Specifies the type of mirror server to create. You can choose between: ○ Primary - defines a virtual or logical server, whose name is the alternate server name for the database, which can be used by applications to connect to the server currently acting as the primary server. There can be only one PRIMARY server for a database. ○ Mirror - defines a virtual or logical server, whose name is the alternate server name for the database, which can be used by applications to connect to the server currently acting as the read-only mirror. There can be only one MIRROR server for a database. ○ Arbiter - assists in determining which of the PARTNER servers takes ownership of the da­ tabase. The arbiter server must be defined with a connection string that can be used by the partner servers to connect to the arbiter. There can be only one ARBITER server for a data­ base. ○ Partner - is eligible to become the primary server and take ownership of the database. You must define two PARTNER servers for database mirroring, and both must have a connection string and a state file. In a read-only scale-out system, you must define one PARTNER server. This server is the root server, and runs the only copy of the database that allows both read and write operations. ○ Copy - In a read-only scale-out system, this value specifies that the database server is a copy node. All connections to the database on this server are read-only. You do not have to explic­ itly define copy nodes for the scale-out system; you can choose to have the root node define the copy nodes when they connect.

Using auto parent [Copy only] Specifies that the primary server will assign a parent for this server.

Parent [Copy only] Specifies a tree of servers for a mirroring or scale-out system and indicates the serv­ ers from which the non-participating nodes obtain transaction log pages.

Alternate parent [Copy only] Specifies an alternate parent for the copy node.

Primary [Copy only] Specifies that the parent server is the primary server.

Connection string Specifies the connection string to be used to connect to the server.

Log file Specifies the location of the log file that is sent between mirror servers.

Preferred [Partner only] Specifies whether the server is the preferred server in the mirroring system, which assumes the role of primary server whenever possible.

State file [Arbiter, Partner] Specifies the location of the file used for maintaining state information about the mirroring system.

6.2.6.5 Spatial Data (SQL Anywhere)

Spatial data, which describes the position, shape, and orientation of objects in a defined space, can be stored using spatial reference systems.

PowerDesigner Web Information Architecture PUBLIC 271 6.2.6.5.1 Spatial Reference Systems (SQL Anywhere)

Spatial data can be stored using spatial reference systems.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Spatial Reference Systems. 2. Click the Add tool to create a new spatial reference system in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Spatial reference Specifies the SRID (srs-id) for the spatial reference system. system identifier

Organization Specifies the organization that created the spatial reference system that the new spatial reference system is based on.

4. Open the Settings section and enter the following properties:

Name Description

Line interpretation Specifies how the SRS interprets lines between points.

Axis order Specifies the order in which values are given for each axis.

Polygon format Specifies how polygons are interpreted.

Storage format Specifies how data is stored.

Definition Specifies default coordinate system settings. If any attribute is set in a clause other than the DEFINITION clause, the value specified in the other clause is used regardless of what is speci­ fied in the DEFINITION clause.

Transform defini- Specify a description of the transform to use for the spatial reference system. tion

5. Open the Coordinate section and enter the following properties:

PowerDesigner Web 272 PUBLIC Information Architecture Name Description

/ Specifies whether the axis is bounded or unbounded and, if it is bounded, the minimum and maxi­ Bounded/ mum values. Unbounded

Ellipsoid axis [round earth systems] Specifies the values to use for representing the Earth as an ellipsoid. length

Grid Size [planar systems] Specifies the size of the grid to use when performing calculations.

Tolerance [planar systems] Specifies the precision to use when comparing points.

Linear/Angular Specify the linear and angular units of measure for the spatial reference system. unit of measure

6.2.6.5.2 Spatial Units of Measure (IQ/SQL Anywhere)

Spatial units of measure define the units in which geographic coordinates are measured and how these units are converted to radians or meters.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Spatial Units of Measure. 2. Click the Add tool to create a new spatial unit of measure in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the kind of unit. Linear units are used for distances and angular units are used for angles.

Conversion factor Specifies how to convert the defined units to the base unit of measure (radians or meters).

PowerDesigner Web Information Architecture PUBLIC 273 6.2.6.6 SQL Anywhere-Specific Object Properties

These sections list SQL Anywhere-specific properties available on standard database objects in SQL Anywhere physical data models.

Tables

SQL Anywhere-specific properties are available in the Info tab SQL Anywhere section:

Name Description

PCTFREE Specifies the percentage of free space to reserve for each table page. If there is no free space in a table page, every increase in the size of a row on that page requires the row to be split across multiple table pages, causing row fragmentation and possible performance degradation.

Enter an integer between 0 (no free space is to be left on each page) and 100 (high values cause each row to be inserted into a page by itself. If PCTFREE is not set, 200 bytes are reserved in each page.

Dbspace (tablespace) Specifies the dbspace in which the table is to be created.

Remote location Creates a table at the specified remote location in addition to a proxy table on the current data­ base that maps to the remote table. Supports the semicolon (;) as a field delimiter in the loca­ tion-string. If no semicolon is present, a period is the field delimiter.

Encrypted Encrypts the table using the encryption key and algorithm specified at database creation time. Encrypting a table may take time, depending on the size of the table.

Temporary table/Global Specifies the type of temporary table: temporary table ● global ● local

Not transactional [temporary tables] Specifies that the temporary table is not affected by either COMMIT or ROLLBACK. This can provide performance improvements because operations on non-transac­ tional temporary tables do not require entries in the rollback log. For example, NOT TRANSAC­ TIONAL may be useful if procedures that use the temporary table are called repeatedly with no intervening COMMITs or ROLLBACKs.

On commit [temporary tables] Specifies that the rows of a temporary table are deleted on COMMIT.

PowerDesigner Web 274 PUBLIC Information Architecture Columns

SQL Anywhere-specific properties are available in the Info tab SQL Anywhere section:

Name Description

Column is compressed Specifies that the column is stored in a compressed format.

Domains

SQL Anywhere-specific properties are available in the Info tab General section:

Name Description

Row Specifies that the domain is a row domain.

Array Specifies that the domain is an array.

Indexes

SQL Anywhere-specific properties are available in the Info tab SQL Anywhere section:

Name Description

Tablespace Specifies the index dbspace.

Virtual index The VIRTUAL keyword is primarily for use by the Index Consultant. A virtual index mimics the properties of a real physical index during the evaluation of query plans by the Index Consultant and when the PLAN function is used. You can use virtual indexes together with the PLAN func­ tion to explore the performance impact of an index, without the often time consuming and re­ source consuming effects of creating a real index.

Notify Gives notification messages after n records are successfully added for the index.

Word length Specifies the maximum word length that is permitted.

Delimited by Specifies separators to use in parsing a column string into the words to be stored in the index.

Scripting name: DelimitedBy

PowerDesigner Web Information Architecture PUBLIC 275 Users

SQL Anywhere-specific properties are available in the Info tab General section:

Name Description

Force change Specifies that the user must specify a new password when they log in. This setting overrides the password_expiry_on_next_login option setting in the login policy.

Login policy Specifies the login policy to assign to the user (see Login Policies (SQL Anywhere) [page 269]).

6.2.7 Oracle 12c

PowerDesigner Web supports the creation of Oracle 12c data models manually, by reverse-engineering, or by generation from another data model. You can model tables, views, and other objects and generate them to Oracle.

 Note

Before you can reverse-engineer via connection to an Oracle database (see Reverse-Engineering a Database [page 344]), contact your administrator and request them to install an appropriate JDBC driver.

To create an Oracle physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (Oracle v12c), and click Create.

The following tools are available in Oracle physical data models:

Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

None Clusters. See Clusters (Oracle) [page 277].

None Database links. See Database Links (Oracle) [page 278].

Package. See Packages [page 369].

Area. See Areas [page 368].

PowerDesigner Web 276 PUBLIC Information Architecture Tool Details

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

6.2.7.1 Clusters (Oracle)

A cluster is a schema object that contains data from one or more tables, which have one or more columns in common. Oracle stores all the rows from all the tables that share the same cluster key together.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Clusters. 2. Click the Add tool to create a new cluster in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the owner of the cluster.

4. Click the Children tab, create cluster columns as necessary, and specify the following properties for them:

Name Description

Data type Specifies the data type for the cluster column.

Length Specifies the length for the cluster column.

Precision Specifies the precision for the cluster column.

PowerDesigner Web Information Architecture PUBLIC 277 Name Description

Sort This clause instructs Oracle Database to sort the rows of the cluster on this column before applying the hash function.

5. On the Children tab, create cluster indexes as necessary, and specify the following properties for them:

Name Description

Owner Specifies the owner of the cluster index.

Unique Specifies whether the cluster index is unique.

Bitmap Specifies if the index is to be created with a bitmap for each distinct key, rather than indexing each row separately.

Sort By default, Oracle Database sorts indexes in ascending order when it creates the index. You can specify NOSORT to indicate to the database that the rows are already stored in the data­ base in ascending order, so that Oracle Database does not have to sort the rows when creat­ ing the index.

6.2.7.2 Database Links (Oracle)

A database link is a schema object in one database that enables you to access objects on another database.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Database Links. 2. Click the Add tool to create a new database link in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

PowerDesigner Web 278 PUBLIC Information Architecture Name Description

Public Specifies whether the database link is available to all users. If False, then the database link is private and is available only to you.

Owner Specifies the owner of the database link.

4. Enter the following properties in the Info tab Oracle section:

Name Description

Shared Specifies the use of a single network connection to create a public database link that can be shared among multiple users. If selected, you must also specify a user name and password for the target instance on the remote server.

User name Specifies the credentials used to connect to the remote database using a fixed user database link.You need to specify CURRENT_USER to create a current user database link. The current user must be a global user with a valid account on the remote database. If you do not specify a value, then the database link uses the credentials of each user who is connected to the data­ base.

Service name Specifies the service name of a remote database. If you specify only the database name, then Oracle Database implicitly appends the database domain to the connect string to create a com­ plete service name.

Model Specifies the model that contains the objects of the remote database.

6.2.7.3 Oracle-Specific Object Properties

These sections list Oracle-specific properties available on standard database objects in Oracle physical data models.

Models

Oracle-specific properties are available in the Info tab Oracle section:

Name Description

Password Encryption Specifies the master key for encoding and decoding encrypted data.

PowerDesigner Web Information Architecture PUBLIC 279 Tables

Oracle-specific properties are available in the Info tab XML Properties section when the table type is set to XML:

Name Description

Definition Specifies that the properties of object tables are essentially the same as those of relational tables.

However, instead of specifying columns, you specify attributes of the object.

Storage type Specifies the type of column storage for XML columns:

● LOB ● object-relational ● binary XML

LOB segment name Specifies the name of the LOB data segment. You cannot use LOB_segname if you specify more than one LOB_item.

LOB parameters Specifies additional LOB parameters.

Views

Oracle-specific properties are available in the Info tab Oracle section:

Name Description

Super view object Used in the UNDER clause to specify the superview the current object view is based on.

Object view key Specifies the attributes of the object type that will be used as a key to identify each row in the ob­ ject view.

Object view type Defines the type of the object view.

Force When set to TRUE, allows you to create the view regardless of the existence of the base tables or the owner privileges on these tables.

Editioning Specifies that the view is an editioning view, a single-table view that selects all rows from the base table and displays a subset of the base table columns. You can specify that the view is:

● editioning ● editionable ● editionable editioning ● noneditionable

Bequeath Specifies whether functions referenced in the view are executed using the view invoker's rights or the view definer's rights.

PowerDesigner Web 280 PUBLIC Information Architecture Columns

Oracle-specific properties are available in the Info tab Oracle section:

Name Description

Deferrable (check con­ Specifies that in subsequent transactions you can use the SET CONSTRAINT clause to defer straint) checking of this constraint until after the transaction is committed.

If selected, you can additionally select Initially deferred to specify that Oracle should check this constraint at the end of subsequent transactions.

Constraint name Specifies the name of the not null constraint for a column. (mandatory columns)

Deferrable (mandatory Specifies that in subsequent transactions you can use the SET CONSTRAINT clause to defer columns) checking of this constraint until after the transaction is committed.

If selected, you can additionally select Initially deferred to specify that Oracle should check this constraint at the end of subsequent transactions.

Encrypted Specifies that the column is encrypted. You can specify the following options:

● With salt - Specifies that the encryption adds salt to encoded data. ● Identified by Password - Provides the password for encrypting the column

Identity Specifies that the column stores a number incrementing with each insertion. You can specify the following options:

● Generated - Specifies when the identity clause applies to the column. ● Start -Specifies the value to begin the sequence with. ● Increment - Specifies the interval between the sequence numbers. ● Cycle - Specifies that the sequence continues to generate values after reaching either its maximum or minimum value. If this option is not selected the sequence cannot generate more values after reaching its maximum or minimum value. ● Order - Specifies that sequence numbers must be generated in order of request. ● Cache - Specifies that values of the sequence are preallocated. You can additionally specify how many values of the sequence the database preallocates and keeps in memory for faster access. ● Minvalue, Maxvalue - Specify that the sequence has a minimum and/or maximum value, which you specify in the fields to the right of the options.

PowerDesigner Web Information Architecture PUBLIC 281 XML Virtual Columns

If the table type is set to XML, the Children tab Columns list is replaced by the XML Virtual Columns list. Oracle- specific properties are available in the Info tab General section for XML virtual columns:

Name Description

Expression Specifies the SQL expression used to compute virtual column value.

References

Oracle-specific properties are available in the Info tab Oracle section:

Name Description

Deferred option Defines the deferred option of a reference. It is used in the definition of create and add items statements.

Exceptions into Specifies a table into which Oracle places the ROWIDs of all rows violating the con­ straint.

Rely Specifies to enable an existing constraint without enforcement.

Disable Disables the integrity constraint.

Validate Checks that all old data also obeys the constraint.

Users

Oracle-specific properties are available in the Info tab General section:

Name Description

Identification type Specifies how the user will be identified. You can choose between:

● by - requires a password ● externally - requires a distinguished name ● globally - requires a distinguished name

Distinguished name [external or global identification types] Specifies the user's distinguished name (DN) in the direc­ tory or certificate.

PowerDesigner Web 282 PUBLIC Information Architecture Oracle-specific properties are available in the Info tab Options section:

Name Description

Quota definition Specifies the maximum amount of space the user can allocate in the tablespace.

Profile Specifies the profile to assign to the user.

Password expire Specifies that the user's password will expire.

Account lock Select lock to lock the user's account and disable access or unlock to enable access to the ac­ count.

Abstract Data Types and Attributes

Oracle-specific properties are available in the Info tab General section for abstract data types:

Name Description

Editionable Specifies that the type is an editioned object (if editioning is enabled for the schema object type TYPE in schema). This applies to both type specification and body.

Oracle-specific properties are available in the Info tab Oracle section for attributes of abstract data types of type OBJECT or SQLJ_OBJECT:

Name Description

Declare REF Generates a REF modifier on attribute to declare references, which hold pointers to objects.

6.2.8 Microsoft SQL Server 2016 supports the creation of Microsoft SQL Server 2016 data models manually, by reverse-engineering, or by generation from another data model. You can model tables, views, and other objects and generate them to SQL Server.

 Note

Before you can reverse-engineer via connection to a SQL Server database (see Reverse-Engineering a Database [page 344]), contact your administrator and request them to install an appropriate JDBC driver.

To create a SQL Server physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (Microsoft SQL Server 2016), and click Create.

The following tools are available in SQL Server physical data models:

PowerDesigner Web Information Architecture PUBLIC 283 Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

None Common language runtime. See Common Language Runtime (CLR) Integration (SQL Server) [page 285].

None Encryption. See Encryption (SQL Server) [page 288].

None Horizontal partitioning. See Horizontal Partitioning (SQL Server) [page 290].

None Service broker. See Service Broker (SQL Server) [page 292].

None Full text catalogs. See Full-Text Catalogs (SQL Server) [page 299].

None Resource governor. See Resource Governor (SQL Server) [page 300].

None Schemas. See Schemas (SQL Server) [page 301].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

PowerDesigner Web 284 PUBLIC Information Architecture 6.2.8.1 Common Language Runtime (CLR) Integration (SQL Server)

CLR integration allows stored procedures, triggers, and user-defined types, functions, and aggregate functions to be written for SQL Server in any .NET language, such as VB .NET or C#.

6.2.8.1.1 CLR Assemblies (SQL Server)

An assembly is a DLL file used to deploy objects written in one of the managed code languages hosted by the Microsoft .NET Framework common language runtime (CLR), instead of in Transact-SQL.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Assemblies. 2. Click the Add tool to create a new assembly in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the assembly in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Authorization Specifies the name of a user or role as the owner of the assembly.

File name Specifies the local path or network location where the assembly that is being uploaded is located, and also the manifest file name that corresponds to the assembly. Can be entered as a fixed string or an expression evaluating to a fixed string.

Permission set Specifies a set of code access permissions that are granted to the assembly when it is accessed by SQL Server. You can choose between:

○ SAFE ○ UNSAFE ○ EXTERNAL_ACCESS

Visibility Specifies that the assembly is visible for creating common language runtime (CLR) functions, stored procedures, triggers, user-defined types, and user-defined aggregate functions against it. You can choose between:

○ On ○ Off

PowerDesigner Web Information Architecture PUBLIC 285 Name Description

Unchecked data By default, ALTER ASSEMBLY fails if it must verify the consistency of individual table rows. This option allows postponing the checks until a later time by using DBCC CHECKTABLE.

6.2.8.1.2 CLR Aggregate Functions (SQL Server)

SQL Server allows developers to create custom aggregate functions in managed code, and to make these functions accessible to Transact-SQL or other managed code.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Aggregates. 2. Click the Add tool to create a new aggregate function in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the aggregate function in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies the name of a schema as the owner of the aggregate function.

Assembly Specifies the assembly to bind with the aggregate function.

Class name Specifies the name of the class in the assembly that implements the aggregate func­ tion.

If the class name is not specified, SQL Server assumes it is the same as the aggregate name.

Return type Specifies the return type of the aggregate function. All scalar data types or CLR user- defined types can be used as return type, except text, ntext, and image.

Length Specifies the length of return data type.

Precision Specifies the precision of return data type.

4. Click the Children tab, create parameters as necessary, and specify their name, type, length, and precision.

PowerDesigner Web 286 PUBLIC Information Architecture 6.2.8.1.3 CLR User-Defined Types (SQL Server)

User-defined types (UDTs) can contain multiple elements and have behaviors, differentiating them from the traditional alias data types which consist of a single SQL Server system data type. UDTs in SQL Server are well suited to date, time, currency, and extended numeric types, geospatial applications, and encoded or encrypted data.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Abstract Data Types. 2. Click the Add tool to create a new abstract data type in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Select CLR.

Class Click the Select Object tool to select a class from an object-oriented model as the supertype.

4. Open the Microsoft section and enter the following properties:

Name Description

Assembly Specifies the assembly to bind with the abstract data type.

Mandatory Specifies whether the type can hold a null value.

PowerDesigner Web Information Architecture PUBLIC 287 6.2.8.2 Encryption (SQL Server)

SQL Server provides a security infrastructure to support hierarchical encryption and key management through certificates and asymmetric and symmetric keys

6.2.8.2.1 Certificates (SQL Server)

A public key certificate is a digitally-signed statement that binds the value of a public key to the identity of the person, device, or service that holds the corresponding private key.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Certificates. 2. Click the Add tool to create a new certificate in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the certificate in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Authorization Specifies the name of a user as the owner of the certificate.

Assembly Specifies a signed assembly that has already been loaded into the database.

Assembly File Specifies the complete path, including file name, to a DER encoded file that contains the certificate. The path name can be a local path or a UNC path to a network location. The file will be accessed in the security context of the SQL Server service account. This account must have the required file system permissions.

File Specifies the complete path, including file name, to the private key. The private key path name can be a local path or a UNC path to a network location. The file will be ac­ cessed in the security context of the SQL Server service account. This account must have the necessary file system permissions.

Subject Specifies the value of the subject field in the metadata of the certificate as defined in the X.509 standard.

Active for begin dialog Specifies that the certificate is available to the initiator of a Service Broker dialog con­ versation.

PowerDesigner Web 288 PUBLIC Information Architecture 6.2.8.2.2 Asymmetric Keys (SQL Server)

An asymmetric key is made up of a private key and the corresponding public key. While asymmetric encryption is relatively resource-intensive, it is more secure than symmetric encryption.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Asymmetric Keys. 2. Click the Add tool to create a new asymmetric key in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the asymmetric key in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Authorization Specifies the name of a user as the owner of the asymmetric key.

Source type Specifies the type of source (File, Executable file, Assembly or Provider)

Assembly Specifies the name of an assembly from which to load the public key.

Provider Specifies the name of the EKM (Extensible Key Management) provider.

Algorithm Specifies the algorithm used to encrypt the key.

Encryption password Specifies the password with which to encrypt the private key. If this clause is not present, the private key will be encrypted with the database master key.

6.2.8.2.3 Symmetric Keys (SQL Server)

A symmetric key is one key that is used for both encryption and decryption. Symmetric encryption is faster than assymetric encryption, but not as secure.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Symmetric Keys. 2. Click the Add tool to create a new symmetric key in the list and then click its name to go to its property sheet.

PowerDesigner Web Information Architecture PUBLIC 289 3. Specify a name and comment for the symmetric key in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Authorization Specifies the name of a user or role as the owner of the key.

Certificate Specifies the name of the certificate that will be used to encrypt the symmetric key.

Password Specifies a password from which to derive a TRIPLE_DES key with which to secure the symmetric key. Password complexity will be checked. You should always use strong pass­ words.

Symmetric key Specifies a symmetric key to be used to encrypt the key that is being created.

Asymmetric key Specifies an asymmetric key to be used to encrypt the key that is being created.

Key source Specifies a pass phrase from which to derive the key.

Algorithm Specifies the algorithm used to encrypt the key

Identity value Specifies an identity phrase from which to generate a GUID for tagging data that is en­ crypted with a temporary key.

6.2.8.3 Horizontal Partitioning (SQL Server)

SQL Server supports horizontal partitioning of tables and indexes, to make them more manageable by dividing them horizontally and spreading them across more than one filegroup in a database.

To partition a table or an index, specify a partition scheme and column on the Microsoft tab of its property sheet.

6.2.8.3.1 Partition Functions (SQL Server)

A partition function specifies how a table or index can be partitioned.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Partition Functions. 2. Click the Add tool to create a new partition function in the list and then click its name to go to its property sheet.

PowerDesigner Web 290 PUBLIC Information Architecture 3. Specify a name and comment for the partition function in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Input Parameter Type Specifies the data type of the column used for partitioning. All data types are valid, ex­ cept text, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), alias data types, or CLR user-defined data types.

Length Specifies the length of input parameter data type.

Precision Specifies the precision of input parameter data type

Interval Side Specifies to which side of each boundary value interval the boundary_value [,...n ] be­ longs. You can choose between:

○ left [default] ○ right

Interval values are sorted by the database engine in ascending order from left to right.

Boundary Values Specifies the boundary values for each partition of a partitioned table or index. All values must be separated by commas.

6.2.8.3.2 Partition Schemes (SQL Server)

A partition scheme maps the partitions produced by a partition function to a set of user-defined filegroups.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Partition Schemes. 2. Click the Add tool to create a new partition scheme in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the partition scheme in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Partition Function Specifies the partition function using the scheme. Partitions created by the partition function are mapped to the filegroups specified in the partition scheme.

All Partitions Specifies that all partitions map to the filegroup specified by the File Groups property.

PowerDesigner Web Information Architecture PUBLIC 291 Name Description

File Groups Specifies the names of the filegroups to hold the partitions specified by the partition function. If [PRIMARY] is specified, the partition is stored on the primary filegroup. If ALL is specified, only one filegroup name can be specified.

6.2.8.4 Service Broker (SQL Server)

SQL Server provides Service Broker, which manages a queue of services, and allows applications that use it to communicate by sending messages to one another as part of a conversation. The participants in a conversation must agree on the name and content of each message.

6.2.8.4.1 Message Types (SQL Server)

Message types define the type of data that a message can contain and specify the type of XML validation that SQL Server performs for messages of that type. For arbitrary or binary data, you can specify that SQL Server performs no validation.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Message Types. 2. Click the Add tool to create a new message type in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the message type in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies a database user or role as the owner of the message type. If the current user is dbo or sa, this may be the name of any valid user or role. Otherwise, it must be the name of the current user, a user that the current user has IMPERSONATE permission for, or a role to which the current user belongs. By default, the message type belongs to the cur­ rent user.

PowerDesigner Web 292 PUBLIC Information Architecture Name Description

Validation Specifies how the Service Broker validates the message body for messages of this type. You can choose between:

○ none [default] – no validation performed ○ empty – message must contain no data ○ well_formed_xml – message must contain well-formed XML ○ valid_xml with schema collection – message must conform to the specified XML schema

Schema Specifies the name of the schema to be used for validating the message contents.

6.2.8.4.2 Contracts (SQL Server)

Contracts define the message types used in a conversation. The initiating service specifies the contract when the conversation begins and the target service specifies the contracts that the target service accepts conversations for.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Contracts. 2. Click the Add tool to create a new contract in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the contract in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies a database user or role as the owner of the contract. If the current user is dbo or sa, this may be the name of any valid user or role. Otherwise, it must be the name of the current user, a user that the current user has IMPERSONATE permission for, or a role to which the current user belongs. By default, the contract belongs to the current user.

4. Click the Dependencies tab, and create or add message contracts as necessary to associate message types with the contract and specify by whom they may be sent.

PowerDesigner Web Information Architecture PUBLIC 293 6.2.8.4.3 Message Contracts (SQL Server)

Message contracts associate a message type with a contract, and specify which parties to the conversation can send that type of message.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Message Contracts. 2. Click the Add tool to create a new message contract in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the message contract in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Sent by Specifies which endpoint can send a message of the indicated message type. Contracts document the messages that services can use to have specific conversations. Each con­ versation has two endpoints: the initiator endpoint, the service that started the conver­ sation, and the target endpoint, the service that the initiator is contacting.

Message type Specifies the message type of the contract.

6.2.8.4.4 Queues (SQL Server)

When a message arrives for a service, Service Broker places the message on the queue associated with the service.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Queues. 2. Click the Add tool to create a new queue in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the queue in the Info tab General section, and then enter the following properties in the Microsoft section:

PowerDesigner Web 294 PUBLIC Information Architecture Name Description

Owner Specifies the owner of the queue.

Status Specifies that the queue is available. This is the default.

If a queue is unavailable, no messages can be added to or removed from it. If you create a queue as unavailable, then no messages can be added to it until it is made available with an ALTER QUEUE statement.

Retention Specifies that all messages sent or received on conversations using this queue are re­ tained in the queue until the conversations have ended. This allows you to retain mes­ sages for auditing purposes, or to perform compensating transactions if an error oc­ curs.

The default is to not retain messages in the queue in this way.

Activation Specifies that a stored procedure is required to activate message processing for the queue.

Status (activation) Specifies that Service Broker activates the associated stored procedure when the num­ ber of procedures currently running is less than MAX_QUEUE_READERS and when messages arrive on the queue faster than the stored procedures receive messages.

This is the default.

Procedure Specifies the name of the stored procedure to activate to process messages in this queue.

MaxQueueReaders Specifies the maximum number of instances of the activation stored procedure that the queue can start at the same time. Must be set to between 0 and 32767.

Execute as Specifies the user under which the activation stored procedure runs. SQL Server must be able to check the permissions for this user at the time that the queue activates the stored procedure. You can choose between:

○ SELF - the stored procedure executes as the current user. (The database principal executing this CREATE QUEUE statement.) ○ OWNER - the stored procedure executes as the owner of the queue.

6.2.8.4.5 Event Notifications (SQL Server)

An event notification sends information about a database or server event to a service broker service.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Event Notifications.

PowerDesigner Web Information Architecture PUBLIC 295 2. Click the Add tool to create a new event notification in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the event notification in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Applies on Specifies the scope of the event notification. You can choose between:

○ database – the notification fires whenever the specified event in the FOR clause occurs anywhere in the instance of SQL Server. ○ server - the notification fires whenever the specified event in the FOR clause oc­ curs in the current database. ○ queue - the notification fires whenever the specified event in the FOR clause oc­ curs in the current queue. Can be specified only if FOR QUEUE_ACTIVATION or FOR BROKER_QUEUE_DISABLED is also specified.

Queue Specifies the queue to which the event notification applies. Available only if Applies on is set to "queue".

With fan in Instructs SQL Server to send only one message per event to any specified service for all event notifications that:

○ are created on the same event. ○ are created by the same principal (as identified by SID). ○ specify the same service and broker_instance_specifier. ○ specify WITH FAN_IN.

Events Specifies the name of the event type that causes the event notification to execute. Can be a Transact-SQL DDL, SQL Trace, or Service Broker event type.

Service Specifies the target service that receives the event instance data. SQL Server opens one or more conversations to the target service for the event notification. This service must honor the same SQL Server Events message type and contract that is used to send the message. See Services (SQL Server) [page 297].

Instance Specifies a service broker instance against which broker_service is resolved. Use 'cur­ rent database' to specify the service broker instance in the current database.

PowerDesigner Web 296 PUBLIC Information Architecture 6.2.8.4.6 Services (SQL Server)

Services are specific tasks or set of tasks. Service Broker uses the name of the service to route messages, deliver messages to the correct queue within a database, and enforce the contract for a conversation.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Services. 2. Click the Add tool to create a new service in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the service in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies the owner of the service.

Queue Specifies the queue that receives messages for the service. The queue must exist in the same database as the service.

4. Click the Dependencies tab, and add contracts as necessary to associate them with the service.

6.2.8.4.7 Routes (SQL Server)

For outgoing messages, Service Broker determines routing by checking the routing table in the local database. For messages on conversations that originate in another instance, including messages to be forwarded, Service Broker checks the routes in msdb.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Routes 2. Click the Add tool to create a new route in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the route in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies the owner of the route.

PowerDesigner Web Information Architecture PUBLIC 297 Name Description

Broker instance Specifies the database that hosts the target service.

Lifetime Specifies the amount of time, in seconds, that SQL Server retains the route in the rout­ ing table.

Address Specifies the network address for the route. The next_hop_address specifies a TCP/IP address in the following format:

TCP://{ dns_name | netbios_name | ip_address } : port_number

Mirror address Specifies the network address for a mirrored database with one mirrored database hosted at the next_hop_address. The next_hop_mirror_address specifies a TCP/IP ad­ dress in the following format:

TCP://{ dns_name | netbios_name | ip_address } : port_number

6.2.8.4.8 Remote Service Bindings (SQL Server)

Remote service bindings create a binding that defines the security credentials to use to initiate a conversation with a remote service.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Remote Service Bindings. 2. Click the Add tool to create a new remote service binding in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the remote service binding in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies the owner of the binding.

Remote service Specifies the remote service to bind to the user identified in the WITH USER clause.

User Specifies the database principal that owns the certificate associated with the remote service identified by the TO SERVICE clause.

PowerDesigner Web 298 PUBLIC Information Architecture Name Description

Anonymous Specifies that anonymous authentication is used when communicating with the remote service.

6.2.8.5 Full-Text Catalogs (SQL Server)

A full-text catalog is a virtual object that regroups full-text indexes.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Full-Text Catalogs. 2. Click the Add tool to create a new full-text catalog in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the login policy in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Authorization Specifies the name of a user or role as the owner of the full text catalog.

File group Specifies the name of the SQL Server filegroup (or storage) of which the new catalog will be part.

Path Specifies the root directory for the catalog.

Accent sensitivity Specifies whether the catalog is accent sensitive for full text indexing.

Default Specifies that the catalog is the default catalog.

PowerDesigner Web Information Architecture PUBLIC 299 6.2.8.6 Resource Governor (SQL Server)

Resource Governor lets you limit resource requests by workloads for CPU time and memory to optimize their allocation.

6.2.8.6.1 Workload Groups (SQL Server)

A workload group serves as a container for session requests that are similar, to allow the aggregate monitoring of resource consumption and the application of a uniform policy to all the requests in the group. A group defines the policies for its members.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Workload Groups. 2. Click the Add tool to create a new workload group in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the workload group in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Importance Specifies the relative importance of a request in the workload group.

Request maximum memory Specifies the maximum amount of memory that a single request can take from the pool.

Request maximum CPU Specifies the maximum amount of CPU time, in seconds, that a request can use.

Memory grant request time­ Specifies the maximum time, in seconds, that a query can wait for a memory grant out (work buffer memory) to become available.

Maximum degree of paral­ Specifies the maximum degree of parallelism (DOP) for parallel requests. lelism

Maximum requests Specifies the maximum number of simultaneous requests that are allowed to execute in the workload group.

Resource pool Associates the workload group with the specified resource pool.

PowerDesigner Web 300 PUBLIC Information Architecture 6.2.8.6.2 Resource Pools (SQL Server)

A resource pool represents the physical resources of the server.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Resource Pools. 2. Click the Add tool to create a new resource pool in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the resource pool in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

CPU percent Min Specifies the guaranteed average CPU bandwidth for all requests in the resource pool when there is CPU contention. The value is an integer, with a default setting of 0.

CPU percent Max Specifies the maximum average CPU bandwidth that all requests in resource pool will re­ ceive when there is CPU contention. The value is an integer, with a default setting of 100.

Memory percent Min Specifies the minimum amount of memory reserved for this resource pool that can not be shared with other resource pools. The value is an integer, with a default setting of 0.

Memory percent Max Specifies the total server memory that can be used by requests in this resource pool. The value is an integer, with a default setting of 100.

6.2.8.7 Schemas (SQL Server)

In SQL Server, schemas are distinct namespaces, separate from the users who created them, and can be transferred between users.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Schemas. 2. Click the Add tool to create a new schema in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

PowerDesigner Web Information Architecture PUBLIC 301 Name Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-techni­ cal users, while the code, which is used for generating code or scripts, may be abbrevi­ ated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchron­ ized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the name of the database-level principal user that owns the schema. This user may own other schemas, any of which may be his default schema.

6.2.8.8 XML Schema Collections (SQL Server)

An XML schema collection provides validation of and data type information about the XML to be stored in columns with the XML data type. Schemas provide information about the types of attributes and elements in the XML data type instance to allow it to be stored significantly more compactly than untyped XML.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select XML Schema Collections. 2. Click the Add tool to create a new XML schema collection in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the XML schema collection in the Info tab General section, and then enter the following properties in the Microsoft section:

Name Description

Owner Specifies the name of a user, role, or schema as the owner of the schema collection.

XML model Specifies an XML model to link to the schema.

Content Specifies the content of the xml schema.

PowerDesigner Web 302 PUBLIC Information Architecture 6.2.8.9 SQL Server-Specific Object Properties

These sections list SQL Server-specific properties available on standard database objects in SQL Server physical data models.

Tables

SQL Server-specific properties are available in the Info tab Microsoft section:

Name Description

Do not validate check Specifies that "NOT FOR REPLICATION" keywords are used to prevent the TABLE CHECK con­ constraints during repli­ straint from being enforced during the distribution process used by replication. cation

Columns

SQL Server-specific properties are available in the Info tab Microsoft section:

Name Description

Row global unique Indicates that the new column is a row global unique identifier column. Only one unique identifier identifier column per table can be designated as the ROWGUIDCOL column.

Sparse Specifies that the column is a sparse column. The storage of sparse columns is optimized for null values. Sparse columns cannot be designated as NOT NULL.

Filestream Specifies that when the FILESTREAM storage attribute is specified for a column, all values for that column are stored in a FILESTREAM data container on the file system

Do not validate check Specifies that "NOT FOR REPLICATION" keywords are used to prevent the CHECK constraint from constraints during rep­ being enforced during the distribution process used by replication. lication

Default constraint Specifies the name of the constraint that is used to apply a default value to the column. If empty, name the "constraint" keyword is not generated.

Not null constraint Specifies the name of the constraint that is used to apply a mandatory property of the column. If name empty, the "constraint" keyword is not generated.

Collation name Specifies the collation name for a SQL collation.

PowerDesigner Web Information Architecture PUBLIC 303 Name Description

Identity seed and in­ Specifies the seed (first) value of the identity column and the increment to add to the seed value crement for successive rows in the table as a string composed of two integer values separated by a comma.

Identity value not repli­ Specifies that the IDENTITY property should not be enforced when a replication login inserts cated data into the table.

XML schema collection [XML columns] Associates an XML schema collection with the type.

Content type [XML columns] Requires an XML schema collection. Specifies the type of content:

● CONTENT - [default] Each instance of the XML data can contain multiple top-level elements. ● DOCUMENT - Each instance of the XML data type in column_name can contain only one top- level element.

Indexes

You can specify the following types of index:

● XML ● FULLTEXT ● SPATIAL ● COLUMNSTORE

SQL Server-specific properties are available in the Info tab Microsoft section for XML and full-text indexes:

Name Description

Primary [XML index] Specifies that this is the primary XML index.

Primary index [XML index] Specifies the primary XML index to use in creating a secondary XML index.

Secondary XML index type [XML index] Specifies the type of the secondary XML index.

Catalog [Full-text index] Specifies the full text catalog where the full text index is defined.

Change tracking [Full-text index] Specifies whether SQL Server maintains a list of all changes to the indexed data. You can choose between:

● manual ● auto ● off ● off, no population

PowerDesigner Web 304 PUBLIC Information Architecture SQL Server-specific properties are available in the Info tab Spatial Options section for spatial indexes:

Name Description

Cells per object Specifies the number of tessellation cells (an integer between 1 and 8192, inclusive) per object that can be used for a single spatial object in the index by the tessellation process.

References

SQL Server-specific properties are available in the Info tab Microsoft section:

Name Description

Do not validate foreign Specifies that "NOT FOR REPLICATION" keywords are used to prevent the FOREIGN KEY con­ key constraint during rep­ straint from being enforced during the distribution process used by replication. lication

Abstract Data Type Attributes

SQL Server-specific properties are available in the Info tab Microsoft section:

Name Description

Computed Specifies that the type column is computed.

Expression [computed attributes] Specifies the expression that defines the value.

Persisted [computed attributes] Specifies that the SQL Server Database Engine will physically store the computed values in the table, and update the values when any other columns on which the com­ puted column depends are updated.

Identity Specifies that this is an identity column.

Seed [identity attributes] Specifies the value used for the very first row loaded into the table.

Increment Specifies the incremental value added to the identity value of the previous row loaded.

Default Specifies the value provided for the column when a value is not explicitly supplied during an insert.

Row GUID Specifies that the new column is a row GUID column

Collation Specifies the collation for the column.

PowerDesigner Web Information Architecture PUBLIC 305 6.2.9 IBM DB2 v11 for z/OS

PowerDesigner Web supports the creation of IBM DB2 v11 for z/OS data models manually, by reverse- engineering, or by generation from another data model.

 Note

Before you can reverse-engineer via connection to a DB2 database (see Reverse-Engineering a Database [page 344]), contact your administrator and request them to install an appropriate JDBC driver.

To create an DB2 physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (IBM DB2 v11 for z/OS), and click Create.

The following tools are available in DB2 physical data models:

Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

None Auxiliary tables. See Auxiliary Tables (DB2) [page 307].

None Trusted contexts. See Trusted Contexts (DB2) [page 307].

None Materialized query tables. See Materialized Query Tables (DB2) [page 308].

None Masks. See Masks (DB2) [page 309].

None Row permissions. See Row Permissions (DB2) [page 310].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

PowerDesigner Web 306 PUBLIC Information Architecture 6.2.9.1 Auxiliary Tables (DB2)

Auxiliary tables are used to store large object (LOB) data, such as graphics, video, etc, or to store rarely- accessed data in order to improve the performance of the base table.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Auxiliary Tables. 2. Click the Add tool to create a new auxiliary table in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the auxiliary table in the Info tab General section, and then enter the following properties in the DB2 section:

Name Description

Table Specifies the table that owns the LOB column.

Column Specifies the name of the LOB column in the auxiliary table.

Partition Specifies the partition of the base table for which the auxiliary table is to store the specified col­ umn.

6.2.9.2 Trusted Contexts (DB2)

Using a trusted context in an application can improve security by placing accountability at the middle-tier, reducing over granting of privileges, and auditing of end-user's activities.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Trusted Contexts. 2. Click the Add tool to create a new trusted context in the list and then click its name to go to its property sheet. 3. Specify a name and comment for the trusted context in the Info tab General section, and then enter the following properties in the DB2 section:

PowerDesigner Web Information Architecture PUBLIC 307 Name Description

Enable Specifies that the trusted context is created in the enabled state.

Authorization Specifies that the context is a connection that is established by the authorization ID that is specified by authorization-name.

Default role Specifies the default role that is assigned to a user in a trusted connection when the user does not have a role in the trusted context.

If empty, then a No Default Role is assumed.

As object owner Specifies that the role is treated as the owner of the objects that are created using a trusted connection based on the trusted context.

Default security label Specifies the default security label for a trusted connection based on the trusted context.

Attributes Specifies one or more connection trust attributes that are used to define the trusted context.

With use for Specifies who can use a trusted connection that is based on the trusted context.

6.2.9.3 Materialized Query Tables (DB2)

Materialized query tables are based upon the result of a query.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Materialized Query Tables. 2. Click the Add tool to create a new materialized query table in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected ob­ ject.

PowerDesigner Web 308 PUBLIC Information Architecture Name Description

Usage Specifies how the view will be used. You can choose between: ○ Query only - Consultation only. The view cannot update tables. ○ Updatable - Consultation and update of underlying tables. ○ With Check options - Implements controls on view insertions.

Dimensional type Specifies the type of view table for purposes of creating star or snowflake schemas contain­ ing fact tables and dimensions. You can choose between: ○ Fact ○ Dimension ○ Exclude - Do not consider as a multidimensional object.

Generate Selects the view for generation to the database.

User-defined By default, the view query is updated to reflect changes to model objects on which it is based. Selecting this option freezes the view and protects your manual changes.

Result table Specifies whether the materialized view is a query table or result table.

Maintained by [Query table] Specifies how the data in the materialized query table is maintained.

Query optimization [Query table] Specifies whether this materialized query table can be used for optimization.

Column default [Result table] Specifies whether or not to copy column defaults.

Identity [Result table] Specifies whether or not to copy identity column attributes.

○ Partitions - lists the partitions contained within the materialized query table.

6.2.9.4 Masks (DB2)

A column mask specifies the rules for users to receive the masked values that are returned for the column.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Masks. 2. Click the Add tool to create a new mask in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

PowerDesigner Web Information Architecture PUBLIC 309 Name Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected ob­ ject.

Column Specifies the column to which the mask applies. A mask must not already exist for the col­ umn.

Enabled Specifies if the column mask is to be enabled for column access control.

4. Enter the following properties in the Expression section:

Name Description

Table correlation name Specifies a correlation name that can be used within CASE expression to designate the table.

Case expression Specifies a CASE expression that determines the value that is returned for the column. The result of the CASE expression is returned in place of the column value in a row.

6.2.9.5 Row Permissions (DB2)

A row permission is a database object that describes a specific row access control rule for a table.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Row Permissions. 2. Click the Add tool to create a new row permission in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

PowerDesigner Web 310 PUBLIC Information Architecture Name Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected ob­ ject.

Table Specifies the table on which the row permission is created.

Enabled Specifies that the row permission is to be enabled for row access control.

4. Enter the following properties in the Search Condition section:

Name Description

Correlation name Specifies a correlation name that can be used within search-condition to designate the table.

Search condition Specifies a condition that can be true, false, or unknown for a row of the table. Search condi­ tion follows the same rules used by the search condition in a WHERE clause of a subselect.

6.2.9.6 DB2-Specific Object Properties

These sections list DB2-specific properties available on standard database objects in DB2 physical data models.

Columns

DB2-specific properties are available in the Info tab DB2 section:

Name Description

Field procedure Specifies the procedure that will be used as generator/cryptor of values. name

Character subtype Specifies a subtype for a character string column.

Implicitly hidden Specifies that the column is not visible in the result for SQL statements unless you explicitly refer to the column by name.

PowerDesigner Web Information Architecture PUBLIC 311 Name Description

As security label Specifies that the column will contain security label values. This also indicates that the table is defined with multi-level security with row level granularity.

Inline length [LOB columns] Specifies the maximum length for the column, if the table is in a universal table space.

Domains (Distinct Types)

DB2-specific properties are available in the Info tab General section:

Name Description

Character Subtype Specifies a subtype for a character string column.

References

DB2-specific properties are available in the Info tab General section:

Name Description

Enforced Specifies that the referential constraint is enforced by the database manager during normal opera­ tions, such as insert, update, or delete.

Sequences

DB2-specific properties are available in the Info tab DB2 section:

Name Description

Start with Specifies the first value for the sequence.

Increment by Specifies the interval between consecutive values of the sequence.

Cache Specifies the numerical value of the cache option.

PowerDesigner Web 312 PUBLIC Information Architecture 6.2.10 Teradata 15

PowerDesigner Web supports the creation of Teradata v15 data models manually, by reverse-engineering, or by generation from another data model.

 Note

Before you can reverse-engineer via connection to a Teradata database (see Reverse-Engineering a Database [page 344]), contact your administrator and request them to install an appropriate JDBC driver.

To create a Teradata physical data model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (Teradata v15), and click Create.

The following tools are available in Teradata physical data models:

Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

PowerDesigner Web Information Architecture PUBLIC 313 6.2.10.1 Partitions (Teradata)

Teradata partitions allow you partition table data by range, case, or column.

Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Partitions list. 2. Click the partition name in the Partitions list to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Type Specifies the type of the partition: ○ Range n - Specify a range and interval in the Expression field. ○ Case n - Specify criteria for the partition in the Expression field. ○ Column - [if no primary index is defined on the table] Create objects in the Column Groups list, open their property sheets and associate columns with them. Select the All but option to create a single-column partition with autocompression and a system-determined COLUMN or ROW format for each column, if any, that is not specified in the column group list.

Expression Specifies the partitioning expression for partitions of type Range n or Case n.

Add Specifies that the maximum number of partitions for a partitioning level is the number of parti­ tions it defines plus the value of the BIGINT constant value specified in this field.

4. Click the Children tab and add columns to the partition.

6.2.10.2 Transform Groups (Teradata)

A transform is a mechanism for creating an external representation of the UDT that is used when exporting and importing data between the client and the Teradata server. This mechanism allows most Teradata client utilities and open APIs to transparently move data to and from a UDT without the need for special logic or metadata.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Transform Groups. 2. Click the Add tool to create a new transform group in the list and then click its name to go to its property sheet.

PowerDesigner Web 314 PUBLIC Information Architecture 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

4. Enter the following properties in the Teradata section:

Name Description

UDT Specifies the name of the user-defined type associated with the transform group.

Name, Specific, Pa­ Specifies the function name and parameters to be used as the tosql routine for this transform rameters group, and whether or not it is specific.

From sql with, Name, Specifies the method or function name and parameters to be used as the fromsql routine for Specific, Parameters this transform group, and whether or not it is specific and/or instantiable.

6.2.10.3 Error Tables (Teradata)

Teradata can record errors encounterd when writing to a data table in an error table associated with the data table.

Context

Error tables are supported for Teradata v12 and higher. PowerDesigner models error tables as extended objects with a stereotype of <>.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Error Tables. 2. Click the Add tool to create a new error table in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

PowerDesigner Web Information Architecture PUBLIC 315 Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the name of the database containing the error table.

Data table Specifies the data table for which the error table is being created.

Use name at genera­ Specifies that the error table will be generated with its name. tion

6.2.10.4 Join Indexes (Teradata)

Join indexes are materialized views that improve access times for cross-table queries, and which are automatically updated when changed are made to the underlying tables.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Join Indexes. 2. Click the Add tool to create a new join index in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Fallback Specifies that the join index uses fallback protection.

Checksum Enables a table-specific disk I/O integrity checksum level. The checksum setting applies to pri­ mary data rows, fallback data rows, and all secondary index rows for the index.

4. Open the SQL Query section and specify a query.

PowerDesigner Web 316 PUBLIC Information Architecture 6.2.10.5 Hash Indexes (Teradata)

Hash indexes are designed to improve query performance like join indexes, but may in addition enable you to avoid accessing the base table.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Hash Indexes. 2. Click the Add tool to create a new hash index in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Table Specifies the base table on which the hash index is defined.

Database Specifies the name of the database containing the base table. By default the same as the data­ base in which the hash index is created.

Fallback Specifies that the hash index uses fallback protection.

Checksum Enables a table-specific disk I/O integrity checksum level. The checksum setting applies to pri­ mary data rows, fallback data rows, and all secondary index rows for the index.

4. Enter the following properties in the Teradata section:

Name Description

Columns Specifies the base table columns on which the hash index is defined

Distributed columns Specifies an optional, explicitly specified column set on which the hash index rows are dis­ tributed across the AMPs. This is a subset of index column list.

Order by columns Specifies the row ordering on each AMP, which must be either value-ordered or hash-or­ dered.

Ordering type [if Order by columns are specified] Specifies the ordering type of the ORDER BY column.

PowerDesigner Web Information Architecture PUBLIC 317 6.2.10.6 Glop Sets (Teradata)

Glop sets are sets of persistent data used in external procedures and functions.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Glop Sets. 2. Click the Add tool to create a new glop set in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the owner of the glop set.

Scripting name: Owner

6.2.10.7 Replication Groups (Teradata)

Replication groups contain tables to be replicated.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Replication Groups. 2. Click the Add tool to create a new replication group in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

PowerDesigner Web 318 PUBLIC Information Architecture Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

4. Click the Dependencies tab and add tables to the replication group.

6.2.10.8 Replication Rules and Rule Sets (Teradata)

Replication rules are patterns for matching table names to include in replication groups. Rules are collected into sets, which are in turn associated with replication groups.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Replication Rule Sets. 2. Click the Add tool to create a new replication rule set in the list and then click its name to go to its property sheet. 3. Enter the following properties in the Info tab General section:

Name Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Default Specifies that all the rules in the rule set are default rules.

Replication group Specifies the name of the replication group to which the rule set is assigned.

4. Click the Children tab and add patterns to the rule set with the following properties.

Name Description

Object kind Specifies the type of database object to be added to the replication rule set.

Like/And not like Specifies pattern strings to match or exclude against the fully qualified names of the objects of certain SQL statements. The specified string literals can contain wildcard characters.

PowerDesigner Web Information Architecture PUBLIC 319 Name Description

Escape character Specifies an escape character for the like and not like patterns.

6.2.10.9 Teradata-Specific Object Properties

These sections list Teradata-specific properties available on standard database objects in Teradata physical data models.

Abstract Data Types

Teradata-specific properties are available in the Info tab Teradata section:

Name Description

Predefined data type [type:distinct] Indicates that character column comparison uses character case (upper and lower) to raise differences.

Dimension [:array] Specifies the dimension(s) of the array as [n1][n2]....

Nullify [type:array] Initializes all of the elements of array_type_name to null when the type is con­ structed.

Columns

Teradata-specific properties are available in the Info tab Teradata section:

Name Description

Character set Specifies the character set to be used.

Case specific Specifies that character column comparison is case-sensitive.

Compress Compresses specified values and nulls in one or more columns of a table to zero space. When the data in a column matches a value specified in the COMPRESS phrase, then that value is stored only once in the table header regardless of how many times it occurs as a field value for the column, thus saving disk storage space.

Attribute must be enclosed in parenthesis when it is composed of multiple values.

PowerDesigner Web 320 PUBLIC Information Architecture Name Description

Compress using / De­ Specify the names of the UDFs to be used to compress and decompress CHARACTER, GRAPHIC, or compress using BYTE data in this column algorithmically.

Always generate Specifies that identity column values are always system-generated. You cannot insert values into, value nor update, an identity column defined as GENERATED ALWAYS.

If not selected, identity column values are system-generated unless the user does not enter a non- null value.

Partition Specifies the partition to which the column is assigned.

Indexes

Teradata-specific properties are available in the Info tab Teradata section:

Name Description

Primary Index Specifies that the index is the primary index.

Partition by [primary key] Lets you select the used function to evaluate partition condition.

● case_n: Evaluates a list of conditions and returns the position of the first condition that evalu­ ates to TRUE, provided that no prior condition in the list evaluates to UNKNOWN. ● range_n: Evaluates an expression and maps the result into one of a list of specified ranges and returns the position of the range in the list.

Partition expression [primary key] Specifies an SQL expression used to define the partition to which a partitioned pri­ mary index row is assigned when it is hashed to its AMP.

Ordering type [not primary key] Select VALUES to optimize queries that return a contiguous range of values, es­ pecially for a covering index or a nested join. Select HASH to limit hash-ordering to one column, rather than all columns (the default)

Column [not primary key] Row ordering on each AMP by a single NUSI column: either value-ordered or hash-ordered.

All Specifies that a NUSI should retain row ID pointers for each logical row of a join index (as opposed to only the compressed physical rows).

Index has name Specifies that the index will be generated with its name (as Teradata allows index with no name).

PowerDesigner Web Information Architecture PUBLIC 321 Tables

Teradata-specific properties are available in the Info tab Teradata section:

Name Description

Type Specifies whether the table to be created is a global temporary table or a volatile table:

● GLOBAL TEMPORARY - a temporary table definition is created and stored in the data diction­ ary for future materialization. You can create global temporary tables by copying a table WITH NO DATA, but not by copying a table WITH DATA. ● VOLATILE - specifies that a volatile table be created, with its definition retained in memory only for the course of the session in which it is defined.

Commit row action Specifies the action to take with the contents of a global temporary table when a transaction ends:

● DELETE - clears the temporary table of all rows. ● PRESERVE - retains the rows in the table after the transaction is committed.

Duplicate row control Controls the treatment of duplicate rows. If there are uniqueness constraints on any column or set of columns in the table definition, then the table cannot have duplicate rows even if it is declared as MULTISET. Some client utilities have restrictions with respect to MULTISET tables.

Primary index Specifies the primary index of the table.

Users

Teradata-specific properties are available in the Info tab Teradata section:

Name Description

Owner Specifies the database (or user) that owns the current user.

Permanent Specifies the number of bytes to be reserved for permanent storage of the new user database. The space is taken from unallocated space in the database of the immediate owner.

Spool Specifies the number of bytes (n) to be allocated for spool files. The default is the largest value that is not greater then the owner spool space, and that is a multiple of the number of AMPs on the system.

Temporary Specifies how much space (in bytes) is to be allocated for creating temporary tables by this user. Note that temporary space is reserved prior to spool space for any user defined with this characteristic.

Account Specifies the account ID identifiers.

PowerDesigner Web 322 PUBLIC Information Architecture Name Description

Fallback Specifies whether to create and store a duplicate copy of each table created in the new data­ base.

Journal Specifies the number of before change images to be maintained by default for each data table created in the new database.

After journal Specifies the type of image to be maintained by default for data tables created in the new data­ base.

Default table Specifies the default table that is to receive the journal images of data tables created in the new database.

Database Specifies the default database name.

Role Specifies the default role for the user.

Character set Specifies the default character data type.

Collation Specifies the default collation for this user.

Time zone Specifies the default time zone displacement for the user.

Date format Specifies the default format for importing and exporting DATE values for the user.

Profile name Specifies a profile to the user.

Startup string Specifies a startup string.

Views

Teradata-specific properties are available in the Info tab Teradata section:

Name Description

Lock type Specifies the type of lock to be placed.

Locked object class Specifies the type (class) of the object to be locked.

Locked object Specifies the name of the object to be locked.

No wait Specifies that if the indicated lock cannot be obtained, the statement should be aborted.

PowerDesigner Web Information Architecture PUBLIC 323 6.2.11 Hadoop Hive 2

PowerDesigner Web supports the creation of Hadoop Hive 2 physical data models manually, by reverse- engineering, or by generation from another data model. You can model tables, views, and other objects and generate them to Hive.

To create a Hadoop Hive 2 model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Physical Data (Hadoop Hive 2), and click Create.

The following tools are available in Hadoop Hive 2 physical data models:

Tool Details

Tables. See Tables [page 325].

Views. See Views [page 332].

Link

Procedures/Functions. See Procedures and Functions [page 340].

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

6.2.12 Common Database Objects

PowerDesigner Web supports the creation of standard data model objects for all supported DBMSs.

PowerDesigner Web 324 PUBLIC Information Architecture 6.2.12.1 Tables

A table is a set of related data consisting of columns and rows.

Procedure

1. Drag the Table tool and drop it in the diagram.

A table is created and its default name selected for overwriting. Entering a name and pressing Tab creates a column. Entering a name for the column and pressing Tab allows you to specify its data type. You can continue pressing Tab to create columns as necessary. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the ob­ ject. By default the code is synchronized with the name. To decouple name-code synchronization, en­ ter a new code in the Code field.

Owner / Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right Schema of the list to create, browse for, or view the properties of the currently selected object.

Number / Row Specifies the estimated number of records in the table, and the annual percentage rate at which this Growth Rate number is expected to grow.

Dimensional Specifies the type of the table for purposes of creating star or snowflake schemas containing fact ta­ type bles and dimensions. You can choose between: ○ Fact ○ Dimension ○ Exclude - Do not consider as a multidimensional object.

Type [if your DBMS supports various types of table] Specifies the type of the table. You can choose be­ tween: ○ Relational - Standard tables. ○ Object - Tables based on abstract data types. Select an abstract data type in the Base on field. ○ XML - Tables storing XML documents. Select a schema and element.

Generate Selects the table for generation to the database.

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

PowerDesigner Web Information Architecture PUBLIC 325 Property Description

Personal Data Specifies that personal data, which may need to be anonymized or be subject to special regula­ tion, is being stored.

Retention Specifies the period for which the data should be retained.

○ Versioning - [HANA] Specifies that the table is system-versioned and is linked to a history table of archived records. You can specify the following properties:

Property Description

History Table Specifies that the table is system-versioned. Click Create to create the history table, which is by default called _History along with the ValidFrom and ValidTo time­ stamp columns in the base table.

 Note

To modify the default names for these objects, click the Settings button and modify the naming templates.

 Note

To enable system-versioning for multiple tables, open the Tables object list (see Creating and Editing Objects in a List [page 35]), select the appropriate tables, and select Create in the History Table column.

For more information about system-versioned tables in SAP HANA, see System-Versioned Ta­ bles in the SAP HANA Administration Guide.

Validated Enables validation of the history table.

Physical options Specifies the physical options for the history table.

○ Check - Specifies the constraints associated with the table. ○ Script - Specifies begin and end scripts for insertion directly before and after the object's creation statement. ○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the object is optimised and stored in the database in text form. You can edit the code by hand and, when you click outside the field, your changes will be validated (with any syntax errors indicated below the field). ○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical options as standard controls. Changes made in this section or the Physical Options section will be synchronized in the other section. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the SQL script that will be generated for the object.

4. Click the Children tab and create the following objects as necessary:

○ Columns - See Columns [page 327].

PowerDesigner Web 326 PUBLIC Information Architecture ○ Keys - See Keys [page 329]. ○ Indexes - See Indexes [page 331].

6.2.12.1.1 Columns

A column is a set of values of a single type in a table. Each row of the table contains one instance of each column. You can create a column from its parent table property sheet or symbol.

Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Columns list.

Alternatively, select a table symbol and use the Add Column tool in its context pad. Entering a name for the column and pressing Tab allows you to specify its data type. You can continue pressing Tab to create columns as necessary. 2. Click the column name in the Columns list (or select it in the table symbol) to display its property sheet. 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Table Specifies the table which contains the column.

Data type/ Length/ ○ %n - length Precision ○ %s - length with precision ○ %p - decimal precision For example, the data type char(%n) , requires you to specify a length.

Use the tools to the right of the field to select or create an abstract data type for the column.

Domain Specifies the domain associated with the object (see Domains [page 335]). Use the tools to the right of this field to create or browse to a domain.

Primary key Specifies that the values in the column uniquely identify table rows (see Keys [page 329]).

Foreign key Specifies that the column depends on and migrates from a primary key column in another table (see Keys [page 329]).

PowerDesigner Web Information Architecture PUBLIC 327 Property Description

Sequence [if supported by your DBMS] Specifies the sequence associated with the column (see Sequen­ ces [page 339]).

With default [if supported by your DBMS] Specifies that the column must be assigned a value that is not null.

Computed [if supported by your DBMS] Specifies that the column is computed from an expression using values from other columns in the table. Enter an appropriate expression in the Computed expression field in the Info tab Detail section.

Mandatory [if supported by your DBMS] Specifies that a non-null value must be assigned.

Identity [if supported by your DBMS] Specifies that the column is populated with values generated by the database. Identity columns are often used as primary keys.

4. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal data Specifies the type of personal data that is being stored: level ○ [default] ○ Private (Identifying) - Information such as a name or id number that can di­ rectly identify an individual. ○ Sensitive - Information such as a salary or illness that an individual may not want known about them. ○ Quasi-Identifier - Information such as gender, age, or town that, while not suffi- cient to directly identify an individual, could do so if combined with other quasi-identifiers.

○ Detail - Contains the following properties:

Property Description

Null values, Distinct Specify the size and distinctness of data values that you expect to store in the column. You values, Average can specify: length ○ Null values - [Default: 0%] Specifies the percentage of values to leave empty. ○ Distinct values - [Default: 100%] Specifies the percentage of values that must be unique. ○ Average length - [read only] The default value is the maximum length for the data type defined for the column.

Computed expres­ Specifies an expression used to compute data for the column. sion

○ Standard Checks - Specifies the following data profiling properties:

PowerDesigner Web 328 PUBLIC Information Architecture Property Description

Minimum, Maximum, Specify the lowest and highest acceptable numeric values and the value assigned in the Default absence of an expressly entered value. You can set a: ○ Minimum - The lowest acceptable numeric value. ○ Maximum - The highest acceptable numeric value. ○ Default - The value assigned in the absence of an expressly entered value.

Format, Unit, No These properties are for documentation purposes only, and will not be generated. You Space, Cannot modify can choose a: ○ Format - For example, 9999.99 would represent a four digit number with two deci­ mal places. ○ Unit - A standard measure. ○ No space - Space characters are not allowed. ○ Cannot modify - The value cannot be updated after initialization.

Case Specifies the acceptable case for the data. You can choose between: ○ Mixed case [default] ○ Uppercase ○ Lowercase ○ Sentence case ○ Title case

List of values Specifies the various values that are acceptable.

Select the Complete check box beneath the list to exclude all other values not appearing in the list.

○ Additional Checks - Specifies any further data profiling constraints. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.12.1.2 Keys

A primary key contains one or more columns whose combined values uniquely identify every row in a table. Each table can have only one primary key, but can have any number of alternate keys, which similarly contain one or more columns whose combined values uniquely identify every row in a table. Foreign keys contain one or more columns whose values match a primary or alternate key in some other table.

PowerDesigner Web Information Architecture PUBLIC 329 Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Keys list.

2. Click the key name in the Keys list to display its property sheet. 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Table Specifies the name of the table where the key is defined.

Constraint name Specifies the name of the key constraint. A primary key constraint is a named check that enforces the uniqueness and the presence of values in a primary key column.

Primary key Specifies that the key is the primary key of the table. There can be only one primary key in a table, so selecting this key as the primary key will deselect any existing primary key.

Cluster Specifies that the key constraint is a clustered constraint (for those DBMSs that support clustered indexes).

4. The following additional sections are available on the Info tab:

○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the object is optimised and stored in the database in text form. You can edit the code by hand and, when you click outside the field, your changes will be validated (with any syntax errors indicated below the field). ○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical options as standard controls. Changes made in this section or the Physical Options section will be synchronized in the other section. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 5. Click the Children tab, expand the Columns list and select the columns to associate with the key.

PowerDesigner Web 330 PUBLIC Information Architecture 6.2.12.1.3 Indexes

An index is a data structure associated with one or more columns ordered by the column values. Indexes are typically created for columns that you are frequently searched on to improve response times.

Procedure

1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the Add tool above the Indexes list. 2. Click the index name in the Indexes list to display its property sheet. 3. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Owner [if supported by the DBMS] Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Table Specifies the table to which the index belongs.

Type [if supported by the DBMS] Specifies the type of index.

Unique Specifies that the index cannot contain duplicate values.

Cluster Specifies that the index is a clustered index. A table cannot have more than one clustered in­ dex.

Related Key Specifies that the index is based on the columns contained in the selected key.

4. The following additional sections are available on the Info tab:

○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the object is optimised and stored in the database in text form. You can edit the code by hand and, when you click outside the field, your changes will be validated (with any syntax errors indicated below the field). ○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical options as standard controls. Changes made in this section or the Physical Options section will be synchronized in the other section. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

PowerDesigner Web Information Architecture PUBLIC 331 5. Click the Children tab and create the following objects as necessary:

○ Index Columns - Click the Add tool to add columns from the parent table or the Create tool to create an expression.

6.2.12.2 Views

A view is a query that provides access to all or a subset of the data in a table or multiple tables connected by joins. PowerDesigner Web supports creating views based on sources selected in the diagram, via a selection dialog, or through entering SQL code and provides a graphical view of the data sources and joins on which the view depends.

Context

Procedure

1. Select the data sources for the view in one of the following ways:

○ Select one or more tables and views in the diagram and press Ctrl + Shift + V , or ○ Drag the View tool and drop it in the diagram. Click the Select View Sources tool in the symbol's context pad, select tables and views as sources for the view, and click Select, or ○ Enter SQL code in the SQL Query section on the Info tab.

The view properties are updated as appropriate: ○ The tables and views selected as sources are added to the read-only Referenced Objects list on the Dependencies tab. ○ All of the columns from the sources used in the view are added to the read-only Referenced Columns list on the Dependencies tab. ○ All of the columns in the final projection list are added to the read-only Columns list on the Children tab, and displayed in the view symbol. ○ The SQL Query section on the Info tab is updated with the necessary SQL code to define the view query.

PowerDesigner Web 332 PUBLIC Information Architecture 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Type [if supported by your DBMS] Specifies the type of the view.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Usage Specifies how the view will be used. You can choose between: ○ Query only - Consultation only. The view cannot update tables. ○ Updatable - Consultation and update of underlying tables. ○ With Check options - Implements controls on view insertions.

Dimensional type Specifies the type of view table for purposes of creating star or snowflake schemas containing fact tables and dimensions. You can choose between: ○ Fact ○ Dimension ○ Exclude - Do not consider as a multidimensional object.

Generate Selects the view for generation to the database.

3. Review the code in the SQL Query section and edit it as appropriate. When you click outside the field, your changes are validated (with any syntax errors indicated in the first line of the code) and the Referenced Objects, Referenced Columns, and Columns lists are updated as necessary. 4. Click the plus sign in the bottom center of the view symbol to enter the read-only view diagram.

The diagram shows the data sources on which the view depends and the joins linking them. Click a join symbol to see its SQL syntax. The following kinds of joins are represented graphically:

Symbol Join Type

Inner Join - Selects records that have matching values in both sources.

Left Join - Selects all records from the left table, matched records from the right table or null.

Right Join - Selects all records from the right table, matched records from the left table or null.

PowerDesigner Web Information Architecture PUBLIC 333 Symbol Join Type

Full Outer Join - Selects all records when there is a match in either the left or right table.

Cross Join - Produces a Cartesian product result set where the number of rows in the first ta­ ble multiplied by the number of rows in the second table.

Union/Union All - Combines two result sets with the same number of columns with compatible data types in the same order.

Minus/Except - Returns only unique rows from the first result set that are not in the second.

Intersect - Returns only rows returned by both result sets.

To return to the parent diagram, click the Previous View button.

5. The following additional sections are available on the Info tab:

○ Script - Specifies begin and end scripts for insertion directly before and after the object's creation statement. ○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the object is optimised and stored in the database in text form. You can edit the code by hand and, when you click outside the field, your changes will be validated (with any syntax errors indicated below the field). ○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical options as standard controls. Changes made in this section or the Physical Options section will be synchronized in the other section. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the SQL script that will be generated for the object.

PowerDesigner Web 334 PUBLIC Information Architecture 6.2.12.3 Domains

A domain specifies a data type, length, precision, mandatoriness, check parameters, and business rules and can be applied to multiple columns. You can define domains for columns of type ID, name, address, or any other kind of data whose use you want to standarize across multiples columns in your model.

Context

 Note

Domains are also supported for entity attributes in conceptual data diagrams (see Conceptual Data [page 193]).

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Domains. Click the Add tool to create a new domain in the list and then click its name to go to its property sheet.

Alternatively, on the property sheet of a column, click the Create tool to the right of the Domain field. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

Data type/ Length/ Specifies the form of data to be stored and, where appropriate, the maximum number of char­ Precision acters or numerals, and the maximum number of places after the decimal point. The following variables specify length and precision requirements: ○ %n - length ○ %s - length with precision ○ %p - decimal precision For example, the data type char(%n) , requires you to specify a length.

PowerDesigner Web Information Architecture PUBLIC 335 Property Description

Mandatory [if supported by your DBMS] Specifies that a non-null value must be assigned.

3. The following additional sections are available on the Info tab:

○ Standard Checks - Specifies the following data profiling properties:

Property Description

Minimum, Maximum, Specify the lowest and highest acceptable numeric values and the value assigned in the Default absence of an expressly entered value. You can set a: ○ Minimum - The lowest acceptable numeric value. ○ Maximum - The highest acceptable numeric value. ○ Default - The value assigned in the absence of an expressly entered value.

Format, Unit, No These properties are for documentation purposes only, and will not be generated. You Space, Cannot modify can choose a: ○ Format - For example, 9999.99 would represent a four digit number with two deci­ mal places. ○ Unit - A standard measure. ○ No space - Space characters are not allowed. ○ Cannot modify - The value cannot be updated after initialization.

Case Specifies the acceptable case for the data. You can choose between: ○ Mixed case [default] ○ Uppercase ○ Lowercase ○ Sentence case ○ Title case

List of values Specifies the various values that are acceptable.

Select the Complete check box beneath the list to exclude all other values not appearing in the list.

○ Additional Checks - Specifies any further data profiling constraints. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.12.4 Abstract Data Types

An abstract data type is a data type that can contain a list of attributes, each of which has its own data type. Once you create an abstract data type, you can select it as a data type for your table columns in symbols and

PowerDesigner Web 336 PUBLIC Information Architecture property sheets. A column that has an abstract data type as a data type displays a badge and its tooltip lists the names and types of the abstract data type attributes.

Context

For example, the Address structured type contains six attributes to fully define addresses:

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Abstract Data Types. Click the Add tool to create a new abstract data type in the list and then click its name to go to its property sheet. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Type Specifies the kind of the abstract data type, which will change the other properties that are availa­ ble.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

PowerDesigner Web Information Architecture PUBLIC 337 Property Description

Data type/ [tables, varrays] Specify the data type of the abstract data type. Length/Precision

Size [arrays] Specifies the size of the abstract data type array.

3. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. [objects, SQLJ objects] Click the Children tab and create the following objects as necessary:

○ Attributes - Specify a name and data type for each attribute.

6.2.12.5 Defaults

Default objects are named values that can be assigned to columns or domains. For example, if you must set a default value for all columns of type city, you can create a default object citydflt to assign the value London to it.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Defaults. Click the Add tool to create a new default in the list and then click its name to go to its property sheet.

Alternatively, on the property sheet of a column, click the Create tool to the right of the Default field. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

PowerDesigner Web 338 PUBLIC Information Architecture Property Description

Value Specifies the value that will be generated for the default object.

3. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.12.6 Sequences

Sequences are auto-incremented columns that allow you to define complex incrementations. Sequences are available for selection from the Sequence list on the General tab of column property sheets. Sequences are not supported by all DBMSs.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Sequences. Click the Add tool to create a new sequence in the list and then click its name to go to its property sheet.

Alternatively, on the property sheet of a column, click the Create tool to the right of the Sequence field. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of the list to create, browse for, or view the properties of the currently selected object.

3. The following additional sections are available on the Info tab:

○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the object is optimised and stored in the database in text form. You can edit the code by hand and, when you click outside the field, your changes will be validated (with any syntax errors indicated below the field). ○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical options as standard controls. Changes made in this section or the Physical Options section will be synchronized in the other section.

PowerDesigner Web Information Architecture PUBLIC 339 ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.2.12.7 Procedures and Functions

A stored procedure is a precompiled collection of SQL statements stored under a name and processed as a unit. A user-defined function is a form of procedure that returns a value to the calling environment for use in queries and other SQL statements.

Procedure

1. Drag the Procedure tool and drop it in the diagram. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Owner Specifies the name of the procedure owner.

Type Specifies whether the object is a procedure or function

3. The following additional sections are available on the Info tab:

○ Body - Specifies the SQL code for the procedure. ○ Script - Specifies begin and end scripts for insertion directly before and after the object's creation statement. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

PowerDesigner Web 340 PUBLIC Information Architecture 6.2.12.8 Users, Roles, and Groups

A user is a database object that identifies a person who can login or connect to the database. Groups and roles are used to simplify the granting of rights to users, as privileges and permissions granted to a group or role are inherited by users who belong to that group or incarnate that role.

Procedure

1. Click the View Selector control in the top toolbar and select Object Lists. Click the Select Variant arrow and select Users, Roles, or Groups. Click the Add tool to create a new object in the list and then click its name to go to its property sheet.

Alternatively, on the property sheet of an object that has an owner, click the Create tool to the right of the Owner field. 2. Enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Password [users and groups] Password used for database connection.

3. The following additional sections are available on the Info tab:

○ Privileges - Specifies the privileges granted to the user, role, or group. ○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 4. [roles, groups] Click the Dependencies tab and add users, roles, and groups to the role or group as necessary.

6.2.12.9 References

A reference is a link between a parent table and a child table, which defines a referential integrity constraint between column pairs for a primary or alternate key and a foreign key, or between user-specified columns. Each column pair is linked by a join, and each reference can contain one or more joins. Each value in the child table column is equal to the value in the parent table column.

PowerDesigner Web Information Architecture PUBLIC 341 Context

 Note

You can attempt to re-create all the references in the diagram by matching primary key columns to columns in other tables by code at any time by selecting Tools Rebuild References . This action can also be selected as an option when reverse-engineering (see Reverse-Engineering a Database [page 344]).

Procedure

1. Select the child table to display its context pad, click on the Link tool and drag and drop the end of the link on the parent table. 2. Click the reference to select it and enter the following properties in the property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more de­ tailed information about the object. By default the code is synchronized with the name. To de­ couple name-code synchronization, enter a new code in the Code field.

Parent table/ Child ta­ Specify the parent table (which contains the primary or alternate key or a user-selected col­ ble umn) and the child table (which contains the foreign key or a user-selected column) linked by the reference. Use the tools to the right of the Parent table field to create, browse for, or view the properties of the currently selected table.

Parent role/ Child role Specify the roles of the parent and child tables in the reference (for example Contains and Is contained by.

Generate Specifies to generate the reference in the database.

Parent key Specifies the parent table key on which to base the join. The value selected in this list autopo­ pulates the Reference Joins list on the Children tab. Alternatively, select and specify your own column pairs on which to base the join.

Auto arrange join or­ Sorts the Reference Joins (on the Children tab) in key column order. If this option is not se­ der lected, you can re-arrange the columns using the arrow buttons above the list.

3. Enter the following properties in the property sheet in the Info tab Integrity section:

PowerDesigner Web 342 PUBLIC Information Architecture Property Description

Constraint name Specifies the name of the referential integrity constraint. Maximum length is 254 charac­ ters. If you edit this name, the User-defined button will be depressed. To return to the de­ fault name, click to release this button.

Implementation Specifies how referential integrity will be implemented. You can choose between: ○ Declarative- Referential integrity constraints are defined for particular references. When the reference is generated the target DBMS evaluates the reference validity and generates appropriate error messages. ○ Trigger - Referential integrity constraints are implemented by triggers based on the in­ tegrity constraints defined in the reference property sheet. The trigger evaluates refer­ ence validity and generates appropriate user-defined error messages.

Cardinality Indicates the minimum and maximum number of instances in a child table permitted for each corresponding instance in the parent table. The following values are available by de­ fault: ○ 0..* - A parent can have zero or more children. ○ 0..1 - A parent can have zero or one children. ○ 1..* - A parent can have one or more children. ○ 1..1 – A parent must have exactly one child

Alternately, you can enter your own integer values in one of the following formats (using * or n to represent no limit): ○ x..y - A parent can have between x and y children. For example: 2..n – There must be at least 2 children. ○ x - A parent can have exactly x children. For example: 10 - There must be exactly 10 children. ○ x..y, a..b - A parent can have between x and y or between a and b children. For example: 1..2, 4..n – There must be one, two, four or more children.

Update/Delete constraint Specifies how updating a key value in the parent table will affect the foreign key value in the child table. Depending on the implementation and DBMS, you can choose between: ○ None - No effect on the child table. ○ Restrict - Values in the parent table cannot be updated or deleted if one or more matching child values exists. ○ Cascade - Updates or deletions of parent table values are cascaded to matching val­ ues in the child table. ○ Set null - Updates or deletions of parent table values set matching values in the child table to NULL. ○ Set default - Updates or deletions of parent table values set matching values in the child table to the default value.

Mandatory parent Specifies that each foreign key value in the child table must have a corresponding key value, in the parent table.

Change parent allowed Specifies that a foreign key value can change to select another value in the referenced key in the parent table.

PowerDesigner Web Information Architecture PUBLIC 343 Property Description

Check on commit [SQL Anywhere] Verifies referential integrity only on commit, instead of after row insertion. You can use this feature to control circular dependencies.

Cluster Specifies that the reference constraint is a clustered constraint (for those DBMSs that sup­ port clustered indexes).

4. [optional - HANA] To specify that your reference is a database association, use the following properties in the Detail section:

Property Description

Database association Specifies that the reference is a database association.

Join condition Specifies the join condition of the database association.

5. The following additional sections are available on the Info tab:

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. 6. Click the Children tab and review or specify reference joins by selecting parent and child table column pairs in the list or by using the following tools above the list: ○ Reuse Columns - Create a join by matching parent and child columns that share the same code and data type. ○ Migrate Columns - Specify columns in the Parent Table Column column and then click this tool to migrate them to foreign key columns in the child table. If the columns do not exist in the child table, they are created. ○ Cancel Migration - Remove any columns migrated to the child table.

6.2.13 Reverse-Engineering a Database

PowerDesigner Web supports reverse-engineering any supported database to a physical data model.

Procedure

1. Create or open a physical data model targeting the appropriate DBMS.

2. Select Menu Reverse-Engineer Database . 3. On the Info tab, select a reverse source:

○ Script - Click Browse, navigate to the .sql file you want to reverse, and click Open to select it.

PowerDesigner Web 344 PUBLIC Information Architecture ○ Database - Enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name or IP address and the port.

Database Enter the database server name and database name (if required by your DBMS).

 Note

When connecting to an Oracle database, enter the service name in the server name field.

Credentials Enter the user name and password.

Options Enter any additional connection options.

 Note

Drivers for SAP HANA and SAP SQL Anywhere databases are provided by default. Before you can reverse-engineer via connection to another database, contact your administrator and request them to install an appropriate JDBC driver.

4. Click Connect to connect to the database and display the Selection tab:

○ The top-left pane lists the users or schemas, with the connecting user (or its default schema) selected. ○ The bottom-left pane lists the categories of database objects available (including global objects), with the Tables category selected. ○ The right pane lists up to 100 objects in the selected category, with none selected for reverse. 5. [database] Select the objects that you want to reverse either individually or in the category or panel list header.

 Note

Only the objects listed can be selected for reverse. By default 100 objects are listed in each category. To list further objects, scroll to the bottom of the list and click More.

The cart tool at the bottom of the dialog updates with the total number of objects selected. You can, at any time, click the cart tool to review the objects selected for reversing. 6. [database] [optional] Click the Options tab and review the options to control what information is reversed. Deselecting options to prevent the reverse of unnecessary information can improve performance:

Option Description

Primary and alternate keys [tables] Reverse table primary and alternate keys. Selected by default.

Foreign keys [tables] Reverse table foreign keys. Selected by default.

PowerDesigner Web Information Architecture PUBLIC 345 Option Description

Rebuild references when [tables] PowerDesigner Web will attempt to re-create references between tables by none are reversed matching primary key columns to columns in other tables by code.

Indexes [tables, views] Reverse indexes. Selected by default.

Triggers [tables] Reverse table triggers.

Checks [tables] Reverse table constraints.

Physical options Reverse physical options. Deselected by default.

Reverse tables referenced [tables] Extends the selection of tables to be reversed to include any tables referenced by selected tables by those you have selected.

7. Click the Referenced Models tab and specify models to search for objects referenced by shortcuts in your model. PowerDesigner Web searches to match the object in any referenced models based on schema, name, and code and creates a shortcut to it. If the object cannot be found, no shortcut is created. 8. Click Reverse to begin reversing objects.

If your model already contains objects, a window showing the changes that will be merged to your model opens. Review the changes (see Reviewing Updates From a Reverse [page 346]) and then click Save to complete the reverse. 9. Review your reversed objects. When reversing a .sql file, if errors are encountered, a log file is generated and downloaded in your Browser.

 Note

Following a reverse-engineering, object codes are no longer synchronized with names, to allow you to provide human readable names for your tables and other objects without changing their underlying SQL codes (see Object Names and Codes [page 76]).

10. Save and publish your model to make it available to other users (see Publishing Models [page 61]).

6.2.13.1 Reviewing Updates From a Reverse

If you reverse objects from a database into a non-empty model, an update dialog opens to allow you to review the changes that will be made to your model. You can accept or reject each update individually before continuing with the reverse.

Every difference between the model and the database is treated as an action that must be performed on the model to make it consistent with the database. You can select or deselect individual actions in order to obtain only the updates you want.

● In the diagram panels: ○ The simulated database diagram is displayed in the left panel and the local model version in the right panel. Differences are color-coded as follows: ○ Create actions - [Green (right panel only)] By default, any object that is absent in the model and present in the database will be created (the create action is selected).

PowerDesigner Web 346 PUBLIC Information Architecture ○ Update actions - [Orange (both panels)] By default, where a property has a different value in the database and the model, the database property has priority (the update action is selected). ○ Delete actions - [Red (left panel only)] By default, any object that is present in the model and absent in the database will be preserved (the delete action is unselected). ○ Click an object in either panel to select it in the list of changes. ○ Click and drag to move around the diagram. Use your mouse wheel to zoom in and out. Click the Show Overview arrow in the bottom-right corner to display the Overview panel, which helps you navigate in large diagrams. ○ Review or add comments in the right panel (see Commenting on Diagrams [page 20]). ● In the bottom toolbar: ○ Click the filter tool to control the display of creations, changes, symbol changes (including creation and deletion of symbols), and deletions. ○ Click the left or right arrows to go to the next or previous change. ○ Click the change text itself to display the list of changes. ○ Click Close to return to the Diagram Viewer. ● In the top toolbar: ○ Click the Previous View tool to cancel the update and go back to the diagram. ○ Click the Properties tool to display the Compare Properties panel, which shows the Initial Properties, the Changes to them, and the New Properties of the selected object. ○ Click the Show Comments tool to open the Comments panel and review or add comments (see Commenting on Diagrams [page 20]). Select an object in the diagram to show only the comments attached to it, or click the diagram background to show all the comments. ○ Select Menu Impact and Lineage Analysis to open an analysis diagram in a new tab (see Impact and Lineage Analysis [page 63]).

6.2.14 Generating to a Database

PowerDesigner Web supports generating certain DBMS models to a SQL script or directly to the database.

Context

PowerDesigner Web supports database generation for the following non-HANA DBMSs:

● SAP Big Data Services ● Oracle v12c ● Hadoop Hive 2 ● Microsoft SQL Server 2016

 Note

For information about generating to HANA, see Generating HDI Files [page 246] and Generating to a HANA Database [page 263].

PowerDesigner Web Information Architecture PUBLIC 347 Procedure

1. In your model, select Menu Generate Database . 2. On the Info tab, select a generation target:

○ Script - [optional] Modify the filename of the zip file to be generated. The file will be downloaded in your browser. ○ Database - Enter the following parameters and click Connect:

Parameter Description

Server Enter the full server name (or IP address) and the port.

Database Enter the database server name and database name (if required by your DBMS).

 Note

When connecting to an Oracle database, enter the service name in the server name field.

Credentials Enter the user name and password.

Additional Options Enter any other appropriate connection parameters.

○ Git - Enter the full path to the Git repository folder to which you want to generate, enter your Git username and password, specify the branch, enter a commit message and an email address to notify.

3. [optional] Click the Options tab and review the generation options that are selected. 4. [optional] Click the Preview tab and review the code to be generated. 5. Click Generate to generate your model.

6.2.15 Generating a PDM to a New PDM

PowerDesigner Web supports generating a physical data model (PDM) to a new physical data model. You can use model generation to help migrate from one DBMS to another. For example, you could reverse-engineer an Oracle database to a model, generate the model to an SAP HANA 2.0 HDI model, and then generate this second model to HANA.

Context

 Note

You can also generate a conceptual data model (CDM) to a PDM (see Generating a CDM to a PDM [page 208]).

PowerDesigner Web 348 PUBLIC Information Architecture Procedure

1. Open the database model from which you want to generate a new model. 2. If the model is not already editable, click the Edit tool.

3. Select Menu Generate Model .

If there are unsaved changes in your model, you will be prompted to save. 4. Select the folder that you want to generate the model to and specify a name for it.

 Note

You can only generate to a new model. You cannot update an existing model.

5. Select the DBMS that you want to generate to in the Type field. 6. [generating to SAP HANA 2.0 HDI] Use the Generate Tables as parameter to specify whether to generate CDS Entities (default) or HDB Tables. This option has the following effects:

Source PDM Objects Generate Tables as CDS Entities Generate Tables as HDB Tables

Tables CDS Entities Tables

Views [not generated] SQL Views

Structured Types CDS Structured Types Table Types

7. Click Generate to generate the model.

The generated diagram opens in a new tab and is added to your workspace in the My Draft Diagrams section. 8. Make any appropriate edits to the generated diagram and then publish it to make it available to other users (see Publishing Models [page 61]).

6.2.16 Generating Models using the CSN notation

You can use reverse-engineer objects from different sources or design them in PowerDesigner Web models, then generate content from these models using CSN notation (Core Schema Notation) in order to import your objects in Web IDE.

You can select Menu Generate CSN File to generate you model objects in CSN file and download this file.

Generating objects from a SAP HANA 2.0 HDI physical model

If you specified a namespace in your diagram, it will be used as a prefix for the generated name for objects. If your object names and code are different, the name of the object is specified as a @Common.Label. For example, if your diagram has a Overseas.Operations namespace and contains two entities named International Shipping and Storage, the following code will be generated in the .CSN file:

PowerDesigner Web Information Architecture PUBLIC 349  Sample Code

{

"namespace": "Overseas.Operations", "definitions": { "Overseas.Operations.International_Shipping": { "kind": "entity", "@Common.Label": "International Shipping", "elements": { "Shipping_Company_Name": { "@Common.Label": "Shipping Company Name", "type": "cds.String", "length": 25 }, "Shipping_Company_ID": { "@Common.Label": "Shipping Company ID", "key": true, "type": "cds.Integer", "notNull": true } } }, "Overseas.Operations.Storage": { "kind": "entity", "elements": { "Storage_Company_Name": { "@Common.Label": "Storage Company Name", "type": "cds.String", "length": 25 }, "Storage_Company_ID": { "@Common.Label": "Storage Company ID", "key": true, "type": "cds.Integer", "notNull": true } } } },

You can generate the following objects from a SAP HANA 2.0 HDI physical data model:

● Contexts (the context name is used as a prefix in the name of its child objects, for example an object named Order and located inside context named Sales will be named Sales.Order) ● Entities ● Tables (generated as entities) ● Associations between entities ● Associations between tables (only if Unmanaged association with a join condition specified) ● Standard data types and structured data types ● Entity extensions ● Packages content (objects located inside packages are be generated as if they were located at root level of diagram)

PowerDesigner Web 350 PUBLIC Information Architecture Generating objects from a physical model other than SAP HANA 2.0 HDI

You can generate the following objects:

● Tables ● Columns ● Data types ● References ● Keys ● Packages content (objects located inside packages are be generated as if they were located at root level of diagram)

6.3 NoSQL

NoSQL models help you design, analyze, and document the JSON structures that are accepted and generated by your systems. You can reverse-engineer JSON schemas (or derive them from JSON documents) and generate JSON schema files. PowerDesigner Web supports the creation of NoSQL JSON Schema models manually, or by reverse-engineering of a schema or sample data file. You can model JSON artifacts and generate JSON schema and sample data files.

To create a NoSQL JSON Schema model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select NoSQL Document Schema (JSON), and click Create.

The following tools are available in JSON NoSQL document schema diagrams:

Tool Details

Documents. See Document Schemas (NoSQL) [page 352].

PowerDesigner Web Information Architecture PUBLIC 351 Tool Details

Objects. See Complex Structures (NoSQL) [page 353].

Arrays. See Complex Structures (NoSQL) [page 353].

MultiTypes. See Complex Structures (NoSQL) [page 353].

Link

Package. See Packages [page 369].

Area. See Areas [page 368].

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

6.3.1 Document Schemas (NoSQL)

A document schema is the root of your JSON structure. You can add one or more document schemas to your diagram.

Procedure

1. Drag the Document tool from the toolbox and drop it onto your diagram. 2. Enter a name for the document and then enter the following properties in its property sheet in the Info tab General section:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the ob­ ject. By default the code is synchronized with the name. To decouple name-code synchronization, en­ ter a new code in the Code field.

PowerDesigner Web 352 PUBLIC Information Architecture Property Description

Property Specifies the root object, array, or multitype object for the document.

JSON Schema Specifies the version of the JSON Schema specification that the schema is written to. URI Default: http://json-schema.org/draft-04/schema#

JSON Schema Specifies the unique identifier for the JSON schema. ID

3. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal Data Specifies that personal data, which may need to be anonymized or be subject to special regula­ tion, is being stored.

Retention Specifies the period for which the data should be retained.

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository. ○ Preview - Displays the code that will be generated for the object.

4. Select the document schema symbol and then click the Object, Array, or Multitype tool in its toolbar to create its root property.

A document schema can contain only one root property. 5. Review the JSON schema in textual form at any time in the Info tab Preview section.

6.3.2 Complex Structures (NoSQL)

The root property of your document schema must be a JSON object, array, or multitype. Each of these complex structures can itself contain any number of complex or primitive properties.

Procedure

1. Select the symbol of the JSON element to which you want to add the complex property and click the appropriate tool in its context toolbar.

PowerDesigner Web Information Architecture PUBLIC 353 Tool Description

Property - Create a JSON primitive, such as a string, boolean, or numeric value, or reuse an exist­ ing complex structure. Enter a name and then press Tab and select a data type from the list. You can select from:

○ boolean ○ integer / number / number(%n) / number(%s,%p) - A numerical value with, optionally, a length, or a length and precision. ○ string / string (%n) - A textual value with, optionally, a length. ○ Any existing object, array, or multitype property in the model.

Object - Create a new object property. Objects can contain any number of child properties of any type.

A new property is created in the list in the symbol and is linked to a new object symbol. Enter a name in the object symbol, and then add child properties to it.

Array - Create a new array property. Arrays can contain any number of child properties of any type.

A new property is created in the list in the symbol and is linked to a new array symbol. Enter a name in the array symbol, and then add child properties to it.

Multitype - Create a new multitype property. Multitypes represent a property that is valid if it contains any one of the specified data types.

A new property is created in the list in the symbol and is linked to a new multitype symbol. Enter a name in the multitype symbol, and then add possible data types to it. Possible data types in a multitype are represented as child properties without a name displayed.

2. The following properties are available on the Info tab: ○ General - Specifies the name and purpose of the object:

Name Description

Name/Code/ Identify the object. Comment Generated as: ○ Name generated as JSON Schema keyword title ○ Comment generated as JSON Schema keyword description

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal Data Specifies that personal data, which may need to be anonymized or be subject to special regula­ tion, is being stored.

Retention Specifies the period for which the data should be retained.

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution.

PowerDesigner Web 354 PUBLIC Information Architecture ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

3. Select the new symbol and specify the child properties of the object, array, or multitype.

Child properties are displayed on the symbol and listed on the property sheet Children tab.

6.3.3 Properties (NoSQL)

Your objects, arrays, and multitypes can contain any number of JSON properties, which can contain a string, boolean, or numeric value, or reuse an existing complex structure.

Procedure

1. Select the symbol of the JSON element to which you want to add the property and click the Property tool in its context toolbar.

2. Enter a name and then press Tab and select a data type from the list. You can select from:

○ boolean ○ integer / number / number(%n) / number(%s,%p) - A numerical value with, optionally, a length, or a length and precision. ○ string / string (%n) - A textual value with, optionally, a length. ○ Any existing object, array, or multitype property in the model. 3. Enter the following properties in the property sheet in the Info tab General section:

Name Description

Name/Code/ Identify the object. Comment Generated as: ○ Name generated as JSON Schema keyword title ○ Comment generated as JSON Schema keyword description

Parent Specifies the parent element of the property.

Data Type Specifies the data type of the property. This can be a simple string, numeric, or boolean prop­ erty, or any object, array, or multitype property defined in the model.

Length / Precision [numeric properties] Specifies the length and precision of the property.

No JSON schema keyword associated.

Default Value Specifies the default value that is generated if the property is not specified.

Generated as JSON Schema keyword default

PowerDesigner Web Information Architecture PUBLIC 355 Name Description

Mandatory Specifies that the property must have a value.

Generated as JSON Schema keyword required

Identifier Specifies that the property serves as an identifier.

No JSON schema keyword associated.

Sample Data Specifies sample data for the property. You can preview the JSON sample data in the document schema Preview section, or on the Preview tab when generating a schema.

4. The following additional sections are available on the Info tab:

○ Data Protection - Identifies the storage of personal data:

Property Description

Personal data Specifies the type of personal data that is being stored: level ○ [default] ○ Private (Identifying) - Information such as a name or id number that can di­ rectly identify an individual. ○ Sensitive - Information such as a salary or illness that an individual may not want known about them. ○ Quasi-Identifier - Information such as gender, age, or town that, while not suffi- cient to directly identify an individual, could do so if combined with other quasi-identifiers.

○ Standard Checks - [primitive properties] Specifies the following properties to define the data that is valid for the property:

Name Description

Minimum / Maxi­ [numeric properties] Specify the minimum and maximum size of the data. mum Generated as: ○ Minimumminimum ○ Maximum generated as JSON Schema keyword maximum

Format [string properties] Specifies the required format for the data. The following standard for­ mats are supported: ○ date / time / datetime ○ email ○ phone ○ hostname ○ ipv4 / ipv6 ○ uri / uuid

Generated as JSON Schema keyword format

PowerDesigner Web 356 PUBLIC Information Architecture Name Description

Pattern Specifies a regular expression to which the data must match.

Generated as JSON Schema keyword pattern

Unit Specifies a standard unit measure.

No JSON schema keyword associated.

No Space Specifies that space characters are not allowed.

No JSON schema keyword associated.

Cannot Modify Specifies that the value cannot be updated after initialization.

No JSON schema keyword associated.

Case [string properties] Specifies the required case for the string data.

No JSON schema keyword associated.

List of Values Specifies a list of accepted values.

No JSON schema keyword associated.

Complete Specifies that only listed values are accepted.

No JSON schema keyword associated.

○ Definition - The Description field provides detailed information about the object, while Annotation can be used to keep track of its evolution. ○ Version Info - Provides information about the creation, modification, and location of the object in the repository.

6.3.4 Reverse-Engineering JSON Schemas

PowerDesigner Web supports reverse-engineering a JSON schema (or JSON data files from which to derive a schema) as a document schema in a NoSQL diagram.

Context

To derive a NoSQL diagram from a JSON data file, select Menu Reverse-Engineer JSON Data , navigate to the file you want to import, and click Open.

PowerDesigner Web Information Architecture PUBLIC 357 Procedure

1. Select Menu Reverse-Engineer JSON Schema Files . 2. On the Info tab, click Browse, navigate to the .json file you want to reverse (or to a .zip file containing .json JSON schema files), and click Open to select it. 3. Click Reverse to begin importing the files.

PowerDesigner Web creates the objects in the model.

6.3.5 Generating JSON Schemas

PowerDesigner Web supports generating JSON schema files from your model along with sample JSON data files.

Procedure

1. Select Menu Generate JSON Schema Files . 2. On the Info tab, select a generation target:

○ Files - [optional] Modify the filename of the zip file to be generated. The file will be downloaded in your browser. ○ Git - Enter the full path to the Git repository folder to which you want to generate, enter your Git username and password, specify the branch, enter a commit message and an email address to notify. 3. [optional] Click the Preview tab and review the code to be generated. 4. Click Generate to generate the files.

PowerDesigner Web generates a zip file containing a JSON schema file and a sample JSON data file for each schema document in the model.

6.4 Data Movement

Data movement models help you design and analyze the transfer of data between data stores, and the transformations that they undergo on the way. You can reverse-engineer flowgraph files from and generate them to SAP Web IDE. PowerDesigner Web supports the creation of data movement diagrams manually or by reverse-engineering of FlowGraph files. You can model ETL flows and generate FlowGraph files for import to Web IDE for activation.

PowerDesigner Web 358 PUBLIC Information Architecture To create a data movement model, click the Create New Model command in the homepage Quick Links card (see Creating a Model [page 11]), enter a name, select Data Movement, and click Create.

The following tools are available in data movement diagrams:

Tool Details

Database Inputs. See Database Inputs [page 360].

Data Transformation Steps. See Data Transformation Steps [page 360].

Database Outputs. See Database Outputs [page 363].

Link

File. See File Objects [page 370].

Note. Add notes to your diagram and link them to your symbols.

Lasso. Select multiple symbols by dragging over them.

 Note

PowerDesigner Web can display data movement models created using SAP PowerDesigner desktop and stored in the repository. We do not recommend workflows which mix editing in the desktop client and in PowerDesigner Web

PowerDesigner Web Information Architecture PUBLIC 359 6.4.1 Database Inputs

A database input defines the initial table or other database object that is a source in the data movement diagram.

Procedure

1. Prepare the physical data model (see Physical Data (Databases) [page 217]) for the input containing the object you want to access and publish it in the repository. 2. In your data movement diagram, drag the Database Input tool and drop it where you want to create the input.

The object picker opens to allow you to specify the database object that is the content of the input. You can choose one of the following: ○ HANA Database (or other DBMS) table ○ HANA Database (or other DBMS) view ○ HDI datastore ○ HDI CDS entity ○ HDI virtual table ○ HDI calculation view 3. Navigate to the folder or model where your source object is located, select it and click Select to close the picker and associate it with the database input. 4. [optional] On the Children tab, expand the Data Structure Columns section and edit the list as follows:

○ Use the Delete tool to remove columns from the outgoing flow (you can use the Add tool to add back columns you have deleted). ○ Use the Move Up and Move Down arrows to reorder columns for the outgoing flow. ○ Change the name or data type of one or more columns for the outgoing flow. ○ Use the Create tool to create a new column for the outgoing flow. 5. Use the data input symbol's toolbar to create a transformation step (see Data Transformation Steps [page 360]).

6.4.2 Data Transformation Steps

Data transformation steps transform the incoming data flow and prepare an outgoing data flow for the next step or the database output.

Procedure

1. Select a database input or transformation step, and click the appropriate tool in its toolbar to create a new transformation step.

PowerDesigner Web 360 PUBLIC Information Architecture The step is created and all the columns from the previous element are recreated in it.

The following types of transformation steps are available:

Tool Details

Data Projection - Change the order or name of columns, or remove columns.

On the projection property sheet Children tab, expand the Data Structure Columns list, and make the necessary changes to the columns.

Data Joins - Combine two or more input flows and specify the join criteria.

Select a second element and click and drag its Link tool to connect it as an input to the join step.

On the join property sheet Children tab, expand the Joins list, and click the Add tool to create a join condition to join your data by. Select a column from each input flow to join on and select the join expression by which to compare them.

Data Filters - Filter the data based on criteria.

In the filter property sheet Info tab, expand the Criteria section, and specify the criteria on which to filter the data.

Data Aggregations - Calculate a sum, average, or other aggregation of the data.

In the aggregation property sheet Children tab, expand the Data Structure Columns section: ○ Choose the column to group by when calculating the aggregation and select GROUP BY in the Aggregation Function column. ○ Choose an aggregation function for one or more of the other columns. You can choose from: ○ AVERAGE() ○ COUNT() ○ LIST() ○ MAX() ○ MIN() ○ SUM()

Data Unions - Merge two input flows into a single flow.

Select a second element and click and drag the Link tool to connect it to the union step.

Columns from the input flows are merged in order.

Data Sorts - Sort the data by the values in one or more columns.

In the sort property sheet Children tab, expand the Sort Columns section, and click the Add tool to select one or more columns to sort your data by. Click Select to add the columns to the list, reor­ der them as appropriate and select whether each column is sorted in ascending or descending or­ der.

Data Splits - Duplicate a single input data flow into two or more identical output data flows.

Use the data split toolbar to create two following transformation steps, both of which can continue in parallel for as long as appropriate.

PowerDesigner Web Information Architecture PUBLIC 361 Tool Details

Data Query Transform - Perform various simple transformations in a single step.

Specify the required transformations as appropriate: ○ Filter - On the Info tab, expand the Criteria section, and specify the criteria on which to filter the data. ○ Aggregation - On the Children tab, expand the Data Structure Columns section, and specify a group by column and an aggregation function for one or more columns. ○ Join - On the Children tab, expand the Joins section, and click the Add tool to create a join con­ dition to join your data by. Select a column from each input flow to join on and select the join expression with which to join them. ○ Sort - On the Children tab, expand the Sort Columns section, and click the Add tool to select one or more columns to sort your data by. Click Select to add the columns to the list, reorder them as appropriate and select whether each column is sorted in ascending or descending order.

Script Execution - Executes a script on the input flow.

In the script execution property sheet Info tab, expand the Script section, specify the script lan­ guage and then enter the script to execute.

2. [optional] On the General tab, enter a name to identify the step and a comment to explain its purpose. 3. [optional] On the Children tab, expand the Data Structure Columns section and edit the list as follows:

○ Use the Delete tool to remove columns from the outgoing flow (you can use the Add tool to add back columns you have deleted). ○ Use the Move Up and Move Down arrows to reorder columns for the outgoing flow. ○ Change the name or data type of one or more columns for the outgoing flow. ○ [data projection or script execution] Use the Create tool to create a new column for the outgoing flow. 4. [optional] On the Info tab, expand the Mappings section and review the mappings between the source columns that enter and the target column that leave the step after the transformation.

[data projection or script execution] Drag and drop source elements onto target elements to create new mappings. Use the Delete tool to remove a selected mapping. 5. [optional] Select the data flow leading to the step and, on its General tab, expand the Condition section and specify a condition, which must be fulfilled before data can flow to the following step. You can specify an alias for the condition, which is displayed in the diagram, and an expression to fully define the condition. 6. Select the transformation step symbol and use its toolbar to create the next step or a database output (see Database Outputs [page 363]).

PowerDesigner Web 362 PUBLIC Information Architecture 6.4.3 Database Outputs

A database output defines the final table or other database object that is the target in the data movement diagram.

Procedure

1. Prepare the physical data model (see Physical Data (Databases) [page 217]) for the output containing the object you want to access and publish it in the repository. 2. In your data movement diagram, click the Database Output tool in the final data transformation step to create the output.

The object picker opens to allow you to specify the database object that is the content of the output. You can choose one of the following: ○ HANA Database (or other DBMS) table ○ HDI CDS entity ○ HDI datastore ○ HDI virtual table 3. Navigate to the folder or model where your target object is located, select it and click Select to close the picker and associate it with the database output.

Data structure columns in the final transformation step are mapped by code to the columns in the database output.

6.4.4 Reverse-Engineering FlowGraph Files

PowerDesigner Web supports reversing SAP HANA FlowGraph files exported from Web IDE into your model.

Procedure

1. Create a Data Movement diagram.

2. Select Menu Reverse-Engineer FlowGraph File . 3. On the Info tab, click Browse, navigate to the .hdbflowgraph file you want to reverse, and click Open to select it. 4. Click the Referenced Models tab and select models that should be searched for objects referenced by objects in the files being imported. 5. Click Reverse to begin importing the files.

PowerDesigner Web creates the objects in the model as follows:

PowerDesigner Web Information Architecture PUBLIC 363 FlowGraph Object PowerDesigner Web Object

Data Source Database Input

Date Generation Script Execution

Row Generation

Data Target Database Output

Projection Data Query Transform

Aggregation Data Aggregation

Join Data Join

Union Data Union

Case Data Split + two or more Data Flows with conditions

Lookup Data Lookup

Data Mask Script Execution

History Preserving

Map Operation

Table Comparison Script Execution

Procedure

Cleanse Script Execution

Geocode

6.4.5 Generating FlowGraph Files

PowerDesigner Web supports generating SAP HANA FlowGraph files from your model for import into Web IDE.

Procedure

1. In your Data Movement diagram, select Menu Generate FlowGraph File . 2. On the Info tab, select a generation target:

○ Files - [optional] Modify the filename of the zip file to be generated. The file will be downloaded in your browser. ○ Git - Enter the full path to the Git repository folder to which you want to generate, enter your Git username and password, specify the branch, enter a commit message and an email address to notify.

PowerDesigner Web 364 PUBLIC Information Architecture 3. Click Generate to generate the file.

PowerDesigner Web generates a .hdbflowgraph file. Objects are exported as follows:

PowerDesigner Web Object FlowGraph Object

Database Input Data Source

Data Projection Projection

Data Join Join

Data Filter Projection

Data Aggregation Aggregation

Data Union Union

Data Sort Not exported. Skip data sort and redirect the data flow to the next step.

Data Split Not exported. Skip data split and redirect the data flow to the next step.

Data Lookup Not exported.

Data Query Transform Join + Projection + Aggregation as necessary.

Script Execution Export not supported

Database Output Data Target

Data Flow with condition Case with two or more outgoing flows

Step other than join or union with multiple incoming flows Insert a Join before the step

6.5 Identifying and Documenting Personal Data

Organizations are increasingly concerned to identify and document where and how they are storing, processing, and retaining personal data, in order to be in compliance with the European Union General Data Protection Regulation (GDPR) and other recent legislation.

PowerDesigner Web can help you document your organization's use of personal data across your information architecture through the Data Protection sections on the General tab of the property sheets of objects in:

● Conceptual Data Models: ○ Entities - See Entities [page 194]. ○ Attributes - See Attributes [page 196]. ● SAP HANA HDI Physical Data Models:

PowerDesigner Web Information Architecture PUBLIC 365 ○ SAP HANA HDI Entities - See Entities (HDI) [page 227]. ○ SAP HANA HDI Elements - See Elements (HDI) [page 229]. ○ SAP HANA HDI Calculation View Columns - See Calculation View Columns (HDI) [page 239]. ● Other Physical Data Models: ○ Tables - See Tables [page 325]. ○ Columns - See Columns [page 327]. ● NoSQL JSON Schema Models: ○ Document Schemas - See Document Schemas (NoSQL) [page 352]. ○ Complex Properties - See Complex Structures (NoSQL) [page 353]. ○ Properties - See Properties (NoSQL) [page 355].

PowerDesigner Web 366 PUBLIC Information Architecture 7 Common Objects

You can create these objects in any diagram unless specified otherwise.

7.1 Business Rules

A business rule is a written statement specifying what a system must do or how it must be structured. Rules can be derived from a government-imposed law, a customer requirement, or an internal guideline. You can attach rules to your model objects to complement your diagrams with information that is not easily represented graphically.

For example, a rule stating that "An employee belongs to only one division." can help you graphically build the link between an employee and a division. Rules often start as simple observations that develop, during the design process, into more detailed expressions. You may, for example, develop rules to explicitly define what information a customer supplies when placing an order, or how much a customer can spend based on a credit limit.

Rules can be developed from procedures that the system must respect, specifications dictating the scope of the project, and external constraints.

You can create a business rule in any type of model/diagram:

1. Navigate to the model property sheet by clicking the Model link in a diagram property sheet. 2. Click the Children tab. If the Business Rules list is not visible, add it by clicking the Show/Hide Section tool and selecting Business Rules. 3. Click the + button above the Business Rules list and then click its name link to open its property sheet and complete any appropriate properties.

Business rules can have the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is synchronized with the name. To decouple name-code syn­ chronization, enter a new code in the Code field.

PowerDesigner Web Common Objects PUBLIC 367 Property Description

Type Specifies the nature of the business rule. You can choose between:

● Constraint – a check constraint on a value. In a PDM, constraint business rules can be gener­ ated in the database. For example, "The start date should be inferior to the end date of a project." ● Definition – a property of the element in the system. For example; "A customer is a person identified by a name and an address". ● Fact – a certainty in the system. For example, "A client may place one or more orders". ● Formula – a calculation. For example, "The total order is the sum of all the order line costs". ● Requirement – a functional specification. For example, "The model is designed so that total losses do not exceed 10% of total sales". ● Validation – a constraint on a value. For example, "The sum of all orders for a client must not be greater than that client's allowance".

Server expression/ Though business rules typically start out as descriptions, as you develop your model and analyze Client expression your business problem, you can enrich them by adding technical expressions.

7.1.1 Attaching a Business Rule to an Object

You can attach business rules to your model objects on the Dependencies tab of the object's property sheet.

Procedure

1. In Edit mode, open the property sheet of the object and click the Dependencies tab. 2. If the list of associated business rules is not visible, click the Show/Hide Section tool and select the Associated Business Rules list. 3. Click the Add tool at the top of the Associated Business Rules list, and use the Search dialog to select the object to be linked to (see Referencing an Object in an Info Tab Property Field [page 55]). The business rule is now attached to the object. You can navigate to it from the list on the object's Dependencies tab. You can navigate from the rule to the object from the list of Attached Objects on the rule's Dependencies tab.

7.2 Areas

An area is an abstract object that can group together other objects. The objects do not belong to the area and are just grouped in it.

In this example, the Cloud area groups various systems together:

PowerDesigner Web 368 PUBLIC Common Objects

To create an area, drag the Area tool and drop it in empty space or in an existing area. You can add any kind of object to an area.

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the object. By default the code is generated from the name by applying the naming conven­ tions specified in the model options. To decouple name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add ster­ eotypes to the list by specifying them in an extension file.

The following tabs contain additional information:

● Children - Lists sub-areas. ● Dependencies - Lists objects grouped by the area and other objects it depends on or impacts.

7.3 Packages

Packages can be used to organize your model into different tasks and subject areas, and to assign parts of it to different development teams. Each package has a default diagram, and you can add further diagrams, model objects, and sub-packages. You can create as many packages as you need in a model and decompose a package into other packages, and so on.

To create a package, drag the Package tool tool and drop it in empty space. To go into the package diagram and create objects in it, double-click the package symbol or use the breadcrumbs in the toolbar above the diagram panel.

PowerDesigner Web Common Objects PUBLIC 369 The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the ob­ ject. By default the code is synchronized with the name. To decouple name-code synchronization, en­ ter a new code in the Code field.

Default diagram Specifies the diagram to display by default when you open the package.

Use parent name­ Specifies that the package does not represent a separate namespace from its parent and thus that space objects created within it must have names that are unique within the parent container. If this property is not selected, then the package and its parent package or model can both contain objects that are called Object A.

The following tabs contain additional information:

● Children - Lists objects contained in the package. ● Dependencies - Lists objects that the package depends on or impacts.

7.4 File Objects

You can embed any application file in your model or provide a link to it. For example you could include a detailed description of your problematic by pointing to a text or Word file from your model. The file itself can be embedded in the model or referenced by it.

To create a file, drag the File tool and drop it in empty space.

The following properties are available on the Info tab in the General category:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally include spaces. You can optionally add a comment to provide more detailed information about the ob­ ject. By default the code is synchronized with the name. To decouple name-code synchronization, enter a new code in the Code field.

Location type Specifies the nature of the file object. You can choose from the following:

● Embedded file – the file is stored within the model and is saved when you save the model. If you subsequently change the type to external, you will be warned that the existing contents will be lost. ● URL – the file is on the web and you must enter its URL in the Location field

Location Specifies the path or URL to the file.

PowerDesigner Web 370 PUBLIC Common Objects Property Description

Extension Specifies the extension of the file object. By default, the extension is set to txt.

Generate Specifies to generate the file object when you generate the model to another model.

Artifact Specifies that the file object is not a piece of documentation, but rather forms an integral part of the application.

The following tabs contain additional information:

● Dependencies - Lists objects that the file depends on or impacts.

7.5 Traceability Links

Traceability links provide a flexible means for creating a connection between any object in any type of diagram and any other object in the diagram or anywhere in the repository. Traceability links have no formal semantic meaning, but can be followed when performing an impact analysis or otherwise navigating through the model structure.

To create a traceability link between objects in an enterprise architecture diagram, use the Link tool. If a different type of link is created by default, click on the link and then click the Type tool to change the type to Traceability Link. In this example, the Advanced Analysis Techniques business capability depends on the Gamma system via a traceability link:

To create a traceability link in any type of diagram, between any object and any other object in the repository:

1. Select the object to display its property sheet and click the Dependencies tab. 2. Click the Add tool at the top of the Outgoing Traceability Links list, and use the Search dialog to select the object to be linked to (see Referencing an Object in an Info Tab Property Field [page 55]). 3. [optional] Enter a type in the Link Type column of the list to indicate the type of relation between the objects.

Every object has two lists on the Dependencies tab that show the traceability links connected to it:

● Outgoing Traceability Links - Lists all the objects that the object points to with traceability links. ● Incoming Traceability Links - Lists all the objects that point to the object with traceability links.

PowerDesigner Web Common Objects PUBLIC 371 8 Installing and Administering PowerDesigner Web

One or more administrators must install and configure PowerDesigner Web and manage repository users and groups. Administrators can also monitor repository logs and define extensions to customize object properties.

8.1 Installing the PowerDesigner Web Server

PowerDesigner Web allows you to view any PowerDesigner diagram and to create and edit certain diagrams in your Web browser. The PowerDesigner installation disc includes components that are required to browse your repository from the web, along with a standard Apache Tomcat Web server. Before beginning the installation, you should already have created your repository database and have the DBMS user name and password to hand.

Context

The installer will:

● Install or upgrade Node.js to a recent 6.x Active LTS version.

 Note

You should ensure that Node.js is not used by other applications on the server, as the installer may attempt to modify the existing installation or fail in its own installation.

● [optional] Install a Tomcat 8 server (and SAP JVM 8.x). ● Install or upgrade the PowerDesigner Web server, which includes a Java component and a Node.js component. ● Deactivate and uninstall the deprecated PowerDesigner Portal server. ● Install the repository to the database if it is not already present.

 Note

The architecture of the PowerDesigner Web server changed with v16.6 SP02. If you have enabled SSL/SSO before this version, you will need to re-enable them for the new architecture.

If the repository database server is not a Windows server or is unable to support the additional workload, then we recommend installing the PowerDesigner Web server on another machine on the same LAN segment. We recommend as a minimum, a dual-core machine, with 2-4GB of RAM.

When configuring your Java virtual machine memory, we recommend the following initial values:

PowerDesigner Web 372 PUBLIC Installing and Administering PowerDesigner Web 32-Bit Win­ dows 64-Bit Windows

Installed Memory 2GB 2GB 4GB 8GB

Initial Java heap size (Ms) 500 MB 500 MB 1000 MB 1000 MB

Maximum Java heap size (Mx) 1000 MB 1300 MB 3000 MB 6000 MB

Maximum Permanent Generation size 250 MB 250 MB 250 MB 250 MB (MaxPermSize)

As the number of concurrent users increases or your models become larger, you may need to add more cores and memory and increase these values to maintain performance.

Procedure

1. In the contents unzipped from your PowerDesigner download, double-click PowerDesigner167_Portal.exe. 2. Choose the language to install PowerDesigner Web in and then click OK to go to the welcome page. The chosen language will be set as the default interface language for users connecting to PowerDesigner Web, but they can choose from any of the supported languages from the login or home page. 3. Click Next to go to the license agreement page, and select the location where you are installing the software. Read the License Agreement and click the I Agree radio button to accept the terms of the agreement. If you click I Do Not Agree, you cannot proceed with the Setup program and you will have to cancel the install.

 Note

You can print the License Agreement from the Setup\Licenses directory of the installation media.

4. Click Next to go to the directory selection page. Accept the default installation directory or choose another by clicking the Browse button. 5. Click Next to go to the application server page. By default, the installer will install a new 32-bit or 64-bit Tomcat 8 server (and SAP JVM 8.x). If you want to use one of the other supported servers, select it and specify its location. In this case, Java 7 or higher patched with all available updates and security enhancements is required. Default server ports may be provided that you must verify. At least one port is required in order to create a connection profile and connect to the repository database.

 Note

If you choose an existing Tomcat server, to optimize performance, you should ensure that the following compression options are set in your element in Tomcat/conf/server.xml:

compression="on"

compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,application/xml,application/atom +xml,application/x-font-ttf,application/javascript,application/json,text/ css"

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 373  Note

If you choose the WebLogic application server, you must deploy the archive directory (by default, the weblogic_openfolder directory inside your installation directory) from your WebLogic Administrative Console once the setup has completed.

 Note

Support for deploying to application servers other than Tomcat is deprecated and will be removed in a future version.

6. Click Next to go to the database parameters page, which lets you enter the appropriate parameters for your database.

You must specify the database user and password that PowerDesigner Web will use to connect to the database. You can: ○ Specify the user and password here, or ○ [MS SQL Server only] Select the Use Windows Authentication checkbox to connect via a Windows user. The specified user must be able to connect to the database and have the right to launch the portal service. If you select this option, at the end of the setup, the SAP PowerDesigner Portal service properties sheet will open. Click the Log On tab, select the This account option, enter the account name and password, and click OK to complete the installation.

PowerDesigner Web 374 PUBLIC Installing and Administering PowerDesigner Web  Note

If the database is empty (the repository has not already been installed to it), you must choose a temporary initial password for the repository administrator account, ADMIN, with which you will connect for the first time.

7. Click Next to go to the license server page and specify the name of the computer that is used as a license server. If you do not use a license server, you can select the I don't have a License Server option. You will be able to proceed with the installation, but you will not be able to create or edit diagrams and objects through PowerDesigner Web. 8. Click Next to go to the information page which summarizes your choices. 9. Click Next to accept the current settings and start copying files.

A progress box is displayed and setup copies files to the destination directory. 10. When the setup is complete, click Finish to exit the wizard. The server connects to the database and detects whether the repository is already created in the database and if this is not the case, it will create it. In this situation, you must connect to the repository for the first time with the following credentials: ○ User Name: ADMIN

 Note

Account names and passwords managed by PowerDesigner are case-sensitive and must only contain standard ASCII characters.

○ Password: Enter the temporary administrator password you specified during setup. You will be prompted to change the password and then logged in as administrator of PowerDesigner.

8.2 Controlling Repository Access

The repository administrator is responsible for controlling access to the documents stored in the repository by creating users and groups and assigning them privileges, permissions, and profiles.

Context

Repository privileges give users access to general repository features, while permissions give them access to particular locations in the repository. The following privileges and permissions are available:

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 375 Privileges (Entire Repository) Permissions (Per Folder or Item)

● Connect - Connect to the repository and view dia­ ● List - This permission level is not currently in use. grams in PowerDesigner Web. ● Read - Open and compare documents. ● Export from Web - Export content from ● Submit - Also propose changes to the document for PowerDesigner Web as a repository Zip file, report or PowerPoint. review by a user with Write permission. ● Edit on Web - Create and edit diagrams in ● Write - Also review changes by other users and pub­ PowerDesigner Web. lish changes directly. ● Edit Extensions on Web - Create and edit cus­ ● Full - Also move and delete documents, and manage tom properties in PowerDesigner Web. Gives access to permissions granted to users and groups. the Customize item in the navigation panel. ● Freeze Versions - (only used with the desktop  Note PowerDesigner client). ● Lock Documents - (only used with the desktop Administrators, who have implicit Full permission PowerDesigner client). on all repository objects, will only receive models ● Manage Branches - (only available with the desktop for review if they have been granted explicit Write PowerDesigner client). permission on them. ● Manage Configurations - (only used with the desktop PowerDesigner client). ● Manage All Documents - Perform any action on any document version. Implicitly includes Full per­ mission on all repository documents. Gives access to the Activities/Log tile. ● Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them privileges, and add them to groups. Users with this privi­ lege can list all repository documents and set permis­ sions on them without needing explicit Full permis­ sion. Gives access to the Administration/Users, Administration/Groups, and Activities/Security Log tiles. ● Manage Repository - Create, upgrade, and delete the repository database. Gives access to the Administration/Settings item.

Procedure

1. [recommended] Connect the repository to an SMTP server to enable the automatic sending of emails for passwords, changelist submissions, and other notifications (see Connecting to an SMTP Server for Notifications [page 395]). 2. Determine how you will manage user authentication. You can choose one or more of: ○ Repository-managed authentication - Specify an appropriate password policy (see Defining a Password Policy [page 396]). ○ LDAP authentication - Connect the repository to an LDAP server to allow users to connect with their corporate credentials (see Connecting to an LDAP Server for User Authentication [page 392]). ○ X.509 certificate-based single sign-on - [PowerDesigner Web-only] Configure the server appropriately (see Enabling Single Sign-On for PowerDesigner Web [page 405]).

PowerDesigner Web 376 PUBLIC Installing and Administering PowerDesigner Web  Note

LDAP or X.509 certificates are only used for authentication. Privileges and permissions on repository folders and documents are controlled in the repository.

3. [optional] Create high-level functional groups (see Creating Repository Groups [page 382]) to organize users by type and assign appropriate privileges to them to govern general actions that they can perform in the repository (see Granting Privileges to Users and Groups [page 385]). For example:

Groups Privileges

Administrators Connect, Manage All Documents, Manage Users & Permissions, Manage Repository

Senior Modelers [use the PowerDesigner desktop client] Connect, Edit on Web, Edit Extensions on Web, Freeze Versions, Lock Versions, Manage Branches, Manage Configurations

Modelers Connect, Edit on Web

Stakeholders Connect (to provide read-only access to PowerDesigner Web).

 Note

There is no requirement to create groups - you can assign privileges and permissions to individual users - but we recommend that in all but the smallest deployments, you do create groups to simplify the process.

4. [optional] Apply profiles to your groups as necessary to filter the PowerDesigner interface to hide or render read-only types of models, objects, and properties, and to specify defaults for interface elements, options and preferences for different kinds of users . User profiles are developed and deployed only using the PowerDesigner desktop client but are applied to both the desktop client and PowerDesigner Web (see Core Features Guide > Administering PowerDesigner > Customizing the PowerDesigner Interface > Using Profiles to Control the PowerDesigner Interface). 5. Create an appropriate folder structure in the repository to enable you to group documents by project or in any other appropriate way, and to simplify the granting of permissions. In this example, we imagine the following simple folder structure: ○ Library ○ EA ○ Process Map ○ Process Diagrams ○ HR ○ Sales 6. Determine your review policy either at a global or project by project level. PowerDesigner supports the following kinds of policy: ○ Simple review - Change lists submitted by users with the Submit permission are reviewed by users with the Write or Full permission. ○ Peer review - Users with the Write or Full permission voluntarily submit change lists for review. ○ Direct check in - The Submit permission and change lists are not used, and users all check in changes without review.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 377 7. Create development groups and implement your review policies by assigning appropriate permissions to control what actions users and groups can perform on particular repository documents and folders. In this example, we propose a simple group structure with permissions based on role and line of business: ○ Enterprise Architects - Have full control over all documents. ○ Process Analysts - Maintain the process map and review business process diagrams for publication in the repository. ○ Process Owners - May submit business process diagrams for their domain. ○ Stakeholders - Have read access to all documents by default.

Process Dia­ Process Dia­ Group Library EA Process Map grams/HR grams/Sales

Enterprise Archi­ Full Read Full Full Full tects

Process Analysts Submit Read Write Write Write

Process Owners - Submit Read Read Submit Read HR

Process Owners - Submit Read Read Read Submit Sales

Stakeholders Read Read Read Read Read

8. Create as many users as necessary either manually (see Creating Repository Users [page 378]) or via LDAP (see Managing Externally-Authenticated Repository Users [page 380]) and assign them to appropriate groups (see Adding Users and Groups to a Group [page 384]) according to their roles and project responsibilities. There is no limit to the number of groups to which a user or group can be assigned, and users benefit from the cumulative total of all the privileges and permissions they receive.

8.2.1 Creating Repository Users

The repository administrator is responsible for creating user accounts to enable users to connect to the repository and access the content that they need.

Context

The following standard users are automatically created in the PowerDesigner repository:

● ADMIN - Has all available privileges and implicit Full permission on all repository folders. ● _ADMIN - Is created as a temporary emergency user for connecting to a repository when no administrator is able to access it (see Obtaining Emergency Access to the Repository [page 389]).

 Note

This procedure is for creating users authenticated by the repository. PowerDesigner also supports delegating authentication of users to an LDAP server (see Connecting to an LDAP Server for User

PowerDesigner Web 378 PUBLIC Installing and Administering PowerDesigner Web Authentication [page 392]) and authentication by X509 certificate (see Enabling Single Sign-On for PowerDesigner Web [page 405]).

Procedure

1. Click Administration Users in the navigation panel, and then click the + button to create a new user. 2. Enter the following properties as appropriate:

Property Description

Managed by By default, users must enter a password managed by PowerDesigner to connect to the reposi­ tory. To allow them to enter their standard corporate password or use single-sign on, select External (LDAP) (see Managing Externally-Authenticated Repository Users [page 380]).

Login Name Specifies the account name used to connect to the repository.

 Note

Account names and passwords managed by PowerDesigner are case-sensitive and must only contain standard ASCII characters.

Full Name Specifies the real name of the user.

Email Specifies the email address of the user. If you have specified an SMTP server (see Connecting to an SMTP Server for Notifications [page 395]) this address will be used to send the password.

Comment Specifies any additional information about the user.

Status Specifies the status of the user, which can be: ○ Active - the user can access the repository. ○ Inactive - the user is no longer active in the repository (see Deactivating Users [page 388]) and may not connect. The user remains in the List of Users and can be reactivated at any time. ○ Blocked - the user has violated one of the rules of the password policy (see Defining a Pass­ word Policy [page 396]), and cannot access the repository until an administrator unblocks her account (see Unblocking Blocked Users [page 388]).

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 379 Property Description

Privileges Select the checkboxes corresponding to the privileges you want to assign: ○ Connect - Connect to the repository and view diagrams in PowerDesigner Web. ○ Export from Web - Export content from PowerDesigner Web as a repository Zip file, report or PowerPoint. ○ Edit on Web - Create and edit diagrams in PowerDesigner Web. ○ Edit Extensions on Web - Create and edit custom properties in PowerDesigner Web. Gives access to the Customize item in the navigation panel. ○ Freeze Versions - (only used with the desktop PowerDesigner client). ○ Lock Documents - (only used with the desktop PowerDesigner client). ○ Manage Branches - (only available with the desktop PowerDesigner client). ○ Manage Configurations - (only used with the desktop PowerDesigner client). ○ Manage All Documents - Perform any action on any document version. Implicitly in­ cludes Full permission on all repository documents. Gives access to the Activities/Log tile. ○ Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them privileges, and add them to groups. Users with this privilege can list all repository documents and set permissions on them without needing explicit Full permis­ sion. Gives access to the Administration/Users, Administration/Groups, and Activities/ Security Log tiles. ○ Manage Repository - Create, upgrade, and delete the repository database. Gives ac­ cess to the Administration/Settings item.

3. If you have not enabled delivery of passwords by email (see Connecting to an SMTP Server for Notifications [page 395]), click the Change Password button, enter a temporary password identically in the two fields and then click Change Password. Note the temporary password for transmission to the user. 4. Click the Groups tab and add the user to any appropriate groups (see Adding Users and Groups to a Group [page 384]). All users are added to the Public group, from which, by default, they inherit the Read permission on all the contents of the repository (see Granting Access Permissions on Repository Items [page 386]).

5. Select Menu Push Diagrams to User or Menu Push Folder to User to make appropriate diagrams and folders available in their homepage (see Pushing Diagrams and Folders to Users' Homepages [page 387]). 6. Click Save to complete the creation of the user. If an SMTP server is configured, the password will be sent to the user at the recorded email address. Users must log in with their temporary password before the delay specified in the password policy (see Defining a Password Policy [page 396]). When they first log in they will be required to change the temporary password.

8.2.2 Managing Externally-Authenticated Repository Users

If you have connected the repository to an LDAP server and selected the Auto-create user accounts in repository option or have enabled single sign-on, any users with valid accounts in your organization can, by default, connect to and browse the repository using PowerDesigner Web. You can modify the default privileges and permissions for such users by changing the privileges and permissions granted to the External users

PowerDesigner Web 380 PUBLIC Installing and Administering PowerDesigner Web group, or provide specific privileges and permissions for individual external users by pre-creating repository user accounts for them.

Context

For example, if you want to allow any user connecting to the repository to create and edit diagrams in the Processes folder and submit them for approval, you would:

● Grant the External users group the Edit on Web privilege (see Granting Privileges to Users and Groups [page 385]). ● Grant the External users group Submit permission on the Processes folder (see Granting Access Permissions on Repository Items [page 386]).

In many environments, you will want to grant different privileges to different groups of users, or provide them with different permissions. For example you may want to allow users to submit changes only for processes in their particular line of business based on sub-folders beneath the Processes folder. In this or other more complicated cases (or if you want to restrict which users can connect to the repository and have not selected the Auto-create user accounts in repository option), you should create accounts for your anticipated users before inviting them to connect.

Procedure

1. Click Administration Users in the navigation panel, and then click the + button to create a new user. 2. Enter the user's corporate account name in the Login name field, select External (LDAP), and click the Check Name button to verify the login name and auto-fill the remaining fields, which are set, with the exception of Comment, to read-only.

 Note

You may need to enter your own corporate account name and password to connect to the LDAP server, even if your connection is configured for anonymous binding.

3. In the Privileges panel, select the check boxes corresponding to the privileges you want to assign: ○ Connect - Connect to the repository and view diagrams in PowerDesigner Web. ○ Export from Web - Export content from PowerDesigner Web as a repository Zip file, report or PowerPoint. ○ Edit on Web - Create and edit diagrams in PowerDesigner Web. ○ Edit Extensions on Web - Create and edit custom properties in PowerDesigner Web. Gives access to the Customize item in the navigation panel. ○ Freeze Versions - (only used with the desktop PowerDesigner client). ○ Lock Documents - (only used with the desktop PowerDesigner client). ○ Manage Branches - (only available with the desktop PowerDesigner client). ○ Manage Configurations - (only used with the desktop PowerDesigner client). ○ Manage All Documents - Perform any action on any document version. Implicitly includes Full permission on all repository documents. Gives access to the Activities/Log tile.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 381 ○ Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them privileges, and add them to groups. Users with this privilege can list all repository documents and set permissions on them without needing explicit Full permission. Gives access to the Administration/Users, Administration/Groups, and Activities/Security Log tiles. ○ Manage Repository - Create, upgrade, and delete the repository database. Gives access to the Administration/Settings item. 4. Click the Groups tab and add the user to any appropriate groups (see Adding Users and Groups to a Group [page 384]). All externally-authenticated users are added to: ○ All users (PUBLIC) groups, from which they inherit, by default, Read permission on all the contents of the repository. ○ External users (EXTERNAL) - from which they inherit, by default, the Connect privilege.

5. Select Menu Push Diagrams to User or Menu Push Folder to User to make appropriate diagrams and folders available in their homepage (see Pushing Diagrams and Folders to Users' Homepages [page 387]). 6. Click Save to complete the creation of the user.

8.2.3 Creating Repository Groups

The repository administrator is responsible for creating groups of users in the repository. Users are added to groups in order to simplify the granting of privileges and permissions. You can create hierarchies of groups. For example, you could insert the Designers, Quality Assurance, and Documentation groups into the R&D group, to which you assign permissions to documents that all these groups must use.

Context

The following standard groups are automatically created in the PowerDesigner repository:

● Administrators, [ADMN] - Has, by default, all available privileges and implicit Full permission on all repository folders. ● All users [PUBLIC] - Has, by default, Read permission on the repository root. All users belong to this group and can thus, by default, browse any diagram. ● External users [EXTERNAL] - Has, by default, no privileges or permissions. Users authenticated via LDAP (see Connecting to an LDAP Server for User Authentication [page 392]) or single-sign on (see Enabling Single Sign-On for PowerDesigner Web [page 405]) are automatically added to this group when they connect for the first time.

Procedure

1. Click Administration Groups in the navigation panel, and then click the + button to create a new group.

PowerDesigner Web 382 PUBLIC Installing and Administering PowerDesigner Web 2. Enter the following properties as appropriate:

Property Description

Name Specifies the name of the group as it will appear in the interface.

Code Specifies the internal name of the group, which can be used in scripting.

Comment Describes the group and its purpose.

Privileges By default, groups do not have any privileges. Select the checkboxes corresponding to the privi­ leges you want to assign: ○ Connect - Connect to the repository and view diagrams in PowerDesigner Web. ○ Export from Web - Export content from PowerDesigner Web as a repository Zip file, re­ port or PowerPoint. ○ Edit on Web - Create and edit diagrams in PowerDesigner Web. ○ Edit Extensions on Web - Create and edit custom properties in PowerDesigner Web. Gives access to the Customize item in the navigation panel. ○ Freeze Versions - (only used with the desktop PowerDesigner client). ○ Lock Documents - (only used with the desktop PowerDesigner client). ○ Manage Branches - (only available with the desktop PowerDesigner client). ○ Manage Configurations - (only used with the desktop PowerDesigner client). ○ Manage All Documents - Perform any action on any document version. Implicitly in­ cludes Full permission on all repository documents. Gives access to the Activities/Log tile. ○ Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them privileges, and add them to groups. Users with this privilege can list all repository documents and set permissions on them without needing explicit Full permis­ sion. Gives access to the Administration/Users, Administration/Groups, and Activities/ Security Log tiles. ○ Manage Repository - Create, upgrade, and delete the repository database. Gives access to the Administration/Settings item.

3. Click the Members tab and add any appropriate users and groups to the group (see Adding Users and Groups to a Group [page 384]). 4. Click the Parents tab and add the group to any appropriate groups (see Adding Users and Groups to a Group [page 384]).

5. Select Menu Push Diagrams to Group or Menu Push Folder to Group to make appropriate diagrams and folders available in group members' homepages (see Pushing Diagrams and Folders to Users' Homepages [page 387]). 6. Click Save to complete the creation of the group.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 383 8.2.3.1 Adding Users and Groups to a Group

You can add users and groups as members of a group from either the user or the group property sheet.

Context

There are three ways to add members to a group:

● To add a user to a group from the user's property sheet, click the Groups tab, which lists the groups to which the user belongs. Click the + tool to open a list of groups, select one or more, and then click OK to add the user to them. ● To add a group to a parent group from the child group's property sheet, click the Parents tab, which lists the groups to which the group belongs. Click the + tool to open a list of groups, select one or more, and then click OK to add the group to them. ● To add a user or group to a group from the parent group's property sheet, click the Members tab, which lists the users and groups which are members of the group. Click the Add tool to open a list of users and groups, select one or more, and then click OK to add them to the group.

8.2.3.2 Deleting a Group

When you delete a group from the repository you do not delete the members (either users or groups) of the group.

Procedure

1. Click Administration Groups in the navigation panel. 2. Select a group in the list and click the Delete tool. The group is removed from the list, and: ○ Any document permissions granted to the group are revoked. ○ Any members of the group lose whatever privileges or permissions they had inherited from the group. ○ The group is removed from membership of any groups to which it belonged. 3. Click Save to save your changes.

PowerDesigner Web 384 PUBLIC Installing and Administering PowerDesigner Web 8.2.4 Granting Privileges to Users and Groups

A new user has only the Connect privilege assigned by default and belongs only to the PUBLIC group. The repository administrator can grant additional privileges to the user either directly or by adding her to other groups.

Context

User privileges are associated with document permissions (see Granting Access Permissions on Repository Items [page 386]) to define the actions a user can effectively perform on a document.

Procedure

1. Click Administration Users (or Administration Groups ) in the navigation panel, and then click the appropriate user or group in the list to open its property sheet. 2. Select the check boxes corresponding to the privileges you want to assign: ○ Connect - Connect to the repository and view diagrams in PowerDesigner Web. ○ Export from Web - Export content from PowerDesigner Web as a repository Zip file, report or PowerPoint. ○ Edit on Web - Create and edit diagrams in PowerDesigner Web. ○ Edit Extensions on Web - Create and edit custom properties in PowerDesigner Web. Gives access to the Customize item in the navigation panel. ○ Freeze Versions - (only used with the desktop PowerDesigner client). ○ Lock Documents - (only used with the desktop PowerDesigner client). ○ Manage Branches - (only available with the desktop PowerDesigner client). ○ Manage Configurations - (only used with the desktop PowerDesigner client). ○ Manage All Documents - Perform any action on any document version. Implicitly includes Full permission on all repository documents. Gives access to the Activities/Log tile. ○ Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them privileges, and add them to groups. Users with this privilege can list all repository documents and set permissions on them without needing explicit Full permission. Gives access to the Administration/Users, Administration/Groups, and Activities/Security Log tiles. ○ Manage Repository - Create, upgrade, and delete the repository database. Gives access to the Administration/Settings item. 3. Click Save to save your changes.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 385 8.2.5 Granting Access Permissions on Repository Items

The repository administrator or a user with Full permission on a document or folder can grant permissions on it. Permissions can be granted on the repository root, folders, and models, but not on individual diagrams or objects.

Context

A user wanting to browse and edit documents in the repository must have at least the following permissions:

● Browsing - Read permission. When you create a user, she is inserted into the Public group, which by default is granted Read permission on the repository root. ● Creating or editing a diagram - Submit on the target folder to propose a new diagram or edits to an existing diagram, or Write to publish them directly.

 Note

Object permissions should be viewed in conjunction with the privileges granted to users or groups (see Granting Privileges to Users and Groups [page 385]).

Procedure

1. Click Repository Explorer in the navigation panel, navigate to the item, and click its Permissions tab. 2. Click the + button to open a list of available users and groups, select one or more, and click OK to add them to the list. 3. For each user or group, select the permission you want to grant in the Granted Permission column: ○ List - This permission level is not currently in use. ○ Read - Open and compare documents. ○ Submit - Also propose changes to the document for review by a user with Write permission. ○ Write - Also review changes by other users and publish changes directly. ○ Full - Also move and delete documents, and manage permissions granted to users and groups.

 Note

Administrators, who have implicit Full permission on all repository objects, will only receive models for review if they have been granted explicit Write permission on them.

The Effective Permissions column shows the highest level of permission that each user or group has on the item either directly or via a group. 4. [optional] Click the Copy Permissions to All Children tool to propagate changes to the item's children.

When you create a folder or diagram, the permissions defined on its parent folder are propagated to it. However, subsequent changes made to the permissions for the parent are not applied to its children unless you click this tool. For example, if you grant Write permission on the Major Project folder, to the

PowerDesigner Web 386 PUBLIC Installing and Administering PowerDesigner Web Development Team 2 group, then they will not automatically be granted Write access on its existing contents.

8.2.6 Pushing Diagrams and Folders to Users' Homepages

The repository administrator can push diagrams and folders to users' homepages to give them personalized entry points to the repository. Diagrams appear as cards in the user's homepage, and folders as entries in the Quick Links card. You can push diagrams and folders to individual users or to groups.

Context

 Note

Diagrams and folders pushed to groups are received by all the members of the group at the time of the action. Users that are subsequently added to the group will not receive the diagram or folder unless you push it again. If you push a diagram or folder that is already present in a user's homepage, it will not be duplicated.

Procedure

1. Click Administration Users (or Administration Groups ) in the navigation panel, and then click the appropriate user or group in the list to open its property sheet. 2. To push diagrams to the user or group:

a. Select Menu Push Diagrams to User/Group to open the Select Diagrams dialog. b. Navigate to or search for the diagrams you want to push, and select them. c. When your selection is complete, click Push to push them to the user or group. 3. To push a folder to the user or group:

a. Select Menu Push Folder to User/Group to open the Select Folder dialog. b. Navigate to the folder you want to push, and click Push to push it to the user or group.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 387 8.2.7 Unblocking Blocked Users

The repository administrator or a user with the Manage Users & Permissions right can unblock users blocked for password policy violations.

Procedure

1. Click Administration Users in the navigation panel, and then click the appropriate user in the list to open its property sheet. 2. Click the Change Password button. If an SMTP server is configured, the password will be sent to the user at the recorded email address. Otherwise, enter a temporary password identically in the two fields and note it for transmission to the user. Users must log in with their temporary password before the delay specified in the password policy (see Defining a Password Policy [page 396]). When they first log in they will be required to change the temporary password.

8.2.8 Deactivating Users

The repository administrator or a user with the Manage Users & Permissions privilege can deactivate users. Inactive users cannot connect to the repository and the information held about them is deleted except for the log of their checkins and other repository actions.

Context

 Caution

A user cannot deactivate himself, even if he has the Manage Users & Permissions privilege.

Procedure

1. Click Administration Users in the navigation panel, and then click the appropriate user in the list to open its property sheet. 2. Select the Inactive status. 3. [optional] Click the Anonymize button to replace all occurrences of the user's name, code, and email in logs and repository document version histories with an anonymous pseudo-identity. Anonymizing data in this way allows you to retain a history of operations without personally-identifying information.

PowerDesigner Web 388 PUBLIC Installing and Administering PowerDesigner Web  Note

This anonymization operation is non-reversible.

8.2.9 Obtaining Emergency Access to the Repository

In the event that no administrator is able to log in to a running repository, you can create an emergency administrator account to regain access.

Procedure

1. If the repository proxy is not already in use in your environment, install it on the repository server or a nearby machine for which you are an administrator (see Installation Guide > Installing the Repository Proxy ). 2. Launch the Repository Proxy Configuration utility (pdproxyconf16.exe).

 Note

On a Windows 7 machine, you must open the utility by right-clicking its icon or menu item and selecting Run as administrator.

3. If an instance is not already available for the repository in question, create one, specifying the appropriate data source, user name, password, and port to connect to the repository database. 4. Select the appropriate instance and click the Create Emergency User button to open the Emergency Password dialog, and then select Show password to see an automatically generated password, for use with the special _ADMIN account. 5. Navigate to the PowerDesigner Web homepage, enter _ADMIN as the login name and the generated password in the Password field, and click OK.

 Note

If you do not access the repository within 15 minutes, you must repeat the procedure to generate a new temporary password.

6. Reset the administrator's password or create a new administrator account as appropriate (see Creating Repository Users [page 378]). 7. Return to the homepage, click the _ADMIN user next to the menu tool and select Log Out to disconnect the emergency user from the repository. The emergency user is deleted after disconnection.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 389 8.3 Configuring the PowerDesigner Web Server

The repository administrator is responsible for configuring the PowerDesigner Web server.

To set the following parameters, click Administration Settings in the navigation panel, and then click the Core Settings tile:

Parameter Description

Repository name Specifies the name of the repository.

Repository descrip­ Describes the repository. tion

Refresh interval Specifies the amount of time between the browser checking for changes in the repository database. Default 5 minutes.

8.3.1 Connecting to the Database Server

A database server and database to contain the repository must be specified during installation, but you can change this connection to make PowerDesigner Web point to a different repository database.

Context

The primary database server parameters are available through the standard administration interface, but logging and caching parameters can only be modified by editing the configuration files on the host server (see Configuring Other PowerDesigner Web Parameters [page 408]).

Procedure

1. Click Administration Settings in the navigation panel, and then click the Database tile. 2. Set the following General parameters:

PowerDesigner Web 390 PUBLIC Installing and Administering PowerDesigner Web Parameter Description

Database type Specifies the type of DBMS that hosts the repository.

 Note

If you want to change the database type, you must copy the appropriate JDBC driver jar to the Tomcat\webapps\powerdesigner-web\WEB-INF\lib directory and restart the server before modifying this value.

Database driver Specifies the JDBC driver class used to connect to the repository database.

Host Specifies the name of the host machine for the repository database. In certain environments, a fully qualified domain name may be required.

Port Specifies the port number of the host machine through which the repository database is availa­ ble.

Database name Specifies the name of the repository database.

User name Specifies the database user name that the repository uses to access the DBMS.

Password Specifies the database password that the repository uses to access the DBMS. This must be entered normally, and will be encrypted as soon as the server connects to the database.

3. [optional] Set the following advanced database parameters:

Parameter Description

Isolation level Specifies the isolation level used to isolate transactions in a multi-user environment. By default, level 1 is used for SAP® SQL Anywhere® and level 2 for SAP® Adaptive Server® Enterprise. See your DBMS documentation for information about the behavior of each level in your environ­ ment.

Initial pool size Specifies the initial number of connections in the connection pool. The default is 1.

Min idle Specifies the minimum number of connections that can remain idle in the pool, without extra ones being created. Specify 0 to create none. The default is 1.

Max idle Specifies the maximum number of connections that can remain idle in the pool, without extra ones being released. Specify -1 for no limit. The default is 3.

Max wait Specifies the maximum number of milliseconds that the pool will wait when there are no availa­ ble connections for a connection to be returned before throwing an exception. Specify -1 to wait indefinitely. The default is 2.

Max active Specifies the maximum number of active connections that can be allocated from this pool at the same time. Specify -1 for no limit. The default is 10.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 391 Parameter Description

Max bytes per char For non-Oracle unicode or multi-byte character set databases, specify the bytes per character used by the database: ○ 1-byte - For SBCS (Single-Byte Character Set) ○ 2-byte - [default] For DBCS (Double-Byte Character Set) ○ 3-byte - For Unicode or MBCS (Multi-Byte Character Set)

Charset [ASE only] Specifies the character set used by the database.

4. Click Save to save your changes. You must restart the PowerDesigner Portal Server for changes to take effect.

8.3.2 Connecting to a License Server

To enable creation and editing of diagrams, a repository administrator must specify a connection to a SySAM license server. A license server is generally specified during installation, but you can specify or change this connection at any time.

Procedure

1. Click Administration Settings in the navigation panel, and then click the License Server tile. 2. Modify any appropriate parameters in the General group box:

Parameter Description

Host Specifies the license server host machine.

Port Specifies the port to be used.

3. Click Save to save your changes.

8.3.3 Connecting to an LDAP Server for User Authentication

A repository administrator can delegate the authentication of repository users to an LDAP server. PowerDesigner supports authentication via Active Directory and a number of other LDAP implementations. You can optionally allow automatic creation of repository accounts when an LDAP user connects to the repository for the first time.

PowerDesigner Web 392 PUBLIC Installing and Administering PowerDesigner Web Context

 Note

LDAP integration provides only authentication. Authorization is always managed via the rights and permissions granted within the repository environment.

Procedure

1. Click Administration Settings in the navigation panel, and then click the LDAP Server tile. 2. Select the appropriate Server type from the list to set default values for the other parameters. For Active Directory, if your environment supports anonymous binding, you may be able to connect without further configuration. Click the Test Connection button and follow the instructions on the dialog. If your connection succeeds then no other options are required, but you should consider enabling the Use Secure Socket Layer (SSL) and Auto-create user accounts in repository options. 3. Modify any appropriate parameters in the General group box:

Parameter Description

Server type Specifies the type of the LDAP server and sets default values for the server. The following types are available: ○ Active Directory - if your environment supports anonymous binding, you may be able to connect without further configuration. Click the Test Connection button and follow the in­ structions on the dialog. ○ Netscape Directory Server ○ OpenLDAP ○ Oracle Directory Server ○ Other If you edit any parameters and want to revert to the defaults, click the Default Settings button.

Provider URL Specifies the URL for the LDAP provider. By default, for Active Directory, the nearest LDAP server is automatically detected and used for authentication, initializing this field to:

LDAP://_ldap.:389

For other servers, this field is initialized to:

LDAP://ldap.:389

and you should replace ldap with the name or IP address of your LDAP server.

Use Secure Socket Specifies to connect to the LDAP server using SSL, changing the LDAP provider port to the Layer (SSL) standard secure 636. You must obtain and register your certificate authority root certificate in the Java installation.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 393 Parameter Description

Default search base Specifies the level at which the query begins its search for users in the LDAP tree. By default this is initialized to the domain components (DCs) of the LDAP server. For example:

dc=acme, dc=com

You could include the location of the User directory such as OU=Users, dc=devpd, dc=local . If the location of the User directory is not specified here, then you must include it in the Authentication Search Base.

Anonymous bind [default] Specifies that the LDAP server supports anonymous access. If you deselect this pa­ rameter, you must specify a bind user distinguished name (DN) and password for an account that has permissions to query the LDAP server.

 Note

If the Bind user DN is in the same DN as the Authentication search base then you can simply enter the user id for the search. Otherwise, you must enter the full DN for that account. For example, if the Default search base is ou=people,dc=Onebridge,dc=qa, and you have a user cn=csitest,cn=users,dc=Onebridge,dc=qa, then the Bind DN must be cn=csitest,cn=users,dc=Onebridge,dc=qa.

Auto-create user ac­ Specifies that any users corresponding to the LDAP authentication search filter can connect to counts in repository the repository, and will have an account created for them in the repository when they do so. If you do not select this option, then an administrator must create an account for each user before they can connect.

4. Modify any appropriate parameters in the Authentication group box:

Parameter Description

Search filter Specifies the LDAP query that selects users for authentication. By default this is initialized to (for Active Directory):

(&(objectClass=person)(userPrincipalName={uid}))

and for other servers:

(&(objectClass=person)(cn={uid}))

To determine an alternative filter, you must know the properties of the users defined in the Active Directory, and which property (for example, name or samAccountName) is being used as the login name.

PowerDesigner Web 394 PUBLIC Installing and Administering PowerDesigner Web Parameter Description

Search base Specifies the location of the User list in your LDAP server. By default this is initialized to the same value as the Default search base. If the default search base does not include your users you must specify an appropriate search base here. Users may be in a common node such as cn=Users or an organization unit such as OU=Users. To determine the correct search base, you should use an LDAP browser to look at the full distinguished name of a user. Note that your Bind DN may be a user in a different node in the tree than general users so it is very important that you have the correct information for each.

Search scope Specifies the scope of the authentication search. You can choose between: ○ subtree - [default] the search begins at the level of the Search base and also searches any subnodes. ○ onelevel - only the level specified in the Search base is searched

Authentication Specifies the method to use for authentication requests. You can choose between: method ○ simple - [default] clear text authentication. If SSL is enabled, then the password will be en­ crypted. ○ DIGEST-MD5 - hashed password authentication. If you select this option, you must specify a digest format.

5. Click the Test Connection button and follow the instructions on the dialog to verify your connection. 6. Click Save to save your changes.

 Note

If you have not selected the Auto-create user accounts in repository option, you must create repository accounts for each user that you want to be able to connect. Even if you select this option, we recommend that you create appropriate user accounts in advance in order to grant appropriate rights and permissions on your various repository folders and documents. LDAP users connecting to the repository are automatically added to the External users and All users groups, and are limited, by default, to read access on the repository.

8.3.4 Connecting to an SMTP Server for Notifications

A repository administrator can automate the sending of emails for passwords, changelist submissions, and other notifications to users by specifying an SMTP server. If an SMTP server is not specified, the administrator must distribute passwords manually and notifications related to the creation of comments and the submission and approval of change lists cannot be sent.

Procedure

1. Click Administration Settings in the navigation panel, and then click the SMTP Server tile.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 395 2. Enter appropriate values for each of the following settings:

Parameter Description

SMTP host Specifies the host name of the SMTP server used to send mail.

SMTP port Specifies the port number of the SMTP server used to send mail.

Sender's email address Specifies the email address from which to send mails.

Use Secure Socket Layer Specifies to connect to the SMTP mail server through SSL. (SSL)

Server requires authentica­ Specifies that the SMTP server requires authentication. If you select this option, then tion you must specify an SMTP account and password, and can select to use Secure Pass­ word Authentication (SPA).

3. Click Save to save your changes.

8.3.5 Defining a Password Policy

In environments where PowerDesigner manages user passwords, the repository administrator is responsible for defining a password policy to ensure that passwords are sufficiently secure and are changed at appropriate intervals.

Context

 Note

The password policy governs only users who are not managed by LDAP (see Managing Externally- Authenticated Repository Users [page 380]) or single sign-on (see Enabling Single Sign-On for PowerDesigner Web [page 405]).

Procedure

1. Click Administration Settings in the navigation panel, and then click the Password Policy tile. 2. Select policy settings as appropriate:

PowerDesigner Web 396 PUBLIC Installing and Administering PowerDesigner Web Parameter Description

Password length Specifies the minimum and maximum permitted length of passwords. This option can­ not be disabled. The minimum length for a password is 6 characters.

Password must contain Specifies that passwords must contain at least one of each of the character types se­ lected.

Disallow reuse of previous Prevents users from reusing the specified number of old passwords. passwords

Enforce changing of pass­ Requires that users change their passwords after the specified number of days. words after days

Block inactive users after Blocks users if they try to log in after the specified number of days of inactivity. days without connec­ tion

Temporarily block users for Blocks users for the specified number of minutes if they submit an invalid combination minutes after fail­ of username and password the specified number of times. ures to log in

Temporary passwords is­ Specifies the period for which temporary passwords (which are issued when a user is sued by an administrator created or unblocked) are valid. Users attempting to use a temporary password after are valid for days this time will be blocked.

3. Click Save to save your changes. If your policy becomes more restrictive, users whose passwords are no longer compliant will be instructed to change their password when next they connect.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 397 8.3.6 Enabling Secure Connections (SSL/TLS) for PowerDesigner Web

We recommend that you encrypt the communication between the PowerDesigner Web server and client Web browsers and between its Node and Tomcat components.

Context

 Note

SSL/TLS support levels are determined by the application server supporting the communication with the client Web browsers and between its Node and Tomcat components. For Tomcat documentation about enabling SSL/TLS, see the SSL/TLS Configuration HOW-TO .

In this procedure, we generate or modify the following files:

● pdca.crt/pdweb.crt - Temporary certificates for a certification authority and the PowerDesigner Web server to allow you to test enabling secure connections. These must be replaced by legitimately signed certificates to allow your users to connect securely to PowerDesigner Web without a security warning (see step 8 [page 403]). ● server.jks [generated] - To contain the tomcat.crt certificate. ● cacerts [modified] - To allow Tomcat to trust Node. ● configExt.json [modified] - To configure secure connections for Node. ● server.xml [modified] - To configure secure connections for Tomcat.

PowerDesigner Web 398 PUBLIC Installing and Administering PowerDesigner Web  Note

In this procedure, we give detailed instructions for producing PEM format certificates and configuring Node and Tomcat. If your environment uses DER format certificates or a different Java application server, then you should adapt the steps accordingly.

Procedure

1. Prepare your environment for this change: a. Download and install OpenSSL and add the openssl command to your path. b. Locate the keytool utility in your Java installation and add it to your path.

If you have installed a new Tomcat 8 server with PowerDesigner Web, your keytool is located by default at C:\Program Files\SAP\PowerDesigner Portal 16\sapjvm_8_jre\bin \keytool.exe. c. Locate your Java installation truststore and obtain its password.

If you installed a new Tomcat 8 server with PowerDesigner Web, your truststore is located by default at C:\Program Files\SAP\PowerDesigner Portal 16\sapjvm_8_jre\lib\security \cacerts with a default password of changeit. 2. Prepare a folder to contain your keys, certificates, and other files, and navigate into it.

In this procedure, we will use the C:/ssl folder to contain the generated files. a. Copy the following code into a file and save it in your folder as pdWebSecure.cfg:

# OpenSSL configuration file for enabling secure connections for the PowerDesigner Web server

# Define the following properties to identify the server: # - FQDN(fully qualified server name), # - ServerName(non-qualified name), # - IpAddress # - CommonName(Subject name) and other Subject properties

FQDN =

ServerName =

IPAddress =

CommonName =

CountryName =

StateName =

City =

Organization =

OrganizationUnit =

# If appropriate, modify the ALTNAMES line to add DNS aliases to the CSR. # All DNS names must resolve to the same IP address as the FQDN. ALTNAMES = DNS:$FQDN , DNS:$ServerName , IP:$IpAddress # --- Do not modify below this line--- [ req ] default_bits = 2048 default_md = sha256 prompt = no encrypt_key = no distinguished_name = dn req_extensions = req_ext [ dn ] CN = $CommonName C = $CountryName ST = $StateName

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 399 L = $City O = $Organization OU = $OrganizationUnit [ req_ext ] subjectAltName = $ALTNAMES

b. Edit the pdWebSecure.cfg file to provide appropriate values for the variables defined at the beginning of the file, and then save your changes:

○ FQDN = - Must contain the fully qualified name of the server. ○ ServerName = - Must contain the unqualified name of the server. ○ IPAddress = - Must contain the IP address of the server. ○ CommonName = - Must contain the fully qualified name of the server. ○ CountryName, etc - Should contain appropriate values for the server. ○ ALTNAMES = DNS:$FQDN , DNS:$ServerName - If appropriate or required for your environment, add any additional DNS aliases to the end of the line. c. Copy the following code into a file and save it in your folder as pdWebSecure.bat:

rem "------Batch file to enable secure connections for the PowerDesigner Web server"

rem "------Generate a temporary PowerDesigner certification authority, which will be replaced by your organization's real CA" openssl genrsa -out pdca.key 2048 openssl req -new -key pdca.key -out pdca.csr -subj "/CN=pdca" openssl x509 -req -days 3650 -in pdca.csr -signkey pdca.key -out pdca.crt rem "------Generate a certificate for the PDWeb server, issued by the temporary PowerDesigner CA" openssl genrsa -out pdweb.key 2048 openssl req -new -key pdweb.key -out pdweb.csr -config pdWebSecure.cfg - extensions req_ext openssl req -in pdweb.csr -text -noout openssl x509 -req -days 3650 -in pdweb.csr -CA pdca.crt -CAkey pdca.key - CAcreateserial -out pdweb.crt -extfile pdWebSecure.cfg -extensions req_ext openssl x509 -in pdweb.crt -text -noout rem "------Generate the server.jks keystore"

openssl pkcs12 -export -in pdweb.crt -inkey pdweb.key -out tempkeystore.p12 -name pdweb -CAfile pdca.crt -caname ca -password pass:

keytool -importkeystore -deststorepass -destkeystore server.jks -srckeystore tempkeystore.p12 -srcstoretype PKCS12 - srcstorepass -noprompt

keytool -list -keystore server.jks -storepass

rem "------Import the temporary PowerDesigner CA to the cacerts truststore"

keytool -delete -alias ca -keystore "C:\Program Files\SAP\PowerDesigner Portal 16\sapjvm_8_jre\lib\security\cacerts" -storepass -noprompt

keytool -importcert -keystore "C:\Program Files\SAP\PowerDesigner Portal 16\sapjvm_8_jre\lib\security\cacerts" -alias ca -file pdca.crt -storepass -noprompt

pause

d. Edit the pdWebSecure.bat to provide appropriate values for the following passwords, and then save your changes:

- Choose a secure password for the server.jks keystore and enter it four times in the commands in the Generate the server.jks keystore section. ○ - Enter the password for the cacerts truststore two times in the commands in the Import the PowerDesigner CA to the cacerts truststore section.

PowerDesigner Web 400 PUBLIC Installing and Administering PowerDesigner Web  Note

If your truststore is not located at C:\Program Files\SAP\PowerDesigner Portal 16\sapjvm_8_jre\lib\security\cacerts, you must also provide the appropriate path in the two commands in this section.

3. Stop the SAP PowerDesigner Nodeserver service and then stop the SAP PowerDesigner Portal service. 4. Open a command prompt with administrator privileges in your C:/ssl folder and run the following command:

pdWebSecure.bat

The command will generate all the necessary files to enable secure connections for your PowerDesigner Web installation and import the appropriate certificates into your keystore and truststore.

 Note

The pdweb.crt certificate signed by the private certification authority is sufficient for testing, but will not be trusted by your users' Web browsers, and they will receive a security warning when accessing your server. To securely identify your server, you must send your certificate request to your organization's certification authority (see step 8 [page 403]).

5. Edit \nodeserver\configExt.json to enable encryption for Node and point to the generated files:

{

"node": { "secure": true, "keyFile": "C:/ssl/pdweb.key", "passphrase": null, "certFile": "C:/ssl/pdweb.crt", "caFile": null, "useSSO": false, "port": 3030, "home": "C:/Program Files/SAP/PowerDesigner Portal 16", "loggingLevel": null, "useCluster": true, "cpus": null, "maxCpus": null, "useCache": true }, "web": { "applicationContext": "/powerdesigner-web", "resourcesPath": "/resources" }, "connections": { "repository": { "secure": true, "caFile": "C:/ssl/pdca.crt",

"host": "",

"port": 8443, "oDataPath": "/odata.svc", "oData2Path": "/odata2.svc", "maxTimeout": 1800000 } }

}

Where:

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 401 ○ In the node list: ○ "secure": true - Enables encryption between client Web browsers and the Node server. ○ "keyFile": "C:/ssl/pdweb.key" - Points to the generated pdweb.key file.

 Note

For this and other paths, you should use only forward slashes as in the example to ensure that the JSON is correctly interpreted.

○ "passphrase": null - Not required for the self-signed certificate. ○ "certFile": "C:/ssl/pdweb.crt" - Points to the generated pdweb.crt file. ○ "useSSO": false - Single sign-on is not supported in this configuration. To enable it, see Enabling Single Sign-On for PowerDesigner Web [page 405]. ○ "port": 3030 - Specifies the port to which your users will connect with encryption. ○ "home": "C:/Program Files/SAP/PowerDesigner Portal 16" - Specifies the portal install directory. ○ "loggingLevel": null - Specifies the verbosity of the log files. We recommend that you set the level to null by default. If you encounter problems, it may be helpful to change it to "debug".

 Note

The most useful log files are located at C:\Program Files\SAP\PowerDesigner Portal 16\log.

○ Other options can keep their existing values. ○ In the connections/repository list: ○ "secure": true - Enables encryption between Node and Tomcat. ○ "caFile": "C:/ssl/pdca.crt" - Points to the certification authority certificate. ○ "host": "" - Specifies the fully qualified name of the server on which both Node and Tomcat are installed.

 Note

We recommend that you set the value to . If node is unable to resolve the server name, it may be helpful to change it to .

○ "port": 8443 - Specifies the port that Node will use to connect to Tomcat, and must be the same as the port specified in server.xml (see next step). ○ Other options can keep their existing values. 6. Modify \Tomcat\conf\server.xml to enable encryption for Tomcat: a. Create a

port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="want" sslProtocol="TLS" keystoreFile="C:/ssl/server.jks" keystoreType="JKS"

PowerDesigner Web 402 PUBLIC Installing and Administering PowerDesigner Web keystorePass=""

compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,application/xml,application/ atom+xml,application/x-font-ttf,application/javascript,application/ json,text/css"/>

Where: ○ port - must match the port set in \nodeserver\configExt.json for connections/repository/port. ○ sslProtocol - is set to the list of TLS versions that are accepted by the server. For example: ○ TLS - Accept any version of TLS. ○ TLSv1.2 - Accept only TLS v1.2. ○ TLSv1.1+TLSv1.2 - Accept only TLS v1.1 or TLS v1.2. ○ clientAuth is set to want to allow a standard login if the certificate cannot be found. ○ keystoreFile points to your generated server.jks keystore. ○ keystorePass is the defined for your generated server.jks keystore. ○ The compression options are the standard options set by the PowerDesigner Web installer to optimize performance. b. Comment out any other connector elements to prevent any non-secure access. 7. Restart and test your environment: a. Start the SAP PowerDesigner Portal service and then start the SAP PowerDesigner Nodeserver service. b. Navigate to the login page using http://:3030 to confirm that it is no longer accessible. c. Navigate to the login page using https://:3030 to confirm that the encrypted connection is accessible with a security warning.

 Note

If you encounter problems, the most useful log files are located at C:\Program Files\SAP \PowerDesigner Portal 16\log. To obtain more verbose logging information, open \nodeserver\configExt.json, set "loggingLevel": "debug", and restart the server.

8. Replace the self-signed pdweb.crt certificate with a certificate signed by your company’s certification authority: a. Obtain the following files and save them to C:/ssl:

○ Your organization's root certification authority certificate. ○ A certificate (*.crt) and key (*.key) signed by your company’s certification authority to identify the PowerDesigner Web server.

 Note

It is commonly necessary to edit the received certificate file so that it contains, in order, the contents of: ○ The signed certificate for your PowerDesigner Web server ○ The certificate of one or more intermediate certification authorities ○ The certificate of your organization's root certification authority

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 403 b. Edit \nodeserver\configExt.json to use the new signed PowerDesigner Web certificate and your organization's root certification authority certificate:

{

"node": { "secure": true, "keyFile": "C:/ssl/pdweb.key",

"passphrase": ,

"certFile": "C:/ssl/pdweb.crt", "caFile": null, "useSSO": false, "port": 3030, "home": "C:/Program Files/SAP/PowerDesigner Portal 16", "loggingLevel": null, "useCluster": true, "cpus": null, "maxCpus": null, "useCache": true }, "web": { "applicationContext": "/powerdesigner-web", "resourcesPath": "/resources" }, "connections": { "repository": { "secure": true,

"caFile": "C:/ssl/.crt",

"host": "",

"port": 8443, "oDataPath": "/odata.svc", "oData2Path": "/odata2.svc", "maxTimeout": 1800000 } }

}

Where: ○ "keyFile": "C:/ssl/pdweb.key" - Points to the new signed PowerDesigner Web .key file.

 Note

For this and other paths, you should use only forward slashes as in the example to ensure that the JSON is correctly interpreted.

○ "passphrase": - If required in your environment. ○ "certFile": "C:/ssl/pdweb.crt" - Points to the new signed PowerDesigner Web .crt file. ○ "caFile": "C:/ssl/.crt" - Points to your organization's certification authority certificate. ○ Other options can keep their existing values. c. Run the following command to overwrite the temporary keystore file with a new one using the signed certificate and your organization's certification authority certificate:

openssl pkcs12 -export -in pdweb.crt -inkey pdweb.key -out tempkeystore.p12 -name pdweb -CAfile .crt -caname ca - password pass:

PowerDesigner Web 404 PUBLIC Installing and Administering PowerDesigner Web Then run the following command to overwrite the server.jks keystore with a new one containing the signed certificate:

keytool -importkeystore -deststorepass -destkeystore server.jks -srckeystore tempkeystore.p12 -srcstoretype PKCS12 - srcstorepass -noprompt

d. Run the following command to add your organization's certification authority certificate to the jre truststore:

keytool -importcert -keystore "C:\Program Files\SAP\PowerDesigner Portal 16\sapjvm_8_jre\lib\security\cacerts" -alias ca -file .crt -storepass -noprompt

e. Start the SAP PowerDesigner Portal service and then start the SAP PowerDesigner Nodeserver service. f. Navigate to the login page using https://:3030 to confirm that there is no longer a security warning.

8.3.7 Enabling Single Sign-On for PowerDesigner Web

In environments where X.509 client authentication is in place, an administrator can enable PowerDesigner Web to authenticate users by the user certificate stored on their client machine. The client browser sends a certificate issued by a trusted certificate authority to identify the user and they are logged in automatically, without the need to manually enter their credentials.

Procedure

1. If you have not already done so, enable SSL (see Enabling Secure Connections (SSL/TLS) for PowerDesigner Web [page 398]). 2. Prepare your environment for this change: a. Enable LDAP (see Connecting to an LDAP Server for User Authentication [page 392]).

Enabling LDAP allows the preparation of user accounts for administrators and enhances the ability of PowerDesigner Web to obtain the real names and email addresses of your users, which may not always be available in their certificates, from the LDAP server. b. Create accounts for one or more External (managed by LDAP) users who will act as repository administrators (Managing Externally-Authenticated Repository Users [page 380]) and add them to the Administrators group. c. [optional] Customize the rights and permissions that standard users are granted by changing the default rights and permissions granted to the External users group or pre-creating user accounts for other individuals. 3. Generate a private certification authority to control the communication between the node frontend and Tomcat backend of the server. a. Copy the following code into a file and save it in your folder as pdWebSSO.bat:

rem "------Batch file to enable SSO for the PowerDesigner Web server"

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 405 rem "------Generate private CA to manage communications between node and Tomcat" openssl genrsa -out privateca.key 2048 openssl req -new -key privateca.key -out privateca.csr -subj "/CN=ssoca" openssl x509 -req -days 3650 -in privateca.csr -signkey privateca.key -out privateca.crt rem "------Generate frontend certificate for node.js client issued by internal CA ..." openssl genrsa -out frontend.key 1024 openssl req -new -key frontend.key -out frontend.csr -subj "/CN=frontend" openssl req -in frontend.csr -text -noout openssl x509 -req -days 3650 -in frontend.csr -CA privateca.crt -CAkey privateca.key -CAcreateserial -out frontend.crt openssl x509 -in frontend.crt -text -noout rem "------Generate a trust keystore for tomcat server ... "

keytool -genkey -alias tempalias -keyalg RSA -keysize 2048 -dname "CN=temp" -keystore truststore.jks -storepass - keypass -noprompt

keytool -delete -alias tempalias -keystore truststore.jks -storepass -noprompt

rem "------Import internal ca to tomcat trust keystore in order to trust node server as its one and only client"

keytool -importcert -keystore truststore.jks -alias privateca -file privateca.crt -storepass -noprompt

keytool -list -keystore truststore.jks -storepass

pause

b. Edit the pdWebSSO.bat to specify a secure password, , for the truststore.jks keystore, enter the password in the five places indicated, and then save your changes: c. Stop the SAP PowerDesigner Nodeserver service and then stop the SAP PowerDesigner Portal service. d. Open a command prompt with administrator privileges in your C:/ssl folder and run the following command:

pdWebSSO.bat

The command will generate all the necessary files to enable SSO for your PowerDesigner Web installation. 4. Edit \nodeserver\configExt.json to enable SSO :

{

"node": { "secure": true, "keyFile": "C:/ssl/pdweb.key",

"passphrase": ,

"certFile": "C:/ssl/pdweb.crt",

"caFile": ,

"useSSO": true, "port": 3030, "home": "C:/Program Files/SAP/PowerDesigner Portal 16", "loggingLevel": null, "useCluster": true, "cpus": null, "maxCpus": null, "useCache": true }, "web": { "applicationContext": "/powerdesigner-web", "resourcesPath": "/resources" }, "connections": { "repository": {

PowerDesigner Web 406 PUBLIC Installing and Administering PowerDesigner Web "secure": true, "keyFile": "C:/ssl5/frontend.key", "certFile": "C:/ssl5/frontend.crt",

"caFile": "",

"host": "",

"port": 8443, "oDataPath": "/odata.svc", "oData2Path": "/odata2.svc", "maxTimeout": 1800000 } }

}

Where: ○ "caFile": - Points to your organization's SSO certification authority certificate. ○ "useSSO": true - Enables SSO. ○ "keyFile": "C:/ssl5/frontend.key" - Points to the new key for the node client generated by the private certification authority. ○ "certFile": "C:/ssl5/frontend.crt" - Points to the new certificate for the node client generated by the private certification authority. ○ Other options can keep their existing values. 5. Modify \Tomcat\conf\server.xml to enable Tomcat to use the new truststore by adding the following three lines to your secure

○ truststoreFile points to your generated truststore.jks truststore. ○ truststoreType is set to JKS. ○ truststorePass specifies your . Your connector should now be as follows

port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="want" sslProtocol="TLS" keystoreFile="C:/ssl/server.jks" keystoreType="JKS"

keystorePass=""

truststoreFile="C:/ssl/truststore.jks" truststoreType="JKS"

truststorePass=""

compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,application/xml,application/atom +xml,application/x-font-ttf,application/javascript,application/json,text/ css"/>

6. Restart and test your environment: a. Start the SAP PowerDesigner Portal service and then start the SAP PowerDesigner Nodeserver service. b. Navigate to the login using the https:// prefix. You should bypass the login screen and go straight to the homepage.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 407 8.3.8 Configuring the Full-Text Search Index

Repository administrators can review the status of the full-text index and change the interval at which it is rebuilt.

Procedure

1. Click Administration Settings in the navigation panel, and then click the Full Text Index tile. 2. Review the status of the index and the next scheduled rebuild in the Index Information section. 3. Enter appropriate values for each of the following settings:

Parameter Description

Index rebuild interval Specifies the interval between rebuilds of the search index in minutes. By default, the in­

dex is rebuilt every 120 minutes. Click the Menu Rebuild Index button on the homepage to perform an immediate rebuild.

Index rebuild hours Specifies the hours of the day when the index rebuild is allowed to start (in the time zone where the PowerDesigner Web server is installed). By default it can start any time. In the following example, the rebuild is restricted from starting between 5am and 7pm:

0-5,19-23

4. Click Save to save your changes. You must restart the PowerDesigner Portal Server for changes to take effect.

8.3.9 Configuring Other PowerDesigner Web Parameters

An administrator can configure PowerDesigner Web by editing files on the host server.

Repository

The repository connection and configuration information is initially set by the installer. You can edit certain parameters, where indicated, in the administration interface and all parameters (including caching and logging parameters) can be edited in the file /config/repository.xml.

 Note

Newly-available parameters may not be added to repository.xml during an upgrade. If any of the listed parameters is not present in your install, you can add it manually inside the appropriate bean element.

PowerDesigner Web 408 PUBLIC Installing and Administering PowerDesigner Web The repository database connection parameters can be edited in the administration interface (see Connecting to the Database Server [page 390]), or in /config/repository.xml inside the following bean element:

Param Name Description

dbtype / Specify the type of the dbms hosting the repository, the connection profile used to connect to it, databaseProfil and the JDBC driver required. Permitted sets of values are: e / jdbcDriverClas ● SAP SQL Anywhere / asa90.xml / com..jdbc4.jdbc.SybDriver s ● SAP ASE / ase1500.xml / com.sybase.jdbc4.jdbc.SybDriver ● IBM DB2 / db2cs8.xml / com..db2.jcc.DB2Driver ● Oracle 10g / oracle9i.xml / oracle.jdbc.OracleDriver ● Oracle 11g, 12c / oracle9i.xml / oracle.jdbc.OracleDriver ● MS SQL Server 2008, 2012 / sqlserver2005.xml / com.microsoft.sqlserver.jdbc.SQLServerDriver ● SAP HANA / hana.xml / com..db.jdbc.Driver

connectionURL Specifies the full connection URL for connecting to the repository database. In the case of SAP SQL Anywhere, the format of the URL is the following:

jdbc::Tds::/

dbhost Specifies the name of the host machine for the repository database. In certain environments, a fully qualified domain name may be required.

dbport Specifies the port number of the host machine through which the repository database is available.

dbname Specifies the name of the repository database.

user Specifies the database user name that the repository uses to access the DBMS.

password Specifies the database password that the repository uses to access the DBMS. This must be en­ tered normally, and will be encrypted as soon as the server connects to the database.

initialPoolSiz Specifies the initial number of connections in the connection pool. The default is 1. e

minIdle Specifies the minimum number of connections that can remain idle in the pool, without extra ones being created. Specify 0 to create none. The default is 1.

maxIdle Specifies the maximum number of connections that can remain idle in the pool, without extra ones being released. Specify -1 for no limit. The default is 3.

maxWait Specifies the maximum number of milliseconds that the pool will wait when there are no available connections for a connection to be returned before throwing an exception. Specify -1 to wait indefi- nitely. The default is 20.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 409 Param Name Description

maxActive Specifies the maximum number of active connections that can be allocated from this pool at the same time. Specify -1 for no limit. The default is 100.

isolationLevel Specifies the isolation level used to isolate transactions in a multi-user environment. By default, level 1 is used for ASA databases and level 2 for ASE. See your DBMS documentation for informa­ tion about the behavior of each level in your environment.

maxBytesPerCha For non-Oracle unicode or multi-byte character set databases, specify the bytes per character used r by the database:

● 1-byte - For SBCS (Single-Byte Character Set) ● 2-byte - [default] For DBCS (Double-Byte Character Set) ● 3-byte - For Unicode or MBCS (Multi-Byte Character Set)

Charset [ASE only] Specifies the character set used by the database.

The general server settings control the behavior of the server and can be edited in the administration interface (see Configuring the PowerDesigner Web Server [page 390]), or in /config/ repository.xml inside the following bean element:

Setting Description

name Specifies the name of the repository.

description Describes the repository.

sessionTimeout Specifies the amount of time that the browser session is permitted to be idle before it is automati­ cally logged out. Default 15 minutes.

changeMonitorI Specifies the amount of time between the browser checking for changes in the repository database. nterval Default 5 minutes.

maxUsers Specifies the maximum number of users that may connect to PowerDesigner Portal at any one time.

nodeServerPort Specifies the port for the node.js v4.2.2 server, which makes your process models available for browsing and importing directly into the SAP NetWeaver Developer Studio Process Composer v7.3 EHP1 SP15 or higher.

Search Index parameters control how frequently the search index is refreshed and can be edited in the administration interface (see Configuring the Full-Text Search Index [page 408]), or in /config/repository.xml inside the following bean element:

PowerDesigner Web 410 PUBLIC Installing and Administering PowerDesigner Web Setting Description

indexRebuildIn Specifies the interval between rebuilds of the search index in minutes. By default, the index is re­ terval built every 120 minutes. Click the Menu Rebuild Index button on the homepage to perform an immediate rebuild.

indexRebuildHo Specifies the hours of the day when the index rebuild is allowed to start (in the time zone where the urs PowerDesigner Web server is installed). By default it can start any time. In the following example, the rebuild is restricted from starting between 5am and 7pm:

0-5,19-23

indexLocation Specifies the location of the server index. By default, it is written to / index.

Diagram caching parameters control the caching of diagram thumbnails to speed the loading of the repository and workspace pages and are contained in the file /config/repository.xml inside the following bean element:

Setting Description

disablePreload Disables diagram thumbnail caching. Thumbnail caching may cause a considerable time (depend­ ing on the size of the database) when starting the server for the first time, but should have no effect on day-to-day operations.

maxThreads Specifies the maximum number of threads that can be dedicated to thumbnail caching.

The server logging settings are contained in the file /config/repository.xml inside the following bean element:

Setting Description

logFileName Specifies the name to give to the log file. Logs are written to the /log directory.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 411 Setting Description

logLevel Specifies the minimum level of importance for the messages to be written to the log file. Permitted values from most to least verbose are:

● Trace ● Debug ● Info ● Warn ● Error ● Fatal

logFilePattern Specifies how the log file should be rolled over. Permitted values are:

● Daily rolling – [default] the file rolls over after a certain time. Specify the duration and the format of the log file name in the date pattern field below. ● File size rolling – the file rolls over when it reaches a certain size. Specify the maxi­ mum file size in the field below.

logMaxFileSize Specifies the maximum size before the log file is truncated, in MB.

logTruncateLog Specifies to create a new log file each time the server is restarted. File

logDatePattern Specifies the format to give to dates in the log file.

Default language parameters control the interface language that is presented by default and are contained in the file /config/repository.xml inside the following bean element:

Setting Description

defaultLanguag Specifies the default interface language. Users can select a different interface language on the log in e and home page.

License

The license server parameters can be edited in the administration interface (see Connecting to a License Server [page 392]) or in the file /license/PowerDesigner.server.lic.

Client

The client information is contained in the file /config/cmrclient.xml. The logging options are the same as for the server (see above).

PowerDesigner Web 412 PUBLIC Installing and Administering PowerDesigner Web 8.4 Monitoring Repository Activities

Users with the appropriate privileges can review lists of repository activities, change lists, and file locks.

To access these lists, click Activities in the navigation panel:

● Log - [requires the Manage All Documents privilege] View events concerning repository documents: ○ Check In - User checks in a new document or a new version of a document. This event is also triggered each time a user saves a draft diagram on the Web. ○ Change List Submission - User submits a diagram for review. ○ Change List Approval / Rejection / Return for Revision - A reviewer approves, rejects or returns a change list to the user for revision. ○ Freeze / Unfreeze - A document version is frozen or unfrozen (only used with the desktop PowerDesigner client). ○ Lock / Unlock - A document is locked for editing or the lock is released manually or by a check in. ○ Document Move - User moves a document from one repository folder to another. ○ Version Deletion / Document Deletion - User deletes a version of a document or a document. ○ Branch Creation - User creates a branch (only available with the desktop PowerDesigner client). ○ Integration - User integrates a document from one branch to another (only available through the desktop PowerDesigner client). ○ Repository Upgrade - Administrator upgrades the repository to a new software version (see Installation Guide > Installing the Repository > Upgrading the Repository ). ○ Automatic Fix - An existing document is updated to reflect changes required by a new software version. ● Security Log - [requires the Manage Users & Permissions privilege] View events concerning user accounts: ○ User Created - User's account is created, either by an administrator or automatically (if the Auto- create user accounts in repository option or single sign-on is enabled, see Connecting to an LDAP Server for User Authentication [page 392] and Enabling Single Sign-On for PowerDesigner Web [page 405]). ○ Login - User enters correct user name and password combination. ○ Failed Login - User enters incorrect user name and password combination. ○ Logout - User logs out. ○ Password Changed - User changes password. ○ Password Reset - User's password is changed by an administrator. ○ User Blocked for Failed Logins - User is blocked for having entered too many incorrect user name and password combinations (see Defining a Password Policy [page 396]). ○ User Blocked for Inactivity - User is blocked for having tried to login after too long a period of inactivity (see Defining a Password Policy [page 396]). ○ User Unblocked - User is unblocked by an administrator (see Unblocking Blocked Users [page 388]). ○ User Deactivated - User is deactivated by an administrator (see Deactivating Users [page 388]). ○ User Activated - User is reactivated by an administrator. ○ User Accessed - User's account information is accessed by an administrator. ○ User Updated - User's account information is updated by an administrator.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 413 ○ User Deleted - User's account is deleted by an administrator ● Change Lists - View all your change lists, including those that have a status of Draft, Submitted, Approved, and Rejected.

 Note

Users with the Manage All Documents or Manage Users & Permissions privilege can view all change lists from all users. If the creator of a draft change list is unavailable, you can re-assign the draft changes to another user by selecting it and clicking the Re-Assign tool. The list of users to whom you can re-assign the change list is limited to those who have at least Submit permission on the diagram.

● Locks - View documents that are currently locked in the repository. You can remove a lock from a document that you have locked (and delete your associated change list) by selecting it and clicking the Delete tool.

 Note

Users with the Manage All Documents or Manage Users & Permissions privilege can remove the lock from any document locked by any user.

To reorder any of these lists by values in a column, click in the column header. Some columns also support filtering on their values. To filter the list by values in any of its text fields, enter two or more characters in the search box above it.

8.4.1 Defining a Retention Policy for Log Data

A repository administrator can specify a retention period for log entries, after which they will be deleted automatically. By default, log entries are kept indefinitely.

Procedure

1. Click Activities in the navigation panel, and then click the Retention Policy tile. 2. Enter an appropriate value in the Log data retention period (days) field.

For example, to retain log entries for only the last four weeks, enter 28. 3. Click Save to save your changes.

PowerDesigner Web 414 PUBLIC Installing and Administering PowerDesigner Web 8.5 Using APIs

Developers can make authenticated requests to PowerDesigner Web APIs to access its resources.

8.5.1 Enabling the OAuth 2.0 Client Credentials Flow

PowerDesigner Web checks user information in API requests to verify whether the user is permitted to the requested resources. Normally, you can use the OAuth 2.0 authorization grant types Authorization Code or Resource Owner Password Credentials to obtain the access token in JWT format. In cases where these grant types don't fit the situation, use the OAuth 2.0 Client Credentials grant as the alternative authentication type, which doesn't require sending user information. Instead, specify the user information in PowerDesigner Web in advance.

Prerequisites

● To configure the required settings in PowerDesigner Web, you must have the Manage Users and Permissions privilege (see Controlling Repository Access [page 375]). ● You have created a PowerDesigner Web user and granted it with the appropriate permissions and privileges (see Controlling Repository Access [page 375]) that match your API requests. This user will be used for authorization check when you send the requests.

Procedure

1. In PowerDesigner Web, click Administration Settings in the navigation panel, and then click the API Settings tile. 2. In the Info tab General section, check Enable Client Credentials. 3. Click Select a User to open the list of all the users. 4. Select the user that you have previously prepared and confirm your selection. The name and email of the selected user are displayed in the Technical User Name and Technical User Email fields respectively. 5. Save your changes.

Next Steps

Now you can send API requests to PowerDesigner Web using the OAuth 2.0 Client Credentials grant type. If you don’t have the values for the required parameters Client ID, Client Secret and Access Token URL, create a customer incident under the component BC-EAD-SML with information about your subdomain and the associated API endpoint.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 415 8.5.2 Exporting Repository Content Using an API

Programmers can use a dedicated API to export repository content.

PowerDesigner Web provides an API that lets you export repository content.

In order to be able to use the API, you must be connected to PowerDesigner Web and use the token from an external session, or call a GET query from the same browser session.

The query syntax for a model is as follows:

/api/v1/repositoryDocuments?path=&documentType=

The query syntax for a folder is as follows:

/api/v1/repositoryDocuments?path=&documentType=Folder

The query returns a base64 encoded json content as follows:

 Sample Code

{

"d":

{ "exportRepositoryApi": "" }

}

In order to produce a ZIP result similar to the result obtained when using the Export to Repository Zip File command from the from the GUI, you must then decode the exported content using your favorite converter tool or method.

8.6 Customizing Modeling Objects

Users with the Edit Extensions on Web privilege can define custom properties and dependencies for standard types of objects, and can create custom objects. These customizations can be added to the default extension files, which are automatically attached to all models of a particular type, or packaged in custom extension files, which can be manually attached to models or made available for selection in the New Model dialog.

You can define the following types of customizations:

● Custom properties for objects (see Creating Custom Properties [page 417]). ● Custom dependencies for objects (see Creating Custom Dependencies [page 419]). ● Custom lists of values for object properties (see Customizing Lists of Values [page 421]). ● Customized property sheets (see Customizing Object Property Sheets [page 422]). ● Custom objects (see Creating Custom Object Types [page 424]).

You can make your customizations available:

● Automatically, to all models of the specified type, by adding them to one of the default extension files:

PowerDesigner Web 416 PUBLIC Installing and Administering PowerDesigner Web ○ BPMN2 - Descriptive and Executable ○ Conceptual Data ○ Data Movement Diagram ○ Enterprise Architecture Diagram ○ Process Map ○ Physical Data - All DBMSs ○ Requirements List ● Optionally, by adding them to a custom extension file, which can be manually attached to models of the specified type (see Creating Custom Extension Files [page 425]) or as a new type of model for selection in the New Model dialog (see Making Your Customizations Available in the New Model Dialog [page 426]).

8.6.1 Creating Custom Properties

Users with the Edit Extensions on Web privilege can define custom properties for objects. Custom properties are displayed on the Info tab of objects of the specified type, by default in a section entitled Custom Properties.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the name of the extension you want to edit to open it and list the standard types of objects in this type of model. When defining a custom dependency, you can select a: ○ Default extension file - to make it available in all models of this type. ○ Custom extension file - to make it available optionally by attaching the file to individual models or as a new type of model in the New Model dialog. 3. Click the object type for which you want to define a new property to open it in the editor.

 Note

If your object type is not present, click the + button, and then click the object type to add it to the list and open it.

4. In the Properties section, click the + button to create a property, and enter:

Property Description

Name Specifies the name of the property as it will appear in the interface.

Code Specifies the internal name of the property, which must not contain spaces or the dot character and must be unique for this class of objects.

 Caution

If you change the code after the property is in use, then any values set in models will be lost.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 417 Property Description

Data type You can choose between: ○ Boolean - Yes/No values as checkbox ○ Integer - Whole number values ○ Float - Number values that support decimal places ○ String - Single-line textual values ○ Text - Multiline textual values ○ Object - Link to another object ○ URL - Link to any valid URL ○ Date - Date with date picker control

Default value Specifies the value of the property that will be set in the interface by default.

Object type [object] Click the Select tool to open a list to choose the type of object with which to populate the property. By default, the object types from the current model type are listed. To select from another type of model, click the More Types button and select the required model type.

In this example, a new boolean property is created for the Data Store class:

5. Click Save to save your changes. 6. Optionally, customize the property sheet to move the new property from the Custom Properties section (see Customizing Object Property Sheets [page 422]).

The new property is available to all objects of the specified type on their Info tab, by default in a section entitled Custom Properties:

PowerDesigner Web 418 PUBLIC Installing and Administering PowerDesigner Web

 Note

Each item in the PowerDesigner Web list of extensions is stored in the repository as a dedicated PowerDesigner extension file (.xem), which is automatically attached to any appropriate model opened in the PowerDesigner desktop client to display the custom properties. Editing these PowerDesigner Web extension files in the PowerDesigner desktop client Resource Editor is not supported.

 Note

Models created prior to v16.5 SP05 and models created in the PowerDesigner desktop client will not automatically display custom properties. To enable them, you must check the model out with the desktop client, manually attach the appropriate extension file, and check it in again.

8.6.2 Creating Custom Dependencies

Users with the Edit Extensions on Web privilege can define new types of dependencies for modeling objects. Custom dependencies are displayed on the Dependencies tab of objects of the specified type.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the name of the extension you want to edit to open it and list the standard types of objects in this type of model. When defining a custom dependency, you can select a: ○ Default extension file - to make it available in all models of this type. ○ Custom extension file - to make it available optionally by attaching the file to individual models or as a new type of model in the New Model dialog.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 419 3. Click the object type for which you want to define a new dependency to open it in the editor.

 Note

If your object type is not present, click the + button, and then click the object type to add it to the list and open it.

4. In the Dependencies section, click the + button to create a dependency and choose the type of object with which to populate the dependency list. By default, the object types from the current model type are listed. To select from another type of model, click the More Types button and select the required model type.

Property Description

Name Specifies the name of the dependency list as it will appear in the interface on the Dependencies tab.

Code Specifies the internal name of the dependency, which must not contain spaces or the dot char­ acter and must be unique for this class of objects.

 Caution

If you change the code after the dependency is in use, then any values set in models will be lost.

Object type Click the Select tool to change the type of object for the dependency list.

In this example, a new dependency list is created for the Business Capability class:

5. Click Save to save your changes. The new dependency list is available to all objects of the specified type on their Dependencies tab:

PowerDesigner Web 420 PUBLIC Installing and Administering PowerDesigner Web

8.6.3 Customizing Lists of Values

Users with the Edit Extensions on Web privilege can modify the lists of values available for certain standard object properties, such as the Type, Status, and Priority properties of requirements or the Development Language, Operating System, and Type of applications.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the name of the extension you want to edit to open it and list the classes. 3. Click the object type whose property you want to edit to display its list of properties.

All the properties with lists of values that can be edited are listed. 4. Click the property you want to edit to display its property sheet, and then click the Edit tool to the right of the List of Values field. 5. The Values dialog lists all the available values for the property as a:

○ Value - specifies the internal value, which must respect the datatype of the property. ○ Label - specifies how the value is displayed in the UI.

 Note

Some values depend on another property, such as the type of parent of the object. In this case, the type of dependency is specified above the list and as an additional column in the list.

6. Modify the list as necessary:

○ Edit existing values or labels.

 Note

The order in which labels are displayed in the list in the UI is controled by the Value.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 421 ○ Delete or add value-label pairs using the tools above the list 7. Click OK to save your changes. The updated list of values is immediately available to all objects of the specified type.

8.6.4 Renaming Standard Object Types

Users with the Edit Extensions on Web privilege can change the name used to identify standard object types in object lists, property sheets, the diagram toolbox, and other places in the UI.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the name of the extension you want to edit to open it and list the standard types of objects in this type of model. When renaming a standard object type, you can select a: ○ Default extension file - to change the name in all models of this type. ○ Custom extension file - to change the name optionally by attaching the file to individual models or as a new type of model in the New Model dialog. 3. Click the object type you want to rename to open it in the editor.

 Note

If your object type is not present, click the + button, and then click the object type to add it to the list and open it.

4. Enter the new name for the object type in the Name field and the new plural form in the Plural field. 5. Click Save to save your changes.

The new object type name replaces the standard name in object lists, property sheets, the diagram toolbox, and other places in the UI.

8.6.5 Customizing Object Property Sheets

Users with the Edit Extensions on Web privilege can customize object property sheets by moving and hiding properties and creating new sections on the Info tab.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the name of the extension you want to edit to open it and list the standard types of objects in this type of model. When customizing an object property sheet, you can select a:

PowerDesigner Web 422 PUBLIC Installing and Administering PowerDesigner Web ○ Default extension file - to make it available in all models of this type. ○ Custom extension file - to make it available optionally by attaching the file to individual models or as a new type of model in the New Model dialog. 3. Click the object type for which you want to customize the property sheet to open it in the editor.

 Note

If your object type is not present, click the + button, and then click the object type to add it to the list and open it.

4. Click the Edit button to the right of the Property Sheet field to open the Property Sheet dialog, which displays the Info tab sections and properties in a tree format.

The following actions are available in this dialog: ○ Move a property - Drag the property and drop it onto a section or between two properties. Alternatively, select the property, click the Cut button, then select a section or other property and click the Paste button.

 Note

You cannot drag and drop properties if any item is selected in the list.

○ Hide a property - Click the switch in the Displayed column. ○ Create a new section - Select the checkbox of the section under which you want to create the new section, click the New Section button, and then enter a name for the new section in the Label column.

 Note

You cannot move or manually hide either standard or new sections. However, a section will be hidden if it contains no properties or all its properties are hidden.

5. Click Save to save your changes.

The customized property sheet is available to all objects of the specified type.

 Note

To revert your property sheet customizations, click the Delete tool to the right of the property sheet field.

 Note

Each item in the PowerDesigner Web list of extensions is stored in the repository as a dedicated PowerDesigner extension file (.xem), which is automatically attached to any appropriate model opened in the PowerDesigner desktop client to display the custom properties. Editing these PowerDesigner Web extension files in the PowerDesigner desktop client Resource Editor is not supported.

 Note

Models created prior to v16.5 SP05 and models created in the PowerDesigner desktop client will not automatically display custom properties. To enable them, you must check the model out with the desktop client, manually attach the appropriate extension file, and check it in again.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 423 8.6.6 Creating Custom Object Types

Users with the Edit Extensions on Web privilege can define new types of objects to be modeled. Custom object types have their own object lists and, if the Symbol option is selected, have a tool displayed in the Custom Tools category of the Toolbox.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the name of the extension you want to edit to open it and list the standard types of objects in this type of model. When defining a custom object type, you can select a: ○ Default extension file - to make it available in all models of this type. ○ Custom extension file - to make it available optionally by attaching the file to individual models or as a new type of model in the New Model dialog. 3. Click the + button, and then click New Class to create a new object type in the list and open it. 4. In the General section, complete the following properties:

Property Description

Name Specifies the name of the object type as it will appear in the interface.

Code Specifies the internal name of the object type, which must not contain spaces or the dot char­ acter and must be unique.

Plural Specifies the plural form of the object name as it will appear in certain contexts.

Base class Specifies the standard object type on which the new object type is based. By default the Extended Object class, which has only minimal standard properties, is selected, but you can base your new object on any of the standard objects in this type of model.

For example, in an EAM, you could base a new object type, Factory, on the standard Site class. A factory would automatically inherit the standard properties of a site, and you could de­ fine additional properties, such as Annual production.

Symbol Specifies that the custom object can appear in diagrams and can be created from the toolbox. When you select this option, you can also specify a toolbox icon from the UI5 icon library).

 Note

If you do not select this option, the custom object can only be created in its object list.

Properties Specify properties as appropriate (see Creating Custom Properties [page 417]).

Dependencies Specify dependencies as appropriate (see Creating Custom Dependencies [page 419]).

5. Click Save to save your changes.

 Note

If you want to immediately use the new object type as a property or dependency for another object type, you must refresh your browser tab to make it available for selection.

PowerDesigner Web 424 PUBLIC Installing and Administering PowerDesigner Web The custom object is available in its own object list in models of the selected type:

If the Symbol option is selected, a tool is available in the toolbox in the Custom Tools category:

8.6.7 Creating Custom Extension Files

Users with the Edit Extensions on Web privilege can define custom extension files to package their customizations, which can then be manually attached to models or added as new types of diagrams in the New Model dialog.

Procedure

1. Click Customize in the navigation panel to view the list of extensions. 2. Click the + button, enter a name and code for your extension file, select the type of model that you want to extend, and then click Add.

The custom extension file is created and opens in the editor. 3. Click the + button to add the types of object that you want to customize:

○ To customize an existing class of object, select it in the list. ○ To create a new type of object, select (see Creating Custom Object Types [page 424]). 4. Specify custom properties and dependencies as appropriate.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 425 ○ Custom properties (see Creating Custom Properties [page 417]) ○ Custom dependencies (see Creating Custom Dependencies [page 419]) 5. Click Save to save your changes. You can use your custom extension file in the following way: ○ Manually attach it to models (see Attaching a Custom Extension File to a Model [page 426]). ○ Add it as a new type of model in the New Model dialog (see Making Your Customizations Available in the New Model Dialog [page 426]).

 Note

You can only delete a custom extension file if it is not attached to any model.

8.6.8 Attaching a Custom Extension File to a Model

You can attach a custom extension file to a model to make the customizations defined in it available in the model.

Procedure

1. Open a diagram in the model to which you want to attach the custom extension file. If it is not already in edit mode, click Edit. 2. On the diagram property sheet Info tab, expand the Version Info section, and click the Model link to go to the model property sheet. 3. Click the Children tab and expand the Extensions list. 4. Click the + tool, select the custom extension to attach, and click Select. 5. Click Save to activate the custom extension.

Once the model is saved, the customizations are available for use.

8.6.9 Making Your Customizations Available in the New Model Dialog

You can associate your custom extensions with new types of diagrams and make them available in the New Model dialog.

Procedure

1. Create a custom extension file (see Creating Custom Extension Files [page 425]) and define your customizations in it as appropriate.

PowerDesigner Web 426 PUBLIC Installing and Administering PowerDesigner Web 2. Create a model template: a. In the repository explorer, navigate to the Library/Resources/Model Templates folder and click the + tile to create a new model. b. In the New Model dialog, enter the following values and then click Create:

○ Name - Enter the name that you want to appear as the new model type. ○ Type - Select the standard model type that your extension file is based on.

 Note

You can create a model template in this folder with the same name as an existing model type (as displayed in the Type list of the New Model dialog) in order to override the predefined model template.

3. Attach your custom extension file to the model (see Attaching a Custom Extension File to a Model [page 426]). 4. Publish and preview the new model type:

a. Select Publish Publish , enter a comment if appropriate, and click OK. b. Click Home in the navigation panel to go back to your homepage, and then click your browser's Refresh button.

 Note

You must refresh the page in order to see the new model type. It will be available for other users when they next log in.

c. Click the New Model quick link and expand the Type list to confirm that your new type is included. 5. [optional] Restrict the availability of the new model type to certain groups of users: a. In the repository explorer, navigate to the Library/Resources/Model Templates folder and then click the model template name in the Documents pane to display its property sheet. b. Click the Permissions tab to display the permissions granted on the model template. c. Remove the All Users group from the list. d. Add those groups or users to whom you want to give access to the new model type to the list and assign them Read permission.

PowerDesigner Web Installing and Administering PowerDesigner Web PUBLIC 427 Important Disclaimers and Legal Information

Hyperlinks

Some links are classified by an icon and/or a mouseover text. These links provide additional information. About the icons:

● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements with SAP) to this:

● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information. ● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.

● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.

Beta and Other Experimental Features

Experimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the experimental features in a live operating environment or with data that has not been sufficiently backed up. The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback (e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP.

Example Code

Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example code unless damages have been caused by SAP's gross negligence or willful misconduct.

Gender-Related Language

We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.

Videos Hosted on External Platforms

Some videos may point to third-party video hosting platforms. SAP cannot guarantee the future availability of videos stored on these platforms. Furthermore, any advertisements or other content hosted on these platforms (for example, suggested videos or by navigating to other videos hosted on the same site), are not within the control or responsibility of SAP.

PowerDesigner Web 428 PUBLIC Important Disclaimers and Legal Information PowerDesigner Web Important Disclaimers and Legal Information PUBLIC 429 www.sap.com/contactsap

© 2020 SAP SE or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice.

Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary.

These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.

Please see https://www.sap.com/about/legal/trademark.html for additional trademark information and notices.

THE BEST RUN