JJUG CCC 2021 Fall トーク一覧

採択 他イベントOK Intermediate Cloud Standard 2021/11/21 11:00〜 Track B (#jjug_ccc_b) Sponsor Session (Video:40min + Live:10min)

Azure Spring Cloud の現状と最新 Azure Container Apps のご紹介

yoshioterada てらだよしお yoshioterada

2019 年秋の JJUG CCC で初めて Azure Spring Cloud を紹介しました。
そして2年が経過し、Azure Spring Cloud は、日本でも本番環境で利用できるようになり
世界でも本番環境で活用される事例が出てまいりました。
また、今年の SpringOne のイベントでは Enterprise Tier というエンタープライズ向けの機能提供も発表し、現在プレビュー版として特定の顧客向けにサービスを評価していただいています。
また、Microsoft は 2021/11/2 Microsoft Ignite で新しいサーバレス基盤である Azure Container Apps というサービスを発表しました。
いずれのサービスも Java のマイクロサービスを提供する基盤として利用できますが、どのような
違いがあるのか、またどのような時に使う事ができるのかをデモを交えて紹介します。

3
採択 他イベントOK Intermediate Java SE Standard 2021/11/21 17:00〜 Track A (#jjug_ccc_a) Video:40min + Live:10min

Getting the Most from Modern Java

speakjava Simon Ritter speakjava

プレゼンタイプ / Presentation Type [Standard]:
レベル / Level [Intermediate]:
カテゴリー / Categories [Java SE]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:

With the release of JDK 17, we have had nine (yes nine!) versions of Java in four years.

Java developers are now being provided with more new features at a faster pace than at any time in its over quarter-century history.

Many of these new features provide exciting new language level changes, as well as useful new APIs.

In this session, we’ll explore in detail what these changes are and how best to use them (as well as advice on when not to use them). We’ll also explain the significance of preview features and incubator modules.

We’ll cover the following new language features:

• Switch expressions (JDK 12)
• Text blocks (JDK 13)
• Records (JDK 14)
• Pattern matching for instanceof (JDK 14)
• Sealed classes and changes to Records (JDK 15)
• Pattern matching for switch (JDK 17)

For each recent JDK, we’ll also highlight the most useful additions to the core class libraries such as the Vector, Foreign-Memory Access and Foreign Function APIs.
Abstract:

3
他イベントOK Intermediate JVM Standard Video:40min + Live:10min

AOT or JIT: Faster Startup or Faster Code?

speakjava Simon Ritter speakjava

プレゼンタイプ / Presentation Type [Standard]:
レベル / Level [Intermediate]:
カテゴリー / Categories [JVM]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:

Abstract:
Microservices have become a prevalent architectural approach to developing applications. Moving from a monolithic application to multiple container-based services has many advantages. One of the largest is dynamic scalability; spinning up and shutting down instances of services to adapt to dynamic loads is very cost-effective in a public cloud environment.

For JVM-based applications, running in a managed environment using JIT compilation, this provides additional challenges. Primarily, this is around the time required for a service to warm up and reach the optimum level of performance. To address this, we have seen various approaches such as the Graal VM and Quarkus that use an AOT approach rather than JIT compilation.

In this session, we will explore the pros and cons of both approaches to help in understanding the tradeoff between initial performance and overall
performance. At the end of the session, you will have a clear idea of how to approach your Java microservice design from the AOT and JIT perspective.

採択 他イベントOK Intermediate Others Standard 2021/11/21 15:00〜 Track B (#jjug_ccc_b) Video:40min + Live:10min

Kafka Cluster Design Patterns 2021 Fall

tansan_engineer 須田 桂伍 tansan_engineer

プレゼンタイプ / Presentation Type [Standard]:
レベル / Level [Intermediate]:
カテゴリー / Categories [Others]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:

Abstract:
Apache Kafkaはメッセージングだけでなくストリーム処理の基盤としても有力な選択肢のひとつとなりました。昨今ではManaged Serviceとしても提供されるようになり、アプリケーションからの利用もよりしやすくなってきました。一方でより柔軟なシステム構成やシステム要求に応えるためにIaaS等でKafkaを運用するケースも多いかと思います。

本セッションではKafkaの特徴を最大限に活かすためのKafka Clusterの構成パターンについて、その特徴や適したシーン、設計構築時の考慮ポイントをデザインパターンとして整理します。
また、Kafka StreamsやKafka ConnectといったKafkaを中心とした主要なエコシステムを組み合わせた場合の設計・構築ポイントにも触れていきながら様々な観点からClusterの構成パターンを探求していきます。

3
他イベントOK Beginner Others BeginnerSpeaker Video:15min + Live:10min

エキサイト株式会社メディア事業のアーキテクチャをPHPからJavaに変えていく試行錯誤

earu kohei sasaki earu

プレゼンタイプ / Presentation Type [BeginnerSpeaker]:
レベル / Level [Beginner]:
カテゴリー / Categories [Others]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:

Abstract: エキサイト株式会社メディア事業のアーキテクチャをPHPからJavaに変えていく試行錯誤

  • 自己紹介
  • いきなり、コロナでオンライン
  • 誰もわからない
  • コードはひどい
  • 開発者が運用業務をしている
  • 退職面談が多かった
  • コミュニケーション方法が皆無からのチームビルディング
  • やることを絞る
  • 上が雑用をする
  • コーディング規約、テーブル設計、思考パターンの整理
  • ビジネスを説得してリビルドを決定
  • アーキテクチャ選定
  • メディアのリビルド開始
  • 試行錯誤進行形
他イベントOK Beginner Jakarta EE Cloud Standard Video:40min + Live:10min

Why Jakarta EE Developers are First-Class Citizens on Azure

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE, Cloud
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Java/Jakarta EE is an important technology to support on Azure. Enterprise Java is a heterogenous ecosystem with as much as a third of workloads still running on Java/Jakarta EE application servers such as WebLogic, WebSphere/Open Liberty, JBoss EAP, WildFly, and Payara. This is particularly true for large enterprises that need to lift and shift their existing mission-critical, largely monolithic applications to Azure. Traditionally, Azure has not focused on strong support for such workloads but that is changing now and going forward.

This session will outline the efforts to better support Java/Jakarta EE workloads on Azure. We will touch on the history of the open-standard enterprise Java movement and why open standards are and remain important to enterprises. We will discuss what is possible now, what is coming soon and what is further afield. This includes services, tools and guidance to better support Java/Jakarta EE users opting for virtual machines, Kubernetes, or PaaS. It also includes integration with Azure services such as the Azure Service Bus through Java/Jakarta EE APIs such as JMS.

This is also an invaluable opportunity to hear from you and better understand how Microsoft can support you best.

他イベントOK Beginner Jakarta EE Cloud Standard Video:40min + Live:10min

Powering Java on Azure with Open Liberty and OpenShift

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE, Cloud
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Want to see how the Java ecosystem and the cloud opens new possibilities for developers? This session is for you! It shows how familiar players like IBM and Microsoft can collaborate around open technologies in ways you may not have expected just a few years ago.

In this fast-faced, demo-heavy and mostly slide-free session we will show first-hand how to run Open Liberty on Azure managed OpenShift. We will demo in real time how to stand up a cluster quickly and deploy a realistic Java EE/Jakarta EE/MicroProfile application that integrates with some services on the cloud such as database, directory server, cache or log aggregator. At the end of the session, you will have all the demos available on GitHub so you can explore them on your own!

他イベントOK Beginner Jakarta EE Cloud Standard Video:40min + Live:10min

Jakarta NoSQL Powered by Cosmos DB on the Cloud

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE, Cloud
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Jakarta NoSQL is a new standard for accessing non-relational databases on the cloud. Cosmos DB is a best-of-breed planet scale NoSQL database on Azure that is compatible with MongoDB, Cassandra and Gremlin.

In this session we will see how to use these technologies together in cloud native Jakarta EE applications. Most of the session will be demos with a minimal number of slides.

他イベントOK Beginner Jakarta EE Standard Video:40min + Live:10min

Jakarta EE - Present and Future

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Java EE has been re-branded to Jakarta EE and moved to truly open source governance under the Eclipse Foundation. This session overviews what this means, offers a brief tour of the initial releases - Jakarta EE 8/Jakarta EE 9, explores current state and looks to what the future might bring including some key challenges. We will also discuss how these challenges can be overcome through active community engagement.

The technical contents of Jakarta EE 8 is mostly the same as Java EE 8. Jakarta EE 9 further brings the platform into the open by decoupling from the javax namespace to the jakarta namespace. Jakarta EE 10 opens the possibilities for many long pending innovations in key technologies like Jakarta Security, Concurrency, Messaging, REST, Persistence, Batch, NoSQL, MVC and Configuration.

You should come to this session with your thinking caps on and your sleeves rolled up. There is much to help move forward together that really matters.

他イベントOK Beginner Jakarta EE Cloud Standard Video:40min + Live:10min

Jakarta EE on Azure Magic Mystery Show

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE, Cloud
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
This fast-paced, demo-driven, entirely slide free session will show you the many ways of effectively deploying a Java/Jakarta EE application to Azure. We will start by deploying a local Java/Jakarta EE application to basic IaaS on Azure. We will then deploy the same application to an entirely managed Azure PaaS. Finally we will deploy the application to Azure using Docker and Kubernetes. We will discuss the trade-offs of each approach on the way, offering guidelines for which approach might be best for your application on the cloud. At the end of the session, you will have all the demos on GitHub so you can explore them on your own.

他イベントOK Beginner Java SE Jakarta EE Cloud Standard Video:40min + Live:10min

How Microsoft Learned to Love Java

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Java SE, Jakarta EE, Cloud
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
This session is a fast-paced tour of all things Java and Azure at the modern Microsoft of today. We will first talk about the why, how and what of Java and Microsoft. We will then dive right into the broad range of tools, services and APIs that Microsoft offers around Azure for Java developers. We will show a small but representative demo of a Java application most developers would feel familiar with running well on Azure. Lastly, we will discuss the road map for what Java developers can expect from Microsoft in the future. This session is as much about sharing what Microsoft offers today as it is about listening to what the Java community wants to see from Microsoft tomorrow.

他イベントOK Beginner Jakarta EE Cloud Standard Video:40min + Live:10min

Effective Kubernetes for Jakarta EE and MicroProfile Developers

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE, Cloud
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
There are several key techniques to understand while using Kubernetes with Java EE, Jakarta EE and MicroProfile applications. Examples include:

  • How Kubernetes primitives (such as deployments and services) align with application server administration, clustering, auto-discovery, and load-balancing.
  • How to add self-healing capabilities using Kubernetes probes and monitoring with open source tools like Prometheus/Grafana.
  • How the CI/CD pipeline of your application can be adapted to Kubernetes.
  • How Kubernetes can be extended using Operators to effectively manage application server clusters.

This entirely slide-free, demo-driven session walks through each of these considerations in turn. At the end of the session, you will have all the demos on GitHub so you can explore them on your own.

他イベントOK Beginner Jakarta EE Standard Video:40min + Live:10min

Contributors Guide to the Jakarta EE 10 Galaxy

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Jakarta EE 8 has been delivered and Jakarta EE 9 is well on the way. This is a perfect time to begin exploring the horizons of Jakarta EE 10 and how you can help make it reality.

We will guide you on how to begin contributing towards Jakarta EE 10. We will cover ways of contributing, what paperwork is needed as well as the likely possibilities for Jakarta EE 10 including high level themes, platform level changes and some detailed features. Some technologies that might change include Jakarta Security, Concurrency, Messaging, Persistence, REST, Batch and Faces. New APIs that could be added include Jakarta NoSQL, MVC and Configuration. We will talk about non-specification projects such as the Tutorial and Samples.

We will also discuss what might be after Jakarta EE 10. Bring your thinking caps!

採択 他イベントOK Beginner Jakarta EE Standard 2021/11/21 10:00〜 Track B (#jjug_ccc_b) Video:40min + Live:10min

Applied Domain-Driven Design Blueprints for Jakarta EE

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Domain-Driven Design (DDD) is an architectural approach that strongly focuses on materializing the business domain in enterprise software through disciplined object-oriented analysis. This session demonstrates first-hand how DDD can be elegantly implemented using Jakarta EE via an open source project named Cargo Tracker.

Cargo Tracker maps DDD concepts like entities, value objects, aggregates and repositories to Jakarta EE code examples in a realistic application. We will also see how DDD concepts like the bounded context are invaluable to designing pragmatic microservices.

3
他イベントOK Beginner Jakarta EE Standard Video:40min + Live:10min

A Freakonomic Take on Open Standards and Jakarta EE

reza_rahman Reza Rahman reza_rahman

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Jakarta EE
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes

Abstract:
Words like standard, de-facto, de-jure and open are frequently used and abused in our industry. The reality is that few people really understand what these words actually mean or how these ideas effect their own professional lives in the long and short term.

This session aims to clear the air on some of these terms and outline why open standards like Jakarta EE are critically important to you today and in the future. We will explore these concepts in the context of well-established economic theories on competition, monopoly power, the network effect, innovation, open source and open standards - in true Freakonomist style!

採択 他イベントOK Beginner Java SE BeginnerSpeaker 2021/11/21 10:00〜 Track D (#jjug_ccc_d) Video:15min + Live:10min

エキサイトブログ刷新に向けて序章 - APIを一つに

openjdk17 中尾正剛 openjdk17

プレゼンタイプ / Presentation Type [BeginnerSpeaker]:
レベル / Level [Beginner]:
カテゴリー / Categories [Java SE]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:

Abstract: エキサイトブログ刷新するにあたってspringで開発しているので、それについて語ろうと思います。
アジェンダ

  1. 目次
  2. 自己紹介
  3. 担当する仕事
  4. リビルド
  5. 配属されて
  6. リポジトリたくさん
  7. データベースの数珠つなぎ構成??
  8. ストアドプロシージャー??
  9. これから
  10. データベースの接続をapiに一本化
  11. マルチモジュール構成で一つにする!
  12. springで良かったこと
  13. まとめ
4
他イベントOK Beginner Cloud Standard Video:40min + Live:10min

Kubernetes Native Java

starbuxman Josh Long starbuxman

Standard
Beginner
Cloud
Yes

Abstract:

Spring is all about helping developers get to production quickly and safely. These days, "production" is all but guaranteed to mean Kubernetes, and Spring has you covered. Join me, Spring Developer Advocate Josh Long (@starbuxman), and we'll look at how Spring Boot makes writing blisteringly fast, cloud-native, and scalable services more effortless than ever.

1
他イベントOK Beginner Java SE Spring Standard Video:40min + Live:10min

Bootiful Edge Services

starbuxman Josh Long starbuxman

Standard
Beginner
Java SE / Spring
Yes

Abstract:

Hi, Spring fans! So much of the difficult of microservices is not the services themselves, but the clients that connect to them. There are just so many things that can go wrong or cause bumps on the road to production! Clients may not speak the same protocols as the services to which they're connecting. Clients may need to adapt the data coming from services to suit their use cases, tailoring them to the user interface' particular requirements. Join me, Spring Developer Advocate Josh Long (@starbuxman) and we'll look at how to use reactive to build better API adapters, how to use Spring GraphQL to build better data integration gateways, and we'll look at Spring Cloud Gateway to build API gateways.

他イベントOK Intermediate DevOps Tools Standard Video:40min + Live:10min

JReleaser - Releasing at the speed of light

aalmiray Andres Almiray aalmiray

Your project has reached that stage when it’s a good idea to post binaries, but new questions appear such as where should they be posted? How do make it easier for users to install and discover your binaries? Where should releases be announced? Most importantly, can answers to these question be automated? Enter JReleaser, a tool that provides answers to these questions and more. JReleaser may be used to create GiHub/GitLab/Gitea releases and publish binaries that can be consumed from different distribution channels such as Homebrew, Snap, Scoop, and more. Once published, the release cab be automatically announced on Twitter, Slack, Gitter, Discord, and other communication channels.

Come to this session to learn how JReleaser can help you release, publish, and announce binaries with ease, and fast!

プレゼンタイプ / Presentation Type: Standard
レベル / Level: Intermediate
カテゴリー / Categories: DevOps / Tools
後日セッション動画の公開を希望する / Agree to publish your session video: Yes

Abstract:

1
他イベントOK Intermediate DevOps Tools Standard Video:40min + Live:10min

Releasing at the speed of light

aalmiray Andres Almiray aalmiray

プレゼンタイプ / Presentation Type: Standard
レベル / Level : Intermediate
カテゴリー / Categories: DevOps / Tools
後日セッション動画の公開を希望する / Agree to publish your session video: Yes

Abstract:
Your project has reached that stage when it’s a good idea to post binaries, but new questions appear such as where should they be posted? How do make it easier for users to install and discover your binaries? Where should releases be announced? Most importantly, can answers to these question be automated? Enter JReleaser, a tool that provides answers to these questions and more. JReleaser may be used to create GiHub/GitLab/Gitea releases and publish binaries that can be consumed from different distribution channels such as Homebrew, Snap, Scoop, and more. Once published, the release cab be automatically announced on Twitter, Slack, Gitter, Discord, and other communication channels.
Come to this session to learn how JReleaser can help you release, publish, and announce binaries with ease, and fast!