Node.js and server side JavaScript are powerful technologies, although they do not stand on their own in enterprise environments, where Java has been the reigning force for many years. Bridging Node.js and Java provides a much sought after migration path for many Java developers who are moving to their systems to JavaScript. Last year we opened sourced J2V8, a rich set of bindings for Google's V8 JavaScript runtime, this year we built upon that work to bring Node.js to JVM.
In this talk we will introduce Node4J, our NodeJS bindings for the JVM and demonstrate it in action. We will explore the performance characteristics and highlight tools that will help you develop, debug and deploy NodeJS applications running directly on the JVM. We will explain how we integrated NodeJS, with Java through a JNI bridge, and demonstrate how you can use this technology to bridge the gap between JavaScript and Java.
Présentation de "Virtual Desktop Infrastructure" de Computerland.
Pour plus d'infos : #AskComputerland. Nos experts répondent à vos questions. http://bit.ly/1fonxAz
Microsoft System Center is a set of server management products which are aimed at helping corporate or enterprise IT administrators to manage their systems, whether on-premises, in the cloud, or across platforms.
Présentation de "Virtual Desktop Infrastructure" de Computerland.
Pour plus d'infos : #AskComputerland. Nos experts répondent à vos questions. http://bit.ly/1fonxAz
Microsoft System Center is a set of server management products which are aimed at helping corporate or enterprise IT administrators to manage their systems, whether on-premises, in the cloud, or across platforms.
OpenShift Virtualization - VM and OS Image LifecycleMihai Criveti
Building and packaging OS Images with KVM, qemu-img and podman and deploying them onto Kubernetes and KubeVirt with OpenShift Virtualization
Build and create images using Hashicorp Packer and Kickstart - create layered images for multiple cloud providers.
Multiple Sites and Disaster Recovery with Ceph: Andrew Hatfield, Red HatOpenStack
Multiple Sites and Disaster Recovery with Ceph
Audience: Intermediate
Topic: Storage
Abstract: Ceph is the leading storage solution for OpenStack. As OpenStack deployments become more mission critical and widely deployed, multiple site requirements are increasing as is the need to ensure disaster recovery and business continuity. Learn about the new capabilities in Ceph that assist customers with meeting these requirements for block and object uses.
Speaker Bio: Andrew Hatfield, Red Hat
Andrew has over 20 years experience in the IT industry across APAC, specialising in Databases, Directory Systems, Groupware, Virtualisation and Storage for Enterprise and Government organisations. When not helping customers slash costs and increase agility by moving to the software-defined storage future, he’s enjoying the subtle tones of Islay Whisky and shredding pow pow on the world’s best snowboard resorts.
OpenStack Australia Day Government - Canberra 2016
https://events.aptira.com/openstack-australia-day-canberra-2016/
With Shader Graph in Unity 2018, creating powerful and beautiful shaders has never been easier. But with great power, comes great responsibility. This intermediate-level session will explore best practices for rendering performance and shader creation workflow. We'll cover what happens under the hood, share tips to avoid common pitfalls, and highlight what to look for as Shader Graph readies for prime-time release in the near future.
Charles Sanglimsuwan - Unity Technologies
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS SummitAmazon Web Services
VMware Cloud on AWS helps customers leverage existing infrastructure investments while providing the scalability, agility, and security of AWS. In this session, learn about the technical details of VMware Cloud on AWS as well as design considerations for integrating your VMware Cloud on AWS software-defined data centers (SDDCs) with native AWS services or your on-premises data centers, or both. We also cover the connectivity options available and dive deep on the networking architecture.
This presentation was a live webinar presented by Canonical describing the enterprise capabilities of Kubernetes on Ubuntu and discussing several commercial support and consulting packages.
Addressables for live content management – Unite Copenhagen 2019Unity Technologies
Learn best practices on how to leverage the Addressable Asset System to simplify your content management at both edit and runtime. We will explore how Addressables can enable your success through you game's initial and updated releases.
Speaker: Bill Ramsour – Unity
Watch the session on YouTube: https://youtu.be/THs7h-wXHBg
Kubernetes advanced sheduling
- Taint and tolerant
- Affinity (Node & inter pod)
Learn how to place Pod like (same or different) node, rack, zone, region
More and more businesses are requiring developers to own end to end delivery, including operational ownership. Weaveworks will share with you what GitOps means, and how easy it is to create cloud native applications, CICD pipelines, integrate operations and more, using GitOps.
Inherited from best practices going back 10-15 years, cloud native is making these practices more relevant today. At Weaveworks, they implement these principles in their product, Weave Cloud. This not only helps customers ship apps faster, it also helps them run their own cloud native stack. This presentation will show how Weaveworks does this, identify best practices and tools, and showcase some of Weaveworks’ use cases.
For the video of this presentation at Cloud Native London visit: https://skillsmatter.com/skillscasts/10506-keynote-by-alexis-richardson
To learn more about Weaveworks: www.weave.works
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and CephSean Cohen
IT organizations require a disaster recovery strategy addressing outages with loss of storage, or extended loss of availability at the primary site. Applications need to rapidly migrate to the secondary site and transition with little or no impact to their availability.This talk will cover the various architectural options and levels of maturity in OpenStack services for building multi-site configurations using the Mitaka release. We’ll present the latest capabilities for Volume, Image and Object Storage with Ceph as the backend storage solution, and look at the future developments the OpenStack and Ceph communities are driving to improve and simplify the relevant use cases.
Slides from OpenStack Austin Summit 2016 session: http://alturl.com/hpesz
OpenShift Virtualization - VM and OS Image LifecycleMihai Criveti
Building and packaging OS Images with KVM, qemu-img and podman and deploying them onto Kubernetes and KubeVirt with OpenShift Virtualization
Build and create images using Hashicorp Packer and Kickstart - create layered images for multiple cloud providers.
Multiple Sites and Disaster Recovery with Ceph: Andrew Hatfield, Red HatOpenStack
Multiple Sites and Disaster Recovery with Ceph
Audience: Intermediate
Topic: Storage
Abstract: Ceph is the leading storage solution for OpenStack. As OpenStack deployments become more mission critical and widely deployed, multiple site requirements are increasing as is the need to ensure disaster recovery and business continuity. Learn about the new capabilities in Ceph that assist customers with meeting these requirements for block and object uses.
Speaker Bio: Andrew Hatfield, Red Hat
Andrew has over 20 years experience in the IT industry across APAC, specialising in Databases, Directory Systems, Groupware, Virtualisation and Storage for Enterprise and Government organisations. When not helping customers slash costs and increase agility by moving to the software-defined storage future, he’s enjoying the subtle tones of Islay Whisky and shredding pow pow on the world’s best snowboard resorts.
OpenStack Australia Day Government - Canberra 2016
https://events.aptira.com/openstack-australia-day-canberra-2016/
With Shader Graph in Unity 2018, creating powerful and beautiful shaders has never been easier. But with great power, comes great responsibility. This intermediate-level session will explore best practices for rendering performance and shader creation workflow. We'll cover what happens under the hood, share tips to avoid common pitfalls, and highlight what to look for as Shader Graph readies for prime-time release in the near future.
Charles Sanglimsuwan - Unity Technologies
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS SummitAmazon Web Services
VMware Cloud on AWS helps customers leverage existing infrastructure investments while providing the scalability, agility, and security of AWS. In this session, learn about the technical details of VMware Cloud on AWS as well as design considerations for integrating your VMware Cloud on AWS software-defined data centers (SDDCs) with native AWS services or your on-premises data centers, or both. We also cover the connectivity options available and dive deep on the networking architecture.
This presentation was a live webinar presented by Canonical describing the enterprise capabilities of Kubernetes on Ubuntu and discussing several commercial support and consulting packages.
Addressables for live content management – Unite Copenhagen 2019Unity Technologies
Learn best practices on how to leverage the Addressable Asset System to simplify your content management at both edit and runtime. We will explore how Addressables can enable your success through you game's initial and updated releases.
Speaker: Bill Ramsour – Unity
Watch the session on YouTube: https://youtu.be/THs7h-wXHBg
Kubernetes advanced sheduling
- Taint and tolerant
- Affinity (Node & inter pod)
Learn how to place Pod like (same or different) node, rack, zone, region
More and more businesses are requiring developers to own end to end delivery, including operational ownership. Weaveworks will share with you what GitOps means, and how easy it is to create cloud native applications, CICD pipelines, integrate operations and more, using GitOps.
Inherited from best practices going back 10-15 years, cloud native is making these practices more relevant today. At Weaveworks, they implement these principles in their product, Weave Cloud. This not only helps customers ship apps faster, it also helps them run their own cloud native stack. This presentation will show how Weaveworks does this, identify best practices and tools, and showcase some of Weaveworks’ use cases.
For the video of this presentation at Cloud Native London visit: https://skillsmatter.com/skillscasts/10506-keynote-by-alexis-richardson
To learn more about Weaveworks: www.weave.works
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and CephSean Cohen
IT organizations require a disaster recovery strategy addressing outages with loss of storage, or extended loss of availability at the primary site. Applications need to rapidly migrate to the secondary site and transition with little or no impact to their availability.This talk will cover the various architectural options and levels of maturity in OpenStack services for building multi-site configurations using the Mitaka release. We’ll present the latest capabilities for Volume, Image and Object Storage with Ceph as the backend storage solution, and look at the future developments the OpenStack and Ceph communities are driving to improve and simplify the relevant use cases.
Slides from OpenStack Austin Summit 2016 session: http://alturl.com/hpesz
Developing realtime apps with Drupal and NodeJS drupalcampest
Based on Google's V8 JavaScript engine, NodeJS is a fairly new platform for creating scalable and real-time web applications. I will introduce you to NodeJS internals and ecosystem as well as exaplain why and how you can use Node in your Drupal based projects.
Learn JAVA tutorial -This Java tutorial is specially prepared for the Beginners who wants to learn Java programming language from the basics. This tutorial is prepared by Easy Web Solutions by PSK Technologies located in Nagpur that provides best training in Java,PHP,Web Development Hardware and Networking and also provide Internship on all mentioned courses
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.Otávio Santana
Java has a large number of tools and frameworks to facilitate integration with databases, microservices, and so on. These tools have evolved considerably. It all started with class integrated with XML files and has undergone significant evolution with reflections and annotations within the class definitions. In the cloud-native scenario, requirements have changed and this impacts applications in ways that weren't critical before. For example, cold starts and boot time wasn't critical with application servers but is crucial in serverless and microservices. The objective of this presentation is to talk about how these frameworks behave in the native cloud age and they affect Jakarta EE.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
2. Java and JavaScript
❖ Java a successful server side language
❖ JavaScript is a client side language
❖ SWT brought performant Java UIs to the desktop
❖ Node.js brought JavaScript to the server
❖ Java and JavaScript are two of the most popular
programming languages
3. Polyglot Systems
❖ Single language systems are rarely an option
❖ Legacy code
❖ New frameworks and technologies
❖ Evolving enterprises
❖ JEE will be here for another 20, 30, 50 (?) years
4. Bridging Java and JavaScript
❖ Three common Java technologies enable JS embedding
❖ Rhino
❖ Available since JDK 6
❖ Nashorn
❖ Replacing Rhino since JDK 8
❖ More performant
❖ V8 as a separate process, String based messages
5. Performance
❖ 30 Runs of the Esprima parser and tokenizer
❖ Nashorn compiles to bytecode
❖ V8 compiles to native assembly
❖ Best choice for raw JavaScript execution
6.
7. J2V8
❖ A set of bindings that bring V8 to Java
❖ Inspired by SWT
❖ Create a thin JNI layer
❖ Expose (some) V8 API in Java
❖ Complicated logic lives in Java
8. J2V8 Goals
❖ Efficient JavaScript on Android
❖ Make JavaScript shine in an enterprise Java World
❖ Standard Java APIs
❖ Efficient Java / JavaScript bindings
9. J2V8 — History
❖ 1.0 Released in November 2014
❖ 2.0 Released in February 2015
❖ First presented at EclipseCon 2015
❖ 3.0 Released at EnterJS — Summer 2015
10. J2V8 Design
❖ Each V8 Object can be referenced using a Handle
❖ Each Object is stored in a V8 Persistent Object Store
❖ Objects must be explicitly freed
❖ Primitives where possible (no wrappers)
❖ Single Thread per isolate
11. Two-way binding
❖ JS functions and scripts can be invoked from Java
❖ Java methods can be called from JavaScript
❖ Data can be passed back and forth using V8Objects
12. J2V8 In Action — Tabris.js
❖ Mobile framework
❖ Apps written in JavaScript
❖ Native iOS and Android Apps
❖ Bindings to native UI components
14. Example
public String someJavaMethod(final String firstName, final String lastName) {
return firstName + ", " + lastName;
}
public void start() {
V8 v8 = V8.createV8Runtime();
v8.registerJavaMethod(this,
"someJavaMethod",
"someJavaMethod",
new Class[] { String.class, String.class });
v8.executeScript("var result = someJavaMethod('Ian', ‘Bull');");
String result = v8.getString("result");
System.out.println(result);
}
15. J2V8 —What’s New
❖ Typed Arrays
❖ Threads & Workers
❖ ES 6
❖ ChromeDev Tools
❖ NodeJS Support
16. Typed Arrays
V8Array result = (V8Array) v8.executeScript(""
+ "var buf = new ArrayBuffer(100);"
+ "var ints = new Int32Array(buf); "
+ "for(var i = 0; i < 25; i++) {"
+ " ints[i] = i;"
+ "}; "
+ “ints");
int[] ints = result.getIntegers(0, 25);
❖ Native support for JS Typed Arrays
❖ Access the values efficiently from Java
17. Threads
❖ Every thread can have it’s own Isolate (Isolated V8
Instance)
❖ V8Thread is a Java Thread with an associated Isolate
❖ Provide an easy way to execute JavaScript
Thread t = new V8Thread(new V8Runnable() {
public void run(V8 v8) {
int result = v8.executeIntegerScript("1+2");
}
});
t.start();
18. Executors
❖ Long running V8Thread with a message queue and
event loop
❖ Threads can communicate via message passing
❖ Useful for implementing Web Workers / Service
Workers
19. ES 6
❖ Snapshot builds of J2V8 support V8 4.10 & ES 6
❖ Arrows
❖ Classes
❖ Let / Const
❖ Interators + For..Of
❖ Generators
❖ …
20. Debug Support
❖ V8 (and now J2V8) no longer supports the Debug Agent
❖ JavaScript based Debug API is available instead
❖ J2V8 exposes this API in Java
❖ Integrated with the Stetho tool & Chrome Dev Tools
22. Node.js
❖ JavaScript Virtual Machine (V8)
❖ Modules
❖ Native
❖ JavaScript
❖ Event Loop
Node.js® is a JavaScript runtime built on Chrome's V8
JavaScript engine. Node.js uses an event-driven,
non-blocking I/O model that makes it
lightweight and efficient.
23. Bridging to Node.js
❖ Out of process Node & REST Services
❖ Vert.x
❖ Node engine on Nashorn / Rhino?
24. Node4J
❖ Dynamically link Node.js to the JVM
❖ Access Node.js context via JNI
❖ Execute Node.js modules (require)
❖ Callbacks to Java
❖ Process Node.js message queue
26. Performance Considerations
❖ Minimize callbacks from JavaScript to Java
❖ ~4000 Per Second on my MBP
❖ Use bulk array copy to move primitives from JS to Java
❖ 60fps in our animation demo
27. Resources
❖ Getting started with J2V8
❖ Registering Java Callbacks with J2V8
❖ Implementing WebWorkers with J2V8
❖ Multithreaded JavaScript with J2V8
❖ Using J2V8 with Heroku
❖ All linked from our GitHub Page
28. Future Work
❖ Advanced exception handling between Java and JS
❖ Improved debug support
❖ Typed array access in Java
❖ You tell me?
29. Using J2V8
❖ J2V8 is available in Maven Central
❖ Currently 5 variants are available:
com.eclipsesource.j2v8.j2v8_win32_x86:3.1.6
com.eclipsesource.j2v8.j2v8_macosx_x86_64:3.1.6
com.eclipsesource.j2v8.j2v8:3.1.6 (aar)
com.eclipsesource.j2v8.j2v8_android_armv7l:3.1.6
com.eclipsesource.j2v8.j2v8_android_x86:3.1.6
❖ j2v8:3.1.6 (aar) contains both x86 and armv7l
31. Thank-you
❖ Open Source Java bindings for V8
❖ Node4J extensions bring Node.js to Java
❖ Licensed under the EPL
❖ For J2V8 news, follow me on Twitter @irbull
https://github.com/eclipsesource/j2v8