5 bexis extensibility

38
BEXIS Tech Talk Series #5: BExIS Extensibility Javad Chamanara Presented at BExIS Developers Conference June 2016 Germany

Upload: javad-chamanara

Post on 21-Mar-2017

62 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 5 BExIS Extensibility

BEXIS Tech Talk Series

#5: BExIS Extensibility

Javad ChamanaraPresented at BExIS Developers Conference

June 2016Germany

Page 2: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 2

Reminder: What is BExIS

• Requirements– Data Lifecycle Management– Generic– Extensible– Portable– Scalable

More details on the BExIS Requirements

Page 3: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 3

Reminder: Core Concepts

DataMetadata

Data StructureMetadata Structure Semantics Geo

Administration Security

«use»

«use»

«use» «use»

«use»

More details on the Conceptual Model

Page 4: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 4

Reminder: Architecture

DB2 PgS

Data Access

Security

Core Functions

UI

UI Framework

...M

odularity

Integration

Synthesis Work

Semantic Search

Analytics

User Defined

Spatial Querying

External Tools

Web Services

Archiving

Import/ Export

Publishing

More details on the Architecture

Page 5: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 5

Extensibility Aspects

• Module Development: Is the mechanism to add functionality to BExIS– Support for specific data formats– Data Analysis and Visualization– Geographical Search– Resource Booking– Semantic Search

Page 6: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 6

Extensibility Aspects

• Integration: Data/service exchange between BExIS and other systems.– Publishing datasets in external repositories– Allowing access to datasets for analysis– Acquiring PIDs– …

Page 7: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 7

Extensibility Aspects

• Branding: Is a way to position BExIS in a user community on behalf of a customer– Logo, Icons– Themes, colors, – Text, graphics,– …

Page 8: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 8

Shell

• Layouts– Arrangement– Content

• Themes• Menus

Page 9: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 9

Shell: Layout

Page 10: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 10

Shell: Themes

Page 11: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 11

Shell: Menus

• Registered by Modules• Integrated into Shell• Some are fixed

Page 12: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 12

Module Development

• A module is a set of related user facing functions, operating from inside the BExIS Shell

Page 13: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 13

Components of a Module

• UI• Services• Data Access

Page 14: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 14

Module: UI

Page 15: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 15

Module: UI: Area Registration

Page 16: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 16

Module: UI: Layout selection

• <Module>/Views/_ViewStart.cshtml

Page 17: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 17

Module: UI: Menu

• Fixed areas• Limited # of Levels• Registration in _Menus.chhtml– Areas/site/views/Nav

Page 18: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 18

Module: Configuration

• Each module has it own– Web.config– Workspace• Config folder

Page 19: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 19

Module: Configuration

• Each module has it own– Data folder

Page 20: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 20

Module: Data

• Seed Data:– The data needed by module to start working.– It can be immutable or modifiable

Page 21: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 21

Module: Libraries

Page 22: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 22

Branding

• Who needs to re-brand BExIS– Tenants: The customers who install and own BExIS

• What can be re-branded– Appearance– Documents– Functionalities

Page 23: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 23

Sample Tenants: BExIS

Page 24: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 24

Sample Tenants: iDiv

Page 25: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 25

Branding: Functionalities

Page 26: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 26

Mechanics of Branding

• The Branding package

Page 27: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 27

Inside the Package

Page 28: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 28

Package’s Manifest file

Page 29: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 29

Resolution Mechanism

• Tenant Resolution– Single tenant: in web.config– Multi tenants: by matching rules

• Name Resolution– Resolved tenant– Fallback tenant, otherwise

• Resource Resolution– Resolved tenant– Fallback tenant– Application predefined resources

Page 30: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 30

Branding: Management

Page 31: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 31

Integration (Interoperability)

• Data/Service– Offering– Consumption

• Interaction Method– Push– Pull

• Current: Offering pull based services

Page 32: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 32

Integration: Services

• Authentication/Authorization• Dataset• Schema of a dataset• Metadata of a Dataset• Selected Variables of a Datasets• Selected Tuples of a Dataset

Page 33: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 33

APIs

• Access Method– Web based– HTTP– REST

• Output format– CSV– JSON– XML

• Example– rBExIS package for R

Page 34: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 34

Sample Web API calls: Data

• http://www.name.com/api/data• http://www.name.com/api/data/6– /api/data/6?header=id,name– /api/data/6?filter=(Grade>50 AND Grade <90)– /api/data/6?header=id,name&filter=(Grade>50)

Page 35: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 35

Sample Web API calls: Data Structure

• http://www.name.com/api/structures/6• http://www.name.com/api/metadata/6

Page 36: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 36

Sample Web API calls: Metadata

• http://www.name.com/api/metadata• http://www.name.com/api/metadata/6• http://

www.name.com/api/metadata/6?ConvertTo=EML

Page 37: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 37

Outlook

Whats next in the talk series?

UI Structure and Web APIDetailed developer view

Page 38: 5 BExIS Extensibility

BEXIS Tech Talk #5: BExIS Extensibility 3838

Thanks!Questions?

Contact:[email protected]://bexis2.uni-jena.de

Acknowledgment