MOUG17: SQLT Utility for Tuning - Practical ExamplesMonica Li
The document discusses the Oracle SQLT Utility which is used to troubleshoot SQL performance. It provides more information than the SQL Tuning Advisor alone. SQLT works by calling the Tuning Advisor and Trace Analyzer to analyze SQL execution plans, profiles, and trace files. It produces a detailed HTML report with configuration findings, recommendations, and metadata about database objects and SQL statements. The document covers installing SQLT, using it via various modes like XTRACT, and reviewing the output report to identify opportunities and implement recommendations.
What to Expect From Oracle database 19cMaria Colgan
The Oracle Database has recently switched to an annual release model. Oracle Database 19c is only the second release in this new model. So what can you expect from the latest version of the Oracle Database? This presentation explains how Oracle Database 19c is really 12.2.0.3 the terminal release of the 12.2 family and the new features you can find in this release.
Performance Stability, Tips and Tricks and UnderscoresJitendra Singh
This document provides an overview of upgrading to Oracle Database 19c and ensuring performance stability after the upgrade. It discusses gathering statistics before the upgrade to speed up the process, using AutoUpgrade for upgrades, and various testing tools like AWR Diff Reports and SQL Performance Analyzer to check for performance regressions after the upgrade. Maintaining good statistics and thoroughly testing upgrades are emphasized as best practices for a successful upgrade.
The outer query and inner query will not share cursors because they are in different contexts - the outer query is a SQL statement while the inner query is inside a PL/SQL function. Each will be parsed separately.
To enable cursor sharing between the outer and inner queries, you can:
1. Pass the deptno value directly to the function instead of a bind variable
2. Define the function as pipelined and return ref cursor from it so the inner query becomes a subquery of the outer query.
3. Use inline views instead of a function.
So in summary, different contexts prevent cursor sharing. You need to modify the code to bring the queries in the same context.
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
The document provides an overview of Oracle Database 19c, highlighting its key features and capabilities. It notes that Oracle Database 19c is Oracle's recommended release for all database upgrades. New features in 19c include fast data ingestion support for IoT workloads, SQL statement quarantine, and enhancements to JSON and high availability functionality.
This talk provides an architecture overview of data-centric microservices illustrated with an example application. The following Microservices concepts are illustrated - domain driven design, event-driven services, Saga transactions, Application tracing and Health monitoring with different microservices using a variety of data types supported in the database - business data, documents, spatial, graph, and events. A running example of a mobile food delivery application (called GrubDash) is used, with a hands-on-lab that is available for attendees to work through on the Oracle Cloud after these sessions. The rest of the talks will build upon this Microservices architecture framework.
Oracle Database 19c, builds upon key architectural, distributed data and performance innovations established in earlier versions Oracle Database 12c and 18c releases. Oracle 19c has many new features, in this presentation we have covered below areas
Automated Installation, Configuration and Patching
AutoUpgrade and Database Utilities
#dbhouseparty - Should I be building Microservices?Tammy Bednar
This document discusses whether and how to build microservices. It includes:
1) Presentations by Sanjay Goil, VP of Product Management at Oracle, and Paul Parkinson, Cloud Platform Dev Lead at Oracle on microservices and building a sample microservices application.
2) Recommendations from Oracle ACEs Guido and Rolando on microservices approaches and modernizing existing SOA architectures for microservices.
3) A discussion of how a converged database can simplify building microservices by supporting messaging, multiple data types, and cloud services.
4) A demo of building a microservices application for a food delivery app using technologies like Helidon and a converged database.
MOUG17: SQLT Utility for Tuning - Practical ExamplesMonica Li
The document discusses the Oracle SQLT Utility which is used to troubleshoot SQL performance. It provides more information than the SQL Tuning Advisor alone. SQLT works by calling the Tuning Advisor and Trace Analyzer to analyze SQL execution plans, profiles, and trace files. It produces a detailed HTML report with configuration findings, recommendations, and metadata about database objects and SQL statements. The document covers installing SQLT, using it via various modes like XTRACT, and reviewing the output report to identify opportunities and implement recommendations.
What to Expect From Oracle database 19cMaria Colgan
The Oracle Database has recently switched to an annual release model. Oracle Database 19c is only the second release in this new model. So what can you expect from the latest version of the Oracle Database? This presentation explains how Oracle Database 19c is really 12.2.0.3 the terminal release of the 12.2 family and the new features you can find in this release.
Performance Stability, Tips and Tricks and UnderscoresJitendra Singh
This document provides an overview of upgrading to Oracle Database 19c and ensuring performance stability after the upgrade. It discusses gathering statistics before the upgrade to speed up the process, using AutoUpgrade for upgrades, and various testing tools like AWR Diff Reports and SQL Performance Analyzer to check for performance regressions after the upgrade. Maintaining good statistics and thoroughly testing upgrades are emphasized as best practices for a successful upgrade.
The outer query and inner query will not share cursors because they are in different contexts - the outer query is a SQL statement while the inner query is inside a PL/SQL function. Each will be parsed separately.
To enable cursor sharing between the outer and inner queries, you can:
1. Pass the deptno value directly to the function instead of a bind variable
2. Define the function as pipelined and return ref cursor from it so the inner query becomes a subquery of the outer query.
3. Use inline views instead of a function.
So in summary, different contexts prevent cursor sharing. You need to modify the code to bring the queries in the same context.
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
The document provides an overview of Oracle Database 19c, highlighting its key features and capabilities. It notes that Oracle Database 19c is Oracle's recommended release for all database upgrades. New features in 19c include fast data ingestion support for IoT workloads, SQL statement quarantine, and enhancements to JSON and high availability functionality.
This talk provides an architecture overview of data-centric microservices illustrated with an example application. The following Microservices concepts are illustrated - domain driven design, event-driven services, Saga transactions, Application tracing and Health monitoring with different microservices using a variety of data types supported in the database - business data, documents, spatial, graph, and events. A running example of a mobile food delivery application (called GrubDash) is used, with a hands-on-lab that is available for attendees to work through on the Oracle Cloud after these sessions. The rest of the talks will build upon this Microservices architecture framework.
Oracle Database 19c, builds upon key architectural, distributed data and performance innovations established in earlier versions Oracle Database 12c and 18c releases. Oracle 19c has many new features, in this presentation we have covered below areas
Automated Installation, Configuration and Patching
AutoUpgrade and Database Utilities
#dbhouseparty - Should I be building Microservices?Tammy Bednar
This document discusses whether and how to build microservices. It includes:
1) Presentations by Sanjay Goil, VP of Product Management at Oracle, and Paul Parkinson, Cloud Platform Dev Lead at Oracle on microservices and building a sample microservices application.
2) Recommendations from Oracle ACEs Guido and Rolando on microservices approaches and modernizing existing SOA architectures for microservices.
3) A discussion of how a converged database can simplify building microservices by supporting messaging, multiple data types, and cloud services.
4) A demo of building a microservices application for a food delivery app using technologies like Helidon and a converged database.
Database@Home : Data Driven Apps : Core-dev or Low Code UITammy Bednar
There’s more than one approach to creating apps these days – knowing the options and how to choose one is critical. Low-code frameworks take a top-down approach, which can reduce complexity and development time significantly. On the other hand, core-dev frameworks are a better choice when control over every aspect of an app is essential. In this session, attendees will be introduced to a low-code framework (APEX) and a core-dev one (JET) to see how the approaches and results differ.
This document provides an overview of Oracle GoldenGate 12c, a heterogeneous replication tool. It describes GoldenGate's key features like real-time data integration and query offloading. The document outlines GoldenGate's topologies, architecture, supported databases, and data types. It compares GoldenGate to Oracle Streams and details new features in 12c like optimized capture methods and improved high availability. Basic concepts are explained, such as classic and integrated capture, downstream and bi-directional replication. Restrictions on data types and database features are also noted.
The document discusses Oracle Autonomous Database and provides an agenda for a presentation. The agenda includes:
1. An overview of what Autonomous Database is and how it provides self-driving, self-securing, and self-repairing capabilities.
2. Key use cases for Autonomous Transaction Processing such as for transactional applications and mixed workloads.
3. How Autonomous Database can be used with microservices architectures.
4. Use cases for Autonomous Data Warehouse such as for data marts, warehouses, sandboxes, and machine learning.
5. How Autonomous Data Warehouse integrates with Oracle Analytics Cloud.
6. A demonstration of getting hands-on with
Oracle RAC 19c: Best Practices and Secret InternalsAnil Nair
Oracle Real Application Clusters 19c provides best practices and new features for upgrading to Oracle 19c. It discusses upgrading Oracle RAC to Linux 7 with minimal downtime using node draining and relocation techniques. Oracle 19c allows for upgrading the Grid Infrastructure management repository and patching faster using a new Oracle home. The presentation also covers new resource modeling for PDBs in Oracle 19c and improved Clusterware diagnostics.
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15Dave Segleau
The document is a presentation on NoSQL databases given by Dave Segleau, Director of Product Management at Oracle. It discusses why organizations use NoSQL databases, provides an overview of Oracle NoSQL Database including its features and architecture. It also covers common use cases for NoSQL databases in industries like finance, manufacturing, and telecom. Finally, it discusses some of the challenges of using NoSQL databases and how Oracle NoSQL Database addresses issues of scalability, reliability and manageability.
This document summarizes an Exachk and Oracle Enterprise Manager 12c session that was presented at an IOUG conference. It provides information on using the Exachk tool to check Exadata configurations and health. It also describes how Oracle EM 12c can be configured with the Engineered System Healthchecks plug-in to automate Exachk runs and view results through the EM console. Key aspects covered include using the Exachk daemon, setting environment variables, and viewing alert and report outputs in EM.
This document discusses upgrading to Oracle Database 19c and migrating to Oracle Multitenant. It provides an overview of key features such as being able to have 3 user-created PDBs without a Multitenant license in 19c. It also demonstrates how to use AutoUpgrade to perform an upgrade and migration to Multitenant with a single command. The document highlights various Multitenant concepts such as resource sharing, connecting to containers, and cloning PDBs.
dsp look at the history of one of the world's most successful technology firms; Oracle. From humble beginnings, the company has developed over decades to become one of the biggest and best, and here we look at some of the milestones along the way.
The document provides an overview of 14 topics related to Oracle Autonomous Database. It begins with how to get started with the Autonomous Database free tier and Oracle Machine Learning. It then discusses cross region data guard, exporting data as JSON to object storage, wallet rotation, partitions with external tables in cloud, set patch level when cloning, performance monitoring, data safe audit retention time increase, change concurrency limits via console, SQL monitor report, ASH analytics in performance hub, workload metrics on performance hub, and customer managed keys.
This document provides step-by-step instructions for installing and configuring Oracle BI Applications 11.1.1.7.1 using data sourced from Oracle E-Business Suite 12.1.3. It describes downloading required files, installing prerequisite software like the database, installing and configuring components like OBIEE, ODI, and BI Applications, applying necessary patches, and configuring data loads from E-Business Suite into the BI Applications data warehouse.
Vasu Balla presented on running Oracle E-Business Suite on Oracle Cloud. Key points include:
1) EBS deployment on Oracle Cloud consists of middleware and database tiers running on Oracle Compute Cloud and Database Cloud Service/Exadata Cloud Service.
2) Deployment approaches include new implementations using marketplace images, and lift and shift of existing on-premises instances using remote cloning utilities and an EBS provisioning tool.
3) There are limitations around maximum database size, cloning automation, and disaster recovery that require further enhancements.
Oracle 19c Database AdministrationOracle Database 19c is the final, and therefore 'long term support' releaseof the Oracle Database 12c family of products (which includes Oracle Database 18c). Oracle Database 19c builds upon the innovations of previous releases such as Multitenant, In-Memory, JSON support, Sharding and many other features that enable Oracle✔8217;s Autonomous Database Cloud Services. This latest release of the world✔8217;s most popular database also introduces new functionality, providing customers with a multi-model enterprise-class database for all their typical use cases.This Book provides detailed information on the architecture of an Oracle Database instance and database, enabling you to effectively manage your database resources. You learn how to create database storage structures appropriate for the business applications supported by your database. In addition, you learn how to create users and administer database security to meet your business requirements. Basic information on backup and recovery techniques is presented in this course. To provide an acceptable response time to users and manage resources effectively, you learn how to monitor your database and manage performance.
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...vasuballa
This Oracle Development session covers an overview of the Oracle E-Business Suite 12.2 architecture and configuration. It then dives into the latest updates for Oracle E-Business Suite installations and cloning. The session provides details on the latest automated features for provisioning a new Oracle E-Business Suite 12.1 or 12.2 instance to Oracle Cloud. Learn how easy it is to lift and shift (migrate) your on-premises Oracle E-Business Suite instance to Oracle Cloud.
Oracle GoldenGate provides data integration and replication capabilities. The presentation discusses Oracle GoldenGate's microservices architecture which enables faster deployments. It highlights key use cases such as database high availability, OLTP replication, data warehouse loading, and stream analytics. The presentation also outlines Oracle GoldenGate's continued investment in areas like security, performance, and support for Oracle Database 19c.
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
This document discusses the top 5 reasons to deploy applications on Oracle Real Application Clusters (RAC). It discusses how RAC provides:
1. Developer productivity through transparency that allows developers to focus on application code without worrying about high availability or scalability.
2. Integrated scalability for both applications and database features through techniques like parallel execution and cache fusion that allow linear scaling.
3. Seamless high availability for the entire application stack through capabilities like fast reconfiguration times and zero data loss that prevent application outages.
4. Isolated consolidation for converged use cases through features like pluggable database isolation that allow secure sharing of hardware resources.
5. Full flexibility to choose deployment options
This version of "Oracle Real Application Clusters (RAC) 19c & Later – Best Practices" was first presented in Oracle Open World (OOW) London 2020 and includes content from the OOW 2019 version of the deck. The deck has been updated with the latest information regarding ORAchk as well as upgrade tips & tricks.
This document summarizes a presentation on tuning Oracle GoldenGate for optimal performance in real-world environments. It discusses architectural changes in GoldenGate 12c including a microservices architecture and parallel replication. It also outlines several areas and tools for tuning performance at the host, database, and GoldenGate configuration levels including the use of AWR, STATS commands, and health check scripts.
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdfcNguyn506241
This document provides an overview of a course on computer-based technologies and software development. The course will cover various technologies used to build software applications from start to finish. Topics will include databases, version control with Git, data validation, and deploying applications to the cloud. Students will learn concepts through theory, tutorials, and hands-on practice building a sample application. Assessment will include class participation, a midterm, and a final project.
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"Fwdays
It's 2019 and DI is a well-known and established technique on all major platforms and languages. So why can't we still have a clear answer to the questions like 'is DI/IoC container a mandatory thing to apply DI?' or 'what is a true way to implement DI in language/platform X?' or ‘is it even a good/useful thing?’.
Let's find those answers together and refresh our memory on the initial goals and targets of DI and its surrounding design patterns.
Database@Home : Data Driven Apps : Core-dev or Low Code UITammy Bednar
There’s more than one approach to creating apps these days – knowing the options and how to choose one is critical. Low-code frameworks take a top-down approach, which can reduce complexity and development time significantly. On the other hand, core-dev frameworks are a better choice when control over every aspect of an app is essential. In this session, attendees will be introduced to a low-code framework (APEX) and a core-dev one (JET) to see how the approaches and results differ.
This document provides an overview of Oracle GoldenGate 12c, a heterogeneous replication tool. It describes GoldenGate's key features like real-time data integration and query offloading. The document outlines GoldenGate's topologies, architecture, supported databases, and data types. It compares GoldenGate to Oracle Streams and details new features in 12c like optimized capture methods and improved high availability. Basic concepts are explained, such as classic and integrated capture, downstream and bi-directional replication. Restrictions on data types and database features are also noted.
The document discusses Oracle Autonomous Database and provides an agenda for a presentation. The agenda includes:
1. An overview of what Autonomous Database is and how it provides self-driving, self-securing, and self-repairing capabilities.
2. Key use cases for Autonomous Transaction Processing such as for transactional applications and mixed workloads.
3. How Autonomous Database can be used with microservices architectures.
4. Use cases for Autonomous Data Warehouse such as for data marts, warehouses, sandboxes, and machine learning.
5. How Autonomous Data Warehouse integrates with Oracle Analytics Cloud.
6. A demonstration of getting hands-on with
Oracle RAC 19c: Best Practices and Secret InternalsAnil Nair
Oracle Real Application Clusters 19c provides best practices and new features for upgrading to Oracle 19c. It discusses upgrading Oracle RAC to Linux 7 with minimal downtime using node draining and relocation techniques. Oracle 19c allows for upgrading the Grid Infrastructure management repository and patching faster using a new Oracle home. The presentation also covers new resource modeling for PDBs in Oracle 19c and improved Clusterware diagnostics.
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15Dave Segleau
The document is a presentation on NoSQL databases given by Dave Segleau, Director of Product Management at Oracle. It discusses why organizations use NoSQL databases, provides an overview of Oracle NoSQL Database including its features and architecture. It also covers common use cases for NoSQL databases in industries like finance, manufacturing, and telecom. Finally, it discusses some of the challenges of using NoSQL databases and how Oracle NoSQL Database addresses issues of scalability, reliability and manageability.
This document summarizes an Exachk and Oracle Enterprise Manager 12c session that was presented at an IOUG conference. It provides information on using the Exachk tool to check Exadata configurations and health. It also describes how Oracle EM 12c can be configured with the Engineered System Healthchecks plug-in to automate Exachk runs and view results through the EM console. Key aspects covered include using the Exachk daemon, setting environment variables, and viewing alert and report outputs in EM.
This document discusses upgrading to Oracle Database 19c and migrating to Oracle Multitenant. It provides an overview of key features such as being able to have 3 user-created PDBs without a Multitenant license in 19c. It also demonstrates how to use AutoUpgrade to perform an upgrade and migration to Multitenant with a single command. The document highlights various Multitenant concepts such as resource sharing, connecting to containers, and cloning PDBs.
dsp look at the history of one of the world's most successful technology firms; Oracle. From humble beginnings, the company has developed over decades to become one of the biggest and best, and here we look at some of the milestones along the way.
The document provides an overview of 14 topics related to Oracle Autonomous Database. It begins with how to get started with the Autonomous Database free tier and Oracle Machine Learning. It then discusses cross region data guard, exporting data as JSON to object storage, wallet rotation, partitions with external tables in cloud, set patch level when cloning, performance monitoring, data safe audit retention time increase, change concurrency limits via console, SQL monitor report, ASH analytics in performance hub, workload metrics on performance hub, and customer managed keys.
This document provides step-by-step instructions for installing and configuring Oracle BI Applications 11.1.1.7.1 using data sourced from Oracle E-Business Suite 12.1.3. It describes downloading required files, installing prerequisite software like the database, installing and configuring components like OBIEE, ODI, and BI Applications, applying necessary patches, and configuring data loads from E-Business Suite into the BI Applications data warehouse.
Vasu Balla presented on running Oracle E-Business Suite on Oracle Cloud. Key points include:
1) EBS deployment on Oracle Cloud consists of middleware and database tiers running on Oracle Compute Cloud and Database Cloud Service/Exadata Cloud Service.
2) Deployment approaches include new implementations using marketplace images, and lift and shift of existing on-premises instances using remote cloning utilities and an EBS provisioning tool.
3) There are limitations around maximum database size, cloning automation, and disaster recovery that require further enhancements.
Oracle 19c Database AdministrationOracle Database 19c is the final, and therefore 'long term support' releaseof the Oracle Database 12c family of products (which includes Oracle Database 18c). Oracle Database 19c builds upon the innovations of previous releases such as Multitenant, In-Memory, JSON support, Sharding and many other features that enable Oracle✔8217;s Autonomous Database Cloud Services. This latest release of the world✔8217;s most popular database also introduces new functionality, providing customers with a multi-model enterprise-class database for all their typical use cases.This Book provides detailed information on the architecture of an Oracle Database instance and database, enabling you to effectively manage your database resources. You learn how to create database storage structures appropriate for the business applications supported by your database. In addition, you learn how to create users and administer database security to meet your business requirements. Basic information on backup and recovery techniques is presented in this course. To provide an acceptable response time to users and manage resources effectively, you learn how to monitor your database and manage performance.
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...vasuballa
This Oracle Development session covers an overview of the Oracle E-Business Suite 12.2 architecture and configuration. It then dives into the latest updates for Oracle E-Business Suite installations and cloning. The session provides details on the latest automated features for provisioning a new Oracle E-Business Suite 12.1 or 12.2 instance to Oracle Cloud. Learn how easy it is to lift and shift (migrate) your on-premises Oracle E-Business Suite instance to Oracle Cloud.
Oracle GoldenGate provides data integration and replication capabilities. The presentation discusses Oracle GoldenGate's microservices architecture which enables faster deployments. It highlights key use cases such as database high availability, OLTP replication, data warehouse loading, and stream analytics. The presentation also outlines Oracle GoldenGate's continued investment in areas like security, performance, and support for Oracle Database 19c.
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
This document discusses the top 5 reasons to deploy applications on Oracle Real Application Clusters (RAC). It discusses how RAC provides:
1. Developer productivity through transparency that allows developers to focus on application code without worrying about high availability or scalability.
2. Integrated scalability for both applications and database features through techniques like parallel execution and cache fusion that allow linear scaling.
3. Seamless high availability for the entire application stack through capabilities like fast reconfiguration times and zero data loss that prevent application outages.
4. Isolated consolidation for converged use cases through features like pluggable database isolation that allow secure sharing of hardware resources.
5. Full flexibility to choose deployment options
This version of "Oracle Real Application Clusters (RAC) 19c & Later – Best Practices" was first presented in Oracle Open World (OOW) London 2020 and includes content from the OOW 2019 version of the deck. The deck has been updated with the latest information regarding ORAchk as well as upgrade tips & tricks.
This document summarizes a presentation on tuning Oracle GoldenGate for optimal performance in real-world environments. It discusses architectural changes in GoldenGate 12c including a microservices architecture and parallel replication. It also outlines several areas and tools for tuning performance at the host, database, and GoldenGate configuration levels including the use of AWR, STATS commands, and health check scripts.
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdfcNguyn506241
This document provides an overview of a course on computer-based technologies and software development. The course will cover various technologies used to build software applications from start to finish. Topics will include databases, version control with Git, data validation, and deploying applications to the cloud. Students will learn concepts through theory, tutorials, and hands-on practice building a sample application. Assessment will include class participation, a midterm, and a final project.
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"Fwdays
It's 2019 and DI is a well-known and established technique on all major platforms and languages. So why can't we still have a clear answer to the questions like 'is DI/IoC container a mandatory thing to apply DI?' or 'what is a true way to implement DI in language/platform X?' or ‘is it even a good/useful thing?’.
Let's find those answers together and refresh our memory on the initial goals and targets of DI and its surrounding design patterns.
Igor Kochetov "What is wrong with Dependency Injection? Myths and Truths"Fwdays
It's 2019 and DI is a well-known and established technique on all major platforms and languages. So why can't we still have a clear answer to the questions like 'is DI/IoC container a mandatory thing to apply DI?' or 'what is a true way to implement DI in language/platform X?' or ‘is it even a good/useful thing?’.
Let's find those answers together and refresh our memory on the initial goals and targets of DI and its surrounding design patterns.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
Custom application development according to Oracle is primarily relevant for extending SaaS applications and creating customer experiences. The current recommended approach for building graphical user interface (on web and mobile) is through low code Visual Builder with high code JET injections when required. An alternative low code stack is available from Oracle in the form of APEX, This slide set discusses the above as well as ADF and Forms. It then introduces Digital Assistant, talks about the state and future of Java and concludes with CI/CD and DevOps. As presented on November 5th 2018 at AMIS HQ, Nieuwegein, The Netherlands.
The document provides recipes for building CQRS architectures. It begins with an introduction and agenda. Lesson 1 discusses a basic layered architecture, noting its limitations in scalability and evolvability. Lesson 2 introduces n-layered architecture with dependency injection to improve decoupling but it also has scalability issues. Lesson 3 explains the Command Query Responsibility Segregation (CQRS) pattern, separating read and write operations for improved scalability and flexibility. It provides code examples of implementing CQRS. The document aims to help architects evolve monolithic systems to more scalable and maintainable architectures.
Apache® Spark™ MLlib 2.x: migrating ML workloads to DataFramesDatabricks
In the Apache Spark 2.x releases, Machine Learning (ML) is focusing on DataFrame-based APIs. This webinar is aimed at helping users take full advantage of the new APIs. Topics will include migrating workloads from RDDs to DataFrames, ML persistence for saving and loading models, and the roadmap ahead.
Migrating ML workloads to use Spark DataFrames and Datasets allows users to benefit from simpler APIs, plus speed and scalability improvements. As the DataFrame/Dataset API becomes the primary API for data in Spark, this migration will become increasingly important to MLlib users, especially for integrating ML with the rest of Spark data processing workloads. We will give a tutorial covering best practices and some of the immediate and future benefits to expect.
ML persistence is one of the biggest improvements in the DataFrame-based API. With Spark 2.0, almost all ML algorithms can be saved and loaded, even across languages. ML persistence dramatically simplifies collaborating across teams and moving ML models to production. We will demonstrate how to use persistence, and we will discuss a few existing issues and workarounds.
At the end of the webinar, we will discuss major roadmap items. These include API coverage, major speed and scalability improvements to certain algorithms, and integration with structured streaming.
Current & Future Use-Cases of OpenDaylightabhijit2511
OpenDaylight Overview and Architecture
• OpenDaylight Use Cases (Partial List)
I. Network Abstraction
II. ONAP
III. Network Virtualization
IV. AI/ML with OpenDaylight
V. ODL in OSS
• OpenDaylight: Getting Involved
Java in the age of containers - JUG Frankfurt/MMarkus Eisele
31.07.2019 Java in the Age of Containers and Serverless
https://sites.google.com/site/jugffm/home/31-07-2019-java-in-the-age-of-containers-and-serverless
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebMichael Hichwa
Oracle APEX: The world's best AppDev platform
With over 400,000 developers, Oracle APEX is the industry leading enterprise low-code application development platform. But where did Oracle APEX come from? and what about it makes it resonate with so many developers? Listen to the full story directly from the creator of APEX and hear the origin story of Oracle APEX, the mission that drives it, and what to look forward to next.
This document provides an overview of model-view-controller (MVC) patterns and their use in software development. It discusses how MVC separates an application's frontend from its backend code to improve quality and maintenance. The document outlines the history and components of MVC, provides an example application, and discusses how interfaces can help adapt an application to different data sources.
MySQL 8.0 Document Store - Discovery of a New WorldFrederic Descamps
This document discusses the evolution of web applications and databases from the 2000s to present day. It outlines how relational databases were traditionally used but developers now prefer non-relational databases for their flexibility and ease of use. The document introduces MySQL 8.0's new document store functionality that allows storing and querying JSON documents, providing both relational and non-relational capabilities in a single database. Code examples demonstrate basic CRUD operations on document collections using the X DevAPI.
The document discusses building modern web applications with React and Flux. It begins with introductions and an agenda. It then covers React components, lifecycle methods, and Flux architecture including actions, dispatcher and stores. It discusses common mistakes, other view libraries like Vue and Riot, and takes questions.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
This document discusses the development of a commercial APEX application called eSERT. Key points covered include designing the application for multiple APEX versions, using source control and automated builds, implementing product licensing, and deploying the application via a multi-part install process similar to APEX. Infrastructure choices like AWS, CodeSpaces, and virtual machines for shared development and testing are also summarized.
An Introduction To Model View Controller In XPagesUlrich Krause
This document outlines an introduction to the model-view-controller (MVC) pattern presented by Ulrich Krause. The presentation covers the basics of MVC including its history, components, and interaction. It provides an example application to demonstrate how MVC can help address challenges with software quality and maintenance for applications with code spread across different languages and locations. The example shows how interfaces, data access objects, and refactoring can help adapt an application to use different data sources.
Java in the Age of Containers and ServerlessMarkus Eisele
Java in 2019 was predicted to be business as usual by many. We have seen new Java releases coming out as planned, AdoptOpenJDK became the main trustful source of binaries and Oracle fighting for the trademark again by preventing the use of javax as namespace.
Everything looks like it would be a silent year for Java. But one thing seems also obvious. Java's popularity is not gaining any more traction. New language features keep it up to date but people are getting more selective when it comes to implementation choices. Especially in the age of containers and cloud infrastructures. How will Java continue to fit in? What are the advantages and what needs to be done?
As given 6/20/19 https://skillsmatter.com/meetups/12248-keynote-by-markus-eisele-on-java-in-the-age-of-containers-and-serverless#overview
This document provides an introduction and overview of an Oracle Apex 18.1 workshop. It discusses what Oracle Apex is, the advantages of learning Oracle Apex, and the key benefits of the workshop course. The course content focuses on developing desktop and mobile database applications using Oracle Apex, including creating forms, reports, pages, and charts, as well as session state, page processing, themes, and printing capabilities.
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingPaco Nathan
London Spark Meetup 2014-11-11 @Skimlinks
http://www.meetup.com/Spark-London/events/217362972/
To paraphrase the immortal crooner Don Ho: "Tiny Batches, in the wine, make me happy, make me feel fine." http://youtu.be/mlCiDEXuxxA
Apache Spark provides support for streaming use cases, such as real-time analytics on log files, by leveraging a model called discretized streams (D-Streams). These "micro batch" computations operated on small time intervals, generally from 500 milliseconds up. One major innovation of Spark Streaming is that it leverages a unified engine. In other words, the same business logic can be used across multiple uses cases: streaming, but also interactive, iterative, machine learning, etc.
This talk will compare case studies for production deployments of Spark Streaming, emerging design patterns for integration with popular complementary OSS frameworks, plus some of the more advanced features such as approximation algorithms, and take a look at what's ahead — including the new Python support for Spark Streaming that will be in the upcoming 1.2 release.
Also, let's chat a bit about the new Databricks + O'Reilly developer certification for Apache Spark…
Similar to MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEX (20)
The SQLT utility provides concise summaries of SQL performance and plans. It works by calling the SQL Tuning Advisor and Trace Analyzer to analyze execution plans, profiles, and trace files. The utility outputs comprehensive HTML reports on configuration findings, recommendations, and metadata for troubleshooting SQL performance issues.
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PIMonica Li
The document discusses a presentation about visualizing air traffic data using a Raspberry Pi and Oracle APEX. It includes an agenda for the presentation, details about assembling the necessary hardware and software components, loading and streaming air traffic data, and potential use cases for the data. The presentation also includes a live demo of visualizing air traffic data on a map.
This document discusses optimizing testing using data virtualization. It describes how data is often the constraint in software development and testing processes. Traditional attempts to solve this problem, like copying subsets of production data or taking snapshots, are inefficient and don't provide developers and testers access to fresh, full production data. The document introduces data virtualization as a solution, allowing instant provisioning of full production databases on demand for various testing environments.
MOUG17 Keynote: Oracle OpenWorld Major AnnouncementsMonica Li
Midwest Oracle Users Group Training Day 2017 Presentation by Rich Niemiec, Chief Innovation Officer at Viscosity North America.
Catch up on OOW17's top announcements in this 1 hour presentation.
Viscosity North America is an IT consulting firm specializing in database technologies like Oracle, RAC, virtualization, cloud, and big data. They provide on-premise and remote managed database services to help clients maintain high performance systems and reduce costs. Viscosity has experts in areas such as Exadata, zero downtime migrations, and database administration who can take over tasks from existing staff. A reference from McAfee praises Viscosity's professionalism and help in improving their IT systems.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
2. Text 12c to #444999 for Slides 1
Taming your IT Backlog
Low Code Microapps with APEX
1. Introductions
2. Defining Monlithic Apps and Micro Apps
3. Demo: Scrumtime Microapp Variations on the Same Theme
4. About Application Express and Low Code
5. Use Cases for Microapps in your own Organization
6. Demo: Let’s build a Microapp
7. Book Drawing and Swag (BLATENT BRIBE TO STAY TO THE END)
3. Austin, Texas
Engineer & Developer
Twitter @oraclecoffee
Oracle Apex Nerd
discovered in 2004 HTML-DB
Co-author Oracle Cloud Solutions Guide
Co-founder Viscosity North America
Data Science Specialist JHU
Passion for the Red Grape
Private Pilot
About Me
Jerry Ward, Co-Founder and Managing Partner, Viscosity
4. Oracle Cloud Pocket Solutions Guide
Real-Life Cloud Solutions
Available on Kindle or Paperback
The Oracle Cloud Pocket Solutions Guide will evolve
with Oracle Cloud with new features and
changes will be reflected immediately in the Kindle version
Charles Kim’s Hands-On Lab tours North America
through tech days and conferences held by
Viscosity, Oracle, and Oracle User Groups throughout the U.S.
Text 12c to #444999 to win
Or email hello@viscosityna.com
TO WIN THIS BOOK
Just TEXT 12C TO #444999
5. Text 12c to #444999 for Slides 4
About Viscosity
o A trusted advisor for Oracle customers
o We’re small and focused with depth and breadth of
experience
o Proven track record – clients always come back
o End-to-end solutions
o Certified Small and Minority Owned Business
6. Text 12c to #444999 for Slides 5
About Viscosity
We’ve written more than a dozen books on Data, Cloud, and ORACLE…
7. Text 12c to #444999 for Slides 6
About Viscosity
A Sampling of our Clients
Our clients range from Non-Profits, Small and Medium Businesses to the Fortune 50,
and from Commercial to the Local, State, and Federal Government
8. Text 12c to #444999 for Slides 7
About Viscosity
Oracle Application Express at our Core
11. Text 12c to #444999 for Slides 10
Agenda
Database and Application Modernization
1. Introductions
2. Defining Monlithic Apps and Micro Apps
3. Demo: Scrumtime Microapp Variations on the Same Theme
4. About Application Express and Low Code
5. Use Cases for Microapps in your own Organization
6. Demo: Let’s build a Microapp
7. Our two favorite SUPERHEROS
8. Book Drawing and Swag (BLATENT BRIBE TO STAY TO THE END)
15. 14
Microapp Characteristics
Not the same as Microservices
Quick to develop
Serve a single purpose
Easy to get up and running
But can work together
Often contained in the context
of something else
User oriented
Users tend to love them
19. Text 12c to #444999 for Slides 18
Taming your IT Backlog
Low Code Microapps with APEX
1. Introductions
2. Defining Monlithic Apps and Micro Apps
3. Demo: Scrumtime Microapp Variations on the Same Theme
4. About Application Express and Low Code
5. Use Cases for Microapps in your own Organization
6. Demo: Let’s build a Microapp
7. Our two favorite SUPERHEROS
8. Book Drawing and Swag (BLATENT BRIBE TO STAY TO THE END)
20. Text 12c to #444999 for Slides 19
Taming your IT Backlog
Low Code Microapps with APEX
1. Introductions
2. Defining Monlithic Apps and Micro Apps
3. Demo: Scrumtime Microapp Variations on the Same Theme
4. About Application Express and Low Code
5. Use Cases for Microapps in your own Organization
6. Demo: Let’s build a Microapp
7. Our two favorite SUPERHEROS
8. Book Drawing and Swag (BLATENT BRIBE TO STAY TO THE END)
22. Text 12c to #444999 for Slides 21
FEASIBLE
DESIRABLEVIABLE
what people
will use
what supports
the business
what is
technically possible
not cost
justified
nobody
wants to
use it
impossible
to build or
maintain
SUCCESS
How do we get there?
By focusing on the user experience
23. 22
Low Code
How do we get there?
Low Barrier to Entry
• Easy to Learn
• Not Overly Complex
• Rapid Application development
• Simple to Deploy
High Productivity
• Drag and Drop
• Feature Functions
• Consistency
• High Fidelity
• Concentrate on business requirements and not low-level coding
• Automate and improve poor business practices
• Greatly reduce costs of supporting the code
26. 25
Who Can Build Microapps?
Fun for the whole family…
Business Users
• Easy to Learn
• Not Overly Complex
• Interactive Reports / Grids
• Personalize my Apps
Developers
• Rapid Application
development
• Extensibible
• Code as much or as
little as you want
DBA’s
• In the database
• Efficient on the DB
• Easy to build monitoring
• Automate routine tasks
Analysts
• Fantastic Charting
• Oracle JET Chars
• 12.2 Analytic Views
27. Text 12c to #444999 for Slides 26
Source: Oracle
28. Text 12c to #444999 for Slides 27
Source: Oracle
29. Text 12c to #444999 for Slides 28
Source: Oracle
30. Text 12c to #444999 for Slides 29
Source: Oracle
31. Text 12c to #444999 for Slides 30
Source: Oracle
32. Text 12c to #444999 for Slides 31
Source: Oracle
34. Text 12c to #444999 for Slides 33
Taming your IT Backlog
Low Code Microapps with APEX
1. Introductions
2. Defining Monlithic Apps and Micro Apps
3. Demo: Scrumtime Microapp Variations on the Same Theme
4. About Application Express and Low Code
5. Use Cases for Microapps in your own Organization
6. Demo: Let’s build a Microapp
7. Book Drawing and Swag (BLATENT BRIBE TO STAY TO THE END)
35. Text 12c to #444999 for Slides 34
Tank Manager provides a simple and familiar self
service web interface to personnel that is much
easier than the Process Manufacturing forms.
(the screenshot is from Apex 4, EBS Theme)
A separate Jquery mobile interface was created
allowing mobile data collection. Plant operators
need only access to a web browser. They record
tank contents and other measurements as simple
readings without the need to perform conversion
calculations.
For customers utilizing Tank Management
Systems, Tank Farms, remote level sensors, and
data loggers, Tank Manager consolidates readings,
performs calculations and interfaces values.
My First htmldb App
Tank Manager for Oracle Process Manufacturing
51. Text 12c to #444999 for Slides 50
One of the Oracle Apex healthcare
apps allows the 2,200 Hospital
Networks (35,000 individual hospitals)
to benchmark contracts for services
purchased.
Services contracts across 250
categories (from elevator maintenance
to document shredding) are scanned
and quickly reviewed to pick out the
price drivers.
The solution uses percentile and
predictive analytical models.
Microapps for Healthcare
Improving Costs, Re-imbersements, and Clinical Quality of Care
52. Text 12c to #444999 for Slides 51
HIGH RESOLUTION PROTOTYPING
Each step of the user experience design
methodology comes together here, in the
final resolution mockup. This mockup is
tested with actual users, revised, then we
proceed to build.
During build the components are wired up
to Apex and quickly deployed for testing.
The build process is described in the next
section.
Microapps for Construction & Engineering
Lookahead Planning for Construction Sites
53. Text 12c to #444999 for Slides 52
Working with the a Federal Non-
profit. Viscosity has re-architected
their successful app in Apex.
The focus was on user experience and
design, modernization, and statistical
cohort identification.
In this “classroom dashboard”
administrators can quickly identify
low performing classes and students
so they can make corrective action
(prescriptive analytics).
Microapps for Education
Improving Student Success
54. Text 12c to #444999 for Slides 53
Building Microapps is Really, Really Fast with APEX
And some new tools that make it even faster…
Especially with QuickSQL and Blueprint
55. Oracle Cloud Pocket Solutions Guide
Real-Life Cloud Solutions
Available on Kindle or Paperback
The Oracle Cloud Pocket Solutions Guide will evolve
with Oracle Cloud with new features and
changes will be reflected immediately in the Kindle version
Charles Kim’s Hands-On Lab tours North America
through tech days and conferences held by
Viscosity, Oracle, and Oracle User Groups throughout the U.S.
Text 12c to #444999 to win
Or email hello@viscosityna.com
TO WIN THIS BOOK
Just TEXT 12C TO #444999