Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Modularity and Smart Cities - The fundamental role played by OSGi

367 views

Published on

Presentation given by Dr Richard Nicholson (Paremus CEO) to the inaugural meeting of the OSGi China User Group - kindly hosted by South China University of Technology.

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • As an aside. EXACTLY the same arguments apply to the traditional Enterprise. You want Agility, but you also want low OPEX. Well sorry - but Cloud, Docker, MIcroservices and DevOps as interpreted by the mainstream IT industry are NOT going to deliver this! Just as virtualisation DIDN'T.....
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Modularity and Smart Cities - The fundamental role played by OSGi

  1. 1. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 www.paremus.com Beyond Market Hype Realising the true potential of IoT. Dr Richard Nicholson: Paremus CEO & OSGi Alliance Board
  2. 2. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 2 Longevity?
  3. 3. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 3 London - 190AD
  4. 4. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 4 London - 2017AD
  5. 5. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 5 Beijing - 150BC
  6. 6. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 6 Beijing - 2017
  7. 7. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 7 Both Successful Cities Both have Adapted, Grown & Evolved
  8. 8. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 8 Why? How? A City will continue to prosper as long as the cost of adapting to new circumstances does not exceed the new economic benefits. ➡ Buildings can be repaired & incrementally replaced. However the plots of land remain the same. ➡ Roads, Water and Sewerage & Energy systems all evolve in response to the Cities requirements. However their routes tend to remain the same. Cities have Structural Modularity
  9. 9. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 9 The Importance of Being Modular
  10. 10. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 What is a Module? 10 A module is a unit of encapsulation that communicates with other modules through agreed contracts Encapsulation is the hiding of internal implementation details such that entities outside the encapsulated unit are not aware – and cannot become aware – of those details. A contract is the definition of all supported modes of interaction and communication between cooperating modules, including the responsibilities and expectations of each actor.
  11. 11. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 Modularity underpins both Agility, Maintainability and so enables Longevity! 11 As long as the design rules are obeyed: • Modularity makes complexity manageable; • Modularity enables parallel work; and • Modularity is tolerant of uncertainty. Here “tolerant of uncertainty” means that particular elements of a modular design: • may be changed • after the fact and • in unforeseen ways
  12. 12. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 Where is Modularity used? 12 Modularity is in use everywhere … ➡ Biological Systems - human body, organs, tissue, cells. ➡ Manufacturing Construction - Walls, Houses, Furniture ➡ Toys - LEGO, IKEA, bricks, Construction Kits (Meccano). ➡ Vehicles - car / bike production lines are based on assembling modules.
  13. 13. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 13 Smart Cities - 2017 to 2025 and Beyond! Tomorrows successful Smart Cities will have large, sophisticated software ‘nervous systems’ which will be embedded and an integral part of each City. Each Smart City nervous system must have have similar Longevity and Sustainability characteristics as the physical structures they control and represent. The software nervous system for each Smart City must also be modular.
  14. 14. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 14 But we have a problem?
  15. 15. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 15 http://www.darpa.mil/ “Modern-day software systems, even those that presumably function correctly, have a useful and effective shelf life orders of magnitude less than other engineering artifacts. While an application's lifetime typically cannot be predicted with any degree of accuracy, it is likely to be strongly inversely correlated with the rate and magnitude of change of the ecosystem in which it executes.” DARPA BRASS initiative April 2015 A Longevity / Adaptability problem …
  16. 16. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 16 http://www.trustmarque.com/wp-content/uploads/2015/10/ Trustmarque_IT_Complexity_Report_2015.pdf We also have a Complexity problem …
  17. 17. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 17 Complexity drives up OPEX Operational Complexity Increases OPEX
  18. 18. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 Cost == Effort required to Manage Dependencies as they Change Over Time. No Change No Cost. But things ALWAYS change! 18 How does Complexity increase OPEX?
  19. 19. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 19 Complexity also increases Failure Operational Complexity Increases the Likelihood and Duration of Service Failures Berkley’s ROC initiative.
  20. 20. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 “Digital infrastructure exceeding limits of human control, industry experts warn” Guardian 23rd August 2013 http://www.theguardian.com/technology/2013/aug/23/nasdaq-crash-data "These outages are absolutely going to continue," said Neil MacDonald, a fellow at technology research firm Gartner. "There has been an explosion in data across all types of enterprises. The complexity of the systems created to support big data is beyond the understanding of a single person and they also fail in ways that are beyond the comprehension of a single person." "The outage at Amazon last year was traced back to some of the processes and technologies they had put in place to make it more resilient," said MacDonald. "It is almost like an auto-immune disease, where the systems they created to make it more resilient actually spread the failure more rapidly." "We don't yet have a design for society that can run this technology well. We haven't figured out what the right human roles should be." 20 The Amazon S3 Outage Is What Happens When One Site Hosts Too Much of the Internet https://www.wired.com/2017/02/happens-one-site-hosts- entire-internet/
  21. 21. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 Service Outage == Failure to correctly manage dependencies as they change over time - i.e. Operational Error Change may be intentional or due to component failure. 21 How does Complexity increase Failure?
  22. 22. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 22 So we need effective Software Modularity to achieve Adaption, Evolution & Longevity.
  23. 23. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 23 But if we make Software Modular - don’t we make it more Complex?
  24. 24. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 24 A smart Phone Simple to Configure / Operate (mostly) Phone Internals Moderately Complex (but modular) Is a modern Smart Phone simple or complex? Processor Internals Extremely Complex (but modular)
  25. 25. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 25 All sophisticated artefacts are comprised of structural hierarchies. When correctly implemented Modularity shields each layer of the structural hierarchy from the implementation details of the lower layers!
  26. 26. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 26 So what is the problem with software? Lets look at current IT Fashions … e.g. Docker / Microservices
  27. 27. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 27 A `Silicon Valley` Cloud Native / Docker centric ecosystem (2017)… Complexity is Exposed to the Customer!
  28. 28. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 28 ➡ Docker / LXC etc - Nothing ‘Magical’ - just Linux Containers! ➡ The deployment artefact - the Docker Image - is Opaque. Which libraries are actually included in the image & why? ➡ Docker Images are referred to by `Name`. ➡ Docker Images do not specify what they Require from their environments, nor what their Capabilities are. Weak Modularity & Dependencies Ignored …
  29. 29. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 29 1. http://www.boycottdocker.org 2. docker in production a history of failure (http://bit.ly/2m3SowL) Ad so Docker and related orchestration solutions fail to address Operational complexity …
  30. 30. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 30 Microservices Problems These problems also ‘leak’ through into the resultant runtime Microservices layer. ➡ Service Orchestration is complex as Service dependencies are not defined. ➡ Configuration, deployment, monitoring, alarm & log collection also need to be explicitly managed as Infrastructure Service dependencies are not defined. In addition NOT EVERY APPLICATION FITS the Microservices model: ➡ HTML / REST based Microservices are too heavy weight for many uses (Performance, network latency). ➡ Impedance mismatch between the actual function / services and their exposed REST-full representation. ➡ Inappropriate use of REST/HTML leads to in-efficient resource hungry applications and code complexity.
  31. 31. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 31 MicroServices: No dependency management
  32. 32. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 32 Is this really the best we can do? +
  33. 33. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 33 What about Java?
  34. 34. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 34 Java is almost Modular … Java was developed with a basic module system: ➡ Methods encapsulate local variables; contract is input parameters and return value. ➡ Classes encapsulate fields and methods; contract is public methods. ➡ Packages encapsulate classes; contract is public classes and interfaces. But not quite …. ➡ Methods, Classes, Packages are not deployable entities. ➡ JARs are deployable but they are not modules because they offer no encapsulation. ➡ Therefore Java lacks a concept of deployable modules.
  35. 35. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 35 Java - is missing layers of Modularity Packages Classes Unit of Deployment Unit of State Unit of Composition Unit of Inter Process Re-Use Unit of Intra Process Re-Use WS-* / REST Workflow etc Business Service Application Structure Code Structure ?
  36. 36. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 36 Introducing OSGi
  37. 37. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 37 OSGi - Modularity for Java JARs are perfectly good units of deployment. We Simply add the missing information to the JAR manifest! ➡ A meaningful name ➡ A Version ➡ Explicit, versioned Requirements upon the external environment. ➡ Explicit, versioned Capabilities provided to the external environment. After which we have created an OSGi bundle. Now all that is needed is a runtime - an OSGi framework - that can use this addition Metadata.
  38. 38. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 38 Agency A: Haute Pet Coiffure Provide-Capability: pet.grooming;type:List="dog,cat";length:Long=800;soap="organic";rate:Long="50" Agency B: Great Big Pets Provide-Capability: pet.grooming;type:List="cat,horse";length:Long=3000;soap="commercial";rate:Long="20" Agency C: Joe's Pets Provide-Capability: pet.grooming;type:List="dog,cat";length:Long=1500;soap="regular";rate:Long="15" Client A: I love my cat Cathy, but not rich! Require-Capability: pet.grooming;filter:="(&(type=cat)(rate<=20))" Which agencies do you think satisfy this requirement? (hint: B & C) Client B: Huge Dog Doug Require-Capability: pet.grooming;filter:="(&(type=dog)(length>=1000))" Which agencies do you think satisfy this requirement? (hint: C) Client C: Horse Haurice Require-Capability: pet.grooming;filter:="(type=horse)" Which agencies do you think satisfy this requirement? (hint: B) NB - these are LDAP expressions - not tied to a specific programming language (no dependency on Java). A simple Requirements & Capabilities Example
  39. 39. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 microServices OSGi Services OSGi Bundles Packages Classes Unit of Deployment Unit of State Unit of Composition Unit of Inter Process Re-Use Unit of Intra Process Re-Use WS-* / REST Workflow etc Business Service Application Structure Code Structure 39 OSGi - True Java Modularity
  40. 40. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 40 The Result? ➡ Bundles in an OSGi framework can be individual stopped / restarted. ➡ Bundles can be updated at runtime ➡ Composite runtime environments can be automatically assembled from sets of bundles. ➡ OSGi provides a powerful Services architecture - REST, Async / Sync RPC, Push Streams, Events. As OSGi based software runtime assemblies are Composite, Adaptive and Evolvable - OSGi directly addresses the Longevity challenge posed by DARPA!
  41. 41. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 41 Introducing the OSGi Alliance
  42. 42. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 42 OSGi: The Open Industry Standard for Java Modularity since 1998!
  43. 43. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 43 All Markets: M2M, Smart Home, Telematics, Assisted Living, Healthcare, Automotive, Media, Control Systems, Energy Management, Smart Meters, Telecommunications, Robotics, ML / AI & Big Data platforms. And the enabler for important Telco, Smart City & Industry 4.0 standards: ➡ Telco: OpenDaylight, ONOS, OneM2M ➡ Smart Home: openHAB OSGi Extensive Adoption since 1998
  44. 44. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 44 OSGi Ecosystem Examples
  45. 45. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 45 OSGi is the open industry standard for building modular Java software … However just like any other tool - OSGi’s effectiveness is a function of the Craftsman using it. To encourage and ensure best practices, and increased understanding, the OSGi Alliance has introduced the OSGi Developer Certification program. see https://www.osgi.org/osgi-certification/developer-certification/
  46. 46. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 46 Introducing Paremus
  47. 47. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 ➡ UK Company founded 2001. ➡ Service Fabric product research & development started 2008 ➡ International reputation with customers (OSGi Training, Consulting, Service Fabric product) in many verticals Paremus Overview 47 Internet of Things / Smart City / Industry 4.0 In 2008, Paremus realised that Operational Complexity, Longevity & OPEX would cripple future large scale IT deployments. The Paremus Service Fabric directly addresses these fundamental issues. On Premise - Autonomic Business
  48. 48. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 48 Paremus at the Heart of the OSGi Alliance Paremus OSGi Alliance activities: ➡ Board Members since 2009 ➡ President (2011 / 2013 - Dr. R Nicholson) ➡ Treasurer (2014 / 2017 - Dr. R. Nicholson) ➡ Strategy (2012 / 2017 - Dr. R. Nicholson) ➡ IoT Expert Group Co-Chair (2016/17 - T Ward) ➡ VP Marketing (2015 / 2017 - M Francis) Paremus Contributions to recent OSGi Specifications include: ➡ Asynchronous Services ➡ Promises (Reactive OSGi strategy) ➡ Push Streams (Reactive OSGi strategy) ➡ Transaction Control (JEE / Database) ➡ Remote Service Admin ➡ Cluster Information Service
  49. 49. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 Paremus: World Leading OSGi skills Neil Bartlett (Paremus VP Engineering / founder and project lead for Bndtools). OSGi Alliance Leadership award 2016. Neil is recognised throughout the industry as an OSGi expert and evangelist. Over the last decade Neil has provided consulting and training for numerous organisations in many different countries. Neil is currently writing his second book "Effective OSGi” which will show developers how to quickly accelerate their productivity with OSGi using the latest techniques and tools. Tim Ward (Paremus CTO / IoT EG Chair for the OSGi Alliance). Tim is internationally recognised for his OSGi expertise, regularly speaking and giving tutorials at conferences around the world on topics such as OSGi, the Java Persistence API, Apache Aries, and Websphere Application Server. Tim also helped create the OSGi Alliance Developer the Certification program. Tim is also co-author of one of the more recent OSGi Books from Manning Publications called Enterprise OSGi in Action. http://bndtools.org 49
  50. 50. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 50
  51. 51. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 Dependencies, Dependencies, Dependencies 51 1.Dependencies MUST NOT be masked or hidden. Dependencies at each structural / logical layer must be explicitly managed. 2.Artefacts must be self-describing. 3.One MUST NOT assume that dependencies are static. Dependencies are dynamic and this dynamism MUST be managed. 4.To minimise Operational Complexity, runtime dependencies must be automatically managed by the runtime platform.
  52. 52. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 52 The Paremus Service Fabric ➡ A modern Java / OSGi based distributed Platform ➡ Isolates your applications from Cloud Providers’ Infrastructure (e.g. AWS, Google, etc). ➡ Enables the rapid creation of on-premise Cloud, MicroCloud or Ad-Hoc Cloud runtime environments on either physical or virtual resources. ➡ Operationally Extremely Simple: To Create, Install, Manage, Scale and Maintain: including infrastructure Services: e.g. ZooKeeper. ➡ Secure by Default: Both Resource Membership and the distributed communications between participating members.
  53. 53. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 53 The Paremus Service Fabric Big Data Machine Learning IoT/Fog ➡ Application / Architecture Agnostic: Big Data, lightweight IoT, traditional Enterprise, Java and non-Java applications may all be hosted upon and managed by the Fabric. These applications may be REST, Reactive Async RPC, Stream or Actor based. ➡ Lightweight & Resource Agnostic: A Fabric may be hosted on a single Raspberry Pi. A 10 Fibre Service Fabric can be run in a single 4GB VM. ➡ Autonomic Capabilities - Adaptive to Environment Changes / Robust against Failures. The Fabric decouples and protects from planned infrastructure changes, unplanned resource failures. ➡ Based on open Industry Standards - OSGi with support via Docker, non-OSGi and non- Java artifacts.
  54. 54. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 54 A Service Fabric is comprised of one or more Fibres (OSGi frameworks). Each Service Fabric is created from a dedicated Fabric Profile. Fibres may be rapidly created from groups of physical machines, virtual machines and / or Linux containers. One or more systems (i.e. composite applications) may be imported to - and deployed in - the same fabric Hence a Service Fabric may be: ➡ Dedicated to a single Application: i.e. a shrink wrapped distributed solution / ‘Cloud Appliance’ ➡ Shared by a group of functionally related Applications. ➡ Dedicated to a business unit / or a functional unit of an Organisation (e.g. dedicated Dev, UAT & Production Fabrics). ➡ Provide a shared Platform for Services offered internally or externally by the organisation (i.e. PaaS). Runtime Modularity
  55. 55. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.Februaryr 2017 55 Self-Describing, Self-Managing Modular Applications A system may be deployed to a Fabric as quickly and easily as installing an application on a Smartphone or Tablet. A `system` is a composite application. A `system` is the unit of Ownership, unit of Release, unit of Operational Management.
  56. 56. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 56 ➡ A system is composed of one of more system.parts. ➡ A system.part is a functional unit (e.g. a Microservice) and the unit of Scale Out. ➡ System.part instances are deployed to fibres - by default instances will not be colocated to the same fibre. ➡ A system.part may be composed of one or more system.part.elements ➡ A system.part.element may represent an OSGi assembly or a Container Image. System Structural Hierarchy microServices uServices OSGi Bundles Packages Classes WS-* / REST Workflow etc system system.part system.part.element Unit of Deployment Unit of State Unit of Composition Unit of Inter Process Re-Use Unit of Intra Process Re-Use 07/01/2015 00:17Hogosha Page 1 of 2https://178.62.36.81:9106/paremus/entire/index.html#/fabric/Hogos…al-demo/resolution/com.paremus.demo.fractal.http/fibre/fabric-2.1 fractal-demo :: com.paremus.demo.fractal.http @ fabric-2.1 com.paremus.demo.fractal.httpv1.0.0org.eclipse.equinox.http.servletv1.1.300.v20120522-1841 org.eclipse.equ inox.http .jetty v3.0.0.v20120522-1841 org .apache.aries.jndiv1 .0.0 osgi.active.b undle v0.0 .0 os gi.re so lved .bun dle v0 .0.0 org.apache.felix.framework v4.2.1 jackson-core v2.0.0 jackson-databind v2.0.0 com .paremus.demo.fractal.api v1.0.0 javax.activation v1.1.0.v201108011116 java x.an notatio n-a pi v1 .2.0 ja vax.inje ct v1.0 .0 org .b ndto ols.rt.re stv2.2 .0 .2 01312311620 java x.xm lv1 .3.4.v20 10 05 08 04 00 com.parem us.service.async v1.0.0 osgi.cmpnv4.2.0.200908310645 org.eclipse.jetty.httpv8.1.8.v20121106 org.eclipse.jetty.iov8.1.8.v20121106 org.eclipse.jetty.utilv8.1.8.v20121106 slf4j.apiv1.7.4 ch .qos .lo gb ac k.clas sicv1 .0.0 org .e clip se.jetty.serv erv8.1 .8 .v20121106 org .e clip se.jetty.continuation v8.1 .8 .v 20121106 org.eclipse .je tty.se rvlet v8 .1.8.v20121106 org.eclipse.jetty.security v8.1.8.v20121106 org.apache.felix.configadmin v1.6.0 org.apache.aries.proxy v1.0.0 org.apache.aries.util v1.0.0 org.objectweb.asm.all v4.0.0 co mpo ne nt v1 .8.2 http v1.1 .3 primordial.partv0.0.0 jndi.providerv1.0.0 org.apache.aries.jndi v1.0.0 Type Name/Filter Resolved by javax.naming ✓ org.apache.felix.framework 4.2.1 javax.naming.directory ✓ org.apache.felix.framework 4.2.1 javax.naming.ldap ✓ org.apache.felix.framework 4.2.1 javax.naming.spi ✓ org.apache.felix.framework 4.2.1 jndi.provider ✓ jndi.provider 1.0.0 org.apache.aries.jndi ✓ org.apache.aries.jndi 1.0.0 ✓ slf4j.api 1.7.4 org.apache.aries.jndi.urls ✓ org.apache.aries.jndi 1.0.0 org.apache.aries.proxy ✓ org.apache.aries.proxy 1.0.0 ✓ slf4j.api 1.7.4 Alarms
  57. 57. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 And the Fabric supports Polyglot Microservices & Docker Containers! 57 microServices uServices OSGi Bundles Packages Classes Unit of Deployment Unit of State Unit of Composition Unit of Inter Process Re-Use Unit of Intra Process Re-Use WS-* / REST Workflow etc Business Service Application Structure Code Structure ? Packager allows generic software artefacts to be treated as OSGi bundles: e.g. RabbitMQ, a Database, Java Script or C / C++ code. 1. OSGi Requirement / Capabilities metadata is used. 2. The OSGi bundle life-cycle is used. 3. OSGi configuration mechanisms are used. 4. And so distributed dependency / orchestration services are provided via the Service Fabric. However, rather than the OSGi framework, the software artefact is hosted in its own local Linux Container (e.g. Docker), or as a native OS process. RabbitMQ Kafka ZooKeeper PostgreSQL PythonSpark Cassandra JavaScript/ nodeJS C/C++ Go
  58. 58. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 58 Demo
  59. 59. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 59 Fabric & IoT
  60. 60. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 60 Smart Cities - 2017 to 2025 and Beyond! OSGi is the Open Industry Standard for software modularity upon which the tomorrows modular software nervous systems can be built and evolved.
  61. 61. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 61 The Paremus Service Fabric is an Example of such a runtime - ‘Smart City OS’ - ‘Industry 4.0 OS’ - ‘Smart Agriculture OS’! Secured / hardened / lightweight / high performance JVM secured / hardened / lightweight OSGi framework ➡ Operational Simplicity: Installation, Operational management and maintenance. ➡ Fabric’s Autonomic and Self-Repair capabilities. ➡ Security throughout the runtime stack. ➡ Lightest weight resource footprint. ➡ High performance Paremus implementation of OSGi specifications. ➡ A supported modular cloud runtime for Smart City, Industry 4.0 and Smart Agriculture OSGi frameworks Java JVM
  62. 62. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 62 The Catalyst for local IoT based Economies Local Service Fabrics can be simply and rapidly created and adapted in response to changing Business or Environmental conditions. Each Fabric can be optimised for the requirements e.g. Smart City, Industry 4.0, Smart Agriculture requirements. Service Fabrics may be deployed: ➡ Locally on-premise or in remote public Cloud ➡ To physical or virtual machines. ➡ Managed by local Operational staff.
  63. 63. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 63 Placing Data Processing & Intelligence where it is needed ➡ Data is processed `in-the-context` of the local environment that generates the data. ➡ Analytics / AI are deployed to optimal processing locations and are aware of the local context. ➡ Local services are optimised for low latency and / or high throughput - i.e. SCADA. ➡ Then refined / augmented / anonymised information may be, optionally, sent to third parties.
  64. 64. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 64 Security and Governance ➡ Each Fabric is secure by default: ➡ Resources can be allowed or refused to participate in the Fabric. ➡ Communication between participating members is secure. ➡ Each Fabric is self-configuring. No reliance on external DNS services. ➡ Governance is explicit. At all times the pedigree of all software components is known. ➡ Rapid re-start, re-configure and patch / adaption behaviours mean that un- foreseen breaches can be rapidly closed and countered
  65. 65. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 65 An Adaptive / Sustainable Ecosystem Smart Cities, Industry 4.0, Smart Agriculture and Public Clouds all are all peers (leveraging Gossip protocols) in an Evolvable Federated Smart Ecosystem factory I local real-time fabric factory II local real-time fabric manufacturer off-site non-realtime analytics fabric
  66. 66. Copyright © 2005 - 2017 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.February 2017 www.paremus.com www.paremus.com @Paremus info@paremus.com Thank You
  67. 67. 67 OSGi中国⽤用户协会简介 OSGi TM 联盟授权的官⽅方协会,负责OSGi在中国的推 ⼴广和发展,成⽴立于2013年年。 会员免费,向中国本地所有⽤用户,教学科研机构, 个⼈人及公司开放 根据OSGi联盟的章程,我们的⽬目标为: • 推⼴广OSGi技术在中国的普及 • 交流与OSGi相关的使⽤用经验 • ⿎鼓励商业上的交流,不不定期的组织线下活动 • http://china.osgiusers.org OSGi中国⽤用户微信群

×