OSGi is a module system and service platform for Java that provides dynamic module capabilities. It addresses issues with traditional Java applications like lack of portability, software complexity and size, and limits on object oriented technologies. OSGi allows applications to be constructed as a set of reusable modules (bundles) that can be dynamically installed, started, stopped, updated, and uninstalled without requiring a reboot. It uses a publish/find/bind model where bundles export and import packages and can discover and bind to services from other bundles at runtime.
Kotlin multi-platform(KMPP) is Kotlin's experimental feature and it provides the ability to share non-UI business logic between different platforms like Android, iOS, Js, Embedded device and many more.
This slide covers how to set-up the KMPP project, how does this code sharing works between different platforms and pro-cons of using it.
Microservice Approach for Web Development with Micro Frontendsandrejusb
Micro frontends extend concepts of microservices into front end development. The idea behind micro frontends is to represent Web app as composition of features, instead of one large monolyth application. Each feature is developed and tested end-to-end, from database to user interface. Oracle JET Web Components architecture suits perfectly for micro frontend development, Web Component encapsulates UI and back-end logic calls, allowing to build independent micro frontends.
Kotlin multi-platform(KMPP) is Kotlin's experimental feature and it provides the ability to share non-UI business logic between different platforms like Android, iOS, Js, Embedded device and many more.
This slide covers how to set-up the KMPP project, how does this code sharing works between different platforms and pro-cons of using it.
Microservice Approach for Web Development with Micro Frontendsandrejusb
Micro frontends extend concepts of microservices into front end development. The idea behind micro frontends is to represent Web app as composition of features, instead of one large monolyth application. Each feature is developed and tested end-to-end, from database to user interface. Oracle JET Web Components architecture suits perfectly for micro frontend development, Web Component encapsulates UI and back-end logic calls, allowing to build independent micro frontends.
Liferay, Inc., is an open-source company that provides free documentation and paid professional service to users of its software. Mainly focused on enterprise portal technology, the company has its headquarters in Diamond Bar, California, United States
Micro Front Ends for Micro Services using Oracle JETVijay Nair
An often overlooked aspect of a microservices architecture is its UI. Oracle JavaScript Extension Toolkit (Oracle JET) offers a complete solution to meet this challenge with Web Components. This session demonstrates putting together the building blocks of a micro-front-end architecture using Oracle JET’s Web Components, Node.js, and Docker. It also demonstrates testing components in isolation with Karma/Jasmine and Selenium, and finally—to round things out—a complete pipeline based on Oracle Developer Cloud Service is built to enable CI/CD.
How to Build Composite Applications with PRISMDataLeader.io
Created by Emil Stoychev (The Silverlight Show) from Bulgaria at my Microsoft "Pre-MIX!!" ROCK! event.
Topics covered include design & technical concepts in PRISM, composite apps vs. monolithic apps, prism is a set of guidelines not a framework.
Technical Concepts:
1. Bootstrapper is responsible for app initialization
2. CAL includes UnityBootstrapper
3. XAML
4. Configure RegionAdapter Mappings
5. Creating the Shell
6. Initializing Modules
7. Windows Presentation Foundation (WPF)
8. Module Options
1. Design Concepts: modularity, dependency injection container, multi-targeting
2. UI Composition: commanding, eventing
3. View Composition = View Injection = View Discovery
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiRafik HARABI
This presentation focus on modern architecting and development patterns with examples.
Liferay 7 come with new modular architecture based on OSGi framework. This new architecture will change the way of using and extending Liferay: It provides flexible options to customize Liferay portal and build applications on the top of it.
After introducing the new modular architecture and the Liferay module framework, the presentation will focus on the modern patterns of bundles development, portal customization patterns and integration with third parties using the power of the OSGi framework.
This ppt contains the matter on yii framework.
introduction to yii framework
history behind this yii framework
developer of yii framework
technologies integrated&used in yii framework
how to install yii framework ?,
yii framework features,
performance
license terms
about mudule
MVC design pattern
advantages and disadvantages of yii framework.
yii is pronounced as yee0r ji;,acronym for it is "Yes It Is".
this is the answer for several questions
is it efficient?
is it easy to use?
is it professional?
is it right for my next project?
...
yes it is
yii is a component-based php framework for developing web applications.
it has been built with sophisticated,enterprise applications in mind
This presentation was given at the International Family Planning conference in Kampala, Uganda in November 2009 by IRH Georgetown and the Extending Service Delivery (ESD) Project.
Liferay, Inc., is an open-source company that provides free documentation and paid professional service to users of its software. Mainly focused on enterprise portal technology, the company has its headquarters in Diamond Bar, California, United States
Micro Front Ends for Micro Services using Oracle JETVijay Nair
An often overlooked aspect of a microservices architecture is its UI. Oracle JavaScript Extension Toolkit (Oracle JET) offers a complete solution to meet this challenge with Web Components. This session demonstrates putting together the building blocks of a micro-front-end architecture using Oracle JET’s Web Components, Node.js, and Docker. It also demonstrates testing components in isolation with Karma/Jasmine and Selenium, and finally—to round things out—a complete pipeline based on Oracle Developer Cloud Service is built to enable CI/CD.
How to Build Composite Applications with PRISMDataLeader.io
Created by Emil Stoychev (The Silverlight Show) from Bulgaria at my Microsoft "Pre-MIX!!" ROCK! event.
Topics covered include design & technical concepts in PRISM, composite apps vs. monolithic apps, prism is a set of guidelines not a framework.
Technical Concepts:
1. Bootstrapper is responsible for app initialization
2. CAL includes UnityBootstrapper
3. XAML
4. Configure RegionAdapter Mappings
5. Creating the Shell
6. Initializing Modules
7. Windows Presentation Foundation (WPF)
8. Module Options
1. Design Concepts: modularity, dependency injection container, multi-targeting
2. UI Composition: commanding, eventing
3. View Composition = View Injection = View Discovery
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiRafik HARABI
This presentation focus on modern architecting and development patterns with examples.
Liferay 7 come with new modular architecture based on OSGi framework. This new architecture will change the way of using and extending Liferay: It provides flexible options to customize Liferay portal and build applications on the top of it.
After introducing the new modular architecture and the Liferay module framework, the presentation will focus on the modern patterns of bundles development, portal customization patterns and integration with third parties using the power of the OSGi framework.
This ppt contains the matter on yii framework.
introduction to yii framework
history behind this yii framework
developer of yii framework
technologies integrated&used in yii framework
how to install yii framework ?,
yii framework features,
performance
license terms
about mudule
MVC design pattern
advantages and disadvantages of yii framework.
yii is pronounced as yee0r ji;,acronym for it is "Yes It Is".
this is the answer for several questions
is it efficient?
is it easy to use?
is it professional?
is it right for my next project?
...
yes it is
yii is a component-based php framework for developing web applications.
it has been built with sophisticated,enterprise applications in mind
This presentation was given at the International Family Planning conference in Kampala, Uganda in November 2009 by IRH Georgetown and the Extending Service Delivery (ESD) Project.
This PPT was created for Rwanda, and is meant for Implementing Organizations at the community level to use during an orientation of the EOI3 approach for all levels of stakeholders.
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...IndicThreads
Session Presented at 5th IndicThreads.com Conference On Java held on 10-11 December 2010 in Pune, India
WEB: http://J10.IndicThreads.com
------------
Session Abstract
OSGi continues to take over the landscape of Java-based infrastructure products ranging from Integrated Development Environment (like Eclipse), Application servers to enterprise Java systems and now setting horizons at Cloud infrastructures.
In this talk we will see how and why OSGi matters for enterprise Java systems. As a dynamic module system, the session will show how OSGi allows developers to modularize applications to create truly reusable components for enterprise scale. Features like strong modularity, versioning support, declarative services, the run-time ability to add, remove & update modules to build server-side enterprise applications will be discussed.
The session will deep dive into what’s new in OSGi enterprise specifications and how persistence, transaction and dependency injection support like Blueprint Container services addresses Enterprise use cases. The session will illustrate how OSGi Remote Services coupled with SCA configuration services enables creation of distributed, federated service model for heterogeneous systems. Along with above enterprise specifications, specific implementations like Apache Aries will also be highlighted.
The talk will also brief how OSGi is poised to one of key technology for Cloud computing where software components and services can be deployed, managed, dynamically provisioned with enterprise security within cloud based computing infrastructures.
Takeaways for the Audience In this session, audience will learn about:
(a) An overall understanding to view OSGi as THE module system for Java.
(b) How OSGi is poised to be key enabler for enterprise applications whether on servers, or on the cloud.
(c) How OSGi Enterprise specifications can be used in enterprise business applications.
(d) A better understanding of how OSGI will be key technology in Cloud infrastructures
GlassFish architect Jerome Dochez presents the architecture (kernel, services, extensibility) and the status of GlassFish v3, a lightweight and modular application server based on OSGi and able to run both Java (EE) and scripting (Rails, Grails, PHP, etc...) applications. Fairly technical.
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.
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
The slides demonstrate how to work successfully with OSGi and discuss alternative architectures namely micro-services. Please like if you find the slides useful.
Java EE 6 is an awesome platform, but how do you design a system that can evolve for many years in production? And how do we run this stuff in the cloud?
Designing a system that can evolve without creating a maintenance nightmare is far from trivial. A service oriented, modular architecture will help a lot to replace parts of a system without breaking others. The only mature modularity approach for Java is OSGi - a framework that enables low-level modularity and services, but you still need APIs to create web applications, use transactions, access data sources etc. Without these APIs you will have a hard time building applications. Unfortunately OSGi and Java EE did not interoperate well in the past; But what if we want modularity in our architecture but also the ease-of-use of Java EE 6?
In this university you will:
1. Understand the benefits of a modular code base
2. Learn how to mix OSGi and Java EE
3. Manage modular cloud deployments using Apache ACE
..and of course there will be lots of live coding!
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.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
2. OSGi Motivation
Growing complexity requires not only highly modular
code, but also systems that are dynamically extensible
Because there should be simpler way to construct software
systems than writing , writing, and writing …
No matter which problem domain is your area of concern
◦ Embedded systems need to adapt to changing requirements even
though they are deployed out in the field
◦ Server applications must be configurable and manageable
without down time
◦ Client applications must respond to user desires for new
functionality instantaneously
3. OSGi Problems to Adders
Lack of Portability
Stale Devices
Software Size
Software Complexity
Limits OO Technology
Quality of Service
4. OSGi Background
Started as an embedded platform for the “home
gateway”
Originally under the JCP as JSR-8 (1999)
Maintained by OSGi alliance, consists of a large
number of big companies.
Current version: OSGi Release 4.2 (JSR-294)
5. OSGi Introduction
An interesting platform for creating dynamically
extensible applications
Provides a service-oriented, component based
environment
Offers standardized ways to manage the
software lifecycle.
OSGi technology is Universal Middleware.
6. OSGi What we can achieve
Resolves many deficiencies associated with
conventional approaches for modularity and
dynamism
◦ Provide a module concept
Explicit sharing of code (i.e., importing and exporting)
◦ Automatic management of code dependencies
Enforces sophisticated consistency rules for class
loading
◦ Life-cycle management
Manages dynamic deployment and configuration
8. OSGi Framework Layers
L3 - publish/find/bind service model to
decouple bundles
L2 - independent life-cycle of bundles without
JVM restarts
L1 - a module (or bundle) uses classes from
other bundles in a controlled way
L0 - well defined profiles that define the
environment in which bundles can work
9. OSGi Module
Layer
Unit of deployment is bundle, a JAR
Separate class loader per bundle
Multi-version support (side-by-side)
Explicit code boundaries and
dependencies
Metadata in the manifest
Automatic wiring based on version
ranges
10. OSGi Life-cycle
Layer
Managed life cycle
◦ States for each bundle;
Allows updates of existing
bundles.
◦ Dynamically
install, start, update, and
uninstall
11. OSGi Service
Layer
Service interfaces allow bundles to
interact by binding interfaces, not
implementations
Publish/find/bind intra-VM service
model
12. OSGi Dynamic Service Lookup
OSGi Framework
Provided Service
Provided Package
install
bundle.jar
Automatic package
dependency resolution
Manual service
dependency resolution
Existing
Bundle
Installed
Bundle
Resolv
-ed
Bundle
resolve bundle
13. OSGi OSGi Service Advantages
Lightweight services
◦ Direct method invocation
Good design practice
◦ Separates interface from implementation
◦ Enables reuse, substitutability, loose coupling, and late binding
Dynamic
◦ Loose coupling and late binding make it possible to support run-
time dynamism
Application's configuration is simply the set of
deployed bundles
◦ Deploy only the bundles that you need
14. OSGi Paint Program
Create a simple Swing-based paint program
Define a SimpleShape interface to draw shapes
◦ Different implementations of SimpleShape can be
created to draw different shapes
◦ Each shape has name and icon properties
◦ Available shapes are displayed in tool bar
To draw a shape, click on its button and then
click in the drawing canvas
◦ Shapes can be dragged, but not resized
Support dynamic deployment of shapes
15. OSGi High Level ArchitectureBest practice – Try to
centralize interaction
with OSGi API so that
other components
remain POJOs...only
Shape Tracker will
interact with OSGi API.
Best practice – Do not
make assumptions
about threads...since we
are creating a Swing
application, Shape
Tracker sends events on
Swing thread.
Main application
window – gets
dynamically injected
with available shapes
from the Shape
Tracker..
Actual shape
implementation.
Injected “proxied” shape
implementation to hide
aspects of dynamism
and provide a default
implementation.
Component that draws the
shape in parent frame; looks
up shape via Drawing Frame
rather than having a direct
reference..
17. OSGi Adoption
Applications can leverage OSGi
functionality in two ways
◦ Bundled application
Build entire application as a set of bundles that will
run on top of a framework instance
◦ Hosted framework
Host a framework instance inside the application
and externally interact with bundles/services
18. OSGi Adoption (Bundled vs Hosted)
Building your application as a set of bundles is
the preferred approach
◦ Allows all parts of application to benefit from OSGi
modularity and dynamism
◦ Allows application to run on any framework
◦ However, it is not always possible to bundle
application, e.g., legacy situations
Hosted framework approach allows piecemeal
OSGi adoption
◦ Will likely tie application to a framework
implementation