The general consensus among Java developers has evolved from a dogmatic strive for database independence to a much more pragmatic wish to leverage the power of the database. This session demonstrates some of the (hidden) powers of the database and how these can be utilized from Java applications using either straight JDBC or working through JPA. The Oracle database is used as example: SQL for Aggregation and Analysis, Flashback Queries for historical comparison and trends, Virtual Private Database, complex validation, PL/SQL and collections for bulk data manipulation, view and instead-of triggers for data model morphing, server push of relevant data changes, edition based redefinition for release management.
- overview of role of database in JEE architecture (and a little history on how the database is perceived through the years)
- discussion on the development of database functionality
- demonstration of some powerful database features
- description of how we leveraged these features in our JSF (RichFaces)/JPA (Hibernate) application
- demo of web application based on these features
- discussion on how to approach the database
datastage training | datastage online training | datastage training videos | ...Nancy Thomas
website : http://www.todaycourses.com
INTRODUCTION TO DATAWARE HOUSE (DW)
DATA WAREHOUSINGFUNDAMENTALS
Introduction of Data warehousing
purpose of Data warehouse
DW Architecture
Data warehouse vs. OLTP Applications
Data Mart
Data warehouse Lifecycle
DATA MODELING
Introduction of Data Modeling
Entity Relationship(ER) Model
Fact and Dimension Tables
Logical Modeling
Physical Modeling
Schemas – Star Schema & Snowflake Schemas
Fact less Fact Tables
PROCESS – ETL (EXTRACTION, TRANSACTION & LOAD)
Introduction of Extraction , Transformation and Loading (ETL)
Types of available ETL Tools
Key tools in the ETL market
INSTALLATION PROCESS (Datastage)
Windows server
Oracle
.NET
Datastage 7.5X2 & 8x
DIFFERENCE
Server jobs & Parallel jobs
COMPONENTS IN DATASTAGE
Administrator client
Designer client
Director client
Import/export manager
Multi client manager
Console for IBM Information server
Web console for IBM information server
datastage training, datastage online training, datastage training videos, datastage training online, learn datastage online, datastage tutorials for beginners, online datastage training, datastage online training courses, datastage administrator online training, datastage online training, best online datastage training, ibm datastage online training, datastage online training videos, datastage online training in chennai, best datastage training, datawarehousing online training, datastage demo videos
Impala Architecture Presentation at Toronto Hadoop User Group, in January 2014 by Mark Grover.
Event details:
http://www.meetup.com/TorontoHUG/events/150328602/
Data warehouses are time variant in the sense because they maintain both
historical and (nearly) current data. Operational databases, in contrast, contain only the most
current, up-to-date data values. Furthermore, they generally maintain this information for not
more than a year. In case of DWs, these are generally loaded from the operational databases
daily, weekly, or monthly which is then typically maintained for a long period.
datastage training | datastage online training | datastage training videos | ...Nancy Thomas
website : http://www.todaycourses.com
INTRODUCTION TO DATAWARE HOUSE (DW)
DATA WAREHOUSINGFUNDAMENTALS
Introduction of Data warehousing
purpose of Data warehouse
DW Architecture
Data warehouse vs. OLTP Applications
Data Mart
Data warehouse Lifecycle
DATA MODELING
Introduction of Data Modeling
Entity Relationship(ER) Model
Fact and Dimension Tables
Logical Modeling
Physical Modeling
Schemas – Star Schema & Snowflake Schemas
Fact less Fact Tables
PROCESS – ETL (EXTRACTION, TRANSACTION & LOAD)
Introduction of Extraction , Transformation and Loading (ETL)
Types of available ETL Tools
Key tools in the ETL market
INSTALLATION PROCESS (Datastage)
Windows server
Oracle
.NET
Datastage 7.5X2 & 8x
DIFFERENCE
Server jobs & Parallel jobs
COMPONENTS IN DATASTAGE
Administrator client
Designer client
Director client
Import/export manager
Multi client manager
Console for IBM Information server
Web console for IBM information server
datastage training, datastage online training, datastage training videos, datastage training online, learn datastage online, datastage tutorials for beginners, online datastage training, datastage online training courses, datastage administrator online training, datastage online training, best online datastage training, ibm datastage online training, datastage online training videos, datastage online training in chennai, best datastage training, datawarehousing online training, datastage demo videos
Impala Architecture Presentation at Toronto Hadoop User Group, in January 2014 by Mark Grover.
Event details:
http://www.meetup.com/TorontoHUG/events/150328602/
Data warehouses are time variant in the sense because they maintain both
historical and (nearly) current data. Operational databases, in contrast, contain only the most
current, up-to-date data values. Furthermore, they generally maintain this information for not
more than a year. In case of DWs, these are generally loaded from the operational databases
daily, weekly, or monthly which is then typically maintained for a long period.
Cloudera Impala: A Modern SQL Engine for HadoopCloudera, Inc.
This is a technical deep dive about Cloudera Impala, the project that makes scalable parallel databse technology available to the Hadoop community for the first time. Impala is an open-sourced code base that allows users to issue low-latency queries to data stored in HDFS and Apache HBase using familiar SQL operators.
Presenter Marcel Kornacker, creator of Impala, begins with an overview of Impala from the user's perspective, followed by an overview of Impala's architecture and implementation, and will conclude with a comparison of Impala with Dremel and Apache Hive, commercial MapReduce alternatives and traditional data warehouse infrastructure.
What is Data Warehousing? ,
Who needs Data Warehousing? ,
Why Data Warehouse is required? ,
Types of Systems ,
OLTP
OLAP
Maintenance of Data Warehouse
Data Warehousing Life Cycle
James Kinley from Cloudera:
An introduction to Cloudera Impala. Cloudera Impala provides fast, interactive SQL queries directly on your Apache Hadoop data stored in HDFS or HBase. In addition to using the same unified storage platform, Impala also uses the same metadata, SQL syntax (Hive SQL), ODBC driver and user interface (Hue Beeswax) as Apache Hive. This provides a familiar and unified platform for batch-oriented or real-time queries.
The link to the video: http://zurichtechtalks.ch/post/37339409724/an-introduction-to-cloudera-impala-sql-on-top-of
HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...Cloudera, Inc.
HBase application developers face a number of challenges: schema management is performed at the application level, decoupled components of a system can break one another in unexpected ways, less-technical users cannot easily access data, and evolving data collection and analysis needs are difficult to plan for. In this talk, we describe a schema management methodology based on Apache Avro that enables users and applications to share data in HBase in a scalable, evolvable fashion. By adopting these practices, engineers independently using the same data have guarantees on how their applications interact. As data collection needs change, applications are resilient to drift in the underlying data representation. This methodology results in a data dictionary that allows less-technical users to understand what data is available to them for analysis and inspect data using general-purpose tools (for example, export it via Sqoop to an RDBMS). And because of Avro’s cross-language capabilities, HBase’s power can reach new domains, like web apps built in Ruby.
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...Cloudera, Inc.
Speaker: Marcel Kornacker
As data is ingested into Apache Hadoop at an increasing rate from a diverse range of data sources, it is becoming more and more important for users that new data be accessible for analysis as quickly as possible—because “data freshness” can have a direct impact on business results.
In the traditional ETL process, raw data is transformed from the source into a target schema, possibly requiring flattening and condensing, and then loaded into an MPP DBMS. However, this approach has multiple drawbacks that make it unsuitable for real-time, “at-source” analytics—for example, the “ETL lag” reduces data freshness, and the inherent complexity of the process makes it costly to deploy and maintain, and reduces the speed at which new analytic applications can be introduced.
In this talk, attendees will learn about Impala’s approach to on-the-fly, automatic data transformation, which in conjunction with the ability to handle nested structures such as JSON and XML documents, addresses the needs of at-source analytics—including direct querying of your input schema, immediate querying of data as it lands in HDFS, and high performance on par with specialized engines. This performance level is attained in spite of the most challenging and diverse input formats, which are addressed through an automated background conversion process into Parquet, the high-performance, open source columnar format that has been widely adopted across the Hadoop ecosystem.
In this talk, attendees will learn about Impala’s upcoming features that will enable at-source analytics: support for nested structures such as JSON and XML documents, which allows direct querying of the source schema; automated background file format conversion into Parquet, the high-performance, open source columnar format that has been widely adopted across the Hadoop ecosystem; and automated creation of declaratively-specified derived data for simplified data cleansing and transformation.
In this presentation, Vineet will be explaining case study of one of my customers using Spark to migrate terabytes of data from GPFS into Hive tables. The ETL pipeline was built purely using Spark. The pipeline extracted target (Hive) table properties such as - identification of Hive Date/Timestamp columns, whether target table is partitioned or non-partitioned, target storage formats (Parquet or Avro) and source to target columns mappings. These target tables contain few to hundreds of columns and non standard date fomats into Hive standard timestamp format.
Compressed Introduction to Hadoop, SQL-on-Hadoop and NoSQLArseny Chernov
Fast, demo-enabled 60-min lecture, aligned to curriculum of RDBMS / SQL course taught at Singapore University of Technology and Design (SUTD), a collaboration with MIT. More details about this lecture and some photos here: http://bit.ly/sutd-mit-lecture
Real-time Big Data Analytics Engine using ImpalaJason Shih
Cloudera Impala is an open-source under Apache Licence enable real-time, interactive analytical SQL queries of the data stored in HBase or HDFS. The work was inspired by Google Dremel paper which is also the basis for Google BigQuery. It provide access same unified storage platform base on it's own distributed query engine but does not use mapreduce. In addition, it use also the same metadata, SQL syntax (HiveQL-like) ODBC driver and user interface (Hue Beeswax) as Hive. Besides the traditional Hadoop approach, aim to provide low-cost solution for resiliency and batch-oriented distributed data processing, we found more and more effort in the Big Data world pursuing the right solution for ad-hoc, fast queries and realtime data processing for large datasets. In this presentation, we'll explore how to run interactive queries inside Impala, advantages of the approach, architecture and understand how it optimizes data systems including also practical performance analysis.
Learn how Cloudera Impala empowers you to:
- Perform interactive, real-time analysis directly on source data stored in Hadoop
- Interact with data in HDFS and HBase at the “speed of thought”
- Reduce data movement between systems & eliminate double storage
Challenges of Building a First Class SQL-on-Hadoop EngineNicolas Morales
Challenges of Building a First Class SQL-on-Hadoop Engine:
Why and what is Big SQL 3.0?
Overview of the challenges
How we solved (some of) them
Architecture and interaction with Hadoop
Query rewrite
Query optimization
Future challenges
Apache HBase™ is the Hadoop database, a distributed, salable, big data store.Its a column-oriented database management system that runs on top of HDFS.
Apache HBase is an open source NoSQL database that provides real-time read/write access to those large data sets. ... HBase is natively integrated with Hadoop and works seamlessly alongside other data access engines through YARN.
This presentation is an overview of things all IT management team needs to consider before upgrading to Oracle Database 12c and were presented in a webinar: bit.ly/1yzSdsd
Oracle ACE Director Dan Morgan was a 12c beta tester and is intimately familiar with changes in architecture and how they will impact existing infrastructure and planning and budgeting considerations.
In 2015, most organizations will begin to migrate to the latest version of Oracle Database 12c, but few are aware of the challenges to management, planning and budgeting that need to be addressed before executing such a project. Dan Morgan presents what needs to be considered and shares a few tips about 12c new features.
If you have any questions regarding your future Oracle migrations and upgrades, feel free to visit Performance Tuning Corporation at www.perftuning.com
Antes de migrar de 10g a 11g o 12c, tome en cuenta las siguientes consideraciones. No es tan sencillo como simplemente cambiar de motor de base de datos, se necesita hacer consideraciones a nivel del aplicativo.
Cloudera Impala: A Modern SQL Engine for HadoopCloudera, Inc.
This is a technical deep dive about Cloudera Impala, the project that makes scalable parallel databse technology available to the Hadoop community for the first time. Impala is an open-sourced code base that allows users to issue low-latency queries to data stored in HDFS and Apache HBase using familiar SQL operators.
Presenter Marcel Kornacker, creator of Impala, begins with an overview of Impala from the user's perspective, followed by an overview of Impala's architecture and implementation, and will conclude with a comparison of Impala with Dremel and Apache Hive, commercial MapReduce alternatives and traditional data warehouse infrastructure.
What is Data Warehousing? ,
Who needs Data Warehousing? ,
Why Data Warehouse is required? ,
Types of Systems ,
OLTP
OLAP
Maintenance of Data Warehouse
Data Warehousing Life Cycle
James Kinley from Cloudera:
An introduction to Cloudera Impala. Cloudera Impala provides fast, interactive SQL queries directly on your Apache Hadoop data stored in HDFS or HBase. In addition to using the same unified storage platform, Impala also uses the same metadata, SQL syntax (Hive SQL), ODBC driver and user interface (Hue Beeswax) as Apache Hive. This provides a familiar and unified platform for batch-oriented or real-time queries.
The link to the video: http://zurichtechtalks.ch/post/37339409724/an-introduction-to-cloudera-impala-sql-on-top-of
HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...Cloudera, Inc.
HBase application developers face a number of challenges: schema management is performed at the application level, decoupled components of a system can break one another in unexpected ways, less-technical users cannot easily access data, and evolving data collection and analysis needs are difficult to plan for. In this talk, we describe a schema management methodology based on Apache Avro that enables users and applications to share data in HBase in a scalable, evolvable fashion. By adopting these practices, engineers independently using the same data have guarantees on how their applications interact. As data collection needs change, applications are resilient to drift in the underlying data representation. This methodology results in a data dictionary that allows less-technical users to understand what data is available to them for analysis and inspect data using general-purpose tools (for example, export it via Sqoop to an RDBMS). And because of Avro’s cross-language capabilities, HBase’s power can reach new domains, like web apps built in Ruby.
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...Cloudera, Inc.
Speaker: Marcel Kornacker
As data is ingested into Apache Hadoop at an increasing rate from a diverse range of data sources, it is becoming more and more important for users that new data be accessible for analysis as quickly as possible—because “data freshness” can have a direct impact on business results.
In the traditional ETL process, raw data is transformed from the source into a target schema, possibly requiring flattening and condensing, and then loaded into an MPP DBMS. However, this approach has multiple drawbacks that make it unsuitable for real-time, “at-source” analytics—for example, the “ETL lag” reduces data freshness, and the inherent complexity of the process makes it costly to deploy and maintain, and reduces the speed at which new analytic applications can be introduced.
In this talk, attendees will learn about Impala’s approach to on-the-fly, automatic data transformation, which in conjunction with the ability to handle nested structures such as JSON and XML documents, addresses the needs of at-source analytics—including direct querying of your input schema, immediate querying of data as it lands in HDFS, and high performance on par with specialized engines. This performance level is attained in spite of the most challenging and diverse input formats, which are addressed through an automated background conversion process into Parquet, the high-performance, open source columnar format that has been widely adopted across the Hadoop ecosystem.
In this talk, attendees will learn about Impala’s upcoming features that will enable at-source analytics: support for nested structures such as JSON and XML documents, which allows direct querying of the source schema; automated background file format conversion into Parquet, the high-performance, open source columnar format that has been widely adopted across the Hadoop ecosystem; and automated creation of declaratively-specified derived data for simplified data cleansing and transformation.
In this presentation, Vineet will be explaining case study of one of my customers using Spark to migrate terabytes of data from GPFS into Hive tables. The ETL pipeline was built purely using Spark. The pipeline extracted target (Hive) table properties such as - identification of Hive Date/Timestamp columns, whether target table is partitioned or non-partitioned, target storage formats (Parquet or Avro) and source to target columns mappings. These target tables contain few to hundreds of columns and non standard date fomats into Hive standard timestamp format.
Compressed Introduction to Hadoop, SQL-on-Hadoop and NoSQLArseny Chernov
Fast, demo-enabled 60-min lecture, aligned to curriculum of RDBMS / SQL course taught at Singapore University of Technology and Design (SUTD), a collaboration with MIT. More details about this lecture and some photos here: http://bit.ly/sutd-mit-lecture
Real-time Big Data Analytics Engine using ImpalaJason Shih
Cloudera Impala is an open-source under Apache Licence enable real-time, interactive analytical SQL queries of the data stored in HBase or HDFS. The work was inspired by Google Dremel paper which is also the basis for Google BigQuery. It provide access same unified storage platform base on it's own distributed query engine but does not use mapreduce. In addition, it use also the same metadata, SQL syntax (HiveQL-like) ODBC driver and user interface (Hue Beeswax) as Hive. Besides the traditional Hadoop approach, aim to provide low-cost solution for resiliency and batch-oriented distributed data processing, we found more and more effort in the Big Data world pursuing the right solution for ad-hoc, fast queries and realtime data processing for large datasets. In this presentation, we'll explore how to run interactive queries inside Impala, advantages of the approach, architecture and understand how it optimizes data systems including also practical performance analysis.
Learn how Cloudera Impala empowers you to:
- Perform interactive, real-time analysis directly on source data stored in Hadoop
- Interact with data in HDFS and HBase at the “speed of thought”
- Reduce data movement between systems & eliminate double storage
Challenges of Building a First Class SQL-on-Hadoop EngineNicolas Morales
Challenges of Building a First Class SQL-on-Hadoop Engine:
Why and what is Big SQL 3.0?
Overview of the challenges
How we solved (some of) them
Architecture and interaction with Hadoop
Query rewrite
Query optimization
Future challenges
Apache HBase™ is the Hadoop database, a distributed, salable, big data store.Its a column-oriented database management system that runs on top of HDFS.
Apache HBase is an open source NoSQL database that provides real-time read/write access to those large data sets. ... HBase is natively integrated with Hadoop and works seamlessly alongside other data access engines through YARN.
This presentation is an overview of things all IT management team needs to consider before upgrading to Oracle Database 12c and were presented in a webinar: bit.ly/1yzSdsd
Oracle ACE Director Dan Morgan was a 12c beta tester and is intimately familiar with changes in architecture and how they will impact existing infrastructure and planning and budgeting considerations.
In 2015, most organizations will begin to migrate to the latest version of Oracle Database 12c, but few are aware of the challenges to management, planning and budgeting that need to be addressed before executing such a project. Dan Morgan presents what needs to be considered and shares a few tips about 12c new features.
If you have any questions regarding your future Oracle migrations and upgrades, feel free to visit Performance Tuning Corporation at www.perftuning.com
Antes de migrar de 10g a 11g o 12c, tome en cuenta las siguientes consideraciones. No es tan sencillo como simplemente cambiar de motor de base de datos, se necesita hacer consideraciones a nivel del aplicativo.
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...Databricks
This talk is about sharing experience and lessons learned on setting up and running the Apache Spark service inside the database group at CERN. It covers the many aspects of this change with examples taken from use cases and projects at the CERN Hadoop, Spark, streaming and database services. The talks is aimed at developers, DBAs, service managers and members of the Spark community who are using and/or investigating “Big Data” solutions deployed alongside relational database processing systems. The talk highlights key aspects of Apache Spark that have fuelled its rapid adoption for CERN use cases and for the data processing community at large, including the fact that it provides easy to use APIs that unify, under one large umbrella, many different types of data processing workloads from ETL, to SQL reporting to ML.
Spark can also easily integrate a large variety of data sources, from file-based formats to relational databases and more. Notably, Spark can easily scale up data pipelines and workloads from laptops to large clusters of commodity hardware or on the cloud. The talk also addresses some key points about the adoption process and learning curve around Apache Spark and the related “Big Data” tools for a community of developers and DBAs at CERN with a background in relational database operations.
Access Data from XPages with the Relational ControlsTeamstudio
Did you know that Domino and XPages allows for the easy access of relational data? These exciting capabilities in the Extension Library can greatly enhance the capability of your applications and allow access to information beyond Domino. Howard and Paul will discuss what you need to get started, what controls allow access to relational data, and the new @Functions available to incorporate relational data in your Server Side JavaScript programming.
An AMIS Overview of Oracle database 12c (12.1)Marco Gralike
Presentation used by Lucas Jellema and Marco Gralike during the AMIS Oracle Database 12c Launch event on Monday the 15th of July 2013 (much thanks to Tom Kyte, Oracle, for being allowed to use some of his material)
M.
AMIS organiseerde op maandagavond 15 juli het seminar ‘Oracle database 12c revealed’. Deze avond bood AMIS Oracle professionals de eerste mogelijkheid om de vernieuwingen in Oracle database 12c in actie te zien! De AMIS specialisten die meer dan een jaar bèta testen hebben uitgevoerd lieten zien wat er nieuw is en hoe we dat de komende jaren gaan inzetten!
Deze presentatie is deze avond gegeven als een plenaire sessie!
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...Ashnikbiz
Ashnik Database Solution Architect, Sameer Kumar, an Open Source evangelist presented at FOSSASIA 2015 about the features of open source database like PostgreSQL which are missed by developers stuck on proprietary databases.
10 Features you would love as an Open Source developer!
- New JSON Datatype
- Vast set of datatypes supported
- Rich support for foreign Data Wrap
- User Defined Operators
- User Defined Extensions
- Filter Based Indexes or Partial Indexes
- Granular control of parameters at User, Database, Connection or Transaction Level
- Use of indexes to get statistics
- JDBC API for COPY -Command
- Full Text Search
*What is DBMS
*Database System Applications
*The Evolution of a Database
*Drawbacks of File Management System / Purpose of Database Systems
*Advantages of DBMS
*Disadvantages of DBMS
*DBMS Architecture
*types of modules
*Three-Tier and n-Tier Architectures for Web Applications
*different level and types
*Data Abstraction
*Data Independence
*Database State or Snapshot
*Database Schema vs. Database State
*Categories of data models
*Different Users
*Database Languages
*Relational Model
*ER Model
*Object-based model
*Semi-structured data model
Give you a brief overview of the product. - What is esProc SPL? And show some cases helping you to know what it uses for. Talk about why esProc works better. And overview its brief characteristics. After that, Introduce the main technical solutions which esProc is often used.
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
In this slide deck I show you how you can easily and quickly create quite rich web applications with Vue 3 – without having to study complex concepts or understand many technical details. I have only recently learned how to work with Vue 3 myself and now is the best time for me to share my learning experience (and my enthusiasm) with you. I know what I found essential to understand and what most got me excited in these early steps (what was a little bit hard to grasp). I believe that I can present my steps and guide you to experience the same fun and have a similarly gratifying experience. I am not an expert in this subject – I have barely learned how to walk and that is why I can help you with these first steps with Vue.
In this deck, I do not explain how Vue works. I do not really know that. I will show you how to work with it and how to create web applications that are functional, appealing, fast and responsive.
The approach I am taking is straightforward:
• I will tell you a little bit about web development, browsers and reactive frameworks
• I will show the hello world of Vue applications
• I will explain about components and nesting, events, data binding and reactive behavior and demonstrate these concepts
• I will introduce Vue UI Component libraries – and with no effort at all we will launch our application to the next level – with rich components to explore, manipulate, visualize data collections
• We will publish the web application from our development environment to where the whole world could see it – using GitHub Pages
• As bonus topic – we discuss state management
At the end of this session you will be able to quickly create a simple yet rich web application with Vue 3. You have a starting point to further evolve your skills with the many online resources I am convinced that you will enjoy your newfound powers and the simplicity and power of Vue 3.
Note: a tutorial accompanies this slide deck - see https://github.com/lucasjellema/code-face-vue3-intro-reactiive-webapps-aug2023/blob/main/README.md
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
Designing, agreeing on, implementing and testing the application is our first challenge. But it does not end there. Applications require tender love and care when they are live. Application Operations needs to be in place along with the functionality of the application. AppOps is the process of making sure that the applications are executed as required and that any problems are detected, reported and dealt with. Some mechanisms used in AppOps: transaction tracing, log analysis, post-data-exchange-checks, health checking of all systems involved, in-production-testing of end-to-end data flows. Additionally, AppOps takes care of configuration management, scaling, cost management, technical life cycle management on solution components. In this session, we will take a closer look at what is required to keep those applications going and how we do ops by design from early on in the agile process.
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
Cloud Based Development environments allow software engineers to work in a new and refreshing way. The development environment runs in the cloud, based on a coded environment definition and with the sources from a specific branch in a Git repository. The environment can be quite powerful in memory, CPU and storage. Development can be done from a lightweight device such as a Chromebook or even a tablet. Switching between different environments becomes a breeze, collaborating in an environment is easily done. Using network tunneling, the IDE could run locally against the remote workspace and remote ports can be accessed on localhost. This session demonstrates both Gitpod and Github Codespaces - similar SaaS offerings with generous free tiers. They are great for quick investigation into new technologies, for working through tutorials and for contributing to open source projects. You will smile at the ease and elegance of engineering your software in this way.
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
Introducing Apache Superset - an open source platform for data exploration, visualization and analysis - co-starring Trino and Steampipe for providing SQL access to many non-SQL data sources.
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
Enterprise IT systems are deaf, blind and highly insensitive. They do not know what is going on in the outside world. Through Internet of Things technology, we provide eyes, ears and hands that allow enterprises to learn about and react in real time to events in the physical world. The energy transition at a major Dutch energy company (Eneco) is powered by IoT technology – to steer and sometimes curtail windmills and solar farms and to coordinate local energy production and trade. This session shows you how the physical world was connected to the customer portals and apps, asset management systems and Kafka platform through the Azure cloud based IoT Hub en Edge, digital twin, serverless functions, timeseries datastores and streaming data analysis. It is a story about technological innovation on top of existing foundations and of a vision for business and our society at large.
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
I hear this aspiration from a growing number of organizations. Sometimes as a quite literal question. This however is merely half of a wish. Apparently, organizations want to quit with one thing — but have not yet stipulated what they desire instead. What is the objective that is pursued here? Only to get rid of Oracle? It will become clear why you should give a considerable thought about dropping Oracle, or any other vendors’ technology, when you’re not pleased with your current IT situation. You need to focus on the actual problems and objectives and define the suitable roadmap to fit your real needs. It turns out that the quest is usually for modernization and flexibility - and Oracle can very well be a part of that future.
Organizations with decades of investment in Oracle technology sometimes (and increasingly) express a wish to move away from Oracle. In this session, we will first explore where the desire to move away from Oracle might come from. Then we describe what the term Oracle represents — more than 2.000 products on all layers in the technology stack and in different business areas. Finally, we map out what the ‘moving away from’ consists of: defining where you ‘move to’ and subsequently actually going there.
It will become clear why you should give considerable thought about dropping Oracle, or any other vendors’ technology, when you’re not pleased with your current IT situation. You need to focus on the actual problems and objectives and define the suitable roadmap to fit your real needs. It turns out that the quest is usually for modernization and flexibility - and Oracle can very well be a part of that future.
Original storyline in this Medium Article: https://medium.com/real-vox/what-if-companies-say-help-me-move-away-from-oracle-ffbbc95afc4f
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
In 2019 the company started a small scale IoT project: smart meters in consumer homes, a cloud based IoT platform for device management, metrics collecting, monitoring and real time data processing. From the initial 12 devices and this single use case, the initiative has rapidly scaled, to tens of thousands devices - including entire wind parks and solar farms - and seven substantial business cases, not just for harvesting data but increasingly for real time actuation. The IoT Platform is feeding the brain at the heart of the enterprise - through an event streaming platform and an API platform. It supports complex operations with anomaly detection on metrics streams and device and communication monitoring. This session tells about the eye catching business cases - what are business objectives and results - and explains the journey since the start. It continues the story presented at DigitalXchange 2020 - discussing technical challenges and solutions as well as organizational aspects. Areas of particular interest: edge processing, data analytics and machine learning.
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
Pitch: The movie The Matrix made it clear: The Architect is powerful. How to be(come) and IT architect? What do you do, what do you need to know, is it fun and why? Using real world examples, core principles and useful tools, this session introduces the subtle art of designing and realizing flexible IT architectures. </p><p>Taking a step back to get and create an overview, frequently asking why to get to the real intention, bringing aspects such as cost, scale, time and change and business strategy into the design and bridging the gap between business owners, process managers and technical specialists. One way to define the responsibility of an IT architect. In this session, we will discuss what is expected of the architect and what you need to do for that and what you could use to get it done. How do you get started as an architect, how to grow in that role? We discuss a number of real life architectural challenges and solution design. And discuss a number of architecture principles, patterns, and powers to apply. Never stop programming - but perhaps rise to the architecture challenge too.
Notes: Many IT professionals aspire to become architects. Many architects wonder what it is they have to do. After 27 years in IT I find I have slowly and steadily moved into a role that I can probably use the label architect for, although still with some reluctance. What exactly does that mean - IT architect? While I may not have all answers and the ultimate truth and wisdom, I do have many architectural challenges to discuss and some core principles to share and a number of tips, tricks and tools to recommend that will help anyone get started or grow in a role as architect for software and IT systems. Elements that make an appearance include cloud, agile, DevOps, microservices, persistence, business, powers of persuasion, diagramming, cost, security, software engineering, data.
Outline: - two real world examples (one new business initiative, one running and struggling project) and how to approach them with an architect's mind - core principles to apply , patterns to us, what to unearth (the power question of WHY) - architecture products: what do you deliver as an architect; how do you ensure agility? - how to be effective? bringing your design to life - communication with stakeholders/powers of persuasion, monitoring adherence, being pragmatic but not lose grip; - anecdotal evidence from several small and large product teams - the good and also the ugly (architectural oversights and the consequences)
some specific answers to address - how much technical knowledge and programming skills does an architect require? What other knowledge is required and how to stay on top of your game? how to get going: first steps towards be(com)ing and architect?
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
Introduction to Steampipe - a tool for retrieving data and metadata about cloud resources, platform resources and file content - all through SQL. Data from clouds, files and platforms can be joined, filtered, sorted, aggregated using regular SQL. Steampipe offers a very convenient way to get hold of data that describes the environment in detail.
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
Automation of software delivery has several advantages. Prevention of human error is certainly one. Consistent and complete execution of tried and tested build and deployment tasks as the only way to apply changes in the live environment. Once the pipelines have been set up, the engineers can focus on the software and applying the required changes to it. To bring that software all the way to production is a breeze. Oracle Cloud Infrastructure offers the DevOps service, introduced in the Summer of 2021. This service comes with git style code repositories, build servers and build pipelines, artifact repositories as well as deployment pipelines. This session introduces OCI DevOps and demonstrates how software can be built and deployed on OKE Kubernetes, Compute Instance VMs and Oracle Functions. From simple source code an application is put in production without manual intervention in the build and deployment process.
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
Dapr.io is an open source product, originated from Microsoft and embraced by a broad coalition of cloud suppliers (part of CNFC) and open source projects. Dapr is a runtime framework that can support any application and that especially shines with distributed applications - for example microservices - that run in containers, spread over clouds and / or edge devices.
With Dapr you give an application a "sidecar" - a kind of personal assistant that takes care of all kinds of common responsibilities. Capturing and retrieving state, publishing and consuming messages or events. Reading secrets and configuration data. Shielding and load balancing over service endpoints. Calling and subscribing to all kinds of SaaS and PaaS facilities. Logging traces across all kinds of application components and logically routing calls between microservices and other application components. Dapr provides generic APIs to the application (HTTP and gRPC) for calling all these generic services – and provides implementations of these APIs for all public clouds and dozens of technology components. This means that your application can easily make use of a wide range of relevant features - with a strict separation between the language the application uses for this (generic, simple) and the configuration of the specific technology (e.g. Redis, MySQL, CosmosDB, Cassandra, PostgreSQL, Oracle Database, MongoDB, Azure SQL etc) that the Dapr sidecar uses. Changing technology does not affect the application, but affects the configuration of the Sidecar. Dapr can be used from applications in any technology - from Java and C#/.NET to Go, Python, Node, Rust and PHP. Or whatever can talk HTTP (or gRPC).
In this Code Café I will introduce you to Dapr.io. I will show you what Dapr can do for you (application) and how you can Dapr-izen an application. I'll show you how an asynchronously collaborative system of microservices - implemented in different technologies - can be easily connected to Dapr, first to Redis as a Pub/Sub mechanism and then also to Apache Kafka without modifications. Then we do - with the interested parties - also a hands-on in which you will apply Dapr yourself . In a short time you get a good feel for how you can use Dapr for different aspects of your applications. And if nothing else, Dapr is a very easy way to get your code with Kafka, S3, Redis, Azure EventGrid, HashiCorp Consul, Twillio, Pulsar, RabbitMQ, HashiCorp Vault, AWS Secret Manager, Azure KeyVault, Cron, SMTP, Twitter, AWS SQS & SNS, GCP Pub/Sub and dozens of other technology components talk.
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
For a long time I have been reluctant to actively contribute to an open source project. I thought it would be rather complicated and demanding – and that I didn't have the knowledge or skills for it or at the very least that they (the project team) weren't waiting for me.
In December 2021, I decided to have a serious input into the Dapr.io project – and now finally to determine how it works and whether it is really that complicated. In this session I want to tell you about my experiences. How Fork, Clone, Branch, Push (and PR) is the rhythm of contributing to an open source project and how you do that (these are all Git actions against GitHub repositories). How to learn how such a project functions and how to connect to it; which tools are needed, which communication channels are used. I tell how the standards of the project – largely automatically enforced – help me to become a better software engineer, with an eye for readability and testability of the code.
How the review process is quite exciting once you have offered your contribution. And how the final "merge to master" of my contribution and then the actual release (Dapr 1.6 contains my first contribution) are nice milestones.
I hope to motivate participants in this session to also take the step yourself and contribute to an open source project in the form of issues or samples, documentation or code. It's valuable to the community and the specific project and I think it's definitely a valuable experience for the "contributer". I looked up to it and now that I've done it gives me confidence – and it tastes like more (I could still use some help with the work on Dapr.io, by the way).
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
Apache Kafka is one of the best known enterprise grade message brokers – created at LinkedIn, donated to the Apache software foundation and used in an ever growing number of organizations to provide a backbone for asynchronous communication. This session introduces Apache Kafka – history, concepts, community and tooling. In a hands on lab, participants will create topics, publish and consume messages and get a general feel for Kafka. Simple microservices are developed in NodeJS – publishing to and consuming from Apache Kafka.
Dapr.io has support for Apache Kafka. Using Kafka through Dapr is very straightforward as is explained and demonstrated and applied in a second handson lab – with applications in various programming languages. Participants will even be able to exchange events across their laptops – through a cloud based Kafka broker.
Use of Apache Kafka in several architecture patterns is discussed – such as data integration, microservices, CQRS, Event Sourcing – along with a number of real world use cases from several well known organizations. The Kafka Connector framework is introduced – a set of adapters that allow us to easily connect Kafka to sources and sinks – where respectively change events are captured from and messages are published to.
Bonus Lab: Apache Kafka is ran on Kubernetes as is Dapr.io. Multiple mutually interacting microservices are deployed on the same local Kubernetes cluster.
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
This session does a quick recap of microservices: why do we want them, what problems do they solve and what are the principles around designing and implementing them? The Dapr.io runtime framework for distributed applications is introduced. Dapr provides a sidecar (almost like a personal assistant to a manager) to an application or microservice, a companion process that handles common tasks such as storing and retrieving state, consuming and publishing messages and events, invoking external services and other microservices as well as handling incoming requests. Participants will do a handson lab with Dapr.io and learn how to quickly implement interactions with various technologies, including Redis and MySQL.
Node(JS) is introduced – a server side JavaScript-based programming language that can be used well for implementing microservices. Some of the main characteristics of NodeJS are discussed (functional programming, asynchronous flows, NPM package manager) as well as common use cases (handle incoming HTTP requests, invoke REST APIs). In the second lab, Node and Dapr are used together to implement microservices that interact with databases and message brokers and each other – in a decoupled fashion.
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
The cloud is changing many things. Even the decision to not (yet) adopt cloud is one to make explicitly. Now is a time for any organization to reconsider the IT landscape. For each system we should make a conscious ruling on its roadmap. The 6R model suggests six ways to move a system forward.
This session uses the 6R model and applies it specifically to Oracle technology based systems: what are the options and considerations for Oracle Database, Oracle Fusion Middleware, custom applications, and other red components? What future should we consider and how do we choose? The paths chosen by several Oracle-heavy users is presented to illustrate these options and the decision making process. Oracle Cloud Infrastructure and Autonomous Database play a role, as do Azure IaaS and Azure Managed Database as well as on premises systems. Latency, recovery, scalability, licenses, automation, lock-in, skills, and resources all make their appearance.
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
Organizations with decades of investment in Oracle technology sometimes (and increasingly) express a wish to move away from Oracle. In this session, we will first explore where the desire to move away from Oracle might come from. Then we describe what the term Oracle represents -- more than 2.000 products on all layers in the technology stack and in different business areas. Finally, we map out what the 'moving away from' consists of: defining where you 'move to' and subsequently actually going there.
It will become clear why you should give considerable thought about dropping Oracle, or any other vendors' technology, when you're not pleased with your current IT situation. You need to focus on the actual problems and objectives and define the suitable roadmap to fit your real needs. It turns out that the quest is usually for modernization and flexibility - and Oracle can very well be a part of that future.
DevOps is a term used in many places and unfortunately also to mean many different things. This presentation (largely in Dutch) paints the DevOps picture. While it may not give a clear cut definition (there does not seem to be one) it certainly makes clear what DevOps is about, what objectives and origins are and which factors enable and drive DevOps.
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
Microcks is a tool for API Mocking and Testing. In this presentation an overview of the support in Microcks for asynchronous APIs - the event publishing and consuming behavior of services and applications
Cloud native applications offer scalability, flexibility, and optimal use of compute resources. Serverless functions interacting through events, leveraging cloud capabilities for persistent storage and automated operations take organization to the next level in IT. This session demonstrates polyglot Functions interacting with native cloud services for events and persistence (Object Storage and NoSQL Database) and leveraging the Key and Secrets Vault, Monitoring and Notifications services for operational control. A lightweight API Gateway is used to expose APIs to external consumers. Infrastructure as Code is the guiding principle in deploying both cloud resources and application components, through OCI CLI and Terraform. This session leverages many cloud native (enabling) services in Oracle Cloud Infrastructure. The session will introduce concepts, then spend most of the time on live demonstrations. All sources are shared with the audience, to allow participants to create the same application in their own cloud tenancy. What is so great about Cloud Native Applications? How do you create one? I will explain the first and demonstrate the second. On Oracle Cloud Infrastructure, using services that anyone can use for free, I will live create a cloud native application that streams, persists, notifies, scales, monitors Benefits: - get to know many different OCI services - understand the meaning, purpose and benefits of cloud native development - learn how to take your own first steps in OCI - for free!
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
3. Position of Database
• It almost feels like “a necessary evil”
• Database is abstracted away as much as
possible
• It’s the persistent data store
– It does CRUD (Create, Retrieve, Update &
Delete)
• What else could there be to it?
4. Database (Vendor) Independence
• Applications should not depend on a specific
vendor’s database
– Only use common functionality (available in ‘all’)
– Do not leverage special features of any
database
• Abstract database away through frameworks
– Use generic and/or generated SQL
• Do as little as possible relating to the RDBMS
– … even if the organization happens to have
enterprise editions and specialized db veterans
5. “We could also do that in the
database”
• in the database? Huh?
RDBMSRDBMS
≈
7. After the polarization (peak 2002)
pragmatism struck…
• EJB 2.x => JPA and EJB 3.0 (JEE 5)
• Consensus
– Leverage enterprise database for what it is
good at (you pay for it, may as well use it)
– Most applications will only be used on one
vendor’s database ever
– Even portable applications should still
leverage database strengths
• Through generic APIs with database specific
implementations
9. Team & Design that combines
strengths of all technologies…
- Ease and Elegance of Implementation
- Functionality (in an affordable way)
- Productivity
- Performance
JSF (Rich Faces)
SEAM
JPA (Hibernate)
Oracle RDBMSOracle RDBMS
10. Database Strengths
• Integrity
• Fine grained (data) security and auditing
• Data Retrieval
– joining tables together, leveraging indexes
– hierarchical, network-like traversals
– advanced analytics, historical queries, mining
• Aggregation and Sorting
• Complex & Massive Data Manipulation
11. Zooming in – using Oracle
• Have to pick one
• Largest market-share
• Fairly representative (e.g. ANSI SQL)
• The one I personally know best
Oracle RDBMSOracle RDBMS
13. Primary, Unique and Foreign
Key Constraints
• Definition in Database is Declarative
• Implementation is optimized
• Imagine the programming and performance
cost of a middle tier based implementation
14. Database
RDBMS not always exclusively
accessed through one Java API
SOA, ESB,
WebServices
Data Replication
&
Synchronization
Batch Bulk
Processes Standard
Applications
Legacy
Applications
15. Other data constraints
• Not Null
• Data Type:
– string, numeric, date (time), xml
– maximum length, integer/floating point
• Data Rules
– COMM < 0.3 * SAL
– COMM IS NULL or JOB = ‘SALESMAN’
– MGR != EMPNO
• Implemented using Column Definitions
and Check Constraints
16. Database Triggers – decorating
Data Manipulation
• Triggers execute before or after Insert,
Update or Delete of database records
Employees
Before Insert
trigger: sal=…
insert,update
,delete
17. Purpose of triggers
• Set default values on new records
– if :new.job=‘SALESMAN’ then :new.comm = 1000
• Calculate & Derive values upon insert,
update or delete
• Notify third parties of data manipulation
• Perform complex validation on the data
changes applied by the transaction
– Per Department: Max Salary < 1.8 * Average
– Per Manager: #subordinates < 15
18. JPA refreshing entities after
triggers have applied new values
@Entity
@Table(name = "EMP")
public class Employee
…
@Column(name=“sal”)
private Double salary
persist
Employees
Before Insert
trigger: sal=…
@ReturnInsert //EclLnk
@Generated (value=
GenerationTime.INSERT)
// Hibernate
19. The far reaches of SQL vs
the limit(itation)s of JPQL
• Many Java ORM-frameworks – including JPA
via Hibernate or EclipseLink – generate SQL
– Usually “database independent” SQL
– By and large only leveraging the common
functionality across databases
• As a consequence:
– Many Java applications do not exploit the
wealth of (the SQL of) their databases
– And use what they do leverage in a what is
possibly a suboptimal way
20. Aggregation & Rollup
• Data for reporting purposes can be prepared
by database queries
– Including aggregations
(max/min/avg/count/sum)
– and Sub Totals
– and Grand Total
– and String Aggregation
21. Sub and Grand
totals with Rollup
• Rollup instructs database
to aggregate at every level
starting from the right
– deptno, job
– deptno
– (grand total)
• Also see:
– Cube
– Grouping
Sets
22. Analytical Functions –
spreadsheet-style row processing
• Analytical Functions allow SQL queries to
perform inter-row comparison & aggregation
• For example: in a single query, for each
employee
– show salary rank in department and job
– show salary difference with colleague next
higher in rank (on the list per department)
– show average salary in the department
– show csv list of colleagues in department
24. Flashback Query
select emp.*
, dept.dname
from emp AS OF TIMESTAMP
(SYSTIMESTAMP - INTERVAL '1'
DAY)
, dept
where emp.deptno = dept.deptno
25. Flashback Versions
• Retrieve all states each record has been in
– Every transaction that touched a row left a version
of it
– Pseudocolumns: xid, operation, starttime, endtime
29. Retrieving Hierarchical data sets
with single SQL statements
• Database has optimized algorithms
– Starting at any node in the tree or network
– Drilling down to the specified number of levels
– Order siblings within parent
– Indicate leaf and parent nodes; detect cycles
EMPID ENAME MGR DEPTNO LEVEL
--------------- ---------- ---------- ---------- ----------
7839 KING 10 1
7698 BLAKE 7839 30 2
7499 ALLEN 7698 30 3
7900 JAMES 7698 30 3
7654 MARTIN 7698 30 3
7844 TURNER 7698 30 3
7521 WARD 7698 30 3
7782 CLARK 7839 10 2
7934 MILLER 7782 10 3
30. Encapsulate Database specific
SQL in a View API
• Views – for encapsulation of data model,
multi-table join, (advanced) SQL hiding,
authorization rules
– Note: a view looks like a table to the client
View
31. The read-only cursor API
• A Cursor is a reference to a query result set
• Database can open a cursor
for a SQL query
• And return it to the application
to fetch the rows from
• Cursor == JDBC
ResultSet
• A cursor can be
nested: contain
details …
Employees
Stored
Procedure
Departments
cursor
JDBC
ResultSet
while rs.next {
… }
34. Providing a ‘business object’ API
• DML API: a View – aided by an Instead Of trigger
• Insert of one new row in
USERS_VW (e.g. a JPA
persist operation) can actually
be four new records
– USER, PERSON,
EMAIL_TYPE
EMAIL_ADDRESS
USERS
PERSONS EMAIL_
ADDRESSES
EMAIL_TYPE
USERS Instead Of
DML trigger
*
* *
*
43. Other Database Features worth
investigating
• Virtual Private Database & Fine Grained Authorization
• XMLType, XMLDB & FTP/HTTP/WEBDAV server
• Object Types and Collections
• Data type Interval & Time Zone support
• Fine Grained Auditing
• System Triggers, for example “after logon”
• (Global) Application Context
• Autonomous Transaction
• Advanced Queuing (& JMS interaction)
• Creating advanced job execution schedules
• Edition Based Redefinition (versioning of database objects)
• Statistics and Data Mining
• Virtual Columns
44. Summary & Conclusions
• Databases can do much more than
• Java applications can benefit!
• Strike the right balance:
– Leverage database for
what it can do best
• Make Java and Database work together in a
smooth way
45. Use the right tool for the job
• Render HTML
• Enforce Application
Logic
• Handle User
Interaction
• Create graphics
• Interact with Internet
• (bulk) copy of data
• Guard
Uniqueness
• (large) Sort or
Aggregation
• (complex) SQL
• Enforce data rules
46. Summary & Conclusions
• Databases can do much more than
• Java applications can benefit!
• Strike the right balance:
• Make Java and Database work together
• Cater for ‘multiple database
consumers’
• Acquire expertise on your team
• Arrive at architectural design choices and
best development practices
47. Best Practices & Principles
• Prevent data to travel to the middle tier
unless it has to
– Performance (network and object
instantiation) & Resource Usage (memory)
• When data is on the middle tier: ensure it has
the required freshness
• Encapsulate database (specific) functionality
– NO SQL (in the middle tier)
– Decoupling and database (vendor) &
framework independence
48. Best Practices & Principles
• Use Views and Stored Procedures to create
APIs that encapsulate database functionality
– Note: the database brings constraints and
triggers to the party – weaved in like Aspects
– Cursors mapping to ResultSets allow retrieval
of nested data structures through simple calls
• Leverage the database for what it’s worth
• Include ‘database developer’ in your team
• Never be dogmatic
49. Want to know more?
• Have the sources for the demos
• Have this presentation presented & discussed at
your organization
• Learn about Java and the Database (Oracle)
• Inject (Oracle) Database expertise – in the context of
Java development - into your team
• Receive a paper with more details on ‘making the
database work for you & for ’
• Send me an email: lucas.jellema@amis.nl
• Visit our blog: http://technology.amis.nl/blog
50. Master Class
‘Java Developers make the
database work for you’
• Friday 17 December 2010
(AMIS, Nieuwegein):
– One day master class:
‘Java Developer make the database
work for you’
• For information and registration:
– lucas.jellema@amis.nl
Editor's Notes
Most Java Applications work with persistent data – one way or another
Various technologies are available for Java to connect to a RDBMS
Almost all access to the database happens across JDBC
Database SystemImplementation LanguageMicrosoft SQL ServerTransact-SQL and various .NET Framework languagesOraclePL/SQL or JavaDB2SQL/PL or JavaInformixSPLPostgreSQLPL/pgSQL, can also use own function languages such as pl/perl or pl/phpFirebirdPSQL (Fyracle also supports portions of Oracle&apos;s PL/SQL)MySQLown stored procedures, closely adhering to SQL:2003 standard.
Screenshot:
Frank sends email to Maggie – with a query on Employees
After some time, a response is sent to this particular email – by the queue listener using the JSP to send
(list of employee data, corresponding with “query”)