Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro
Introduo
Fundamentao
terica
Desenvolvimento
Resultados
e
discusses
Concluso
e
extenses
Demonstrao
Introduo
ObjeDvos
do
trabalho
Efetuar
o
registro
da
frequncia
GaranDr
a
integridade
e
autenDcidade
das
informaes
atravs
de
criptograa
Comunicao
com
a
base
de
dados
do
CFN
atravs
de
um
webservice
Armazenar
os
dados
no
aparelho
uDlizando
uma
biblioteca
de
persistncia
Atualizar
as
frequncias
salvas
em
modo
oine
Fundamentao
Terica
CFN
Desenvolvido
pela
Diviso
de
Modalidades
de
Ensino
(DME)
Xcode/ObjecDve-C
Ambiente
para
o
desenvolvimento
de
aplicao
iPhone/iPad
e
Mac
OS
X
Linguagem
criada
nos
anos
80
sendo
resultado
da
unio
da
linguagem
C
com
a
orientao
a
objetos
da
linguagem
Smalltalk
Fundamentao
Terica
Webservice
Integrao/Comunicao
Desenvolvido
em
linguagem
Java
Retorna
os
dados
em
formato
JSON
Criptograa
Algoritmo
assimtrico
(RSA)
Persistncia
Biblioteca
CoreData
Desenvolvimento
Requisitos
Disponibilizar
uma
interface
grca
para
o
registro
da
frequncia
Comunicao
atravs
de
um
webservice
com
a
base
de
dados
do
CFN
Desenvolvimento
Especicao
Desenvolvimento
Pacotes
da
aplicao
Desenvolvimento
Tcnicas
e
ferramentas
uDlizadas
Xcode
iPhone
SDK
5.1
Simulador
do
iPhone
Instruments
Dia
(Especicao)
SQLite
Database
Browser
Desenvolvimento
Webservice
<SOAP-ENV>
b
<SOAP-Body>
<mensagem> <string_criptografada>mtodo</string_criptografada> </mensagem> </SOAP-Body> </SOAP-ENV> 1) url = [NSURL URLWithString:@"hop://ava.furb.br/servicos/cfn/ webservice_cfn_json_crypt.php"]; 2) request = [NSMutableURLRequest requestWithURL:url]; 3) [request setHTTPMethod:@"POST"]; 4) [request setHTTPBody:[xml dataUsingEncoding:NSUTF8StringEncoding]];
Desenvolvimento
Criptograa
1) UDlizado
o
algoritmo
RSA
para
criar
a
chave
pblica,
privada
e
chave
geral
atravs
do
mtodo
generate_keys
2) Chamada
do
mtodo
solicitaChaves
do
webservice
passando
a
chave
pblica
e
chave
geral
como
parmetro
3) O
retorno
vai
ser
uma
cadeia
de
caracteres
conforme
o
exemplo:
83400585681889533178704403824517828810218100820833624
4) UDlizado
o
mtodo
rsa_decrypt
para
desencriptar
5) O
resultado
do
mtodo
vai
ser
uma
cadeia
de
caracteres
conforme
o
exemplo:
[{"chave":"139"}]
6) Chamada
dos
demais
mtodos
do
webservice
uDlizando
este
nmero
para
encriptar
Desenvolvimento
Persistncia
1) NSFetchRequest
*request
=
[NSFetchRequest
fetchRequestWithEnDtyName:@"Professor"];
2) rerequest.predicate
=
[NSPredicate
predicateWithFormat:@"usuario
=
%@
and
senha
=
%@",
usuario,
senha];
3) NSArray
*objects
=
[context
executeFetchRequest:request
error:nil];
4) professor
=
[NSEnDtyDescripDon
insertNewObjectForEnDtyForName:@"Professor"
inManagedObjectContext:context];
professor.usuario
=
usuario;
professor.senha
=
senha;
5)
[context
save:nil];
Desenvolvimento
Atualizao
de
dados
1) [[NSNoDcaDonCenter
defaultCenter]
addObserver:self
selector:@selector(reachabilityChanged:)
name:kReachabilityChangedNoDcaDon
object:nil];
2) Reachability
*reach
=
[Reachability
reachabilityWithHostname:@"hop:// ava.furb.br/servicos/cfn/webservice_cfn_json_crypt.php"];
3) [reach
startNoDer];
4) [reach
isReachable]
5) Efetua
o
login
se
necessrio
6) Para
cada
frequncia
salva
na
Pool
chamado
o
mtodo
do
webservice
que
efetua
a
frequncia
7) Remove
a
frequncia
da
tabela
de
Pool
Desenvolvimento
Operacionalidade
da
aplicao
Resultados
e
Discusses
Performance
Webservice
(Tempo
em
milisegundos)
Resultados
e
Discusses
Performance
Interface
(Tempo
em
milisegundos)
Resultados
e
Discusses
Memria
Resultados
e
Discusses
Memria
-
Baseline
-
Heapshot
1
Heapshot
2
Heapshot
3
Heapshot
4
954,23
KB
1,67
MB
98,71
KB
129,02
KB
40,07
KB
Concluso
Foi
possvel
registrar
a
frequncia
e
enviar
os
dados
de
forma
criptografada
para
o
webservice
A
aplicao
no
consome
muito
processamento
Pode
tornar-se
uma
ferramenta
mais
completa
com
a
adio
de
novas
funcionalidades
Extenses
Extenses
Implementao
das
demais
funcionalidades
do
CFN
disponibilizadas
no
webservice
Sincronizao
dos
dados
Verso
para
Android
Demonstrao
Demonstrao no simulador