Before using the software, you will need the following items.
XCode, is an Integrated Development Environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS. First released in 2003, the latest stable release is version 4.5.1 and is available via the Mac App Store free of charge for Mac OS X Lion and OS X Mountain Lion users. It will be used to develop the iOS, (iPhone, iPad), Application.
Eclipse, is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins. It will be used to develop the Android Application.
PHP, is an open source general-purpose server-side scripting language originally designed for Web development. It will be used to code the Web Application. It will also be used to develop any scripts needed for the Mobile Applications to interact with the server.
Oracle XE, will be used to create the database on the Cloud Server as well as insert, delete, update entries into the tables.
iOS 6 is the latest version of iOS mobile operating system from Apple Inc. It was preceded by iOS 5 (last version was 5.1.1). This operating system will be used on the Apple mobile devices.
Android 4.1 is a Linux-based operating system designed primarily for touchscreen mobile devices such as smartphones and tablet computers, developed by Google in conjunction with the Open Handset Alliance. This operating system will be used on the Android mobile devices.
CentOS 6.3 is a computer operating system derived from the red hat enterprise edition of linux. This operating system will be used to run our cloud server.
Below is a list of requirements needed to run and install the New Data Analytical Software application on a physical iPad, iPhone, or iPod touch device.
Below is a list of requirements needed to run and install the New Data Analytical Software application on an Android Device.
If you do not have a server dedicated to performing the functions of the software, you may register a server using Amazon AWS Services, provided you have an account registered.
Once you have an account registered, begin with these steps
To begin installing the GlassFish Server on the Amazon Ubuntu distribution, you must open PuTTy and enter your Ubuntu installation’s static IP address to connect via SSH, as seen below.
[-img src=Installation guide -Installing on glassfish - Putty 1.png: missing =-]
[-img src=Installation guide -Installing on glassfish - Putty 2.png: missing =-]
The IP address being used in this guide is 54.243.137.128
To open the connection, press the ‘Open’ button in your PuTTy window.
[-img src=Installation guide -Installing on glassfish - Putty 3.png: missing =-]
PuTTy will prompt you that the server’s host key is not cached in the registry on your first time running the server. Simply press yes to store it and continue.
[-img src=Installation guide -Installing on glassfish - Putty 4.png: missing =-]
Enter in your username and password when prompted to access the server.
In order to deploy the Server, the following features must be installed and running:
• Web Server, preferably Apache
• OpenSSL, configured to work with your Web Server
• MySQL DBMS
• At least PHP Version 5.4 with mcrypt extensions
These pieces of software make up the backbone of the Server, which is used to process, store, and provide data to the client software. On most RedHat Linux based systems; you can use the following command to install these software packages for you:
yum install httpd php vnc tigervnc-server firefox libaio bc flex libaio bc flex unzip
yum groupinstall Desktop
Once these are installed, you will need to install Oracle XE, Install VNC, configure OpenSSL to work with your Web Server, and then proceed to deployment.
Restart the server using the “reboot” command. Once rebooted, establish a connection using your favorite SSH client, and link back the port 5901 on the remote machine to a port on your machine. Once in SSH, run the vncserver command. Once prompted for a password, create one and remember it. This is necessary to establish a VNC Connection. Once you’ve done this and connected, open up your favorite VNC Client and connect to the server using “localhost:5901”. Please note, every time the server is restarted, you must create a new instance of your VNC Server by typing, “vncserver” into the command line. For your VNC server to persist between reboots, you must create a start-up script.
Once your remote desktop is visible, open up Firefox and navigate to: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
Accept the license agreement and download the package for Linux.
Once downloaded, we must create a SWAP File of at least 2 GB (Gigabytes), as this is a requirement by Oracle set in place for Oracle XE. Run the following commands:
• dd if=/dev/zero of=/SWAPFILE bs=1M count=2060 #this will take a while to execute.
• chmod 600 /SWAPFILE
• mkswap /SWAPFILE
• swapon /SWAPFILE
• echo /SWAPFILE swap swap defaults 0 0 >> /etc/fstab
Once completed, verify the Swap space by running the command “free”. You should have approximately 2.2 GB of SWAP space available. Now, reboot the server and run free again to make sure the Swap Space persists. This is important, DO NOT skip this step.
Once you’ve verified that your swap space is still active, go ahead and restart your VNC Server and re-establish a connection. If your Swap space is no longer available, double-check that you entered the commands correctly.
Now that we have Oracle downloaded, let’s install it. Go to the directory to which it was downloaded and type:
• unzip oracle-xe.zip
• cd Disk1
• rpm –ivh oracle-xe.rpm
• /etc/init.d/oracle-xe configure #Use default settings if you wish (recommended), but be sure to set a password for Oracle.
• cd /u01/app/oracle/product/11.2.0/xe/bin
• . ./oracle_env.sh
You should now be able to access SQLPlus. Type in sqlplus and when prompted login as: “sys as sysdba” and use the password you just created. Let’s set up a password for APEX’s ADMIN account. To do so, execute the following in SQLPlus:
• @/u01/app/oracle/product/11.2.0/xe/apex/apxchpwd.sql
In order to allow remote administration for APEX, use the following command in SQLPlus:
• EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
Now, you should be able to navigate from a web browser on your local machine to APEX using:
http://localhost:8080
Your username will be SYSTEM, and the password will be what you created before. ADMIN is available as well.
Currently, our APEX components are designed to run on APEX 4.1, whereas the latest version as of this document is 4.2. As of right now, APEX 4.2 breaks compatibility with the project, so 4.1 must be used at this time. First, navigate to Oracle’s web site here. Then, download APEX 4.1 onto the Server.
Once you have APEX downloaded, do the following:
• Unzip the APEX zip file to anywhere on the Server, preferably at “/”
• Verify the “apex/” directory exists where you extracted the zip file to
• “cd” into your apex directory. Ex: cd /apex/
• Log into SQLPlus as SYS user
• Type ‘@apexins SYSAUX SYSAUX TEMP /i/’ into your SQLPlus session, this will take about 45 minutes to an hour to complete, be patient and don’t interrupt the process.
• Once completed, you will be logged out of SQLPlus automatically. Start up another SQLPlus session
• Once connected, type ‘@apxldimg.sql APEX_HOME’ where APEX_HOME is where you extracted APEX to IE: “/” Do not include the APEX directory in this path, just the directory where APEX is stored, or it will fail. This will take about 10-15 minutes to run.
• Once the images have been installed, you now need to set the APEX admin password. Type ‘@apxchpwd’ and enter a password once prompted.
• If on your server, navigate to http://localhost:8080/apex/apex_admin otherwise replace localhost with your server’s IP Address. Login as ADMIN with the password you have provided. You should now be able to configure APEX to your liking.
In order to communicate with Oracle, PHP must be configured with the OCI Extentions. In order to do this, we must download the OCI source files and compile them locally. To do so, run the following commands:
• pear download pecl/oci8
• tar xvzf oci8
• cd oci8
• usermod –aG dba apache
• phpize
• ./configure --with-oci8=shared,$ORACLE_HOME
• make all install
PHP should now be able to communicate with Oracle XE.
Since the iOS and Android clients interact with the Cloud Server through http clients, it is imperative that transmissions are handled with SSL. This ensures the data is encrypted during its transmission to and from the client. Because of the system’s design, the data that is sent to the client is unencrypted due to limitations at this time, so we need to ensure we take the proper precautions and re-encrypt the data, and continue transmission. By following the forthcoming steps, the encryption of data transmissions will be ensured:
a2enmod ssl
service apache2 restart
mkdir /etc/apache2/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Deploying the cloud server application on your Web Server will require minimal time and effort. First, please be sure Oracle 11g, PHP, and Web Server are properly configured to operate with each other. Once this has been verified, proceed with:
In order to enable the server to be able to perform system maintenance, such as running backups, deleting old backups, and storing backups off-site, the server must be configured to automatically run scripts that have been provided. For convenience sake, log in as the root user and make two directories, ‘scripts’ and ‘backups’ in the root user’s home directory. Depending on how often the backups should be run, the crontab times must be adjusted to your own desire. Currently as shown, these scripts will run daily at midnight server time.
As you can see here, these two scripts will run concurrently at midnight daily. These scripts will automatically place the files in the “/root/backups/” directory, and filenames will be generated based on the date and time of the operation. With that said, if the time and date change when these scripts are run, the filenames will reflect those changes. These scripts may be called manually at any time if one desires to perform a backup on-demand.
OPening the application in Xcode is very simple. Follow the instructions below for getting the application into you Xcode environment.
To launch Xcode, click the Lanchpad icon in your application dock. Inside Launchpad will be a folder called Developer. The Developer folder will contain the Xcode application. To speed up this launch process in the future, you can drag the Xcode icon into your dock form Launchpad, and it will stay in the dock for you convenience.
Alternativly, you can press command + space to start a Spotlight search, type in Xcode, and hit Enter.
After launching Xcode, you will be presented with a window outlining recently open projects. If you have managed to open the New Data Analytical Software before, you will see this project and can simply double click the project name to open the files in Xcode. If you have not yet opened the application before, you need to click the "Open other..." buttong, navigate to the files, and click Open
Apple has made running & testing applications on hardware extremely simple. Follow the steps outlined below to provision your devices for development.
To begin, you will need to have the Devices Organizer opened. After launching Xcode, you will notice a Window option in your top bar. Click this tab, and you will see the Organizer option. Click to open the Organizer window, and select the Devices tab at the top of the window.
In order for Xcode to recognize what devices you want to install applications onto, you must first use your USB cable to plug your device into the Mac. Once connected, your devices will appear in the Organizer sidebar under the list of Devices (your mac will be in this list).
Select your device in the Organizer sidebar and you will be presented with an informational view about your device. After all of the information is a button titled Use for Development. Simply press this button and Xcode takes care of the rest. Any necessary certificates and configuration is all handled by Xcode for you.
After provisioning your devices, you can now install and run the application on said devices. Simply start by ensuring the device is connected to your Mac via USB. Xcode will automatically detect that your device has been connected and will show up under the list of possible choices as to where the application should be deployed. It is here where you will select to install the application onto your newly provisioned device.
All you need to do now is select your device instead of a simulator, and your application will install and run on your device. The application will stay on your device even after disconnecting it from your Mac and can now be used to run the application whenever you deem necessary.
If you haven’t already head to https://testflightapp.com and sign up for a free account. Do not select the developer option as you will not need it to test out the application.
Now that you have signed for an account, go to the TestFlight website on your mobile device.
From here you can download the TestFlight app for your phone, you will need this to install our application.
Once you have installed the app enter your use information and log into the app.
If your account has not been added to our TestFlight page then you must ask for an invite from our development team, any one of our members can see to it that you gain access to our application.
If your account has been added to the TestFlight page then click the link to our app and download it for you self.
Notes:
To continue, you must have a SourceForge account. You may create one for free
If you already have the newest version of JDK installed, you may skip step 1.
If you already have Eclipse Juno for Mobile Developers installed, you may skip steps 2 and 3.
If you already have the newest version of Android SDK installed, you may skip steps 4 to 8.
If you already have the newest version of the Android Plugin installed, you may skip steps 11 to 16
If you have already have Subclipse 1.8.x plugin or newer installed, you may skip steps 17 to 22.