Edition-based redefinition (EBR) in Oracle Database 11g Release 2 is spectacular, introducing a new dimension to the database which allows us to version objects within a schema. Through EBR, we achieve zero-downtime application upgrade and multiple application versions simultaneously against one schema. No more big-bang upgrade! This session introduces EBR, demonstrates the SQL, and shows the multi-version application. It dives into some complexities of data synchronization between editions and discusses best practices with EBR.
Edition Based Redefinition - Continuous Database Application Evolution with O...Lucas Jellema
Performing an application upgrade with new versions of tables, views, and packages without downtime: that is the objective of many organizations striving for high availability of applications. A related objective is to run several versions of an application in parallel, with some users running against one version and others against another. In this session, learn how these objectives can be met and how database development can be organized using capabilities in the upcoming Oracle Database 11g Release 2. The session includes tips for migrating users and client applications one by one to the latest versions of the database objects without loss of availability; guidelines for benefiting from Release 2 functionality in this area; and a demo.
Edition Based Redefinition is THE new feature of the Oracle 11g Release 2 database. This presentation was given at the Planboard Symposium on November 17, 2009.
Edition Based Redefinition - Continuous Database Application Evolution with O...Lucas Jellema
Performing an application upgrade with new versions of tables, views, and packages without downtime: that is the objective of many organizations striving for high availability of applications. A related objective is to run several versions of an application in parallel, with some users running against one version and others against another. In this session, learn how these objectives can be met and how database development can be organized using capabilities in the upcoming Oracle Database 11g Release 2. The session includes tips for migrating users and client applications one by one to the latest versions of the database objects without loss of availability; guidelines for benefiting from Release 2 functionality in this area; and a demo.
Edition Based Redefinition is THE new feature of the Oracle 11g Release 2 database. This presentation was given at the Planboard Symposium on November 17, 2009.
DN 2017 | Big Data / Microservice Versioning | Thomas Pötter | Compris Techno...Dataconomy Media
Similar to the CAP trade-off (Consistency – Availability – Partition-Tolerance), this presentation demonstrates the C(A/P)S trade-off for protocol/data versioning which stands for the trade-off between the goals of Code amount (low), Availability/Performance and Storage (low) which can be achieved through lazy/eager migration or by creating multiple converters. This presentation then shows best practices for versioning and how the trade-off can be solved. A switchboard pattern is presented, which permits the use of different versions in parallel.
How to upgrade your application with no downtime (using edition-based redefin...Oren Nakdimon
Edition-Based Redefinition (EBR) is a powerful and fascinating feature of Oracle (added in version 11.2), that enables application upgrades with zero downtime, while the application is actively used and operational.
Join this presentation to learn how to use EBR, see many live examples, and get tips from real-life experience in a production site using EBR extensively.
This presentation shows the feature updates from Scala 2.12 to 2.13.
The list of features is not comprehensive, but it is my personal selection of favorites.
I will focus on those which IMO impact/ease the programmers live most.
I will look at 5 feature areas: compiler, standard library, language changes,
Future and finally the most important change the redesigned collections library.
I will not only show the new features of 2.13. In many cases I will show how the
new features of 2.13 can be backported to 2.12 und be used in mostly the same way as in 2.13.
Finally I'll give some guide lines for the migration from 2.12 to 2.13 and for a cross version
project which compiles a code base with both compiler versions.
Migrating minimal databases with minimal downtime to AWS RDS, Amazon Redshift and Amazon Aurora
Migration of databases to same and different engines and from on premise to cloud
Schema conversion from Oracle and SQL Server to MySQL and Aurora
DN 2017 | Big Data / Microservice Versioning | Thomas Pötter | Compris Techno...Dataconomy Media
Similar to the CAP trade-off (Consistency – Availability – Partition-Tolerance), this presentation demonstrates the C(A/P)S trade-off for protocol/data versioning which stands for the trade-off between the goals of Code amount (low), Availability/Performance and Storage (low) which can be achieved through lazy/eager migration or by creating multiple converters. This presentation then shows best practices for versioning and how the trade-off can be solved. A switchboard pattern is presented, which permits the use of different versions in parallel.
Similar to Introducing and Demonstrating Oracle Database 11gR2's Killer Feature – Edition- Based Redefinition for Developers and DBAs (ODTUG Kaleidoscope 2010)
How to upgrade your application with no downtime (using edition-based redefin...Oren Nakdimon
Edition-Based Redefinition (EBR) is a powerful and fascinating feature of Oracle (added in version 11.2), that enables application upgrades with zero downtime, while the application is actively used and operational.
Join this presentation to learn how to use EBR, see many live examples, and get tips from real-life experience in a production site using EBR extensively.
This presentation shows the feature updates from Scala 2.12 to 2.13.
The list of features is not comprehensive, but it is my personal selection of favorites.
I will focus on those which IMO impact/ease the programmers live most.
I will look at 5 feature areas: compiler, standard library, language changes,
Future and finally the most important change the redesigned collections library.
I will not only show the new features of 2.13. In many cases I will show how the
new features of 2.13 can be backported to 2.12 und be used in mostly the same way as in 2.13.
Finally I'll give some guide lines for the migration from 2.12 to 2.13 and for a cross version
project which compiles a code base with both compiler versions.
Migrating minimal databases with minimal downtime to AWS RDS, Amazon Redshift and Amazon Aurora
Migration of databases to same and different engines and from on premise to cloud
Schema conversion from Oracle and SQL Server to MySQL and Aurora
Oracle11g R2 - Edition Based Redefinition for On Line Application UpgradeLucas Jellema
Continuous database application evolution with Oracle RDBMS 11gR2 Editions
Performing an application upgrade with new versions of tables, views and packages without suffering any downtime. That is the objective of the Editions feature in Oracle RDBMS 11g Release 2. This presentations illustrates how database development can be organized using Edition Based Redefinition to allow various users and user communities to simultaneously work with different versions of database objects. It will show how to gracefully migrate users and client applications one by one to the latest versions of the database objects, without loss of availability.
7 free extensions which improve Visual Studio IDE for everyday work.
Video: https://vimeo.com/55845477
Similar to Introducing and Demonstrating Oracle Database 11gR2's Killer Feature – Edition- Based Redefinition for Developers and DBAs (ODTUG Kaleidoscope 2010) (20)
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!
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
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/
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
National Security Agency - NSA mobile device best practices
Introducing and Demonstrating Oracle Database 11gR2's Killer Feature – Edition- Based Redefinition for Developers and DBAs (ODTUG Kaleidoscope 2010)
1. Release 2 Release 3 Base Release Introducing and Demonstrating Oracle Database 11gR2's Killer FeatureEdition- Based Redefinition for Developers and DBAs ODTUG Kaleidoscope 2010 Lucas Jellema AMIS, The Netherlands
4. Database Upgrade Base release to Release 2 Authors New columns COUNTRY and BIOGRAPHY Books Drop column NUM_OF_PAGES Modified column ISBN (10 to 20 characters) New columns LANGUAGE and PUBLICATION_YEAR
10. Application Upgrade Creation of new objects Changing existing objects (alter and create or replace) Add, Modify or Drop columns or constraints Change packages and stored procedures Recompile Drop redundant objects Convert or migrate data Resume normal operations Application is DOWN
12. Restructuring A12 Build new road next to current one (A12-B) Same “functionality” as the old road At the cut-over moment Open new A12-B: Newly arriving traffic travels on temporary road Close A12 (original) Cars already on old road keep going
13. 11gR2 Editioning is similar Application Upgrade: Prepare new release Construct the release in parallel to the existing Operations in existing application ‘edition’ continue normally From the cut-over point: Have new sessions operate on new release Existing sessions can continue to run on existing release
16. Editions are parallel universes Database Objects are identified by Object Type Schema Object Name …. Edition! (release, application version, stripe, parallel universe id) Database Sessions run in the context of a specific edition Using a specific collection of versions of objects
17. Database sessions run in a specific edition –one version of each object Release 2 Release 3 Base Release The database as seen by a sessionrunning in the context of Release 3 3 2 3 B 2 2 3 3 2
20. The end of the big bang After the release of a new edition – there is no reason why you cannot keep the previous one going for some time And multiple previous ones! That means – END OF THE BIG BANG upgrade! Multiple versions of the application can continue running to support various user groups (e.g. SaaS) Without data migration and additional downtime upon later move over of user groups
21. Demo of Database Editions Existing base application, in base edition Create new edition – release_2 Create and Alter database objects Base application continues running Cut-over point New sessions run in release_2 edition Current sessions continue in base
22. CONNECT SYS/ORACLE as SYSDBA CREATE EDITION release_2; CREATE EDITION release_3 AS CHILD OF release_2; SELECT * FROM DBA_EDITIONS; CREATE USER SCOTTY identified by tiger; ALTER USER SCOTTY ENABLE EDITIONS FORCE GRANT USE ON EDITION release_2 TO SCOTTY CONNECT SCOTTY/TIGER ALTER SESSION SET EDITION = ORA$BASE CREATE OR REPLACE FUNCTION HELLO_WORLD ALTER SESSION SET EDITION = RELEASE_2 CREATE OR REPLACE FUNCTION HELLO_WORLD ALTER SESSION SET EDITION = RELEASE_3 DROP FUNCTION HELLO_WORLD Release 2 Release 3 Base Release 2 1 X
23. Some Rules for EBR (Edition Based Redefinition) EBR acts on packages, functions, triggers, procedures, views, types and synonyms EBR does not apply to tables Data is not versioned, cloned, migrated Different incarnations of a table are suggested through editioningviews – there is only one table Applications should never access tables directly!
24. Editions and Tables Tables cannot be versioned: there is only one definition of a table across all Editions Data is not versioned: a record exists once and only once The solution for managing changes to Tables: Editioning Views and Cross Edition Triggers Editioning Views are defined on base table (no joins) Editioning Views can have DML triggers defined (just like base table) Using an editioning view in a query or DML statement does not impact the performance of the query or DML
25. Editions and Tables Application A Application B Table EMP SAL MGR JOB ENAME HIREDATE COMM
26. Editions and Tables Application A Application B Editioning View EMP Table EMP_BASE SAL MGR JOB ENAME HIREDATE COMM
27. Oracle guarantees:The Execution Plan for a SQL query that uses an Editioning View is identical to that for the same query based directly on the table
28. Migrate to Editioning Views Rename Table (for example to <old table name>_BASE) Constraints continue to refer to the table Create the Editioning View with the old table name Using the ‘CREATE OR REPLACE EDITIONING VIEW <view name>’ statement Reroute privileges – grant on view rather than table Recompile the triggers on the table These now become triggers on the Editioning View Recompile all invalid PL/SQL program units and Views They now refer to the Editioning View instead of the table VPD policies are reassigned to the View Regular auditing and FGA is on the table
29. Demo ALTER TABLE EMP RENAME TO EMP_BASE; CREATE OR REPLACE EDITIONING VIEW EMP AS SELECT ... FROM EMP_BASE / DROP TRIGGER EMP_BRI / Rem recreate trigger on Editioning View @<EMP_BRI>.trg Rem recompile invalid Views and PL/SQL units
30. Multiple versions of Editioning View Application A Application B Edition R2 Edition R1 Editioning View EMP Editioning View EMP Table EMP_BASE SAL MGR JOB ENAME HIREDATE COMM
31. Multiple versions of Editioning View Application A Application B Edition R2 Edition R1 View EMP (1.1) …* Language View EMP (1.0) Table EMP_BASE SAL MGR JOB ENAME LANGUAGE HIREDATE COMM Forward CrosseditionTrigger
32. Demo CREATE EDITION R2 AS CHILD OF R1; ALTER SESSION SET EDITION R2; SHOW EDITION ALTER TABLE EMP_BASE ADD (LANGUAGE VARCHAR2(2) NULL); Rem function for deriving value for language CREATE OR REPLACE FUNCTION GET_LANGUAGE( p_job in varchar2) return varchar2 is begin return case p_job when 'MANAGER' then 'fr' else 'en' end; end;
33. Demo Rem Create Forward Crossedition Trigger Rem Applies to DML operations on EMP_BASE from Rem Earlier Editions CREATE OR REPLACE TRIGGER EMP_1_1_Fwd_Xed BEFORE INSERT OR UPDATE ON EMP_BASE FOR EACH ROW FORWARD CROSSEDITION DISABLE BEGIN :new.language = get_language(:new.job); END EMP_1_1_Fwd_Xed; Rem Enable the Forward Crossedition Trigger ALTER TRIGGEREMP_1_1_Fwd_Xed ENABLE;
34. Demo Rem Use Forward Crossedition trigger to Rem upgrade existing table records according to new table Rem version (for large # records use dbms_parallel_execute) DECLARE c NUMBER := DBMS_SQL.OPEN_CURSOR(); x NUMBER; BEGIN DBMS_SQL.PARSE ( c => c , Language_Flag => DBMS_SQL.NATIVE , Statement => 'UPDATE EMP_BASE SET EMPNO = EMPNO' , Apply_Crossedition_Trigger => 'EMP_1_1_Fwd_Xed' ); x := DBMS_SQL.EXECUTE(c); DBMS_SQL.CLOSE_CURSOR(c); COMMIT; END;
35. Upgrade Table Definition Make desired changes to the table Add columns, modify Columns, … (online redefinition) (Create Edition,) Set target Edition for session Modify the Editioning View in the Edition To reflect the table as its latest version should look Perhaps hiding columns you eventually want to drop (optional) Create Forward Crossedition Trigger on base table to have DML on previous Editions made valid (optional) Create Reverse Crossedition Trigger on base table to have DML on current Edition synch back
36. Cross Edition Triggers If you remove a (mandatory) column from the current Editioning View… a Reverse Crossedition Trigger ensures that new records get some value in that (invisible) column If you add a (mandatory) column to the table (and the current Editioning View)… a Forward Crossedition Trigger ensures that records DMLed through previous Editioning View versions are made valid (optionally) Apply Forward Crossedition Trigger for all existing records (created in old edition of the table) Use DBMS_SQL.parse (with parameter Apply_Crossedition_Trigger set to name of trigger) Use DBMS_PARALLEL_EXECUTE
37. Multiple versions of Editioning View Application A Application B Edition R3 View EMP (1.1) … (minus ENAME)* Language o FIRST_NAME * LAST_NAME Edition R1 Edition R2 View EMP (1.1) …* Language View EMP (1.0) Table EMP_BASE Reverse Crossedition Trigger SAL MGR JOB ENAME LANGUAGE FIRSTNAME LASTNAME HIREDATE COMM Forward CrosseditionTrigger
38. “Suggested (best) Practices” Every application (release) sets the Edition it requires when it connects to a session At the same time it calls dbms_application_info And sets other Context details Note: you could use multiple database service definitions to access the same database For example: ORCL_BASE, ORCL_R2, ORCL_R3 JEE data sources can be configured for a specific service A logon trigger can read the service name used to connect to the database and set edition accordingly
39. “Suggested (best) Practices” Applications should never access tables – all access should be through views Only through views can the data structure itself be Editioned Even triggers should be on the EditioningView Except cross edition triggers
40. Replacement Table Pattern Application A Application B Edition R2 Edition R1 EditioningView APP_DATA EditioningView APP_DATA Table APPLICATION_METADATA APPLICATION_METADATA_R2 ORGID USER VALUE KEY Default ORGID USER VALUE KEY Default
41. Alternative Approach for Data Versioning Application A Application B Edition R2 Edition R1 View DATA select *from EDITIONED_DATAwhere <current_edition> betweenas_of_edition anduntil_edition Table EDITIONED_DATA * as_of_edition * until_edition … normal columns
42. Interesting EBR Tid-Bits Drop Object in an Edition stops the inheritance from previous Edition. Object no longer is carried forward Edition can have only one child – no branches (yet) DBMS_SQL.PARSE can be executed in a specific Edition Use parameter edition to specify other than current edition If no explicit edition is set for a session, the default edition is used ALTER DATABASE DEFAULT EDITION = edition_name; Hints in queries against Editionable Views are understood in terms of the underlying table Logical EV column references are correctly mapped
43. Interesting EBR Tid-Bits DB Links & Materialized Views currently not editionable Objects of an editionable type are not editionable when used by a non-editionableobject PL/SQL Function used in Function Based Index or the definition of a Materialized View ADT used as the base type for a column in a table Data Dictionary Views DBA_/ALL_EDITIONS – editions in the database DBA_/ALL_OBJECTS – objects (inherited) in current edition DBA_/ALL_OBJECTS_AE – actual objects across all editions
44. Summary 11gR2 Editions are parallel, co-existing universes with incarnations of database objects The new release can be constructed, tested and run in a new edition The old edition can be switched off at cut-over Editions also allow long time co-existence of multiple releases of an application Application Upgrade no longer needs to disrupt the operation through planned downtime By the way: EBR is available in all DB editions
45. Conclusion See our blog for Oracle Database 11gR2 articles (other topics as well) http://technology.amis.nl/blog This presentation and the demo scripts are on the blog too Contact me: lucas.jellema@amis.nl
Editor's Notes
Introducing and Demonstrating Oracle Database 11gR2's Killer Feature – Edition- Based Redefinition for Developers and DBAs
SELECT sys_context('USERENV', 'SERVICE_NAME') FROM dual/orcl
Synonyms are editionableADT are not – though ADTs not used in (Editionable) Table may beAfter a drop you can recreate an object –the ancestry is based on name alone so the end result is the same as the starting pointEditions really is an extension of the Name Resolution mechanismIn addition to name and schema, the edition is taken into accountSQL Execution plans are the same for queries against the table and against the Editioning ViewWhen View 1 depends on View 2 – which version of View 2 is the one picked for view 1?The selection is made like this: whichever version of View 2 that is actual in the Edition where View 1 is createdFixed in 11g – DDL in parallel with running transactions against the same objects (?)Also/part of that: fine grained dependency trackingTools for comparing Editions?List of actual in Edition 2 and Edition 1Compare object levelDIYVPD and FGA work fine with Editionable Views