DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • Auditing Spring Boot Using JPA, Hibernate, and Spring Data JPA
  • How To Validate Archives and Identify Invalid Documents in Java
  • Unraveling Lombok's Code Design Pitfalls: Exploring Encapsulation Issues
  • Difference Between High-Level and Low-Level Programming Languages

Trending

  • Difference Between High-Level and Low-Level Programming Languages
  • A Better Web3 Experience: Account Abstraction From Flow (Part 1)
  • Exploring the Evolution and Impact of Computer Networks
  • Architecting a Completely Private VPC Network and Automating the Deployment
  1. DZone
  2. Coding
  3. Java
  4. The Gist of Mark Reinhold's 'State of Java 9's Modules'

The Gist of Mark Reinhold's 'State of Java 9's Modules'

Mark Reinhold posted a comprehensive article this week outlining how Project Jigsaw modularity is going to work in Java 9. This video covers the same ground and might help you understand it better.

Mitch Pronschinske user avatar by
Mitch Pronschinske
·
Sep. 10, 15 · News
Like (5)
Save
Tweet
Share
29.08K Views

Join the DZone community and get the full member experience.

Join For Free

Just hours before Mark Reinhold's latest major blog post on the state of the Java 9 module system, Paul Bakker, a writer and speaker who has researched OSGi and cloud applications for several years, took the stage at JavaZone to give a talk on the exact same topic as Reinhold.

Besides a few minor details, everything he talks about in this presentation is still accurate. Here was key the theme he explained to me about Java 9 modularity:

The most important thing that Java 9 will do is force developers to think about modularity. This is great, because modularity is the concept we're aiming for. The fact that we currently use OSGi is just a tool to achieve that goal. At the same time it's a little scary that we have the first public prototype only three months before the scheduled code freeze of Java 9, while this is such a huge change.

--Paul Bakker

UPDATE 9/17/15, Additional Quote:

The most disruptive thing here is probably that it’s the first thing that certain (unsupported APIs) are no longer reachable without explicit exports and break backwards compatibility. The first versions of 9 will have backwards compatibility flags, though.

--Marcus Lagergren

So if you'd prefer to have a visual presentation including most of the ideas discussed in Reinhold's recent article, check out the video:

Session Description from Vimeo:

With modularity coming to the core Java platform in Java 9, are all our modularity needs fulfilled, or does it still make sense to use something like OSGi? In this talk you will learn how Jigsaw helps modularity, and in what cases it might fall short.
Java 9 will provide a module-system, called Jigsaw. Besides modularising the JDK itself, Java developers can build more modular applications with Jigsaw. Modularity and Java go back way longer, though. OSGi, the de facto standard for modularity in Java has been around since 2000. Adoption is increasing in recent years.

A modular architecture has many advantages, such as increased decoupling resulting in more flexibility. In that sense, native support for Java modularity is very welcome. The big question now is: does Java 9 provide everything you need to build truly modular applications? Since Java 9 needs to maintain backwards compatibility, some compromises need to be made while enforcing module boundaries.

This talk discusses what you really need to build modular applications. We'll investigate which requirements are met (or not) by both module systems. You'll see that both Jigsaw and OSGi provided pieces of the modularity puzzle. Also, you'll learn whether having an additional modular runtime such as OSGi on top of Java 9 still makes sense.

Paul Bakker
Paul is a software architect for Luminis Technologies and the author of "Building Modular Cloud Apps With OSGi" published by O'Reilly. He believes that modularity and the cloud are two of the main challenges we have to deal with to bring technology to the next level, and is working on making this possible for mainstream software development. Paul is an active contributor on open source projects such as Amdatu, Apache ACE and BndTools. He has a background as a trainer on Java related technology and is a regular speaker on conferences.

Sander Mak
Sander crafts scalable software at Luminis Technologies. With almost a decade of experience on the JVM platform, he specializes in modular Java and JavaScript development. Additionally, data analysis and machine learning are part of his ever growing list of interests. Sander loves sharing knowledge, for example through his blog at branchandbound.net and by writing for the Dutch Java Magazine. He speaks regularly at international developer conferences, sharing his passion for Java, alternative JVM languages and related technologies.

Java (programming language) Mark (designation) Gist (computing)

Opinions expressed by DZone contributors are their own.

Related

  • Auditing Spring Boot Using JPA, Hibernate, and Spring Data JPA
  • How To Validate Archives and Identify Invalid Documents in Java
  • Unraveling Lombok's Code Design Pitfalls: Exploring Encapsulation Issues
  • Difference Between High-Level and Low-Level Programming Languages

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: