As we celebrate 15 year anniversary of the JCP, a retrospective look at the past 15 years and a look into the future and plans being made together with the Java developer community.
Introduction to JDK-9 Modules and JLink Plugins
Modules
Module Dependencies
Jlink and Packaging
Jlink Plugins
Example Plugins
System Module Descriptor Plugin
Compress Plugin
Release-Info Plugin
As we celebrate 15 year anniversary of the JCP, a retrospective look at the past 15 years and a look into the future and plans being made together with the Java developer community.
Introduction to JDK-9 Modules and JLink Plugins
Modules
Module Dependencies
Jlink and Packaging
Jlink Plugins
Example Plugins
System Module Descriptor Plugin
Compress Plugin
Release-Info Plugin
Join the Java Evolution GIDS Bangalore & PuneHeather VanCura
The Java Community Process (JCP) is key to the evolution of Java technology. This session emphasizes the value of transparency and participation in the JCP program, through both Java User Groups (JUGs), and through the Adopt-a-JSR program, the grass roots, community led and developed program to empower Java developers around the world to make a contribution to Java technology. Find out how to become an active participant in advancing the Java platform - JSRs for Java Enterprise Edition (Java EE) 8 and Java Standard Edition (Java SE) 9 are being developed now. This session discusses the transparency that enables participation in the JCP program and how to get involved through the Adopt-a-JSR program. You will also hear about some upcoming changes to the Java Specification Request (JSR) process itself through the JCP.next effort, and learn how you can get involved. Come with your questions/suggestions, and leave with the motivation and information you need in order to become an active participant in advancing the Java platform now and in the future.
Java Webinar #12: "Java Versions and Features: Since JDK 8 to 16"GlobalLogic Ukraine
This webinar by Oleksandr Bodnar (Lead Software Engineer, GlobalLogic) was delivered at Java Community Webinar #12 on July 14, 2021.
Webinar abstracts:
- Java History: OpenJDK and Oracle JDK
- Java EE (Jakarta EE) vs SE vs ME
- JEP Java SE 8-16
- Future editions of Java
More details and presentation: https://www.globallogic.com/ua/about/events/java-community-webinar-12/
Learn how to take part in Java technology evolution through the Java Community Process (JCP) program. You can participate as an individual, corporation, or nonprofit such as a Java user group (JUG). This session outlines why and how to participate in the JCP Program. You will also learn about the global Adoption programs and how you can participate in the programs. We will discuss details such as how to run hack days, collaborate with other JUG leads on Adopt-a-JSR activities, and review use cases from other JUGs around the world contributing to the Java EE 7 and Java SE 8 JSRs. Currently there are new JSRs being submitted and developed for the Java EE 8 and Java SE 9 platforms. Find out how you have contribute to the future editions of the Java Standard and Java Enterprise Editions.
Join the Java Evolution GIDS Bangalore & PuneHeather VanCura
The Java Community Process (JCP) is key to the evolution of Java technology. This session emphasizes the value of transparency and participation in the JCP program, through both Java User Groups (JUGs), and through the Adopt-a-JSR program, the grass roots, community led and developed program to empower Java developers around the world to make a contribution to Java technology. Find out how to become an active participant in advancing the Java platform - JSRs for Java Enterprise Edition (Java EE) 8 and Java Standard Edition (Java SE) 9 are being developed now. This session discusses the transparency that enables participation in the JCP program and how to get involved through the Adopt-a-JSR program. You will also hear about some upcoming changes to the Java Specification Request (JSR) process itself through the JCP.next effort, and learn how you can get involved. Come with your questions/suggestions, and leave with the motivation and information you need in order to become an active participant in advancing the Java platform now and in the future.
Java Webinar #12: "Java Versions and Features: Since JDK 8 to 16"GlobalLogic Ukraine
This webinar by Oleksandr Bodnar (Lead Software Engineer, GlobalLogic) was delivered at Java Community Webinar #12 on July 14, 2021.
Webinar abstracts:
- Java History: OpenJDK and Oracle JDK
- Java EE (Jakarta EE) vs SE vs ME
- JEP Java SE 8-16
- Future editions of Java
More details and presentation: https://www.globallogic.com/ua/about/events/java-community-webinar-12/
Learn how to take part in Java technology evolution through the Java Community Process (JCP) program. You can participate as an individual, corporation, or nonprofit such as a Java user group (JUG). This session outlines why and how to participate in the JCP Program. You will also learn about the global Adoption programs and how you can participate in the programs. We will discuss details such as how to run hack days, collaborate with other JUG leads on Adopt-a-JSR activities, and review use cases from other JUGs around the world contributing to the Java EE 7 and Java SE 8 JSRs. Currently there are new JSRs being submitted and developed for the Java EE 8 and Java SE 9 platforms. Find out how you have contribute to the future editions of the Java Standard and Java Enterprise Editions.
This session will explore how Java development has been brought into the open over the past decade and where it is headed in the future. Several Java developer efforts have brought open source development processes and new levels of transparency and participation into their communities. This year theJava Community Process (JCP) program celebrates twenty years of Java standards development. Since the initiation of efforts to expand the developer participation in the Java community, Java standards development is more open that it ever has been. Learn how to take part in the Java developer community, upcoming changes to the Java platform, and how you can contribute. You can participate as an individual, corporation, or nonprofit such as a Java user group (JUG). This session answers your questions about why and how to participate in the evolution of the Java platform - how you can participate in contributing to the future of Java.
Learn how to take part in the Java developer community and the upcoming changes to Java - you can participate as an individual, corporation, or nonprofit such as a Java user group (JUG). This session answers questions about why and how to participate in the evolution of the Java platform.
Talk on Java Community Process updates and progress towards more openness and transparency. Also includes information on Platform updates and how to participate in activities. This talk is from various events in EMEA in the Fall of 2018.
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...Heather VanCura
JavaOne Tutorial covering techniques for teaching kids to code. Includes tips on Scatch, Lego Mindstorms, Raspberry Pi, Robotics. Also includes suggestions for organizing events, and how to incorporate art, role model, and mentoring into coding events.
Learn how to take part in Java technology evolution through the Java Community Process (JCP) program. You can participate as an individual, corporation, or nonprofit such as a Java user group (JUG).
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.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
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
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
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.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
6. Heather VanCura
Java Community Process (JCP) Program
•Director of the JCP Program Office
•Leader of Global Adopt-a-JSR Programs
•Open Source Fan
•Native Californian - from San Diego
•Personal Interests: Fun
Bay Area, California - USA
7. History
•1995: Sun Microsystems develops Java.
•1999: Sun opens up the development process,
creating the Java Community Process.
•2006: Sun open-sources Java.
•2007: Sun goes into financial decline.
•2010: Oracle acquires Sun and becomes the
steward of Java.
7
10. •.
1
Who Are The Members?
https://jcp.org/en/participation/membership
• Corporations
• Non-Profits/Open
Source
• Java User Groups
• Individual
Developers
11. The Executive Committee
1
• Corporations
• Non-Profits/Open
Source
• Java User Groups
• Individual
Developers
12. Compatibility Triangle
Can you build an
implementation?
Is the specification
unambiguous?
Is the TCK correct?
Does the RI conform?
1
13. The JSR Development Cycle
•Includes formal public reviews and votes by the Executive Committee.
•Full Members can submit & lead JSRs, serve on JSR Expert Groups.
•See the Process Document for the details.
1
15. Open Source Implementations
•The Reference Implementations of the Java SE and Java EE platforms are
also developed collaboratively and released under open-source licenses.
–Java SE: OpenJDK
–Java EE: Project GlassFish
1
16. Click icon to add picture
Why Participate?
1. Knowledge
2. Skills
3. Visibility
4. Altruism
5. Fun
1
17. Click icon to add picture
Joining the JCP empowers you to:
• Take Initiative – Requirements
• Adapt and Inform
• Develop New Markets
• Grow Developers
1
Why Participate as Corporation?
18. Click icon to add picture
How
•New revisions of each of
the three platforms.
• “JCP.Next” reforms .
•Increased participation
from Java User Groups.
2011 - Present Day
1
28. How will you Participate?
•As an Individual – OK.
•As part of a team – better.
•Work through your JUG or
employer.
–Help each other
–Teach other.
–Work with each other.
29. Adopt-a-JSR
●A JUG-lead initiative to improve
Java standards.
●Global groups of JUG members
work on JSRs.
–Receive attention from local industry.
–Become more professional – helps
focus your group efforts.
–Attract more developers to your
community
31. London Java Community
JSR 310, Date and Time
API
JSR 335, Lambda
Expressions
Myriad hack days, talks
and events organized!
Use Cases
3
32. SouJava (Brazil)
JSR 310, Date and Time API
JSR 339, JAX-RS 2.0
344, JSF 2.2
Many talks, books, articles,
classes, code dojos (hack
days), translations
Use Cases
3
33. 3
ADOPTAJSR.ORG wiki – Get Started & join list
You expanded wiki into eight languages: Arabic, Chinese, English, French, German,
Portuguese, Spanish, Turkish...you choose who will translate next language!
34. 3
1) Pick JSR - New JSRs
https://jcp.org/en/jsr/stage?listBy=active
Recently submitted:
Security (JSR 375)
Java EE Management (JSR 373)
JSON-P 1.1 (JSR 374)
Units of Measurement (JSR 363)
Java Module System (JSR 376)
Desktop Application API (JSR 377)
Java EE 8 (JSR 366)
CDI 2 (JSR 365)
JSON-B (JSR 367)
JMS 2.1 (JSR 368)
Servlet 4 (JSR 369)
JAX-RS 2.1 (JSR 370)
MVC (JSR 371)
JSF 2.3 (JSR 372)
40. 5) How to Write a Bug - SSCCE
● Short, Self Contained, Correct (Compilable), Example
● Short (Small) - Minimise bandwidth for the example, do
not bore the audience.
● Self Contained - Ensure everything is included, ready to
go.
● Correct - Copy, paste, (compile,) see is the aim.
● Example - Displays the problem we are trying to solve.
4
42. ●Participate in Adopt OpenJDK
4
• Go to http://java.net/projects/adoptopenjdk/
• Also Adoption Group & Quality Outreach
• Join mail list prior to sending feedback:
http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss
• https://wiki.openjdk.java.net/display/quality/Quality+Outreach
43. ●JDK 9
● 72 JEPs targeted for JDK 9
– JEP == Java Enhancement Proposal
● Big one – JEP 261– Module System
– http://openjdk.java.net/jeps/261
– Related JEPs for the Module System
● JEP 200 – The Modular JDK
● JEP 201 – Modular Source Code
● JEP 220 – Modular Run-Time Images
● JEP 260 – Encapsulate Most Internal APIs
● JEP 162 – Prepare for Modularization
Another big step forward
44. ●JDK 9
● Jigsaw available in current JDK 9 EA (early access)
– https://jdk9.java.net/download/
● Build 111 or later has Jigsaw in it
● Current available downloadable build is Build 120
Another big step forward
45. ●Other JEPs
• JEP 102: Process API Updates
– Java APIs for controlling and managing operating-system processes
• get the process id of the JVM
• get process information such as process id, name and state
• deal with process trees, a means to destroy a process tree
• Most enhancements added to Process and ProcessHandle classes
• JEP 158: Unified JVM Logging
– Common logging for all of the JVM
– Log messages categorized using tags
• JEP 271: Unified GC Logging
– GC logging using Unified JVM Logging
– If you have customized programs today that parse GC output, these will likely be impacted.
• JEP 197: Segmented Code Cache
– Improved organization and maintenance of JIT compiled code (performance improvement)
• Better instruction cache and instruction TLB behavior
… of significant interest
46. ●Other JEPs
● JEP 232: Improve Secure Application Performance
– Improved security manager performance
● JEP 237: Linux/AArch64 Port
– JDK / JRE for ARM, Linux
● JEP 254: Compact Strings
– Transparently optimize single byte char usage
● CJUG presentation in February
● JEP 280: Indify String Concatenation
– Optimize String concatenation
… of significant interest
47. ●HotSpot VM Improvements
● Many performance improvements from the JEPs
– JEP 254: Compact Strings
– JEP 280: Indify String Concatenation
– JEP 197: Segmented Code Cache
– JEP 232: Improve Secure Application Performance
● JIT compiler supporting enhanced instructions
– i.e. Intel AVX
● G1 GC
– Continues to be GC area of enhancement investment
Performance, performance, performance
49. ●Test Java 9 – changes that may affect your code
● JDK 9 changes that may affect your code -
Added
– OCSP Stapling for TLS
– Multi-Release JAR Files
– Parser API for Nashorn
– Prepare JavaFX UI Controls & CSS APIs for Modularization
– Validate JVM Command-Line Flag Arguments
– XML Catalogs
– Platform-Specific Desktop Features
– llback.DialogCallbackHandler
4
50. ●Test Java 9 – changes that may affect your code
● Changed
– Arrays.asList(x).toArray() returns Object[]
– Create PKCS12 Keystores by Default
– HarfBuzz Font-Layout Engine
– Make G1 the Default Garbage Collector
– Marlin Graphics Renderer
– Modular Run-Time Images
– New Version-String Scheme
– Unified JVM Logging
– Use CLDR Locale Data by Default
– UTF-8 Property Files
5
51. ●Test Java 9 – changes that may affect your code
● Removed
– Remove GC Combinations Deprecated in JDK 8
– Remove Launch-Time JRE Version Selection
– Remove the JVM TI hprof Agent
– Remove the jhat Tool
– Removed API references to java.awt.peer and
java.awt.dnd.peer packages
– Removed Packer/Unpacker addPropertyChangeListener and
removePropertyChangeListener methods
– Removed LogManager addPropertyChangeListener and
removePropertyChangeListener methods
– Removed com.sun.security.auth.ca
5
53. We need you!
•Follow the JCP online: http://JCP.org
–Join the JCP: https://jcp.org/en/participation/membership
–Twitter @jcp_org #JCP
–blogs.oracle.com/jcp
–Facebook: Java Community Process
•Adopt-a-JSR online: adoptajsr.org. #adoptajsr
–members@adoptajsr.java.net - the global mailing list
–IRC: #adoptajsr channel on irc.freenode.net
–GitHub: https://github.com/Adopt-a-JSR
5