Quality Assessment of Embedded Language Modules: Targeting the spotlight on heterogeneous systems
|
|
- Anna Garrison
- 6 years ago
- Views:
Transcription
1 Quality Assessment of Embedded Language Modules: Targeting the spotlight on heterogeneous systems Martin van der Vlist Laboratory for Quality Software (LaQuSo)
2 Overview Introduction COBOL Approach Results Java Approach Results Conclusions Current work Future work PAGE 2
3 Introduction LaQuSo: code analysis is core activity Embedded language recurring issue Often SQL/Database intensive applications Metrics/dependencies for host and embedded language available No measurement for interaction Not much research information available PAGE 3
4 Research questions How can the combination of embedded language fragments and host language statements be analyzed? When analyzing embedded language fragments and host language statements, can relevant metrics be calculated and dependencies be analyzed? PAGE 4
5 Common approach Based on existing tools: SQuAVisiT 2 different host-languages: COBOL + PL/SQL Java + SQL Include case studies Legacy COBOL system 2 Java ERP systems Small Java program PAGE 5
6 COBOL: example IDENTIFICATION DIVISION. PROGRAM-ID. XAG1P626. * skipped all initializations etc MOVE HIA-DATUM-INGANG OF PAR TO HIA-DATUM-INGANG OF Q4 MOVE HIA-VOLGNUMMER OF PAR TO HIA-VOLGNUMMER OF Q4 PERFORM M ACCESS-BLOCK * a lot of methods in between M ACCESS-BLOCK SECTION. M ACCESS-BLOCK-PAR. EXEC SQL SELECT XAP626.HIA_HEFFINGSGRONDSLAG INTO :A4.HIA-HEFFINGSGRONDSLAG FROM XAP626 WHERE ( TO_CHAR(XAP626.HIA_DATUM_INGANG, 'YYYYMMDD') = :Q4.HIA-DATUM-INGANG AND XAP626.HIA_VOLGNUMMER = :Q4.HIA-VOLGNUMMER ) END-EXEC. M ACCESS-BLOCK-EX. EXIT. PAGE 6
7 COBOL:approach Parse COBOL program using generated parser = y = 42 * (x + 481) y * x PAGE 7
8 COBOL:approach Parse COBOL program using generated parser regarding SQL statements as 1 token IDENTIFICATION DIVISION. PROGRAM-ID. XAG1P626. M ACCESS-BLOCK-PAR * skipped all initializations etc MOVE HIA-DATUM-INGANG OF PAR TO HIA-DATUM-INGANG OF Q4 MOVE HIA-VOLGNUMMER OF PAR TO HIA-VOLGNUMMER OF Q4 PERFORM M ACCESS-BLOCK * a lot of methods in between M ACCESS-BLOCK SECTION. M ACCESS-BLOCK-PAR. EXEC SQL SELECT XAP626.HIA_HEFFINGSGRONDSLAG INTO :A4.HIA-HEFFINGSGRONDSLAG FROM XAP626 WHERE ( TO_CHAR(XAP626.HIA_DATUM_INGANG, 'YYYYMMDD') = :Q4.HIA-DATUM-INGANG AND XAP626.HIA_VOLGNUMMER = :Q4.HIA-VOLGNUMMER ) END-EXEC. M ACCESS-BLOCK-EX. EXIT. SQLStatement EXEC SQL END-EXEC SELECT XAP626.HIA_HEFFINGSGRONDSLAG XAP626.HIA_VOLGNUMMER = :Q4.HIA-VOLGNUMMER ) PAGE 8
9 COBOL: approach Parse COBOL program regarding SQL statements as 1 token After COBOL-analysis, parse SQL statements (using existing SQL parser) Analyze dependencies between modules and tables Compute metrics separately PAGE 9
10 COBOL: case study Large pension fund COBOL/PL-SQL system 2816 files, 1603 files with queries 1.62 Million lines of code PAGE 10
11 COBOL results: metrics Number of queries per module 7 modules: > modules: 1 One file contains all stored procedures Number of tables per module Max number of tables: modules > 1 (out of 1603) PAGE 11
12 COBOL results: metrics 106 NOT SUPPOSED TO READ THIS 33 PAGE 12
13 COBOL results: dependencies PAGE 13
14 COBOL results: dependencies PAGE 14
15 COBOL results: dependencies PAGE 15
16 COBOL results: dependencies PAGE 16
17 COBOL results: dependencies PAGE 17
18 Java: example //running example public int getcustomercredit(int id) throws SQLException { String sql = "SELECT cd.credit "; sql += "FROM CustomerDetails cd" + "WHERE cd.category = " + this.getcategory(); if (this.restrict) { sql += " AND cd.restriction = 1"; } sql += " AND cd.id =?"; PreparedStatement s = this.con.preparestatement(sql); s.setint(1, id); ResultSet rs = s.executequery(); rs.next(); return rs.getint( credit"); } PAGE 18
19 Java: the issue IDENTIFICATION DIVISION. PROGRAM-ID. XAG1P626. * skipped all initializations etc MOVE HIA-DATUM-INGANG OF PAR TO HIA-DATUM-INGANG OF Q4 MOVE HIA-VOLGNUMMER OF PAR TO HIA-VOLGNUMMER OF Q4 PERFORM M ACCESS-BLOCK * a lot of methods in between M ACCESS-BLOCK SECTION. M ACCESS-BLOCK-PAR. EXEC SQL SELECT XAP626.HIA_HEFFINGSGRONDSLAG INTO :A4.HIA-HEFFINGSGRONDSLAG FROM XAP626 WHERE ( TO_CHAR(XAP626.HIA_DATUM_INGANG, 'YYYYMMDD') = :Q4.HIA-DATUM-INGANG AND XAP626.HIA_VOLGNUMMER = :Q4.HIA-VOLGNUMMER ) END-EXEC. M ACCESS-BLOCK-EX. EXIT. SQL //running example public int getcustomercredit(int id) throws SQLException { String sql = "SELECT cd.credit "; sql += "FROM CustomerDetails cd" + "WHERE cd.category = " + this.getcategory(); if (this.restrict) { sql += " AND cd.restriction = 1"; } sql += " AND cd.id =?"; PreparedStatement s = this.con.preparestatement(sql); s.setint(1, id); ResultSet rs = s.executequery(); rs.next(); System.out.println( Query executed"); return rs.getint( credit"); } SQL parts Not SQL PAGE 19
20 Java: approach public int getcustomercredit(int id) throws SQLException { String sql = "SELECT cd.credit "; sql += "FROM CustomerDetails cd" + # of String Parts = 6 "WHERE cd.category = " + this.getcategory(); # Of Decisions =1 if (this.restrict) { sql += " AND cd.restriction = 1"; # Of Alternatives = 2 } sql += " AND cd.id =?"; # Unknown Parts = 1 PreparedStatement s = this.con.preparestatement(sql); % syntactically Correct Alt. s.setint(1, id); = 100% ResultSet rs = s.executequery(); rs.next(); Determine starting point return rs.getint( credit"); Slicing to determine fragment } Starting point Compute metrics PAGE 20
21 Java: limitations on analysis Analysis limited to methods Only interpretation of: String StringBuilder StringBuffer Numeric types Decisions regarded as non-deterministic More/less alternatives found than possible PAGE 21
22 Java: case studies ERP system GPL license Company-maintained, little community feedback used 0.7 million lines of code 2056 DB calls detected ERP system GPL license Community-driven fork of Compiere 1.1 million lines of code 2631 DB calls detected DJI GUI-based interview appl. 2 students assistants, 1 month 12,600 lines of code PAGE 22
23 Compiere results: categorization 12% 6% % Known value Decisions Unknown parts Both 67% Queries categorized by complexity PAGE 23
24 Compiere results: parsability Statements detected parsed Cat. 1 Cat. 2 Cat. 3 Cat. 4 Total PAGE 24
25 Compiere: parse errors Analysis errors: 54 Incomplete SQL parser: 5 Syntax errors: 8 String sql = "SELECT * " + "FROM tablex " + "WHERE value IS NOT NULL" + "ORDER BY value"; stmt.executequery(sql); PAGE 25
26 Compiere: quality metrics Java SQL PAGE 26
27 Compiere: Dependencies Global dependencies PAGE 27
28 Compiere: Dependencies Database dependencies PAGE 28
29 Code duplication between files Compiere Adempiere PAGE 29
30 Code duplication: DB error handling Compiere Adempiere PAGE 30
31 Case study: DJI GUI-based interview application 2 student assistants, 1 month 12,600 lines of code Prototype PAGE 31
32 DJI: Dependencies Internal dependencies PAGE 32
33 DJI: GUI & DB dependencies GUI Database PAGE 33
34 Conclusions Analysis of embedded languages can be done Tools need optimizations for optimal results Useful: results give insight in structure Assessment is a man's job No 100% analysis possible PAGE 34
35 Conclusions: answer 1 How can the combination of embedded language fragments and host language statements be analyzed? Language dependent: COBOL: recognize extended language Java: interpret language No generic approach, each language needs specialized tools PAGE 35
36 Conclusions: answer 2 When analyzing embedded language fragments and host language statements, can relevant metrics be calculated and dependencies be analyzed? Complexity of embedded code Interaction between host- and guest-language Dependencies between host-language and database Relevant insight PAGE 36
37 Current work: Evolution Compiere and Adempiere compared over time Compiere: 5 versions between 2006 and 2008 Adempiere: 16 versions between 2006 and nov 2009 Gain confidence in proposed interaction metrics 2008 lucdgbxl@flickr PAGE 37
38 Evolution: Categories 2056 fragments 2631 fragments PAGE 38
39 Evolution: outcome Analysis of either Java or SQL not enough Categorization distinguishes case studies Using this: Insight in evolution of case studies Insight in complexity of case studies PAGE 39
40 Current work: Hibernate Analysis of Hibernate categorization performed 3 days to make modifications Vast differences between 3 case studies Compared by files using DB system: Plazma OpenPM OpenBravo JDBC SQLC Hibernate PAGE 40
41 Future work Validation of metrics Analysis of C#/Ado.NET PAGE 41
42 Questions? SQL PAGE 42
Implementing evolution: Database migration
2IS55 Software Evolution Implementing evolution: Database migration Alexander Serebrenik Sources / SET / W&I 26-5-2011 PAGE 1 Last week Assignment 7 How is it going? I m off-line from May 27 till May 30.
More informationImplementing evolution: Database migration
2IMP25 Software Evolution Implementing evolution: Database migration Alexander Serebrenik Assessment Assignment 3: deadline TONIGHT Exam: April 14 / SET / W&I 30/03/16 PAGE 2 Sources / SET / W&I 30/03/16
More informationSQream Connector JDBC SQream Technologies Version 2.9.3
SQream Connector JDBC 2.9.3 SQream Technologies 2019-03-27 Version 2.9.3 Table of Contents The SQream JDBC Connector - Overview...................................................... 1 1. API Reference............................................................................
More informationDatabase Applications. SQL/PSM Embedded SQL JDBC
Database Applications SQL/PSM Embedded SQL JDBC 1 Course Objectives Design Construction Applications Usage 2 Course Objectives Interfacing When the course is through, you should Know how to connect to
More informationReverse Engineering in practice. Joost Gabriels, Serguei Roubtsov, Alexander Serebrenik LaQuSo & SET
Reverse Engineering in practice Joost Gabriels, Serguei Roubtsov, Alexander Serebrenik LaQuSo & SET Engineering principle Construct Improve Maintain Assess (Re)use We need models! / LaQuSo / Mathematics
More informationCSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige
CSC 308 2.0 System Development with Java Database Connection Budditha Hettige Department of Statistics and Computer Science Budditha Hettige 1 From database to Java There are many brands of database: Microsoft
More informationSQL: Programming. Announcements (September 25) Motivation. CPS 116 Introduction to Database Systems. Pros and cons of SQL.
SQL: Programming CPS 116 Introduction to Database Systems Announcements (September 25) 2 Homework #2 due this Thursday Submit to Yi not through Jun s office door Solution available this weekend No class
More informationProject Documentation
Project Documentation A JDBC Driver Supporting Data Integration and Evolution Jian Jia Goals University of Iowa, Iowa City, IA jjia@cs.uiowa.edu This project will produce a Unity JDBC Driver that is compliant
More informationOracle Exam 1z0-809 Java SE 8 Programmer II Version: 6.0 [ Total Questions: 128 ]
s@lm@n Oracle Exam 1z0-809 Java SE 8 Programmer II Version: 6.0 [ Total Questions: 128 ] Oracle 1z0-809 : Practice Test Question No : 1 Given: public final class IceCream { public void prepare() { public
More informationSQL: Programming Midterm in class next Thursday (October 5)
Announcements (September 28) 2 Homework #1 graded Homework #2 due today Solution available this weekend SQL: Programming Midterm in class next Thursday (October 5) Open book, open notes Format similar
More informationBUSINESS INTELLIGENCE LABORATORY. Data Access: Relational Data Bases. Business Informatics Degree
BUSINESS INTELLIGENCE LABORATORY Data Access: Relational Data Bases Business Informatics Degree RDBMS data access 2 Protocols and API ODBC, OLE DB, ADO, ADO.NET, JDBC JDBC Programming Java classes java.sql
More informationEmbedded SQL. Host Language (record-oriented) 3. Process a tuple at a time. 1. Query. 4. Close Cursor
Embedded SQL Host Language (record-oriented) 3. Process a tuple at a time 1. Query 4. Close Cursor DBMS (set-oriented) 2. Evaluate query. Provide cursor to query result. 1 JDBC Java DataBase Connectivity
More informationTiers (or layers) Separation of concerns
Tiers (or layers) Separation of concerns Hiding the type of storage from the client class Let s say we have a program that needs to fetch objects from a storage. Should the program have to be concerned
More informationEXTRACTION OF REUSABLE COMPONENTS FROM LEGACY SYSTEMS
EXTRACTION OF REUSABLE COMPONENTS FROM LEGACY SYSTEMS Moon-Soo Lee, Yeon-June Choi, Min-Jeong Kim, Oh-Chun, Kwon Telematics S/W Platform Team, Telematics Research Division Electronics and Telecommunications
More informationAnnouncements. SQL: Part IV. Transactions. Summary of SQL features covered so far. Fine prints. SQL transactions. Reading assignments for this week
Announcements 2 SQL: Part IV CPS 216 Advanced Database Systems Reading assignments for this week A Critique of ANSI SQL Isolation Levels, by Berenson et al. in SIGMOD 1995 Weaving Relations for Cache Performance,
More informationKyle Brown Knowledge Systems Corporation by Kyle Brown and Knowledge Systems Corporation
Kyle Brown Knowledge Systems Corporation 1 What is the JDBC? What other persistence mechanisms are available? What facilities does it offer? How is it used? 2 JDBC is the Java DataBase Connectivity specification
More informationDatabase Application Development
Database Application Development Linda Wu (CMPT 354 2004-2) Topics SQL in application code Embedded SQL JDBC SQLJ Stored procedures Chapter 6 CMPT 354 2004-2 2 SQL in Application Code SQL commands can
More informationChapter 13 Introduction to SQL Programming Techniques
Chapter 13 Introduction to SQL Programming Techniques Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Outline Database Programming: Techniques and Issues Embedded
More informationDatabase Programming Overview. COSC 304 Introduction to Database Systems. Database Programming. JDBC Interfaces. JDBC Overview
COSC 304 Introduction to Database Systems Database Programming Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Database Programming Overview Most user interaction with
More informationEMBEDDED SQL. SE 3DB3 Fall 2016 MICHAEL LIUT DEPARTMENT OF COMPUTING AND SOFTWARE MCMASTER UNIVERSITY
EMBEDDED SQL MICHAEL LIUT (LIUTM@MCMASTER.CA) DEPARTMENT OF COMPUTING AND SOFTWARE MCMASTER UNIVERSITY SE 3DB3 Fall 2016 (Slides adapted from Dr. Fei Chiang, Diane Horton, examples from J. Ullman, J. Widom)
More informationDATABASE DESIGN I - 1DL300
DATABASE DESIGN I - 1DL300 Fall 2010 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/ht10/ Manivasakan Sabesan Uppsala Database Laboratory Department of Information
More informationDatabase Application Development
CS 461: Database Systems Database Application Development supplementary material: Database Management Systems Sec. 6.2, 6.3 DBUtils.java, Student.java, Registrar.java, RegistrarServlet.java, PgRegistrar.sql
More informationNon-interactive SQL. EECS Introduction to Database Management Systems
Non-interactive SQL EECS3421 - Introduction to Database Management Systems Using a Database Interactive SQL: Statements typed in from terminal; DBMS outputs to screen. Interactive SQL is inadequate in
More informationChair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 9. Nadia Polikarpova
Chair of Software Engineering Java and C# in Depth Prof. Dr. Bertrand Meyer Exercise Session 9 Nadia Polikarpova Quiz 1: scrolling a ResultSet (JDBC) How do you assess the following code snippet that iterates
More informationJava Programming. Price $ (inc GST)
1800 ULEARN (853 276) www.ddls.com.au Java Programming Length 5 days Price $4235.00 (inc GST) Overview Intensive and hands-on, the course emphasizes becoming productive quickly as a Java application developer.
More information한국정보과학회프로그래밍언어연구회겨울학교 String Analysis 한양대학교안산캠퍼스컴퓨터공학과 프로그래밍언어연구실 도경구
한국정보과학회프로그래밍언어연구회겨울학교 2008 String Analysis 2008.01.31 한양대학교안산캠퍼스컴퓨터공학과 프로그래밍언어연구실 도경구 String A Sequence of Characters Examples A program A HTML document An XML document A collection of formatted data A
More informationAccessing databases in Java using JDBC
Accessing databases in Java using JDBC Introduction JDBC is an API for Java that allows working with relational databases. JDBC offers the possibility to use SQL statements for DDL and DML statements.
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Chapter 10 Outline Database Programming: Techniques and Issues Embedded SQL, Dynamic SQL, and SQLJ Database Programming with Function Calls: SQL/CLI and JDBC Database Stored Procedures and SQL/PSM Comparing
More informationJava.sql.sqlexception closed connection at. oracle.jdbc.driver.physicalconnection.pr eparestatement
Java.sql.sqlexception closed connection at oracle.jdbc.driver.physicalconnection.pr eparestatement Java.sql.sqlexception closed connection at oracle.jdbc.driver.physicalconnection.preparestatement.zip
More informationA framework to distil SQL queries out of host languages in order to apply quality metrics
Master s Thesis defence A framework to distil SQL queries out of host languages in order to apply quality metrics Department of Information and Computing Sciences Universiteit Utrecht January 11, 2007
More informationSpecifik Software System Understanding
Specifik Software System Understanding Specifik Software A/S info@specifik.dk System Understanding Mainframe systems are often designed and programmed over a period of 40 years. The total invested resources
More informationEmbedded SQL. csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Meraji Winter 2018
Embedded SQL csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Meraji Winter 2018 Problems with using interactive SQL Standard SQL is not Turing-complete. E.g., Two profs
More informationPESIT Bangalore South Campus
INTERNAL ASSESSMENT TEST II Date : 20-09-2016 Max Marks: 50 Subject & Code: JAVA & J2EE (10IS752) Section : A & B Name of faculty: Sreenath M V Time : 8.30-10.00 AM Note: Answer all five questions 1) a)
More informationDatabase Application Development
CS 500: Fundamentals of Databases Database Application Development supplementary material: Database Management Systems Sec. 6.2, 6.3 DBUtils.java, Student.java, Registrar.java, RegistrarServlet.java, PgRegistrar.sql
More informationYou write standard JDBC API application and plug in the appropriate JDBC driver for the database the you want to use. Java applet, app or servlets
JDBC Stands for Java Database Connectivity, is an API specification that defines the following: 1. How to interact with database/data-source from Java applets, apps, servlets 2. How to use JDBC drivers
More informationThe Object-Oriented Paradigm. Employee Application Object. The Reality of DBMS. Employee Database Table. From Database to Application.
The Object-Oriented Paradigm CS422 Principles of Database Systems Object-Relational Mapping (ORM) Chengyu Sun California State University, Los Angeles The world consists of objects So we use object-oriented
More informationLecture 9&10 JDBC. Mechanism. Some Warnings. Notes. Style. Introductory Databases SSC Introduction to DataBases 1.
Lecture 9&10 JDBC Java and SQL Basics Data Manipulation How to do it patterns etc. Transactions Summary JDBC provides A mechanism for to database systems An API for: Managing this Sending s to the DB Receiving
More informationVanillaCore Walkthrough Part 1. Introduction to Database Systems DataLab CS, NTHU
VanillaCore Walkthrough Part 1 Introduction to Database Systems DataLab CS, NTHU 1 The Architecture VanillaDB JDBC/SP Interface (at Client Side) Remote.JDBC (Client/Server) Query Interface Remote.SP (Client/Server)
More informationCS 474, Spring 2016 Midterm Exam #2
CS 474, Spring 2016 Midterm Exam #2 Name: e-id: @dukes.jmu.edu By writing your name, you acknowledge the following honor code statement: I have neither given nor received unauthorized assistance on this
More informationEmbedded SQL. csc343, Introduction to Databases Diane Horton with examples from Ullman and Widom Fall 2014
Embedded SQL csc343, Introduction to Databases Diane Horton with examples from Ullman and Widom Fall 2014 Problems with using interactive SQL Standard SQL is not Turing-complete. E.g., Two profs are colleagues
More informationDatabase Applications (15-415)
Database Applications (15-415) SQL-Part III & Storing Data: Disks and Files- Part I Lecture 8, February 5, 2014 Mohammad Hammoud Today Last Session: Standard Query Language (SQL)- Part II Today s Session:
More informationStudent Number: Please fill out the identification section above as well as the one on the back page, and read the instructions below. Good Luck!
CSC 343H1S 2013 Test 2 Duration 50 minutes Aids allowed: none Last Name: Lecture Section: Day Student Number: First Name: Instructor: Horton Please fill out the identification section above as well as
More informationHow to program applications. CS 2550 / Spring 2006 Principles of Database Systems. SQL is not enough. Roadmap
How to program applications CS 2550 / Spring 2006 Principles of Database Systems 05 SQL Programming Using existing languages: Embed SQL into Host language ESQL, SQLJ Use a library of functions Design a
More informationCompiler Design Overview. Compiler Design 1
Compiler Design Overview Compiler Design 1 Preliminaries Required Basic knowledge of programming languages. Basic knowledge of FSA and CFG. Knowledge of a high programming language for the programming
More informationWorking with Databases and Java
Working with Databases and Java Pedro Contreras Department of Computer Science Royal Holloway, University of London January 30, 2008 Outline Introduction to relational databases Introduction to Structured
More informationJava Database Connectivity (JDBC) 25.1 What is JDBC?
PART 25 Java Database Connectivity (JDBC) 25.1 What is JDBC? JDBC stands for Java Database Connectivity, which is a standard Java API for database-independent connectivity between the Java programming
More informationJava SE 7 Programming
Oracle University Contact Us: +40 21 3678820 Java SE 7 Programming Duration: 5 Days What you will learn This Java Programming training covers the core Application Programming Interfaces (API) you'll use
More informationWhy 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 informationSoftware Tools Data Access Layers
2009 Software Tools Data Access Layers Part II - Lecture 3 1 The University of Auckland New Zealand COMPSCI 732 Today s Outline 2009 Data Access Layers PDStore Assignment 2 Project 2 The University of
More informationLogging and Recovery. 444 Section, April 23, 2009
Logging and Recovery 444 Section, April 23, 2009 Reminders Project 2 out: Due Wednesday, Nov. 4, 2009 Homework 1: Due Wednesday, Oct. 28, 2009 Outline Project 2: JDBC ACID: Recovery Undo, Redo logging
More informationERwin and JDBC. Mar. 6, 2007 Myoung Ho Kim
ERwin and JDBC Mar. 6, 2007 Myoung Ho Kim ERwin ERwin a popular commercial ER modeling tool» other tools: Dia (open source), Visio, ConceptDraw, etc. supports database schema generation 2 ERwin UI 3 Data
More informationJava Database Connectivity
Java Database Connectivity INTRODUCTION Dr. Syed Imtiyaz Hassan Assistant Professor, Deptt. of CSE, Jamia Hamdard (Deemed to be University), New Delhi, India. s.imtiyaz@jamiahamdard.ac.in Agenda Introduction
More informationDealing with Enterprise Database Challenges
Dealing with Enterprise Database Challenges Featuring the Apache ibatis Data Mapping Framework Scope ibatis Data Mapping Framework Introduction, SQL Mapping defined, examples. SQL Is it still relevant?
More informationDatabase Application Development
Database Application Development Chapter 6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic
More informationSoftware Clone Detection. Kevin Tang Mar. 29, 2012
Software Clone Detection Kevin Tang Mar. 29, 2012 Software Clone Detection Introduction Reasons for Code Duplication Drawbacks of Code Duplication Clone Definitions in the Literature Detection Techniques
More informationSqlC tutorial. 12 th may Revision 1.0. Visit us at
SqlC tutorial 12 th may 2006 Revision 1.0 Visit us at www.openbravo.com Table of Contents I. Introduction... 3 II. The Xml input file... 4 III. Executing SqlC... 5 IV. The output... 6 V. Types of methods...
More informationOpenbravo POS Installation and Sales Demo User Documentation
Openbravo POS Installation and Sales Demo User Documentation Prepare By: J.Selvam Date : 03-08-2012 www.isquaresystems.com Page: 1 info@isquaresystems.com Contents: 1. Introduction 2. Openbravo POS Overview
More informationServer-side Web Programming
Server-side Web Programming Lecture 13: JDBC Database Programming JDBC Definition Java Database Connectivity (JDBC): set of classes that provide methods to Connect to a database through a database server
More information"Charting the Course... Java Programming Language. Course Summary
Course Summary Description This course emphasizes becoming productive quickly as a Java application developer. This course quickly covers the Java language syntax and then moves into the object-oriented
More informationMore Database Programming. CS157A Chris Pollett Nov. 2, 2005.
More Database Programming CS157A Chris Pollett Nov. 2, 2005. Outline JDBC SQLJ Introduction Last day we went over some JDBC and SQLJ code examples from prior classes. Today, we will discuss JDBC and SQLJ
More informationJDBC BASIC 19/05/2012. Objectives. Java Database Connectivity. Definitions of JDBC. Part 1. JDBC basic Working with JDBC Adv anced JDBC programming
Objectives Java Database Connectivity JDBC basic Working with JDBC Adv anced JDBC programming By Võ Văn Hải Faculty of Information Technologies Summer 2012 2/27 Definitions of JDBC JDBC APIs, which provides
More informationSQL in a Server Environment
SQL in a Server Environment Vaidė Narváez Computer Information Systems January 13th, 2011 The Three-Tier Architecture Application logic components Copyright c 2009 Pearson Education, Inc. Publishing as
More informationLecture 2. Introduction to JDBC
Lecture 2 Introduction to JDBC Introducing JDBC According to Sun, JDBC is not an acronym, but is commonly misinterpreted to mean Java DataBase Connectivity JDBC: is an API that provides universal data
More informationIn the hardware module, you saw the basic execution of a program Programs are written in specific languages Each language has it s strengths and
In the hardware module, you saw the basic execution of a program Programs are written in specific languages Each language has it s strengths and weaknesses, and own grammar and syntax We will take a high-
More informationSQL and Java. Database Systems Lecture 20 Natasha Alechina
Database Systems Lecture 20 Natasha Alechina In this Lecture SQL in Java SQL from within other Languages SQL, Java, and JDBC For More Information Sun Java tutorial: http://java.sun.com/docs/books/tutorial/jdbc
More informationSlice Intelligence!
Intern @ Slice Intelligence! Wei1an(Wu( September(8,(2014( Outline!! Details about the job!! Skills required and learned!! My thoughts regarding the internship! About the company!! Slice, which we call
More informationDiscuss setting up JDBC connectivity. Demonstrate a JDBC program Discuss and demonstrate methods associated with JDBC connectivity
Objectives Discuss setting up JDBC connectivity. Demonstrate a JDBC program Discuss and demonstrate methods associated with JDBC connectivity Setting Up JDBC Before you can begin to utilize JDBC, you must
More informationJDBC Programming: Intro
JDBC Programming: Intro Most interaction with DB is not via interactive interface Most people interact via 1. Application programs directly 2. Apps over the internet There are 3 general approaches to developing
More informationSoftware MEIC. (Lesson 22)
Software Architecture @ MEIC (Lesson 22)! Last class Finished Allocation viewtype Software architecture of enterprise applications The architecture of Amazon Silk Today Digging into the Domain Logic Layer
More informationThree-Tier Architecture
Three-Tier Architecture Located @ Any PC HTTP Requests Microsoft Internet Explorer HTML Located @ Your PC Apache Tomcat App Server Java Server Pages (JSPs) JDBC Requests Tuples Located @ DBLab MS SQL Server
More informationSQL Injection. EECS Introduction to Database Management Systems
SQL Injection EECS3421 - Introduction to Database Management Systems Credit "Foundations of Security: What Every Programmer Needs To Know" (Chapter 8) by Neil Daswani, Christoph Kern, and Anita Kesavan
More informationDBRIDGE: A PROGRAM REWRITE
DBRIDGE: A PROGRAM REWRITE TOOL FOR SET-ORIENTED QUERY EXECUTION Mahendra Chavan*, Ravindra Guravannavar, Prabhas Kumar Samanta, Karthik Ramachandra, S Sudarshan Indian Institute of Technology Bombay,
More informationSQL for Palm Zhiye LIU MSc in Information Systems 2002/2003
Zhiye LIU MSc in Information Systems 2002/2003 The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has been made to the work of others.
More informationType Java.sql.sqlexception Error Code 0 Sql State S1000
Type Java.sql.sqlexception Error Code 0 Sql State S1000 sql query result parsing -SQL Error: 0, SQLState: S1000 - Unknown type '14 in column 3 of 4 in binary-encoded Browse other questions tagged java
More informationJ2EE Technologies. Industrial Training
COURSE SYLLABUS J2EE Technologies Industrial Training (4 MONTHS) PH : 0481 2411122, 09495112288 Marette Tower E-Mail : info@faithinfosys.com Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01 www.faithinfosys.com
More informationEmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.
EmpAnADa Project C.F.J.Lange@tue.nl June 4 th, 2004 Eindhoven University of Technology, The Netherlands Outline EmpAnADa introduction Part I Completeness and consistency in detail Part II Background UML
More informationCSE 135. Three-Tier Architecture. Applications Utilizing Databases. Browser. App. Server. Database. Server
CSE 135 Applications Utilizing Databases Three-Tier Architecture Located @ Any PC HTTP Requests Browser HTML Located @ Server 2 App Server JDBC Requests JSPs Tuples Located @ Server 1 Database Server 2
More informationFrom sif to SOFA. Andrew Simpson (and David Power, Douglas Russell and Mark Slaymaker) June 18th, Oxford University Computing Laboratory
From to (and David Power, Douglas Russell and Mark Slaymaker) Oxford University Computing Laboratory June 18th, 2010 From to 1 Motivation 2 3 4 5 6 From to Motivation Increasingly, there is a drive in
More informationCOURSE SYLLABUS. Complete JAVA. Industrial Training (3 MONTHS) PH : , Vazhoor Road Changanacherry-01.
COURSE SYLLABUS Complete JAVA Industrial Training (3 MONTHS) PH : 0481 2411122, 09495112288 E-Mail : info@faithinfosys.com www.faithinfosys.com Marette Tower Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01
More informationThis lecture. Databases - JDBC I. Application Programs. Database Access End Users
This lecture Databases - I The lecture starts discussion of how a Java-based application program connects to a database using. (GF Royle 2006-8, N Spadaccini 2008) Databases - I 1 / 24 (GF Royle 2006-8,
More informationJAVA AND DATABASES. Summer 2018
JAVA AND DATABASES Summer 2018 JDBC JDBC (Java Database Connectivity) an API for working with databases in Java (works with any tabular data, but focuses on relational databases) Works with 3 basic actions:
More informationSQL DML and DB Applications, JDBC
SQL DML and DB Applications, JDBC Week 4.2 Week 4 MIE253-Consens 1 Schedule Week Date Lecture Topic 1 Jan 9 Introduction to Data Management 2 Jan 16 The Relational Model 3 Jan. 23 Constraints and SQL DDL
More informationWKA Studio for Beginners
WKA Studio for Beginners The first and foremost, the WKA Studio app and its development are fundamentally different from conventional apps work and their developments using higher level programming languages
More informationThe Design of JDBC The Structured Query Language Basic JDBC Programming Concepts Query Execution Scrollable and Updatable Result Sets
Course Name: Advanced Java Lecture 13 Topics to be covered The Design of JDBC The Structured Query Language Basic JDBC Programming Concepts Query Execution Scrollable and Updatable Result Sets Introducing
More informationScheme G Sample Question Paper Unit Test 2
Scheme G Sample Question Paper Unit Test 2 Course Name: Computer Engineering Group Course Code: CO/CD/CM/CW/IF Semester: Sixth Subject Title: Advanced Java Programming Marks: 25 Marks 17625 ---------------------------------------------------------------------------------------------------------------------------
More informationCourse Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::
Module Title Duration : Intro to JAVA SE7 and Programming using JAVA SE7 : 9 days Course Description The Java SE 7 Fundamentals course was designed to enable students with little or no programming experience
More informationCompiling Regular Expressions COMP360
Compiling Regular Expressions COMP360 Logic is the beginning of wisdom, not the end. Leonard Nimoy Compiler s Purpose The compiler converts the program source code into a form that can be executed by the
More informationJava SE 7 Programming
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This is the second of two courses that cover the Java Standard Edition
More informationJDBC, Transactions. Niklas Fors JDBC 1 / 38
JDBC, Transactions SQL in Programs Embedded SQL and Dynamic SQL JDBC Drivers, Connections, Statements, Prepared Statements Updates, Queries, Result Sets Transactions Niklas Fors (niklas.fors@cs.lth.se)
More informationSEEK: Scalable Extraction of Enterprise Knowledge
SEEK: Scalable Extraction of Enterprise Knowledge Joachim Hammer Dept. of CISE University of Florida 26-Feb-2002 1 Project Overview Faculty Joachim Hammer Mark Schmalz Computer Science Students Sangeetha
More informationSecure Web App. 제목 : Secure Web Application v1.0 ( 채수민책임 ) Copyright 2008 Samsung SDS Co., Ltd. All rights reserved - 1 -
Secure Web App. Copyright 2008 Samsung SDS Co., Ltd. All rights reserved - 1 - Building & Testing Secure Web Applications By Aspect Security Copyright 2008 Samsung SDS Co., Ltd. All rights reserved - 2
More informationMCS-274 Final Exam Serial #:
MCS-274 Final Exam Serial #: This exam is closed-book and mostly closed-notes. You may, however, use a single 8 1/2 by 11 sheet of paper with hand-written notes for reference. (Both sides of the sheet
More informationEnterprise JavaBeans. Layer:08. Persistence
Enterprise JavaBeans Layer:08 Persistence Agenda Discuss "finder" methods. Describe DataSource resources. Describe bean-managed persistence. Describe container-managed persistence. Last Revised: 11/1/2001
More informationSyntax and Grammars 1 / 21
Syntax and Grammars 1 / 21 Outline What is a language? Abstract syntax and grammars Abstract syntax vs. concrete syntax Encoding grammars as Haskell data types What is a language? 2 / 21 What is a language?
More informationJDBC Drivers Type. JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server.
JDBC Drivers Type 1 What is JDBC Driver? JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server. For example, using JDBC drivers enable you to open database
More informationCSCI/CMPE Object-Oriented Programming in Java JDBC. Dongchul Kim. Department of Computer Science University of Texas Rio Grande Valley
CSCI/CMPE 3326 Object-Oriented Programming in Java JDBC Dongchul Kim Department of Computer Science University of Texas Rio Grande Valley Introduction to Database Management Systems Storing data in traditional
More informationClass, Variable, Constructor, Object, Method Questions
Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx
More information3) execute() Usage: when you cannot determine whether SQL is an update or query return true if row is returned, use getresultset() to get the
Agenda Lecture (07) Database connectivity (II) Connecting DB Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU Spring 2011, Distributed Systems 2 Dr. Ahmed ElShafee, ACU Spring 2011, Distributed Systems The
More informationJava 8 Programming for OO Experienced Developers
www.peaklearningllc.com Java 8 Programming for OO Experienced Developers (5 Days) This course is geared for developers who have prior working knowledge of object-oriented programming languages such as
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More information