System Operations: the Java side - part 1

Preview:

Citation preview

SysOps Boot CampPlatform 9.1 Java

1

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

2

OutSystems Platform Architecture

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

4

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

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

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

Architecture Overview• Platform Server

– The Platform Server includes:

• Deployment Controller Server (Controller)

• Front-end Server

• Service Center

• LifeTime

8

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

Services• OutSystems Platform Server includes the

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

10

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

Deployment• 1-Click Publish

12

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

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

Network & connectivity

15

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

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

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

Services per profile (Common) Servers

Services

Deployment

Deployment Controller

Log Scheduler

RMI Registry

Database Engine

Deployment Controller

Front-End

Platform Database

19

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

Services per profile (JBoss / WildFly)

Servers

Services

jboss-outsystems

jboss-outsystems-mq

Deployment Controller

Front-End

Platform Database

21

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

Services per profile (WebLogic) Servers

Services

weblogic-outsystems

weblogic-outsystems-adminserver

weblogic-outsystems-nodemanager

Deployment Controller

Front-End

Platform Database

23

OutSystems Platform Licensing

24

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

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

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

Licensing an Environment• Licensing console

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

28

Licensing an Environment

29

Licensing an Environment• Install the license:

1. Upload the license file in Service Center

2. Confirm that the license is valid

30

Licensing an Environment

31

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

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

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

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

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

Support Portal• Portal for communication with OutSystems Support

37

Installation and Configuration

38

Installation & Configuration• Versioning

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

39

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

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

Installation checklist• Installation checklist:

– Dynamic HTML document

– Step-by-step guide

– Configurable to the exact setup to be installed

42

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

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

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

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

Configuration Tool• Database basic (MySql)

Database server type

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

Database configuration type

Database server settings

47

Configuration Tool• Database advanced (MySql)

Advanced settings

48

Configuration Tool• Session (MySql)

Database users:- Session User

Database configuration type

Database server settings

Advanced settings

49

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

Configuration Tool• Database advanced (Oracle)

Advanced settings

51

Configuration Tool• Session (Oracle)

Database user and Tablespace:- Session User

Database configuration type

Database server settings

Advanced settings

52

Configuration Tool• Session advanced (Oracle)

Database server settings(session database)

Session database user and tablespace

53

Configuration Tool• Farm configurations

Controller address

Front End address

54

Configuration Tool• Advanced configurations

Platform timeout valuesApplication server

configurationsScheduler Service

Log Service

Internal Network

Platform services communication port

55

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

Configuration Tool

57

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

Thank you!

OutSystems Training Team

Recommended