CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes BooKeeper Sridevi Srinivasan CS 8628, Summer 2003 Replication in Pocket PC Environment using.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Introduction to Rails.
Chapter 10: Designing Databases
CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Final Project TackSoo Im CS 8628, Summer 2003 Video Rental Store Database for PDA.
CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes TaskMaster Ken Crosson CS 8628, Summer 2003 Priority Manager.
Pocket PowerBuilder And Database Applications. Ian Thain Pocket PowerBuilder Evangelist PTOG Evangelist Team, Sybase Inc.
Let’s try Oracle. Accessing Oracle The Oracle system, like the SQL Server system, is client / server. For SQL Server, –the client is the Query Analyser.
Moving data using replication Anthony Brown
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering 3 October 2007.
CS34311 CS3431 – Database Systems I Project Overview Murali Mani.
7/2/2015Murali Mani -- CS5421 Database Management Systems DB Application Development Project Statement + Introduction to Oracle.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
SQL Overview Defining a Schema CPSC 315 – Programming Studio Spring 2008 Project 1, Lecture 3 Slides adapted from those used by Jeffrey Ullman, via Jennifer.
Modeling and Evaluation. Modeling Information system model –User perspective of data elements and functions –Use case scenarios or diagrams Entity model.
Systems Analysis I Data Flow Diagrams
Creating a Database in Access Creating a database involves 1.Logical design of tables and relationships 2.Physical design of tables and relationships 3.Populating.
Query Processing in Mobile Databases
CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes PropMan Mark Johnson CS 8628, Summer 2003 A Property Management Database Interface.
Oracle Data Definition Language (DDL)
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
Finding Nearby Wireless Hotspots CSE 403 LCA Presentation Team Members: Chris Scoville Tessa MacDuff Matt Mohebbi Aiman Erbad Khalil El Haitami.
SQL Overview Defining a Schema CPSC 315 – Programming Studio Slides adapted from those used by Jeffrey Ullman, via Jennifer Welch Via Yoonsuck Choe.
Migration XenDesktop 7. © 2013 Citrix | Confidential – Do Not Distribute Migration prerequisites Set up a XenDesktop 7 Site, including the site database.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Creating databases for web applications
INTERNET APPLICATION DEVELOPMENT For More visit:
Database testing Prepared by Saurabh sinha. Database testing mainly focus on: Data integrity test Data integrity test Stored procedures test Stored procedures.
Database Programming in Java Corresponds with Chapter 32, 33.
® IBM Software Group © 2009 IBM Corporation Rational Publishing Engine RQM Multi Level Report Tutorial David Rennie, IBM Rational Services A/NZ
s Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul
Configuring Identity Manager 2 (formerly DirXML ® ) for JDBC (w/DirXML) Jason Elsberry Software Engineer
Databases in Visual Studio. Database in VisualStudio An MS SQL database are built in Visual studio The Name can be something like ”(localdb)\Projects”
Movie Manager by Patrick Wesley and Chris Grey Internet Database Project for CS 8630 – Summer 2004 Dr. Guimaraes.
GUI To Create a DB Table CS346 Fall Methods to create a table At your local server and/or remote server – Use MySQL Console and create it interactively.
Creating Dialog (ABAP Dynpro) Programs. Slide 2 Introduction All of the ERP systems operate similarly with regard to transactional integrity They all.
RDBMSSection Relational DBMS DATABASE DEVELOPMENT And Franchise Colleges By MANSHA NAWAZ.
Siebel 8.0 Module 5: EIM Processing Integrating Siebel Applications.
EM401 Overview of MobiLink Synchronization Jim Graham Director of Engineering iAnywhere Solutions
 Replication is the process of copying database information  Replication is used for:  Backing up your database  Migrating to a new server  Mirroring.
7 1 Constraints & Triggers Chapter Constraints and triggers? Constraints: Certain properties that the DBMS is required to enforce –E.g. primary.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
ADAPTING YOUR ETL SOLUTION TO USE SSIS 2012 Presentation by Devin Knight
MOB342 - Writing Mobilink Synchronization Scripts Using Java and.NET Reg Domaratzki Senior Software Developer iAnywhere Solutions.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
1 Theory, Practice & Methodology of Relational Database Design and Programming Copyright © Ellis Cohen Implementing The Middle Tier These slides.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
GLOBEX INFOTEK Copyright © 2013 Dr. Emelda Ntinglet-DavisSYSTEMS ANALYSIS AND DESIGN METHODSINTRODUCTORY SESSION EFFECTIVE DATABASE DESIGN for BEGINNERS.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Intermacs Form Download Excel Tutorial Pivot Tables, Graphic Tools, Macros By: Devin Koehl.
Object storage and object interoperability
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
OpenMRS Create New Module.
Chapter 3: Relational Databases
Level 1-2 Trigger Data Base development Current status and overview Myron Campbell, Alexei Varganov, Stephen Miller University of Michigan August 17, 2000.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
MGT305 - Application Management in Private and Public Clouds Daniel Savage Microsoft Corporation MGT305 Kenan Owens Microsoft Corporation.
Entity Framework Database Connection with ASP Notes from started/getting-started-with-ef-using-mvc/creating-an-
Log Shipping, Mirroring, Replication and Clustering Which should I use? That depends on a few questions we must ask the user. We will go over these questions.
Continuous Deployments using SSDT
Generating XML Data from a Database Eugenia Fernandez IUPUI.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Architecture Review 10/11/2004
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Stress Free Deployments with Octopus Deploy
Working in the Forms Developer Environment
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Principles of report writing
Cloud Data Replication with SQL Data Sync
Analysis models and design models
Advanced Database Concepts: Reports & Views
Presentation transcript:

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes BooKeeper Sridevi Srinivasan CS 8628, Summer 2003 Replication in Pocket PC Environment using Mobilink

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Introduction BooKeeper is an application developed for Pocket PC environments using MobileVB. This application demonstrates the capabilities of the synchronizing capabilities of Mobilink For this application Adaptive Server Anywhere database is used as the Consol database (Sync Server) and Ultralite database is used as the Remote database(Sync Client Sql Anywhere is chosen since it has all synchronization setups built into it. Ultralite is chosen for client since the API supports synchronization from within code.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Abstract Bookeeper schema consists of three tables. (Author, Publisher and Books). The schema is identical between the consol and the remote databases. Synchronization has been implemented only for the Author and Publisher tables. A step by step setup document has been created to illustrate the synchronization.(BooKeeper Setup.doc) The Setup document describes how to create and populate the Consol database. The ultralite schema file already has the table and publication definitions built into it.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Sequence of Tasks In a nutshell, the steps are Create a Consolidated Database Create Tables and Insert Data in Consolidated Database Create an ODBC Data Source for Consolidated Database Create Synchronization Scripts Create the Remote Database using Schema Painter Create Tables and Publication for the remote database. Create Syncrhonization Subscription Develop the App using MobileVB to read write and sync from these tables. Deploy the app to the Pocket PC. Start Mobilink Synchronization Server Start the application and Sync the databases from the Pocket PC The steps involving creating the remote database,the tables and the publication is all done using the schema painter.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Project Description The BooKeeper App consists of three forms. frmDetail – This form has the ability to read & insert & Sync data for all the three entities of the schema. form_sync – Default Sync template form provided by ultralite to indicate the progress of syncing. frmMain – This is a launcher pad The idea is to be able to add a new author from the pocket pc and sync it to the Sync Server database and vice versa. The synchronization scripts have been written “upload_insert” and “download_cursor” events only for the tables Author and Publisher. Since the sync scripts have been written for only upload_insert and “download_cursor” only, the databases are in kept in sync only for Insertions.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes E-R Diagram The actual database does not have all the columns depicted in here for simplicity.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Logical Schema Assumption – A book has only one Author and one Publisher.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Physical Schema (DDL) create table Author ( AuID char(12) primary key, AuName varchar( 50 ) ) go create table Publisher ( PubID char(12) primary key, PubName varchar( 50 ) ) go create table Books ( BkID int primary key, Title char(64), AuID char(12) references Author(AuID ), PubID char(12) references Publisher(PubID) ) go All the columns mentioned in the ER diagram are not implemented in the DDL.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Matrix: Forms vs. Tables frmDetail is the only form that reads and writes to the database modConst is a bas module that has not been displayed here. It just has some global const declarations. The code behind Form_sync is auto generated.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Publication Script # 1 The publication scripts for this project were created using the ultralite schema painter. The Name of the publication is pubMain and it includes all the three tables in the schema (Author, Publisher & Books)

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Synchronization Script call ml_add_table_script( 'default','Author','upload_insert','insert into Author(AuID,AuName) values(?,?)') call ml_add_table_script( 'default','Author','download_cursor','select AuID,AuName from Author') call ml_add_table_script( 'default','Publisher','upload_insert','insert into Publisher(PubID, PubName) values (?, ?)') call ml_add_table_script( 'default','Publisher','download_cursor','select PubID, PubName from Publisher') Prior to running this script the actual tables & the Script version “default” needs to be created in the Consol database. The step by step instructions in the setup guide walks you thro’ this. As you can see the synchronization is implemented for only the “upload_insert” and “download_cursor” events only. The idea is to depict that synchronization can be done. This script needs to be run on the consol database from interactive SQL.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Difficulties Encountered Appforge Licence Key Problem. (Apps can be created and run on the pkt pc for only two days with the evaluation license. You need to get a new one after that for every two days) SQLE_UNABLE_TO_START error while connecting to the database from the pocket pc. (This was due to a path problem. Once I fixed the connect string to have the right paths, the problem went away) When I deploy a database created on the desktop to the pocket PC, for some reason the database is not opened correctly. Therefore, I had to ship only the ultralite schema file and create a new database off of that from the PocketPC.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Screen Snapshot # 1

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Code Sample # 1 To connect to the database #If appforge Then sAppPath = "\BooKeeper" #Else sAppPath = App.Path #End If conn_parms = "uid=DBA;pwd=SQL;" open_parms = conn_parms & "FILE_NAME=" & sAppPath & "\" & dbName & ".udb;ce_file=" & sAppPath & "\" & dbName & ".udb" schema_parms = open_parms & ";schema_file=" & sAppPath & "\" & dbName & ".usm;ce_schema=" & sAppPath & "\" & dbName & ".usm“ Set Connection = DatabaseMgr.OpenConnection(open_parms) To insert to the Author table desTable.InsertBegin desTable.Column("AuID").StringValue = txtID.Text desTable.Column("AuName").StringValue = txtName.Text desTable.Insert ' Perform this transaction Connection.Commit To Perform Synchronization With Connection.SyncParms.UserName = "dba".Password = "sql".Stream = ULStreamType.ulTCPIP.Version = "default".SendColumnNames = True.StreamParms = "host=SRIVASAN1" 'Needs to be changed to the name of the server machine End With ' Initialize the sync form to allow sync event callbacks Form_Sync.InitSyncForm Connection Connection.Synchronize The sAppPath variable the forms the connection parameters needs to bet according to whether the app is running on the IDE or on the pocket pc. While navigating between records, the code detects eof and bof conditions and informs the user whether it is the last or first record.

CS 8628 – n-tier Client-ServerArchitectures, Dr. Guimaraes Conclusion The lifecycle for developing to implementing this project was very similar to a normal three tier application development. Since the mobileVB IDE was easier to use and it integrated well with the ultralite databases, there were no surprises. This has been a good learning experience and thank you very much Prof. Mario Guimaraes. It would have been really cool to have performed some wireless application development along with this..NET Compact framework would have been my choice of product for that.