WSO2 Application Server - Product Overview

41
WSO2 Application Server 5.3.0 Overview

Transcript of WSO2 Application Server - Product Overview

Page 1: WSO2 Application Server - Product Overview

WSO2 Application Server 5.3.0 Overview

Page 2: WSO2 Application Server - Product Overview

Agenda

o  Introduction

o  Key Features

o  Architecture

o  Web Services & Web Application Support

o  Caching, Clustering and Session Replication

o  WSO2 Carbon Features

o  Development with WSO2 Developer Studio

Page 3: WSO2 Application Server - Product Overview

Introduction

Page 4: WSO2 Application Server - Product Overview

Yet Another Application Server ?

Page 5: WSO2 Application Server - Product Overview

WSO2 Application Server

o  Business friendly Apache 2.0 license & Fully open source

o  Enterprise ready Web Services and Web Application container

o  Build on top of the award winning WSO2 Carbon middleware platform

Page 6: WSO2 Application Server - Product Overview

WSO2 Application Server

o  Simple web application development lifecycle using WSO2 Developer Studio

o  Powered by Apache Tomcat, Apache Axis2, Apache CXF and Apache TomEE

o  WSO2 commercial and community support

Page 7: WSO2 Application Server - Product Overview

Supported Standards

JAX-WS 2.2 JAX-RS 2.0 SOAP 1.1/1.2

WSDL 1.1/WSDL 2.0 MTOM, XOP & SwA

WS-Addressing WS-Security WS-RM WS- I BP 1.0/1.2

Servlet 3 JSP 2.2 EL 2.2 JSTL 1.2 JNDI JAVA Mail

Page 8: WSO2 Application Server - Product Overview

Seamless Integration with WSO2 SOA Platform

Page 9: WSO2 Application Server - Product Overview

Key Features

Page 10: WSO2 Application Server - Product Overview

Web Application Hosting and Management

o  Comprehensive admin console

o  Supports JavaEE 6 Web Profile

o  Session Persistence

o  Virtual Hosting

o  WebSocket 1.1. API

Page 11: WSO2 Application Server - Product Overview

Web Service Hosting and Management

o  Supports JAX-WS 2.2, JAX-RS 2.0 and Axis2

o  Supports data services

o  WSDL2Java, Java2WSDL, WSDL Validator and Try-It tools

o  Multi-transport service access via HTTP, HTTPS, JMS, VFS and SMTP

o  Clustering and HTTP session replication for web services

Page 12: WSO2 Application Server - Product Overview

Jaggery App Hosting and Management

o  A completely JavaScript way of writing all parts of Web applications and services

o  Closes the gap between Web apps and Web services by allowing the creation of both applications and APIs at the same time

o  http://jaggeryjs.org/

Page 13: WSO2 Application Server - Product Overview

Enterprise Security for Apps and Services

o  Basic Auth integration to LDAP, Google Auth, OpenID and other external user stores

o  Fine-grained access control

o  Single-sign-on with SAML2

o  Integrates with enterprise identity management systems via LDAP or via WSO2 Identity Server

Page 14: WSO2 Application Server - Product Overview

Rich Context for Apps & Service Programming

o  Comprehensive easy-to-use APIs o  Integrates with enterprise identity management o  Shared metadata registry o  JNDI provider for accessing shared data source

and other resources

o  Distributed caching

o  Distributed sharing of caches and metadata

o  Lazy loading and resource sharing architecture

o  Deployment synchronization

Page 15: WSO2 Application Server - Product Overview

Light Weight and Developer Friendly

o  Easy to develop, debug and deploy apps and services o  Tools for message tracing o  TryIt capabilities for interactive testing

o  Clustering support for HA, scalability and session

replication

o  Data source management for scalable data

management

o  Hot deployment or hot update of web apps & services

o  Number of transport options

o  Ability to install any Carbon feature

Page 16: WSO2 Application Server - Product Overview

A Wide Range of Deployment Options

On-premise Public /Private IaaS

Public /Private PaaS

Page 17: WSO2 Application Server - Product Overview

Run Yourself or Let WSO2 Run it for You

o  Your operations team maintains the deployment with production support from WSO2

o  WSO2 Operations team runs the deployment in a dedicated environment in AWS datacenter of your choice

o  Includes monitoring, backups, patches, updates

o  Financially backed SLA on uptime and response time

Page 18: WSO2 Application Server - Product Overview

Multitenancy

o  Implement multitenant Apache Tomcat apps using rich context APIs

Page 19: WSO2 Application Server - Product Overview

Manage and Monitor

o  Comprehensive management and monitoring Web console

o  Supports JMX MBeans for all key metrics monitoring and management features

o  Operational audit and KPI/SLAs

o  Flexible logging support – Integrates with enterprise logging systems

o  Centralized configuration - lifecycles & versioning

Page 20: WSO2 Application Server - Product Overview

Architecture

Page 21: WSO2 Application Server - Product Overview

WSO2 Application Server Architecture

Apache Axis2

Apache CXF

Carbon

OSGI Runtime

Apache Tomcat

Admin Console

Web Apps

Web Services

JAX-WS

RM

Throttling

Security

Clustering

HTTP/S

JMS

Mail

TCP

XMPP

JAX-RS

Apache TomEE

JavaEE Web Apps

Page 22: WSO2 Application Server - Product Overview

Web Services & Web Application Support

Page 23: WSO2 Application Server - Product Overview

Serves as the WSO2 Hosting Platform

Java

Web Services

JAX-WS

JAX-RS

Web Applications

Servlet 3

JSP/EL/JSTL

Java Script

Applications

Jaggery.js

Page 24: WSO2 Application Server - Product Overview

Class Loading Customization

o  There are 4 in-built environment. o  Tomcat – Minimal runtime (Tomcat) o  Carbon – Tomcat + Carbon + Axis2 o  CXF – Tomcat + CXF + Spring o  JavaEE – Tomcat + TomEE

o  Users can add their own Class loading environments

o  Edit {carbon.home}/repository/conf/ tomcat/webappclassloading-environments.xml file

o 

Page 25: WSO2 Application Server - Product Overview

Class Loading Customization cont.

o  Configure per server or per application o  {carbon.home}/repository/conf/tomcat/webapp-

classloading.xml o  META-INF/webapp-classloading.xml

o  Can provide mix of environment (e.g. CXF, Carbon)

o  To specify CXF/Carbon as the runtime environments users should have the following configuration

<Classloading xmlns="http://wso2.org/projects/as/classloading"> <Environments>CXF,Carbon</Environments> </Classloading>

Page 26: WSO2 Application Server - Product Overview

Lazy Loading and Resource Management

o  App servers usually run for a long time o  Keeping inactive applications on memory for a

long time, may affect performance o  App server restarting can cause considerable

amount of app downtime and affect availability o  Resources such as memory, cache and

processor time are expensive, hence need better resource management

o  Lazy loading and resource sharing mechanisms should not negatively affect end-user experience

Page 27: WSO2 Application Server - Product Overview

Tenant Lazy Loading

o  When a request is received, an interceptor will assess request details (e.g. URL, session info)

o  Based on the request details, the interceptor will pick the corresponding Tenant from the tenant store

o  A Task will be running in the background to identify inactive tenant(s)

o  When a tenant is inactive for a predefined duration (e.g. 30 min), the tenant will be un-loaded

Request Origin

Request

Tenant Identified by Interceptor

Tenant Loaded

Max Tenant Inactive Duration

Elapsed

Identified Tenant

Tenant Un-loaded

YES

NO

Page 28: WSO2 Application Server - Product Overview

Web Service Lazy Loading

Page 29: WSO2 Application Server - Product Overview

Web App Lazy Loading

Page 30: WSO2 Application Server - Product Overview

Caching, Clustering & Session Replication

Page 31: WSO2 Application Server - Product Overview

Clustering and Session Replication

o  Capable of storing session specific data in Web services at 3 levels o  ServiceContext level o  ServiceGroupContext level o  ConfigurationContext level

o  Clustering is based on the Hazelcast

Page 32: WSO2 Application Server - Product Overview

Deployment Synchronization

o  Synchronizing the main repository of Carbon server with a set of nodes

o  Usually one READ-WRITE repository with number of READ-ONLY repositories

o  SVN based synchronizer

Deployment Synchronizer

SVN repo

AS-1 (R/W)

AS-2 (R/O)

AS-3 (R/O)

Page 33: WSO2 Application Server - Product Overview

WSO2 Carbon Features

Page 34: WSO2 Application Server - Product Overview

WSO2 Carbon Features with Webapps

o  Carbon Webapp runs on Tomcat, while o  Other Webapps deployed in parallel to Carbon Webapp o  API’s are shared across all Webapps to enable important

Carbon features for external Web Apps o  Authentication o  Registry (Metadata Repository) o  Carbon Caching

Registry Repository

Carbon Context

User Store

Registry User Management Caching

Page 35: WSO2 Application Server - Product Overview

Carbon Authentication for Webapps

o  All Carbon functionalities are implemented as Web Services, called Carbon Admin Services o  AuthenticationAdmin Service - handles all

Authentication functionalities o  AuthenticationAdminClient API

o  Talks to the Admin Service o  Webapps can use it to communicate with the Carbon

User store

o  Any User store can be plugged into Carbon (Default LDAP)

Page 36: WSO2 Application Server - Product Overview

Registry for Webapps

o  WSO2 Governance Registry is used by all WSO2 products as a metadata repository

o  Webapps also can use it for the same purpose through the CarbonContextAPI

Page 37: WSO2 Application Server - Product Overview

Web Service Deployment

o  SOAP 1.1/1.2 and Restful Axis2 web services

o  JAX-WS 2.2 web services and JAX-RS services

o 

Page 38: WSO2 Application Server - Product Overview

Development with WSO2 Developer Studio

Page 39: WSO2 Application Server - Product Overview

WSO2 Developer Studio

o  The development tool for writing applications that get hosted on one/more of Carbon servers

o  Based on the popular Eclipse IDE with all familiar tools at hand

o  Contains diverse set of tools vital for configuring your enterprise architecture

Page 40: WSO2 Application Server - Product Overview

WSO2 Developer Studio based Development

Page 41: WSO2 Application Server - Product Overview

Thank  You!    

Download  WSO2  Applica1on  Server  at:    h8p://wso2.com/products/applica1on-­‐server/