The document discusses using OSGi and Java EE together for enterprise application development. It provides an overview of OSGi including modules, services, and lifecycle. OSGi allows Java EE applications to be built as bundles that can leverage Java EE services. Specifications integrate technologies like JPA, JTA, and web applications. A demo shows lazy loading with JPA, EJB as a service, and security/transaction context propagation. More advanced topics include CDI injection of OSGi services and demos. The hybrid approach provides modularity, dynamism, and ease of deployment benefits for enterprise applications.
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
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.
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.
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
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.
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.
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.
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.
Going Native With The OSGi Service Layer - Sascha Zelzermfrancis
OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule)
ABSTRACT
OSGi is a dynamic module system for Java, supporting the development of highly modular applications. However, many concepts and design choices in the OSGi specifications are language neutral and can, for example, also be applied to native C++ application development. In fact, a vast amount of applications in many different domains (embedded, desktop, server, distributed, etc.) are still written in native languages like C++, for various reasons. In turn, many of these applications are in need of a light-weight modular architecture, fostering a service oriented design to minimize coupling between components and to maximize their re-usability.
The C++ Micro Services project (http://cppmicroservices.org) is a pure C++ implementation of the OSGi service layer, bringing a dynamic and service oriented framework inspired by OSGi to native application developers. Its scope is similar to the PojoSR project, a Java implementation of the OSGi service layer only. By only implementing the OSGi service layer, the complexity and foot-print of such an implementation is drastically reduced and its usage heavily simplified. Additionally, incrementally modifying an existing project to make use of the OSGi service layer can be viewed as an easy migration path to using a full-blown native OSGi implementation later on.
In this talk, the challenges of mapping the Java OSGi service layer API (based on OSGi R4.3 and Java generics) to an intuitive and easy-to-use C++ API are presented. Further, the properties of the native linkers of the major operating systems (Windows, Linux, MacOS) and how they effectively already implement parts of the OSGi module layer are discussed. These concepts will then be illustrated by looking at how a big C++ toolkit related to medical image processing makes use of the C++ Micro Services project and its OSGi-based service layer implementation. Furthermore, the relationship of the C++ Micro Services project to the recently initiated "Native OSGi" efforts, the related OSGi RFP 156, and other native OSGi implementations like Apache Celix will be discussed.
SPEAKER BIO
Sascha Zelzer studied Theoretical Physics in Austria and has been working with Java and C++ for the last ten years. While working on his Ph.D. at the German Cancer Research Center, he is also deeply involved in developing and maintaining a large C++ software stack primarily focused on medical imaging platforms. His current interests include modularized and distributed systems in C++, especially how to leverage the benefits of OSGi technology in a native environment.
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.
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.
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.
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
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
With Java 9, modularity comes to your doorstep (whether you ordered it or not). This isn't your average language feature: making the most out of it may involve rewiring your brain. In this session we explore the benefits of a modular codebase using Java 9 modules. Because who doesn’t like more reliable and secure applications, meanwhile killing the dreaded classpath?
After reviewing the basic concepts of modules, we'll explore modularity patterns that enhance your design and development skills. We all have existing software, so migration of codebases to a modular world is an important topic as well. Automatic modules and other new concepts are added to your toolbox to this end.
Want examples? We've got plenty in this practical and code-driven talk. Even if you intend to use Java 9 without modules, this talk helps you prevent common issues. You'll be ready for Java 9 before you know it.
Both speakers are currently writing “Java 9 Modularity” for O’Reilly, expected early 2017. They have extensive experience under the belt already with the Java 9 Jigsaw early access builds.
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 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.
Going Native With The OSGi Service Layer - Sascha Zelzermfrancis
OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule)
ABSTRACT
OSGi is a dynamic module system for Java, supporting the development of highly modular applications. However, many concepts and design choices in the OSGi specifications are language neutral and can, for example, also be applied to native C++ application development. In fact, a vast amount of applications in many different domains (embedded, desktop, server, distributed, etc.) are still written in native languages like C++, for various reasons. In turn, many of these applications are in need of a light-weight modular architecture, fostering a service oriented design to minimize coupling between components and to maximize their re-usability.
The C++ Micro Services project (http://cppmicroservices.org) is a pure C++ implementation of the OSGi service layer, bringing a dynamic and service oriented framework inspired by OSGi to native application developers. Its scope is similar to the PojoSR project, a Java implementation of the OSGi service layer only. By only implementing the OSGi service layer, the complexity and foot-print of such an implementation is drastically reduced and its usage heavily simplified. Additionally, incrementally modifying an existing project to make use of the OSGi service layer can be viewed as an easy migration path to using a full-blown native OSGi implementation later on.
In this talk, the challenges of mapping the Java OSGi service layer API (based on OSGi R4.3 and Java generics) to an intuitive and easy-to-use C++ API are presented. Further, the properties of the native linkers of the major operating systems (Windows, Linux, MacOS) and how they effectively already implement parts of the OSGi module layer are discussed. These concepts will then be illustrated by looking at how a big C++ toolkit related to medical image processing makes use of the C++ Micro Services project and its OSGi-based service layer implementation. Furthermore, the relationship of the C++ Micro Services project to the recently initiated "Native OSGi" efforts, the related OSGi RFP 156, and other native OSGi implementations like Apache Celix will be discussed.
SPEAKER BIO
Sascha Zelzer studied Theoretical Physics in Austria and has been working with Java and C++ for the last ten years. While working on his Ph.D. at the German Cancer Research Center, he is also deeply involved in developing and maintaining a large C++ software stack primarily focused on medical imaging platforms. His current interests include modularized and distributed systems in C++, especially how to leverage the benefits of OSGi technology in a native environment.
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.
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.
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.
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
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
With Java 9, modularity comes to your doorstep (whether you ordered it or not). This isn't your average language feature: making the most out of it may involve rewiring your brain. In this session we explore the benefits of a modular codebase using Java 9 modules. Because who doesn’t like more reliable and secure applications, meanwhile killing the dreaded classpath?
After reviewing the basic concepts of modules, we'll explore modularity patterns that enhance your design and development skills. We all have existing software, so migration of codebases to a modular world is an important topic as well. Automatic modules and other new concepts are added to your toolbox to this end.
Want examples? We've got plenty in this practical and code-driven talk. Even if you intend to use Java 9 without modules, this talk helps you prevent common issues. You'll be ready for Java 9 before you know it.
Both speakers are currently writing “Java 9 Modularity” for O’Reilly, expected early 2017. They have extensive experience under the belt already with the Java 9 Jigsaw early access builds.
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 DevCon 2013
One of the real surprises in my career has been the emergence of JavaScript as an increasingly reasonable choice as a systems language. In this talk I'll make the case that it's time for the OSGi community to gather and start looking at creating specifications for JavaScript based implementations. The Orion team started with an OSGi-insired MicroService architecture and in the past year has grown to also include a plugin architecture that is closely aligned with both OSGi bundle metadata and lifecycle concepts. We will use Orion as an example to discuss areas that we think are suitable for standardization.
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.
Introducing Apricot, The Eclipse Content Management PlatformNuxeo
This talk delivered by Florent Guillaume, Director of R&D at Nuxeo, will provide the audience with a global understanding of what Apricot is and also provide a general overview of what a Content Repository is from a functional standpoint: exploring all the services it offers, identifying the main standards and technologies integrated within a framework of this caliber, such as the Content Management Interoperability Standard (CMIS), and understanding the main technical challenges to be resolved, in particular high scalability and high performance.
OSGi enRoute is an OSGi project to make OSGi as easy to use as some of non-java dynamic web development environments but still provide the benefits of OSGi's strong modularity. OSGi makes it easy to get started with OSGi by providing an integrated tool chain with several runtime environments, that uses OSGi as it always was intended to be used. By leveraging OSGi's powerful features like services and the powerful requirement/capability model, development of applications can be significantly simplified.
This presentation will provide an introduction to OSGi, the way it is used in enRoute, and then a demo of how to build an application with enRoute.
Bio:
Peter Kriens is an independent consultant since 1990.He currently works for the OSGi Alliance and Paremus. During the eighties he developed advanced distributed systems for newspapers based on microcomputers based on, at the time very novel, object oriented technologies. For this experience in Objects he was hired by a number of international companies, including Adobe, Intel, Ericsson, IBM, and many others. During his work at Ericsson Research in 1998 he got involved with the OSGi specification; Later he became the primary editor for these specifications. In 2005 he was awarded the OSGi Fellows title. After taking a sabbatical in 2012 to develop jpm4j he returned to the OSGi Alliance to help increasing adoption. He is Dutch but decided to live in France.
Case Study: Plus Retail - Moving from the Old World to the New WorldForgeRock
A case study covering Plus Retail's transition from Oracle to ForgeRock's OpenAM, presented by AXI BV/NV Consultant Kurt Van Meerbeeck.
Learn more about ForgeRock Access Management:
https://www.forgerock.com/platform/access-management/
Learn more about ForgeRock Identity Management:
https://www.forgerock.com/platform/identity-management/
Build content centric apps with eclipse and nuxeo - ny java-sig november 2011Nuxeo
Nuxeo's Olivier Grisel (R&D Software Engineer) and Roland Benedetti (VP of Products & Marketing) provide an Introduction to the Eclipse Apricot Project and the Nuxeo Platform at the NYC Java User Group in November 2011.
Similar to OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development (20)
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.
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
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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/
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
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.
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
2. <Insert Picture Here>
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application
Development
Sanjeeb Sahoo and Sivakumar Thyagarajan
Staff Engineers, Sun Microsystems India Pvt. Ltd.
9. Module Layer
• Bundle – a unit of modularity in OSGi
• Encapsulation
• Lifecycle independent of the JVM
• Versionable
• Packaged as a JAR (classes + Manifest with OSGi
metadata)
• Very explicit dependency specification
• Well defined dependency resolution rules
9
14. Service Layer
• In-VM SOA
• Service Registry
– Register
– Unregister
• Service is a POJO
• Service Dynamism
– Service tracking
• Service Discovery
– LDAP filter based queries
14
20. Java EE
Platform of choice for enterprise applications
• Widely used APIs (JPA, JTA, JAXB, JNDI)
• Component Models (Servlet, EJB, JAX-RS)
• Frameworks (JSF, CDI)
• Ease of Use (Annotations, Convention over
Configuration)
• Platform provided infrastructure services
(Transaction, Security, Persistence, Remoting)
• Tools (IDE, Management, Monitoring)
• Ubiquitous deployment platform for enterprise
applications
20
21. Hybrid Applications
Meeting of the two worlds
• OSGi + Java EE = Hybrid application
• Hybrid application
– An OSGi bundle
– And a Java EE Archive
• Leverage the capabilities of both the platforms
– Enterprise applications can now be built as OSGi bundles
– OSGi bundles can now use Java EE services
21
22. Current State
• OSGi Enterprise Expert Group (EEG)
– Relased OSGi Service Platform Enterprise Specification 4.2
in 2010
• Open source efforts
– Project GlassFish
– Project Aries
– Eclipse Gemini
22
25. OSGi/Web Application (WAB)
• Web Application Bundle (WAB)
– WAR + OSGi metadata + Web-ContextPath header
• Can use all enterprise APIs (like JPA, JTA)
• Wrapped WAR support
– webbundle: URL scheme
25
26. OSGi/EJB Application
• Allows you to develop managed, transactional, secure
OSGi services with very little knowledge of OSGi
• Make your existing EJB service available to OSGi
clients with little effort
• Achieved through simple manifest metadata
– Export-EJB: ALL/None/<names of stateless local EJB>
26
27. EE APIs in OSGi
• OSGi/JDBC
– JDBC driver as DataSourceFactory
– Dynamic discovery of driver details
– Multiple versions of same driver
• OSGi/JTA
– JTA artifacts available as OSGi Services
• OSGi/JPA
– Enhancement of JPA entities at runtime
– Same packaging rules as JPA and also deploy entities as a
bundle
– Shared Persistence Unit and thereby shared second level
cache
27
32. CDI
• Brings type-safe dependency injection to EE platform
– Strong typing and loose coupling
• Well defined life cycle of stateful objects bound to life
cycle contexts
• Ability to decorate and intercept injected Beans
• An event notification model
• An ability to develop portable extensions that
integrates with the container to extend the runtime
32
33. GlassFish CDI/OSGi Portable Extension
• Use of CDI for type safe injection of OSGi services
@WebServlet(urlPatterns = “/login”)
public class FooServlet implements HttpServlet {
@Inject
@org.glassfish.osgicdi.OSGiService(
dynamic=”true”,
timeout = 200,
serviceCriteria=<an ldap query >
FooService foo;
}
33
35. Call To Action
• Want to build hybrid applications? Come to our HOL
– ID#: S313522, tomorrow at 12:00 in Plaza A of Hilton San
Francisco
• Want to try out?
– Use GlassFish 3.1 trunk builds from http://glassfish.org
• Questions?
– users@glassfish.dev.java.net
35
38. Safe Harbor Statements
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
38
39. The preceding is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
39
40. <Insert Picture Here>
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application
Development
{sahoo, sivakumart}@sun.com
Staff Engineers, Sun Microsystems India Pvt. Ltd.