SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
© Paremus 2008 by David Savage; made available under the EPL v1.0 | 18/03/2008
How To Build Large Scale Enterprise
Applications Using OSGi
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Who Am I?
• 10 Years as a developer and architect
• Mainly startups in telecoms and finance
• Whole range of software lifecycle, design, dev, support
and admin
3
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
• Provisioning
• Installation
• Remote Classloading in OSGi
• Eclipse Plugin
3
What Have I Been Working On?
4
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Who Are Paremus?
• UK based software company
• Started as a consultancy in 1999
• Formed by senior architects and decision makers
• Switched to software company in 2004
• Not Grid, Not N Tier, Fabric
4
5
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Large Scale Enterprise Infrastructure
• 100+ Core’s
• Multiple Applications
• Multiple Requirements
• Multiple Users
5
6
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Types Of Industry
• Biotech
• Engineering
• Finance
• Games
• Military
• Web 2.0/3.0?
6
7
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
• Open Source Framework/Commercial Application
• Version 1.2 GA: March 2008
• Based on OSGi
• Deploy/Manage OSGi applications life-cycle on remote
nodes
7
8
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Newton @ Citigroup
• London Development Center
• 800 Cores (8 CPU Boxes 16 GB each)
• 100 Newton Instances
• 800 User Components
8
9
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Focus Of Talk
• Discussion vs Lecture
• Not trying to sell you:
⬥Any particular remote protocol
⬥Any particular programming model
⬥Any particular software ;)
• How do we build large scale apps - architecture, sys
admin, etc.
9
10
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
What’s The Problem?
10
11
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Why Do We Scale?
11
• Increased Power
• Increased Throughput
• Reduced Latency
• Increased Resilience
12
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Problems Of Scale
• Complexity
• Reliability
• Inflexibility
12
13
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
An Ideal Enterprise Architecture
13
14
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Simplicity
14
• Make everything as simple as possible, but no simpler
(Quote:Einstein)
• POJOs
⬥no dependencies, just business logic
⬥make developers lives easier - what about the rest of the
enterprise?
• Scale free patterns:
⬥Discovery vs static config
⬥Characteristics vs Lists
15
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Simplicity
• Enterprise complexity shouldn’t get in the way of:
⬥the developer,
⬥or the architect,
⬥or the system administrator
• Make Tasks As Simple As Possible For The Individual
15
16
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Model Driven
• Need to define the boundary conditions
⬥POJOs - need to add meta data somewhere
⬥Scale Free: where, when, how to scale
⬥Allows you to specify the service level dependencies
• Various DSL’s to describe models
• Test deployment scenarios before you commit your
infrastructure
• Allows An Enterprise To Quickly Introspect And
Change Their Infrastructure Based On Business
Requirements
16
17
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Why Take OSGi Into The Enterprise?
• Imports/Exports
• Simple
• Dynamic
• Security
• Mature
• OSGi is an integral part of a Model Driven Architecture
17
18
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Building Blocks
18
19
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Newton Architecture
19
• Components
• Bundles
• Repository
• System Manager
• Provisioner
• Container
• Discovery
• Bindings
• Management
20
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
View From 100,000 ft.
20
21
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
View From 10,000 ft. (Functional Perspective)
21
22
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
View From 10,000 ft. (User Perspective)
22
23
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Details, details...
23
24
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Components
24
• Supported models
⬥SCA
⬥Spring
⬥OSGi
⬥Switzerland of component deployment technologies
25
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Repository
• Resilient/Highly available
• Query Interface (LDAP)
• Content sensitive
25
26
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Systems
• Structured group of components
• Defines:
⬥which components
⬥scaling behaviour
⬥configuration
26
27
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Systems
27
Job Queue
Workers
Dave
28
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Systems
<?xml version="1.0" encoding="iso-8859-1"?>
<system name="fractal-workers" boundary="fabric">
<description>An environment that sets up one worker for every container in the fabric</description>
<system.composite name="worker"
bundle="org.cauldron.newton.fractal.engine"
template="fractal-worker-template"
version="1.0.0">
<replication.handler name="scale" type="org.cauldron.newton.system.replication.ScalableReplicationHandler">
<property name="scaleFactor" value="1" type="float" />
<property name="fixedDelta" value="-1" type="integer" />
<property name="minimum" value="1" type="integer" />
</replication.handler>
</system.composite>
<system.composite name="space"
bundle="org.dancres.blitz"
template="blitzTemplate"
version="1.2">
</system.composite>
</system>
28
29
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
ReplicationHandler
public interface ReplicationHandler {
void initialise(SystemContext ctx) throws SystemConfigurationException;
SystemContext getSystemContext() throws SystemConfigurationException;
Collection<CompositeInstance> replicate(
SystemCompositeDescriptor template,
SystemStateModel model)
throws SystemConfigurationException;
void destroy(SystemContext ctx);
}
32
30
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Presence
• Lightweight pattern for announcing location of
components
• Pluggable architecture for defining which components
are “activated”
33
31
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Active Passive Presence Behaviour
34
Time
32
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
ActivePassive
<presence-group labels="mylabel"
strategy="org.cauldron.newton.presence.strategy.ActivePassiveStrategy">
<property name="maximumActive" value="1" type="integer" />
</presence-group>
35
33
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
PresenceStrategy
public interface PresenceStrategy {
void configure(Map<String, Object> config);
long execute(PresenceGroup group);
}
36
34
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Negotiation
• In An Enterprise Environment Not All Nodes Are Equal
⬥Need To Make Best Use Of Resource
• Contracts
⬥Requirement
⬥Cost/Value
⬥Assessment
• Features
⬥Extensible
• Life-cycle
⬥Lifetime
⬥Life-cycle events, initialised, bound, unbound, destroy
37
35
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Contract
<contract features="(&amp;(machine.arch=i386)(machine.availableProcessors>1))"/>
<contract features="(!(container.composite.foo>0))"/>
<contract features="(network.bandwidth.in>1M)"/>
38
36
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Assessment
public interface CompositeAssessor {
public static final int MINIMUM_PRIORITY = 1000;
public static final int MAXIMIM_PRIORITY = 0;
public static final int NORMAL_PRIORITY = 500;
int getPriority();
/**
* Return a positive integer value representing the "cost" to host the given
* instance, or -1 if the instance cannot be installed for any cost
*/
int accept(CompositeInstance instance, Collection<CompositeInstance> current);
}
39
37
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
FeaturesProvider
public interface FeaturesProvider {
String getNamespace();
void addFeaturesChangeListener(FeatureChangeListener listener);
void removeFeaturesChangeListener(FeatureChangeListener listener);
Collection<String> getFeatureNames();
<T> ContainerFeature<T> getFeature(String name);
}
40
38
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Installation And Garbage Collection
• Bundle install - imports/exports/requires/versions
• Component install - services/references - bindings/
interfaces
• Graph walker
• Simplifies Job Of System Administrator When
Deploying Changes To An Application
41
39
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Discovery
• Registry
• Query Interface
• Filters and Attributes
42
40
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Filters and Attributes
<reference name="foo">
<interface.java interface="com.example.Foo"/>
<binding.rmi filter="(check=true)">
</reference>
<service name="foo">
<interface.java interface="com.example.Foo"/>
<binding.rmi>
<attribute name="check" value="true" />
</binding.rmi>
</service>
43
41
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
SCA Bindings
• OSGi (local)
• RMI
• WS*
• JMS
• Java Space
• ...
44
42
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Marshalling Java Objects
• Bundle Import/Export not enough
• Private classes are serialized
• Lifecycle of OSGi bundles when unmarshalled
45
43
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Management
• JMX
• Dynamic
• Pluggable
• Views/Trackers
46
44
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Tracking MBeans
ManagementBeanListener listener = new ManagementBeanListener() {
public void addBean(ObjectName name, MBeanServerConnection sourceConnection) {
log.info("Added " + name);
}
public void changedBean(ObjectName name, MBeanServerConnection sourceConnection) {
log.info("Changed " + name);
}
public void removeBean(ObjectName name, MBeanServerConnection sourceConnection) {
log.info("Removed " + name);
}
}
47
45
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Tracking MBeans
@Reference
private ManagementView view;
...
String CONTAINER =
"org.cauldron.newton:Type=ContainerMBean,*";
ObjectName name = new ObjectName( CONTAINER );
ManagementBeanTracker tracker = new
ManagementBeanTracker(name, listener, view);
tracker.open();
48
46
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Recovery
• Shared VM
• Java Security gives no protection against Out Of
Memory
• CrashOnly
⬥Dave Patterson, CS researcher at Berkely
⬥Having Built A Resilient Infrastructure That Can Cope With
Change And Accepts Dynamicity Then We Can Deal
Effectively With The Concept Of Failure
49
47
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Conclusions
• In order to build scalable applications you need to use
the right patterns
• Patterns should be simple (i.e. expose relevant
problems to relevant people)
• Model Driven Patterns Are Easier To Introspect And
Change
50
48
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Conclusions
• Expect failure at larger scales
• Even small problems will be magnified by scale
51
49
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Conclusions
• Dynamic behaviours can increase resilience
• Resilience cannot be achieved via forcing the world to
be the way you want it
• King Canute and his enterprise?
52
50
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Summary
• Large scale enterprise applications can be built using
OSGi
• and you can deploy them on Newton and Infiniflow ;)
53
51
How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0
Questions?
• Contact info:
⬥dave.savage@paremus.com
⬥http://newton.codecauldron.org
⬥http://www.paremus.com
⬥Exhibitor Stand 400 (located just by the doorway)
⬥Come and see a demo.
54

Mais conteúdo relacionado

Mais procurados

Deploy Code into Production Faster on Kubernetes
Deploy Code into Production Faster on KubernetesDeploy Code into Production Faster on Kubernetes
Deploy Code into Production Faster on KubernetesVMware Tanzu
 
Secrets of Successful Digital Transformers
Secrets of Successful Digital TransformersSecrets of Successful Digital Transformers
Secrets of Successful Digital TransformersVMware Tanzu
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIVMware Tanzu
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsMatt Stine
 
Moving Applications to the cloud
Moving Applications to the cloudMoving Applications to the cloud
Moving Applications to the cloudAarno Aukia
 
Tried and True Approach to Cloud Native Design - An Experienced Based Method
Tried and True Approach to Cloud Native Design - An Experienced Based MethodTried and True Approach to Cloud Native Design - An Experienced Based Method
Tried and True Approach to Cloud Native Design - An Experienced Based MethodVMware Tanzu
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
Using puppet to leverage DevOps in Large Enterprise Oracle Environments
Using puppet to leverage DevOps in Large Enterprise Oracle Environments Using puppet to leverage DevOps in Large Enterprise Oracle Environments
Using puppet to leverage DevOps in Large Enterprise Oracle Environments Bert Hajee
 
Application development with WSO2 App Factory
Application development with WSO2 App Factory Application development with WSO2 App Factory
Application development with WSO2 App Factory WSO2
 
Crossing the Streams! Rollout Strategies to Keep Your Users Happy!
Crossing the Streams! Rollout Strategies to Keep Your Users Happy!Crossing the Streams! Rollout Strategies to Keep Your Users Happy!
Crossing the Streams! Rollout Strategies to Keep Your Users Happy!VMware Tanzu
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookVMware Tanzu
 
Building The Independent Wave
Building The Independent WaveBuilding The Independent Wave
Building The Independent WaveJames Purser
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring DataVMware Tanzu
 
OPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesOPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesVMware Tanzu
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Open Source Experience
 
Successful and Sustainable Business Transformation: The 4 x 3 Approach
Successful and Sustainable Business Transformation: The 4 x 3 ApproachSuccessful and Sustainable Business Transformation: The 4 x 3 Approach
Successful and Sustainable Business Transformation: The 4 x 3 ApproachVMware Tanzu
 
Measuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an EnterpriseMeasuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an EnterpriseVMware Tanzu
 
Ensuring Security and Feature Freshness with VMware Tanzu Observability
Ensuring Security and Feature Freshness with VMware Tanzu ObservabilityEnsuring Security and Feature Freshness with VMware Tanzu Observability
Ensuring Security and Feature Freshness with VMware Tanzu ObservabilityVMware Tanzu
 
OCTO On-Site Off-Site Update on D8 Roadmap
OCTO On-Site Off-Site Update on D8 RoadmapOCTO On-Site Off-Site Update on D8 Roadmap
OCTO On-Site Off-Site Update on D8 RoadmapAngela Byron
 
CF Push for Beginners
CF Push for BeginnersCF Push for Beginners
CF Push for BeginnersVMware Tanzu
 

Mais procurados (20)

Deploy Code into Production Faster on Kubernetes
Deploy Code into Production Faster on KubernetesDeploy Code into Production Faster on Kubernetes
Deploy Code into Production Faster on Kubernetes
 
Secrets of Successful Digital Transformers
Secrets of Successful Digital TransformersSecrets of Successful Digital Transformers
Secrets of Successful Digital Transformers
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring Applications
 
Moving Applications to the cloud
Moving Applications to the cloudMoving Applications to the cloud
Moving Applications to the cloud
 
Tried and True Approach to Cloud Native Design - An Experienced Based Method
Tried and True Approach to Cloud Native Design - An Experienced Based MethodTried and True Approach to Cloud Native Design - An Experienced Based Method
Tried and True Approach to Cloud Native Design - An Experienced Based Method
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Using puppet to leverage DevOps in Large Enterprise Oracle Environments
Using puppet to leverage DevOps in Large Enterprise Oracle Environments Using puppet to leverage DevOps in Large Enterprise Oracle Environments
Using puppet to leverage DevOps in Large Enterprise Oracle Environments
 
Application development with WSO2 App Factory
Application development with WSO2 App Factory Application development with WSO2 App Factory
Application development with WSO2 App Factory
 
Crossing the Streams! Rollout Strategies to Keep Your Users Happy!
Crossing the Streams! Rollout Strategies to Keep Your Users Happy!Crossing the Streams! Rollout Strategies to Keep Your Users Happy!
Crossing the Streams! Rollout Strategies to Keep Your Users Happy!
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
Building The Independent Wave
Building The Independent WaveBuilding The Independent Wave
Building The Independent Wave
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring Data
 
OPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesOPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu Slides
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...
 
Successful and Sustainable Business Transformation: The 4 x 3 Approach
Successful and Sustainable Business Transformation: The 4 x 3 ApproachSuccessful and Sustainable Business Transformation: The 4 x 3 Approach
Successful and Sustainable Business Transformation: The 4 x 3 Approach
 
Measuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an EnterpriseMeasuring ROI and Driving Adoption of TAS in an Enterprise
Measuring ROI and Driving Adoption of TAS in an Enterprise
 
Ensuring Security and Feature Freshness with VMware Tanzu Observability
Ensuring Security and Feature Freshness with VMware Tanzu ObservabilityEnsuring Security and Feature Freshness with VMware Tanzu Observability
Ensuring Security and Feature Freshness with VMware Tanzu Observability
 
OCTO On-Site Off-Site Update on D8 Roadmap
OCTO On-Site Off-Site Update on D8 RoadmapOCTO On-Site Off-Site Update on D8 Roadmap
OCTO On-Site Off-Site Update on D8 Roadmap
 
CF Push for Beginners
CF Push for BeginnersCF Push for Beginners
CF Push for Beginners
 

Semelhante a How To Build Large Scale Enterprise Applications Using OSGi - David Savage, Paremus

Weave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeaveworks
 
A Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG Enterprise
A Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG EnterpriseA Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG Enterprise
A Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG EnterpriseeG Innovations
 
AWS Community Day - Amy Negrette - Gateways to Gateways
AWS Community Day - Amy Negrette - Gateways to GatewaysAWS Community Day - Amy Negrette - Gateways to Gateways
AWS Community Day - Amy Negrette - Gateways to GatewaysAWS Chicago
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...jaxconf
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersWeaveworks
 
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Weaveworks
 
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsDeploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsWeaveworks
 
Weave GitOps Core Overview (Free GitOps Workshop)
Weave GitOps Core Overview (Free GitOps Workshop)Weave GitOps Core Overview (Free GitOps Workshop)
Weave GitOps Core Overview (Free GitOps Workshop)Weaveworks
 
DX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in KubernetesDX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in KubernetesWeaveworks
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudiMasters
 
Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approachPractical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approachMark Cocker
 
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia ChapterFORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia ChapterDiana Gray, MBA
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSAmazon Web Services
 
Infrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsInfrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsXebiaLabs
 
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKSAccelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKSWeaveworks
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform WSO2
 
Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...
Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...
Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...eG Innovations
 

Semelhante a How To Build Large Scale Enterprise Applications Using OSGi - David Savage, Paremus (20)

Weave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any Kubernetes
 
A Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG Enterprise
A Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG EnterpriseA Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG Enterprise
A Deep Dive Into Comprehensive Citrix & VDI Monitoring with eG Enterprise
 
AWS Community Day - Amy Negrette - Gateways to Gateways
AWS Community Day - Amy Negrette - Gateways to GatewaysAWS Community Day - Amy Negrette - Gateways to Gateways
AWS Community Day - Amy Negrette - Gateways to Gateways
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
 
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
 
Enterprise serverless
Enterprise serverlessEnterprise serverless
Enterprise serverless
 
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsDeploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
 
DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
Weave GitOps Core Overview (Free GitOps Workshop)
Weave GitOps Core Overview (Free GitOps Workshop)Weave GitOps Core Overview (Free GitOps Workshop)
Weave GitOps Core Overview (Free GitOps Workshop)
 
DX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in KubernetesDX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in Kubernetes
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
IBM Z for the Digital Enterprise - Zowe overview
IBM Z for the Digital Enterprise - Zowe overviewIBM Z for the Digital Enterprise - Zowe overview
IBM Z for the Digital Enterprise - Zowe overview
 
Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approachPractical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approach
 
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia ChapterFORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWS
 
Infrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsInfrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale Organizations
 
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKSAccelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform
 
Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...
Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...
Enterprise Monitoring 2018: Converged Application & Infrastructure Monitoring...
 

Mais de mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Mais de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

How To Build Large Scale Enterprise Applications Using OSGi - David Savage, Paremus

  • 1. © Paremus 2008 by David Savage; made available under the EPL v1.0 | 18/03/2008 How To Build Large Scale Enterprise Applications Using OSGi
  • 2. How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Who Am I? • 10 Years as a developer and architect • Mainly startups in telecoms and finance • Whole range of software lifecycle, design, dev, support and admin
  • 3. 3 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 • Provisioning • Installation • Remote Classloading in OSGi • Eclipse Plugin 3 What Have I Been Working On?
  • 4. 4 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Who Are Paremus? • UK based software company • Started as a consultancy in 1999 • Formed by senior architects and decision makers • Switched to software company in 2004 • Not Grid, Not N Tier, Fabric 4
  • 5. 5 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Large Scale Enterprise Infrastructure • 100+ Core’s • Multiple Applications • Multiple Requirements • Multiple Users 5
  • 6. 6 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Types Of Industry • Biotech • Engineering • Finance • Games • Military • Web 2.0/3.0? 6
  • 7. 7 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 • Open Source Framework/Commercial Application • Version 1.2 GA: March 2008 • Based on OSGi • Deploy/Manage OSGi applications life-cycle on remote nodes 7
  • 8. 8 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Newton @ Citigroup • London Development Center • 800 Cores (8 CPU Boxes 16 GB each) • 100 Newton Instances • 800 User Components 8
  • 9. 9 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Focus Of Talk • Discussion vs Lecture • Not trying to sell you: ⬥Any particular remote protocol ⬥Any particular programming model ⬥Any particular software ;) • How do we build large scale apps - architecture, sys admin, etc. 9
  • 10. 10 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 What’s The Problem? 10
  • 11. 11 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Why Do We Scale? 11 • Increased Power • Increased Throughput • Reduced Latency • Increased Resilience
  • 12. 12 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Problems Of Scale • Complexity • Reliability • Inflexibility 12
  • 13. 13 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 An Ideal Enterprise Architecture 13
  • 14. 14 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Simplicity 14 • Make everything as simple as possible, but no simpler (Quote:Einstein) • POJOs ⬥no dependencies, just business logic ⬥make developers lives easier - what about the rest of the enterprise? • Scale free patterns: ⬥Discovery vs static config ⬥Characteristics vs Lists
  • 15. 15 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Simplicity • Enterprise complexity shouldn’t get in the way of: ⬥the developer, ⬥or the architect, ⬥or the system administrator • Make Tasks As Simple As Possible For The Individual 15
  • 16. 16 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Model Driven • Need to define the boundary conditions ⬥POJOs - need to add meta data somewhere ⬥Scale Free: where, when, how to scale ⬥Allows you to specify the service level dependencies • Various DSL’s to describe models • Test deployment scenarios before you commit your infrastructure • Allows An Enterprise To Quickly Introspect And Change Their Infrastructure Based On Business Requirements 16
  • 17. 17 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Why Take OSGi Into The Enterprise? • Imports/Exports • Simple • Dynamic • Security • Mature • OSGi is an integral part of a Model Driven Architecture 17
  • 18. 18 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Building Blocks 18
  • 19. 19 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Newton Architecture 19 • Components • Bundles • Repository • System Manager • Provisioner • Container • Discovery • Bindings • Management
  • 20. 20 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 View From 100,000 ft. 20
  • 21. 21 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 View From 10,000 ft. (Functional Perspective) 21
  • 22. 22 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 View From 10,000 ft. (User Perspective) 22
  • 23. 23 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Details, details... 23
  • 24. 24 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Components 24 • Supported models ⬥SCA ⬥Spring ⬥OSGi ⬥Switzerland of component deployment technologies
  • 25. 25 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Repository • Resilient/Highly available • Query Interface (LDAP) • Content sensitive 25
  • 26. 26 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Systems • Structured group of components • Defines: ⬥which components ⬥scaling behaviour ⬥configuration 26
  • 27. 27 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Systems 27 Job Queue Workers Dave
  • 28. 28 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Systems <?xml version="1.0" encoding="iso-8859-1"?> <system name="fractal-workers" boundary="fabric"> <description>An environment that sets up one worker for every container in the fabric</description> <system.composite name="worker" bundle="org.cauldron.newton.fractal.engine" template="fractal-worker-template" version="1.0.0"> <replication.handler name="scale" type="org.cauldron.newton.system.replication.ScalableReplicationHandler"> <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-1" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system.composite> <system.composite name="space" bundle="org.dancres.blitz" template="blitzTemplate" version="1.2"> </system.composite> </system> 28
  • 29. 29 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 ReplicationHandler public interface ReplicationHandler { void initialise(SystemContext ctx) throws SystemConfigurationException; SystemContext getSystemContext() throws SystemConfigurationException; Collection<CompositeInstance> replicate( SystemCompositeDescriptor template, SystemStateModel model) throws SystemConfigurationException; void destroy(SystemContext ctx); } 32
  • 30. 30 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Presence • Lightweight pattern for announcing location of components • Pluggable architecture for defining which components are “activated” 33
  • 31. 31 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Active Passive Presence Behaviour 34 Time
  • 32. 32 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 ActivePassive <presence-group labels="mylabel" strategy="org.cauldron.newton.presence.strategy.ActivePassiveStrategy"> <property name="maximumActive" value="1" type="integer" /> </presence-group> 35
  • 33. 33 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 PresenceStrategy public interface PresenceStrategy { void configure(Map<String, Object> config); long execute(PresenceGroup group); } 36
  • 34. 34 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Negotiation • In An Enterprise Environment Not All Nodes Are Equal ⬥Need To Make Best Use Of Resource • Contracts ⬥Requirement ⬥Cost/Value ⬥Assessment • Features ⬥Extensible • Life-cycle ⬥Lifetime ⬥Life-cycle events, initialised, bound, unbound, destroy 37
  • 35. 35 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Contract <contract features="(&amp;(machine.arch=i386)(machine.availableProcessors>1))"/> <contract features="(!(container.composite.foo>0))"/> <contract features="(network.bandwidth.in>1M)"/> 38
  • 36. 36 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Assessment public interface CompositeAssessor { public static final int MINIMUM_PRIORITY = 1000; public static final int MAXIMIM_PRIORITY = 0; public static final int NORMAL_PRIORITY = 500; int getPriority(); /** * Return a positive integer value representing the "cost" to host the given * instance, or -1 if the instance cannot be installed for any cost */ int accept(CompositeInstance instance, Collection<CompositeInstance> current); } 39
  • 37. 37 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 FeaturesProvider public interface FeaturesProvider { String getNamespace(); void addFeaturesChangeListener(FeatureChangeListener listener); void removeFeaturesChangeListener(FeatureChangeListener listener); Collection<String> getFeatureNames(); <T> ContainerFeature<T> getFeature(String name); } 40
  • 38. 38 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Installation And Garbage Collection • Bundle install - imports/exports/requires/versions • Component install - services/references - bindings/ interfaces • Graph walker • Simplifies Job Of System Administrator When Deploying Changes To An Application 41
  • 39. 39 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Discovery • Registry • Query Interface • Filters and Attributes 42
  • 40. 40 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Filters and Attributes <reference name="foo"> <interface.java interface="com.example.Foo"/> <binding.rmi filter="(check=true)"> </reference> <service name="foo"> <interface.java interface="com.example.Foo"/> <binding.rmi> <attribute name="check" value="true" /> </binding.rmi> </service> 43
  • 41. 41 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 SCA Bindings • OSGi (local) • RMI • WS* • JMS • Java Space • ... 44
  • 42. 42 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Marshalling Java Objects • Bundle Import/Export not enough • Private classes are serialized • Lifecycle of OSGi bundles when unmarshalled 45
  • 43. 43 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Management • JMX • Dynamic • Pluggable • Views/Trackers 46
  • 44. 44 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Tracking MBeans ManagementBeanListener listener = new ManagementBeanListener() { public void addBean(ObjectName name, MBeanServerConnection sourceConnection) { log.info("Added " + name); } public void changedBean(ObjectName name, MBeanServerConnection sourceConnection) { log.info("Changed " + name); } public void removeBean(ObjectName name, MBeanServerConnection sourceConnection) { log.info("Removed " + name); } } 47
  • 45. 45 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Tracking MBeans @Reference private ManagementView view; ... String CONTAINER = "org.cauldron.newton:Type=ContainerMBean,*"; ObjectName name = new ObjectName( CONTAINER ); ManagementBeanTracker tracker = new ManagementBeanTracker(name, listener, view); tracker.open(); 48
  • 46. 46 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Recovery • Shared VM • Java Security gives no protection against Out Of Memory • CrashOnly ⬥Dave Patterson, CS researcher at Berkely ⬥Having Built A Resilient Infrastructure That Can Cope With Change And Accepts Dynamicity Then We Can Deal Effectively With The Concept Of Failure 49
  • 47. 47 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Conclusions • In order to build scalable applications you need to use the right patterns • Patterns should be simple (i.e. expose relevant problems to relevant people) • Model Driven Patterns Are Easier To Introspect And Change 50
  • 48. 48 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Conclusions • Expect failure at larger scales • Even small problems will be magnified by scale 51
  • 49. 49 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Conclusions • Dynamic behaviours can increase resilience • Resilience cannot be achieved via forcing the world to be the way you want it • King Canute and his enterprise? 52
  • 50. 50 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Summary • Large scale enterprise applications can be built using OSGi • and you can deploy them on Newton and Infiniflow ;) 53
  • 51. 51 How To Build Large Scale Enterprise Applications Using OSGi | © Paremus 2008 by David Savage; made available under the EPL v1.0 Questions? • Contact info: ⬥dave.savage@paremus.com ⬥http://newton.codecauldron.org ⬥http://www.paremus.com ⬥Exhibitor Stand 400 (located just by the doorway) ⬥Come and see a demo. 54