wso2 application server - product overview
Post on 12-Jan-2017
145 Views
Preview:
TRANSCRIPT
WSO2 Application Server 5.3.0 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
Introduction
Yet Another Application Server ?
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
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
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
Seamless Integration with WSO2 SOA Platform
Key Features
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
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
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/
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
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
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
A Wide Range of Deployment Options
On-premise Public /Private IaaS
Public /Private PaaS
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
Multitenancy
o Implement multitenant Apache Tomcat apps using rich context APIs
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
Architecture
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
TCP
XMPP
JAX-RS
Apache TomEE
JavaEE Web Apps
Web Services & Web Application Support
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
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
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>
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
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
Web Service Lazy Loading
Web App Lazy Loading
Caching, Clustering & Session Replication
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
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)
WSO2 Carbon Features
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
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)
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
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
Development with WSO2 Developer Studio
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
WSO2 Developer Studio based Development
Thank You!
Download WSO2 Applica1on Server at: h8p://wso2.com/products/applica1on-‐server/
top related