PL/SQL developers (as well as DBAs and many others involved) typically are uncertain what SOA means to them. They feel overwhelmed by a avalanche of acronyms. Yet they see it coming and instead of being surprised or bypassed, this session allows them to start participating and benefiting themselves. This session introduces SOA and the Oracle SOA Suite 11g to the realm of the PL/SQL developer - from which it sometimes seems so far removed. What are the key SOA concepts and objectives - what's the buzz about? What is at the heart of SOA Suite 11g: Composite Applications, BPEL PM and the Mediator.
The presentation demonstrates how SOA Services can be leveraged from the database – from Triggers and PL/SQL applications and how the database can publish events to the Event Delivery Network. It demonstrates how the SOA infrastructure can access the database, primarily using the Database Adapter – and how database developers can be instrumental in efficiently doing so. It concludes with some hints for applying SOA concepts for 'normal' database development.
All of the Performance Tuning Features in Oracle SQL DeveloperJeff Smith
An overview of all of the performance tuning instrumentation, tools, and features in Oracle SQL Developer. Get help making those applications and their queries more performant.
This presentation explains the major differences between SQL and NoSQL databases in terms of Scalability, Flexibility and Performance. It also talks about MongoDB which is a document-based NoSQL database and explains the database strutre for my mouse-human research classifier project.
by Mahesh Pakal, AWS
PostgreSQL is a powerful, enterprise class open source object-relational database system with an emphasis on extensibility and standards-compliance. PostgreSQL boasts many sophisticated features and runs stored procedures in more than a dozen programming languages. We’ll explore the advantages and limitations of PostgreSQL, examples of where it is best suited for use, and examples of who is using PostgreSQL to power their applications.
PostgreSQL Tutorial for Beginners | EdurekaEdureka!
YouTube Link: https://youtu.be/-VO7YjQeG6Y
** MYSQL DBA Certification Training https://www.edureka.co/mysql-dba **
This Edureka PPT on PostgreSQL Tutorial For Beginners (blog: http://bit.ly/33GN7jQ) will help you learn PostgreSQL in depth.
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
All of the Performance Tuning Features in Oracle SQL DeveloperJeff Smith
An overview of all of the performance tuning instrumentation, tools, and features in Oracle SQL Developer. Get help making those applications and their queries more performant.
This presentation explains the major differences between SQL and NoSQL databases in terms of Scalability, Flexibility and Performance. It also talks about MongoDB which is a document-based NoSQL database and explains the database strutre for my mouse-human research classifier project.
by Mahesh Pakal, AWS
PostgreSQL is a powerful, enterprise class open source object-relational database system with an emphasis on extensibility and standards-compliance. PostgreSQL boasts many sophisticated features and runs stored procedures in more than a dozen programming languages. We’ll explore the advantages and limitations of PostgreSQL, examples of where it is best suited for use, and examples of who is using PostgreSQL to power their applications.
PostgreSQL Tutorial for Beginners | EdurekaEdureka!
YouTube Link: https://youtu.be/-VO7YjQeG6Y
** MYSQL DBA Certification Training https://www.edureka.co/mysql-dba **
This Edureka PPT on PostgreSQL Tutorial For Beginners (blog: http://bit.ly/33GN7jQ) will help you learn PostgreSQL in depth.
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
I will be sharing simple SQL queries that will help you manage Oracle database users.
Article full link is here: https://www.support.dbagenesis.com/post/oracle-user-management
Oracle now boasts two Low Code development tools for building new applications or extending your Cloud services: Application Express (APEX) and Visual Builder Cloud Service (Visual Builder). How do they measure up? Which is right for your organization? Do they work together? Which is best, for which use cases?
This session presents APEX and Visual Builder side by side, using a common application to illustrate the talking points. Learn essential information for making an informed decision on which to use – or both. Learn about key features for development, deployment, costs, learning curve, usability, and time to master. We will also discuss going beyond the low-code features – how each stands up to implementing complex requirements. For those who have not seen APEX or Visual Builder, or want to see the side by side comparison, here you go. Come learn which is the right cloud development tool your business needs.
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
At the end of the year 2020, Oracle released 21c on its Cloud infrastructure. The on-premises version will follow later this year. As with every new Oracle version, the Data Pump utility gets new features or enhancements for existing features.
This presentation gives an overview of the enhancements of Data Pump and Transportable Tablespaces. The following list is an excerpt of the points I will talk about
- Simultaneous use of EXCLUDE and INCLUDE
- Parallelized import of metadata during a TTS import operation
- Checksum support for dump files
- Direct access to Oracle Cloud Object Store for exports and imports
Let's get into several common types of queries that developers struggle with, showing SQL solutions, and then analyze them for optimal efficiency. I'll cover Exclusion Join, Random Selection, Greatest-Per-Group, Dynamic Pivot, and Relational Division.
How to Analyze and Tune MySQL Queries for Better Performanceoysteing
Tutorial at Oracle Open World 2015:
Performance of SQL queries plays a big role in application performance. If some queries execute slowly, these queries or the database schema may need tuning. This tutorial covers query processing, optimization methods, and how the MySQL optimizer chooses a specific plan to execute SQL. See demonstrations on how to use tools such as EXPLAIN (including the JSON-based variant), optimizer trace, and performance schema to analyze query plans. See how the Visual Explain functionality in MySQL Workbench helps you to visualize these plans. Based on the analysis, the tutorial covers how to take the next steps for performance tuning. It might mean forcing a particular index, changing the schema, or modifying configuration parameters.
The Interactive Grid is introduced in APEX 5.1 as a best of both worlds of Tabular Forms and Interactive Reports. Although a lot of settings are declaratively avaible within the APEX builder, there are a ton of features built in that are only accessible by JavaScript.
In this session you will learn how to use the most interesting "hidden" features with just a few lines of JavaScript.
Some examples:
- Adding and removing buttons from the Interactive Grid toolbar.
- Adding and removing actions from the toolbar menu.
- Adding and removing functionality from the row level pop up menu.
- Removing complexity on the column level.
- Adding tooltips to a column.
- Changing the layout of columns and headings.
- Refreshing (only) changed records within the grid.
- Removing only deleted records from the grid - without a full refresh.
This talk will be about managing DB scripts in our projects, from how to choose file structure to how easily manage them with large development team and run on different environments. We will look deep in the most popular tool for DB script migrations – Liquibase. How to write reliable scripts for Liquibase? How to run them everywhere? How to integrate them with Maven or Spring Boot? Answers for all these questions will be in this talk.
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsLucas Jellema
This session introduces SOA and the new Oracle SOA Suite 11g to the realm of database professionals from which it sometimes seems so far removed. What are the key SOA concepts and objectives? What is at the heart of Oracle SOA Suite 11g: composite applications, BPEL PM, and the mediator. The session shows how SOA services can be leveraged from the database, from triggers, PL/SQL units, or even SQL and how the database can publish events to the event delivery network. It covers how the SOA infrastructure can access the database, primarily using Oracle Database and Oracle Advanced Queueing adapter and how database developers can help in doing so efficiently. It ends with hints for applying SOA concepts to "normal" database development.
I will be sharing simple SQL queries that will help you manage Oracle database users.
Article full link is here: https://www.support.dbagenesis.com/post/oracle-user-management
Oracle now boasts two Low Code development tools for building new applications or extending your Cloud services: Application Express (APEX) and Visual Builder Cloud Service (Visual Builder). How do they measure up? Which is right for your organization? Do they work together? Which is best, for which use cases?
This session presents APEX and Visual Builder side by side, using a common application to illustrate the talking points. Learn essential information for making an informed decision on which to use – or both. Learn about key features for development, deployment, costs, learning curve, usability, and time to master. We will also discuss going beyond the low-code features – how each stands up to implementing complex requirements. For those who have not seen APEX or Visual Builder, or want to see the side by side comparison, here you go. Come learn which is the right cloud development tool your business needs.
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
At the end of the year 2020, Oracle released 21c on its Cloud infrastructure. The on-premises version will follow later this year. As with every new Oracle version, the Data Pump utility gets new features or enhancements for existing features.
This presentation gives an overview of the enhancements of Data Pump and Transportable Tablespaces. The following list is an excerpt of the points I will talk about
- Simultaneous use of EXCLUDE and INCLUDE
- Parallelized import of metadata during a TTS import operation
- Checksum support for dump files
- Direct access to Oracle Cloud Object Store for exports and imports
Let's get into several common types of queries that developers struggle with, showing SQL solutions, and then analyze them for optimal efficiency. I'll cover Exclusion Join, Random Selection, Greatest-Per-Group, Dynamic Pivot, and Relational Division.
How to Analyze and Tune MySQL Queries for Better Performanceoysteing
Tutorial at Oracle Open World 2015:
Performance of SQL queries plays a big role in application performance. If some queries execute slowly, these queries or the database schema may need tuning. This tutorial covers query processing, optimization methods, and how the MySQL optimizer chooses a specific plan to execute SQL. See demonstrations on how to use tools such as EXPLAIN (including the JSON-based variant), optimizer trace, and performance schema to analyze query plans. See how the Visual Explain functionality in MySQL Workbench helps you to visualize these plans. Based on the analysis, the tutorial covers how to take the next steps for performance tuning. It might mean forcing a particular index, changing the schema, or modifying configuration parameters.
The Interactive Grid is introduced in APEX 5.1 as a best of both worlds of Tabular Forms and Interactive Reports. Although a lot of settings are declaratively avaible within the APEX builder, there are a ton of features built in that are only accessible by JavaScript.
In this session you will learn how to use the most interesting "hidden" features with just a few lines of JavaScript.
Some examples:
- Adding and removing buttons from the Interactive Grid toolbar.
- Adding and removing actions from the toolbar menu.
- Adding and removing functionality from the row level pop up menu.
- Removing complexity on the column level.
- Adding tooltips to a column.
- Changing the layout of columns and headings.
- Refreshing (only) changed records within the grid.
- Removing only deleted records from the grid - without a full refresh.
This talk will be about managing DB scripts in our projects, from how to choose file structure to how easily manage them with large development team and run on different environments. We will look deep in the most popular tool for DB script migrations – Liquibase. How to write reliable scripts for Liquibase? How to run them everywhere? How to integrate them with Maven or Spring Boot? Answers for all these questions will be in this talk.
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsLucas Jellema
This session introduces SOA and the new Oracle SOA Suite 11g to the realm of database professionals from which it sometimes seems so far removed. What are the key SOA concepts and objectives? What is at the heart of Oracle SOA Suite 11g: composite applications, BPEL PM, and the mediator. The session shows how SOA services can be leveraged from the database, from triggers, PL/SQL units, or even SQL and how the database can publish events to the event delivery network. It covers how the SOA infrastructure can access the database, primarily using Oracle Database and Oracle Advanced Queueing adapter and how database developers can help in doing so efficiently. It ends with hints for applying SOA concepts to "normal" database development.
Patterns provide structure and clarity, enabling architects to establish their solutions across the enterprise. Moreover, these software patterns also help to link technology and business requirements in an effective and efficient manner. Patterns help to incorporate robust solutions for business problems due to it’s wide adoption as well as it’s reusability. In addition, patterns create a common method to communicate, document and describe solutions. This session will explain some of these patterns ranging from SOA (Service-Oriented Architecture), WOA (Web-Oriented Architecture), EDA (Event Driven Architecture), and IoT (Internet of Things)
Advanced PLSQL Optimizing for Better PerformanceZohar Elkayam
A Presentation from Oracle Week 2015 in Israel
Agenda:
• Developing PL/SQL:
o Composite Data Types: Records, Collections and Table type
o Advanced Cursors: Ref cursor, Cursor function, Cursor subquery in PL/SQL
o Bulk Binding
o Dynamic SQL – SQL Injection
o Tracing PL/SQL Execution
o Design patterns for PL/SQL: Autonomous Transactions, Invoker and Definer rights, serially_reusable code
o Triggers Improvements
• Compiling PL/SQL:
o PL/SQL Fine-Grain Dependency Management
o PLSQL_OPTIMIZE_LEVEL parameter
o PL/SQL Compile-Time Warnings and Using DBMS_WARNING package
• Tuning PL/SQL:
o Handling Packages in Memory
o Global Temporary Tables
o PL/SQL Function Result Cache and pitfalls
• Oracle Database 12c PL/SQL new features: What is new in Oracle 12c
o Language Usability Enhancements
o New Limitations
• Additional useful features, Tips and Tricks for better performance
PL/SQL is a combination of SQL along with the procedural features of programming languages.
It provides specific syntax for this purpose and supports exactly the same datatypes as SQL.
The Oracle PL/SQL compiler does much more than compile code. It also automatically optimizes code, supports conditional compilation, and compile-time warning (lint checking).
Collections are PL/SQL's approach to arrays. We have three types of collections (associative arrays, nested tables, varrays) and this presentation explores both the common features of these datatypes, and their differing characteristics. Copyright 2016 Oracle Corporation.
Every enterprise has a multitude of existing systems - including on-premise as well as cloud solutions - that perform critical functions. Integrating data and services across these systems is critical for an enterprise to successfully implement its digital transformation efforts. Therefore, most often than not, enterprise integration is at the heart of any organization’s digital transformation strategy.
Oracle fusion soa online training in africamagnificsmile
www.Magnifictraining.com-oracle oracle soa online training. contact us: info@magnifictraining.com or call us: +919052666559 oracle soa technologies like oracle soa suite,oracle soa bpel online training,oracle soa 11g online training,oracle soa admin online training,oracle soa bpm training,oracle soa developer training,oracle fusion soa training .real time Oracle scm online training by industrail experts for details call:+919052666559 hands on training on oracle online TRAINING.
Oracle fusion soa online training in africamagnifics
www.Magnifictraining.com-oracle oracle soa online training. contact us: info@magnifictraining.com or call us: +919052666559 oracle soa technologies like oracle soa suite,oracle soa bpel online training,oracle soa 11g online training,oracle soa admin online training,oracle soa bpm training,oracle soa developer training,oracle fusion soa training .real time Oracle scm online training by industrail experts for details call:+919052666559 hands on training on oracle online TRAINING.
Oracle fusion soa online training in africamagnificsairam
www.Magnifictraining.com-oracle apps r12 scm fuctional online training.
contact us: info@magnifictraining.com or
call us: +919052666559
oracle apps technologies like oracle discrete manufacturing, oracle apps purchasing training,
oracle apps order management training,oracle apps r12 functional training.
real time Oracle scm online training by industrail experts
for details call:+919052666559 hands on training on oracle online TRAINING.
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
Apache Kafka is a popular distributed streaming data platform and more and more is the architectural backbone for integrating streaming data with a Data Lake, Microservices and Stream Processing. A lot of data necessary in stream processing is stored in traditional systems backed by relational databases. This session will present different approaches for integrating relational databases with Kafka, such as Kafka Connect, Oracle GoldenGate, ORDS APIs and bridging Kafka with Oracle AQ.
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...Lucas Jellema
The organization had been using Oracle RDBMS, Oracle Designer & Forms and even an Oracle EBS module for many years. On the side it had been running several open source J2EE web applications. Facing several new challenges, it took the plunge into SOA - the technology and the architectural principle.
This presentation tells their story.
It started with the business need of opening up the core application to several external business partners. A programmatic interface was required for submitting expense reports - in the thousands - for one business partner, who also wanted to be able to ask for the status for each one those reports.
Another external entity needed the ability to learn about relevant changes in product and pricing data through an API.
We will discuss how SOA principles were used to design the application architecture. And how the Oracle 10g SOA Suite - specifically ESB and BPEL PM - were used to implement the requirements. We go into the choices the organization had to make, the challenges they had to overcome, the skills they had to acquire and the results they achieved.
After this first stage came the next set of business requirements needed tackling. And now the first benefits could be reaped. Following the guidelines established in their first close encounter with SOA, this organization achieved the first reuse of services, could rapidly decide on the application architecture for the ADF 11g Internet Application that needed to be created and further expanded their still little SOA universe. The initial experience now enabled them to decide on whether and how to service enable specific functionality required for the web application - how to use ESB and BPEL, for example and when to use application specific database APIs rather than SOA Web Services.
This stage also taught them the necessity of Governance - what are naming conventions for elements in Schema Definitions and Services, who owns a service, what’s the required availability and how is that achieved, what are the SLAs (Service Level Agreements) around the service, how can the service be evolved with respect to new or changing needs.
The presentation will tell the story of the two stages and how the organization went about them. It will show some small demos to illustrate what was done. It will share some conclusions as to what works and what does not. Finally it briefly discusses the future plans for this organization with regard to SOA.
The presentation is for an audience that probably (though not necessarily) has a classic Oracle background and either is in the process of taking its first steps in the SOA arena or considers moving their. It should help make that process more tangible and hopefully realistic and desirable.
Summary:
The organization had been using Oracle RDBMS, Oracle Designer & Forms and even an Oracle EBS module for many years. Facing several new challenges, it took the plunge into SOA - the technology and the architectural principle. This presentation tells their story. Of getting started with BPEL and ESB, with Governance and Security (OWSM) and of applying SOA principles. And of the second phase where reuse and agility started to occur.
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!
3. SOA is not…
• XML
• WebService
• SOAP
• Middle Tier or Application Server
• Java
• High level – abstract – architecture
• Unrelated to the database and PL/SQL
• Complex
only/always
7. Types of decoupling
• Functional
– Interface - Encapsulation of implementation
• Design by Contract, Implement by Design
• Design Time
– Separate teams working in parallel based on mutually
agreed interface definitions
• Technical
– No proprietary technology, protocol, message format
– Standards based (XML, HTTP, RSS, WSDL…)
• Temporal
– Asynchronous communication (separate response)
8. Objectives (1/2)
• Business Agility
– (Faster) responses to (new and changing) market
demands and user requirements
• IT Flexibility
– Optimize locally without impact ‘globally’
– Prepare for future developments
• Lower costs
– Through reuse, better integration, decoupling,
automation of manual tasks & human coordination
9. Objectives (2/2)
• (longer term) Higher Quality and Faster
(traceable) Process execution
– Automated data exchange cross boundaries
– Workflow and task orientation
• integrated, cross department, in a controlled way based
on sound understanding of the business processes
– Business Event driven interaction
• Manage risks and fear
10. Common Characteristics in SOA
• Cross Boundaries
– Cross Technology - .Net, Uniface, Java, Tibco
– Cross Channel – Back Office, Web, PDA, API
– Cross User Group – Internal, Agents, Self Service
– Cross Domain – Multiple departments & systems
– Cross Enterprise – Interact with external partners
• Data synchronization or consolidation
• Management whim Vision
• From Database angle: providing services
11. What is a service?
• Standards based callable, reusable functionality
according to an interaction contract
• In terms of functionality (WSDL – compare
Package Specification)
– What are the input parameters
– What are the output parameters (if any)
– What are the exceptions
– How (when, where) is the
response delivered
– Implementation is hidden!
12. What is a service (2)?
• In terms of operational QoS (Quality of Service)
define in a Service Level Agreement (SLA)
– Availability
– Stability & Release schedule
– Response Time
– Peak load capacity
– Price
– Reliability, Confidentiality
– Address, protocol
13. Services in various shapes
• Library (dll, jar)
• Java Class (public methods) or an EJB
(interface)
• URL
• RSS feed
• Portlet (UI Service)
• SOAP WebService
• Database View or Package Specification
• ….
If it exposes a clear,
standardized interface
14. Example of a service call?
• Browser sends
http request to a URL
– Text based message
with headers and body
15. What is a service call?
• Server returns a response
– Another text based
message with headers
and body
22. function func ( p_name in varchar2
,p_sal in number
,p_hiredate in date
)
return number
23. function func ( p_name in varchar2
,p_sal in number
,p_hiredate in date
)
return number
Expectation
regarding Valid Input
Agreed Contract
Indication of possible
Exceptions
Description of
output value
24. -- Description of this function
--
-- %param p_name Name of an Employee
-- {*} Requirement Name must be provided
--
-- %param p_sal Salary of the Employee
-- {*} Requirement Salary must be greater than zero
--
-- %param p_hiredate Hiredate
-- {*} Requirement Hiredate must be in the Future
--
-- %raises DBC.AssertFail
-- When a Parameter does not match the requirement
--
-- %raises EmployeeNotFound
-- When a an employee with p_name can not be found
--
-- %return
-- The value returned is an integer: 0 < return <= 4
25. Key SOA concepts and lessons
• Functional interface, hiding implementation details
– Simple View API (possibly with IOT) – with complex joins,
analytical functions, advanced SQL and PL/SQL integration
– Package specification
26. API Services for consumers
• Views – for encapsulation of (legacy) model, multi-table
join, collection integration, SQL hiding (but still SQL)
• PL/SQL – for encapsulation, cursor based data retrieval,
DML hiding, table decoupling (no SQL)
View
27. Providing a ‘business object’ API
• DML API: can be a View – aided by Instead Of trigger
• Insert of one new row in
USERS_VW can actually
be four new records
– USER, PERSON,
EMAIL_TYPE
EMAIL_ADDRESS
USERS
PERSONS EMAIL_
ADDRESSES
EMAIL_TYPE
USERS
*
* *
*
28. FIY Data Service API: returning
cursors
• Fetch it Yourself!
• Cursor opened to be fetched from
– Data is gathered and
pre-processed before being returned
– SQL is wrapped
• And can be constructed at run-time
– Access privileges are taken care of
– Cursors can be handled elegantly
in most client languages and technologies
• For example Java: JDBC ResultSet
Prompt
Prompt
Prompt
Prompt
Prompt
Prompt Prompt Prompt Prompt
A
ct
ie
A
ct
ie
HRM_API
CURSOR
29. Demo
• Create a database “service”
– for retrieving a department, its employees and the
manager for each employee
– that is promotes decoupling and encapsulates
implementation
– that can be extended to also support
data manipulation
• Leveraging Types and Collections
to support nested structures
such as master-details DEPT EMP
DEPARTMENTS
HRM
Service
API
SQL
PL/
SQL
•Cursor
•Collection
•XML
30. Key SOA concepts and lessons
• Functional interface, hiding implementation details
– Package specification
– View API
• Reusable, standardized services as flexible building
blocks
• Aggregate and Combine into more valuable reusables
• Governance: security, management of services, SLAs
– Allow for configuration without development or
deployment effort
• Decoupling in every aspect!
31. Coupling & Decoupling in Oracle RDBMS
Decoupling
• Package Specification
• Views (+ Instead of Trigger)
• Triggers in general
• DBMS_JOB
• Advanced Queuing
• Publish (intranet) XML
& WebService
• %TYPE instead of hardcoded
data type
• Centrally managed
“parameter (injection) service”
– instead of local constants
– instead of hard coded values
• Use generic (SOA) services
Coupling
• Database Link
• SYSDATE and USER
• Application performing SQL
against tables
– SQL all over the place
• Access database from DMZ or
even outside firewall
– Publish WebService or Web
Application on Internet
• Too frequent use of
dbms_output.put_line
• Copy and paste of code
• Poorly documented code
• Use of exotic features
summary
37. The Enterprise Service Bus
• Should first of all be considered ‘a pattern’
• Virtualizes services – hides the real service from
consumers
– Deals with the physical location of the services
– Interacts with the technology used to implement services
• Adapts synchronous to a-synchronous and vv.
• Can use multiple real services to offer one virtual
(composite) service
• Allows callers to use a generic, canonical message
structure that it will transform to the service contract
– It may even allow callers to use their own “lingo”
38. Canonical Data Model
• Common Business Language
– Esperanto for service invokers
Data
Data
ServiceService
Clients
Customers
39. The Enterprise Service Bus (2)
• Handles various QoS & SLA aspects
– sometimes in concert with tools like OWSM
– Encryption, signing, authentication
– Retry and fallback
– “Throttle” (prevent peak loads)
• Does monitoring, tracking & auditing,
reporting, notification and escalation
• Works with Adapters to access technologies
– like RDBMS (SQL, PL/SQL), AQ and JMS, File
System, FTP, Java, E-Business Suite
40. Tables & Business Rules
Views
PL/SQL “Services”
Oracle
Forms
Forms
DWH
External Partners
Web Application
Email
Server
Java based
SQL*
Loader
Modern Architecture
and the role of the database
41. Tables & Business Rules
Views
PL/SQL “Services”
Oracle
Forms
Forms
External Partners
Web Application
Email
Server
Java based
(extranet)
Web Application
Internal Users
(outside
intranet/firewall)
“Mobile
Enabled”
ADF 11g
ADF 11g
Enterprise Service and Process Bus
(SOA Suite 11g: BPEL, Mediator,
Human Task, Business Rules, Technology Adapters)
files
UCM
(Document
Management)
DWH
Operational
Dashboard
APEX
42. Tables & Business Rules
Views
PL/SQL “Services”
Oracle
Forms
Forms
External Partners
Web Application
Email
Server
Java based
(extranet)
Web Application
Internal Users
(outside
intranet/firewall)
“Mobile
Enabled”
ADF 11g
ADF 11g
Enterprise Service and Process Bus
(SOA Suite 11g: BPEL, Mediator,
Human Task, Business Rules, Technology Adapters)
files
UCM
(Document
Management)
DWH
Operational
Dashboard
APEX
43. The SOA Suite 11g
• The engine that
– runs applications that implement the WebServices
– implements the Enterprise Service Bus [pattern]
– Lives inside the WebLogic Server application server
WebLogic Server 11g
SOA Suite 11g
WebServices
44. SOA Suite 11g Composite
Applications
• SOA Composite Applications consist of special
components that process XML messages:
– Decision Logic (go left or right, discount is X)
– Human Workflow
(end user must act)
– BPEL (service
orchestration)
– Mediator (filter,
transform and route
messages)
45. SOA Suite 11g – calling out to
external service and adapters
• SOA Composite Applications can call out to external
WebServices and Adapters
• Adapters connect to various technologies
– Database
(SQL & PL/SQL)
– Advanced Queuing
– File & FTP
– JMS, MQ Series, EBS
TCP/IP Sockets
• Adapters can trigger
application execution
46. Publish Services from the Database
• Describe Services in WSDL and XSL
– Specify operations, input and output parameters
– Describe complex data structures of
parameters
• Publish Database-based Services
– Plain URL services through PL/SQL packages
• based on MOD_PLSQL, XML DB or DBMS_EPG
– Full blown SOAP WebServices
• 11g Native WebService (publish PL/SQL package), use
UTL_DBWS, JPublisher for Java proxy class in AppServer
– Leverage SOA Suite to expose Database functionality
• Through the database adapter in SOA Suite/WLS
47. #1 SOA task: Publish PL/SQL
Package through ESB
• Use Database Adapter to create
Service, combine with ESB Routing Service
• Use case:
– external access to services
– virtualize location and technology of service –
• route to service based on content of the request
– virtualize part of contract of service
• Package-derived XSD not suitable for consumers
– handle peak loads
– monitor service levels and trace service access
WS*
48. Demo
• Create SOA Composite application
• Configure Database Adapter to interact with
HRM_SERVICE_API package
• Create a Mediator to transform XML message
from the db adapter to the desired format
51. Demo
• Create SOA Composite application
• Configure Database Adapter to interact with
HRM_SERVICE_API package
• Create a Mediator to transform XML message
from the db adapter to the desired format
• Deploy SOA Composite in SOA Suite in WLS
• Test the Web Service based on the PL/SQL
package based on the DEPT and EMP table
53. Enterprise Service Bus
in action
• One team responsible for exposing
services to external consumers
– Working with those customers for establishing the
contract and testing across the firewall
– This team built from internally provided services
• Team two worked inside database – providing
package based API for granular services
• Team three created ESB level database
adapter and routing/mapping services
WS*
55. Event Driven Architecture
• EDA (is also Extremely Decoupled Architecture)
• Any system – including database – reports events
that may be interesting to other parties
• The Event backbone (could be the ESB)
– Defines Event Types (name, structure of payload)
– Registers Event Listeners (“please call me when the event
occurs and send the details”)
– Receives events – instances of the predefined event type
with payload and timestamp
• Propagate events to all registered listeners
• Without blocking the event producer
57. Leveraging SOA Suite 11g
from the database
• The database can call out to the SOA Suite 11g
– With UTL_HTTP or Stored Java (2-way,
synchronous)
– Through Advanced Queuing or Database Adapter
polling (one way)
WebLogic Server 11g
SOA Suite 11g AQ
AQ
58. Call the “getOilPrice Service”
• We need to know the oil price
for some calculations…
• But that price is not constant,
we need the current price
•
• We do not want the
exact market price, we have
our own contracts
• Let’s define a constant in a
package
• Oh, well, let’s call a
WebService – Yahoo?
• Ah, the Purchasing
department publishes a
WebService for such data
59. Calling a Web Service
• Send an XML document to a URL via HTTP
– Request message contains headers and body
• Service (server) returns another XML document
– Response message contains headers and body
• Response can be a fault (a WebService exception)
• Headers are used for meta-data
– Sender (identity, address), Return address
– Encryption, digitally signed,
– Type of content, type of compression
60. PurchasingPrices available via SOAP
• PurchasingPrices Service is available as a (SOAP
based) WebService (implemented using BPEL)
– Service and WSDL are available (URLs are known)
61. PurchasingPrices available via SOAP
• SOAP call over HTTP can be made from PL/SQL
– Using UTL_HTTP
• Assemble SOAP message
– Envelope
– Payload
• Name of product
– Make HTTP Post request
– Process Response
• Retrieve and Return the product price
– “re-Publish” service as PL/SQL function
WebLogic Server 11g
SOA Suite 11g
63. Publishing events to the EDN
from within the database
• Publishing events to the Event Delivery Network
from table triggers or PL/SQL APIs
– Is best done via Advanced Queuing
• The same route in reverse can consume events from
EDN into the database
64. The database can ask the middle
tier for other services as well
• Get information from (or to) services on the intranet
or internet (‘please get us the NBA scores ’)
• Publish/Send information to the internet
(RSS, email, chat)
• Can tell the middle tier
– Interesting events
and data changes
• Trigger cache refresh!
– Alert about (im)pending issues,
attempted rule violations, …
– The outcome of batch calculcations
WebLogic Server 11g
SOA Suite 11g
AQ
Web App
summary
65. Complex Event Processing
to process on behalf of database
events
JMS
HTTP
JMX
File
DB
Complex Event
Processor
Event
Consumer
Alert
JMS
Dashboard
SOA Application
DB
Data Warehouse
WebService
File
66. The Data Avalanche
• The league of real time events
– Continuous stream of a multitude of tiny events with
hardly any payload, most of which are not interesting at all
– Sent from physical sensors (temperature, pressure, RFID,
security gates), process sensors, Twitter, manufacturing
equipment, database triggers, web servers, ESBs, stock
trade tickers, sport statistics, RSS, network switches, …
67. Making Sense of Non-sense
Complex Event Processing
• Useful information could be hidden in those streams
of events – and CEP extracts it
– By detecting patterns, deviations, aggregations in these
event streams
– CEP publishes ‘meaningful’ (business) events to report its
findings – by executing some Event Processing Langugae
events
Complex Event
Processor
68. Continuous Query Language (CQL)
• Standard extension/complement to SQL
– For handling large volumes of continuously arriving events
– Executing the queries continuously
• Operates on streams of continually arriving events
instead of static relational data sets
– Events can be enriched with context
– Results keep being produced as event stream
• Is used for comparing events of same type, to find
– Trends and Patterns
– Exceptions
– Aggregates
Complex Event
Processor
summary
75. Decoupling from Table to ESB+
http
WEBDAVFTP
http
WS/SOAP
WS*
WS*
WS*
WSRP
coupled
complex
76. Increasingly decoupled
• More hiding of the implementation
• More Formal Interface Contract
• Less (proprietary) technology & more
standards for interacting
• Less exposure of (legacy) data model
• More support for asynchronous interaction
• More reuse potential
• Pervasive throughout enterprise
• More suitable for external consumption
77. Comes at a cost…
• More run time overhead
– Additional tiers
– XML serialization and deserialization
• More infrastructure
– Burden of Administration
– License Costs
– Hardware
• Broader skills palette – more stuff to master
• Harder to get started
78. Summary
• SOA is about decoupling, integration & reuse
• SOA Suite 11g runs service implementations
– That can access database and other technologies
through adapters – either inbound or outbound
• Database can access services from utl_http
– Or AQ, Database polling or File polling
• SOA Suite hooks into database via SQL,
PL/SQL, AQ or even XML DB file protocols
• Many SOA concepts can be applied without
the SOA Suite, using standard DB features
79. Tables & Business Rules
Views
PL/SQL “Services”
Oracle
Forms
Forms
External Partners
Web Application
Email
Server
Java based
(extranet)
Web Application
Internal Users
(outside
intranet/firewall)
“Mobile
Enabled”
ADF 11g
ADF 11g
Enterprise Service and Process Bus
(SOA Suite 11g: BPEL, Mediator,
Human Task, Business Rules, Technology Adapters)
files
UCM
(Document
Management)
DWH
Operational
Dashboard
APEX
80. Resources
• Presentation and demos are on our blog
– http://technology.amis.nl/blog
• Contact me at:
– lucas.jellema@
amis.nl
Editor's Notes
ENCAPSULATION (hide implementation from consumers)Encapsulation: wijziging van implementatiezonderuiterlijkegevolgen; netter organiserenDecoupling: views, pl/sqlapiAssertion: verifieren van afgesproken contract
When developing stored procedures, you agreed upon a specific interface, the signature of the stored procedure. Implicitly you agreed upon a contract. One using the Stored Procedure will know which parameters to supply and what will be returned by the stored procedure.In order to implement the stored procedure you make certain assumption about the supplied values for the parameters.Using Assertions you can make sure that the user of the Stored Procedures is faithful to the contract.Talen: webservices, javaElementen in contractDatatype (aantal, type, eisenaaninhoud)ExceptionsReturn SLA elementen: side effects – transactions/ nietbeschikbaarFunctionelebeschrijving
Demo in plain SQL: http://technology.amis.nl/blog/3569/simple-event-processing-using-sql-with-analytical-functions-to-detect-traffic-patterns
Nice and optimistic interpretation:We do not want to burden you with the task(s) ofcalling us, keeping up to date with our latest contact details, being familiar with our internal procedures Let us handle the nitty gritty and just tell you what you need to know when you should know it