Talk given at JavaOne 2009 discussing how to build web applications using OSGi. The source for the demo found at http://github.com/mrdon/jforum-plugins/tree/master
Session Abstract: Enterprise Web applications tend to grow like weeds in monolithic complexity. OSGi, although more often associated with Java™ technology-based clients and application servers, can bring a new level of modularity, uptime, and stability that is needed with today's always-on hosted Web applications. OSGi gets really interesting when the pretty architecture diagrams meet the real world, because it consists of various deployment platforms, development environments, and application architectures. This presentation, for Java 2 Platform, Enterprise Edition (J2EE™ platform)-savvy architects and senior developers, provides a practical guide to the Web on OSGi, from integration approach to bundle development, to real-world code you can use today.
The session discusses
• What benefits OSGi brings to the J2EE platform
• Three integration strategies
• How to use Spring DM and Maven to ease development
• Lessons learned from Atlassian's recent OSGi deployment
• A production-ready example to use immediately
Open Services Gateway Initiative (OSGI)Peter R. Egli
OSGi is a component-based technology and was developed to provide a software platform that allows modularization and dynamic linking of application components.
OSGi components are called bundles and can be exported and imported by application bundles.
OSGi implementations like Apache Felix or Eclipse Equinox provide a runtime container which controls the lifecycle of bundles.
Even though OSGi is hardware independent, it is based on the Java Virtual Machine and as such extends the concepts of the underlying Java language.
An OSGi bundle's capabilities and properties are defined in a manifest file that is packed together with the bundle's Java class files. The manifest file allows compatibility checks by the OSGi runtime between the exporting bundle and the importing bundle.
This export and import mechanism allows highly flexible and dynamic application environments where applications and components are installed, linked and started at runtime without the need to restart the entire system.
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentSanjeeb Sahoo
These slides were used during our presentation at JavaONE 2010 [1]. They talk about use of OSGi in Java EE applications.
[1] http://www.eventreg.com/cc250/sessionDetail.jsp?SID=313521
OSGi has gained popularity over the last two years. The platform has some very interesting features like versioning, dynamic updates and it's service oriented nature. These characteristics however come with a price. A firm understanding of how and why OSGi works how it works, is a necessity if you plan on getting into OSGi.
This talk will start with some basic principals on the java platform and will gradually move towards the OSGi infrastructure explaining the OSGi fundamentals. The following topics will be covered:
* Classloading in OSGi
* Lifecycle management of OSGi bundles
* OSGi Service, the service registry and service composition models
Afterwards, we will explain the generally accepted best practices and OSGi design patterns.
The talk is introduction to OSGi specification and its implementations. It summarizes corner stones of OSGi (bundles, services, components) and describes a technical background of OSGi implementations on a simple example.
A (very) quick introduction to OSGi for Java developers. These slides are meant to be a quick overview of the technology and make you understand how useful it can be.
Talk given at JavaOne 2009 discussing how to build web applications using OSGi. The source for the demo found at http://github.com/mrdon/jforum-plugins/tree/master
Session Abstract: Enterprise Web applications tend to grow like weeds in monolithic complexity. OSGi, although more often associated with Java™ technology-based clients and application servers, can bring a new level of modularity, uptime, and stability that is needed with today's always-on hosted Web applications. OSGi gets really interesting when the pretty architecture diagrams meet the real world, because it consists of various deployment platforms, development environments, and application architectures. This presentation, for Java 2 Platform, Enterprise Edition (J2EE™ platform)-savvy architects and senior developers, provides a practical guide to the Web on OSGi, from integration approach to bundle development, to real-world code you can use today.
The session discusses
• What benefits OSGi brings to the J2EE platform
• Three integration strategies
• How to use Spring DM and Maven to ease development
• Lessons learned from Atlassian's recent OSGi deployment
• A production-ready example to use immediately
Open Services Gateway Initiative (OSGI)Peter R. Egli
OSGi is a component-based technology and was developed to provide a software platform that allows modularization and dynamic linking of application components.
OSGi components are called bundles and can be exported and imported by application bundles.
OSGi implementations like Apache Felix or Eclipse Equinox provide a runtime container which controls the lifecycle of bundles.
Even though OSGi is hardware independent, it is based on the Java Virtual Machine and as such extends the concepts of the underlying Java language.
An OSGi bundle's capabilities and properties are defined in a manifest file that is packed together with the bundle's Java class files. The manifest file allows compatibility checks by the OSGi runtime between the exporting bundle and the importing bundle.
This export and import mechanism allows highly flexible and dynamic application environments where applications and components are installed, linked and started at runtime without the need to restart the entire system.
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentSanjeeb Sahoo
These slides were used during our presentation at JavaONE 2010 [1]. They talk about use of OSGi in Java EE applications.
[1] http://www.eventreg.com/cc250/sessionDetail.jsp?SID=313521
OSGi has gained popularity over the last two years. The platform has some very interesting features like versioning, dynamic updates and it's service oriented nature. These characteristics however come with a price. A firm understanding of how and why OSGi works how it works, is a necessity if you plan on getting into OSGi.
This talk will start with some basic principals on the java platform and will gradually move towards the OSGi infrastructure explaining the OSGi fundamentals. The following topics will be covered:
* Classloading in OSGi
* Lifecycle management of OSGi bundles
* OSGi Service, the service registry and service composition models
Afterwards, we will explain the generally accepted best practices and OSGi design patterns.
The talk is introduction to OSGi specification and its implementations. It summarizes corner stones of OSGi (bundles, services, components) and describes a technical background of OSGi implementations on a simple example.
A (very) quick introduction to OSGi for Java developers. These slides are meant to be a quick overview of the technology and make you understand how useful it can be.
Java 9 brings modules as a core concept to the platform, but it’s more than just a language feature. With modules in Java 9, we can improve the design of code to increase maintainability and extensibility. As with every design principle, modularity requires thought and trade-offs to really reap the benefits. This session covers design practices for making codebases more maintainable and extensible. You will also find out about trade-offs to help you make the best choices. Topics include hiding implementations, using services for extensibility, API modules, avoiding cycles, optional dependencies, and dynamically loading modules. Familiarity with modules is helpful but not required. The speakers are the authors of Java 9 Modularity (O’Reilly).
Also see https://javamodularity.com
Apache, osgi and karaf par Guillaume NodetNormandy JUG
Vous avez entendu parler de OSGi (ou pas d’ailleurs), vous aimeriez que l’on vous explique ce que c’est et à quoi cela sert ?
Vous voudriez savoir comment on participe à des projets Open-Source, comment on devient acteur au sein de la fondation Apache ?
Vous avez lu l’excellent article d’Octo de la semaine dernière sur Camel, mais vous n’avez pas tout compris ou voulez en savoir plus ?
Ou tout simplement vous voudriez avoir une présentation de la solution OSGi d’Apache : Karaf ?
In this Presentation, we have provided step by step Installation guide and error free solution for developers which helps in time efficient and user friendly installation of theme in Liferay 7.
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)Martin Toshev
Seminar "Modularity of the Java Platform" of the Bulgarian Java User Group.
Topics of the seminar:
Modularity 101
Modularity on top of the platform: OSGi
Modularity of the platform: Jigsaw
OSGi and Jigsaw interoperability: Penrose
Use Case: Building OSGi Enterprise Applications (QCon 14)Carsten Ziegeler
Use Case presentation from QCon 14. It presents the migration of Adobe's Experience Manager (formerly Communique) to OSGi. Common pitfalls and solutions are presented based on open source solutions from the Apache Software Foundation
In this presentation, we will discuss the benefits of hybrid applications and demonstrate how such applications can be built and deployed. A hybrid application is both an OSGi bundle as well as a Java EE application. GlassFish is a natural container of choice for such applications.
Brief description about Java modularity including OSGi and Jigsaw.
Nowadays the word "modularity" has been searched a lot in Google and several blog posts have been written about it. Specially with the #Jigsaw subject that Oracle's guys have been spreading in different conferences .
Here I try to summarise the idea in the Java environment mentioning what for me are the main implementations of java modularity : OSGi and Jigsaw.
Microservices promise a scalable architecture, increased flexibility, and better performance. But then you find out what’s actually involved in designing, developing, and running a microservices-based architecture. It turns out it’s not that straightforward after all.
Often the discussion around microservices is framed by a false dichotomy between the messy monolith and the lean and mean microservices architecture. Sander Mak explains that there’s a third way: the modularized application. Functional decomposition of your application doesn’t imply that every component has to become its own independent process.
Modularization is about strong encapsulation, well-defined interfaces, and explicit dependencies. Many languages offer in-process modularization features (for example, Java 9 with its upcoming module system), and there’s a strong overlap between the microservices philosophy and development benefits—without incurring the penalty of operational complexity.
Sander explores the right (and wrong) reasons for going with a microservices architecture, as well as what a modularized application entails. You’ll see that splitting up an existing service or application into microservices isn’t always the clear winner. You’ll leave able to choose between the alternatives for the right reasons. There’s a place for both independently deployed microservices and larger applications with a strong internal modular structure. Choose wisely.
With modularity coming to the core Java platform in Java 9, are all our modularity needs fulfilled, or does it still make sense to use something like OSGi? In this talk you will learn how Jigsaw helps modularity, and in what cases it might fall short.
Java 9 will provide a module-system, called Jigsaw. Besides modularising the JDK itself, Java developers can build more modular applications with Jigsaw. Modularity and Java go back way longer, though. OSGi, the de facto standard for modularity in Java has been around since 2000. Adoption is increasing in recent years.
A modular architecture has many advantages, such as increased decoupling resulting in more flexibility. In that sense, native support for Java modularity is very welcome. The big question now is: does Java 9 provide everything you need to build truly modular applications? Since Java 9 needs to maintain backwards compatibility, some compromises need to be made while enforcing module boundaries.
This talk discusses what you really need to build modular applications. We'll investigate which requirements are met (or not) by both module systems. You'll see that both Jigsaw and OSGi provided pieces of the modularity puzzle. Also, you'll learn whether having an additional modular runtime such as OSGi on top of Java 9 still makes sense.
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OpenBlend society
There's a considerable activity in the enterprise Java community about the use of OSGi in Java EE applications. We call such applications "hybrid applications." With hybrid applications, developers can continue to build standard and familiar enterprise application components, such as Java Servlets and EJBs, and take full advantage of:
* Features such as modularity/dependency management, service dynamism, and more provided by OSGi
* Infrastructure services such as transaction management, security, persistence, and more offered by Java EE
This session will present the current state of affairs, discuss the benefits of hybrid applications, and demonstrate development and deployment of such applications.
GlassFish will be used for demonstration.
An introduction to the Java Platform Module System (JPMS). This talk is from April 2017, before the Java SE 9 release, so the final details may be subtly different, particularly once a standard becomes established for module names.
OSGi ecosystems compared on Apache Karaf - Christian Schneidermfrancis
OSGi Community Event 2015
A look at three competing OSGi ecosystems (Declarative Services, Blueprint, CDI). Capabilities of each DI framework. Comparison of support for EE technologies like JPA, Security, SOAP and REST services, UIs. Looking into some of the recent advancements like Aries JPA 2 featuring closure based transactions, JAAS Security, JSP and JSF on OSGi. Attendees will get a good overview about the stacks as well as recommendations where each is most applicable.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
OSGi Community Event 2015
OSGi is a widely used modularity framework for Java, with rapid growth in the enterprise space. Since Java EE6, Contexts and Dependency Injection (CDI) also becomes very popular. One of the significant changes in Java EE7 is that CDI is now enabled by default. Uniting two powerful programming modes, CDI and dynamic services in OSGi, will make OSGi technology even more powerful. OSGi Alliance is working towards standardizing the specification of CDI Integration into OSGi. This session will explain how CDI Integration in OSGi works.
Java 9 brings modules as a core concept to the platform, but it’s more than just a language feature. With modules in Java 9, we can improve the design of code to increase maintainability and extensibility. As with every design principle, modularity requires thought and trade-offs to really reap the benefits. This session covers design practices for making codebases more maintainable and extensible. You will also find out about trade-offs to help you make the best choices. Topics include hiding implementations, using services for extensibility, API modules, avoiding cycles, optional dependencies, and dynamically loading modules. Familiarity with modules is helpful but not required. The speakers are the authors of Java 9 Modularity (O’Reilly).
Also see https://javamodularity.com
Apache, osgi and karaf par Guillaume NodetNormandy JUG
Vous avez entendu parler de OSGi (ou pas d’ailleurs), vous aimeriez que l’on vous explique ce que c’est et à quoi cela sert ?
Vous voudriez savoir comment on participe à des projets Open-Source, comment on devient acteur au sein de la fondation Apache ?
Vous avez lu l’excellent article d’Octo de la semaine dernière sur Camel, mais vous n’avez pas tout compris ou voulez en savoir plus ?
Ou tout simplement vous voudriez avoir une présentation de la solution OSGi d’Apache : Karaf ?
In this Presentation, we have provided step by step Installation guide and error free solution for developers which helps in time efficient and user friendly installation of theme in Liferay 7.
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)Martin Toshev
Seminar "Modularity of the Java Platform" of the Bulgarian Java User Group.
Topics of the seminar:
Modularity 101
Modularity on top of the platform: OSGi
Modularity of the platform: Jigsaw
OSGi and Jigsaw interoperability: Penrose
Use Case: Building OSGi Enterprise Applications (QCon 14)Carsten Ziegeler
Use Case presentation from QCon 14. It presents the migration of Adobe's Experience Manager (formerly Communique) to OSGi. Common pitfalls and solutions are presented based on open source solutions from the Apache Software Foundation
In this presentation, we will discuss the benefits of hybrid applications and demonstrate how such applications can be built and deployed. A hybrid application is both an OSGi bundle as well as a Java EE application. GlassFish is a natural container of choice for such applications.
Brief description about Java modularity including OSGi and Jigsaw.
Nowadays the word "modularity" has been searched a lot in Google and several blog posts have been written about it. Specially with the #Jigsaw subject that Oracle's guys have been spreading in different conferences .
Here I try to summarise the idea in the Java environment mentioning what for me are the main implementations of java modularity : OSGi and Jigsaw.
Microservices promise a scalable architecture, increased flexibility, and better performance. But then you find out what’s actually involved in designing, developing, and running a microservices-based architecture. It turns out it’s not that straightforward after all.
Often the discussion around microservices is framed by a false dichotomy between the messy monolith and the lean and mean microservices architecture. Sander Mak explains that there’s a third way: the modularized application. Functional decomposition of your application doesn’t imply that every component has to become its own independent process.
Modularization is about strong encapsulation, well-defined interfaces, and explicit dependencies. Many languages offer in-process modularization features (for example, Java 9 with its upcoming module system), and there’s a strong overlap between the microservices philosophy and development benefits—without incurring the penalty of operational complexity.
Sander explores the right (and wrong) reasons for going with a microservices architecture, as well as what a modularized application entails. You’ll see that splitting up an existing service or application into microservices isn’t always the clear winner. You’ll leave able to choose between the alternatives for the right reasons. There’s a place for both independently deployed microservices and larger applications with a strong internal modular structure. Choose wisely.
With modularity coming to the core Java platform in Java 9, are all our modularity needs fulfilled, or does it still make sense to use something like OSGi? In this talk you will learn how Jigsaw helps modularity, and in what cases it might fall short.
Java 9 will provide a module-system, called Jigsaw. Besides modularising the JDK itself, Java developers can build more modular applications with Jigsaw. Modularity and Java go back way longer, though. OSGi, the de facto standard for modularity in Java has been around since 2000. Adoption is increasing in recent years.
A modular architecture has many advantages, such as increased decoupling resulting in more flexibility. In that sense, native support for Java modularity is very welcome. The big question now is: does Java 9 provide everything you need to build truly modular applications? Since Java 9 needs to maintain backwards compatibility, some compromises need to be made while enforcing module boundaries.
This talk discusses what you really need to build modular applications. We'll investigate which requirements are met (or not) by both module systems. You'll see that both Jigsaw and OSGi provided pieces of the modularity puzzle. Also, you'll learn whether having an additional modular runtime such as OSGi on top of Java 9 still makes sense.
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OpenBlend society
There's a considerable activity in the enterprise Java community about the use of OSGi in Java EE applications. We call such applications "hybrid applications." With hybrid applications, developers can continue to build standard and familiar enterprise application components, such as Java Servlets and EJBs, and take full advantage of:
* Features such as modularity/dependency management, service dynamism, and more provided by OSGi
* Infrastructure services such as transaction management, security, persistence, and more offered by Java EE
This session will present the current state of affairs, discuss the benefits of hybrid applications, and demonstrate development and deployment of such applications.
GlassFish will be used for demonstration.
An introduction to the Java Platform Module System (JPMS). This talk is from April 2017, before the Java SE 9 release, so the final details may be subtly different, particularly once a standard becomes established for module names.
OSGi ecosystems compared on Apache Karaf - Christian Schneidermfrancis
OSGi Community Event 2015
A look at three competing OSGi ecosystems (Declarative Services, Blueprint, CDI). Capabilities of each DI framework. Comparison of support for EE technologies like JPA, Security, SOAP and REST services, UIs. Looking into some of the recent advancements like Aries JPA 2 featuring closure based transactions, JAAS Security, JSP and JSF on OSGi. Attendees will get a good overview about the stacks as well as recommendations where each is most applicable.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
OSGi Community Event 2015
OSGi is a widely used modularity framework for Java, with rapid growth in the enterprise space. Since Java EE6, Contexts and Dependency Injection (CDI) also becomes very popular. One of the significant changes in Java EE7 is that CDI is now enabled by default. Uniting two powerful programming modes, CDI and dynamic services in OSGi, will make OSGi technology even more powerful. OSGi Alliance is working towards standardizing the specification of CDI Integration into OSGi. This session will explain how CDI Integration in OSGi works.
Best Practices for (Enterprise) OSGi applications - Tim Wardmfrancis
OSGi DevCon 2012
Since the first release of the OSGi Enterprise specification in March 2010 the use of OSGi in the enterprise has increased dramatically. Moving traditional Java EE applications to an OSGi stack is intentionally as easy as possible, however there are a number of common mistakes that can make it feel very hard. This session will describe some best practices for developing Enterprise OSGi applications and OSGi bundles, allowing developers to utilise the power of OSGi in a painless way.
Whilst this session is primarily aimed at enterprise developers new to OSGi, much of the content is equally applicable to OSGi development in general, and is definitely recommended to anyone looking to brush up on their OSGi principles!
The slides demonstrate how to work successfully with OSGi and discuss alternative architectures namely micro-services. Please like if you find the slides useful.
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
This presentation aims to show common pitfalls in OSGi architecture and development and how to avoid them. It involves concrete use cases and their solutions. Antipatterns, bad designs , bad tooling will be presented during this session... This session is user oriented and aimed to give concrete feedbacks and good practices...
[DevDay2018] Liferay DXP – A powerful Enterprise Solution - By Vy Bui, Develo...DevDay.org
Liferay DXP is a Java-based open source Enterprise Portal Platform that is robust, flexible and easy to maintain. It is used around the world by governments, universities and other large enterprises such as Cisco and Rolex. In this session, you will learn what Liferay is and see step by step how to use some of the most popular and strongest Liferay features.
When Google released the first SDK for Android, which was way before the first mobile phones running it were released, Karl and Marcel decided to try and see what it would take to get Apache Felix running OSGi on Android.
This presentation introduces the Android platform, OSGi, and demonstrates how to run Apache Felix on Android. It builds on an earlier blog article that was published on this subject, an article that inspired many other OSGi implementations to try the same.
Netleon offers website designing and iOS/android app development, MIS Development, ERP and Ecommerce Solution, Data Analysis and Research or Crisis Management Services.
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Nuxeo
OSGi was selected by Nuxeo on the server side 4 years ago in order to create a platform for content management applications that could scale to meet the most challenging digital content use cases. This session will dive into the approach used, how the platform evolved over the past 3 years regarding OSGi, how Nuxeo built the extension system, how to leverage OSGi to create multiple assemblies from the same codebase, discuss how the UI has been modularized, and how the platform can now be deployed on traditional Java server containers and new ones like Eclipse Virgo.
If you need to paste to AngularJs in destiny, appearance no in addition than us. We at IT Outsourcing China offer AngularJs development offerings to a large variety of multi-country wide and start-up corporations. We are one of the maximum eminent net and app improvement corporations throughout the nation. You can lease our first-rate group of builders to construct cutting-edge and high-stop webweb sites and apps to your business. So, why wait anymore? Feel unfastened to get in contact with us these days to recognise the first-rate offers for you.
OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule)
ABSTRACT
There are a number component models available to OSGi developers; Declarative Services (DS), Blueprint (BP), Enterprise JavaBeans (EJB), Contexts and Dependency Injection (CDI). Some have their roots in Java EE, some in open source projects such as the Spring Framework, others are standards at the OSGi Alliance, and some have DNA from all three. As is often the case where there are options available, there's rarely a one-size-fits-all. The 'right' choice may depend on the type of project you're working on, the existing assets, tools and skills at your disposal, and the runtime you're looking to deploy to. This talk will provide a brief overview of the four component models listed, describe their capabilities, standards coverage, tools support, and available implementations, and will show working examples of each, all in an effort to help OSGi users find a path to a component model best suited to their particular task.
SPEAKER BIO
Graham Charters is a Senior Technical Staff Member in the IBM WebSphere Application Server development organization. He is responsible for the OSGi Applications feature of the Application Server and a committer and PMC member of the Apache Aries OSGi programming model project. He is also the IBM technical lead in the OSGi Alliance Enterprise Expert Group.
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
Mack Hardy, Dave Tarc, Damien Norris of Affinity Bridge presenting at Pacific Northwest Drupal Summit in Vancouver, October 5th, 2013. The presentation walks through management of releases, deployment strategies and build strategies with drupal features, git, and make files. Performance and caching is also covered, as well as specific tips and tricks for configuring apache and managing private files.
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixDavid Bosschaert
This presentation takes a closer look at deploying OSGi-based applications using OSGi Subsystems and OSGi Repositories. You will see how you to package multi-bundle applications as a subsystem, deploy them and use repositories to handle dependencies. A large part of the presentation is a demo that shows it all in action using open source technology.
Note that in the screenshots Apache Aries Subsystems Core is using a pre-release version. This bundle is now released under 1.1.0.
See here in Maven Central: http://search.maven.org/#artifactdetails%7Corg.apache.aries.subsystem%7Corg.apache.aries.subsystem.core%7C1.1.0%7Cbundle
What's cool in the new and updated OSGi Specs (EclipseCon 2014)David Bosschaert
Presentation given by Carsten Ziegeler and me at EclipseCon 2014 in Burlingame (CA) about ongoing specification work in OSGi, covering the Core Platform Expert Group (CPEG) and the Enterprise Expert Group (EEG)
What's cool in the new and updated OSGi Specs (2013)David Bosschaert
Presentation given at EclipseCon Europe 2013 in Ludwigsburg (Germany) about ongoing specification work in OSGi, covering the Core Platform Expert Group (CPEG) and the Enterprise Expert Group (EEG)
Presentation on OSGi Cloud Ecosystems (RFC 183) as given at EclipseCon Boston 2013. The RFC itself is available at http://www.osgi.org/Download/File?url=/download/osgi-early-draft-2013-03.pdf
Presentation on OSGi Cloud Ecosystems as presented during EclipseCon Europe 2012 (http://www.eclipsecon.org/europe2012/sessions/osgi-and-cloud-computing)
The OSGi R5 Enterprise release is available now from www.osgi.org (at this moment as a draft, final soon). This presentation walks through what's new in this specification, what to use it for and where to get it.
Distributed Services - OSGi 4.2 and possible future enhancementsDavid Bosschaert
In the first part of this talk David Bosschaert will explain the Distributed OSGi specification, which is new in OSGi 4.2. The talk will outline the design principles and also show how to distribute OSGi services in practise by a short demo. In the second part of this talk Marc Schaaf will present some preliminary results regarding research on how asynchronous messaging could be integrated into OSGi. The talk will discuss some possible integration approaches and will outline the current approach taken in this research project. A short demo is included showing how developers could use it.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Benefits of OSGi in Practise
1. 1
Benefits of OSGi in Practice
David Bosschaert
Principal Engineer
JBoss/Red Hat
OSGi EEG co-chair
October 2012
2. JavaOne Slide Template Title
About me
● Background in AI / Computer Science,
University of Amsterdam (1996)
● Developing software since mid-1980s,
working with Java since 1997
● Joined IONA Technologies, Ireland, 1999
● Involvement with OSGi specs from 2007
● EEG co-chair 2009
● At JBoss/Red Hat since 2010
● Involved in Apache, JBoss, Eclipse
and some github-based opensource projects
3. JavaOne Slide Template Title
Agenda
● Introduction to OSGi
● OSGi Modularity
● OSGi Services
● Specifications
● Demo
5. OSGi – a brief intro
● Dynamic Module and Services platform for Java
● Started 1999
● Specifications created in the OSGi Alliance
● a non-profit Standards Development Organization
● members include: IBM, Oracle, Red Hat, Adobe,
Siemens, TIBCO, France Telecom, Deutsche
Telekom, Technicolor, NTT, Hitachi & many more
● www.osgi.org
6. OSGi – areas
Core: the OSGi Framework
● Modularity
● Services
● Lifecycle and Dynamicity
● Security
Enterprise: services & component on top of Core Framework
● Addressing Enterprise use-cases, such as:
● Service Distribution
● Component models and IoC
● Configuration and Management
● JavaEE integration
● Cloud Computing
Residential and embedded services/components
7. OSGi Framework implementations
● The most popular OSGi implementations are
open source:
● Eclipse Equinox
● Apache Felix
● JBoss AS 7
● Knopflerfish
● Commercial implementations also exist
8. OSGi Enterprise implementations
Also available in open source, in projects such as:
● Commercial implementations exist
● For the full list go to:
http://en.wikipedia.org/wiki/OSGi_Specification_Implementations
Apache Aries Eclipse Gemini
Apache CXF Ops4J Pax
Apache Felix Oracle GlassFish
Eclipse ECF JBoss
Eclipse Equinox KnowHowLab.org
10. Modularity
Non-modular components often keep growing
● blurring their responsibility
● increasing complexity
● making maintenance harder over time
● scope creep
●
in the end: a Big Ball of Mud[1]
OSGi:
● instead of an ever growing component:
● many separate modules
● each with a clear function (and clear API)
[1] http://en.wikipedia.org/wiki/Big_ball_of_mud
“I struggle to maintain this application
because I don't fully understand
what it does”
11. OSGi Modularity
● In OSGi Modules are called Bundles
● With OSGi Modularity you must declare what a
module provides and what it needs.
● Typically Java packages
● Can be other capabilities
● Everything not explicitly declared as provided is
internal à not accessible to other modules
Bundle ABundle A
org.foo.api
org.foo.impl
Bundle BBundle B
org.bar.impl
12. OSGi Modularity (2)
● Improves maintainability
● as module boundaries and function must be made
clear
● tends to improve cohesion
● and reduce coupling
● Non-monolithic
● allow for fine-grained
updates of the system
● Concurrent versions
● multiple versions of the same module can co-exist
● allows for gradual upgrades
13. JavaOne Slide Template Title
OSGi Modularity in Practice
● From a Java point of view. Just use classes as normal:
package org.acme.package1;
import org.acme.package2.MyClass;
...
MyClass ax = new MyClass();
ax.foo()
● OSGi Module Metadata in MANIFEST.MF
Export-Package: org.acme.package1; version=1.2
Import-Package: org.acme.package2; version=[1.1, 2)
Compiler support by some, e.g Eclipse javac
Runtime enforcement by OSGi Framework
15. Brief intro to
OSGi Services
● Services are Java Objects (POJOs)
● registered by Bundles
● consumed by Bundles
● “SOA inside the JVM”
● Services looked up by type and/or custom filter
● “I want a service that implements org.acme.Payment where
location=US”
● One or many
● Dynamic! Services can be updated without taking down
the consumers
● OSGi Service Consumers react to dynamism
Bundle YBundle YBundle XBundle X
16. OSGi Services
How can we increase software reuse?
● With OSGi Services there is no direct link between the service
consumer and provider
● not even a text or XML file somewhere
● they communicate through a predefined API
● improves re-usability
● In OSGi software reuse is visibly much higher than elsewhere
● Given clear APIs implementations can be swapped
● even at runtime
● OSGi standardizes some Service APIs
● organizations sometimes do the same
“We have many different
components that perform a
similar task”
17. JavaOne Slide Template Title
OSGi Services
How can I tailor my services more effectively?
● Customizations are needed for
● Premium customers vs community users
● Customers who bought specific functionality
● Government vs commercial customers
è Services can be used to swap in/out customizations
● To tailor a service, just provide an alternative for a given
API
● Services can be selected based on API and Properties
● Properties can be used to find the right set
of services for a given customer
“We have many customizations that
are labour intensive to support”
18. JavaOne Slide Template Title
Dynamic Service Selection
The triangle represents an OSGi service
Bundle XBundle X
objectClass=org.api.MySvc
myType=regular
Bundle A (consumer)Bundle A (consumer)
myFilter=(&(objectClass=org.api.MySvc)
(myType=premium))
MySvc svc=getService(myFilter)
svc.doSomething()
Bundle YBundle Y
objectClass=org.api.MySvc
myType=premium
Service selected based on filter
19. JavaOne Slide Template Title
OSGi Services and Consolidation
I need to replace a Service with an alternative technology
● If the API of the new technology can be mapped to the
existing service
● Create an OSGi Service that wraps the alternative
● Replace the bundle providing the existing service with another
bundle providing the wrapped technology
● If no mapping can take place
● OSGi can still help through multiple concurrent versions
● Gradual migration
“Business consolidation brings many
integration challenges”
20. JavaOne Slide Template Title
OSGi Services and Bugfixes
● OSGi Service-based development can help a lot here
● Let's say Service A1 contains a bug
● Service A1 has many active clients
● We don't want to kill the clients
● But new clients should use the fixed service
● Service A2 is a fixed version of the service
● Implementation has changed, API hasn't
● Install bundle with Service A2
● Service A1 and A2 exist concurrently
● Uninstall bundle with Service A1
● Old clients can still finish using the service
● Will not be handed out to new clients
“We need to minimize downtime
needed to apply bugfixes”
21. Bundle X 1.0Bundle X 1.0
service A
OSGi Services and Bugfixes
consumer
consumer
consumer
Apply service bugfixes without downtime
“We need to minimize downtime
needed to apply bugfixes”
22. Bundle X 1.0Bundle X 1.0
service A
OSGi Services and Bugfixes
consumer
consumer
consumer
Apply service bugfixes without downtime
“We need to minimize downtime
needed to apply bugfixes”
23. Bundle X 1.0Bundle X 1.0
service A
OSGi Services and Bugfixes
consumer
consumer
consumer
Bundle X 1.1Bundle X 1.1
service A'
Apply service bugfixes without downtime
“We need to minimize downtime
needed to apply bugfixes”
24. service A
OSGi Services and Bugfixes
consumer
consumer
consumer
Bundle X 1.1Bundle X 1.1
service A'
Apply service bugfixes without downtime
“We need to minimize downtime
needed to apply bugfixes”
25. service A
OSGi Services and Bugfixes
consumer
consumer
consumer
Bundle X 1.1Bundle X 1.1
service A'
consumer
consumer
Apply service bugfixes without downtime
“We need to minimize downtime
needed to apply bugfixes”
26. OSGi Services and Bugfixes
Bundle X 1.1Bundle X 1.1
service A'
consumer
consumer
Apply service bugfixes without downtime
“We need to minimize downtime
needed to apply bugfixes”
27. OSGi Services Summary
● SOA within the Java VM
● Multiple services can provide the same API
● Dynamic (can come and go at runtime)
● and OSGi Service Consumers know how to deal with this
● Lookup based on LDAP-style filters
● look up one or many
● OSGi Services are normally within the Java VM
● also: Distributed OSGi Services
● OSGi Remote Services specifications
29. Challenges – modularity
Migrating existing applications to modular environment is challenging
● Applies to any modular system, not just OSGi
● Requires some planning
● I would suggest a gradual approach
● start with a large bundle containing much of the existing
functionality
● splitting off smaller modules over time
Prevalent modularity anti-patterns
● Class.forName()
● java.util.ServiceLoader
● Thread context classloader
● Solutions exist for each, but requires some attention
30. Challenges – tooling
● Using OSGi works best when using the right tools
● Generally a combination of tools should be selected, for
● Development (IDE)
● Command-line build
● Testing
● Deployment
● etc...
● New documentation on toolchains:
● http://wiki.osgi.org/wiki/ToolChains
● Great new book: Enterprise OSGi in Action, Cummins et al