SlideShare a Scribd company logo
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Operations and Monitoring with
Spring
Eberhard Wolff
Regional Director and Principal
Consultant
SpringSource
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 2
A Short History of Spring
•  Spring is a platform independent framework for the
development of (Enterprise) Java Applications
•  Originally started as an easier to use alternative for
Java EE development
•  In particular compared to EJB
•  See "J2EE Development Without EJB"
•  But actually there is more to it
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 3
Programming Model vs.
Infrastructure
•  Programming Model:
A set of APIs to use as a developer
•  Infrastructure:
Something to run your software on
•  Spring defines a Programming Model but no
Infrastructure
•  …you can use Java EE, a simple Servlet container…
•  Java EE defines a Programming Model and an
Infrastructure
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 4
Bundling Programming Model
and Infrastructure
•  Bundling leads to some problems
•  To upgrade the programming model you need to
upgrade the infrastructure
•  Operations will not like that idea
•  You are limited to a certain infrastructure – what do
you do concerning OSGi?
•  You only get the benefit from OSGi if you use its non
OSGi deployment model
•  Users realize how flexible they are using Spring
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 5
Spring s Impact on Java EE
Production Environment
Jaav EE Application Server
Servlet Container
• Connection mgmt.
• Clustering
• Deployment management
EJB Container
EAR
EJB
WAR
Production Environment
Tomcat
Production Environment
Java EE Application Server
Servlet Container
• Connection mgmt.
• Clustering
• Deployment management
WAR
Spring
Powered
Application
Spring
WAR
Spring
Powered
Application
Spring
Servlet Container
• Connection mgmt.
• Clustering
• Deployment management
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 6
So: What is the advantage of
Spring over Java EE 6?
•  Type error: Cannot compare infrastructure +
programming model to programming model
•  But seriously…
•  Spring actually exists – Java EE 6 is still being
standardized
•  You don't need to upgrade your server (many are
still on Java EE 5)
•  Actually this question is not important to many:
They don't run on Java EE anyway
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 7
0% 10% 20% 30% 40% 50% 60% 70%
Java Application Server Usage, Source: 2008 Evans Data Survey
Spring ApplicationsWebLogic 26%
JBoss 38%
WebSphere 43%
Apache Tomcat 68%
Today s De Facto Standards
Spring and Tomcat
•  Obviously the Java EE platform is often not needed
•  A Servlet container is enough
•  …and too complex
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 8
Is Spring + Servlet container
as powerful as Java EE?
•  "Classic" features of a Java EE server
Feature Spring Solution
Transactions No real 2PC but smart solutions for many
scenarios
Security Spring Security is much better
Distribution Not too important any more
Spring Remoting offers even more features
Persistence Java EE's persistence (JPA) can be used –
and several other
Naming Supported by Dependency Injection
Connection / Resource
Pooling
Supported by Servlet Containers and
DataSource implementations
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 9
So…
•  Let's add transaction support (JTA) to Tomcat
•  Then we have a full blown Application Server
•  But Tomcat is very successful already
•  …and Spring offers solutions
–  for O/R mappers
–  for JMS + a DataSource
•  JTA seems to be a not too important
•  Is there anything else we need to think about?
•  Infrastructure is not just for developers!
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 10
Operations
•  Operations cares about
–  monitoring
–  administration
•  They should be able to look into application
•  Usually there is more than one Application Server –
how can you handle larger installations?
•  Individual updates of parts of an application are
important
•  Virtualization / Cloud
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Spring Enterprise -
Looking into Applications
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 12
Your Application
Spring Enterprise -
Looking into Applications
•  Certified Spring
•  Instrumented
Spring
–  Monitor Spring
apps across
infrastructure
•  JMX flows into
Management
Application
–  Track app
performance
•  Just different
JARs
•  No code changes
Enterprise
Management
Application
JMX
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Demo: Spring Enterprise
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Handling large clusters
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 15
Cluster
•  Usually there is more than one Tomcat server in an
installation
•  How can you manage them?
•  Ideally centralized
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 16
tc Server
Tomcat
Enterprise
support
Distributed
Operations
Diagnostics
Enterprise
Capabilities
Tomcat you know. Enterprise capabilities you need.
SpringSource tc Server
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 17
Product Architecture
tc Server machine 1
Hyperic
Agent
Mgmt
Server
Hyperic
Server
Hyperic
Web
Console
Other Manageable Items
Apache http Server
Apache Tomcat
ActiveMQ
JVM
Operating Systems
Scripts
Configs
Inventory,
Metric,
Audit, …
tc
Server
tc Server machine n
Hyperic
Agent
Configs
tc
Server
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 18
tc Server
•  Binaries almost unchanged – no lock in
•  Centralized monitoring and administration
•  Groups of server allow to deal with a group of
servers – not just one
–  Start / stop / restart
–  Deployment
–  Configuration including JVM options
•  Easy operations of large Tomcat installations
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Demo: tc Server
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 20
Demo
WhiteRabbit
Hyperic
Agent
Ubuntu1
Hyperic
Server
Hyperic
Web
Console
Inventory,
Metric,
Audit, …
tc
Server
Ubuntu1
Hyperic
Agent
tc
Server
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Updating parts of an application
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 22
dm Server
•  Modularization is key to maintainable software
•  Modularization at runtime gives more power to
Operations
•  Updates of parts of the application
•  Determining the source of an error
•  etc
•  On the client and in the embedded world OSGi has
succeeded as a standard for modularization
•  OSGi enters the server market…
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
OSGi
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 24
It's a module system
•  Partition a system into a number of modules –
"bundles"
•  Dynamic: Bundles can be installed, started, stopped,
uninstalled and updated
•  ...at runtime
•  better operations
•  Strict visibility rules
•  Resolution process satisfies dependencies of a
module
•  Understands versioning
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 25
It's even service-oriented
•  Bundles can publish services… dynamically!
•  Service Registry allows other bundles to consume
services
•  Services come and go at runtime
–  … transparently when using Spring-DM
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 26
OSGi Bundle
•  The fundamental unit of deployment and
modularity in OSGi
•  Just a JAR file
–  with additional entries in META-INF/MANIFEST.MF
•  Common manifest headers:
–  Bundle-SymbolicName
–  Bundle-Version
–  Bundle-Name
–  Bundle-ManifestVersion
–  Bundle-Vendor
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 27
Import / Export -Package
Declares package-level dependencies of your
bundle.
Import-Package: com.xyz.foo;
Import-Package:
com.xyz.foo;version="1.0.3"
Import-Package:
com.xyz.foo;version="[1.0.3,1.0.3]"
Import-Package:
com.xyz.foo;version="[1.0.3,1.1.0)",
com.xyz.bar;version="[1.0.3,2.0.0)"
Export-Package: com.xyz.foo
Export-Package: com.xyz.foo;version="1.0.5"
>= 1.0.3; e.g.,
1.0.3.GA, 1.0.4,
etc.
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Spring Dynamic Modules &
SpringSource dm Server
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 29
Spring-DM:
ApplicationContext
•  Configuration files in /META-INF/spring
•  Automatically merged
•  ..and ApplicationContext is created
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 30
Service export and import
<beans ...>
<osgi:service ref="customerDAO"
interface="dao.ICustomerDAO" />
<osgi:reference id="dataSource"
interface="javax.sql.DataSource" />
</beans>
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 31
Service export and import
•  Dynamic services automatically dealt with
•  i.e. method calls are buffered
•  Purely declarative
•  No dependencies on OSGi in the code
•  No resource leaks
•  Not solved in Spring Dynamic Modules:
–  Easy import of libraries
–  Using JPA or Hibernate in OSGi
–  Seamless Web Support
–  Notion of an application
•  Enter dm Server
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 32
dm Server Platform
• Modular profiles
• Bundle repository
• Library provisioning
• Serviceability
– FFDC
– Logging / Tracing
• Built on Equinox
• Modular architecture
– Subsystems
– Bundles
• Small footprint
WAR
Personality
Web Module
Personality
Bundle
Personality
Tomcat Deployer Management
Dynamic Modules Kernel
Equinox
JVM
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 33
Bundles for the example
•  Web
•  Service
•  API: only interfaces and domain
classes
–  Implementation can be exchanged
•  Could add infrastructure:
DataSource /
PlatformTransactionManager
API
Service
Web
Package
Import
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 34
Bundles & Types
•  Only dependencies to the API
•  Therefore: implementation can be exchanged even
at runtime
•  No direct dependencies to any implementation
•  Not shown: dependencies to external bundles
•  … can be installed in dm Server
•  … modular middleware!
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 35
Bundles & Services
Services:
Publish /
Consume
api
service
web Service
Registry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 36
Bundles & Services
•  Infrastructure can use the same principle as
application services
•  i.e. DataSource and
PlatformTransactionManager are just another
service
•  Can I still run on plain Java EE?
•  Yes: instead of OSGi Service directly inject
Spring Beans
•  no more more dynamic services / modularization
•  No code change needed
•  Application can run on Java EE or OSGi
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 37
PAR
•  Packaging format for all
modules in an application
•  JAR with Application-*
manifest headers
•  Single unit: deploy,
refresh, undeploy
•  Application boundaries
–  Scoping of types and
services
–  DataSource does not leak
out of the application
–  Hibernate can change
domain objects
API
Service
Web
Package
Import
Spring
Taglibs
Application
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Web Migration: From WAR to
PAR
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 39
Shared Libraries WAR
Web Application Deployment
Options
•  Standard Java EE WAR
–  supported on dm Server as is
–  converted into an OSGi
bundle
•  Shared Libraries WAR
–  WAR + OSGi package imports
–  Eradicate library bloat of
monolithic Java EE
–  WARs
•  Shared Services WAR
–  Uses OSGi services
with Spring's
<osgi:reference>
•  Web Module
Standard WAR
libs
services Bundle
Repository
Shared Services WAR
OSGi
Service
Registry
services
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Roadmap
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 41
dm Server 2.0 Roadmap
•  SpringSource dm Server 2.0: 2009
•  Cloning bundles
–  solves problems around static variables and more
•  Shared Repository
–  make a repository available to other servers
•  Plan Files
–  Define an application as a collection of bundles
–  Does not contain the bundles, more flexible
•  Distributed and improved Management
–  operation on a group of servers
–  like tc Server for Tomcat
•  Modular Web Applications
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 42
Support for Enterprise OSGi
Standards
•  RFC 66: Web Container for OSGi (RI based on dm
Server)
•  RFC 119: Distributed OSGi
•  RFC 124: Blueprint Service (RI based on Spring-
DM)
•  RFC 139: JMX interface for OSGi
•  RFC 142: JNDI and OSGi integration
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 43
Note: OSGi has an impact on
operations
•  New deployment model
•  Updates of bundles possible
•  How much less regression testing do you actually
do?
•  Is redeploying just a part of an application OK for
operations?
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 44
Virtualization / Cloud
•  Deployment blueprints define machines and their
characteristics
•  vApp define a deployment format based on such
blueprints
•  dm Server, tc Server etc will be configurable using
vApp properties (e.g. ports)
•  vApps can be pre defined – just add your application
•  vApps can optimize for network traffic or availability
•  Deployment and set up of the VMs is trivial
•  …in your private or a public cloud
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Summary
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 46
Summary
•  Spring is a portable programming model
•  This help the move from full blown Java EE to
Servlet containers
•  An important part of infrastructures is support for
operations
•  Issues:
–  Monitoring e.g. Spring Enterprise
–  Cluster e.g. tc Server
–  Modularization at runtime e.g. OSGi / dm Server
–  Virtualization / Cloud
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Questions?
Eberhard Wolff
eberhard.wolff@springsource.com
http://SpringSource.com
Run	
  
Manage	
  
Build	
  

More Related Content

What's hot

VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1ikewu83
 
Great Java Application Server Debate
Great Java Application Server DebateGreat Java Application Server Debate
Great Java Application Server DebateHamed Hatami
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQRob Davies
 
Oracle ravello overview
Oracle ravello overviewOracle ravello overview
Oracle ravello overview
wk c
 
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACS
Simon Haslam
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
Bruno Borges
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
ICF CIRCUIT
 
A295 nodejs-knowledge-accelerator
A295   nodejs-knowledge-acceleratorA295   nodejs-knowledge-accelerator
A295 nodejs-knowledge-accelerator
Michael Dawson
 
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementBP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
Alfresco Software
 
A301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoringA301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoring
Michael Dawson
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntfUlrich Krause
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Jesse Gallagher
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
Ulrich Krause
 
V mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationV mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentation
solarisyourep
 
Is Enterprise Java Still Relevant (JavaOne 2015 session)
Is Enterprise Java Still Relevant (JavaOne 2015 session)Is Enterprise Java Still Relevant (JavaOne 2015 session)
Is Enterprise Java Still Relevant (JavaOne 2015 session)
Ian Robinson
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages Scalability
Tony McGuckin
 
VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...
VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...
VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...
VMworld
 
Web Logic Jboss Final
Web Logic Jboss FinalWeb Logic Jboss Final
Web Logic Jboss FinalMohamed Atef
 

What's hot (20)

VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1
 
Great Java Application Server Debate
Great Java Application Server DebateGreat Java Application Server Debate
Great Java Application Server Debate
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQ
 
Oracle ravello overview
Oracle ravello overviewOracle ravello overview
Oracle ravello overview
 
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACS
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
 
A295 nodejs-knowledge-accelerator
A295   nodejs-knowledge-acceleratorA295   nodejs-knowledge-accelerator
A295 nodejs-knowledge-accelerator
 
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementBP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
 
A301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoringA301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoring
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
V mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationV mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentation
 
Is Enterprise Java Still Relevant (JavaOne 2015 session)
Is Enterprise Java Still Relevant (JavaOne 2015 session)Is Enterprise Java Still Relevant (JavaOne 2015 session)
Is Enterprise Java Still Relevant (JavaOne 2015 session)
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages Scalability
 
VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...
VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...
VMworld 2013: Keep it Simple and Integrated - Out-of the Box Cross-System Aut...
 
Web Logic Jboss Final
Web Logic Jboss FinalWeb Logic Jboss Final
Web Logic Jboss Final
 

Viewers also liked

Food express ecommerce - Operation management (om)
Food express ecommerce - Operation management (om)   Food express ecommerce - Operation management (om)
Food express ecommerce - Operation management (om)
Aditya
 
Supply Chain Management of DHL Express Operations
Supply Chain Management of DHL Express Operations Supply Chain Management of DHL Express Operations
Supply Chain Management of DHL Express Operations
Talha Bin Irfan Usmani
 
WebXpress solutions TMS express cargo
WebXpress solutions TMS express cargoWebXpress solutions TMS express cargo
WebXpress solutions TMS express cargo
WebXpress.IN
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
Rowell Belen
 
Spring IO - Spring Boot for DevOps
Spring IO - Spring Boot for DevOpsSpring IO - Spring Boot for DevOps
Spring IO - Spring Boot for DevOps
Nicolas Fränkel
 
Developing polyglot persistence applications (SpringOne China 2012)
Developing polyglot persistence applications (SpringOne China 2012)Developing polyglot persistence applications (SpringOne China 2012)
Developing polyglot persistence applications (SpringOne China 2012)Chris Richardson
 
Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)
Chris Richardson
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
Ramnivas Laddad
 
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Chris Richardson
 
Operations Management Pizza Express
Operations Management Pizza ExpressOperations Management Pizza Express
Operations Management Pizza ExpressStephen Baines
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architecture
Igor Khotin
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Chris Richardson
 
HP ArcSight
HP ArcSight HP ArcSight
HP ArcSight
Mohamed Zohair
 
Dhl LOGISTICS
Dhl LOGISTICSDhl LOGISTICS
Dhl LOGISTICS
vijay jha
 
Java SE 8 best practices
Java SE 8 best practicesJava SE 8 best practices
Java SE 8 best practices
Stephen Colebourne
 
Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)
Chris Richardson
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
King Julian
 
McDonald's Company Analysis
McDonald's Company AnalysisMcDonald's Company Analysis
McDonald's Company AnalysisYanxin Jiang
 

Viewers also liked (20)

Food express ecommerce - Operation management (om)
Food express ecommerce - Operation management (om)   Food express ecommerce - Operation management (om)
Food express ecommerce - Operation management (om)
 
Supply Chain Management of DHL Express Operations
Supply Chain Management of DHL Express Operations Supply Chain Management of DHL Express Operations
Supply Chain Management of DHL Express Operations
 
WebXpress solutions TMS express cargo
WebXpress solutions TMS express cargoWebXpress solutions TMS express cargo
WebXpress solutions TMS express cargo
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
 
Spring IO - Spring Boot for DevOps
Spring IO - Spring Boot for DevOpsSpring IO - Spring Boot for DevOps
Spring IO - Spring Boot for DevOps
 
Developing polyglot persistence applications (SpringOne China 2012)
Developing polyglot persistence applications (SpringOne China 2012)Developing polyglot persistence applications (SpringOne China 2012)
Developing polyglot persistence applications (SpringOne China 2012)
 
Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
 
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
 
Operations Management Pizza Express
Operations Management Pizza ExpressOperations Management Pizza Express
Operations Management Pizza Express
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architecture
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
 
HP ArcSight
HP ArcSight HP ArcSight
HP ArcSight
 
Dhl LOGISTICS
Dhl LOGISTICSDhl LOGISTICS
Dhl LOGISTICS
 
Process design
Process designProcess design
Process design
 
Java SE 8 best practices
Java SE 8 best practicesJava SE 8 best practices
Java SE 8 best practices
 
Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 
SF Express
SF ExpressSF Express
SF Express
 
McDonald's Company Analysis
McDonald's Company AnalysisMcDonald's Company Analysis
McDonald's Company Analysis
 

Similar to Operations and Monitoring with Spring

Openfest15 MySQL Plugin Development
Openfest15 MySQL Plugin DevelopmentOpenfest15 MySQL Plugin Development
Openfest15 MySQL Plugin Development
Georgi Kodinov
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
Johan Edstrom
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
Rogue Wave Software
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated TestingMorgan Tocker
 
Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015
Daniel Woods
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
Mathew Beane
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
David Delabassee
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
Chapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side TechnologiesChapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side Technologies
It Academy
 
Azug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckAzug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den Broeck
Wim Van den Broeck
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
CloudBees
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
CloudBees
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
Arafat Hossan
 
Was liberty in deployments
Was liberty in deploymentsWas liberty in deployments
Was liberty in deploymentssflynn073
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
Maarten Smeets
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
Kathy Brown
 
PaaS with Java
PaaS with JavaPaaS with Java
PaaS with Java
Eberhard Wolff
 
SOA with Zend Framework
SOA with Zend FrameworkSOA with Zend Framework
SOA with Zend Framework
Mike Willbanks
 
Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle World
Simon Haslam
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1Ivan Ma
 

Similar to Operations and Monitoring with Spring (20)

Openfest15 MySQL Plugin Development
Openfest15 MySQL Plugin DevelopmentOpenfest15 MySQL Plugin Development
Openfest15 MySQL Plugin Development
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
 
Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Chapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side TechnologiesChapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side Technologies
 
Azug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckAzug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den Broeck
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
Was liberty in deployments
Was liberty in deploymentsWas liberty in deployments
Was liberty in deployments
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
PaaS with Java
PaaS with JavaPaaS with Java
PaaS with Java
 
SOA with Zend Framework
SOA with Zend FrameworkSOA with Zend Framework
SOA with Zend Framework
 
Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle World
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
 

More from Eberhard Wolff

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
Eberhard Wolff
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
Eberhard Wolff
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
Eberhard Wolff
 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Eberhard Wolff
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
Eberhard Wolff
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
Eberhard Wolff
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
Eberhard Wolff
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
Eberhard Wolff
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
Eberhard Wolff
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
Eberhard Wolff
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
Eberhard Wolff
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
Eberhard Wolff
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
Eberhard Wolff
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
Eberhard Wolff
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
Eberhard Wolff
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
Eberhard Wolff
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
Eberhard Wolff
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
Eberhard Wolff
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
Eberhard Wolff
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Eberhard Wolff
 

More from Eberhard Wolff (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

Operations and Monitoring with Spring

  • 1. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Operations and Monitoring with Spring Eberhard Wolff Regional Director and Principal Consultant SpringSource
  • 2. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 2 A Short History of Spring •  Spring is a platform independent framework for the development of (Enterprise) Java Applications •  Originally started as an easier to use alternative for Java EE development •  In particular compared to EJB •  See "J2EE Development Without EJB" •  But actually there is more to it
  • 3. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 3 Programming Model vs. Infrastructure •  Programming Model: A set of APIs to use as a developer •  Infrastructure: Something to run your software on •  Spring defines a Programming Model but no Infrastructure •  …you can use Java EE, a simple Servlet container… •  Java EE defines a Programming Model and an Infrastructure
  • 4. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 4 Bundling Programming Model and Infrastructure •  Bundling leads to some problems •  To upgrade the programming model you need to upgrade the infrastructure •  Operations will not like that idea •  You are limited to a certain infrastructure – what do you do concerning OSGi? •  You only get the benefit from OSGi if you use its non OSGi deployment model •  Users realize how flexible they are using Spring
  • 5. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 5 Spring s Impact on Java EE Production Environment Jaav EE Application Server Servlet Container • Connection mgmt. • Clustering • Deployment management EJB Container EAR EJB WAR Production Environment Tomcat Production Environment Java EE Application Server Servlet Container • Connection mgmt. • Clustering • Deployment management WAR Spring Powered Application Spring WAR Spring Powered Application Spring Servlet Container • Connection mgmt. • Clustering • Deployment management
  • 6. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 6 So: What is the advantage of Spring over Java EE 6? •  Type error: Cannot compare infrastructure + programming model to programming model •  But seriously… •  Spring actually exists – Java EE 6 is still being standardized •  You don't need to upgrade your server (many are still on Java EE 5) •  Actually this question is not important to many: They don't run on Java EE anyway
  • 7. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 7 0% 10% 20% 30% 40% 50% 60% 70% Java Application Server Usage, Source: 2008 Evans Data Survey Spring ApplicationsWebLogic 26% JBoss 38% WebSphere 43% Apache Tomcat 68% Today s De Facto Standards Spring and Tomcat •  Obviously the Java EE platform is often not needed •  A Servlet container is enough •  …and too complex
  • 8. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 8 Is Spring + Servlet container as powerful as Java EE? •  "Classic" features of a Java EE server Feature Spring Solution Transactions No real 2PC but smart solutions for many scenarios Security Spring Security is much better Distribution Not too important any more Spring Remoting offers even more features Persistence Java EE's persistence (JPA) can be used – and several other Naming Supported by Dependency Injection Connection / Resource Pooling Supported by Servlet Containers and DataSource implementations
  • 9. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 9 So… •  Let's add transaction support (JTA) to Tomcat •  Then we have a full blown Application Server •  But Tomcat is very successful already •  …and Spring offers solutions –  for O/R mappers –  for JMS + a DataSource •  JTA seems to be a not too important •  Is there anything else we need to think about? •  Infrastructure is not just for developers!
  • 10. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 10 Operations •  Operations cares about –  monitoring –  administration •  They should be able to look into application •  Usually there is more than one Application Server – how can you handle larger installations? •  Individual updates of parts of an application are important •  Virtualization / Cloud
  • 11. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring Enterprise - Looking into Applications
  • 12. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 12 Your Application Spring Enterprise - Looking into Applications •  Certified Spring •  Instrumented Spring –  Monitor Spring apps across infrastructure •  JMX flows into Management Application –  Track app performance •  Just different JARs •  No code changes Enterprise Management Application JMX
  • 13. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Demo: Spring Enterprise
  • 14. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Handling large clusters
  • 15. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 15 Cluster •  Usually there is more than one Tomcat server in an installation •  How can you manage them? •  Ideally centralized
  • 16. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 16 tc Server Tomcat Enterprise support Distributed Operations Diagnostics Enterprise Capabilities Tomcat you know. Enterprise capabilities you need. SpringSource tc Server
  • 17. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 17 Product Architecture tc Server machine 1 Hyperic Agent Mgmt Server Hyperic Server Hyperic Web Console Other Manageable Items Apache http Server Apache Tomcat ActiveMQ JVM Operating Systems Scripts Configs Inventory, Metric, Audit, … tc Server tc Server machine n Hyperic Agent Configs tc Server
  • 18. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 18 tc Server •  Binaries almost unchanged – no lock in •  Centralized monitoring and administration •  Groups of server allow to deal with a group of servers – not just one –  Start / stop / restart –  Deployment –  Configuration including JVM options •  Easy operations of large Tomcat installations
  • 19. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Demo: tc Server
  • 20. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 20 Demo WhiteRabbit Hyperic Agent Ubuntu1 Hyperic Server Hyperic Web Console Inventory, Metric, Audit, … tc Server Ubuntu1 Hyperic Agent tc Server
  • 21. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Updating parts of an application
  • 22. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 22 dm Server •  Modularization is key to maintainable software •  Modularization at runtime gives more power to Operations •  Updates of parts of the application •  Determining the source of an error •  etc •  On the client and in the embedded world OSGi has succeeded as a standard for modularization •  OSGi enters the server market…
  • 23. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. OSGi
  • 24. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 24 It's a module system •  Partition a system into a number of modules – "bundles" •  Dynamic: Bundles can be installed, started, stopped, uninstalled and updated •  ...at runtime •  better operations •  Strict visibility rules •  Resolution process satisfies dependencies of a module •  Understands versioning
  • 25. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 25 It's even service-oriented •  Bundles can publish services… dynamically! •  Service Registry allows other bundles to consume services •  Services come and go at runtime –  … transparently when using Spring-DM
  • 26. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 26 OSGi Bundle •  The fundamental unit of deployment and modularity in OSGi •  Just a JAR file –  with additional entries in META-INF/MANIFEST.MF •  Common manifest headers: –  Bundle-SymbolicName –  Bundle-Version –  Bundle-Name –  Bundle-ManifestVersion –  Bundle-Vendor
  • 27. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 27 Import / Export -Package Declares package-level dependencies of your bundle. Import-Package: com.xyz.foo; Import-Package: com.xyz.foo;version="1.0.3" Import-Package: com.xyz.foo;version="[1.0.3,1.0.3]" Import-Package: com.xyz.foo;version="[1.0.3,1.1.0)", com.xyz.bar;version="[1.0.3,2.0.0)" Export-Package: com.xyz.foo Export-Package: com.xyz.foo;version="1.0.5" >= 1.0.3; e.g., 1.0.3.GA, 1.0.4, etc.
  • 28. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring Dynamic Modules & SpringSource dm Server
  • 29. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 29 Spring-DM: ApplicationContext •  Configuration files in /META-INF/spring •  Automatically merged •  ..and ApplicationContext is created
  • 30. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 30 Service export and import <beans ...> <osgi:service ref="customerDAO" interface="dao.ICustomerDAO" /> <osgi:reference id="dataSource" interface="javax.sql.DataSource" /> </beans>
  • 31. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 31 Service export and import •  Dynamic services automatically dealt with •  i.e. method calls are buffered •  Purely declarative •  No dependencies on OSGi in the code •  No resource leaks •  Not solved in Spring Dynamic Modules: –  Easy import of libraries –  Using JPA or Hibernate in OSGi –  Seamless Web Support –  Notion of an application •  Enter dm Server
  • 32. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 32 dm Server Platform • Modular profiles • Bundle repository • Library provisioning • Serviceability – FFDC – Logging / Tracing • Built on Equinox • Modular architecture – Subsystems – Bundles • Small footprint WAR Personality Web Module Personality Bundle Personality Tomcat Deployer Management Dynamic Modules Kernel Equinox JVM
  • 33. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 33 Bundles for the example •  Web •  Service •  API: only interfaces and domain classes –  Implementation can be exchanged •  Could add infrastructure: DataSource / PlatformTransactionManager API Service Web Package Import
  • 34. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 34 Bundles & Types •  Only dependencies to the API •  Therefore: implementation can be exchanged even at runtime •  No direct dependencies to any implementation •  Not shown: dependencies to external bundles •  … can be installed in dm Server •  … modular middleware!
  • 35. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 35 Bundles & Services Services: Publish / Consume api service web Service Registry
  • 36. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 36 Bundles & Services •  Infrastructure can use the same principle as application services •  i.e. DataSource and PlatformTransactionManager are just another service •  Can I still run on plain Java EE? •  Yes: instead of OSGi Service directly inject Spring Beans •  no more more dynamic services / modularization •  No code change needed •  Application can run on Java EE or OSGi
  • 37. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 37 PAR •  Packaging format for all modules in an application •  JAR with Application-* manifest headers •  Single unit: deploy, refresh, undeploy •  Application boundaries –  Scoping of types and services –  DataSource does not leak out of the application –  Hibernate can change domain objects API Service Web Package Import Spring Taglibs Application
  • 38. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Web Migration: From WAR to PAR
  • 39. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 39 Shared Libraries WAR Web Application Deployment Options •  Standard Java EE WAR –  supported on dm Server as is –  converted into an OSGi bundle •  Shared Libraries WAR –  WAR + OSGi package imports –  Eradicate library bloat of monolithic Java EE –  WARs •  Shared Services WAR –  Uses OSGi services with Spring's <osgi:reference> •  Web Module Standard WAR libs services Bundle Repository Shared Services WAR OSGi Service Registry services
  • 40. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Roadmap
  • 41. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 41 dm Server 2.0 Roadmap •  SpringSource dm Server 2.0: 2009 •  Cloning bundles –  solves problems around static variables and more •  Shared Repository –  make a repository available to other servers •  Plan Files –  Define an application as a collection of bundles –  Does not contain the bundles, more flexible •  Distributed and improved Management –  operation on a group of servers –  like tc Server for Tomcat •  Modular Web Applications
  • 42. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 42 Support for Enterprise OSGi Standards •  RFC 66: Web Container for OSGi (RI based on dm Server) •  RFC 119: Distributed OSGi •  RFC 124: Blueprint Service (RI based on Spring- DM) •  RFC 139: JMX interface for OSGi •  RFC 142: JNDI and OSGi integration
  • 43. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 43 Note: OSGi has an impact on operations •  New deployment model •  Updates of bundles possible •  How much less regression testing do you actually do? •  Is redeploying just a part of an application OK for operations?
  • 44. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 44 Virtualization / Cloud •  Deployment blueprints define machines and their characteristics •  vApp define a deployment format based on such blueprints •  dm Server, tc Server etc will be configurable using vApp properties (e.g. ports) •  vApps can be pre defined – just add your application •  vApps can optimize for network traffic or availability •  Deployment and set up of the VMs is trivial •  …in your private or a public cloud
  • 45. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Summary
  • 46. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 46 Summary •  Spring is a portable programming model •  This help the move from full blown Java EE to Servlet containers •  An important part of infrastructures is support for operations •  Issues: –  Monitoring e.g. Spring Enterprise –  Cluster e.g. tc Server –  Modularization at runtime e.g. OSGi / dm Server –  Virtualization / Cloud
  • 47. Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Questions? Eberhard Wolff eberhard.wolff@springsource.com http://SpringSource.com Run   Manage   Build