Tim Ward (Paremus) - Java One 2013
As the Java EE specification becomes more flexible and modular, it becomes easier to build application server profiles specific to your applications. This has the benefit of being lightweight, but it adds a significant risk that out-of-date documentation will cause applications to fail or behave unpredictably if a required feature is missing. The introduction of OSGi bundle support in GlassFish, JBoss, and WebSphere means that applications can now be self-describing. All the runtime features you need can then be matched with capabilities by use of the OSGi resolver, and a server runtime can be dynamically provisioned for your application as it is deployed. This session shows how to achieve this by presenting examples from Apache Aries and other open source projects.
This document discusses the introduction of HTTP/2 support in Java and Java EE. It provides background on the limitations of HTTP/1.1 and why HTTP/2 was created, outlining key HTTP/2 features like binary framing and multiplexing. The document then explains how HTTP/2 will be supported in Java EE 8 and Java SE, allowing Java applications to take advantage of performance improvements from HTTP/2.
This document provides an overview of Model-View-Controller (MVC), including different styles of MVC and the context for a new Java EE MVC specification. It summarizes the key components of MVC - the model, view, and controller. The controller executes business logic, updates the model, and directs the view to render itself. Component-based MVC frameworks like JavaServer Faces provide standard controllers while action-based frameworks like Spring MVC require application-defined controllers. The document indicates a new Java EE action-based MVC specification is being developed for inclusion in Java EE 8.
Java API for JSON Binding - Introduction and updateMartin Grebac
This document provides an introduction and update on the Java API for JSON Binding (JSON-B) specification (JSR 367). It discusses the goals of standardizing JSON binding in Java, the status of JSR 367, and an overview of the proposed JSON-B API including initialization, marshalling, unmarshalling, and mapping capabilities. The JSON-B API is intended to provide functionality similar to JAXB for binding Java objects to and from JSON.
The document discusses plans for Java EE 8 based on feedback from the Java EE community survey. Key areas of focus for Java EE 8 include improved support for HTML5/web technologies like JSON binding and processing, easier development through CDI alignment, and enhanced capabilities for cloud deployment. The Java EE 8 release will be driven by priorities set in the community survey, addressing needs like JSON processing updates, JSON binding through JSR 367, and support for new standards.
The document discusses seven points for applying Java EE 7:
1. Select a Java EE 7 compliant application server like GlassFish or WildFly. Consider factors like commercial support needs.
2. Use a modern IDE like Eclipse, NetBeans or IntelliJ IDEA to build projects with Maven.
3. Apply JSF for the front-end framework and use Facelets for mark-up.
4. Apply EJBs for the back-end framework to benefit from features like automatic transactions.
5. Consider using RMI-IIOP for heavy transactions or WebSockets for lightweight and faster systems.
6. Apply JPA for database persistence.
7. Consider Java EE 8 for
EJB and CDI Alignment and Strategy
Linda DeMichiel, Java EE Specification Lead at Oracle, gave a presentation on EJB and CDI alignment and strategy at Java Day Tokyo 2015. The presentation covered: (1) the history and evolution of EJB and CDI, (2) the advantages and disadvantages of when to use EJB vs CDI, (3) how Java EE has aligned managed beans, and (4) Oracle's strategy for the future alignment of EJB and CDI.
Oracle JET is a JavaScript library developed by Oracle for building responsive web applications. It is aimed at medium to advanced JavaScript developers and focuses on data visualization features useful for Oracle Cloud customers. Oracle JET is based on open source libraries, follows enterprise standards around accessibility, modularity, and localization, and packages common UI widgets. All Oracle JET components are designed to meet Oracle and industry standards for internationalization, accessibility, and testability.
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and WicketMatt Raible
One of the most difficult things to do (in Java web development) today is pick which web framework to use when development an application. The Apache Software foundation hosts most of the popular Java web frameworks: Struts, MyFaces, Tapestry and Wicket. This session will compare these different web frameworks, as well as Spring MVC and Stripes. It will briefly explain how each works and the strengths and weaknesses of each. Tips, tricks and gotcha's will be plentiful. Lastly, it will provide attendees with a sample application that utilizes all 6 frameworks, so they can compare line-by-line how the frameworks are different. This sample application will include the following features: sortable/pageable list, client and server-side validation, success and error messages as well as some Ajax functionality. The frameworks will be rated on how easy they make it to implement these features.
This document discusses the introduction of HTTP/2 support in Java and Java EE. It provides background on the limitations of HTTP/1.1 and why HTTP/2 was created, outlining key HTTP/2 features like binary framing and multiplexing. The document then explains how HTTP/2 will be supported in Java EE 8 and Java SE, allowing Java applications to take advantage of performance improvements from HTTP/2.
This document provides an overview of Model-View-Controller (MVC), including different styles of MVC and the context for a new Java EE MVC specification. It summarizes the key components of MVC - the model, view, and controller. The controller executes business logic, updates the model, and directs the view to render itself. Component-based MVC frameworks like JavaServer Faces provide standard controllers while action-based frameworks like Spring MVC require application-defined controllers. The document indicates a new Java EE action-based MVC specification is being developed for inclusion in Java EE 8.
Java API for JSON Binding - Introduction and updateMartin Grebac
This document provides an introduction and update on the Java API for JSON Binding (JSON-B) specification (JSR 367). It discusses the goals of standardizing JSON binding in Java, the status of JSR 367, and an overview of the proposed JSON-B API including initialization, marshalling, unmarshalling, and mapping capabilities. The JSON-B API is intended to provide functionality similar to JAXB for binding Java objects to and from JSON.
The document discusses plans for Java EE 8 based on feedback from the Java EE community survey. Key areas of focus for Java EE 8 include improved support for HTML5/web technologies like JSON binding and processing, easier development through CDI alignment, and enhanced capabilities for cloud deployment. The Java EE 8 release will be driven by priorities set in the community survey, addressing needs like JSON processing updates, JSON binding through JSR 367, and support for new standards.
The document discusses seven points for applying Java EE 7:
1. Select a Java EE 7 compliant application server like GlassFish or WildFly. Consider factors like commercial support needs.
2. Use a modern IDE like Eclipse, NetBeans or IntelliJ IDEA to build projects with Maven.
3. Apply JSF for the front-end framework and use Facelets for mark-up.
4. Apply EJBs for the back-end framework to benefit from features like automatic transactions.
5. Consider using RMI-IIOP for heavy transactions or WebSockets for lightweight and faster systems.
6. Apply JPA for database persistence.
7. Consider Java EE 8 for
EJB and CDI Alignment and Strategy
Linda DeMichiel, Java EE Specification Lead at Oracle, gave a presentation on EJB and CDI alignment and strategy at Java Day Tokyo 2015. The presentation covered: (1) the history and evolution of EJB and CDI, (2) the advantages and disadvantages of when to use EJB vs CDI, (3) how Java EE has aligned managed beans, and (4) Oracle's strategy for the future alignment of EJB and CDI.
Oracle JET is a JavaScript library developed by Oracle for building responsive web applications. It is aimed at medium to advanced JavaScript developers and focuses on data visualization features useful for Oracle Cloud customers. Oracle JET is based on open source libraries, follows enterprise standards around accessibility, modularity, and localization, and packages common UI widgets. All Oracle JET components are designed to meet Oracle and industry standards for internationalization, accessibility, and testability.
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and WicketMatt Raible
One of the most difficult things to do (in Java web development) today is pick which web framework to use when development an application. The Apache Software foundation hosts most of the popular Java web frameworks: Struts, MyFaces, Tapestry and Wicket. This session will compare these different web frameworks, as well as Spring MVC and Stripes. It will briefly explain how each works and the strengths and weaknesses of each. Tips, tricks and gotcha's will be plentiful. Lastly, it will provide attendees with a sample application that utilizes all 6 frameworks, so they can compare line-by-line how the frameworks are different. This sample application will include the following features: sortable/pageable list, client and server-side validation, success and error messages as well as some Ajax functionality. The frameworks will be rated on how easy they make it to implement these features.
The document provides an overview of topics that will be covered in a tutorial on using KnockoutJS with ASP.NET MVC. The overview lists the following topics: what KnockoutJS is and why it is useful; getting started; observables; bindings; templating; and customizing KnockoutJS.
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
JavaScript frameworks are becoming more popular for building rich clients. Java EE is well-positioned as a backend for JavaScript rich clients, providing capabilities like JAX-RS for REST, the Java API for WebSocket, and JSON processing. The document presents an architecture with the client handling UI rendering and basic logic and the server managing business logic, data, and communication via REST, WebSocket, and server-sent events. It provides a demo on GitHub showing how Java EE can integrate with JavaScript frameworks.
The document discusses Java EE 8 and proposes enhancements and new features for several Java EE specifications. It provides an overview of the original plan for Java EE 8, including continued web standard alignment, cloud enhancements, and smaller features. It also discusses updating the specifications for Servlet 4.0, JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, JSON-P 1.1, the Java EE Management API 2.0, and a new MVC specification.
The document provides 10 tips for enterprise JavaScript development: (1) resist hype, (2) use HTML5 as an application framework, (3) compare responsive design between CSS and JavaScript, (4) evaluate framework vs. library approaches, (5) incorporate modularity, (6) evaluate abstractions for JavaScript, CSS and HTML, (7) don't worry about ecosystem volatility, (8) focus on write once, never touch again (WONTA) over write once, run anywhere (WORA), (9) evaluate corporate frameworks, and (10) reconsider JavaScript as an assembly language. It also discusses technologies like HTML5, CSS3, TypeScript and Oracle JET.
Java EE 8 will include updates to several existing specifications as well as new specifications. Key updates include JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, and JSON-P 1.1. New specifications include JCache 1.0, JSON-B 1.0, MVC 1.0, and Java EE Security API 1.0. Java EE 8 is currently in development, with early drafts of specifications and milestones available to provide feedback on. A final release is planned for Q3 2016.
Testing Java EE Applications Using ArquillianReza Rahman
This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, CDI @Alternative, portable extensions, embedded containers and JSF project stages.
Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers of the application. In addition to discussing tools and features, the session will also demonstrate testing techniques like designing for testability, mock objects, isolation and test configuration.
제 8회 Oracle Developer Meetup에서 발표한 "Cloud Native Java:GraalVM"의 장표입니다. 세미나 동영상은 다음 URL에서 보실 수 있습니다.
https://www.facebook.com/OracleKorea/videos/899585790388647/UzpfSTEwMDAxNTI2OTgwNDYyODpWSzo2MDc3NTY3NDk2MzgyNDg/
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhievmfrancis
This document discusses OSGi support in various Java EE application servers. It begins by outlining the benefits of using OSGi in Java EE applications, such as modularization and reuse of open source components. It then evaluates several servers - Spring, TomEE, Resin, JBoss, Glassfish, and Geronimo - and discusses their level of OSGi support, experience deploying OSGi bundles to each server, and any issues encountered. It concludes by recommending considering the costs and ROI of using OSGi before embarking on an OSGi project in a Java EE server.
Architecting for Hyper Growth and Great Engineering Cultureifnu bima
The document discusses architecting for hyper growth and great engineering culture at a software company. It summarizes:
1) The goals are to support hyper growth year over year while fostering innovation and fast iteration through software architecture choices.
2) As a software architect, responsibilities include designing architectures around choices like monoliths vs microservices and databases, picking platforms and libraries, and setting hiring standards.
3) Architectural priorities are speed, performance, scalability, security and code quality to support the goals and customer experiences.
This document discusses GraalVM and its key components. GraalVM is a virtual machine that supports multiple languages including Java, JavaScript, Ruby, and Python. It includes Graal, a new just-in-time compiler that aims to replace the C2 compiler in HotSpot VM. GraalVM also features Truffle, a framework for building languages, and Native Image, an ahead-of-time compiler.
Making everything better with OSGi - a happy case study in building a really ...mfrancis
This document discusses the redesign of WebSphere Application Server to create a lightweight profile called WebSphere Liberty. The full WebSphere profile had become very large and complex over many years, making it difficult to change. The designers wanted to take advantage of OSGi technologies to create a modular, dynamic, and developer-friendly runtime. They built Liberty from scratch using OSGi services and declarative services. Individual components are given their own configuration and dependencies are loosely coupled. This approach allows Liberty to have a very small footprint while maintaining compatibility with existing WebSphere code and customers.
The document discusses upcoming features in Java EE 8 based on feedback from the developer community. Key areas of focus for Java EE 8 include enhancing the web tier with support for JSON binding, processing, and server-sent events. It also aims to improve development productivity and provide infrastructure for cloud deployment. Specific features mentioned are JSON binding API, updated JSON processing API, and support for HTTP/2.
The document discusses Java as the most popular programming language. It provides an overview of Java's history and development since 1995. It notes that Java runs on 9 million devices and is used across many industries. The document also discusses Java's open source status, the NetBeans IDE, future developments like Java 9 and modularity, and using Java in the cloud.
Java is a good platform choice for several reasons:
1) It is an open technology with a good language structure and ecosystem.
2) It has proven itself and is unlikely to fail due to its wide industry acceptance and continuous development.
3) It can be used for a wide range of purposes across industries as a complement or substitution solution.
Adding Modularity Afterward with Embedded OSGiBob Paulin
Many useful software products are started with tightly coupled “spaghetti” code that just works. As lines of code and complexity increase, teams often struggle to make modifications and add new features without impacting the entire application. As a result, previously successful applications start missing dates and suffering from degrading quality. OSGi can help by introducing a modular design that decouples the architecture, separates concerns, and manages dependencies. Unfortunately it often takes a few missed dates before a team realizes how important modularity is. Don’t let your existing product become a victim of its own success. Learn how to introduce modularity to existing software projects using Apache Felix. Discover how your application can evolve into a pluggable standards driven framework. It’s never too late to reap the benefits of modularity!
This presentation introduces the new Java EE 8 Security API JSR 375. Originally presented at Devoxx France 2015, the slides present the motivation behind the new JSR, some history, the expert group, and a summary of ideas.
The slides were created after the expert group had been meeting for about a month, so the ideas are raw and undeveloped. However, the ideas in the slides do indicate the general direction the JSR is headed, with respect to modernizing, simplifying, and standardizing the Java EE Security API.
Hybrid mobile apps are combination of online web application and native application which is usually web browser wrapper for web application. This concept is commonly used to expose native resources of mobile device to web application and to skip developing web application from scratch as native app. But what to do when Android has no access to web application server? Can you deploy also Java web application to Android device to work offline? In this presentation we will share our experience with building small Java servlet server and with deploying Java servlet application to work on Android. Does it work ok? Are there any limits? Find answers on this presentation.
youtube: https://youtu.be/yPdhxg75m6w
First Name: Arden
Last Name: Thomas
Title: Cincom Smalltalk Roadmap 2017
Type: Talk
Abstract:
In this presentation, Arden Thomas, the Product Manager for Cincom Smalltalk, will discuss recent, current, and future product changes and developments
Bio:
Arden Thomas started using Smalltalk in 1986, when he was researching and exploring better ways to do software development. He found it! Smalltalk and
object-oriented were such a profoundly improved approach to software development, that he made a full commitment to using Smalltalk. Arden used Smalltalk
in his post-graduate work, thesis and projects. Arden has worked with Smalltalk for IBM, Parcplace Systems, ParcPlace-Digitalk, ObjectShare, and a hedge
fund in a number of capacities including; lead developer, trainer, architect, consultant, and sales SE. When not working with Smalltalk, Arden can be
found cycling, officiating at swim meets, or attending events with his children.
The Developers Conference 2014 - Oracle KeynoteBruno Borges
The document discusses the future of Java, including new developments in Java SE 8, Java EE 7, embedded applications, the Internet of Things, mobile applications, and Oracle Cloud. It highlights features for improved developer productivity in Java EE 7 like batch processing, concurrency, and less boilerplate code. It also promotes Oracle technologies that support the new Java standards, such as WebLogic for Java SE 8 and Java EE 7, and tools for building mobile apps with Java like Oracle Mobile App Framework.
Php Indonesia x Bliblidotcom - Architecting Scalable CSSIrfan Maulana
This document summarizes Irfan Maulana's presentation on architecting scalable CSS at his company Blibli.com. It discusses how they moved to using Sass and implemented the BEM methodology to modularize their CSS and make it more maintainable as their codebase grew. Some challenges included building out their own BEM libraries and integrating it with JavaScript frameworks, but overall it improved collaboration and allowed safe refactoring of CSS without side effects. The presentation concludes that scalable CSS is achievable through preprocessors like Sass and strict conventions like BEM.
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!
Asynchronous OSGi – Promises for the Masses - T Wardmfrancis
Asynchronous and event-driven programming models have become increasingly popular in Java, and the Actor pattern is commonly used to help design and build these systems. At its heart the Actor pattern is all about composing systems from modular components – exactly the same thing that OSGi is designed for. In the upcoming OSGi Enterprise R6 release (planned Q3 2014) OSGi will be adding some new APIs that allow bundles to communicate asynchronously, even using existing synchronous services.
This talk will describe the workings of the new Promises and Asynchronous Services APIs from OSGi RFC 206, showing you how you can start to take advantage of asynchronous programming between modular, loosely-coupled services. It will also demonstrate how OSGi Remote Services can transparently integrate within the asynchronous application, allowing completely non-blocking interactions in distributed environments.
Bio:
Tim Ward is a Senior Consulting Engineer and Trainer at Paremus, co-author of Enterprise OSGi in Action, and has been actively working with OSGi for over six years. Tim has been a regular participant in the OSGi Core Platform and Enterprise Expert Groups, and led the development of several specifications, including OSGi Promises and Asynchronous Services. Tim is also an active Open Source committer and a PMC member in the Apache Aries project, which provides a container for enterprise OSGi applications.
Tim is a regular conference speaker, and can often be found at JavaOne, Devoxx, OSGi DevCon, OSGi Community Event, EclipseCon, Jazoon and JAX London.
The document provides an overview of topics that will be covered in a tutorial on using KnockoutJS with ASP.NET MVC. The overview lists the following topics: what KnockoutJS is and why it is useful; getting started; observables; bindings; templating; and customizing KnockoutJS.
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
JavaScript frameworks are becoming more popular for building rich clients. Java EE is well-positioned as a backend for JavaScript rich clients, providing capabilities like JAX-RS for REST, the Java API for WebSocket, and JSON processing. The document presents an architecture with the client handling UI rendering and basic logic and the server managing business logic, data, and communication via REST, WebSocket, and server-sent events. It provides a demo on GitHub showing how Java EE can integrate with JavaScript frameworks.
The document discusses Java EE 8 and proposes enhancements and new features for several Java EE specifications. It provides an overview of the original plan for Java EE 8, including continued web standard alignment, cloud enhancements, and smaller features. It also discusses updating the specifications for Servlet 4.0, JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, JSON-P 1.1, the Java EE Management API 2.0, and a new MVC specification.
The document provides 10 tips for enterprise JavaScript development: (1) resist hype, (2) use HTML5 as an application framework, (3) compare responsive design between CSS and JavaScript, (4) evaluate framework vs. library approaches, (5) incorporate modularity, (6) evaluate abstractions for JavaScript, CSS and HTML, (7) don't worry about ecosystem volatility, (8) focus on write once, never touch again (WONTA) over write once, run anywhere (WORA), (9) evaluate corporate frameworks, and (10) reconsider JavaScript as an assembly language. It also discusses technologies like HTML5, CSS3, TypeScript and Oracle JET.
Java EE 8 will include updates to several existing specifications as well as new specifications. Key updates include JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, and JSON-P 1.1. New specifications include JCache 1.0, JSON-B 1.0, MVC 1.0, and Java EE Security API 1.0. Java EE 8 is currently in development, with early drafts of specifications and milestones available to provide feedback on. A final release is planned for Q3 2016.
Testing Java EE Applications Using ArquillianReza Rahman
This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, CDI @Alternative, portable extensions, embedded containers and JSF project stages.
Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers of the application. In addition to discussing tools and features, the session will also demonstrate testing techniques like designing for testability, mock objects, isolation and test configuration.
제 8회 Oracle Developer Meetup에서 발표한 "Cloud Native Java:GraalVM"의 장표입니다. 세미나 동영상은 다음 URL에서 보실 수 있습니다.
https://www.facebook.com/OracleKorea/videos/899585790388647/UzpfSTEwMDAxNTI2OTgwNDYyODpWSzo2MDc3NTY3NDk2MzgyNDg/
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhievmfrancis
This document discusses OSGi support in various Java EE application servers. It begins by outlining the benefits of using OSGi in Java EE applications, such as modularization and reuse of open source components. It then evaluates several servers - Spring, TomEE, Resin, JBoss, Glassfish, and Geronimo - and discusses their level of OSGi support, experience deploying OSGi bundles to each server, and any issues encountered. It concludes by recommending considering the costs and ROI of using OSGi before embarking on an OSGi project in a Java EE server.
Architecting for Hyper Growth and Great Engineering Cultureifnu bima
The document discusses architecting for hyper growth and great engineering culture at a software company. It summarizes:
1) The goals are to support hyper growth year over year while fostering innovation and fast iteration through software architecture choices.
2) As a software architect, responsibilities include designing architectures around choices like monoliths vs microservices and databases, picking platforms and libraries, and setting hiring standards.
3) Architectural priorities are speed, performance, scalability, security and code quality to support the goals and customer experiences.
This document discusses GraalVM and its key components. GraalVM is a virtual machine that supports multiple languages including Java, JavaScript, Ruby, and Python. It includes Graal, a new just-in-time compiler that aims to replace the C2 compiler in HotSpot VM. GraalVM also features Truffle, a framework for building languages, and Native Image, an ahead-of-time compiler.
Making everything better with OSGi - a happy case study in building a really ...mfrancis
This document discusses the redesign of WebSphere Application Server to create a lightweight profile called WebSphere Liberty. The full WebSphere profile had become very large and complex over many years, making it difficult to change. The designers wanted to take advantage of OSGi technologies to create a modular, dynamic, and developer-friendly runtime. They built Liberty from scratch using OSGi services and declarative services. Individual components are given their own configuration and dependencies are loosely coupled. This approach allows Liberty to have a very small footprint while maintaining compatibility with existing WebSphere code and customers.
The document discusses upcoming features in Java EE 8 based on feedback from the developer community. Key areas of focus for Java EE 8 include enhancing the web tier with support for JSON binding, processing, and server-sent events. It also aims to improve development productivity and provide infrastructure for cloud deployment. Specific features mentioned are JSON binding API, updated JSON processing API, and support for HTTP/2.
The document discusses Java as the most popular programming language. It provides an overview of Java's history and development since 1995. It notes that Java runs on 9 million devices and is used across many industries. The document also discusses Java's open source status, the NetBeans IDE, future developments like Java 9 and modularity, and using Java in the cloud.
Java is a good platform choice for several reasons:
1) It is an open technology with a good language structure and ecosystem.
2) It has proven itself and is unlikely to fail due to its wide industry acceptance and continuous development.
3) It can be used for a wide range of purposes across industries as a complement or substitution solution.
Adding Modularity Afterward with Embedded OSGiBob Paulin
Many useful software products are started with tightly coupled “spaghetti” code that just works. As lines of code and complexity increase, teams often struggle to make modifications and add new features without impacting the entire application. As a result, previously successful applications start missing dates and suffering from degrading quality. OSGi can help by introducing a modular design that decouples the architecture, separates concerns, and manages dependencies. Unfortunately it often takes a few missed dates before a team realizes how important modularity is. Don’t let your existing product become a victim of its own success. Learn how to introduce modularity to existing software projects using Apache Felix. Discover how your application can evolve into a pluggable standards driven framework. It’s never too late to reap the benefits of modularity!
This presentation introduces the new Java EE 8 Security API JSR 375. Originally presented at Devoxx France 2015, the slides present the motivation behind the new JSR, some history, the expert group, and a summary of ideas.
The slides were created after the expert group had been meeting for about a month, so the ideas are raw and undeveloped. However, the ideas in the slides do indicate the general direction the JSR is headed, with respect to modernizing, simplifying, and standardizing the Java EE Security API.
Hybrid mobile apps are combination of online web application and native application which is usually web browser wrapper for web application. This concept is commonly used to expose native resources of mobile device to web application and to skip developing web application from scratch as native app. But what to do when Android has no access to web application server? Can you deploy also Java web application to Android device to work offline? In this presentation we will share our experience with building small Java servlet server and with deploying Java servlet application to work on Android. Does it work ok? Are there any limits? Find answers on this presentation.
youtube: https://youtu.be/yPdhxg75m6w
First Name: Arden
Last Name: Thomas
Title: Cincom Smalltalk Roadmap 2017
Type: Talk
Abstract:
In this presentation, Arden Thomas, the Product Manager for Cincom Smalltalk, will discuss recent, current, and future product changes and developments
Bio:
Arden Thomas started using Smalltalk in 1986, when he was researching and exploring better ways to do software development. He found it! Smalltalk and
object-oriented were such a profoundly improved approach to software development, that he made a full commitment to using Smalltalk. Arden used Smalltalk
in his post-graduate work, thesis and projects. Arden has worked with Smalltalk for IBM, Parcplace Systems, ParcPlace-Digitalk, ObjectShare, and a hedge
fund in a number of capacities including; lead developer, trainer, architect, consultant, and sales SE. When not working with Smalltalk, Arden can be
found cycling, officiating at swim meets, or attending events with his children.
The Developers Conference 2014 - Oracle KeynoteBruno Borges
The document discusses the future of Java, including new developments in Java SE 8, Java EE 7, embedded applications, the Internet of Things, mobile applications, and Oracle Cloud. It highlights features for improved developer productivity in Java EE 7 like batch processing, concurrency, and less boilerplate code. It also promotes Oracle technologies that support the new Java standards, such as WebLogic for Java SE 8 and Java EE 7, and tools for building mobile apps with Java like Oracle Mobile App Framework.
Php Indonesia x Bliblidotcom - Architecting Scalable CSSIrfan Maulana
This document summarizes Irfan Maulana's presentation on architecting scalable CSS at his company Blibli.com. It discusses how they moved to using Sass and implemented the BEM methodology to modularize their CSS and make it more maintainable as their codebase grew. Some challenges included building out their own BEM libraries and integrating it with JavaScript frameworks, but overall it improved collaboration and allowed safe refactoring of CSS without side effects. The presentation concludes that scalable CSS is achievable through preprocessors like Sass and strict conventions like BEM.
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!
Asynchronous OSGi – Promises for the Masses - T Wardmfrancis
Asynchronous and event-driven programming models have become increasingly popular in Java, and the Actor pattern is commonly used to help design and build these systems. At its heart the Actor pattern is all about composing systems from modular components – exactly the same thing that OSGi is designed for. In the upcoming OSGi Enterprise R6 release (planned Q3 2014) OSGi will be adding some new APIs that allow bundles to communicate asynchronously, even using existing synchronous services.
This talk will describe the workings of the new Promises and Asynchronous Services APIs from OSGi RFC 206, showing you how you can start to take advantage of asynchronous programming between modular, loosely-coupled services. It will also demonstrate how OSGi Remote Services can transparently integrate within the asynchronous application, allowing completely non-blocking interactions in distributed environments.
Bio:
Tim Ward is a Senior Consulting Engineer and Trainer at Paremus, co-author of Enterprise OSGi in Action, and has been actively working with OSGi for over six years. Tim has been a regular participant in the OSGi Core Platform and Enterprise Expert Groups, and led the development of several specifications, including OSGi Promises and Asynchronous Services. Tim is also an active Open Source committer and a PMC member in the Apache Aries project, which provides a container for enterprise OSGi applications.
Tim is a regular conference speaker, and can often be found at JavaOne, Devoxx, OSGi DevCon, OSGi Community Event, EclipseCon, Jazoon and JAX London.
Asynchronous Services – A promising future for OSGi - T Wardmfrancis
OSGi Community Event 2014
Abstract:
Asynchronous and event-driven programming models are known to offer exceptional performance in large-scale parallel workloads, and are experiencing significant growth in the Java ecosystem. Other JVM languages are also exploring the benefits of high-throughput asynchronous systems; the Actor pattern is commonly used to help design and build these systems. At its heart the Actor pattern is all about composing systems from modular components – exactly the same thing that OSGi is designed for. In the imminent OSGi Enterprise R6 release OSGi will be adding some new APIs that allow bundles to communicate asynchronously, even when using existing synchronous services.
This talk will describe the workings of the new Promises and Asynchronous Services APIs from the OSGi Enterprise and Compendium specifications, showing you how you can start to take advantage of asynchronous programming techniques using modular, loosely-coupled services. It will also demonstrate how OSGi Remote Services can transparently integrate within the asynchronous application, allowing completely non-blocking interactions in distributed environments.
Speaker Bio:
Tim Ward is a Senior Consulting Engineer and Trainer at Paremus, a co-author of Enterprise OSGi in Action, and has been actively working with OSGi for over six years. Tim has been a regular participant in the OSGi Core Platform and Enterprise Expert Groups, and led the development of several specifications, including OSGi Promises and Asynchronous Services. Tim is also an active Open Source committer and a PMC member in the Apache Aries project, which provides a container for enterprise OSGi applications.
Tim is a regular conference speaker, and can often be found at JavaOne, Devoxx, OSGi DevCon, OSGi Community Event, EclipseCon, Jazoon and JAX London.
Introduction To Groovy And Grails - SpringPeopleSpringPeople
Groovy is a dynamic language that runs on the Java Virtual Machine. Grails is a web application framework that uses Groovy. It allows building web applications quickly by generating the necessary configuration automatically and integrating with existing Java code. The document discusses Groovy testing, Grails architecture, controllers, services, managing databases and data migration in Grails. It also advertises a 4-day training on mastering Groovy and Grails.
This document discusses how JavaScript is experiencing growing pains similar to what Java experienced 10 years ago and how OSGi concepts and experiences can help address some core JavaScript problem areas related to modularity, packages, asynchronous APIs, and extensibility. It provides examples of how the Orion project has implemented OSGi microservices and plugins in a way that leverages OSGi lifecycle semantics and configuration while using promises to decouple from asynchronous implementations. The closing thoughts emphasize that JavaScript is becoming a reasonable systems language but has growing pains, and that OSGi can help if perceptions are corrected and APIs are made easier to adopt.
OSGi made simple - Fuse Application BundlesRob Davies
FuseSource introduces Fabric Application Bundles (FABs) which make deploying applications in OSGi containers simpler. FABs allow developers to deploy Java applications packaged with Maven dependencies as single deployment units. When installed, FuseSource's Fuse ESB automatically installs all transitive dependencies of a FAB. This provides an easier deployment model than traditional OSGi bundles while still allowing developers to benefit from OSGi features like dynamic updates and versioning when needed. FABs also provide options for configuring shared dependencies across multiple applications to gain code sharing benefits of OSGi.
The document discusses Spring and Java EE application development. It describes Spring as a programming model that defines APIs but no infrastructure, allowing applications to run on servlet containers like Tomcat without needing full Java EE application servers. It also summarizes Spring tools for operations and monitoring large clusters, and how OSGi modularization allows updating parts of applications at runtime.
Java SE is ideal for building lightweight microservices and those services are increasingly being deployed to the cloud. Cloud platforms are attractive deployment targets due to their high availability, affordability, ease of management, and access to services like object storage, messaging, and databases. And when well architected, Cloud Java apps exhibit a number of qualities like portability, updatability, configurability, composability, and scalability.
Curious Coders Java Web Frameworks ComparisonHamed Hatami
This document provides a comparison of various Java web frameworks, including Spring MVC, Grails, Vaadin, GWT, Wicket, Play, Struts, and JSF. It evaluates the frameworks based on categories like rapid application prototyping, framework complexity, ease of use, documentation and community support. For each framework, it provides scores and analysis in these different categories. The document is split into multiple parts, with part one focusing on rapid application prototyping and framework complexity. It provides scores and reasoning for each framework in these two areas.
This document discusses different architectures for implementing Adobe Experience Manager (AEM):
- A development setup that is easy to setup but not fault tolerant or scalable.
- A highly available architecture that scales AEM runtime via auto scaling groups but the author server cannot scale.
- A digital assets heavy architecture best for large datastores, with failover and replication between regions.
- A distributed author architecture that offers resilience and scalability through author clustering and MongoDB replica sets.
- A user generated content architecture able to handle UGC on runtime via horizontal scaling and moderation on publish servers.
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...
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
Building Modular Enterprise Applications - C Ziegelermfrancis
Moving from a monolithic application to a modular solution provides several challenges, starting from how to develop and ending with how to deliver and maintain the solution This session is a technical case study about building modular enterprise products based an OSGi by using open source. It features several different open source projects and technologies mainly from the Apache Software Foundation, like Apache Felix, Apache Sling, and Apache Aries. The session explains the faced problems and how they were solved. Covered topics include how to develop your components, services and modules, assembling and provisioning the application as well as different tooling for maintaining and monitoring.
Bio:
Carsten Ziegeler is working at Adobe Research Switzerland and spends most of his time on architectural and infrastructure topics. Working for over 25 years in open source projects, Carsten is a member of the Apache Software Foundation and heavily participates in several Apache communities including Sling, Felix and ACE. He is a frequent speaker on technology and open source conferences. Carsten participates in the OSGi Core Platform and Enterprise expert groups and is a member of the OSGi board.
Full Speed Ahead! (Ahead-of-Time Compilation for Java SE) [JavaOne 2017 CON3738]David Buck
presentation video: https://www.youtube.com/watch?v=mhravU1HL4k
One of the lesser-known features coming with JDK 9 is experimental support for ahead-of-time (AOT) compilation. Compiling Java bytecode into ready-to-execute machine code before runtime means that many applications may benefit from quicker startup and, in the case of multiple JVM instances, even lower memory consumption. In this demo-heavy session, you will see what advantages AOT has to offer and, perhaps even more importantly, what its limitations are. You will also get the opportunity to see Java’s new AOT compilation in action and leave with the knowledge needed to experiment on your own later. Although Java’s AOT is not yet ready for production use, this is a great chance to get a sneak peek at one of HotSpot’s most exciting new technologies.
What's happening in the OSGi IoT Expert Group? - Tim Wardmfrancis
OSGi Community Event 2015
The IoT Expert Group is the newest Expert Group in the OSGi Alliance, but what exactly is an Expert Group, and what does it do? What does that mean for OSGi as an IoT platform?</p>
This talk from the chair of the IoT Expert Group will cover the progress of the IoT Expert Group since its creation in July, what outputs we can expect to see in the future, and also information about how you can get involved with the Expert Group.
The OSGi service platform has existed as a modular micro-service runtime for well over a decade, and it was originally created to run on small embedded systems in the home. It turns out that the same model works very well on servers and in the cloud, making OSGi the perfect platform for end-to-end IoT development.
In the last twelve months the OSGi Alliance have been on an IoT requirements gathering mission, the result of which has been the new IoT Expert Group. Fresh from their first official meeting in Turin the IoT Expert Group is now ready to start the process of building new standards within the Alliance. If you're interested in getting involved, or just curious about what's going on, then come along to find out more.
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
This document discusses RESTful services and distributed OSGi. It provides an introduction to OSGi and REST, explaining how OSGi bundles work and the key concepts of REST interfaces. It describes how services can be exposed from an OSGi container to REST, and how REST services can be consumed from OSGi. Distributed OSGi allows remote invocations between OSGi containers. The document discusses challenges in making distributed OSGi and REST work together seamlessly and potential next steps.
The document discusses JavaScript and its role as the "assembly language of the web". It notes there are many JavaScript libraries, frameworks and tools available. It suggests Java developers looking to work with the web either write JavaScript directly, use a language like TypeScript or CoffeeScript that compiles to JavaScript, or stick to traditional server-side Java. It highlights some transpiler options like CoffeeScript, TypeScript and Dart that allow writing code in another language that compiles to JavaScript.
The document discusses techniques for achieving zero downtime deployments. It begins with an introduction and overview before covering specific methods such as blue-green deployments, canary releases, and rolling deployments. It also provides details on tools that can be used and considerations for deploying to web servers and databases. The document advocates combining different techniques into a hybrid 1/10/100 approach for deploying code changes to environments in a phased manner to minimize risk.
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...Chris Muir
Slides from Oracle's ADF Architecture TV series covering the Planning & Getting Started phase of ADF projects, specifically the planning & getting started tasks to think about.
Like to know more? Check out:
- Subscribe to the YouTube channel - http://bit.ly/adftvsub
- Planning and Getting Started Playlist - http://www.youtube.com/playlist?list=PLJz3HAsCPVaRzwcWgFLjMWDDT6OV1x2ma
- Read the episode index on the ADF Architecture Square - http://bit.ly/adfarchsquare
Similar to Just-in-time Java EE - provisioning runtimes for enterprise applications - JavaOne 2013 (20)
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
OSGi Community Event 2018 Presentation by Mark Hoffmann (Data In Motion)
Abstract: This talk will show you how the EMF framework can be used in pure OSGi environments other than Equinox. We will introduce you into free configurable ResourceSets and the principle of a ResourceSetFactory. This enables your application to have multiple tenants with different model visibillity. The profit of OSGi services provides a behavior where even models can come and go all the time.
We will also give you look inside, how easy it is to extend the default code generation process of EMF to generate OSGi service component that handle the model registration in an OSGi way.
OSGi Community Event 2018 Presentation by BJ Hargrave (IBM)
Abstract: Java 9 introduced the Java Platform Module System (JPMS) as a way to modularize the Java platform and it can be also be used by developers to modularize their own applications, although JPMS lack a number of important features for software running on the Java platform.
As people look to support the latest versions of the Java platform, changes introduced in Java 9 related to JPMS led to the needs for some features in the OSGi Core specification. OSGi framework implementations like Eclipse Equinox and Apache Felix and tools like Bnd were updated to support these new features.
This session will explore the Java 9+ support added to OSGi Core R7 and Bnd and help you learn how to navigate the world of Java 9+ and OSGi.
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
This document discusses simplifying web UX using OSGi modularity. It mentions coding tasks becoming quicker and easier using OSGi and controlling OSGi DS component instances. It provides links to GitHub pages for the Open Security Controller project and a blog post about controlling OSGi components. It concludes by thanking the audience and reminding them they are being watched.
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
This document discusses connecting the OSGi framework to Kubernetes for managing applications in container-based environments. It raises questions about building systems that can update while running and whether years spent on this have been wasted. It also briefly mentions a demo of OSGi and Kubernetes integration and asks why a load balancer wouldn't work instead. The document calls for feedback on sessions and ideas about OSGi, Kubernetes, immutable vs mutable systems, and J2EE versus OSGi.
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
OSGi Community Event 2018 Presentation by Tim Verbelen (imec) & Jan S. Rellermeyer (TU Delft)
Abstract: With the proliferation of cloud computing and more recently mobile and edge computing, there is a increasing demand to build flexible and robust distributed applications. The OSGi service and module technology is a key enabler for such deployment. Recent additions to the OSGi standards provide a set of services that provide interfaces for managing distributed instances of OSGi frameworks. The REST Service (added in R6 compendium) offers an easy and language-independent way to manage bundes and introspect services from outside the network. The Cluster Information specifications (added in R7 compendium) provide means for applications to manage and monitor the deployment intrinsically, building on top of the Remote Service specifications. In the Eclipse Concierge project, we have provided the reference implementations of both specifications. In this talk, we will show how the services can be used to build distributed applications that benefit from the OSGi modularity.
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
OSGi Community Event 2018 Presentation by Udo Hafermann (Software AG)
Abstract: In this talk we will share our experiences in developing a tool chain from classes, to bundles, to containers, to systems.
OSGi and Docker come together in a compelling way where the former provides modularity "in the small" and the latter "modularity in the large". We discover how the unique characteristics of OSGi enable a smooth transition from small to large.
The resulting environment enables developers to grow distributed systems on their local machine and test them with plain JUnit at all levels of granularity - classes to systems. During development OSGi enables the tool chain to update the system without container rebuilds.
While an increase in productivity is one benefit of such an environment, an arguably more important benefit is the way it empowers developers to gain new insights.
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
OSGi Community Event 2018 Presentation by Jurgen Albert (Data In Motion Consulting GmbH)
Abstract: OSGi is often conceived as a tool to write efficient Java Applications for resource limited Devices or If resources are a real issue in complex applications. On the other hand Microservices became the buzzword of the cloud and is often implemented using Spring or other Programming languages. OSGi carries the concept of microservices in its core and is therefore much better suited to the task then most other approaches. This talk will show you how a service can be built with a real-worldish use case, leveraging the power of OSGi R7. It will show the combined usage of PushsStreams, the JaxRS Whiteboard, the configurator, remote deployment and a lot of the other cool things OSGi has to offer.
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
OSGi Community Event 2018 Presentation by David Bosschaert (Adobe)
Abstract: OSGi lends itself well to develop extensible applications assembled from reusable modules, where a set of bundles together with a set of configurations deployed to a provisioned OSGi framework is the application.
While this works very well for the originally intended use-cases, maintaining and building large applications developed by multiple teams often requires to assemble multiple larger components for which there is limited support in OSGi as of today. This is especially true in cases where multiple groups of bundles, configuration, metadata, and other artifacts need to be combined.
In this talk we will introduce you to OSGi RFP-188, named OSGi Features, which defines the requirements on providing a solution. We'll establish a shared understanding of the problem space and how it relates to already available mechanisms in OSGi (like e.g. subsystems, deploymentadmin, startlevels, etc.) and will subsequently, review it in the context of some of the current (open source) solutions like Apache Karaf Features and Apache Sling Features and Bnd.
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
OSGi Community Event 2018 Presentation by Amit Kumar Mondal (Deutsche Telekom AG) & Jochen Hiller (Deutsche Telekom AG)
Abstract: QIVICON is an Eclipse SmartHome based solution from Deutsche Telekom AG. It utilises OSGi to provide a modular Java runtime.
Since the beginning, QIVICON leveraged Eclipse PDE with Maven & Eclipse Tycho as its build technology but over the time, the complexity increased. It became hard to get an overview and manage the runtime and build dependencies. Especially maintaining target configurations for IDE and CI/CD build, having different embedded gateways for installation increased complexity significantly.
Bndtools is the 'swiss army knife' in the context of OSGi development since it takes the nitty-gritty pains and loads off the developer's chest. And that's why we decided to avail the benefits of Bndtools.
But, many other OSGi-based projects still cannot avail the benefits as they are very tightly coupled with Eclipse PDE. Want to make a switch from your existing PDE source base to Bndtools? This talk would give you an overview to proceed towards this.
We would like to further demonstrate in this talk how to set up a Bndtools workspace from an existing PDE workspace, convert all current projects to Bnd projects and embrace the OSGi-way of developing bundles.
Since QIVICON containing more than 350 projects utilised this solution to move to a higher modularity maturity level, this talk would, therefore, outline the pros, cons and the learnings using Bndtools in such a big OSGi project for embedded development.
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
OSGi Community Event 2018 Presentation by Ray Augé (Liferay)
Abstract: This talk discusses the upcoming OSGi CDI Integration Specification and demonstrates common usage patterns and its component model that brings OSGi dynamics; like services and configuration, to CDI and provides for an ecosystem of CDI portable extentions.
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
SMA is an energy equipment supplier that was seeking a solution for cross-sector energy management. They evaluated OSGi and decided to develop their own framework based on OSGi. They encountered several problems initially but overcame them by improving API design, avoiding dependencies, and using helper classes. They have now successfully applied OSGi in their products and find that it defines clean module deployment and versioning while supporting dynamic updates.
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
OSGi Community Event 2018 Presentation by Lukasz Dywicki (Code-House)
Abstract: During this short presentation I will revisit existing mechanisms and approach towards OSGi and JEE development. I will show how many manual steps can be avoided and how to maintain project in effective manner. I will try to find a balance between execution environment requirements and programmer happines at same time.
I believe that OSGi and Eclipse ecosystem experience troubles gaining people from outside for few reasons. Beside overall impression of OSGi complexity there is equally old and invalid complain about quaility of developer tooling. Since invention of BND development experience can be really pleasant and independent of text editor/IDE preferences. Sadly lots of people still rely on former experiences spreading black/bad PR. I would like to clarify their point.
After this presentation attendees will learn:
How to use Maven to build OSGi projects (without Tycho).
How to automate manual tasks.
How to build custom software distributions with Maven artifacts and run it with Apache Karaf.
That OSGi development doesn't differ much from regular day-to-day usage of application servers or microservice runtimes.
This talk is intended for people who know basics of OSGi as it will show few basic technics towards better developer productivity.
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
OSGi Community Event 2018 Presentation by Christer Larsson (Makewave)
Abstract: OSGi was originally designed for Smart Homes and Residential Gateways almost 20 years ago.
This talk will present how the OSGi specifications have evolved over the years, and how you today, in 2018, design an OSGi based Smart Home System.
A real world use case of a Swedish Smart Home start-up company will be used to illustrate different design principles and how OSGi remains as relevant today as it was when it started.
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
This document discusses how various software design patterns can be applied within the OSGi runtime environment. It describes patterns like Observer/Listener, OSGi Whiteboard, Dependency Injection, Circuit Breaker, and Domain-Driven Design and how they differ or are adapted when used with OSGi. For example, the OSGi Whiteboard pattern allows services and listeners to be loosely coupled without direct dependencies, and OSGi's declarative services specification provides a way to perform dependency injection and manage component lifecycles. The document argues that applying patterns like having microservices per bounded context can help match the original ideas of microservices while minimizing remote communication when using OSGi.
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
OSGi Community Event 2018 Presentation by BJ Hargrave (IBM)
Abstract: OSGi Compendium R7 provides a major update to the OSGi LogService specification. A new logging API is added which supports logging levels and dynamic logging administration. A new Push Stream-based means of receiving log entries is also added. But it is quite often the case you need to use other code such as open source projects which are using slf4j for their logging API. This session will explore the new OSGi LogService changes and how you can integrate code using both slf4j logging and OSGi LogService logging.
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
OSGi Community Event 2018 Presentation by Tim Verbelen (imec)
Abstract: Nowadays AI is reaching new heights on the hype cycle, especially due to recent advances in deep learning techniques. A lot of deep learning frameworks exist for creating and training deep neural networks, the most popular ones being PyTorch and TensorFlow. However, how to integrate, deploy and manage these neural networks in complex software systems is often overlooked. In this talk we show how OSGi can be used as a modular runtime for deep learning models. We embed those models inside OSGi bundles, and use the extender pattern to make these available as OSGi services. You can then use your favorite OSGi specs such as DS and PushStreams to integrate these into your application.
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
OSGi Community Event 2018 Presentation by Tony Walsh (ESA) & Hristo Indzhov (Telespazio Vega)
Abstract: The European Space Operations Centre (ESOC) is the main operations center for the European Space Agency (ESA), operating a number of earth observation and scientific missions. Monitoring and control functions needed by spacecraft operators are provided by software systems which are reused across missions, but tailored and extended for mission specific needs. The current generation of monitoring and control systems are becoming obsolete and a European wide initiative called the European Ground Systems Common Core (EGS-CC) (http://www.egscc.esa.int) has been started to develop the next generation.
This talk will explain why OSGi was chosen and how it is used in the development of next generation of monitoring and control software. It will describe how OSGi provides the necessary framework that enables the software to be extended for the different space systems it is expected to support. The overall software architecture will be discussed, some of the challenges faced and the benefits gained by using OSGi. The first target mission for the system is JUICE (http://sci.esa.int/juice) which will explore the moons of Jupiter and which is scheduled for launch in 2022.
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
OSGi Community Event 2018 Presentation by Ray Augé (Liferay)
Abstract: The craze is fully on. The past couple of years have seem micro services grow from next _flava_ to fully consuming of the software industry. The Eclipse micorprofile.io project is tackling the issue putting common usage patterns together over a foundation of CDI. What better assembly driver is there than OSGi to put it all together. This talk will demonstrate building your own MicroProfile using OSGi and the OSGi enRoute packaging model.
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
OSGi Community Event 2018 Presentation by Bruce Jackson (Myriad)
Abstract: Node-RED is often used as a protyping tool for IoT systems. However, there are also a large number of OSGi components that have already been built to interface to devices, sensors and systems. In this talk I will show how two completely different runtime environments (OSGi and Node-RED) can be combined into a single platform for prototyping (and more) combining the strengths of both languages and systems.
Being able to quickly and simply prototype IoT application is extremely useful, and to this end many people have adopted Node-Red, a Node.js based runtime with extensive support for plugins to interface to various IoT hardware and protocols. However, this requires these services/protocols to be developed in Javascript, and there is already a significant body of code developed in Java/OSGi that it would be desirable to re-use.
The talk will explain how it is possible to:
Create and manage a Node-Red runtime from within an OSGi bundle
Share OSGi components and object into the Node-Red runtime
Interact and build Node-Red flows that exchange data and call methods between Node.js and OSGi
This is obviously useful for the original purpose: prototyping IoT systems, but also demonstrates some interesting techniques for bridging between different languages and runtimes.
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
OSGi Community Event 2018 Presentation by Dirk Fauth (Bosch)
Abstract: In todays connected world the requirement to connect applications across network boundaries has become a common requirement. With OSGi there are several ways to accomplish this, as there are different specifications to achieve this. In this talk we will look at some of these specifications to show what options there are and which might fit your requirements. Starting from an architecture that makes use of the HTTP Whiteboard pattern, over Remote Services to finally showing the usage of the JAX-RS Whiteboard specification introduced with R7. We will show the general usage of these specifications and explaining the advantages and disadvantages of each solution.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...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 integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...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 automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.