5 bexis extensibility
TRANSCRIPT
BEXIS Tech Talk Series
#5: BExIS Extensibility
Javad ChamanaraPresented at BExIS Developers Conference
June 2016Germany
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
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
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
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
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– …
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,– …
BEXIS Tech Talk #5: BExIS Extensibility 8
Shell
• Layouts– Arrangement– Content
• Themes• Menus
BEXIS Tech Talk #5: BExIS Extensibility 9
Shell: Layout
BEXIS Tech Talk #5: BExIS Extensibility 10
Shell: Themes
BEXIS Tech Talk #5: BExIS Extensibility 11
Shell: Menus
• Registered by Modules• Integrated into Shell• Some are fixed
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
BEXIS Tech Talk #5: BExIS Extensibility 13
Components of a Module
• UI• Services• Data Access
BEXIS Tech Talk #5: BExIS Extensibility 14
Module: UI
BEXIS Tech Talk #5: BExIS Extensibility 15
Module: UI: Area Registration
BEXIS Tech Talk #5: BExIS Extensibility 16
Module: UI: Layout selection
• <Module>/Views/_ViewStart.cshtml
BEXIS Tech Talk #5: BExIS Extensibility 17
Module: UI: Menu
• Fixed areas• Limited # of Levels• Registration in _Menus.chhtml– Areas/site/views/Nav
BEXIS Tech Talk #5: BExIS Extensibility 18
Module: Configuration
• Each module has it own– Web.config– Workspace• Config folder
BEXIS Tech Talk #5: BExIS Extensibility 19
Module: Configuration
• Each module has it own– Data folder
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
BEXIS Tech Talk #5: BExIS Extensibility 21
Module: Libraries
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
BEXIS Tech Talk #5: BExIS Extensibility 23
Sample Tenants: BExIS
BEXIS Tech Talk #5: BExIS Extensibility 24
Sample Tenants: iDiv
BEXIS Tech Talk #5: BExIS Extensibility 25
Branding: Functionalities
BEXIS Tech Talk #5: BExIS Extensibility 26
Mechanics of Branding
• The Branding package
BEXIS Tech Talk #5: BExIS Extensibility 27
Inside the Package
BEXIS Tech Talk #5: BExIS Extensibility 28
Package’s Manifest file
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
BEXIS Tech Talk #5: BExIS Extensibility 30
Branding: Management
BEXIS Tech Talk #5: BExIS Extensibility 31
Integration (Interoperability)
• Data/Service– Offering– Consumption
• Interaction Method– Push– Pull
• Current: Offering pull based services
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
BEXIS Tech Talk #5: BExIS Extensibility 33
APIs
• Access Method– Web based– HTTP– REST
• Output format– CSV– JSON– XML
• Example– rBExIS package for R
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)
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
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
BEXIS Tech Talk #5: BExIS Extensibility 37
Outlook
Whats next in the talk series?
UI Structure and Web APIDetailed developer view
BEXIS Tech Talk #5: BExIS Extensibility 3838
Thanks!Questions?
Contact:[email protected]://bexis2.uni-jena.de
Acknowledgment