3. 100
%
complaint
with
Apache
Tomcat
• Zero
migraNon
cost
–
What
ever
you
run
on
Tomcat
will
run
on
WSO2
AS
too
• Don’t
try
to
reinvenNng
the
wheel
–
Same
configuraNon
opNons
as
Tomcat
– Global
server.xml
and
context.xml
file
support
– Virtual
host
configuraNon
– AJP
transport
– Same
JNDI
experience
– Session
persistence
and
replicaNons
4. MulN-‐tenancy
support
• Tenant-‐aware
data
sources
• Tenant-‐aware
JNDI
service
• Tenant-‐aware
session
persistence
• Tenant-‐aware
user
store
• Tenant-‐aware
authenNcaNon
and
authorizaNon
• Tenant-‐aware
Caching
• Tenant-‐aware
configuraNon
registry
• Tenant-‐aware
dashboards
• Tenant-‐aware
management
console
5. MulNple
classloading
runNmes
There
are
four
in-‐built
environments
• Tomcat – Only Tomcat libs are visible (Minimal runtime)
• Carbon – Tomcat + Carbon libs are visible
• CXF - Tomcat + CXF + Spring are visible
• Javaee – JavaEE libs are visible
6. MulNple
classloading
runNmes
Ability
to
create
your
own
custom
‘Classloader
RunNme
environments’
• Create directory to place your Jar dependencies
• Add an entry to webappclassloading-environments.xml file
e.g. –You can have number of incompatible versions of Spring frameworks in
server level
7. Server-‐side
JavaScript
applicaNon
hosNng
• Develop
complete
server
side
applicaNon
using
Jaggery.js
and
deploy
on
ApplicaNon
Server
• Web
ApplicaNons
• RESTfull
services
• WebSocket
services
9. In-‐built
API
management
• No
network
hop
between
API
Gateway
and
ApplicaNon
Server
• Gateway
is
embedded
on
same
ApplicaNon
Server
•
• Possible
to
host
API
Store,
API
Publisher,
Key
Manager
• components
also
on
same
instance
or
distribute
them
separately
• No
addiNonal
cost
for
API
Management
• Not
a
replacement
for
full
scale
distributed
API
Manager
setups
11. Web
Service
development
• Supported
web
service
development
models
• JAX
–WS
(
based
on
Apache
CXF)
• Apache
Axis2
• Bring
your
own
WS
framework
• Metro,
Spring
WS
• Rich
dashboard
and
development
tools
• Try-‐It
tool
support
• Download
WS
client
as
maven
project
• Basic
staNsNcs
• Service
publish
and
discovery
support
through
WSO2
Governance
Registry
• WS
–
Discovery
supported
12. RESTfull
service
development
• Supported
RESTfull
service
development
models.
• JAX
–RS
(
based
on
Apache
CXF)
• Apache
Axis2
REST
services
• Jaggery
REST
services
(
Java
Script
)
•
• Bring
your
own
WS
framework
• Jersey,
Rest
Easy,
Restlet,
Spring
• Rich
dashboard
and
development
tools
• Swagger
support.
• Download
REST
client
as
maven
project
• Basic
staNsNcs
13. Binary
service
support
• High
efficient
binary
services
over
TCP
• Based
on
“Protocol
Buffer”
• Maven
support
• Dashboard
support
• Example
:High
efficient
binary
data
transfer
among
AS
and
ESB
14. Web
Socket
development
• Supported
WebSocket
development
models
• Java
API
for
WebSocket
• Jaggery
Web
Sockets
(
Java
Script
)
15. SaaS
applicaNon
development
User
management
AuthenNcaNon
&
AuthorizaNon
Registry
Cache
MulNtenancy
Carbon
SaaS
applicaNon
(Java)
SaaS
applicaNon
(Jaggery)
ApplicaNon
Server
16. AcNvity
and
server
monitoring
• Embedded
Monitoring
dashboard
• Request,
response,
errors,
sessions
over
Nme
• Geo
info
,
language,
referrals
• Alerts
on
thresholds
• Server
and
infrastructure
health
monitoring.
17. Lazy
loading
for
applicaNons
and
tenants
• Why
lazy
loading
?
– keeping
inacNve
applicaNons
on
memory
for
a
long
Nme
can
effect
to
performance
– Server
restarNng
can
cause
considerable
amount
downNme
and
effect
to
availability
– Resources
such
as
memory,
cache
and
processor
Nme
are
expensive
hence
need
be:er
management
• Two
levels
of
lazy
loading
supported
– ApplicaNon
lazy
loading
– Tenant
lazy
loading
18. Clustering
&
arNfact
synchronizaNon
• How
do
you
deploy
next
version
of
an
applicaNon
?
• Deployment
synchronizer
-‐
Changes
on
manger
node
propagate
to
other
nodes
• Support
based
on
SVN
,
GIT
or
WSO2
G-‐Reg
• Hazelcast
based
clustering
,
chaching
and
coordinaNon
support