59
SysOps Boot Camp Platform 9.1 Java 1

System Operations: the Java side - part 1

Embed Size (px)

Citation preview

Page 1: System Operations: the Java side - part 1

SysOps Boot CampPlatform 9.1 Java

1

Page 2: System Operations: the Java side - part 1

Agenda• OutSystems Platform Architecture• OutSystems Platform Licensing• Installation & Configuration• Platform Internals• Troubleshooting

2

Page 3: System Operations: the Java side - part 1

OutSystems Platform Architecture

Page 4: System Operations: the Java side - part 1

OutSystems Platform Architecture• Architecture Overview• Services• Runtime• Deployment• Database & data model• Network & connectivity• Servers Profiles

4

Page 5: System Operations: the Java side - part 1

Architecture Overview

IDE to develop web and mobile web applications

IDE to extend the language and integrate external systems

Platform Server Management Console

Lifecycle Management

The core of the OutSystems Platform

5

Page 6: System Operations: the Java side - part 1

Architecture Overview• Service Studio

– OutSystems Service Studio is a codeless visual environment that empowers application developers to rapidly deliver and modify web business applications and services.

6

Page 7: System Operations: the Java side - part 1

Architecture Overview• Integration Studio

– OutSystems Integration Studio enables the extension of the OutSystems Platform through the creation of custom adapters to integrate with existing systems and databases.

7

Page 8: System Operations: the Java side - part 1

Architecture Overview• Platform Server

– The Platform Server includes:

• Deployment Controller Server (Controller)

• Front-end Server

• Service Center

• LifeTime

8

Page 9: System Operations: the Java side - part 1

Architecture OverviewLifeTime

(web browser)

Deployment Controller ServerDatabase Server

Front End Server

Web Application Server

SchedulerService

LogService

ServiceStudio

Integration Studio

webapp … web

appweb app

Service Center

(web app)

OutSystems Compiler

Deployment Controller Service

RuntimeDatabase

MetadataDatabase

LogDatabase

SessionDatabase

Service Center(web browser)(web browsers)

LogService

Platform Server

DeploymentService

LifeTime(web app)

9

Page 10: System Operations: the Java side - part 1

Services• OutSystems Platform Server includes the

following services:– Deployment Controller Service;– Deployment Service;– Log Service;– Scheduler Service;– RMI Registry Service;

10

Page 11: System Operations: the Java side - part 1

Runtime

Deployment Controller ServerDatabase Server

Front End Server

Web Application Server

SchedulerService

LogService

webApp … web

Appweb App

Service Center

(web app)

RuntimeDatabase

MetadataDatabase

LogDatabase

SessionDatabase

Service Center(web browser)(web browsers)

Platform Server

LifeTime(web app)

LifeTime(web browser)

11

Page 12: System Operations: the Java side - part 1

Deployment• 1-Click Publish

12

Page 13: System Operations: the Java side - part 1

Deployment

Platform Server

Web Application ServerDeployment

Service

ServiceStudio

WebApp … Web

AppWebApp Service Center

(web app)

OutSystems Compiler

Deployment Controller

ServiceRuntimeDatabase

MetadataDatabase

1

2

3

4

5

5

13

Page 14: System Operations: the Java side - part 1

Database & data modelLifeTime

(web browser)

Deployment Controller ServerDatabase Server

Front End Server

Web Application Server

SchedulerService

LogService

ServiceStudio

Integration Studio

webApp … web

Appweb App

Service Center

(web app)

OutSystems Compiler

Deployment Controller Service

RuntimeDatabase

MetadataDatabase

LogDatabase

SessionDatabase

Service Center(web browser)(web browsers)

LogService

Platform Server

DeploymentService

LifeTime(web app)

14

Page 15: System Operations: the Java side - part 1

Network & connectivity

15

Page 16: System Operations: the Java side - part 1

Server Profiles - Standalone

LifeTime(web browser)

Platform Server

Web Application Server

SchedulerService

LogService

ServiceStudio

Integration Studio

webApp … web

Appweb App Service Center

(web app)

OutSystems Compiler

Deployment Controller Service

RuntimeDatabase

MetadataDatabase

LogDatabase

SessionDatabase

Service Center(web browser)(web browsers)

DeploymentService

LifeTime(web app)

16

Page 17: System Operations: the Java side - part 1

Server Profiles - Farm

Front End ServerFront End Server

LifeTime(web browser)

Deployment Controller ServerDatabase Server

Front End Server

Web Application Server

SchedulerService

LogService

ServiceStudio

Integration Studio

webApp … web

Appweb App

Service Center

(web app)

OutSystems Compiler

Deployment Controller Service

RuntimeDatabase

MetadataDatabase

LogDatabase

SessionDatabase

Service Center(web browser)(web browsers)

LogService

DeploymentService

LifeTime(web app)

17

Page 18: System Operations: the Java side - part 1

Differences from Windows• Platform installation and operation is 100% command-line

driven

• Multiple stack combinations increases complexity• Java requires auxiliary RMI service to lookup actual

OutSystems services

• No SMS support means no SMS Connector Service

18

Page 19: System Operations: the Java side - part 1

Services per profile (Common) Servers

Services

Deployment

Deployment Controller

Log Scheduler

RMI Registry

Database Engine

Deployment Controller

Front-End

Platform Database

19

Page 20: System Operations: the Java side - part 1

Profile (services) configurationTo enable/disable services depending on intended machine profile, use

<OS_Platform_Path>/serviceconfigurator.sh -<profile>

Examples:

• For a pure controller machine:

• /opt/outsystems/platform/serviceconfigurator.sh –controller

• For a front-end machine:

• /opt/outsystems/platform/serviceconfigurator.sh -frontend

• For a combined roles machine:

• /opt/outsystems/platform/serviceconfigurator.sh -all

20

Page 21: System Operations: the Java side - part 1

Services per profile (JBoss / WildFly)

Servers

Services

jboss-outsystems

jboss-outsystems-mq

Deployment Controller

Front-End

Platform Database

21

Page 22: System Operations: the Java side - part 1

WebLogic domain for OutSystems• Admin Server in Controller (one per Environment)• Node Manager and Managed Server in Front-Ends• Message Queues stored in Admin Server

22

Page 23: System Operations: the Java side - part 1

Services per profile (WebLogic) Servers

Services

weblogic-outsystems

weblogic-outsystems-adminserver

weblogic-outsystems-nodemanager

Deployment Controller

Front-End

Platform Database

23

Page 24: System Operations: the Java side - part 1

OutSystems Platform Licensing

24

Page 25: System Operations: the Java side - part 1

OutSystems Platform Licensing• Licensing overview

• Key concepts

– Infrastructure, Activation Code

– Environment, Serial Number

• Licensing an environment

– Service Center Licensing page

• Which features are licensed

• Intellectual Property Protection (IPP)

• Invalid license – causes & consequences

25

Page 26: System Operations: the Java side - part 1

Licensing overview• All licensing operations are executed in Service Center;• Each individual installation has a separate license

– Multiple front-ends share a single license (think “cluster”);

– Distinct installations (“Development”, “QA”, “Production”) use different licenses;

• Upon purchase, the customer gets licenses for multiple installations– Actual number depends on the purchased license

26

Page 27: System Operations: the Java side - part 1

Key concepts• Key concepts in OutSystems licensing

– Environment: an individual installation of Platform Server– Infrastructure: set of environments– Activation Code: uniquely identifies an Infrastructure– Serial Number: identifies an environment– License File: a binary license file generated for a specific

Serial Number and bound to an Activation Code

27

Page 28: System Operations: the Java side - part 1

Licensing an Environment• Licensing console

– Get the licenses at www.outsystems.com/licensing/

28

Page 29: System Operations: the Java side - part 1

Licensing an Environment

29

Page 30: System Operations: the Java side - part 1

Licensing an Environment• Install the license:

1. Upload the license file in Service Center

2. Confirm that the license is valid

30

Page 31: System Operations: the Java side - part 1

Licensing an Environment

31

Page 32: System Operations: the Java side - part 1

Licensing Features• Which features are licensed

– Users

– Software Units

– Integrations (SOA, SAP, Database Connections)

– Logging, Monitoring and Analytics

– Security & Authentication (LDAP, Integrated Authentication)

– Scalability and Availability features

• Multiple front-ends• Data segmentation using database catalogs / schemas

32

Page 33: System Operations: the Java side - part 1

Intellectual Property Protection• Intellectual Property Protection

– Binds the components of an OutSystems factory to the Infrastructure where they were created, blocking direct deployment on other Infrastructures;

– It is possible to move components between Infrastructures by using www.outsystems.com/ipp/

… unless the Infrastructure owner (where the components were created) opts-into IPP Protection by contacting OutSystems Support;

33

Page 34: System Operations: the Java side - part 1

Invalid Licenses• What is the impact of an invalid license:

– 1-Click Publish is disabled

• It is not possible to deploy new applications, do bug fixing to existing applications, rollback to earlier versions, …

– Certain features in Service Center become unavailable

• User and role creation• Advanced logs and report generation• Configuration of licensed features

– Applications enter limited functionality mode:

• Some scalability features become unavailable;• End-user creation is disabled

34

Page 35: System Operations: the Java side - part 1

Invalid Licenses• What is the impact of an invalid license:

– In subscription licenses, applications continue to run for a limited time, but then they become offline;

35

Page 36: System Operations: the Java side - part 1

Invalid Licenses• Service Center displays visible alarms that the license is invalid and will

shutdown.

Keep an eye on the licensing status of your environments

36

Page 37: System Operations: the Java side - part 1

Support Portal• Portal for communication with OutSystems Support

37

Page 38: System Operations: the Java side - part 1

Installation and Configuration

38

Page 39: System Operations: the Java side - part 1

Installation & Configuration• Versioning

• Installation checklist• Standalone installation• Configuration Tool• Farm installation• Tuning and advanced configurations• Backups

39

Page 40: System Operations: the Java side - part 1

Versioning• OutSystems Platform versions are numbered as M.m.R.r (Major.minor.Release.

revision):

– (M.m) Major and minor versions represent new product versions – with new features, enhancements to previous ones, and additional capabilities.

– (M.m.R.r) The release number is reserved for patches, within the same version of the OutSystems Platform that includes significant new features;

– (M.m.b.r). OutSystems Platform revision updates are patches issued essentially for bug-fixing and minor improvements . A new revision patch deprecates the previous one(s).

40

Page 41: System Operations: the Java side - part 1

Versioning• The following elements are versioned:

– Service Studio;

– Integration Studio;

– Platform Server:

• Software (Installer);

• Metadata (Database);

• Service Center;

• System Components;

• LifeTime.

– Components:

• Applications’ modules (espaces and extensions)

• Solutions.

41

Page 42: System Operations: the Java side - part 1

Installation checklist• Installation checklist:

– Dynamic HTML document

– Step-by-step guide

– Configurable to the exact setup to be installed

42

Page 43: System Operations: the Java side - part 1

Linux Cheat Sheet

Command actioncd <directory> Moves shell to the described directoryls Shows current shell directorycp <file> <destination> Copies the <file> to the <destination>mv <file> <destination> Moves the <file> to the <destination>less <file> Displays the content of a filetail <file> Display the final lines of a filevi <file> Text editortop Shows the running processes pwd Shows current directory path

43

Page 44: System Operations: the Java side - part 1

Standalone installation• Standalone installation overview

1. Pre-Requirements installation and check up

a. CentOS extra packages installationb. Java SDK and Ant build toolc. Wildfly Application Server

2. Create the new Platform Database

• Schemas for Oracle server4. Install the OutSystems Platform

a. Setup Platform database and OutSystems servicesb. Install Service Center

5. License the new environment

6. Deploy System Components44

Page 45: System Operations: the Java side - part 1

Configuration Tool• It is the backend of OutSystems Platform Server configurations;

• Most settings are configured in Service Center – however, since Service Center is a web application, some things need to be configured before a web application can run:

– Main database connections;

– Server locations (farm scenario);

– Services configurations;

– Other low-level configurations.

• “Set it up and forget about it”!

45

Page 46: System Operations: the Java side - part 1

Configuration Tool• It is installed with each installation of OutSystems Platform

Server• Access it through

“/opt/outsystems/platform/configurationtool.sh”;• The following options exist:

• Database configurations• Farm configurations• Advanced configurations

46

Page 47: System Operations: the Java side - part 1

Configuration Tool• Database basic (MySql)

Database server type

Database users:- Administration user- Runtime user- Log User

Database configuration type

Database server settings

47

Page 48: System Operations: the Java side - part 1

Configuration Tool• Database advanced (MySql)

Advanced settings

48

Page 49: System Operations: the Java side - part 1

Configuration Tool• Session (MySql)

Database users:- Session User

Database configuration type

Database server settings

Advanced settings

49

Page 50: System Operations: the Java side - part 1

Configuration Tool• Database basic (Oracle)

Database server type

Database users and Tablespaces:- Administration user- Runtime user- Log User

Database configuration type

Database server settings

50

Page 51: System Operations: the Java side - part 1

Configuration Tool• Database advanced (Oracle)

Advanced settings

51

Page 52: System Operations: the Java side - part 1

Configuration Tool• Session (Oracle)

Database user and Tablespace:- Session User

Database configuration type

Database server settings

Advanced settings

52

Page 53: System Operations: the Java side - part 1

Configuration Tool• Session advanced (Oracle)

Database server settings(session database)

Session database user and tablespace

53

Page 54: System Operations: the Java side - part 1

Configuration Tool• Farm configurations

Controller address

Front End address

54

Page 55: System Operations: the Java side - part 1

Configuration Tool• Advanced configurations

Platform timeout valuesApplication server

configurationsScheduler Service

Log Service

Internal Network

Platform services communication port

55

Page 56: System Operations: the Java side - part 1

Configuration Tool• on Exit:

– Saves all the settings to a local file;

– Propagates some of the settings to the database, from where they are read by applications and services;

– Starts / restarts Log Service, Deployment Controller Service, Deployment Service and RMI service

– Prompts to start Scheduler if it is stopped;

– Prompts to restart the application server if required;

– Prompts to recreate session model database

56

Page 57: System Operations: the Java side - part 1

Configuration Tool

57

Page 58: System Operations: the Java side - part 1

Configuration Tool• In a farm environment, it is essential to keep the settings equal among the several

front-ends:

– Many of the settings are saved in the database by the last server where Apply and Exit was pressed

– Having different settings among front-ends can yield unexpected results

• Connection strings must be exactly the same in all front-ends

– For security reasons a different connection string causes front-ends not to register with the Controller.

• Best practice in a farm environment:

– Make settings in one of the servers, then copy/paste the server.hsconf file to the other servers, changing just the Front End Registration IP Address

58

Page 59: System Operations: the Java side - part 1

Thank you!

OutSystems Training Team