WHITE PAPER SEPTEMBER Reactive Rules for Database Logic. Agility, Re-Use and Performance

Size: px
Start display at page:

Download "WHITE PAPER SEPTEMBER Reactive Rules for Database Logic. Agility, Re-Use and Performance"

Transcription

1 WHITE PAPER SEPTEMBER 2018 Reactive Rules for Database Logic Agility, Re-Use and Performance

2 2 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Executive Summary Introduction Since the advent of relational databases, enterprises have been devising methods for extracting data in a useful fashion for application development. However, traditional data-driven app dev has been relatively unchanged since the first application of object-oriented functional programming to these systems. Even with the recent popularity of API-driven interfaces, much of the development burden has involved back-end effort. Creating application back-ends involves interacting with databases to retrieve data through getters and setters that map to SQL statements on single tables, writing more complex SQL to do manual JOINs across database tables, and defining database triggers or client-side logic to manage relationships between fields and maintain data consistency. While some progress has been made using code generation techniques to automate single-table API creation, the results are complex, hard to maintain and inadequate for real-world use cases that require application logic. At the same time, the need for agile app development in the application economy has made the ability to rapidly deliver robust data-driven APIs more important than ever. These initiatives are also being driven by lines of business rather than IT organizations, meaning the API owners are likely to be more familiar with a spreadsheet than with server-side programming languages. The way we build application back-ends, interact with data sources and define logic needs to evolve to keep up with these ever-changing requirements. This white paper takes a fresh look at defining application logic and interacting with databases using Reactive Logic rather than traditional functional code-based approaches. It explores the concept of reactive programming and how this paradigm can be applied to declarative rules for maintaining relationships across data tables. It demonstrates the power of Reactive Logic to simplify database interaction and logic definition for business users while maintaining robust performance and optimization characteristics. And it shows how CA Technologies will forever change the way you look at application creation.

3 3 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com What is Reactive Programming? Reactive programming is a declarative approach where variables defined by expressions automatically react to changes in referenced values. As well-explained in this Wikipedia entry, reactive programming is a declarative not imperative (aka procedural) approach for automatic propagation of changes: In computing, reactive programming is a programming paradigm oriented around data flows and the propagation of change. This means that it should be possible to express static or dynamic data flows with ease in the programming languages used and that the underlying execution model will automatically propagate changes through the data flow. For example, in an imperative programming setting, a: b + c would mean that a is being assigned the result of b + c in the instant the expression is evaluated. Later, the values of b and c can be changed with no effect on the value of a. In reactive programming, the value of a would be automatically updated based on the new values This is an abstract definition that can be adapted to various disciplines as described below. Regardless, the system needs to establish watches on the referenced values and react when changes are observed. The watch mechanism may be automatic or manual wherein you must explicitly invoke operations to establish watches. Current industrial use Various vendors have been active in the field of reactive programming and it remains a popular topic on developer sites such as Stack Overflow, but by far the most famous commercial application is the spreadsheet. Your cells are defined by values referencing other cells the referencing cell reacts to changes in the referenced cells by re-computing its value. This process can of course chain, enabling quite complex computational systems to be defined. Reactive Rules for Database Logic The powerful reactive programming model is perfectly suited to address the change propagation required for transaction processing, that is, when the server receives change (Insert, Update, or Delete) requests. This results in reactive rules that can express business logic within an application without writing functional code. The key approach borrows heavily from domain-driven design to provide declarative domain logic and is described below.

4 4 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com 1. Base tables/columns/roles are variables. The relational database schema is the object model used to define the variables that can be referenced in reactive programming. So, you can refer to customer.balance. This can be extended to provide for attributes not defined in the schema but that is beyond the scope of this article. Real-world complexity requires that expressions be able refer to data in other tables, so you can refer to purchaseorder.customer. balance, or purchaseorder.lineitems. These could potentially represent one-to-many relationships across tables. For example: Parent role we use the foreign key constraint name for references to the one side (as in purchaseorder.customer). Child role the table name is for the many side (as in purchaseorder.lineitems). Actual support provides customized child role names but that is beyond the scope of this document. 2. Define multi-table expressions for database columns. These can be simple expressions, like this, to compute the amount for a Lineitem row : return row.price * row.quantity. Expressions might be conditional, like: if (row.qty_ordered <= 6) return row.product_price * row.qty_ordered; else return row.product_price * row.qty_ordered * 0.8. Support is also provided for multi-table expressions (crucial for multi-table transactions), such as: customer.balance = sum(purchaseorder.amount_total where paid = false). 3. Establish automatic watches on dependent data. This requires the system parse the expressions to determine the referenced data, which is then watched. 4. Recalculate multi-table. The system must recalculate the referencing data when the watched data changes. Note that changes must be interpreted broadly: not just updates but also inserts and deletes. The real power occurs when you consider multi-table derivations. For true declarative/reactive support, you should not need to code SQL commands to access the data this should be fully automated. So, deleting a purchaseorder should adjust the balance. 5. Automate SQL. SQLs required for multi-table recalculation should be automated. 6. Optimize SQL handling. Which brings us to optimization. The agility/clarity advantages of reactive logic provide little value if there is a performance penalty. SQL statements are far more expensive than arithmetic, so for enterprise performance; the system needs to optimize update processing in much the same manner as we rely on relational database to optimize retrievals. The system must eliminate and optimize SQL with techniques such as:

5 5 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Pruning no SQL should occur if the watched data is not altered (e.g., changing an order s date should not require access to the customer). Adjustment SQLs are expensive but aggregate SQLs are even more so. Accordingly, recalculations of aggregates (e.g., sums) should be done with one row updates. Observe that aggregates can nest. So, a simple non-optimized transaction to pay an order would require a select sum of all the orders and items. Optimized adjustment logic can reduce these SQLs by orders of magnitude. This is very important since it provides the basis for real-time analytics, such as real-time accounting (instant posting of new transactions) and real-time medical records. Caching an order transaction with several line items should issue one adjustment to the order, not one per item. 7. View/resource mapping to objects. Critical view/resource mapping to objects is required so you can define views (or RESTful resources) optimized for program use and reuse the reactive logic associated with the basic table. 8. Chain with automatic ordering. The power of spreadsheets is that derived cells can be referenced in other cells, one change can naturally propagate through the data. The same is required for database logic. Of course, more complex dependencies require ordering. For example: a = b+c; b = c+d requires that, on a change to c, b be calculated before a. 9. Determine imperative escapes. A good question is, How much of my database logic can be addressed with reactive programming? The real-world answer is more than you think (in excess of 95 percent) but not 100 percent. So we need an imperative escape. This is best provided by a familiar event model, where you define table events that are called on inserts, updates and deletes. You might use events to send messages/ , start a business process, etc. The real power is that these events are typically predicated on the reactive derivations. The language used for event logic is of course critical. The consensus choice here is JavaScript the one language you ll probably need to use no matter what other choices you make. 10. Determine transactional support. Basic database integrity requires that multi-updates are atomic they are rolled back if errors occur. This applies to imperative multi-table transactions as well as those designed with reactive programming. 11. Determine validation support. Define a list of expressions for a table which must be true for a transaction to succeed (e.g., balance <= credit_limit), else an exception is raised.

6 6 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Architecture While this paper is primarily focused on concepts, reactive database logic is only interesting if it actually runs. It can do so in a number of ways: Database support Native database support could be provided through DDL extensions with corresponding runtime support. Many advantages but a long process to add to the SQL standard and it would still not provide natural support for remote data. Code generation of triggers and stored procedures This is, after all, what triggers do, so it would clearly be possible to generate these. This provides excellent active enforcement but does not deal well with integrating multiple databases. App servers Traditional app servers also enforce business logic with support for integrating multiple databases. The language-specific interfaces, however, are not architecture independent and the solution would be burdened by a significant coding overhead and low re-use. API Servers A more recent approach is to build API servers that provide REST-based interfaces around these reactive logic rules, typically with JavaScript support for accessing multiple databases and external services. Reactive logic example This sample problem illustrates the use and operation of reactive programming. Logic is expressed as a set of spreadsheet-like expressions that define what your data means. Consider the use case, place order, with the requirement that a customer s balance may not exceed their credit limit. The cocktail napkin requirements are illustrated above. The following logic, which looks rather like a requirements document, should be fully executable: Validation logic: Validations are expressions that must be satisfied to commit transactions (else an exception is thrown). Far beyond simple single-attribute validations, the requirement is multi-attribute validations, such as this Customer Validation: balance < credit_limit.

7 7 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Derivation logic: Validations are the most familiar form of business logic, but derivations and events are the most valuable for dependency management and re-use, as noted below. Derivations here include multi-table derivation rules such as in this rule which defines the balance as the sum of the unpaid order totals: balance is sum(purchaseorder.amount_total where paid = false). Derivations are conceptually similar to spreadsheet cell formulas. Note that: Derivations are multi-table, as in the example above. Derivations can chain, both to validations and other derivations: Purchaseorder.amount_total = sum(lineitem.amount) Lineitem.amount = qty_ordered * product_price Lineitem.product_price = copy(product.price) Chaining, ordering and dependencies are automatically handled (further described below). Derivations can include if/else logic, state transition logic and reference related data. Derivations are highly optimized to eliminate/optimize SQLs. For example, changing an order s date does not retrieve the customer and paying an order adjusts the customer with a one row update not an aggregate query. Declaring Logic You declare the logic in a browser-based IDE as shown below. Dialogs are provided to make it simple to define (point and click) and the system produces this documentation automatically.

8 8 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Reactive in action Dependency management means that when the client submits some altered data, the server detects all changes and adjusts any dependent data including related tables. This incurs ordering and requires optimization. The diagram below illustrates the server processing for the change in line item quantity (represented by the green circle at the bottom): The amount is dependent on the quantity, so it is recomputed. The amounttotal is dependent on the amount, so it is adjusted. Note this may require a SQL lookup (though the data might be in the cache) and SQL operations are pruned if the amount is not changed. The balance is dependent on the amounttotal, so it is adjusted. The result balance is credit checked. If an error is detected, the transaction is rolled back and an exception is returned. The same processing is automatically applied to all use cases, as described below in the reactive reuse section. Reactive agility By the time you boil off change detection and change propagation and SQL, you have eliminated all the noise. What is revealed is the pure, crystallized logic. As it turns out, this noise is most of the code of a traditional program. The five lines of reactive rules require literally 500 lines of imperative code. This proportion holds in fact improves as system size increases. You are operating at a two orders of magnitude higher level of abstraction.

9 9 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Active integrity Imperative code runs when you call it. Code for integrity may exist but it is of no value unless it s called in every required circumstance. So, verifying compliance entails checking all the paths of all the existing code. By contrast, you don t call reactive logic. You just state it. It is the system s job to react as required in all required circumstances. So, if you want to verify compliance, just scan the logic. If it s there, you can be certain it is being applied. Reactive reuse The customer.balance rule, perhaps declared for place order, simply states that its value is the sum of the unpaid orders. This design intent is encapsulated into purchaseorder and then automatically re-used over all related transactions. So, the balance is increased if an order is added, decreased when it is deleted or paid and so forth. Put another way, logic is associated with your tables, not with a specific transaction, request type or method. This is what enables logic re-use. So our logic above, perhaps conceived for place order, is automatically re-used for all these related transactions: Place order the balance is increased. Change customer credit limit. Delete order the balance is reduced. Pay order the balance is reduced. Un-pay order the balance is increased. Reassign order to a new customer new customer balance is increased, old balance is decreased (for unpaid orders). Reassign a line item to a different product. Add a line item. Delete a line item. Change line item quantity. Change line item price. This design one/solve many applies to maintenance as well; when you change your logic, the system automatically reflects it in all the relevant transactions. Reactive objects factor logic from the methods (still clumsy imperative code) into declarative reactive expressions: Maintenance Imperative programming is distinguished by ordering your code must be executed in a correct order. The pain of this is most evident in the archaeology of maintenance, where most of the time is spent studying existing code to determine where to insert a few new lines. This entire process is eliminated by automatic ordering. You just alter the logic and the system computes a new execution order (and optimization strategy) based on the new dependencies.

10 10 WHITE PAPER REACTIVE RULES FOR DATABASE LOGIC ca.com Automatic documentation As shown in the earlier screenshot, this logic is virtually a direct entry of the cocktail napkin spec. So logic is not only executable; it is transparent documentation that enables business users and IT to partner and find missing/incorrect elements. Reactive performance The optimizations discussed above pruning, caching and adjustment are applied to every maintenance change. So, unlike conventional systems that slow down over time due to maintenance patches, reactive systems sustain a consistently high level of performance. Conclusion Reactive programming concepts have been around for a long time and were first applied to the spreadsheet dependency management done right by computers automatically rather than by programmers who don t appreciate doing the repetitive coding again and again. CA Technologies was the first to apply reactive programming techniques to databases and bring simplicity of the spreadsheet to API development with specs that can almost be executed as-is, live APIs that can be understood by business and programming staff alike and an easier maintenance process and automatic documentation. In addition, JavaScript is provided to enhance and complement reactive rules to ensure 100 percent coverage of application requirements. Connect with CA Technologies CA Technologies (NASDAQ: CA) creates software that fuels transformation for companies and enables them to seize the opportunities of the application economy. Software is at the heart of every business, in every industry. From planning to development to management and security, CA is working with companies worldwide to change the way we live, transact and communicate across mobile, private and public cloud, distributed and mainframe environments. Learn more at ca.com. Copyright 2018 CA. All rights reserved. All trademarks referenced herein belong to their respective companies. This document does not contain any warranties and is provided for informational purposes only. Any functionality descriptions may be unique to the customers depicted herein and actual product performance may vary. CS _0918

Agile Testing: Your Key to Better Software

Agile Testing: Your Key to Better Software Agile Testing: Your Key to Better Software What s in the Way of Testing at the Speed of Agile? Testing at the speed of agile drives quality at speed. But the question is, When do you think the testing

More information

Model-Based Testing: Your Key to Better Software

Model-Based Testing: Your Key to Better Software Model-Based Testing: Your Key to Better Software The Testing Dilemma: Speed vs. Quality There s no question that when it comes to software development, speed to market is essential. But without quality,

More information

Rigorously Test Composite Applications Faster With CA Test Data Manager and CA Agile Requirements Designer

Rigorously Test Composite Applications Faster With CA Test Data Manager and CA Agile Requirements Designer SOLUTION BRIEF CA TEST DATA MANAGER AND CA AGILE REQUIREMENTS DESIGNER Rigorously Test Composite Applications Faster With CA Test Data Manager and CA Agile Requirements Designer Generate rich virtual data

More information

Using Threat Analytics to Protect Privileged Access and Prevent Breaches

Using Threat Analytics to Protect Privileged Access and Prevent Breaches Using Threat Analytics to Protect Privileged Access and Prevent Breaches Under Attack Protecting privileged access and preventing breaches remains an urgent concern for companies of all sizes. Attackers

More information

CA Test Data Manager Key Scenarios

CA Test Data Manager Key Scenarios WHITE PAPER APRIL 2016 CA Test Data Manager Key Scenarios Generate and secure all the data needed for rigorous testing, and provision it to highly distributed teams on demand. Muhammad Arif Application

More information

SOLUTION BRIEF NETWORK OPERATIONS AND ANALYTICS. How Can I Predict Network Behavior to Provide for an Exceptional Customer Experience?

SOLUTION BRIEF NETWORK OPERATIONS AND ANALYTICS. How Can I Predict Network Behavior to Provide for an Exceptional Customer Experience? SOLUTION BRIEF NETWORK OPERATIONS AND ANALYTICS How Can I Predict Network Behavior to Provide for an Exceptional Customer Experience? SOLUTION BRIEF CA DATABASE MANAGEMENT FOR DB2 FOR z/os DRAFT When used

More information

5 OAuth Essentials for API Access Control

5 OAuth Essentials for API Access Control 5 OAuth Essentials for API Access Control Introduction: How a Web Standard Enters the Enterprise OAuth s Roots in the Social Web OAuth puts the user in control of delegating access to an API. This allows

More information

WHITE PAPER MARCH Automating Data Masking and Reduction for SAP System Copy

WHITE PAPER MARCH Automating Data Masking and Reduction for SAP System Copy WHITE PAPER MARCH 2018 Automating Data Masking and Reduction for SAP System Copy 2 WHITE PAPER AUTOMATING DATA MASKING AND REDUCTION FOR SAP SYSTEM COPY ca.com Table of Contents Executive Summary 3 Section

More information

WHITE PAPER JANUARY Creating REST APIs to Enable Your Connected World

WHITE PAPER JANUARY Creating REST APIs to Enable Your Connected World WHITE PAPER JANUARY 2017 Creating REST APIs to Enable Your Connected World 2 WHITE PAPER: CREATING REST APIS TO ENABLE YOUR CONNECTED WORLD ca.com Table of Contents Section 1 The World is Getting Connected

More information

Efficiency Gains in Inbound Data Warehouse Feed Implementation

Efficiency Gains in Inbound Data Warehouse Feed Implementation Efficiency Gains in Inbound Data Warehouse Feed Implementation Simon Eligulashvili simon.e@gamma-sys.com Introduction The task of building a data warehouse with the objective of making it a long-term strategic

More information

SOLUTION BRIEF CA API MANAGEMENT. Enable and Protect Your Web Applications From OWASP Top Ten With CA API Management

SOLUTION BRIEF CA API MANAGEMENT. Enable and Protect Your Web Applications From OWASP Top Ten With CA API Management SOLUTION BRIEF CA API MANAGEMENT Enable and Protect Your Web Applications From OWASP Top Ten With CA API Management 2 SOLUTION BRIEF ENABLE AND PROTECT YOUR WEB APPLICATIONS WITH CA API MANAGEMENT ca.com

More information

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases.

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases. Topic 3.3: Star Schema Design This module presents the star schema, an alternative to 3NF schemas intended for analytical databases. Star Schema Overview The star schema is a simple database architecture

More information

Microsoft Developing SQL Databases

Microsoft Developing SQL Databases 1800 ULEARN (853 276) www.ddls.com.au Length 5 days Microsoft 20762 - Developing SQL Databases Price $4290.00 (inc GST) Version C Overview This five-day instructor-led course provides students with the

More information

SQL Server 2008 Consolidation

SQL Server 2008 Consolidation Technology Concepts and Business Considerations Abstract The white paper describes how SQL Server 2008 consolidation provides solutions to basic business problems pertaining to the usage of multiple SQL

More information

Sage Estimating (SQL) v17.12

Sage Estimating (SQL) v17.12 Sage Estimating (SQL) v17.12 Release Notes October 2017 This is a publication of Sage Software, Inc. 2017 The Sage Group plc or its licensors. All rights reserved. Sage, Sage logos, and Sage product and

More information

Microsoft. [MS20762]: Developing SQL Databases

Microsoft. [MS20762]: Developing SQL Databases [MS20762]: Developing SQL Databases Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This five-day

More information

Protect Your Data the Way Banks Protect Your Money

Protect Your Data the Way Banks Protect Your Money Protect Your Data the Way Banks Protect Your Money A New Security Model Worth Understanding and Emulating Enterprise security traditionally relied on a fortress strategy that locked down user endpoints

More information

Keep the Door Open for Users and Closed to Hackers

Keep the Door Open for Users and Closed to Hackers Keep the Door Open for Users and Closed to Hackers A Shift in Criminal Your Web site serves as the front door to your enterprise for many customers, but it has also become a back door for fraudsters. According

More information

Developing SQL Databases

Developing SQL Databases Course 20762B: Developing SQL Databases Page 1 of 9 Developing SQL Databases Course 20762B: 4 days; Instructor-Led Introduction This four-day instructor-led course provides students with the knowledge

More information

Moving From Reactive to Proactive Storage Management with an On-demand Cloud Solution

Moving From Reactive to Proactive Storage Management with an On-demand Cloud Solution Moving From Reactive to Proactive Storage Management with an On-demand Cloud Solution The Ever-Present Storage Management Conundrum In the modern IT landscape, the storage management conundrum is as familiar

More information

SOLUTION BRIEF CA TEST DATA MANAGER AND CA SERVICE VIRTUALIZATION. CA Test Data Manager and CA Service Virtualization

SOLUTION BRIEF CA TEST DATA MANAGER AND CA SERVICE VIRTUALIZATION. CA Test Data Manager and CA Service Virtualization SOLUTION BRIEF CA TEST DATA MANAGER AND CA SERVICE VIRTUALIZATION CA Test Data Manager and CA Service Virtualization Provide the on demand access to secure environments needed to deliver fully tested software

More information

COP 5725 Fall Hospital System Database and Data Interface. Term Project

COP 5725 Fall Hospital System Database and Data Interface. Term Project COP 5725 Fall 2016 Hospital System Database and Data Interface Term Project Due date: Nov. 3, 2016 (THU) Database The database contains most of the information used by the web application. A database is

More information

20762B: DEVELOPING SQL DATABASES

20762B: DEVELOPING SQL DATABASES ABOUT THIS COURSE This five day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to

More information

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, 2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, Windows Server, and other product names are or may be registered

More information

Comprehensive Guide to Evaluating Event Stream Processing Engines

Comprehensive Guide to Evaluating Event Stream Processing Engines Comprehensive Guide to Evaluating Event Stream Processing Engines i Copyright 2006 Coral8, Inc. All rights reserved worldwide. Worldwide Headquarters: Coral8, Inc. 82 Pioneer Way, Suite 106 Mountain View,

More information

SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM. CA Test Data Manager for HPE ALM

SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM. CA Test Data Manager for HPE ALM SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM CA Test Data Manager for HPE ALM Generate all the data needed to deliver fully tested software, and export it directly into Hewlett Packard Enterprise Application

More information

Disaster Recovery as a Service

Disaster Recovery as a Service Disaster Recovery as a Service Heart-stopping IT failure. At least your business won t skip a beat. 02 delivering business agility 03 Flexible, cost-effective DRaaS made simple Enjoy rapid recovery following

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description.

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description. SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server 2016 Learn how to design and Implement advanced SQL Server 2016 databases including working with tables, create optimized

More information

The Seven Steps to Implement DataOps

The Seven Steps to Implement DataOps The Seven Steps to Implement Ops ABSTRACT analytics teams challenged by inflexibility and poor quality have found that Ops can address these and many other obstacles. Ops includes tools and process improvements

More information

The Salesforce Migration Playbook

The Salesforce Migration Playbook The Salesforce Migration Playbook By Capstorm Table of Contents Salesforce Migration Overview...1 Step 1: Extract Data Into A Staging Environment...3 Step 2: Transform Data Into the Target Salesforce Schema...5

More information

GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS.

GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS. GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS. Cloud computing is as much a paradigm shift in data center and IT management as it is a culmination of IT s capacity to drive business

More information

GoldSim: Using Simulation to Move Beyond the Limitations of Spreadsheet Models

GoldSim: Using Simulation to Move Beyond the Limitations of Spreadsheet Models GoldSim: Using Simulation to Move Beyond the Limitations of Spreadsheet Models White Paper Abstract While spreadsheets are appropriate for many types of applications, due to a number of inherent limitations

More information

"Charting the Course... MOC C: Developing SQL Databases. Course Summary

Charting the Course... MOC C: Developing SQL Databases. Course Summary Course Summary Description This five-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL database. The course focuses on teaching individuals how to use

More information

Oracle Warehouse Builder 10g Runtime Environment, an Update. An Oracle White Paper February 2004

Oracle Warehouse Builder 10g Runtime Environment, an Update. An Oracle White Paper February 2004 Oracle Warehouse Builder 10g Runtime Environment, an Update An Oracle White Paper February 2004 Runtime Environment, an Update Executive Overview... 3 Introduction... 3 Runtime in warehouse builder 9.0.3...

More information

BMC Remedyforce Troubleshooting Document

BMC Remedyforce Troubleshooting Document Troubleshooting Document BMC Remedyforce Troubleshooting Document September 2015 Table of Contents 1.0 Salesforce Apex Governor Limits Overview 2 2.0 SOQL Queries Limits 3 3.0 Triggers and Order of Execution

More information

EMC GREENPLUM MANAGEMENT ENABLED BY AGINITY WORKBENCH

EMC GREENPLUM MANAGEMENT ENABLED BY AGINITY WORKBENCH White Paper EMC GREENPLUM MANAGEMENT ENABLED BY AGINITY WORKBENCH A Detailed Review EMC SOLUTIONS GROUP Abstract This white paper discusses the features, benefits, and use of Aginity Workbench for EMC

More information

Pegasystems PEGACSA71V1 Exam

Pegasystems PEGACSA71V1 Exam Pegasystems PEGACSA71V1 Exam Number: PEGACSA71V1 Passing Score: 800 Time Limit: 120 min File Version: 4.0 http://www.gratisexam.com/ PEGACSA71V1 Certified System Architect (CSA) 71V1 Version 4.0 Exam A

More information

A Better Approach to Leveraging an OpenStack Private Cloud. David Linthicum

A Better Approach to Leveraging an OpenStack Private Cloud. David Linthicum A Better Approach to Leveraging an OpenStack Private Cloud David Linthicum A Better Approach to Leveraging an OpenStack Private Cloud 1 Executive Summary The latest bi-annual survey data of OpenStack users

More information

Qlik s Associative Model

Qlik s Associative Model White Paper Qlik s Associative Model See the Whole Story that Lives Within Your Data August, 2015 qlik.com Table of Contents Introduction 3 Qlik s associative model 3 Query-based visualization tools only

More information

An Oracle Technical White Paper September Oracle VM Templates for PeopleSoft

An Oracle Technical White Paper September Oracle VM Templates for PeopleSoft An Oracle Technical White Paper September 2010 Oracle VM Templates for PeopleSoft 1 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes

More information

Intel Authoring Tools for UPnP* Technologies

Intel Authoring Tools for UPnP* Technologies Intel Authoring Tools for UPnP* Technologies (Version 1.00, 05-07-2003) INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE,

More information

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 13 Constraints & Triggers Hello and welcome to another session

More information

Assorted Topics Stored Procedures and Triggers Pg 1

Assorted Topics Stored Procedures and Triggers Pg 1 Assorted Topics Stored Procedures and Triggers Pg 1 Stored Procedures and Triggers Ray Lockwood Points: A Stored Procedure is a user-written program stored in the database. A Trigger is a stored procedure

More information

Accounts Payable MODULE USER S GUIDE

Accounts Payable MODULE USER S GUIDE Accounts Payable MODULE USER S GUIDE INTEGRATED SOFTWARE SERIES Accounts Payable MODULE USER S GUIDE Version 3.1 Copyright 2005 2009, Interactive Financial Solutions, Inc. All Rights Reserved. Integrated

More information

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Leveraging the NoSQL boom 2 Why NoSQL? In the last fourty years relational databases have been the default choice for serious

More information

Why you should design your data hub top-down vs. bottom-up

Why you should design your data hub top-down vs. bottom-up Why you should design your data hub top-down vs. bottom-up 1 Why you should design your data hub top-down vs. bottom-up Why are central repositories of data more necessary now than ever? E very business

More information

PRIVACY AND ONLINE DATA: CAN WE HAVE BOTH?

PRIVACY AND ONLINE DATA: CAN WE HAVE BOTH? PAPER PRIVACY AND ONLINE DATA: CAN WE HAVE BOTH? By Peter Varhol www.actian.com ignificant change has arrived in how computing and storage consumes data concerning individuals. Merchants, data collection

More information

Achieving Digital Transformation: FOUR MUST-HAVES FOR A MODERN VIRTUALIZATION PLATFORM WHITE PAPER

Achieving Digital Transformation: FOUR MUST-HAVES FOR A MODERN VIRTUALIZATION PLATFORM WHITE PAPER Achieving Digital Transformation: FOUR MUST-HAVES FOR A MODERN VIRTUALIZATION PLATFORM WHITE PAPER Table of Contents The Digital Transformation 3 Four Must-Haves for a Modern Virtualization Platform 3

More information

AGENDA. DEX450: Programmatic Development Using Apex and Visualforce. Day One

AGENDA. DEX450: Programmatic Development Using Apex and Visualforce. Day One Day One 15 minutes Introductions 60 minutes Welcome to AW Computing Watch Me 1-1 (5 min): Explore the Certification App Join Me 1-2 (5 min): Prepare Your Training Org Join Me 1-3 (5 min): Create a Sandbox

More information

Five Common Myths About Scaling MySQL

Five Common Myths About Scaling MySQL WHITE PAPER Five Common Myths About Scaling MySQL Five Common Myths About Scaling MySQL In this age of data driven applications, the ability to rapidly store, retrieve and process data is incredibly important.

More information

UXD. using the elements: structure

UXD. using the elements: structure using the elements: structure defining structure you are here structure essentially defines how users get to a given screen and where they can go when they re done. structure also defines categories of

More information

A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for J2EE

A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for J2EE WHITE PAPER: APPLICATION CUSTOMIZE PERFORMANCE MANAGEMENT Confidence in a connected world. A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for

More information

Enabling Innovation in the Digital Economy

Enabling Innovation in the Digital Economy White Paper Business Agility Enabling Innovation in the Digital Economy Business Agility White Paper Enabling Innovation in the Digital Economy Five Steps to Implementing a Software-defined Infrastructure

More information

Microsoft Dynamics AX This document describes the concept of events and how they can be used in Microsoft Dynamics AX.

Microsoft Dynamics AX This document describes the concept of events and how they can be used in Microsoft Dynamics AX. Microsoft Dynamics AX 2012 Eventing White Paper This document describes the concept of events and how they can be used in Microsoft Dynamics AX. Date: January 2011 http://microsoft.com/dynamics/ax Author:

More information

Relational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement.

Relational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement. Relational Theory and Data Independence: Unfinished Business. Dr. Tom Johnston Much has been made of the data independence that relational technology is said to provide. And indeed, much has been accomplished

More information

Introduction to Computer Science and Business

Introduction to Computer Science and Business Introduction to Computer Science and Business The Database Programming with PL/SQL course introduces students to the procedural language used to extend SQL in a programatic manner. This course outline

More information

Principles of Data Management

Principles of Data Management Principles of Data Management Alvin Lin August 2018 - December 2018 Structured Query Language Structured Query Language (SQL) was created at IBM in the 80s: SQL-86 (first standard) SQL-89 SQL-92 (what

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips.

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips. Page 1 Creating a Well-Developed Master Data Management Solution in BW By Arthur Pat Pesa, arthurpesa, inc Editor Note: Pat Pesa delivers another one-two-three punch with his discussion of developing,

More information

Ektron to EPiServer Digital Experience Cloud Content Transfer Guide

Ektron to EPiServer Digital Experience Cloud Content Transfer Guide Ektron to EPiServer Digital Experience Cloud Content Transfer Guide This document is intended for review and use by Sr. Developers, CMS Architects, and other senior development staff to aide in the process

More information

Project # 1: Database Programming

Project # 1: Database Programming Project # 1: Database Programming CSE462 Database Concepts Demian Lessa Department of Computer Science and Engineering State University of New York, Buffalo February 21, 2011 Outline 1 Database Programming

More information

Database Management Concepts I

Database Management Concepts I Database Management Concepts I Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 21, November 19, 2007 Basic Definitions An information system is software that

More information

Crystal Report Parameter Default Value Current Date

Crystal Report Parameter Default Value Current Date Crystal Report Parameter Default Value Current Date 3.2.1 Crystal Reports - Excel 2007 Data Centric, 3.2.2 Content Grouping - Customize SSRS report parameters with 'Default' values are now supported. If

More information

CA Performance Center

CA Performance Center CA Performance Center CA Report Information Base API Guide 2.4.1 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation

More information

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 1 Table of Contents 1. Introduction 2 1.1. Client Description 1.2. Product Vision 2. Requirements. 2 2.1. Functional

More information

DQpowersuite. Superior Architecture. A Complete Data Integration Package

DQpowersuite. Superior Architecture. A Complete Data Integration Package DQpowersuite Superior Architecture Since its first release in 1995, DQpowersuite has made it easy to access and join distributed enterprise data. DQpowersuite provides an easy-toimplement architecture

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper July 2009 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

DOWNLOAD PDF TELEPHONE BILLING SYSTEM PROJECT

DOWNLOAD PDF TELEPHONE BILLING SYSTEM PROJECT Chapter 1 : Telephone Billing System In VB Project Report Projects The project thus calculates the t elephone bills automatically. It does almost every work which is related to automatic telephone billing

More information

Part (04) Introduction to Programming

Part (04) Introduction to Programming Part (04) Introduction to Programming Dr. Ahmed M. ElShafee 1 Dr. Ahmed ElShafee, ACU : Summer 2014, Introduction to CS 1 EVOLUTION To write a program for a computer, we must use a computer language. A

More information

BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE. These Common Misconceptions Could Be Holding You Back

BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE. These Common Misconceptions Could Be Holding You Back BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE These Common Misconceptions Could Be Holding You Back 2 IT Is Facing a New Set of Challenges As technology continues to evolve, IT must adjust to changing

More information

How to integrate data into Tableau

How to integrate data into Tableau 1 How to integrate data into Tableau a comparison of 3 approaches: ETL, Tableau self-service and WHITE PAPER WHITE PAPER 2 data How to integrate data into Tableau a comparison of 3 es: ETL, Tableau self-service

More information

Performance Innovations with Oracle Database In-Memory

Performance Innovations with Oracle Database In-Memory Performance Innovations with Oracle Database In-Memory Eric Cohen Solution Architect Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

More information

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 5 More SQL and Intro to Stored Procedures September 24, 2017 Sam Siewert SQL Theory and Standards Completion of SQL in

More information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

Cloud Computing and Its Impact on Software Licensing

Cloud Computing and Its Impact on Software Licensing Cloud Computing and Its Impact on Software Licensing By Gretchen Kwashnik & Jim Cecil January 25, 2012 What is Cloud Computing? Cloud computing is a model for enabling: on-demand network access to a shared

More information

arxiv: v1 [cs.se] 17 Aug 2016

arxiv: v1 [cs.se] 17 Aug 2016 Introduction to the Case Management Model and Notation (CMMN) arxiv:1608.05011v1 [cs.se] 17 Aug 2016 Mike A. Marin University of South Africa IBM Analytics Group mmarin@acm.org August 18, 2016 Abstract

More information

Oracle Warehouse Builder 10g Release 2 What is an Expert?

Oracle Warehouse Builder 10g Release 2 What is an Expert? Oracle Warehouse Builder 10g Release 2 What is an Expert? May 2006 Note: This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality, and should

More information

Paper. Delivering Strong Security in a Hyperconverged Data Center Environment

Paper. Delivering Strong Security in a Hyperconverged Data Center Environment Paper Delivering Strong Security in a Hyperconverged Data Center Environment Introduction A new trend is emerging in data center technology that could dramatically change the way enterprises manage and

More information

VERINT EFM 8.0 Release Overview

VERINT EFM 8.0 Release Overview VERINT EFM 8.0 Release Overview In January of 2015 Verint will release version 8.0 of the Enterprise Feedback Management (EFM) solution. Verint hosted SaaS customers will receive this update as part of

More information

WHAT CIOs NEED TO KNOW TO CAPITALIZE ON HYBRID CLOUD

WHAT CIOs NEED TO KNOW TO CAPITALIZE ON HYBRID CLOUD WHAT CIOs NEED TO KNOW TO CAPITALIZE ON HYBRID CLOUD 2 A CONVERSATION WITH DAVID GOULDEN Hybrid clouds are rapidly coming of age as the platforms for managing the extended computing environments of innovative

More information

QuickBooks 2008 Software Installation Guide

QuickBooks 2008 Software Installation Guide 12/11/07; Ver. APD-1.2 Welcome This guide is designed to support users installing QuickBooks: Pro or Premier 2008 financial accounting software, especially in a networked environment. The guide also covers

More information

Crash Course in Modernization. A whitepaper from mrc

Crash Course in Modernization. A whitepaper from mrc Crash Course in Modernization A whitepaper from mrc Introduction Modernization is a confusing subject for one main reason: It isn t the same across the board. Different vendors sell different forms of

More information

Data Modeling in Looker

Data Modeling in Looker paper Data Modeling in Looker Quick iteration of metric calculations for powerful data exploration By Joshua Moskovitz The Reusability Paradigm of LookML At Looker, we want to make it easier for data analysts

More information

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

Chapter 4. Fundamental Concepts and Models

Chapter 4. Fundamental Concepts and Models Chapter 4. Fundamental Concepts and Models 4.1 Roles and Boundaries 4.2 Cloud Characteristics 4.3 Cloud Delivery Models 4.4 Cloud Deployment Models The upcoming sections cover introductory topic areas

More information

Oracle Java CAPS Database Binding Component User's Guide

Oracle Java CAPS Database Binding Component User's Guide Oracle Java CAPS Database Binding Component User's Guide Part No: 821 2620 March 2011 Copyright 2009, 2011, Oracle and/or its affiliates. All rights reserved. License Restrictions Warranty/Consequential

More information

Chapter 2. DB2 concepts

Chapter 2. DB2 concepts 4960ch02qxd 10/6/2000 7:20 AM Page 37 DB2 concepts Chapter 2 Structured query language 38 DB2 data structures 40 Enforcing business rules 49 DB2 system structures 52 Application processes and transactions

More information

Information Lifecycle Management for Business Data. An Oracle White Paper September 2005

Information Lifecycle Management for Business Data. An Oracle White Paper September 2005 Information Lifecycle Management for Business Data An Oracle White Paper September 2005 Information Lifecycle Management for Business Data Introduction... 3 Regulatory Requirements... 3 What is ILM?...

More information

Backup and Recovery for Smalland Medium-Sized Businesses

Backup and Recovery for Smalland Medium-Sized Businesses White Paper Business Continuity Backup and Recovery for Smalland Medium-Sized Businesses How Micro Focus VM Explorer helps small- and mediumsized businesses protect critical virtual servers and data. Results

More information

Snapshot Best Practices: Continuous Integration

Snapshot Best Practices: Continuous Integration Snapshot Best Practices: Continuous Integration Snapshot provides sophisticated and flexible tools for continuously keeping Salesforce accounts, developer projects, and content repositories synchronized.

More information

Salesforce Enterprise Edition Upgrade Guide

Salesforce Enterprise Edition Upgrade Guide Salesforce Enterprise Edition Upgrade Guide Salesforce, Spring 16 @salesforcedocs Last updated: February 11, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered

More information

Overview. Data Integrity. Three basic types of data integrity. Integrity implementation and enforcement. Database constraints Transaction Trigger

Overview. Data Integrity. Three basic types of data integrity. Integrity implementation and enforcement. Database constraints Transaction Trigger Data Integrity IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Three basic types of data integrity Integrity implementation and enforcement Database constraints Transaction Trigger 2 1 Data Integrity

More information

ForeScout ControlFabric TM Architecture

ForeScout ControlFabric TM Architecture ForeScout ControlFabric TM Architecture IMPROVE MULTI-VENDOR SOLUTION EFFECTIVENESS, RESPONSE AND WORKFLOW AUTOMATION THROUGH COLLABORATION WITH INDUSTRY-LEADING TECHNOLOGY PARTNERS. The Challenge 50%

More information

Tutorial 9. Review. Data Tables and Scenario Management. Data Validation. Protecting Worksheet. Range Names. Macros

Tutorial 9. Review. Data Tables and Scenario Management. Data Validation. Protecting Worksheet. Range Names. Macros Tutorial 9 Data Tables and Scenario Management Review Data Validation Protecting Worksheet Range Names Macros 1 Examine cost-volume-profit relationships Suppose you were the owner of a water store. An

More information

Informatica Data Explorer Performance Tuning

Informatica Data Explorer Performance Tuning Informatica Data Explorer Performance Tuning 2011 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

More information

Teiid - Scalable Information Integration. Teiid Caching Guide 7.6

Teiid - Scalable Information Integration. Teiid Caching Guide 7.6 Teiid - Scalable Information Integration 1 Teiid Caching Guide 7.6 1. Overview... 1 2. Results Caching... 3 2.1. Support Summary... 3 2.2. User Interaction... 3 2.2.1. User Query Cache... 3 2.2.2. Procedure

More information

Business Process Testing

Business Process Testing Business Process Testing Software Version: 12.55 User Guide Go to HELP CENTER ONLINE http://admhelp.microfocus.com/alm/ Document Release Date: August 2017 Software Release Date: August 2017 Legal Notices

More information

CHAPTER 6 DATABASE MANAGEMENT SYSTEMS

CHAPTER 6 DATABASE MANAGEMENT SYSTEMS CHAPTER 6 DATABASE MANAGEMENT SYSTEMS Management Information Systems, 10 th edition, By Raymond McLeod, Jr. and George P. Schell 2007, Prentice Hall, Inc. 1 Learning Objectives Understand the hierarchy

More information