Aplicatii In Platforme Cloud Computing
APLICAȚII ÎN PLATFORME CLOUD COMPUTING
Cuprins
I. Introducere
1. Cloud Computing
Clasificarea dupa modelul de deployment:
Clasificarea dupa modalitatea de livrare a serviciilor:
Clasificarea dupa domeniul de aplicatie:
2. Importanța Cloud Computing
3. Prezentarea Platformelor Existente
II. UTILIZAREA MEDIULUI DE CLOUD COMPUTING
1. Prezentare Amazon Web Services (AWS)
2. Crearea unei instante
3. Instalarea bazei de date in mediul MySQL si Instalarea Serverului Tomcat
III. Prezentarea aplicatiei de project management
1. Introducere
2. Pregatirea bazei de date
3. Pregatirea mediului de dezvoltare
4. Deploymentul aplicatiei pe un server
5. Testarea aplicatiei
6. Functionalitatea aplicatiei in Project Management
7. Concluzii si perspective
Bibliografie
Introducere
Termenul de “CLOUD” a devenit foarte popular in zilele noatre. Vedem in fiecare zi la TV, auzim la radio si citim pe internet ca putem folosi tehnologia “CLOUD”, acum este disponibila pentru oricine, pe PC, laptop, tableta, telefon, console de jocuri. Concret, termenul de “CLOUD” a fost introdus din ratiuni de marketing dar in realitate este o metafora a termenului “INTERNET”, acesta mereu fiind reprezentat sub forma unui nor, asa cum se vede in fig 1.
fig.1
Inceputul a fost in momentul in care informatia a fost virtualizata. Odata cu dezvoltarea erei Internetului, utilizatorii erau mai putin preocupati de locul in care informatia era stocata. Pentru toti era important ca ei sa aiba acces la aceasta informatie si sa o poata folosi in scop propriu, fie ca era in cadrul unei companii sau strict personal. Bineinteles, odata cu evolutia tehnologiei informatiei, au fost dezvoltate sisteme mai usor de folosit pentru utilizatorii finali, dar cu cat au devenit mai usor de folosit cu atat sistemul de stocare, infrastructura din spatele informatiilor au devenit mai abstracte. In cele ce urmeaza vor fi prezentate tehnologiile din spatele acestor aplicatii, modul lor de functionare dar si baza lor fizica(hardware).
Cloud Computing
Termenul de Cloud Computing se refera la aplicatiile folosite ca si servicii pe internet dar in acelasi timp si la infrastructura hardware si software din Datacentrele care furnizeaza aceste servicii. Cel mai usor exemplu este adresa de mail pe care o folosim de zi cu zi. Oricine are o adresa personala de mail, fie ca foloseste unul din furnizorii mari cum ar fi Yahoo, Gmail, Hotmail, Microsoft, etc. sau fie ca foloseste un server privat de mail. Stocarea mailurilor si aplicatia in sine cu ajutorul careia sunt citite mailurile reprezinta un cloud, este un spatiu virtual. Componenta hardware o reprezinta serverul unde sunt stocate informatiile. Acesta poate fi unul privat, acasa, la birou sau intr-un loc special amenajat, sau poate fi unul public, oferit de unul din marii provideri. Acestia, la randul lor, pot furniza spatiul de stocare gratuit, in baza limitelor impuse de ei sau contra cost fara a exista practic limite din partea lor. Pot furniza oricat este dispus clientul sa plateasca. Pentru a putea beneficia de acest serviciu este nevoie si de componenta software care la randul ei este folosita in doua moduri: pentru a interconecta serverele intre ele dar si ca interfata grafica pentru utilizator in ideea de a oferi un acces mai facil si mai placut la mailuri.
Sistemele Cloud Computing sunt clasificate dupa mai multe criterii: modalitatea de deployment, modalitatea de livrare a serviciilor si domeniul de aplicatie.
Clasificarea dupa modelul de deployment:
Public – atunci cand un provider ofera spre inchiriere accesul la tehnologia sa, oricui este dispus sa plateasca pretul cerut.
Privat – atunci cand persoanele fizice sau companiile isi creeaza datacenterul propriu si nu sheruiesc tehnologia cu nimeni altcineva, de cele mai multe ori din motive de securitate
Hybrid – atunci cand sunt combinate cele doua de mai sus. De cele mai multe ori informatiile foarte importante sunt tinute pe servere private pentru a putea fi accesate si controlate cu o mai mare atentie iar datele ce nu reprezinta un risc pentru companie pot fi tinute pe cloud-ul public.
Comunitar – atunci cand este destinat doar unei anumite comunitati, cu un scop comun, asa cum se poate observa http://www.eurocloud.ro/ destinat special comunitatii cloud din Romania
Clasificarea dupa modalitatea de livrare a serviciilor:
Infrastructure as a Service – IaaS
aceasta modalitate este folosita in general de companiile din industria IT, care au nevoie numai de resurse pentru a le putea configura si folosi dupa bunul plac. Cei care utilizeaza acest tip serviciu sunt excperti si pot sa configureze singuri sisteme de operare si platforme pe spatiul virtual pus la dispozitie de provider
Platform as a Service – Paas
in cadrul acestui tip de serviciu, resursele platformei sunt gestionate/administrate de catre compania provider. Developerii sau cei care utilizeaza platforma prefera sa foloseasca spatiul pus la dispozitie cu toate facilitatile deja instalate pentru deploimentul de aplicatii. Cel mai bun exemplu este Google App Engine unde am facut deploy unei aplicatii scrise in java (http://hanulabspd.appspot.com/)
Software as a Service – SaaS
este folosit de cei mai multi dintre noi sub diferite forme dintre care cel mai des intalnite sunt: e-mail, stocare de documente pe internet, agenda de contacte, etc. Cele mai raspandite platforme din acest punct de vedere sunt Google (Gmail), Yahoo, Hotmail, Amazon, LinkledIn
Clasificarea dupa domeniul de aplicatie:
Aplicatii Web
Integrarea proiectelor intre companii
Analiza datelor
Aplicatii Financiare
etc.
Importanța Cloud Computing
Cel mai important rol al Cloud Computing este cel de a facilita, la un pret mai mic in comparatie cu cel traditional, accesul la resurse generoase in domeniul IT in cel mai scurt timp. In cateva minute, orice companie, orice utilizator sau developer, poate accesa oricate resurse doreste (si are bani sa le plateasca). Pentru o companie mica de exemplu ar dura cateva zile pana ar cumpara echipamentele, care la randul lor trebuiesc instalate intr-un spatiu special amenajat(care de cele mai multe ori coincide cu biroul iar pretul unui asemenea spatiu este destul de ridicat in raport cu pretul chiriei intr-un datacenter). Acest lucru ar dura timp si ar cosota foarte mult. In cazul in care unul dintre echipamente se defecteaza, costa si mentenata foarte mult, iar in acest timp activitatea companiei are de suferit.
Cu ajutorul Cloud computing sunt eliminate toate aceste impedimente:
costurile devin net mai mici
timpul de accesare al resurselor ajunge la cateva minute
singurul lucru de care depindem este conexiunea la internet si bugetul alocat
in cazul in care nu mai este nevoie de resursa, cu un simplu click se pot termina toate procesele sau instantele
Providerii de Cloud Computing au Datacentere peste tot in lume. Sunt cladiri special amenajate, a caror locatie nu trebuie sa fie in centrul oraselor, pretul chiriei si al mentenantei este mult mai mic iar eficienta este maximizata. In functie de locatia biroului de unde se acceseaza resursa, providerul de servici cloud recomanda, pendtru eficientizare, locatia in care sa se aloce resursa conform parametriclor ceruti de catre utilizator. Providerul pune la comun resursele, oferind un bazin (pool) de resurse ce poate fi inchiriat de utilizatori multipli.
Un alt mare avantaj este sclalabilitatea si elasticitatea foarte rapida – cu ajutorul virtualizarii, serviciile la cerere pot fi usor configurate in mod dinamic si relocate in functie de necesitati si cu toate acestea nu mai este nevoie de managementul infrastructurii resurselor IT.
Cu ajutorul internetului, clientii pot folosi diferite sisteme de operare pentru a se putea conecta iar contorizarea serviciilor si plata lor sunt in functie de consum(modelul pay per use). Clientul are permanent controlul a ceea ce a consumat, putand chiar sa puna alarme in cazul in care se depasesc anumite cote. Un alt avantaj major este acela ca sistemele de securitate ale Datacenterelor sunt mult mai greu de depasit de catre hackeri decat cele ale fiecarei companii in parte, asta si din cauza ca un datacenter poate utiliza resurse financiare si tehnice mult superioare unei companii ce foloseste servere traditionale.
Calitatea serviciilor obtinute de catre client sunt prevazute intr-un contract si pot fi eventual negociate in cazul unor cereri speciale.
Prezentarea Platformelor Existente
Lista providerilor de servicii Cloud Computing s-a extins foarte mult in ultimul timp. Din aceasta lista vor fi prezentati mai jos cei mai importanti dintre acestia, impreuna cu o descriere a platformelor pe care ei le pun la dispozitie.
In 2013 Topul celor mai mari companii care furnizeaza servicii CLOUD este urmatorul:
SALEFORCE – au reusit sa legitimat piata de SaaS – software as a Service si a creat un impact major asupra companiilor de software traditionale carora le-a marit castigurile cu SaaS si PaaS
AMAZON WEB SERVICES – au reusit sa furnizeze tehnologii la preturi mici, foarte atractive pentru companiile de software. Profiturile lor au fost facute datorita volumului mare de vanzari dar si de noua tehnologie care sprijina incarcarea automata a datelor de la client catre serviciul de stocare.
AKAMAI – a inteles ca pentru a ramane in top trebuie sa ofere servicii inovatoare si a reusit sa atinga si piete de nisa, neglijate de celelalte companii. De asemenea a reusit sa taie din costuri reducant semnificativ consumul de energie din datacentrele proprii cu ajutorul noilor thenologii, promovand astfel si un mediu mai curat.
GOOGLE APPS – potrivit analistului Colin Sebastian din cadrul Baird Technology Research, serviciile de cloud ale Google cum ar fi Google Apps sunt demne de laudat si trebuiesc promovate cat mai mult. Serviciile de e-mail, calendar si documente online se potrivesc perfect in portofoliul companiei dar este adevarat ca au atras si invidia si preocuparea concurentilor cum ar fi a celor de la Microsoft care au incercat sa contracareze cu o campanie numita “Scroogled” in care pun la indoiala siguranta si intimitatea informatilor detinute de utilizatori si folosirea acestora in scopuri de marcketing de catre Google.
LINKEDIN – este inclusa in acest top deoarece serviciile sale sunt construite pe platforma proprie a companiei, alimentata pe serverele proprii si pe alte infrastructuri. Analistii considera ca nu ofera servicii de cloud in adevaratul sens al cuvantului dar au fost inclusi in acest top deoarece “Sunt un exemplu de companie care poate fi inclusa in modelele Saas – software as a service sau PaaS- platform as a service”
Alte Platforme ce merita a fi mentionate sunt: HP CLOUD, RACKSPACE CLOUD SERVICES, MICROSOFT AZZURE
CLOUDBEES
UTILIZAREA MEDIULUI DE CLOUD COMPUTING
Prezentare Amazon Web Services (AWS)
Compania Amazon furnizeaza servicii de cloud computing incepand cu anul 2006 sub denumirea de Amazon Web Services. Pentru a putea beneficia de serviciile gratuite furnizate de AWS trebuie mai intai sa cream un user cu parola, dar sa si introducem detaliile unui card de credit valid astfel incat in cazul in care sunt depasite cotele de gratuitate, compania sa poata factura si primi plata conform utilizarii serviciilor. Plata se face la sarsitul lunii in functie de serviciile folosite.
AWS furnizeaza toate categoriile de servicii in cloud computing: Infrastructure as a Service – IaaS, Platform as a Service – PaaS si Software as a Service – SaaS.
Solutiile AWS includ printre altele si servicii de Web Hosting – cel mai des folosite, Back-up and Storage, Baze de date si motoare de cautare, hosting pentru aplicatii, magazine online etc.
Amazon Elastic Compute Cloud (Amazon EC2) este un serviciu web care furnizeaza masini virtuale redimensiobabile in cloud (adica puterea lor computationala este gestionata si contorizata virtual in mediul cloud).
Pentru a putea fi mai eficienti si a acoperi toate dorintele utilizatorilorm utilizarii serviciilor. Plata se face la sarsitul lunii in functie de serviciile folosite.
AWS furnizeaza toate categoriile de servicii in cloud computing: Infrastructure as a Service – IaaS, Platform as a Service – PaaS si Software as a Service – SaaS.
Solutiile AWS includ printre altele si servicii de Web Hosting – cel mai des folosite, Back-up and Storage, Baze de date si motoare de cautare, hosting pentru aplicatii, magazine online etc.
Amazon Elastic Compute Cloud (Amazon EC2) este un serviciu web care furnizeaza masini virtuale redimensiobabile in cloud (adica puterea lor computationala este gestionata si contorizata virtual in mediul cloud).
Pentru a putea fi mai eficienti si a acoperi toate dorintele utilizatorilor, Amazon ofera posibilitatea de a plati numai pentru resursele folosite. De exemplu, in cazul in care un magazin virtual are o promotie speciala si se asteapta sa primeasca o avalansa de acesari, Amazon poate reconfigura capacitatea masinilor virtuale in functie de necesitati. Aceasta se numeste accesare rezervata si este cea mai ieftina varianta, plata facandu-se inainte.
In cazul in care rezervarea resurselor nu se face dinainte, poate din greseala celui care a dimensionat aplicatia sau nu se astepta la un flux mare de vizitatori, Amazon poate furniza resurse ON SPOT. Acestea din urma sunt cele mai costisitoare si se face numai cu furnizarea unui depozit de catre utilizator, iar Amazon contorizeaza si furnizeaza resurse numai pana la terminarea depozitului, daca este cazul. Acest tip de utilizare este ideal pentru companiile mici. Pentru a putea sustine un numar mare de accesari, o companie ar trebui sa investeasca foarte mult in infrastructura inainte sa stie daca va avea succes sau nu. Solutia de a instala pe cloud aplicatia ofera posibilitatea de a o folosi la parametrii cei mai inalti numai pentru perioada de care este nevoie de resursele respective.
Aceasta interfata pentru serviciul web furnizat , permite configurarea si obtinerea unei masini virtuale cu un efort minim, in doar cateva minute. Controlul total al resurselor masinii virtuale este detinut de catre utilizator.
Crearea unei instante
In continuare va fi prezentata crearea unei instante cu ajutorul Amazon Elastic Compute Cloud. Se va folosi modelul cel mai basic al serviciului de cloud (Infrastructure as a Service -IaaS), unde practic va fi pusa la dispozitie resursele minime, oferite gratui de Amazon pentru instalarea unui sistem de operare: spatiu de stocare, 1 procesor si memorie RAM.
In consola AWS EC2 cautam in meniul AWS Marketplace sistemul de operare ce se doreste a fi instalat. In cazul prezentat a se observa alegerea unei versiuni minimale de linux, CentOS 6 (x86_64)-with Updates
Se pot observa caracteristicile resurselor: 1 CPU, 0,613GiB RAM, 8GB hard disk dar care se poate extinde pana la 30GB intr-un singur hdd sau in mai multe volume, performantele retelei foarte scazute
Se configureaza regulile pentru protocoale, in vederea protectiei la flood sau alte atacuri
In vederea accesarii masinii virtuale se creeaza o cheie de securitate.
Se primeste confirmarea faptului ca masina virtuala a fost pornita si configurata
Instanta a fost pornita si putem se pot analiza parametrii de functionare pentru: procesor, traficul pe retea(inbound si outbound), situatia mediului de stocare
Instalarea bazei de date in mediul MySQL si Instalarea Serverului Tomcat
Pentru conectarea la masina virtuala folosim Putty. Se introduc datele de conectare pe care se pot observa in meniul imediat urmator dupa pornirea instantei.
Foarte important este faptul ca in momentul crearii instantei sa fie pastrata cheia de securitate fara de care nu se poate conecta niciun utilizator.
In continuare sunt prezentate comenzile necesare instalarii mediului de dezvoltare al unei aplicatii Java cu baze de date de tip MySQL.
Pentru buna functionare a aplicatiei este nevoie de crearea unui server Tomcat 7 si a unei baze de date MySQL
sudo yum update
–actualizeaza toate pachetele instalate
sudo yum install nano
–instaleaza editorul de fisiere "nano"
sudo yum install wget
–instaleaza comanda de download "wget"
yum groupinstall "Web Server" "PHP Support" "MySQL Database server" "MySQL Database client"
–instaleaza toate pachetele din grupurile mai sus mentionate (Apache WEB Server, MySQL server si MySQL client)
yum install php-mysql
sudo yum install httpd
–instaleaza php-mysql, httpd
sudo service httpd start
–porneste serviciul httpd
service httpd status
httpd (pid 6555) is running…
–verifica statusul
sudo yum install mysql-server
–instaleaza serverul de MySQL
sudo service mysqld start
porneste serviciul de MySQL
cd /tmp
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
–am downloadat fisierul epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
– install Epel repository
yum -y install phpmyadmin
– install phpmyadmin
cd /etc/httpd/conf.d
nano phpMyAdmin.conf
– deschid accesul extern la phpmyadmin ( randurile cu Deny All le inlocuiesc cu Allow All , Deny from All cu Allow from All si radurile Allof from None le sterg)
service httpd restart
–repornesc httpd
service mysqld restart
–repornesc mysqld
sudo /usr/bin/mysql_secure_installation
–configurez parola de root
sudo chkconfig httpd on
sudo chkconfig mysqld on
sudo chkconfig –list
–listeaza procesele pentru a verifica rularea lor la start-up
service mysqld restart
–repornesc mysqld pentru a prelua noile setari
rm /etc/sysconfig/iptables -f
rm /etc/sysconfig/iptables.save -f
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
–am deschis porturile de mai sus
iptables -A INPUT -p tcp -m state –state NEW -m recent –update –seconds 60 –hitcount 20 -j DROP
iptables -A INPUT -p tcp -m state –state NEW -m recent –set -j ACCEPT
iptables -t mangle -I PREROUTING -p tcp -m tcp –dport 80 -m state –state NEW -m tcpmss ! –mss 536:65535 -j DROP
–protectie impotriva floodarii
iptables -L -n
iptables-save
service iptables save
service iptables restart
wget –no-cookies –no-check-certificate –header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm" -O /opt/jdk-8-linux-x64.rpm
–downloadeaza JDK8 –atentie la link !!!
chmod +x /opt/jdk-8-linux-x64.rpm
–da drepturi de executie pentru pachetul jdk-8-linux-x64.rpm
rpm -Uvh /opt/jdk-8-linux-x64.rpm
–instaleaza jdk-8-linux-x64.rpm
java -version
javac -version
–verifica versiunea de java instalata
– in cazul nostru javac 1.8.0_05
JAVA_HOME=/usr/java/jdk1.8.0
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
echo $JAVA_HOME
echo $PATH
–setam variabilele JAVA_HOME si PATH
nano /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
–introducem textul de mai sus la inceputul fisierului (pentru a fi valabil pentru toti userii)
useradd -r tomcat7 –shell /bin/false
wget http://apache.mivzakim.net/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz -P /tmp
–downloadeaza arhiva pentru instalare tomcat
tar -zxf /tmp/apache-tomcat-7.0.54.tar.gz -C /opt
–dezarhiveaza tomcat-7.0.54
ln -s /opt/apache-tomcat-7.0.54 /opt/tomcat7
chown -hR tomcat7: /opt/tomcat7 /opt/apache-tomcat-7.0.54
nano /etc/init.d/tomcat7
–inceput de fisier
#!/bin/bash
#
# tomcat7
#
# chkconfig: – 80 20
#
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Tomcat 7
# Short-Description: start and stop tomcat
### END INIT INFO
## Source function library.
#. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/java/default
export JAVA_OPTS="-Dfile.encoding=UTF-8 \
-Dnet.sf.ehcache.skipUpdateCheck=true \
-XX:+UseConcMarkSweepGC \
-XX:+CMSClassUnloadingEnabled \
-XX:+UseParNewGC \
-XX:MaxPermSize=128m \
-Xms512m -Xmx512m"
export PATH=$JAVA_HOME/bin:$PATH
TOMCAT_HOME=/opt/apache-tomcat-7.0.54
CATALINA_HOME=/opt/apache-tomcat-7.0.54
TOMCAT_USER=tomcat7
SHUTDOWN_WAIT=20
tomcat_pid() {
echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}
start() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is already running (pid: $pid)"
else
# Start tomcat
echo "Starting tomcat"
ulimit -n 100000
umask 007
/bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/startup.sh
fi
return 0
}
stop() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Stoping Tomcat"
/bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh
let kwait=$SHUTDOWN_WAIT
count=0;
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
do
echo -n -e "\nwaiting for processes to exit";
sleep 1
let count=$count+1;
done
if [ $count -gt $kwait ]; then
echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds"
kill -9 $pid
fi
else
echo "Tomcat is not running"
fi
return 0
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is running with pid: $pid"
else
echo "Tomcat is not running"
fi
;;
esac
exit 0
–sfarsit de fisier
chmod +x /etc/init.d/tomcat7
service tomcat7 start
chkconfig tomcat7 on
sudo chkconfig –list tomcat7
–verifica daca tomcat este ON
nano /opt/tomcat7/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin"/>
<user username="cloud" password="passwd" roles="admin, manager-gui, manager-jmx, manager-script, manager-status"/>
service tomcat7 restart
reboot
Pentru verificare se acceseaza intr-un browserserverul de Tomcat dar si PhpMyAdmin
Prezentarea aplicatiei de project management
Introducere
In continuare este prezentata aplicatia dezvoltata la cererea unui dezvoltator imobiliar, “SC REAL ESTATE DEVELOPER SRL”. Se doreste ca aplicatia sa vina in sprijinul actionarilor, pentru a urmari mai bine procesul de vanzare al apartamentelor construite.
Un factor important este ca aceasta aplicatie sa poata fi accesata de pe PC, Laptop, Tableta, Telefon sau orice alt device care poseda un browser de internet.
Se va folosi platforma cloud oferita gratuit pentru o perioada de 1 an de catre Amazon. Solutia cea mai buna in acest caz este de a folosi un server de Tomcat7, a carui instalare am descris-o la capitolul II.3 si a unei baze de date MySQL pe care o gasiti descrisa in capitolul III.2. Se va face deployment-ul aplicatiei pe acest server, Tomcat7, nefiind nevoie de alte prerechizite pentru ca aceasta sa functioneze corect.
Folosind aceasta tehnologie beneficiem de urmatoarele:
mobilitate (aplicatia poate fi accesata de pe orice device cu browser de internet)
eficienta (toate operatiile computationale sunt facute pe cloud deci nu necesita o capacitate de procesare mare a device-ului folosit)
securitate/confidentialitate (prin configurarea instantei de cloud se pot filtra ip-urile sau adresele mac ce se pot conecta la aceasta aplicatie)
acces restrictionat in functie de rolul utilizatorului (administrator, actionar, contabil, vanzator)
Pregatirea bazei de date
Tabelele folosite sunt urmatoarele:
APARTAMENTE (sunt stocate toate apartamentele din toate proiectele)
UTILIZATORI(este tabela ce contine toti utilizatorii ce vor avea acces la aplicatie)
CLIENTI (numele dar si o parte din detaliile de contact, indiferent de proiect, vor fi stocate in aceasta tabela)
REZERVARI(pentru fiecare rezervare facuta de un client se va crea un camp special in aceasta tabela)
PLATI(planificarea platilor pentru fiecare apartament se va memora in aceasta tabela)
COMENTARII(aceasta tabela ajuta la completarea de catre vanzatori a tuturor detaliilor discutate cu potentialii clienti)
PROIECTE(pentru fiecare proiect se creeaza un camp ce foloseste la identificarea exacta a apartamentelor si a situatiilor privind vizionarile, rezervarile dar si platile pentru apartamentele respectivului proiect)
APART_PROIECT(tabela de legatura intre APARTAMENTE si PROIECTE)
MENU(tipul de meniu pe care il are utilizatorul in functie de rolul atribuit de administrator )
ROL (denumirea rolului pentru fiecre utilizator )
ROL_MENU (tabela de legatura intre MENU si ROL)
Pregatirea mediului de dezvoltare
Pentur dezvoltarea aplicatiei s-a ales ca limbaj de programare principal JAVA, dar si JAVA Server Faces(JSF), JAVA Prime Faces, Hybernate, MySQL.
Fiecare limbaj de programare are nevoie de un mediu de dezvoltare. Primul pas consta in downloadarea kitului de NetBeansIDE 8.0 ce include si JDK 7u60(ultima versiune de JAVA existenta).A fost facut update la zi pentru toate tool-urile si plug-inurile.
NetBeans este un mediu intergat pentru dezvoltare (IDE – Intergated Development Environment) pentru dezvoltarea aplicatiilor JAVA dar poate fi folosit si pentru alte limbaje de programare, cum ar fi PHP, C/C++ dar si HTML5. Netbeans este scris in cod Java si poate rula pe Windows, Linux, MacOs sau orice alt mediu ce suporta Java Virtual Machine (JVM).
Fiind o aplicatie ce trebuie accesata pe internet, trebuie instalat un server de Tomcat 7 si local, pentru a veni in sprijinul programatorului sa testeze/compileze mai rapid codul scris.
De asemenea se trebuie instalata o baza de date MySQL cu tabelele descrise in subcapitolul anterior
Deploymentul aplicatiei pe un server
Dupa ce aplicatia a fost compilata, rezulta un fisier cu extensia WAR.
Acest fisier se uploadeaza pe serverul de Tomcat7 cu ajutorul interfetei de deployment.
Dupa ce se face deploymentul si se configureaza baza de date, se poate face testarea aplicatiei de project management.
Functionalitatea aplicatiei in Project Management
Un utilizator, pentru a se putea conecta la aplicatie, are nevoie un browser prin care sa acceseze link-ul http://54.187.216.10:8080/joy/ back-up http://hanubogdan.elasticloud.star-vault.ro/joy/
Foloseste userul si parola pentru a se loga:
In cazul in care userul este activ, iar userul si parola sunt corecte se acceseaza meniul principal.
In meniul de Apartamente se pot observa datele fiecarui apartament:
ID, Cod, SC=Suprafata Construita, SB=Suprafata Balcon, SC=Suprafata Totala, Pret, Nr.Camere, Etaj, Numar apartament, Status apartament, iar pe ultima coloana sunt doua iconite care pot face doua operatii. X = Stergere iar creionul editeaza.
Concluzii si perspective
Concluziile prezentei lucrari ne conduc spre o evidenta generala, in care tehnologiile bazate pe cloud vor cunoaste o dezvoltare masiva, venind practic cu noua paradigma a tehnologiei informatiei, unde nu va mai fi nevoie ca fiecare utilizator final sa detina supercalculatoare pentru a putea crea performanta. Aceste supercalculatoare sunt si vor putea fi puse la dispozitie in continuare de catre marii provideri cu ajutorul virtualizarii(CLOUD-izarii).
Este un beneficiu enorm faptul ca astazi putem accesa in cateva minute, de la deschiderea PC-ului sau a laptopului, resurse aproape nelimitate fara costuri sau cu niste costuri semnificativ mai mici.
Este un imbold pentru companiile dezvoltatoare de software, pentru cele mici dar si pentru cele mari, sa nu mai depinda de spatii de stocare sau camere special amenajate pentru echipamentele destul de costisitoare si spatiu ocupat dar si ca mentenanta.
Orice companie, din oricare colt al planetei, atat timp cat exista conexiune la internet, are la dispozitie toate resursele de care are nevoie pentru a putea dezvolta aplicatii din cele mai performate.
Bibliografie
“Curs Cloud Computing – Master IISC – an 2” – Prof. Dr. Ing. Felicia Ionescu – 2013
“Cloud Computing Bible” – Barrie Sosinsky – 2011
“Cloud Computing: Principles and Paradigms” – Buyya Rajkumar, Broberg James, Goscinski Andrzej – 2011
“The Top 10 Enterprise Cloud Services Companies “ – Ken Presti – 16 april 2013 http://www.crn.com/slide-shows/cloud/240152878/the-top-10-enterprise-cloud-services-companies.htm?pgno=9
http://www.primefaces.org/
Bibliografie
“Curs Cloud Computing – Master IISC – an 2” – Prof. Dr. Ing. Felicia Ionescu – 2013
“Cloud Computing Bible” – Barrie Sosinsky – 2011
“Cloud Computing: Principles and Paradigms” – Buyya Rajkumar, Broberg James, Goscinski Andrzej – 2011
“The Top 10 Enterprise Cloud Services Companies “ – Ken Presti – 16 april 2013 http://www.crn.com/slide-shows/cloud/240152878/the-top-10-enterprise-cloud-services-companies.htm?pgno=9
http://www.primefaces.org/
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aplicatii In Platforme Cloud Computing (ID: 161913)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
