Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jakarta EE Meets NoSQL at the Cloud Age

Jakarta EE Meets NoSQL at the Cloud Age

Let's be honest: the amount of data collected by the applications nowadays grows in a scary pace. Many of them should hold billions of users, generating and consuming data on a incredible speed. Maybe you are wondering: how can I build an application like this? What is needed? What benefits can I take from this reality to my project? This session will show you how Jakarta EE can meet this needs when working with NoSQL databases in the cloud. It's the same approach used by some of the biggest companies in the world to store, analyse and get results from really crazy amount of data. Doesn't matter your project size, you can take it to the next level today.

Elder Moraes

June 21, 2018
Tweet

More Decks by Elder Moraes

Other Decks in Technology

Transcript

  1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Jakarta EE Meets NOSQL at the Cloud Age Elder Moraes Cloud Evangelist Oracle Junho, 2018 Otávio Santana Senior Engineer Tomitribe Junho, 2018
  2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3
  3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Tá bom, tá bom... ...fala logo do Jakarta EE
  4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Roadmap • O que está sendo movido da Oracle para a Eclipse • Especificações • APIs • RIs • TCKs • O que NÃO será movido • Trademark (por isso mudou de nome)
  5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Roadmap https://www.eclipse.org/ee4j/status.php • 20% - Projeto proposto • 40% - Projeto aceito e provisionado • 60% - Contribuição inicial de código para a Eclipse • 80% - Contribuição inicial de código para o Github • 100% - Primeira release do projeto *Ref.: 30/05/2018
  6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | • Otimização do Enterprise Java para a arquitetura de Microservices • Inovar, solidificar, lançar, repetir • JSR 382 (Configuration) – MicroProfile Config 1.0 .. 1.3 – Configuration JSR -> Jakarta EE <- MicroProfile Config • É possível utilizar o mesmo caminho para outros componentes do MicroProfile – MicroProfile Rest Client -> JAX-RS -> Jakarta EE ??? – MicroProfile Fault Tolerance -> Jakarta EE ???
  7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | • MicroProfile 1.4 (Java EE 7) – Config 1.3 – Fault Tolerance 1.1 – JWT 1.1 – Open Tracing 1.1 – Rest Client 1.1
  8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | NoSQL 01 Database 02 Doesn't use structure 03 Not Transaction 04 Base Five different types 05
  9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Key Value AmazonDynamo AmazonS3 Redis Hazelcast Apollo Ares Aphrodite Sun War Love Beauty
  10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Column Family Apollo Aphrodite Ares Kratos Duty Duty Duty Dead Gods Love, happy Sun War 13 Color weapon Sword Row-key Columns HBase Scylla SimpleDb Cassandra DynamoDB Clouddata
  11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Document { "name":"Diana", "duty":[ "Hunt", "Moon", "Nature" ], "siblings":{ "Apollo":"brother" } } ApacheCouchDB MongoDB Riak Couchbase
  12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Graph Apollo Ares Kratos was killed by was killed by killed killed Neo4j InfoGrid Sones HyperGraphDB
  13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Multi-Model 01 02 03 04 OrientDB (graph, document) Couchbase (key value, document) Elasticsearch (document, graph) ArangoDB (column family, graph, key-value)
  14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Scalability vs Complexity Scalability Complexity key-value Column Document Graph
  15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | The Current Solution DIANA ARTEMIS JNoSQL DAO Mapping Communication Column Documents Key Graph Data Tier 01 02 03 04 Mapping API Communication API No lock-in Divide and Conquer
  16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | References Communication API Support to Async operations APIs Mapping API Bean Validation Events Repository Template Query by text Prepared Statement http://jnosql.org/ https://github.com/eclipse?q=Jnosql https://dev.eclipse.org/mailman/listinfo/jnosql-dev https://gitter.im/JNOSQL/developers https://wiki.eclipse.org/JNoSQL
  17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Cloud Native • Compatíveis com containers (containerized) • Orquestradas dinamicamente • Orientadas a microservices