The NoPlsql and Thick Database Paradigms

Size: px
Start display at page:

Download "The NoPlsql and Thick Database Paradigms"

Transcription

1 The NoPlsql and Thick Database Paradigms Part 2: Adopting ThickDB Toon Koppelaars Real-World Performance Oracle Server Technologies Bryn Llewellyn Distinguished Product Manager Oracle Server Technologies

2 Who Are We? Part of Oracle ecosystem since 1987 Developer, DBA, Architect, Problem Solver Currently part of Real-World Performance group Author of TheHelsinkiDeclaration.blogspot.com All about Distinguished Product Manager: PL/SQL and EBR Author of "Why use PL/SQL?" 2

3 Database Applications (from Part 1) User Interfaces SQL SQL SQL Business Logic Software Interfaces SQL SQL Table Data Store SQL Conceptually 3 tiers Exposed functionality via services GUI's for human interaction REST, or otherwise, for software interaction Business logic Procedural code composing Q's + TX's Data store, relational database 4

4 Persistence Layer or Processing Engine? SQL SQL SQL SQL SQL SQL DBMS DBMS SQL SQL SQL SQL No PL/SQL Single table, row-by-row SQL NoPlsql PL/SQL All kinds of SQL ThickDB 5

5 Focus of This Part 2 You want to adopt ThickDB approach for development of new application Now, how to do that successfully? Critical success factors: Technical Understand various concepts, architecture etc. How to prevent one big pile of PL/SQL code Organizational Get project roles right 6

6 Roadmap Organizational - Project roles Technical - Architecture of web applications Technical - Code classification and architecture inside database Concluding thoughts 7

7 Organizational: Project Roles "Full-stack" developers with solid Database-design, SQL, PL/SQL, *and* Current UI technology skills, are hard to find High technology change rate You'll inevitably have separate roles in your project Database developers easier to hire without UI skills Hip JavaScript UI developers easier to hire without DB skills 8

8 Organizational: Focus For Each Role Focus for each: Database developers strong (set-based) SQL and PL/SQL skills Focus on maintainability, performance and scalability UI developers strong html/css/javascript skills Focus on extremely friendly UI experience (UX) Separate focus allows both roles to be performed at highest level Database developer skills are more rare, but one database developer can support multiple UI developers 9

9 Organizational: Two Worlds Must Cooperate Separate focus, but must closely cooperate Requires good communication skills Database developers will need to understand UI-developers' world Not vice-versa: they will be "decoupled" via API's Know enough architectural concepts to communicate effectively with them, to jointly design API-layer Database developers, must be in the lead here Why? they own database design and business logic Need to detect API requests that would leave BL in UI 10

10 The New Emerging World Creates Opportunity V+C physically de-coupled now from M 11

11 Roadmap Organizational - Project roles Technical - Architecture of web applications Technical - Code classification and architecture inside database Concluding thoughts 12

12 Architecture of Web Applications In web applications, users: Tick boxes Select values from dropdown LoV's Enter/change editable data items Click on hyperlinks Press buttons Do something that triggers (browser-side) JavaScript These can execute Ajax calls Popular in "Single Page Applications" (SPA's) Partial page (re)rendering These typically initiate request from browser to server Asynchronous Javascript And XML Understanding Technical Architecture 13

13 Browser Server Requests Result in Page Transitions Click on link Press button Initiate Ajax call Browser Browser Browser http-get New page html http-post Form submit New page html Ajax request XML for re-render Web server Web server Web server Understanding Technical Architecture 14

14 Point to Be Made Understand where, when and why UI developer will submit requests For each request that browser can initiate you will need to agree upon some API that handles it Web server A P I Web server acts as proxy: it just translates request to DB-API call Understanding Technical Architecture 15

15 Page Flows These http-get, http-post and Ajax requests result in page transitions Which in turn lead to application "page flows" 16

16 Page Flow Network Customers Edit Customer Login Start Page Orders Edit Order Understanding Technical Architecture 17

17 Incoming Flow Determines What Should Be Displayed Show next/previous ten orders Show 1 st ten orders of this customer E.g. default show 1 st ten "open" orders Edit Customer Start Page Orders Edit Order Refresh list that was shown So here we have four "render" use-cases for Orders-page For each case DB-API is tasked to produce list of orders to be displayed Understanding Technical Architecture 18

18 Transactions Typically Attached to Outgoing Flows Delete-button pressed Update-button pressed Orders Edit Order Two process use-cases for Edit-Order page For each case DB-API is tasked to compose and execute transaction Understanding Technical Architecture 19

19 Render and Process Use-Cases per Page You'll need to discuss per page What are the render use-cases? What are the process use-cases? And per use-case agree upon signature: What are API inputs and outputs Understanding Technical Architecture 20

20 The Connection Pool Application threads use "connection pool" to access database Some number of pre-instantiated Java objects Each owning database session Understanding Technical Architecture 21

21 Connection Pool T1 T2 T3 T4 T5 T6 T7 T8 Servlet execution threads working on browser requests Connection pool C1 C2 C3 Pre-spawned connection pool with three idle connections JDBC JVM S1 S2 S3 Idle database sessions All under same username Understanding Technical Architecture 22

22 Connection Pool Thread 6 requires database access T1 T2 T3 T4 T5 T6 T7 T8 Connection pool C1 C2 C3 JDBC JVM S1 S2 S3 Understanding Technical Architecture 23

23 Connection Pool T1 T2 T3 T4 T5 T6 T7 T8 Thread 6 requests and acquires free connection from pool C1 C2 C3 JDBC Connection pool JVM C2 now unavailable for other threads S1 S2 S3 Understanding Technical Architecture 24

24 Connection Pool T1 T2 T3 T4 T5 T6 T7 T8 Connection pool C1 C2 C3 JDBC JVM Thread 6 submits SQL via C2 S1 S2 S3 DB session S2 wakes up from idle state Understanding Technical Architecture 25

25 Connection Pool T1 T2 T3 T4 T5 T6 T7 T8 Connection pool C1 C2 C3 JDBC JVM S1 S2 S3 S2 executes SQL statement Understanding Technical Architecture 26

26 Connection Pool T1 T2 T3 T4 T5 T6 T7 T8 Connection pool C1 C2 C3 JDBC JVM S2 sends result back to C2 S1 S2 S3 S2 idle again Understanding Technical Architecture 27

27 Connection Pool T1 T2 T3 T4 T5 T6 T7 T8 Connection pool C2 sends result back to T6 C1 C2 C3 JDBC JVM S1 S2 S3 Understanding Technical Architecture 28

28 Connection Pool T6 releases C2 back to pool T1 T2 T3 T4 T5 T6 T7 T8 C1 C2 C3 JDBC Connection pool JVM C2 available again for other threads S1 S2 S3 Understanding Technical Architecture 29

29 Connection Pool These connection/session pairs are sequentially used by requests from different browsers Understanding Technical Architecture 30

30 Points to Be Made Threads should follow strict "request dosql release" pattern Each database request must either: Constitute of queries only, or Represent completed transaction (committed or rolled back) No enduser specific residue must be left in released connection's database session Temp table contents V$context contents Values in global package variables NLS settings Unclosed cursors Unhandled exceptions, during "dosql", should not break release step Leading to connection leakage 31

31 Roadmap Organizational - project roles Technical - Architecture of web applications Technical - Code classification and architecture inside database Concluding thoughts 32

32 First Things First: The Foundation "Proper" = two-fold 1. It must fit business requirements 2. It must follow sound relational practices Proper relational database design 1) is up to you talking to business owners and understanding their problem 2) is about education 33

33 Recommended Practices For a Sound Database Design Use 3 rd normal form Avoid structural redundancies Don't design incidental redundancies E.g. Total value of orderlines at order level Surrogate key 2 nd business key Put different things in different tables Avoid different meaning of column value depending on row Put special things in separate tables (subtypes) Avoid lists of null-able columns due to non-applicability Never allow nulls in columns involved in data integrity constraints Clarification Choose your table- and column-names wisely They are the first steppingstone to understanding your DB design 34

34 Data Integrity Constraints The relational model's meaning: Constraints are second stepping stone to understanding your database design The broader generic concept used in E.F Codd s relational model of data Everything that constrains the data that is allowed I.e. much more that just: CHECK, PRIMARY KEY, UNIQUE KEY, FOREIGN KEY SQL standard includes SQL Assertions for these This is all about predicate logic Boolean expressions that must be true at all times See the book 35

35 SQL Assertions Example Last DB design recommended practice: all columns referenced should be NOT NULL create assertion at_most_one_president as check ((select count(*) as num_president from EMP e where e.job = 'PRESIDENT') <= 1 ) Not supported yet, but Excellent way to document constraints! 36

36

37 Point to Be Made Your database design will have many SQL assertions You will write lot of code to enforce them Enforcement is required during transactional API's All code written to enforce SQL assertions: Data Logic code (DL) Different approaches Table triggers Table API's (TAPI's) Rule packages 38

38 Code Classification Use "du-jour" technology User Interfaces Software Interfaces Procedural code with embedded queries Business TX Logic Business Query Logic Business SQL SQL Logic Data SQL SQL Logic SQL SQL Table Data Store Procedural code with embedded DML and error handling Treat separately from TX-BL Challenge here is: DRY Specify all declarable constraints 39

39 Code Classification API Layer User Interfaces API Layer Software Interfaces Business TX Logic Business Query Logic Business SQL SQL Logic Data SQL SQL Logic SQL SQL Table Data Store 40

40 Code Classification Apply Common Sense DRY User Interfaces API Layer Software Interfaces Business TX Logic Business Query Logic Business SQL SQL Logic Data SQL SQL Logic SQL SQL Shared Views / Functions Table Data Store Business specific - Data views - Data derivations - Computations 41

41 Code Classification Key Message These will then become These will then become straightforward straightforward procedural code User Interfaces API Layer Software Interfaces Business TX Logic Business Query Logic Business SQL SQL Logic Data SQL SQL Logic SQL SQL Shared Views / Functions Table Data Store Make sure that these two are completely separated from other business logic code 42

42 End of Nineties Wisdom Q: How do I prevent one big pile of PL/SQL code? Adversaries argument A: Materialize code classification such that classes, and modules within them, are separately, Visible Maintainable Versionable Etc. 43

43 Schema Architecture: Horizontal Materialization Introduce multiple database schemas Four horizontal layers 1) "Connect schema": object-less schema, used by connection pool to connect to DB 2) "API schema" : holds all API objects jackets on top of code schema objects 3) "Code schema" : holds all business logic and data logic 4) "Storage schema" : holds all tables and declarative constraints 44

44 Schema Architecture T1 T2 T3 T4 T5 T6 Connection pool JVM C1 C2 C3 JDBC Connect schema API schema Code schema Storage schema S1 S2 S3 API objects Business logic Tables 45

45 Remember the Page Network Incoming flows that render Page X Context B Page X Outgoing flows that initiate TX 46

46 Vertically Materialize API's Per Page Page X Create package per page Use page-name/id in its name Render API's Submit API's Add procedure per incoming / outgoing flow U S E C A S E 1 U S E C A S E 2 U S E C A S E 3 U C 1 U C 2 Issue in Page X submit, usecase 2? Impact analysis (dependencies) 47

47 API Object Signature All API's will be packaged procedures Accept and return repeating data via parameters of type: XML JSON (nested) IBI's of varchar2's Index-by-plsinteger record-arrays Accept and return scalar data via parameters of type: Varchar2 48

48 Roadmap Organizational - project roles Technical - Architecture of web applications Technical - Code classification and architecture inside database Concluding thoughts 49

49 Summary We've seen 15 years of MVC in middle-tier With persistence layer role for database Now strong move towards V+C in browser using JavaScript frameworks/libraries M "somewhere else" Both tied together using REST This is opportunity for ThickDB approach to revive 50

50 Summary Separate UI (V+C) and database (M) project roles With DB-developers in the lead who understand technical architecture UI DB Decouple UI via API's that hide all BL+DL Materialize code classes Build UI use-cases vertically Apply common-sense DRY Deploy horizontally using different schemas 51

51 52

52 53

Smart Database Architecture

Smart Database Architecture Smart Database Architecture Getting Great Performance by Using The Database As a Processing Engine Toon Koppelaars Real-World Performance Oracle Server Technologies Safe Harbor Statement The following

More information

The Database: Processing Engine or Persistence Layer?

The Database: Processing Engine or Persistence Layer? The Database: Processing Engine or Persistence Layer? Part 1: Persistence Layer Toon Koppelaars Real-World Performance Oracle Server Technologies Bryn Llewellyn Distinguished Product Manager Oracle Server

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

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding

More information

Bonus Content. Glossary

Bonus Content. Glossary Bonus Content Glossary ActiveX control: A reusable software component that can be added to an application, reducing development time in the process. ActiveX is a Microsoft technology; ActiveX components

More information

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version : SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part I:

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part I: Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part I: Save Cloud Costs and Simplify User Interface Development Peter Koletzke Technical Director & Principal Instructor Me 34 yrs. database

More information

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002 Fast Track Model Based Design and Development with Oracle9i Designer An Oracle White Paper August 2002 Fast Track Model Based Design and Development with Oracle9i Designer Executive Overivew... 3 Introduction...

More information

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant Project Horizon Technical Overview Steven Forman Principal Technical Consultant Agenda Banner Evolution Overview Project Horizon Overview Project Horizon Architecture Review Preparing for Project Horizon

More information

<Insert Picture Here>

<Insert Picture Here> Oracle Forms Modernization with Oracle Application Express Marc Sewtz Software Development Manager Oracle Application Express Oracle USA Inc. 540 Madison Avenue,

More information

MongoDB Web Architecture

MongoDB Web Architecture MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas

More information

Database System Concepts and Architecture

Database System Concepts and Architecture 1 / 14 Data Models and Their Categories History of Data Models Schemas, Instances, and States Three-Schema Architecture Data Independence DBMS Languages and Interfaces Database System Utilities and Tools

More information

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Chapter 1: Abstract The Proway System is a powerful complete system for Process and Testing Data Analysis in IC

More information

Database Applications

Database Applications Database Applications Database Programming Application Architecture Objects and Relational Databases John Edgar 2 Users do not usually interact directly with a database via the DBMS The DBMS provides

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

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture Project Horizon Technical Overview Bob Rullo GM; Presentation Architecture robert.rullo@sungardhe.com Agenda Banner Evolution Overview Project Horizon Overview Project Horizon Architecture Review Preparing

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2-1 Chapter 2 Database System Concepts and Architecture Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Outline Data Models and Their Categories

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx Name: xxxxxx Email ID: xxxxxx Ph: xxxxxx Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

Oracle Developer Day

Oracle Developer Day Oracle Developer Day Sponsored by: Session 2 Oracle Application Development Framework Speaker Speaker Title Page 1 1 Agenda Development Environment Expectations Challenges Oracle ADF Architecture Business

More information

"Web Age Speaks!" Webinar Series

Web Age Speaks! Webinar Series "Web Age Speaks!" Webinar Series Java EE Patterns Revisited WebAgeSolutions.com 1 Introduction Bibhas Bhattacharya CTO bibhas@webagesolutions.com Web Age Solutions Premier provider of Java & Java EE training

More information

Introduction to Information Systems

Introduction to Information Systems Table of Contents 1... 2 1.1 Introduction... 2 1.2 Architecture of Information systems... 2 1.3 Classification of Data Models... 4 1.4 Relational Data Model (Overview)... 8 1.5 Conclusion... 12 1 1.1 Introduction

More information

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes

More information

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation Understanding Impact of J2EE Applications On Relational Databases Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation J2EE Apps and Relational Data J2EE is one of leading technologies used

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

More information

Object Persistence Design Guidelines

Object Persistence Design Guidelines Object Persistence Design Guidelines Motivation Design guideline supports architects and developers in design and development issues of binding object-oriented applications to data sources The major task

More information

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Fusion Middleware 11g: Build Applications with ADF I Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java

More information

Oracle SQL Developer & REST Data Services

Oracle SQL Developer & REST Data Services Oracle SQL Developer & REST Data Services What s New Jeff Smith Senior Principal Product Manager Database Development Tools Jeff.d.smith@oracle.com @thatjeffsmith http://www.thatjeffsmith.com Agenda New

More information

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases Systems Analysis and Design in a Changing World, Fourth Edition Chapter : Designing Databases Learning Objectives Describe the differences and similarities between relational and object-oriented database

More information

Oracle Application Express Schema Design Guidelines Presenter: Flavio Casetta, Yocoya.com

Oracle Application Express Schema Design Guidelines Presenter: Flavio Casetta, Yocoya.com Oracle Application Express Schema Design Guidelines Presenter: Flavio Casetta, Yocoya.com about me Flavio Casetta Founder of Yocoya.com Editor of blog OracleQuirks.blogspot.com 25+ years in the IT 10+

More information

Active Server Pages Architecture

Active Server Pages Architecture Active Server Pages Architecture Li Yi South Bank University Contents 1. Introduction... 2 1.1 Host-based databases... 2 1.2 Client/server databases... 2 1.3 Web databases... 3 2. Active Server Pages...

More information

Ur/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015

Ur/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015 Ur/Web: A Simple Model for Programming the Web Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015 Ur / Web Ur A new general-purpose typed functional language λ Web Tools for implementing modern three-tier

More information

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

Review -Chapter 4. Review -Chapter 5

Review -Chapter 4. Review -Chapter 5 Review -Chapter 4 Entity relationship (ER) model Steps for building a formal ERD Uses ER diagrams to represent conceptual database as viewed by the end user Three main components Entities Relationships

More information

JSON and PL/SQL: A Match Made in Database

JSON and PL/SQL: A Match Made in Database JSON and PL/SQL: A Match Made in Database Steven Feuerstein Oracle Developer Advocate for PL/SQL Oracle Corporation steven.feuerstein@oracle.com @sfonplsql stevenfeuersteinonplsql.blogspot.com Practically

More information

ORACLE DATABASE 12C INTRODUCTION

ORACLE DATABASE 12C INTRODUCTION SECTOR / IT NON-TECHNICAL & CERTIFIED TRAINING COURSE In this training course, you gain the skills to unleash the power and flexibility of Oracle Database 12c, while gaining a solid foundation of database

More information

Petr CZJUG, December 2010

Petr CZJUG, December 2010 Petr Hošek @petrh CZJUG, December 2010 Why do we need another web framework? Foursquare switched over to Scala & Lift last year and we ve been thrilled with the results. The ease of developing complex

More information

Why use a database? You can query the data (run searches) You can integrate with other business systems that use the same database You can store huge

Why use a database? You can query the data (run searches) You can integrate with other business systems that use the same database You can store huge 175 Why use a database? You can query the data (run searches) You can integrate with other business systems that use the same database You can store huge numbers of records without the risk of corruption

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

X-S Framework Leveraging XML on Servlet Technology

X-S Framework Leveraging XML on Servlet Technology X-S Framework Leveraging XML on Servlet Technology Rajesh Kumar R Abstract This paper talks about a XML based web application framework that is based on Java Servlet Technology. This framework leverages

More information

Oracle Fusion Middleware 11g: Build Applications with Oracle Forms

Oracle Fusion Middleware 11g: Build Applications with Oracle Forms Oracle University Contact Us: 00 9714 390 9050 Oracle Fusion Middleware 11g: Build Applications with Oracle Forms Duration: 5 Days What you will learn This course is also suitable for customers using Forms

More information

Database System Concepts and Architecture. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Database System Concepts and Architecture. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Database System Concepts and Architecture Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Outline Data Models and Their Categories History of Data Models Schemas, Instances,

More information

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6 04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is

More information

Caching Personalized and Database-related Dynamic Web Pages

Caching Personalized and Database-related Dynamic Web Pages Caching Personalized and Database-related Dynamic Web Pages Yeim-Kuan Chang, Yu-Ren Lin and Yi-Wei Ting Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan

More information

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved. Reference Application Architecture Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-1, May, 2017 Copyright 2017 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Reference

More information

Chapter. Relational Database Concepts COPYRIGHTED MATERIAL

Chapter. Relational Database Concepts COPYRIGHTED MATERIAL Chapter Relational Database Concepts 1 COPYRIGHTED MATERIAL Every organization has data that needs to be collected, managed, and analyzed. A relational database fulfills these needs. Along with the powerful

More information

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Oracle Fusion Middleware 11g: Build Applications with ADF Accel Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware

More information

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 J2EE: Best Practices for Application Development and Achieving High-Volume Throughput Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 Agenda Architecture Overview WebSphere Application Server

More information

Real Application Security Administration

Real Application Security Administration Oracle Database Real Application Security Administration Console (RASADM) User s Guide 12c Release 2 (12.2) E85615-01 June 2017 Real Application Security Administration Oracle Database Real Application

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Checklist for Testing of Web Application

Checklist for Testing of Web Application Checklist for Testing of Web Application Web Testing in simple terms is checking your web application for potential bugs before its made live or before code is moved into the production environment. During

More information

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part III:

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part III: Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part III: Implementation Techniques Peter Koletzke Technical Director & Principal Instructor Me 34 yrs. database industry 30 yrs. consulting

More information

Introduction to MySQL. Database Systems

Introduction to MySQL. Database Systems Introduction to MySQL Database Systems 1 Agenda Bureaucracy Database architecture overview Buzzwords SSH Tunneling Intro to MySQL Comments on homework 2 Homework #1 Submission date is on the website..

More information

Oracle Forms and Oracle APEX The Odd Couple

Oracle Forms and Oracle APEX The Odd Couple Oracle Forms and Oracle APEX The Odd Couple About me 2 Francis Mignault CTO and Co-founder, Insum Solutions 30+ years with Oracle DB, 14+ years with APEX. (Forms 2.3 / Oracle 5) Books: Expert Oracle Application

More information

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development. Chapter 8: Application Design and Development ICOM 5016 Database Systems Web Application Amir H. Chinaei Department of Electrical and Computer Engineering University of Puerto Rico, Mayagüez User Interfaces

More information

Oracle 11g Invisible Indexes Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc.

Oracle 11g Invisible Indexes   Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc. ORACLE 11G INVISIBLE INDEXES Inderpal S. Johal, Data Softech Inc. INTRODUCTION In this document we will work on another Oracle 11g interesting feature called Invisible Indexes. This will be very helpful

More information

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

Bridging the Gap. Peter Ebell AMIS

Bridging the Gap. Peter Ebell AMIS Bridging the Gap between SOA and the Database Peter Ebell AMIS Agenda Two different worlds: Database and SOA? Bridging the Gap How the Database reaches out to SOA Middleware How SOA Middleware reaches

More information

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd. Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB Marc Stampfli Oracle Software (Switzerland) Ltd. Underestimation According to customers about 20-50% percent

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

<Insert Picture Here> MySQL Cluster What are we working on

<Insert Picture Here> MySQL Cluster What are we working on MySQL Cluster What are we working on Mario Beck Principal Consultant The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Performance evaluation of J2EE

Performance evaluation of J2EE ECE750 Topic 11 Component-Based Software Systems Instructor: Ladan Tahvildari Performance evaluation of J2EE Presented by: Huahao Zhang (20256751) Henry Xu (20198718) July 12, 2007 Outline 1. Introduction

More information

shortcut Tap into learning NOW! Visit for a complete list of Short Cuts. Your Short Cut to Knowledge

shortcut Tap into learning NOW! Visit  for a complete list of Short Cuts. Your Short Cut to Knowledge shortcut Your Short Cut to Knowledge The following is an excerpt from a Short Cut published by one of the Pearson Education imprints. Short Cuts are short, concise, PDF documents designed specifically

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 FEATURES AND FACILITIES SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: JDeveloper features. Java in the database. Simplified database access. IDE: Integrated Development

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Web Software Model CS 4640 Programming Languages for Web Applications

Web Software Model CS 4640 Programming Languages for Web Applications Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive

More information

Full Stack Java Developer Course

Full Stack Java Developer Course T&C Apply Full Stack Java Developer Course From Quick pert Infotech Learning Process Java Developer Learning Path to Crack Interviews Full Fledged Java Developer Spring & Hibernate (Framwork Expert) PL

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

SmartList Senior Project Paper

SmartList Senior Project Paper Brandon Messineo Dr. Jackson SmartList Senior Project Paper We live in a world where technology is used frequently. We use technology to tell the time, predict the weather, write a paper, or communicate

More information

From JAX to Database. Donald Smith. Oracle Corporation. Copyright 2003, Oracle Corporation. Colorado Software Summit: October 26 31, 2003

From JAX to Database. Donald Smith. Oracle Corporation. Copyright 2003, Oracle Corporation. Colorado Software Summit: October 26 31, 2003 From JAX to Database Donald Smith Oracle Corporation Donald Smith From JAX to Database Page 1 Speaker s Qualifications Decade of experience in OO Persistence Presented at Java One, Oracle World, OOPSLA,

More information

DatabaseRESTAPI

DatabaseRESTAPI ORDS DatabaseRESTAPI https://oracle.com/rest Jeff Smith Senior Principal Product Manager Jeff.d.smith@oracle.com @thatjeffsmith Database Tools, Oracle Corp Not just THAT SQLDev Guy I GET ORDS, too! Blogs

More information

COSC 304 Introduction to Database Systems. Database Introduction. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 304 Introduction to Database Systems. Database Introduction. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 304 Introduction to Database Systems Database Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically

More information

Object Persistence and Object-Relational Mapping. James Brucker

Object Persistence and Object-Relational Mapping. James Brucker Object Persistence and Object-Relational Mapping James Brucker Goal Applications need to save data to persistent storage. Persistent storage can be database, directory service, XML files, spreadsheet,...

More information

DATABASES SQL INFOTEK SOLUTIONS TEAM

DATABASES SQL INFOTEK SOLUTIONS TEAM DATABASES SQL INFOTEK SOLUTIONS TEAM TRAINING@INFOTEK-SOLUTIONS.COM Databases 1. Introduction in databases 2. Relational databases (SQL databases) 3. Database management system (DBMS) 4. Database design

More information

Migrating Oracle Databases To Cassandra

Migrating Oracle Databases To Cassandra BY UMAIR MANSOOB Why Cassandra Lower Cost of ownership makes it #1 choice for Big Data OLTP Applications. Unlike Oracle, Cassandra can store structured, semi-structured, and unstructured data. Cassandra

More information

Chapter 1 SQL and Data

Chapter 1 SQL and Data Chapter 1 SQL and Data What is SQL? Structured Query Language An industry-standard language used to access & manipulate data stored in a relational database E. F. Codd, 1970 s IBM 2 What is Oracle? A relational

More information

And Answers In Oracle Pl Sql

And Answers In Oracle Pl Sql Most Frequently Asked Interview Questions And Answers In Oracle Pl Sql To be successful with database-centric applications (which includes most of the in the form of several question-answer sessions commonly

More information

Excel4apps Wands 5 Architecture Excel4apps Inc.

Excel4apps Wands 5 Architecture Excel4apps Inc. Excel4apps Wands 5 Architecture 2014 Excel4apps Inc. Table of Contents 1 Introduction... 3 2 Overview... 3 3 Client... 3 4 Server... 3 4.1 Java Servlet... 4 4.2 OAF Page... 4 4.3 Menu and Function... 4

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

Database Processing. Fundamentals, Design, and Implementation. Global Edition

Database Processing. Fundamentals, Design, and Implementation. Global Edition Database Processing Fundamentals, Design, and Implementation 14th Edition Global Edition Database Processing: Fundamentals, Design, and Implementation, Global Edition Table of Contents Cover Title Page

More information

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use

More information

Reconciling APEX and the Thick Database Paradigm

Reconciling APEX and the Thick Database Paradigm Reconciling APEX and the Thick Database Paradigm @BrynLite Product Manager for PL/SQL and EBR at Oracle HQ Not known for my brevity. Having trouble squeezing my own views not necessarily my employer's

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

Relational Database Systems Part 01. Karine Reis Ferreira

Relational Database Systems Part 01. Karine Reis Ferreira Relational Database Systems Part 01 Karine Reis Ferreira karine@dpi.inpe.br Aula da disciplina Computação Aplicada I (CAP 241) 2016 Database System Database: is a collection of related data. represents

More information

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB About Us Agenda Strategic Direction of Oracle Forms Applications Migration Options Migrating to 10g and 11g Migrating to J2EE and ADF Migrating to

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

Remedy Application Data Security Risks & Mitigations

Remedy Application Data Security Risks & Mitigations Remedy Application Data Security Risks & Mitigations Web-Access related Dinesh Singh Panwar 8/8/2012 This Document describes risks related to web access for Remedy. It also shows how those risks and the

More information

Database System Concepts and Architecture

Database System Concepts and Architecture CHAPTER 2 Database System Concepts and Architecture Copyright 2017 Ramez Elmasri and Shamkant B. Navathe Slide 2-2 Outline Data Models and Their Categories History of Data Models Schemas, Instances, and

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

Mail: Web: juergen-schuster-it.de

Mail: Web: juergen-schuster-it.de Mail: j_schuster@me.com Twitter: @JuergenSchuster Web: juergen-schuster-it.de APEX-Homepage: APEX Podcast: apex.press/talkshow Dynamic Actions Examples: dynamic-actions.com Who am I Oracle (13 Years) Freelancer

More information

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites Oracle Database Real Application Security Administration 12c Release 1 (12.1) E61899-04 May 2015 Oracle Database Real Application Security Administration (RASADM) lets you create Real Application Security

More information

Professional Edition User Guide

Professional Edition User Guide Professional Edition User Guide Pronto, Visualizer, and Dashboards 2.0 Birst Software Version 5.28.6 Documentation Release Thursday, October 19, 2017 i Copyright 2015-2017 Birst, Inc. Copyright 2015-2017

More information

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015 Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others

More information

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information