Transcript WAMP

WAMP
Author: Jun Shao
Project: Haiti
What is WAMP?

WAMP = Windows+Apache+MySql+PHP
Note:WAMP5 does not work with Windows 98,Me
WAMP Installation

A single installation file downloaded from
http://www.wampserver.com/en/download.php
After Installation
Application Service
 Apache
wampapache


PHP
MySQL database
wampmysql
WAMP’s Menu
Management Portals
 PHPmyadmin
 SQLitemanager
Note: A user has to click
on the icon tray to access
WAMP's menu.
WAMP’s Menu



Configuration and
Settings
Loaded Modules
Directory Access
Shortcut
WAMP’s Menu
Services
 Apache
 MySQL
Note:
The icon tray
reflects the status
of your server.
Haiti Migration
Architecture
Windows Server
Windows Server
Apache
IIS
Tomcat
Tomcat
Report
Report
PHP
PHP
SQLMySQL
Server
Perl (Replication)
Perl (Replication)
Login/off
Login/off
LDAP
LDAP
Haiti Migration
New Applications
 Apache
HTTPS Setting
 MySQL




DDL
DML
Data
Data Migration
Haiti Migration
DDL
For example,
MsSQL:

CREATE TABLE <TABLENAME> (
<TABLENAME>_id bigint IDENTITY (1, 1) NOT NULL
…
MySQL:
CREATE TABLE <TABLENAME> (
<TABLENAME>_id bigint NOT NULL AUTO_INCREMENT,
…
Haiti Migration
DML
For example,
MsSQL:

select top 10 * from patient;
MySQL:
select * from patient limit 0,10;
Haiti Migration
Data
MsSQL:

MySQL:
Haiti Migration
Data Migration
We use ODBC to migrate data from the
MsSQL database to the MySQL
database.
We use PHP to export data from the
MySQL database and then import the
data into the MySQL database.

Haiti Migration

MsSQL and MySQL follow the SQL92 standard. However, each of them
have their own extensions.
Source
Common
Full Name
Name
Development
Method
ANSI
SQL/PSM
SQL/Persistent Stored Module
Standard
IBM
SQL PL
SQL Procedural Language
Proprietary
Microsoft/
T-SQL
Transact-SQL
Proprietary
MySQL
MySQL
Sybase
MySQL
Open Source/
Proprietary
Oracle
PL/SQL
Procedural Language/SQL
Proprietary
Affected Applications
Question
Which applications will be affected if we install
WAMP?

Windows Server
Windows Server
Apache
Apache
Tomcat
Tomcat
Report
Report
PHP
PHP
MySQL
MySQL
Perl (Replication)
Login/off
Login/off
LDAP
LDAP
Affected Applications



PERL(Replication)
PHP
Tomcat
Affected Applications
PERL (Replication)
It uses standard sql in inserting data.

Conclusion: It requires a little change
during the WAMP migration.
Affected Applications
Users
Tomcat
TOMCAT
Presentation
Embedded reports
Application
& Business
Logic
Servlets
<aggregateItems>count(*)
Config
as 'Compte',
ceiling(cast(count(*)/$total.
*100…
Jasper
Data access
qry = …+cast ( (sum(numerator)
as unsigned)*100./..
url="jdbc:jtds:mysql://localhos
t:1433/(resource.database)"
Reports.xml
Context.xml
Jasper Library
JDBC Libary for MySQL
mysql-connector-java-5.0.6bin.jar
MySQL database
Affected Applications
Conclusion:
Most changes of reports are based on
extension differences between MySQL
and MsSQL.
Affected Applications
Users
PHP
PHP
Presentation
Patient Info
Monitoring and
Evaluation
Administration
Authentication
Application
& Business
Logic
Layout
Function
Utility
Label
cphr.ini
installation
-setting.php
Layou
menu.php
mainbody.php Config
Function
genericsave.php DB
Defination
followup.php
Utility
Data access
chkDate.js
Label
findLabels.php
reports.xml
SQL Scripts
$mysql_access = mysql_connect
(DB_SERV,
DB_USER, DB_PASS ) or
backend.php
backendAddon.php
die ("FATAL ERROR: Unable to
connect to the database");
mysql_select_db (DB_NAME,
$mysql_access) or die ("FATAL
MySQL database
ERROR: Unable to select
database.");
Affected Applications
Changed reasons:

Different extension of queries.
For example,
“Top 10” in MsSQL vs. “Limit 0,10” in MySQL
“Convert” in MsSQL vs. “Cast” in MySQL
“isDate” in MsSQL vs. “Length(Date(..))” in MySQL


Different ways to connect to the database.
Different data formats.
For example,
“mm/dd/yyyy” in MsSQL vs. “yyyy-mm-dd” in MySQL

Different Error Messages
Affected Applications
Conclusion
The migration is complex since we have to
review every query. The suggestion is to
create a wrapped-up interface using standard
queries for other pages to call when they
want to visit the database.
 Problem Left
The performance of MySQL. We might tune the
database to get decent performance.

Overall



WAMP is easy to install and it is free to
use.
Migration from IIS/PHP/MsSQL to
WAMP is practical.
The cost of migration is mainly to
review queries and change them based
on the SQL extension of MySQL.
Q&A
End