Sunteți pe pagina 1din 77

UNIVERSIDADE DO OESTE DE SANTA CATARINA

UNOESC UNIDADE CHAPEC

GABRIEL CARLOS VIVIAN

PROTTIPO DE APLICATIVO PARA DISPOSITIVOS MVEIS INTEGRADO AO


ERP GESCOOPER

Chapec SC
2011

GABRIEL CARLOS VIVIAN

PROTTIPO DE APLICATIVO PARA DISPOSITIVOS MVEIS INTEGRADO AO


ERP GESCOOPER

Trabalho de Concluso de Curso apresentado ao


Curso

de

Universidade

Sistemas
do

Oeste

de
de

Informao,
Santa

Catariana

(UNOESC) para obteno do grau de bacharel.

Prof. Orientador (a): Prof. Carla de A. M. Basso, M.Sc.

Chapec SC
2011

da

GABRIEL CARLOS VIVIAN

PROTTIPO DE APLICATIVO PARA DISPOSITIVOS MVEIS INTEGRADO AO


ERP GESCOOPER

Trabalho de Concluso de Curso apresentado ao


Curso

de

Universidade

Sistemas
do

Oeste

de
de

Informao,
Santa

Catariana

(UNOESC) para obteno do grau de bacharel.

Aprovada em: 03 / 07 / 2011

__________________________________________________________
Prof. M.Sc. Carla A. Martins Basso
Universidade do Oeste de Santa Catarina - UNOESC

__________________________________________________________
Prof. M.Sc. Tiago Zonta
Universidade do Oeste de Santa Catarina - UNOESC

__________________________________________________________
Prof. Esp. Jos Luiz Cunha Quevedo
Universidade do Oeste de Santa Catarina - UNOESC

da

AGRADECIMENTOS

Agradeo minha me, Maria, pelas palavras de incentivo e ao meu pai,


Delcino Vivian, pelo apoio.
Agradeo, com muito amor, minha namorada, Daiane, por estar sempre ao
meu lado e pela sua compreenso.
Agradeo aos meus amigos da Infogen Sistemas pelo apoio e por
emprestarem seus celulares para os meus testes.
Agradeo aos meus amigos da faculdade.
Agradeo ao meu irmo, Rafael Vivian, que sempre leu o meu trabalho e pelo
seu apoio.
Agradeo ao professor Rafael Leite pelo material disponibilizado que tanto me
auxiliou.
Agradeo minha orientadora, Carla Basso, que sempre respondeu as
minhas perguntas seja em sala ou pelo Skype, por acreditar no meu trabalho e
aceitar esse desafio.

"Ningum cresce escondendo


conhecimento. Todos se desenvolvem em conjunto,
uns aprendendo com o que outros ja desbravaram"
(Autor Desconhecido)

RESUMO

Este trabalho apresenta um prottipo de aplicativo para dispositivos mveis, que tem
como objetivo agilizar o processo de gerao de pedidos realizados pelos
vendedores das cooperativas agrcolas que utilizam o Enterprise Resource Planning
(ERP) desenvolvido pela Infogen Sistemas, o GesCooper. Utilizando Web Services
para integrao com o GesCooper e Java Micro Edition (JME) para desenvolvimento
do aplicativo que ser executado no dispositivo mvel. O trabalho inicia-se com a
reviso da literatura onde apresentado as tecnologias e ferramentas estudadas e
que sero utilizadas para o desenvolvimento do prottipo. Em seguida
apresentado como foram utilizadas essas tecnologias e ferramentas a fim de
desenvolver o prottipo proposto.

Palavras-Chave: Web Service, J2ME, Dispositivos Mveis.

LISTA DE ILUSTRAES

Figura 1.

Tipos de Sistema de Informao

17

Figura 2.

Edies da Linguagem Java e seus alvos de aplicao

22

Figura 3.

Perfil de Informao Mvel - Hierarquia de Classes

24

Figura 4.

Armazm de Registros

25

Figura 5.

Ciclo de vida do MIDlet

27

Figura 6.

Modelo bsico Web Service

30

Figura 7.

Arquitetura de um Web Service baseado em SOAP

32

Figura 8.

Estrutura bsica do WSDL

32

Figura 9.

Clientes que possuem vendedores externos

38

Figura 10. Vendedores com dificuldade de enviar os pedidos

39

Figura 11. Clientes com vendedores externos e que possuem dificuldade de

39

comunicao
Figura 12. Empresas que possuem software para envio de pedidos

40

Figura 13. Empresas com interesse na soluo

40

Figura 14. Arquitetura do prottipo

41

Figura 15. Diagrama de Entidade Relacionamento

45

Figura 16. WSDL Cadastro de Usurios

46

Figura 17. Resultado da execuo do mtodo validarUsurio

47

Figura 18. WDSL Transacionadores

47

Figura 19. Resultado da execuo do mtodo listarTransacionadores

48

Figura 20. WSDL Formas

49

Figura 21. Resultado da execuo do mtodo listarFormas

49

Figura 22. WSDL Produtos

50

Figura 23. Resultado da execuo do mtodo listrarProdutos

50

Figura 24. WSDL ProdutosLevel4

51

Figura 25. Resultado da execuo do mtodo listrarProdutoslevel4

51

Figura 26. WSDL PedVendas

52

Figura 27. Converter J2ME MIDP (JAD) para Android pacote (APK)

53

Figura 28. Diagrama de Caso de Uso

54

Figura 29. Fluxo de execuo da MIDlet

59

Figura 30. Tela de inicializao do aplicativo

60

Figura 31. Tela de login da aplicao

61

Figura 32. Tela de incio do aplicativo

61

Figura 33. Tela inicial do pedido

62

Figura 34. Tela de consulta dos clientes

62

Figura 35. Tela de consulta das formas de pagamento

63

Figura 36. Tela de consulta dos produtos

64

Figura 37. Tela de consulta dos itens do pedido

64

Figura 38. Tela de confirmao do envio do pedido

65

Figura 39. Tela do pedido do ERP GesCooper

65

LISTA DE TABELAS

Tabela 1

Documentao do Caso de Uso CSU001

54

Tabela 2

Documentao do Caso de Uso CSU002

55

Tabela 3

Documentao do Caso de Uso CSU003

56

Tabela 4

Documentao do Caso de Uso CSU004

56

Tabela 5

Documentao do Caso de Uso CSU005

57

Tabela 6

Documentao do Caso de Uso CSU006

57

Tabela 7

Documentao do Caso de Uso CSU007

58

LISTA DE ABREVIATURAS E SIGLAS

API

Application Programming Interface

APK

Android Pacote

BI

Business intelligence

CRM

Customer relationship management

CD-ROM

Compact Disk Ready Only memory

CLDC

Connected Limited Device Configuration

ERP

Enterprise Resource Planning

EJB

Enterprise JavaBeans

HTML

HyperText Markup Language

HTTP

Hypertext Transfer Protocol

HTTPS

HyperText Transfer Protocol secure

IDC

International Data Corporation

IDE

Integrated Development Environment

IIS

Internet Information Server

J2

Java 2

J2ME

Java Micro Edition

JAD

Java Application Descriptor

JAR

Java Archive

JDBC

Java Database Connectivity

JDK

Java Development Kit

JNDI

Java Naming and Directory Interface

JPA

Java Persistence API

JSP

Java Server Pages

JVM

Java Virtual Machine

KVM

K Virtual Machine

MIDP

Mobile Information Device Profile

PHP

Hypertext Preprocessor

RIM

Research In Motion

UML

Unified Modeling Language

XML

Extensible Markup Language

WWW

World Wide Web

SUMRIO

1. INTRODUO ................................................................................................... 13
1.1. OBJETIVOS ..................................................................................................... 14
1.1.1. OBJETIVO GERAL ............................................................................................. 14
1.1.2. OBJETIVOS ESPECFICOS .................................................................................. 14
2. REVISO DA LITERATURA.............................................................................. 15
2.1. COOPERATIVA ............................................................................................... 15
2.1.1. PRINCPIOS ...................................................................................................... 15
2.2. SISTEMAS DE INFORMAO ........................................................................ 17
2.3. ERP .................................................................................................................. 18
2.4. MOBILIDADE E DISPOSITIVOS MVEIS ....................................................... 19
2.4.1. MITOS RELACIONADOS AO DESENVOLVIMENTO DE APLICAES MVEL ................ 20
2.5. TECNOLOGIA PARA DISPOSITIVOS MVEIS............................................... 21
2.5.1. JAVA ............................................................................................................. 21
2.5.2. J2ME - JAVA MICRO EDITION ........................................................................... 21
2.5.2.1. Configuraes ............................................................................................. 23
2.5.2.2. Componentes visuais .................................................................................. 24
2.5.2.3. RMS Record Management System .......................................................... 25
2.5.2.4. MIDP Mobile Information Device Profile ................................................... 26
2.5.2.5. MIDlets ........................................................................................................ 27
2.6. FERRAMENTAS .............................................................................................. 28
2.6.1. NETBEANS ...................................................................................................... 28
2.6.2. TOMCAT .......................................................................................................... 29
2.6.3. GLASSFISH...................................................................................................... 29
2.7. WEB SERVICES .............................................................................................. 30
2.7.1. XML - LINGUAGEM DE MARCAO EXTENSVEL ................................................. 31
2.7.2. SOAP - SIMPLE OBJECT ACCESS PROTOCOL .................................................... 31
2.7.3. WSDL - WEB SERVICES DESCRIPTION LANGUAGE............................................. 32
3. CAMPO OU REA DE ESTUDO ....................................................................... 33
3.1. DESCRIO DA EMPRESA ............................................................................ 33
3.2. GESCOOPER .................................................................................................. 34

4. MTODO ............................................................................................................ 35
4.1. DELIMITAO DO ESTUDO, MTODO E COLETA DE DADOS .................... 35
4.2. CARACTERIZAO DO ESTUDO .................................................................. 35
4.3. DEFINIO DA POPULAO E DA AMOSTRA.............................................. 36
4.4. TCNICA DE ANALISE E INTERPRETAO DE DADOS .............................. 36
4.5. QUESTOES DE PESQUISA ............................................................................ 37
5. APRESENTACAO E ANLISE DOS RESULTADOS ....................................... 38
5.1. ANLISE DOS RESULTADOS ........................................................................ 38
5.2. DESENVOLVIMENTO DO PROTTIPO ......................................................... 41
5.3. REQUISITOS FUNCIONAIS ............................................................................ 42
5.4. REQUISITOS NO FUNCIONAIS .................................................................... 43
5.5. SERVIDOR ...................................................................................................... 44
5.5.1. DIAGRAMA DE CLASSE ..................................................................................... 44
5.5.2. ER DIAGRAMA DE ENTIDADE RELACIONAMENTO ............................................. 45
5.5.3. CRIAO DO WEB SERVICE .............................................................................. 46
5.6. CLIENTE .......................................................................................................... 53
5.6.1. CASO DE USO .................................................................................................. 54
5.6.2. DIAGRAMA DE CLASSE ...................................................................................... 58
5.6.3. FLUXO DE EXECUO DA MIDLET ...................................................................... 59
5.6.3.1. Demonstrao da execuo da MIDlet........................................................ 60
CONCLUSO .......................................................................................................... 66
REFERNCIAS ........................................................................................................ 67
APNDICES ............................................................................................................. 70
APNDICE A QUESTIONRIO ............................................................................ 71
APNDICE B DIAGRAMA DE CLASSE WEB SERVICE .................................... 72
APENDICE C DIAGRAMA DE CLASSE MIDLET ................................................ 76

1. INTRODUO
O sucesso das empresas est totalmente vinculado velocidade com que as
informaes so assimiladas e pela rapidez que como so tomadas as decises. Os
componentes que fundamentam a Tecnologia de Informao so os grandes
precursores desse sucesso e os dispositivos mveis so grandes aliados, permitindo
conectividade que outros dispositivos no possuem, facilitando a comunicao com
outros sistemas.
Utilizando

os

recursos

que

os

dispositivos

mveis

oferecem,

desenvolvimento de aplicaes para esses equipamentos tende a aumentar. Entre


os recursos, h o ambiente Java, que est cada vez mais presente no dia a dia das
pessoas, seja em produtos fixos ou mveis, de uso pessoal ou de consumo
(CASTELO, 2010).
Com o intuito de colaborar com a qualidade do servio de atendimento aos
clientes da Infogen Sistemas, oferecendo a eles um diferencial de mercado, este
trabalho visa ao desenvolvimento de um prottipo de aplicativo que permita aos
vendedores das cooperativas registrarem os seus pedidos por meio de um
dispositivo mvel, utilizando aparelhos com recursos como o Java. O aplicativo que
ser implementado neste trabalho ser desenvolvido com a linguagem Java para
equipamentos portteis, conhecido como Java Micro Edition (J2ME).

14

1.1.

OBJETIVOS

Nesta seo, so apresentados os objetivos gerais e especficos do trabalho.

1.1.1. Objetivo geral

O objetivo deste trabalho prover uma soluo atravs do desenvolvimento


de um prottipo para registrar pedidos de venda utilizando dispositivos mveis,
integrado com o sistema de gesto da Infogen Sistemas, o GesCooper.

1.1.2. Objetivos especficos

Estudar uma linguagem de desenvolvimento voltada para dispositivos mveis;

Desenvolver a integrao com o sistema de gesto da Infogen Sistemas,


utilizando tecnologias mveis;

Propor uma soluo atravs de um prottipo integrado ao sistema de gesto


da Infogen Sistemas, utilizando tecnologia para dispositivos mveis;

Permitir a comunicao online entre os sistemas.

2. REVISO DA LITERATURA

2.1.

COOPERATIVA

As cooperativas tm aumentado em todo o mundo, principalmente a partir de


meados do sculo passado. O Cooperativismo teve incio na Inglaterra devido s
necessidades dos agricultores, artesos e operrios se organizarem como forma de
defesa frente s situaes de mercado (REVISTA DE CINCIAS EMPRESARIAIS,
2005).
A mais expressiva concretizao do pensamento cooperativista a
Cooperativa de Consumo dos Pioneiros de Rochdale, criada em 1843, atravs da
associao de 28 teceles de Rochdale, conhecida como Sociedade dos Probos
Pioneiros de Rochdale Limitada, os quais pretendiam melhorar suas condies de
vida e realizar uma reforma social mais ampla (REVISTA DE CINCIAS
EMPRESARIAIS, 2005).
Cooperativas so empresas sem fins lucrativos, pois tm o homem como sua
principal finalidade, formada pela unio de pessoas voltadas para o mesmo objetivo,
buscando satisfazer suas necessidades. Trata-se de uma organizao democrtica
e participativa.

2.1.1. Princpios

Segundo a Revista de Cincias Empresarias (2005), a Sociedade dos Probos


Pioneiros de Rochdale, considerada a me das cooperativas, aplicava sete
princpios bsicos que permitiram o seu crescimento.
Com o tempo surgiram outras cooperativas a exemplo de Rochdale, utilizando
como base seus princpios. Assim, a Revista de Cincias Empresariais (2005)
apresenta os princpios do sucesso do cooperativismo listados abaixo.
1. Adeso voluntria e livre: as cooperativas so organizaes voluntrias,
abertas a todas as

pessoas aptas a utilizar seus

servios

e assumir

16

responsabilidades com as pessoas associadas cooperativa, sem discriminaes


sociais, raciais, polticas, religiosas e de sexo.
2. Gesto democrtica pelos membros: as cooperativas so organizaes
democrticas, controladas pelos seus cooperados, que participam ativamente na
formulao de suas polticas e na tomada de decises. Os homens e as mulheres,
eleitos como representantes de outros membros, so responsveis perante estes.
3. Participao econmica dos membros: os cooperados contribuem
equitativamente

para

democraticamente.

Parte

capital
desse

de

suas

cooperativas

capital deve

ser

propriedade

controlam
comum

da

Cooperativa. Os cooperados recebem, habitualmente, uma remunerao pequena


sobre seu capital subscrito, como condio de sua adeso.
4.

Autonomia

independncia:

as

cooperativas

so

organizaes

autnomas, de ajuda mtua, geridas pelos seus membros. Se firmarem acordos com
outras organizaes - incluindo instituies pblicas - ou recorrerem a capital
externo, devem faz-lo em condies que assegurem o controle democrtico pelos
seus cooperados e nas quais se mantenha a autonomia das cooperativas.
5. Educao, formao e informao: as cooperativas promovem a educao
e a formao dos seus cooperados, dos representantes eleitos e dos trabalhadores,
de forma que possam contribuir eficazmente para o desenvolvimento da instituio.
Informam ao pblico em geral, particularmente aos jovens e aos lderes de opinio, a
natureza e as vantagens da cooperao.
6. Intercooperao: ativa cooperao entre as cooperativas em plano local,
nacional e internacional. Trabalhando em conjunto, servem de forma mais eficaz a
seus membros e do mais fora ao movimento cooperativo.
7.

Interesse

pela

comunidade:

as

cooperativas

trabalham

para

desenvolvimento sustentado das suas comunidades, atravs de polticas aprovadas


pelos membros. Contribuem, concretamente, para tornar a sociedade mais justa e
os valores humanos mais respeitados. A boa aceitao no mercado permite que elas
faam a diferena na vida social, cultural e econmica das pessoas.
At hoje esses princpios so mantidos e fazem com que as cooperativas se
diferenciem das empresas tradicionais.

17

2.2.

SISTEMAS DE INFORMAO

Sistema de informao tem como elemento principal a informao. O objetivo


do sistema de informao armazenar informaes, coletando, processando e
transformando em informao, de forma que ela possa auxiliar os processos da
organizao (OLIVEIRA, 2000).
Para atender os diferentes nveis de interesse de uma organizao
necessrio entender os diferentes tipos de sistemas definidos por Oliveira (2000),
em que se pode destacar quatro nveis: Nvel Estratgico, Nvel Gerencial, Nvel
Conhecimento e Nvel Operacional, o que pode ser observado na Figura 1.

Figura 1 - Tipos de Sistema de Informao.


Fonte: Apostila da disciplina de Sistemas de Informao. Unoesc/SOS.
Aula do dia 05/04/2010 (Prof. Carla de A. M. Basso).

Nvel Estratgico: ajudam a alta administrao a planejar o curso da ao,


em

longo

prazo.

Envolvem

diretamente

questes

objetivos

das

organizaes, produtos, servios e sobrevivncia. Auxiliam no processo de


tomada de deciso (produo de novos produtos, investimento em nova
tecnologia, mudana de localidade / mercado).
Nvel Gerencial: fundamentam-se sobre problemas voltados para a gerncia
intermediria, como atingir os objetivos e como controlar e avaliar o processo
para atingir tais objetivos. Podem ser utilizados em aplicaes tais como

18

acompanhamento de vendas para anlise do sucesso das vendas anuais ou


mensais, ou ainda para reviso de oramentos departamentais (evitar
desperdcios).
Nvel de Conhecimento: sistemas utilizados para auxiliarem os especialistas
e profissionais do conhecimento, profissionais que criam, distribuem e usam o
conhecimento e informao em benefcio da empresa para que estes possam
projetar produtos, racionalizar servios e lidar com documentos.
Nvel Operacional: sistemas que registram as operaes dos funcionrios
tcnicos, de produo, servios e operaes rotineiras das atividades da
empresa.

2.3.

ERP

Enterprise Resource Planning (ERP) um sistema integrado que pode


otimizar os trabalhos da empresa. O software integra dados de diferentes
departamentos

da

empresa,

compartilhando

informaes

atravs

do

processamento lgico, alimentando todos os mdulos do sistema, em tempo real,


automatizando tarefas repetitivas que no geram valor empresa, permitindo
realocar funcionrios para outras tarefas, gerando maior produtividade empresa e
a reduo do trabalho (NORRIS et al., 2001).
A implantao de um ERP pode afetar a estrutura da empresa, podendo levla a rever seus processos de negcio, comprometendo principalmente os
funcionrios e forando a realinhar seus processos (NORRIS et al., 2001).
O ERP um sistema importante para as organizaes, pois, atravs da
integrao de seus mdulos e seus inmeros relatrios, podem disponibilizar
informaes importantes de transaes, as quais so utilizadas pelo gestor como
apoio as decises.

19

2.4.

MOBILIDADE E DISPOSITIVOS MVEIS

A capacidade de se movimentar ou ser movimentado com facilidade pode ser


definido como mobilidade. Segundo Lee (2005), no contexto de computao mvel,
mobilidade se refere ao uso pelas pessoas de dispositivos mveis portteis, que tm
a capacidade de realizar funes capazes de conectar-se, obtendo dados e
apresentando-os para os usurios (LEE et al., 2005).
Para que um dispositivo seja considerado mvel, ele deve possuir certas
caractersticas como portabilidade, permitindo que seja transportado com facilidade
pelo usurio. De acordo com Lee (2005), o dispositivo que pode oferecer melhor
mobilidade

tem

as

seguintes

caractersticas:

portabilidade,

usabilidade,

funcionalidade e conectividade (LEE et al., 2005).


Segundo Araujo (2006) dispositivos mveis podem ser celulares, pagers,
PDAs ou qualquer aparelho que permita a comunicao em qualquer lugar e a
qualquer hora. Com o passar do tempo e usurios mais exigentes, esses
dispositivos evoluram, ganhando cada vez mais novos recursos e design.
Sofisticados recursos como a transferncia de voz vm se tornando apenas
funcionalidade bsica.
O Smatphone, tambm conhecido como telefone inteligente, um dispositivo
mvel capaz de rodar aplicativos que podem facilitar a comunicao enquanto o
usurio se movimenta (ARAUJO, 2006).
Esses pequenos computadores de bolso tm como destaque a possibilidade
de navegao pela internet e a utilizao de outros aplicativos que podem
transformar a utilizao, tornando o aparelho mais til e eficiente.
De acordo com Cavalcanti (2009), estudos realizados pela International Data
Corporation (IDC), a pedido da Research In Motion (RIM), uma das lderes no
mercado de Smartphones, revelou que Chile e Colmbia so os pases da Amrica
Latina mais adiantados na adoo da mobilidade corporativa.

20

2.4.1. Mitos relacionados ao desenvolvimento de aplicaes mvel

Conforme Lee (2005) existem alguns mitos com relao ao desenvolvimento


de aplicaes para dispositivos mveis:

fcil: as pessoas parecem pensar que desenvolver aplicaes para


dispositivos mveis fcil. De fato, provavelmente mais difcil. H muitas
dificuldades

que

precisam

ser

vencidas,

incluindo

ergonomia,

conectividade e consideraes sobre telas de comando reduzido.

rpido: existe a noo de que desenvolver aplicaes em dispositivos


mveis , de certo modo, rpido. Na verdade, provavelmente, no ser
mais rpido ou mais lento que qualquer outro esforo de desenvolvimento
de uma aplicao.

barato: nem o desenvolvimento de aplicaes mveis nem os


dispositivos so necessariamente baratos. A compra de um dispositivo
mvel pode sair to caro quanto um computador desktop.

21

2.5.

TECNOLOGIA PARA DISPOSITIVOS MVEIS

Nesta seo, so apresentados os recursos e tecnologias utilizadas para o


desenvolvimento do prottipo.

2.5.1. JAVA

Segundo Niemeyer (2000), Java uma linguagem de programao que


segue o paradigma de programao orientada a objetos desenvolvida pela Sun. Na
dcada de 90, o projeto Java teve incio pelo pesquisador Bill Joy, que, segundo
Deitel (2001), tornou-se conhecido com o uso da internet, graas a sua capacidade
para a criao de aplicaes para World Wide Web (WWW).
Java independente de sistema operacional, assim, todo software escrito
nessa linguagem de programao pode ser executado em dispositivos com sistema
operacional como Symbian, Windows CE, Pocket PC, Palm OS, entre outros. Dessa
forma, esses sistemas operacionais requerem uma Java Virtual Machine (JVM)
compatvel (NIEMEYER, 2000).

2.5.2. J2ME - Java Micro Edition

Java 2 Micro Edition uma Application Programming Interface (API) Java


voltada para o desenvolvimento de aplicativos que rodam em micro processadores
como celulares, PDA, Smartphone que tm poder limitado de processamento
(FIORESI, 2007).
Segundo Muchow (2004) a incluso mais revolucionria na famlia do Java
a Micro Edition, que objetiva ferramentas de informao, variando desde mquinas
ligadas TV habilitadas a internet at telefones celulares.
Com a incluso do Java para dispositivos mveis, tem-se agora acesso aos
recursos de uma linguagem de programao fcil de dominar e um ambiente em

22

tempo de execuo que fornece uma plataforma segura e portvel (MUCHOW,


2004).
O Java 2, segundo Fioresi (2007), est dividido em:

Java

Standard

Edition

(J2SE):

tecnologia

projetada

para

computadores pessoais e ambientes de trabalho.

Java 2 Enterprise Edition (J2EE): tecnologia direcionada para


aplicaes baseadas no servidor, contendo suporte interno para JSP
(JavaServer Pages), XML (eXtensible Markup Language) e servlets.

Java 2 Micro Edition (J2ME): tecnologia direcionada para dispositivos


com poucos recursos computacionais como, por exemplo, Palms e
telefones celulares.

A Figura 2 mostra as edies do Java, de acordo com Fioresi (2007).

Figura 2 - Edies da Linguagem Java e seus alvos de aplicao


Fonte: Adaptado de Fioresi (2007)

Em dezembro de 1998, a Sun apresentou o nome Java 2 (J2) para


coincidir com o lanamento do Java 1.2. Essa nova conveno de atribuio
de nomes se aplica a todas as edies do Java: Standart Edition (J2SE),
Enterprise Edition (J2EE) e Micro Edition (J2ME)

2).

(MUCHOW, 2004, p.

23

2.5.2.1. Configuraes

Segundo Muchow (2004, p.3), com o objetivo de suportar uma ampla


variedade de produtos que se encaixam dentro do escopo do J2ME, a Sun
Microsystems (Sun) introduziu a Configurao.
A Configurao est vinculada a uma mquina virtual Java, a qual define uma
plataforma Java para ampla variedade de dispositivos. Os recursos da linguagem
Java e as bibliotecas bsicas da JVM so definidos para cada configurao em
particular (MUCHOW, 2004).
A diviso entre as possveis configuraes est baseada na memria, no
vdeo, na conectividade de rede e no poder de processamento dos dispositivos
(MUCHOW, 2004).
De acordo com Muchow (2004), a seguir esto as caractersticas tpicas dos
dispositivos, dentro das duas configuraes disponveis.

CDC Configurao de Dispositivo Conectado

512 kilobytes (no mnimo) de memria para executar o Java;

256 kilobytes (no mnimo) de memria para alocao de memria em


tempo de execuo;

conectividade de rede, largura de banda possivelmente persistente e


alta.

CLDC Configurao de Dispositivo Conectado Limitado

128 kilobytes de memria para executar o Java;

32 kilobytes para alocao de memria em tempo de execuo;

interface restrita com o usurio;

baixo poder, normalmente alimentado por bateria;

conectividade de rede, normalmente dispositivos sem fio com largura


de banda baixa e aceso intermitente.

24

2.5.2.2. Componentes visuais

Segundo Muchow (2004), atravs da classe Screen e suas heranas,


classificadas como objetos de Interface ou componentes visuais, podem-se
adicionar comandos, possibilitando gerenciar as aes do usurio.

A seguir,

destacam-se quais so os possveis componentes visuais disponveis para


implementao.

Figura 3 - Perfil de Informao Mvel - Hierarquia de Classes


Fonte: Adaptado de Muchow (2004, p. 98)

TextBox: Tela que permite a entrada de texto. possvel definir qual o tipo
de caractere que deve ser digitado e o seu tamanho.
Forms: o objeto que pode oferecer algumas limitaes, no existem janelas
sobrepostas e barra de menus em cascata, mas ele permite adicionar vrios
componentes na tela, fornecendo rolagem conforme for necessrio para acomodar
os componentes.
List: o objeto que apresenta uma lista de escolhas a qual pode ter trs
formatos; Mltiple, em que se podem ter n nmeros de elementos selecionais;
Exclusive, em que se pode ter apenas um elemento selecionado; e Implicit, em que
a seleo de um elemento gera um evento.
Alert: o objeto que suporta texto e objetos do tipo Image. Seu uso opcional
e normalmente utilizado para mostrar mensagens de erro. Existem dois tipo de

25

objetos Alert: Modal, em que o objeto fica na tela at o momento em que o usurio
dispense ou Cronometrado, em que o objeto fica na tela por um tempo determinado.

2.5.2.3. RMS Record Management System

Quando se faz referncia ao armazenamento e recuperao de dados em


dispositivos mveis, seja qual for a informao que se deseja armazenar, preciso
encontrar uma maneira de gerenciar os dados relacionados ao aplicativo. Quando se
fala em desktop, as opes so das mais variadas: Compact Disk Ready Only
memory (CD-ROM), unidade de disco local, unidade de disco de rede, Pen Drive etc
(MUCHOW, 2004).
No caso dos dispositivos mveis, isso se torna um pouco mais complicado e
existem algumas preocupaes com o tamanho, desempenho e as diferenas entre
os fabricantes no que diz respeito ao suporte para sistemas de arquivo e interligao
em rede (MUCHOW, 2004).
Como uma alternativa ao uso de um sistema de arquivos, o RMS utiliza
memria no voltil para armazenar informaes. Esse banco de dados
orientado para registros, freqentemente referido como arquivo puro, pode
ser imaginado como uma srie de fileiras em uma tabela, com um
identificador exclusivo para cada fileira.

(MUCHOW, 2004, p. 296).

A seguir, pode-se visualizar a representao de um Record Management


System (RMS), de acordo com Muchow (2004) :

Figura 4 - Armazm de Registros


Fonte: Adaptado de Muchow (2004, p. 296)

26

2.5.2.4. MIDP Mobile Information Device Profile

Baseando-se na configurao Connected Limited Device Configuration


(CLDC), o Mobile Information Device Profile (MIDP) utiliza a K Virtual Machine (KVM)
para executar aplicativos em dispositivos mveis, como telefones celulares
(GOMES, 2005).
Segundo MUCHOW (2004), no h melhor maneira de citar os requisitos de
hardware do que simplesmente list-los um a um. Abaixo os requisitos de Hardware
e Software de acordo com MUCHOW (2004):

a tela deve suportar pelo menos 96 X 54 pixels;

deve haver pelo menos um tipo de entrada de usurio disponvel:


teclado de mo (teclado de telefone), teclado de duas mos (teclado
padro dos computadores) ou tela de toque;
128 kilobytes de memria no-voltil (ROM) para executar os
componentes Mobile Information Device (MID);
pelo menos 8 kilobytes de memria no-voltil (ROM) para os
aplicativos armazenarem dados persistentes, como configurao e
dados do aplicativo;
32 kilobytes de memria voltil (RAM) para executar o Java;
conectividade de rede sem fio.
Testar aplicaes em equipamentos reais aumenta os custos de
desenvolvimento, por este motivo os emuladores so recursos importantes
para o desenvolvimento de aplicaes Mobile Information Device Profile
(MIDP), fornecendo ao desenvolvedor uma ferramenta de testes e
correes com todas as caractersticas do dispositivo real

2008, p. 22).

(SOUZA,

27

2.5.2.5. MIDlets

O aplicativo Java projetado para ser executado em um dispositivo mvel


conhecido como MIDlet e tem como classes do Java bsicas a CLDC e o Information
Device Profile (MIDP) (MUCHOW, 2004).
Dispositivos com suporte ao profile MIDP so capazes de executar aplicaes
MIDlet desenvolvidas em J2ME. Quando os MIDlets so agrupados,

possuem

funcionalidades semelhantes em um mesmo pacote, que chamado de MIDlet


Sute. Os recursos do dispositivo mvel so compartilhados com os membros da
mesma Midlet Sute e executam a mesma KVM (GOMES, 2008).
Segundo Gomes (2005), o software de gerenciamento da aplicao do
dispositivo interage diretamente com o MIDlet com os mtodos de iniciar, pausar e
destruir, conforme representado na figura abaixo:

Figura 5 - Ciclo de vida do MIDlet


Fonte: Adaptado de Gomes (2005)

Iniciar: feita a aquisio de recursos, inicializando a execuo atravs do


startApp().
Pausar: feita a liberao de recursos em que o aplicativo fica em modo de
espera, permitindo atender ao telefone enviar ou receber SMS. Esse processo
ocorre atravs do mtodo pauseApp().
Destruir: feita a liberao de todos os recursos, finalizando o aplicativo.
Esse processo acorre atravs do mtodo detroyApp().

28

Segundo Muchow (2004), o MIDlet pode ser executado em qualquer


dispositivo contendo a KVM, porm os dispositivos variam de tamanho de tela,
cores, teclados e outros aspectos, tornando difcil essa flexibilidade.

2.6.

FERRAMENTAS

Nesta seo, esto fundamentadas as ferramentas utilizadas para o


desenvolvimento do prottipo.

2.6.1. NetBeans

Em meados dos anos 90, dois estudantes de Praga, na Repblica Checa,


iniciaram o desenvolvimento do Integrated Development Environment (IDE) Xelfi,
desenvolvido totalmente em Java. O nome NetBeans vinha da integrao que a
ferramenta deveria ter para os ento modernos componentes Java Beans
(MAGALHES et al., 2007).
A ligao da Sun com o NetBeans comeou em 1999, quando a empresa
desistiu de sua IDE Java Workshop e procurou por novas iniciativas. O NetBeans foi
adquirido e teve seu nome, durante alguns meses, mudado para Forte for Java. Em
2000, a Sun anunciava que o NetBeans seria uma plataforma Open Source
(MAGALHES et al., 2007).
NetBeans um ambiente de desenvolvimento integrado de cdigo-fonte
aberto gratuito para desenvolvedores de software, escrever, compilar e debugar
programas. Esse IDE disponibiliza todas as ferramentas necessrias para criar
aplicativos profissionais de rea de trabalho, corporativos, Web e mveis, com a
plataforma Java, podendo suportar outras linguagens de programao como C/C++,
PHP, JavaScript, Groovy e Ruby (MAGALHES et al., 2007).
A verso do NetBeans utilizada para o desenvolvimento deste trabalho a
verso 6.9 .

29

2.6.2. Tomcat

O Tomcat um servidor de aplicaes Java para web. software livre e de


cdigo aberto. Surgido dentro do conceituado projeto Apache Jakarta, o Tomcat
robusto e eficiente o suficiente para ser utilizado mesmo em um ambiente de
produo (APACHE TOMCAT, 2010)
Tecnicamente, o Tomcat um Container Web, que abrange as tecnologias
Servlet e Java Server Pages (JSP), incluindo tecnologias de apoio relacionadas e
segurana, Java Naming and Directory Interface (JNDI) Resources e Java Database
Connectivity (JDBC) DataSources (APACHE TOMCAT, 2010).
O Tomcat tem a capacidade de atuar tambm como servidor Web/HTTP, ou
pode funcionar integrado a um servidor web dedicado como o Apache HTTP ou o
Microsoft Internet Information Server (IIS) (APACHE TOMCAT, 2010).

2.6.3. GlassFish

O projeto do Glassfish foi lanado pela Sun em junho de 2005. A primeira


verso foi lanada em maio de 2006, a segunda, em setembro de 2007 e,
atualmente, a verso mais recente a terceira verso (PELEGRI et al., 2007).
O GlassFish um servidor de aplicaes de cdigo aberto de nvel
corporativo que oferece desempenho, confiabilidade, produtividade e facilidade de
uso superiores a uma frao do custo de servidores de aplicaes proprietrios.
(PELEGRI et al., 2007).
Por ser um produto da prpria Sun, tem 100% de compatibilidade com o
JAVA, permitindo a utilizao de ferramentas e servios como o Enterprise Java
Beans (EJB).

30

2.7.

WEB SERVICES

Web Services tm a capacidade de interagir entre sistemas enviando ou


recebendo informaes, independentemente da linguagem de programao ou
sistema operacional. Web Services tem o objetivo de integrar softwares diferentes
por meio de um protocolo padronizado para que a troca de dados seja realizada no
formato Extensible Markup Language (XML) (GOMES, 2010).
A transparncia de linguagens a principal atrao do Web Service. O
servio e seus clientes no precisam ser escritos na mesma linguagem.
Transparncia de linguagem a chave para a interoperabilidade do Web Service,
isto , a habilidade de Web Services e solicitantes

interagirem

apesar

das

diferenas nas linguagens de programao, bibliotecas de suporte e plataformas


(KALIN, 2010).
Conforme o conceito de Web Services de STREIBEL (2005, p. 18),
Web Services so servios distribudos na WEB que processam
mensagens SOAP codificadas em XML enviadas atravs do protocolo
HTTP. Podemos observar que a Arquitetura de um Web Services (WSA)
formada por um conjunto de tecnologias que agregadas conseguem
grandes resultados para os programadores WEB.

Figura 6 - Modelo bsico Web Service

31

2.7.1. XML - Linguagem de Marcao Extensvel

Segundo Castro (2001), XML um sistema gramatical para construo de


linguagens de marcao personalizadas.
Assim como no HyperText Markup Language (HTML) o XML utiliza blocos de
marcaes podendo conter qualquer coisa como outros elementos e texto, cada
elemento possui uma Tag em que os atributos so nomeados pelo prprio
programador (Castro, 2001).
Os atributos tm valores delimitados por aspas e esto contidos em um
elemento. As informaes contidas em um atributo so consideradas metadados e
no dados em si. Cada atributo deve possuir um nome nico e cada elemento pode
ter quantos atributos forem necessrios (Castro, 2001).

2.7.2. SOAP - Simple Object Access Protocol

Simple Object Access Protocol (SOAP): o protocolo padro para


transmisso de dados dentro da arquitetura de Web Service proposta pelo W3C. O
SOAP um protocolo baseado em XML e segue o modelo REQUEST-RESPONSE
do HTTP (GOMES, 2010, p. 16).
De acordo com Kalin (2010), a biblioteca SOAP fundamental do cliente envia
uma mensagem como uma solicitao de servio, e a biblioteca SOAP subjacente
do Web Service envia outra mensagem SOAP como a resposta correspondente ao
servio.
A seguir, atravs da Figura 7, possvel visualizar a transmisso de dados de
um Web Service baseado em SOAP.

32

Figura 7 - Arquitetura de um Web Service baseado em SOAP


Fonte: Kalin (2010, Pag. 2)

2.7.3. WSDL - Web Services Description Language

Web Services Description Language (WSDL): um arquivo do tipo XML, cuja


finalidade descrever detalhadamente um web service. Essa descrio especifica
as operaes que compem o Web Service e define de forma clara como deve ser o
formato de entrada e sada de cada operao (GOMES, 2010, p. 16).
A Figura 8 ilustra de forma bsica a estrutura de um Web Description
Language (WSDL):

Figura 8 - Estrutura bsica do WSDL

3. CAMPO OU REA DE ESTUDO


Este trabalho tem como rea de estudo de Sistemas de Informao o
desenvolvimento de aplicativos para dispositivos mveis integrado ao sistema de
gesto com foco na rea de cooperativas, possibilitando a mobilidade dos
vendedores atravs de dispositivos mveis.

3.1.

DESCRIO DA EMPRESA

A Infogen Sistemas foi fundada em 2000, na cidade de Chapec SC e tem


como foco principal as cooperativas agropecurias, de consumo e transportes,
cerealistas, laticnios e indstrias do ramo do agronegcio (INFOGEN SISTEMAS,
2010).
A Infogen Sistemas diferencia-se no mercado pela sua especializao,
profissionalismo e competncia, alm da abrangncia e profundidade com que seus
sistemas informatizam, integram, qualificam e realizam as operaes (INFOGEN
SISTEMAS, 2010).
Os sistemas da Infogen so construdos de forma a permitir que os usurios
possam definir, por meio de parmetros, suas necessidades, minimizando as
ocorrncias de customizaes e possibilitando que as implantaes aconteam no
menor espao de tempo e custo, alm de facilitar e simplificar futuras atualizaes
(INFOGEN SISTEMAS, 2010).
Atravs do emprego e uso de avanadas tecnologias e metodologias de
desenvolvimento, a Infogen Sistemas garante a permanente evoluo e adaptao
de suas solues, visando a atender e suportar as mais modernas tcnicas e
modelos de gesto empresarial (INFOGEN SISTEMAS, 2010).

34

3.2.

GESCOOPER

O GesCooper um Enterprise Resource Planning (ERP), software de gesto,


projetado especificamente para atender empresas do segmento do agronegcio e
cooperativas,

as

quais

apresentam

necessidades

particularidades

que,

normalmente, no so atendidas pelos tradicionais sistemas de ERP, os quais


exigem

grande esforo e altos investimentos para adequao e customizao

(INFOGEN SISTEMAS, 2010).


A soluo para gesto empresarial GesCooper tem como objetivo principal o
controle informatizado de todos os setores de uma empresa, e composta por cinco
grandes subsistemas com seus respectivos mdulos (INFOGEN SISTEMAS, 2010).

4. MTODO

4.1.

DELIMITAO DO ESTUDO, MTODO E COLETA DE DADOS

O presente trabalho foi realizado em conformidade com as exigncias do


curso de Sistemas de Informao da Universidade do Oeste de Santa Catarina
UNOESC, pelo acadmico Gabriel C. Vivian, no perodo de agosto de 2010 a junho
de 2011, utilizando abordagem indutiva, atravs da tcnica de documentao direta,
com a aplicao de questionrios.
O questionrio foi aplicado tendo como base a definio de Roesch (2009, p.
142), para o qual questionrio um
[...] Instrumento mais utilizando em pesquisa quantitativa, [...] o questionrio
no apenas um formulrio, ou um conjunto de questes listadas sem
muita reflexo. O questionrio um instrumento de coleta de dados que
busca mensurar alguma coisa.

O prottipo foi desenvolvido utilizando como base um sistema ERP,


desenvolvido pela Infogen Sistemas, localizada na Rua Jorge Lacerda, 80 E, com o
CEP 89.802-105, no centro da cidade de Chapec (SC), que, atualmente, atende a
um grande nmero de cooperativas regionais, com o objetivo de criar um prottipo
para solucionar o problema de envio de pedidos dos vendedores, procurando-se
desenvolver funcionalidades em que havia deficincia ou at mesmo funcionalidades
que a empresa no possua.

4.2.

CARACTERIZAO DO ESTUDO

Atravs do estudo de caso aplicado sobre os clientes questionados, verificouse como o processo de envio de pedidos estava sendo realizado, para
posteriormente, possibilitar o desenvolvimento de um prottipo a fim de solucionar o
possvel problema de envio desses pedidos, otimizando a comunicao entre o
vendedor e a empresa.

36

Pesquisas bibliogrficas foram realizadas para buscar as informaes


necessrias na realizao deste trabalho, ou seja, a cada ponto essencial, foi
realizada uma pesquisa, seja em livros, artigos de fontes confiveis ou at mesmo
em grupos de trabalho da linguagem especificada, a fim de sanar o problema
encontrado, permitindo desenvolver um prottipo para solucionar o problema.
Durante a atividade foram realizados estudos sobre a linguagem de
programao J2ME, Ferramentas de desenvolvimento, Web Service e dispositivos
mveis, os quais foram discutidos no Captulo 2 e no Captulo 3 deste trabalho.

4.3.

DEFINIO DA POPULAO E DA AMOSTRA

A populao-alvo da pesquisa foram os clientes da Infogen Sistemas. Fizeram


parte dela vinte (20) clientes que possuem as mesmas caractersticas necessrias
para a pesquisa e a amostragem foi extrada tendo como base o conceito de
amostragem de Roesch (2009, p. 139), em que
O propsito da amostragem construir um subconjunto da populao que
representativo nas principais reas de interesse da pesquisa [...]. A amostra
deve ser extrada de maneira que cada membro da populao tenha a
mesma chance estatstica de ser includo na amostra.

Fazem parte da amostra dez (10) clientes, selecionados de acordo com a


definio de amostra aleatria simples de Roesch (2009, p. 139):
Aquela em que a escolha dos elementos feita atravs de uma tabela de
nmeros aleatrios, de modo que cada membro da populao tenha a
mesma chance de ser includo na amostra.

4.4.

TCNICA DE ANALISE E INTERPRETAO DE DADOS

A tcnica para a anlise de dados utilizada no desenvolvimento do trabalho foi


quantitativa, atravs de um questionrio de perguntas fechadas aplicado a uma
determinada amostra de clientes, cujo objetivo foi identificar a necessidade de

37

adquirir uma soluo para registrar pedidos de venda por meio de dispositivos
mveis, integrado com o sistema de gesto da Infogen Sistemas, o GesCooper.
O questionrio foi disponibilizado aos entrevistados atravs da ferramenta
Google Docs, possibilitando aplicar a pesquisa de forma online, agilizando o
processo de anlise dos resultados que sero apresentados atravs de grficos
oferecidos pelo prprio Google Docs.

4.5.

QUESTOES DE PESQUISA

As questes da pesquisa visa verificar a possibilidade do desenvolvimento de


um aplicativo integrado ao ERP, GesCooper, que possa melhorar a comunicao do
vendedor com a cooperativa.

5. APRESENTACAO E ANLISE DOS RESULTADOS


Neste capitulo, sero apresentados no item 5.1 os dados obtidos atravs do
questionrio o qual pode ser encontrado no Apndice A. Aplicado aos membros da
amostra, com o intuito de verificar a viabilidade de desenvolver um aplicativo para o
problema apresentado nesse projeto, o questionrio tem como objetivo avaliar a
necessidade dos clientes para tal soluo a fim de comprovar a existncia do
problema relatado.
Aps a apresentao dos resultados levantados atravs do questionrio, ser
apresentado o prottipo proposto como soluo para o problema e sua estrutura de
comunicao e integrao com o Enterprise Resource Planning (ERP) o GesCooper.

5.1.

ANLISE DOS RESULTADOS

Sendo os vendedores um fator fundamental para a implementao do


prottipo proposto neste trabalho, a primeira pergunta busca verificar os clientes que
possuem vendedores externos.
Quanto aos resultados obtidos, pode-se observar, atravs da Figura 9, que a
maioria dos clientes, sendo ela 70% dos clientes questionados, possui vendedores.
Sua empresa possui vendedores externos?
Sim
No

N
7
3

%
70
30

Figura 9 Clientes que possuem vendedores externos


Fonte: O autor.

Tendo o pedido de venda como pea fundamental para o faturamento da


empresa, a segunda pergunta busca verificar a dificuldade de comunicao entre o

39

vendedor e a empresa questionada, permitindo indicar a necessidade de uma


ferramenta que possa sanar essa dificuldade.
Quanto aos resultados obtidos, pde-se observar, atravs da Figura 10, que
metade dos clientes, sendo ela 50% dos clientes questionados, tm dificuldade em
receber os pedidos de venda dos seus vendedores.
Seus vendedores externos tm dificuldade de enviar os pedidos de seus
clientes?
N
5
5

Sim
No

%
50
50

Figura 10 Vendedores com dificuldade de enviar os pedidos


Fonte: O autor.

Utilizando como base apenas os clientes que possuem vendedores externos,


possvel visualizar, atravs da Figura 11, que a maioria dos clientes questionados
que possuem vendedores, sendo ela 71%, tm problemas em receber os pedidos de
venda e 29% dos clientes questionados que possuem vendedores no enfrentam a
dificuldade de comunicao para receber os pedidos de venda.
Possui vendedores e tem dificuldade de comunicao
Sim
No

N
5
2

%
71
29

Figura 11 Clientes com vendedores externos e que possuem dificuldade de comunicao


Fonte: O autor.

Considerando que, dos clientes questionados, o possvel motivo por no


terem problemas com o processo de envio de pedidos de venda fosse o fato de j
possurem um software que permita comunicar eletronicamente esses pedidos, a
terceira pergunta busca verificar os clientes que j possuem um software para tal
finalidade.

40

Quanto aos resultados obtidos, pde-se observar, atravs da Figura 12, que a
minoria, sendo ela 10% dos clientes questionados, possui um software que permita
enviar eletronicamente os pedidos de venda.
A sua empresa j possui um software que permita enviar os pedidos de seus
representantes?
Sim
No

N
1
9

%
10
90

Figura 12 Empresas que possuem software para envio de pedidos


Fonte: O autor.

Tendo como fator fundamental agilizar o processo de entrega de mercadoria,


a quarta pergunta busca verificar o interesse do cliente em um software que possa
solucionar o problema de comunicao entre a empresa e o vendedor, permitindo
receber os pedidos de venda com maior segurana e velocidade.
Quanto aos resultados obtidos, pde-se observar, atravs da Figura 13, que
a grande maioria, sendo ela 90% dos clientes questionados, tem interesse em tal
soluo.
Sua empresa tem interesse nesse tipo de software?
Sim
No

N
9
1

%
90
10

Figura 13 Empresas com interesse na soluo


Fonte: O autor.

A pesquisa possibilitou identificar a necessidade do cliente de agilizar a


comunicao com o representante, permitindo agilizar a entrega de mercadoria,
proporcionando mais satisfao ao cliente.

41

5.2.

DESENVOLVIMENTO DO PROTTIPO

Apresentam-se, neste item, os passos para o desenvolvimento do prottipo e


a sua arquitetura. O prottipo desenvolvido neste projeto est dividido em duas
partes principais, descritas a seguir:
um mdulo Enterprise Java Beans (EJB), utilizando Beans de sesso, em que
eles sero disponibilizados atravs de Web Service para

possibilitar a

comunicao com a MIDlet desenvolvida em J2ME, que ser executada no


dispositivo mvel;
a MIDlet que executada em um dispositivo mvel, utilizando a tecnologia
J2ME, sendo que a comunicao realizada atravs de um Web Service via
protocolo HTTP e SOAP.
A Figura 14 representa a arquitetura do trabalho proposto, no qual o
dispositivo mvel com suporte ao JAVA realiza suas interaes com o Servidor Web,
atravs de uma conexo Hyper Text Transfer Protocol (HTTP), tanto nas requisies
quanto nas respostas.

Figura 14 - Arquitetura do prottipo


Fonte: O autor.

42

5.3.

REQUISITOS FUNCIONAIS

So apresentados neste item as funcionalidades do prottipo, isto , as


funes que o prottipo poder executar para que o objetivo do trabalho seja
atingido, representados atravs de requisitos funcionais relacionados abaixo atravs
das letras RF seguido do nmero do requisito:
RF01 Login - essa funcionalidade dever permitir ao vendedor informar o
seu usurio e senha e dever identificar o cdigo de vendedor do usurio que
efetuou o login.
RF02 Novo pedido - essa funcionalidade dever permitir ao vendedor criar
um novo pedido. As funcionalidades que devero estar disponveis so:
Consultar cliente, Consultar produto, Itens do pedido, Cancelar Pedido e
Finalizar Pedido.
RF03 Listar os clientes - essa funcionalidade dever permitir abrir uma lista
de clientes j cadastrados e disponveis para realizar o pedido de venda,
possibilitando selecionar o cliente desejado.
RF04 Listar produtos - essa funcionalidade dever permitir abrir uma lista de
produtos j cadastrados e disponveis, possibilitando selecionar o produto
desejado.
RF05 Listar formas - essa funcionalidade dever permitir ao vendedor
visualizar

as

formas

de

pagamento

cadastradas

disponveis,

possibilitando selecionar a forma de pagamento desejada.


RF06 Confirmar produto - essa funcionalidade dever permitir ao vendedor
visualizar o preo do produto e especificar a quantidade desejada.
RF07 Itens do pedido - essa funcionalidade dever permitir ao vendedor
consultar os produtos que fazem parte do pedido.
RF08 Cancelar pedido - essa funcionalidade dever permitir ao vendedor
cancelar o pedido, limpando todos os dados do pedido.
RF09 Finalizar pedido - essa funcionalidade dever permitir ao vendedor
finalizar o pedido, enviando-o base de dados central do sistema.

43

RN01 O preo do produto no pode ser alterado pelo vendedor.


RN02 O pedido s pode ser cancelado pelo vendedor se ainda no estiver
finalizado.

5.4.

REQUISITOS NO FUNCIONAIS

So apresentados neste item os requisitos no funcionais do prottipo


representados atravs das letras RNF seguido do nmero do requisito.
RNF01 O Aplicativo deve garantir a segurana das informaes.
RNF02 Custo de implantao baixo.
RNF03 Entrada mnima de dados.
RNF04 Aparncia simples.
RNF04 Independente se Sistema Operacional.

44

5.5.

SERVIDOR

O Servidor Web desenvolvido utiliza como base de implementao o padro


SOAP e trafega as mensagens XML sobre o protocolo HTTP. Para seu
desenvolvimento, foi utilizada a Interface de Desenvolvimento (IDE) NetBeans 6.9.
O ambiente de desenvolvimento foi composto por:

NetBeans IDE 6.9;

Servidor GlassFish 3;

Verso Java J2EE6;

Microsoft SQL Server 2008.

5.5.1. Diagrama de Classe

A Documentao de todos os diagramas de classe pode ser encontrada no


Apndice B.

45

5.5.2. ER Diagrama De Entidade Relacionamento

O Web Service, atravs das classes de entidade do banco de dados, acessa


o banco de dados SQL Server 2008 do ERP, o GesCooper. A figura 15 permite
visualizar a estrutura do banco de dados utilizada para o desenvolvimento do
prottipo.

Figura 15 - Diagrama de Entidade Relacionamento


Fonte: O autor.

Transacionadores: na tabela Transacionadores so armazenados todos os clientes


e fornecedores.
Produtos: na tabela Produtos so armazenados todos os produtos.
ProdutosLevel4: na tabela ProdutosLevel4 so armazenadas as tabelas de preo
do produto. onde uma tabela de preo referenciada ao produto.
PedVendas: na tabela PedVendas so armazenados os pedidos de vendas e
onde ser registrado o pedido atravs do prottipo desenvolvido neste trabalho.
PedVendasLevel1: na tabela PedVendasLevel1 so armazenados os produtos
referentes a um determinado pedido e onde sero registrados os itens do pedido
gerado atravs do prottipo desenvolvido neste trabalho.

46

CadUsuarios: na tabela CadUsuarios so armazenadas todas as informaes


referentes ao usurio. Essa tabela est ligada ao cadastro de transacionadores e
atravs dela possvel identificar o vendedor.

5.5.3. Criao do Web Service

Com os requisitos definidos, o passo seguinte foi desenvolver um Web


Service a fim de disponibilizar as funes necessrias para que os requisitos do
aplicativo mvel sejam atendidos.
Utilizando os recursos do Netbeans 6.9, foi possvel criar o Web Service com
as funes necessrias para a funcionalidade do prottipo, atravs dos recursos do
EJB e as annotations @WebService, @WebMethod e @WebParam.
A seguir, ser apresentada cada WSDL criada e os resultados de cada
operao disponvel, representada no arquivo WSDL pelo elemento <operation>.
A Figura 16 apresenta a WSDL CadUsuariosWs. Nela est implementado o
mtodo validarUsuario, o qual tem como parmetros de entrada o nome do usurio
e sua senha.

Figura 16 - WSDL Cadastro de Usurios


Fonte: O autor.

O resultado do mtodo validarUsuario executado a partir do navegador


apresentado atravs da Figura 17, onde se tm como resultado todas as
informaes referentes ao perfil do usurio, sendo que, para os vendedores, podese destacar a Tag <usuTraCod>, utilizada para reconhecer o cdigo do vendedor no
momento do login.

47

Figura 17 Resultado da execuo do mtodo validarUsuario


Fonte: O autor.

Figura

18

apresenta

WSDL

TransacionadoresWs.

Nela

est

implementado o mtodo listarTransacionadores.

Figura 18 - WDSL Transacionadores


Fonte: O autor.

O resultado do mtodo listarTransacionadores, executado a partir do


navegador, apresentado atravs da Figura 19, onde se tem como resultado uma
lista de transacionadores j cadastrados no sistema GesCooper.

48

Figura 19 Resultado da execuo do mtodo listarTransacionadores


Fonte: O autor

49

A Figura 20 apresenta a WSDL FormasWs.

Nela est implementado o

mtodo listarFormas.

Figura 20 - WSDL Formas


Fonte: O autor

O resultado do mtodo listarFormas, executado a partir do navegador,


apresentado atravs da Figura 21, onde se tem como resultado uma lista de formas
de pagamento j cadastradas no sistema GesCooper. A Tag <pagCod> representa o
cdigo da forma de pagamento e a Tag <pagNom> representa a descrio da forma
de pagamento.

Figura 21 Resultado da execuo do mtodo listarFormas


Fonte: O autor

50

A Figura 22 apresenta a WSDL ProdutosWs. Nela est implementado o


mtodo listarProdutos.

Figura 22 WSDL Produtos


Fonte: O autor

O resultado do mtodo listarProdutos, executado a partir do navegador,


apresentado atravs da Figura 23, onde se tem como resultado uma lista de
produtos disponveis para venda via dispositivo mvel.

Figura 23 Resultado da execuo do mtodo listrarProdutos


Fonte: O autor

51

A Figura 24 apresenta a WSDL ProdustosLevel4Ws. Nela est implementado


o mtodo listarProdutosLevel4, onde se tem como parmetros de entrada o cdigo
do produto.

Figura 24 WSDL ProdutosLevel4


Fonte: O autor

O resultado do mtodo listarProdutosLevel4, executado a partir do navegador,


apresentado atravs da Figura 25, onde se tem como resultado o valor do produto
solicitado atravs do parmetro de entrada. No caso da figura 25, o parmetro de
entrada foi o produto 62640. A Tag <proVlrPreco> representa o preo desse
produto.

Figura 25 - Resultado da execuo do mtodo listrarProdutoslevel4


Fonte: O autor

52

A Figura 26 apresenta a WSDL PedVendasWs. Nela est implementado o


mtodo gerPvdNumero, cuja finalidade retornar o cdigo para um novo pedido, e o
mtodo finalizar pedido, onde se tem como parmetros de entrada o cliente, a forma
de pagamento, o cdigo do vendedor, os produtos e suas quantidades.

Figura 26 WSDL PedVendas


Fonte: O autor

Todas as informaes necessrias para a formao do pedido podem ser


encontradas a partir das WSDL criadas e apresentadas anteriormente. Assim, com
os arquivos WDSL definidos, foi possvel iniciar o desenvolvimento do cliente. Com
os recursos do prprio NetBenas 6.9 foi possvel gerar as classes Stubs que so
responsveis pela comunicao do cliente e o servio baseado em WSDL.
No prximo item, apresenta-se o processo de desenvolvimento do aplicativo
cliente.

53

5.6.

CLIENTE

O desenvolvimento da MIDlet foi realizado utilizando a linguagem de


programao JAVA, especificamente o J2ME, pois sua portabilidade permite que o
aplicativo no seja dependente de um nico sistema operacional, sendo que, para
ele rodar o dispositivo mvel, precisa apenas ter suporte a aplicativos JAVA.
O prottipo foi testado durante o processo de desenvolvimento com um
emulador disponibilizado pelo prprio editor de cdigo utilizado no projeto, o
NetBeans 6.9, e tambm com o Smartphone da LG o P500h.
O ambiente de desenvolvimento foi composto por:

NetBeans IDE 6.9;

Tipo de Plataforma: CLDC/MIDP;

Plataforma do emulador: Java(TM) Platform Micro Edition SDK 3.0;

Dispositivo: DefaultFxTouchPhone1;

Configurao do dispositivo: CLDC 1.1;

Perfil do dispositivo: MIDP 2.1;

O Smartphone LG P500h permite executar aplicaes Java. Esse dispositivo


vem com o sistema operacional Android 2.2.1 e por isso necessrio converter os
arquivos Java Application Descriptor (JAD) e Java Archive (JAR) para Android
Pacote (APK), possibilitando, ento, que a MIDlet seja instalada no Smartphone,
conforme representado na Figura 27.

Figura 27 - Converter J2ME MIDP (JAD) para Android pacote (APK)


Fonte: O autor

Essa converso pode ser realizada atravs do site netmite.com atravs da


opo Converter J2ME MIDP (JAD) para Android pacote (APK), onde os arquivos
JAD e JAR sero convertiidos para um arquivo APK que ento ser reconhecido
pelo android como um arquivo vlido, permitindo a sua execuo.

54

5.6.1. Caso de Uso

O Diagrama de caso de uso apresentado a seguir, pela Figura 28, mostra a


interao entre o prottipo que ser disponibilizado no dispositivo mvel, ou seja, a
MIDlet e o vendedor.

Figura 28 - Diagrama de Caso de Uso


Fonte: O autor

A seguir so descritos detalhadamente cada um dos Casos de Uso


apresentados na Figura 28.
Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

Referncia

CSU001 Logar
Vendedor

Este caso de uso descreve as etapas percorridas pelo vendedor para


logar no aplicativo.
Ter um usurio cadastrado.
Aes do Ator
Aes do Sistema
1: O vendedor informa o
usurio a senha e depois
clica em Login.
2: O Sistema retorna o cdigo do
vendedor e abre a tela com a funo
Novo pedido.
RF01
Tabela 1 - Documentao do Caso de Uso CSU001

55

Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

Referncia

CSU002 Registrar Pedido


Vendedor

Esse caso de uso descreve as etapas percorridas pelo vendedor para


registrar um novo pedido.
Estar logado no aplicativo
Aes do Ator
Aes do Sistema
1: O vendedor seleciona a
opo Novo Pedido.
2: O sistema apresenta uma tela com
as opes, Cliente, Produto, Itens,
Cancelar e Finalizar.
3: CSU003
6: O sistema preenche o campo
cliente do pedido com os dados do
cliente selecionado.
7: CSU005
10: O sistema preenche o campo
forma do pedido com os dados da
forma selecionada
11: CSU004
14: O sistema apresenta uma tela
com o valor unitrio do produto e o
campo quantidade.
15: O vendedor informa a
quantidade
desejada
e
confirma.
16: O produto adicionado ao pedido
e o sistema apresenta o valor total do
pedido.
17: CSU007
18: O pedido enviado ao banco de
dados central do sistema onde ser
analisado por um responsvel.
RF02, RF03, RF04, RF05, RF06, RF07, RF08, RF09, RN01, RN02.
Tabela 2 - Documentao do Caso de Uso CSU002

56

Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

Referncia

CSU003 Selecionar Cliente


Vendedor

Esse caso de uso descreve as etapas percorridas pelo vendedor para


consultar um cliente.
Ter iniciado um Novo Pedido.
Aes do Ator
Aes do Sistema
1: O vendedor seleciona a
opo de consulta de cliente.
2: So listados os Clientes
cadastradas (Cdigo, Nome).
O vendedor clica sobre o
cliente desejado e depois
clica em Confirmar.
RF03

Tabela 3 - Documentao do Caso de Uso CSU003

Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

Referncia

CSU004 Selecionar Produto


Vendedor

Esse caso de uso descreve as etapas percorridas pelo vendedor para


consultar um produto.
Ter iniciado um Novo Pedido.
Aes do Ator
Aes do Sistema
1: Selecionar a opo de
consulta de produto.
2: So listados os Produtos
cadastradas (Cdigo, Nome).
O vendedor clica sobre o
produto desejado e depois
clica em Confirmar.
RF04.
Tabela 4 - Documentao do Caso de Uso CSU004

57

Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

CSU005 Selecionar forma de pagamento


Vendedor

Esse caso de uso descreve as etapas percorridas pelo vendedor para


consultar um produto.
Ter iniciado um Novo Pedido.
Aes do Sistema
Aes do Ator
1: O vendedor seleciona a
opo Menu\Forma.
2: So listadas as formas de pagamento
disponvel (Cdigo, Descrio).

Referncia

3: O vendedor clica sobre a


forma desejada e depois
clica em Confirmar.
RF05.
Tabela 5 - Documentao do Caso de Uso CSU005

Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

Referncia

CSU006 Cancelar Pedido


Vendedor

Esse caso de uso descreve as etapas percorridas pelo vendedor para


cancelar um pedido.
Ter iniciado um pedido.
Aes do Ator
Aes do Sistema
1: O vendedor seleciona a
opo Menu\Cancelar.
2: O pedido cancelado e o sistema
retorna a tela inicial.
RF06, RN02.
Tabela 6 - Documentao do Caso de Uso CSU006

58

Caso de Uso
Ator principal
Atores
secundrios
Resumo
Pr-Condies
Ps-Condies

Fluxo Base

Referncia

CSU007 Finalizar Pedido


Vendedor

Esse caso de uso descreve as etapas percorridas pelo vendedor para


finalizar o pedido.
Ter iniciado um pedido.
Aes do Ator
Aes do Sistema
1: O vendedor seleciona a
opo Menu\Finalizar.
2: O pedido enviado ao banco de
dados central, o sistema retorna uma
mensagem com o nmero do pedido.
RF09.
Tabela 7 - Documentao do Caso de Uso CSU007

5.6.2. Diagrama de classe

A Documentao de todos os diagramas de classe pode ser encontrada no


Apndice C.

59

5.6.3. Fluxo de execuo da MIDlet

Na Figura 29, apresentado o fluxo de execuo da implementao j


concluda da MIDlet, retirado do IDE NetBeans 6.9.

Figura 29 - Fluxo de execuo da MIDlet


Fonte: NetBeans 6.9 O autor.

Atravs da Figura 29 possvel visualizar que o prottipo foi composto por


uma tela de Splash, uma tela de Login, trs objetos do tipo formulrio, quatro objetos
to tipo List, dois objetos do tipo waitScreen e dois objetos do tipo Alert.
Atravs dos formulrios foi possvel solicitar a entrada de dados do usurio.
Com os objetos do tipo List foi possvel criar uma lista de dados em que o usurio
pode selecionar um determinado registro, utilizado no prottipo para listar os cliente,
formas de pagamento, produtos e itens do pedido. Em caso de demora com a
listagem de dados, foram utilizados os objetos do tipo waitScreen em que
apresentada uma imagem de espera para que o usurio no pense que o sistema
parou de funcionar. Em caso de erro de comunicao na listagem dos clientes ou
dos produtos, foram utilizados os objetos do tipo Alert para comunicar o problema ao
usurio atravs de uma mensagem de alerta.
A interao entre essas telas e os passos para sua utilizao apresentada
no item a seguir.

60

5.6.3.1. Demonstrao da execuo da MIDlet

A seguir, sero apresentadas as telas do prottipo desenvolvido neste projeto


e os passos para sua utilizao. Para a apresentao das telas, foi utilizado um
emulador disponibilizado pela ferramenta de desenvolvimento o NetBeans 6.9.
Ao iniciar a aplicao, apresentada uma tela de inicializao do aplicativo,
conforme apresentado na Figura 30.

Figura 30 Tela de inicializao do aplicativo


Fonte: O autor

Depois de inicializada a aplicao, apresentada ao vendedor uma tela de


login em que o vendedor informa o usurio e senha. Atravs da opo login o
aplicativo inicia a validao.

61

Figura 31 Tela de login do aplicativo


Fonte: O autor

Se o usurio e senha estiverem corretos, o sistema retorna o cdigo principal


do

vendedor,

ou

seja,

cdigo

que

corresponde

ao

cadastro

de

transacionador/cliente do vendedor vinculado ao cadastro de usurio. Na tela inicial,


conforme Figura 32, tm-se as opes Novo Pedido e Sair. A opo sair faz com
que o aplicativo seja finalizado, e a opo Novo Pedido permite que seja realizado
um novo pedido.

Figura 32 Tela de inicio do aplicativo


Fonte: O autor

62

Selecionando a opo Novo Pedido um novo pedido ser iniciado, conforme


apresentado na Figura 33. Atravs do Menu, tm-se as opes, Cliente, Forma,
Produto, Itens, Cancelar e Finalizar.

Figura 33 Tela inicial do pedido


Fonte: O autor

Selecionando a opo Menu\Cliente ser apresentada uma lista de clientes.


Tem-se disponvel a opo voltar, em que o vendedor pode Voltar tela inicial do
pedido e a opo Confirmar que ir incluir o cliente selecionado ao pedido, conforme
apresentado na Figura 34.

Figura 34 Tela de consulta dos clientes


Fonte: O autor

63

Selecionando Menu\Forma ser apresentada uma lista de formas de


pagamento. Tem-se disponvel a opo voltar, em que o vendedor pode Voltar tela
inicial do pedido e a opo Confirmar que ir incluir a forma de pagamento
selecionada ao pedido, conforme apresentado na Figura 35.

Figura 35 Tela de consulta das formas de pagamento


Fonte: O autor

Selecionando Menu\Produto ser apresentada uma lista de produtos. Tem-se


disponvel a opo voltar, em que o vendedor pode Voltar tela inicial do pedido e a
opo Confirmar. Quando um produto selecionado e a opo Confirmar
executada, o aplicativo abre uma tela com o preo do produto selecionado onde o
vendedor informa a quantidade desejada, conforme apresentado na Figura 36.

64

Figura 36 Tela de consulta dos produtos


Fonte: O autor

Aps informar a quantidade, selecionando a opo Menu\Incluir, o produto


adicionado aos itens do pedido. Tem-se, ento, disponvel a opo Produto que
permite que mais produtos sejam adicionados ao pedido e Confirmar, que ir
totalizar o pedido, conforme apresentado na Figura 37.

Figura 37 Tela de consulta dos itens do pedido


Fonte: O autor

Com os itens j adicionados ao pedido possvel finalizar e enviar o pedido


atravs da opo Menu\Finalizar. Essa opo ir finalizar o pedido, enviando-o
base de dados do ERP. Assim que o pedido enviado, uma mensagem gerada na

65

tela, atravs de um alerta, mostrando o nmero do pedido gerado, conforme Figura


38. O nmero do pedido gerado no exemplo o 8336.

Figura 38 Tela de confirmao do envio do pedido


Fonte: O autor

Aps a finalizao do pedido possvel consult-lo atravs do GesCooper,


conforme se mostra na Figura 39.

Figura 39 Tela do pedido do ERP GesCooper


Fonte: Infogen Sistemas ERP GesCooper

CONCLUSO

Com este trabalho foi possvel analisar a evoluo dos dispositivos mveis
bem

como

tecnologia

Java

Micro

Edition

(J2ME),

disponvel

para

desenvolvimento de aplicativos para esses dispositivos e os benefcios que essa


tecnologia pode trazer, quando integrada ao Enterprise Resource Planning (ERP) da
empresa.
Conclui-se que, utilizando dispositivos mveis com informaes atualizadas,
possvel melhorar os processos das empresas. O prottipo desenvolvido neste
trabalho comprovou que possvel utilizar J2ME para desenvolver o aplicativo e
Web Service para integrar ao Sistema de Gesto das empresas.
Para trabalhos futuros, durante o desenvolvimento do prottipo, surgiu a idia
de implementar o armazenamento dos dados, como consulta de clientes, formas de
pagamento e produtos no prprio dispositivo, permitindo que o aplicativo possa
trabalhar sem conexo com a internet, outros estudos podero ser realizados a fim
de implementar as telas, utilizando o Canvas, que permite criar telas mais
apresentveis ao usurio.
O trabalho atendeu os seus objetivos, apesar de simples, o prottipo
apresentado nesse trabalho pode atender as funcionalidades bsicas para a
formulao de um pedido.

REFERNCIAS
AHMED, Khawar Zaman; UMRYSH, Cary E. Desenvolvendo aplicaes
comerciais em Java com J2EE e UML. Rio de Janeiro: Editora Cincia Moderna
Ltda, 2002. 302 p.

APACHE TOMCAT, Disponvel em: http://tomcat.apache.org/. Acesso em:


25/09/2010.

ARAUJO, Fbio Bicalho de. Desenvolvimento de Software para Dispositivos


Mveis. Disponvel em:
http://www.pucrio.br/pibic/relatorio_resumo2006/relatorio/CTC/Cetuc/F%E1bio%20Bi
calho%20de%20Araujo.pdf . Acesso em 19/09/2010.

CASTELO, Marcelo. 24h Online - A popularizao dos smartphones est


chegando, 21 Janeiro 2010. Disponvel em:
http://www.mobilepedia.com.br/artigos/24h-online-a-popularizacao-dos-smartphonesesta-chegando. Acessado em: 26/09/2010.

CASTRO, Elizabeth, 2001. XML para World Wide Web. Rio de Janeiro: Editora
Campus, 2001. 269 p.

CAVALCANTI, Vitor, 2009. Smartphones: o que ser do futuro?. Disponvel em:


http://www.itweb.com.br/noticias/index.asp?cod=58677. Acesso em 11/09/2010.

DEITEL, H. M; DEITEL, P. J.. Java Como Programar. 3. Ed. Porto Alegre:


Bookman, 2001. 1201 p.

FIORESI, Cristiano. Conceitos bsicos das plataformas Java e J2ME, 2007.


Disponvel em:
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=6484. Acesso em
12/09/2010.

GOMES, Daniel Andorno. Web Services SOAP em Java: Guia prtico para o
desenvolvimento de web service em Java. 1. Ed. So Paulo: novatec, 2010. 183
p.

GOMES, Lucas de Souza Reis. Desenvolvimento de Aplicaes de Dispositivos


Mveis com J2ME e Integrao com Web Service. 2005. Trabalho de concluso
de curso (Bacharelado em Sistemas de Informao) Universidade Federal de
Santa Catarina, UFSC. Florianpolis SC.

GUEDES, Gilleanes T. A.. UML Uma Abordagem Prtica. So Paulo: Novatec,


2006. 336p.

INFOGEN SISTEMAS. Conhea-nos. Disponvel em: http://www.infogen.inf.br.


Acesso em: 25/09/2010.

LEE, Valentino; SCHNEIDER, Heather; SCHELL, Robbie. Aplicaes mveis:


Arquitetura projeto e desenvolvimento. So Paulo: Pearson Education do Brasil,
2005. 328 p.

MAGALHES, Leito; MARGALHO, Nelson Antonio. Comparao de ferramentas


para implementao de Web Service. 2007. Trabalho de concluso de curso
(Bacharelado em Cincia da Computao na rea de Engenharia de Software) Universidade da Amaznia, UNAMA. Belm PA.

MUCHOW, John W. Core J2ME Tecnologia e MIDP. So Paulo: Pearson Makron


Books, 2004. 600 p.

NIEMEYER, Patrick; KNUDSEN, Jonathan. Aprendendo Java 2 sdk. Rio de


Janeiro: Campus, 2000. 700 p.

NORRIS, Grant; HURLEY R, James; HARTLEY M, Kenneth; DUNLEAVY R, John;


BALLS D, John. E-Business e ERP: Transformando as organizaes. Rio de
Janeiro: Qualitymark, 2001. 193 p.

OLIVEIRA, Jayr Figueiredo de. Sistemas de Informao: Um enfoque Gerencial


Inserido no Contexto Empresarial e Tecnolgico. So Paulo: rica, 2000. 300p.

REVISTA DE CIENCIAS EMPRESARIAIS. Maring Management, v. 2, n.1, p. 7-19,


jan. /jun. 2005.

ROESCH, Sylvia Maria Azevedo. Sistemas Projeto de estgio e de pesquisa em


administrao: Guia para Estgios, Trabalhos de Concluso, Dissertaes e
Estudos de caso. So Paulo: Atlas, 2009. 300p.

PELEGRI, Eduardo; YOSHIDA, Yutaka; MOUSSINE, Alxis, 2007. The GlassFish


Community:

Delivering

Java

EE

Application

Server.

Disponvel

em

https://glassfish.dev.java.net/faq/v2/GlassFishOverview.pdf.

SIERRA, Kathy; BATES, Bert. Use a Cabea! Java. 2. Ed. Rio de Janeiro: Alta
Books, 2010. 484 p.

SOUZA, Adilson Silveira de. Utilizao de Tecnologia J2ME para


Desenvolvimento de Sistemas de M-Banking. 2008. Trabalho de concluso como
requisito parcial para a obteno do grau de Especialista Universidade Federal do
Rio Grande do Sul, UFRGS. Porto Alegra RS.

STREIBEL, Martin, 2005. Implementando Web Service. Disponvel em:


http://palazzo.pro.br/artigos/martin.htm. Acesso em 12/09/2010.
KALIN, Martin. Java Web Services: Implementando. Rio de Janeiro: Alta Books,
2010. 312 p.

APNDICES

71

APNDICE A Questionrio
Razo social da empresa:
E-mail:
1. Sua empresa possui vendedores externos? *
( ) Sim

( ) No

2. Seus vendedores externos tm dificuldade de enviar os pedidos de seus


clientes?*
( ) Sim

( ) No

3. Quantos vendedores sua empresa possui? (aproximadamente)

4. A sua empresa j possui um software que permita enviar os pedidos de seus


representantes?* (Utilizando, Palm, Celulares, SmartPhone ou outro dispositivo
porttil)
( ) Sim

( ) No

5. Qual o software que sua empresa possui? (Se voc respondeu sim para a
questo 4)

6. Sua empresa tem interesse nesse tipo de software?*


( ) Sim

( ) No

72

APNDICE B Diagrama de classe Web Service

class Class WS CadUsuarios


Serializable

interface

CadusuariosFacade

Cadusuarios

CadusuariosFacadeLocal

serialVersionUID: long = 1L {readOnly}


usuCod: String
empCod: Short
usuFilCod: Short
usuTraCod: Integer
usuSenha: String
usuEmail: String
usuConCod: String
usuHisPreCod: Integer

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Cadusuarios()
Cadusuarios(String)
getUsuCod() : String
setUsuCod(String) : void
getEmpCod() : Short
setEmpCod(Short) : void
getUsuFilCod() : Short
setUsuFilCod(Short) : void
getUsuTraCod() : Integer
setUsuTraCod(Integer) : void
getUsuSenha() : String
setUsuSenha(String) : void
getUsuEmail() : String
setUsuEmail(String) : void
getUsuConCod() : String
setUsuConCod(String) : void
getUsuHisPreCod() : Integer
setUsuHisPreCod(Integer) : void
setUsuWorkstation(String) : void
hashCode() : int
equals(Object) : boolean
toString() : String

em: EntityManager

validarUsuario(String, String) : List<Cadusuarios>

interface
CadusuariosFacadeRemote
+

validarUsuario(String, String) : List<Cadusuarios>

cadusuariosFacadeBean

CadusuariosWs
-

cadusuariosFacadeBean: CadusuariosFacadeRemote

validarUsuario(String, String) : List<Cadusuarios>

class Class WS Formas


Serializable

FormasFacade

Formas
-

serialVersionUID: long = 1L {readOnly}


pagCod: Short
pagNom: String

+
+
+
+
+
+
+
+
+

Formas()
Formas(Short)
getPagCod() : Short
setPagCod(Short) : void
getPagNom() : String
setPagNom(String) : void
hashCode() : int
equals(Object) : boolean
toString() : String

em: EntityManager

listarFormas() : List<Formas>

interface
FormasFacadeLocal

interface
FormasWs
-

formasFaceBean: FormasFacadeRemote

listarFormas() : List<Formas>

formasFaceBean

FormasFacadeRemote
+

listarFormas() : List<Formas>

73

APNDICE B Diagrama de classe Web Service (Cont.)

class Class WS Transacionadores


Serializable

serialVersionUID: long = 1L {readOnly}


traCod: Integer
traNom: String
traEnd: String
traNumEnd: String
traBairro: String
traPaiCod: String
traEstCod: String
traMunCod: Integer
traFone: String
traEmail: String
traCpf: String
traCnpj: String

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Transacionadores()
Transacionadores(Integer)
getTraCod() : Integer
setTraCod(Integer) : void
getTraNom() : String
setTraNom(String) : void
getTraEnd() : String
setTraEnd(String) : void
getTraNumEnd() : String
setTraNumEnd(String) : void
getTraBairro() : String
setTraBairro(String) : void
getTraPaiCod() : String
setTraPaiCod(String) : void
getTraEstCod() : String
setTraEstCod(String) : void
getTraMunCod() : Integer
setTraMunCod(Integer) : void
getTraFone() : String
setTraFone(String) : void
getTraEmail() : String
setTraEmail(String) : void
getTraCpf() : String
setTraCpf(String) : void
getTraCnpj() : String
setTraCnpj(String) : void
hashCode() : int
equals(Object) : boolean
toString() : String

interface

TransacionadoresFacade

Transacionadores

TransacionadoresFacadeLocal

em: EntityManager

listarTransacionadores() : List<Transacionadores>

interface
TransacionadoresFacadeRemote
+

listarTransacionadores() : List<Transacionadores>

transacionadoresFaceBean

TransacionadoresWs
-

transacionadoresFaceBean: TransacionadoresFacadeRemote

listarTransacionadores() : List<Transacionadores>

74

APNDICE B Diagrama de classe Web Service (Cont.)

class Class WS Produtos


Serializable

interface

ProdutosFacade

Produtos

ProdutosFacadeLocal

serialVersionUID: long = 1L {readOnly}


proCod: Integer
proNom: String
proFamCod: Integer
proGrpCod: Integer
proSubCod: Integer
proNomRed: String
proNomEmbCompra: String
proFlag16: Short

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Produtos()
Produtos(Integer)
getProCod() : Integer
setProCod(Integer) : void
getProNom() : String
setProNom(String) : void
getProFamCod() : Integer
setProFamCod(Integer) : void
getProGrpCod() : Integer
setProGrpCod(Integer) : void
getProSubCod() : Integer
setProSubCod(Integer) : void
getProNomRed() : String
setProNomRed(String) : void
getProNomEmbCompra() : String
setProNomEmbCompra(String) : void
getProFlag16() : Short
setProFlag16(Short) : void
hashCode() : int
equals(Object) : boolean
toString() : String

em: EntityManager

listarProdutos() : List<Produtos>

interface
ProdutosFacadeRemote
+

listarProdutos() : List<Produtos>

produtoFaceBean

ProdutosWs
-

produtoFaceBean: ProdutosFacadeRemote

listarProdutos() : List<Produtos>

class Class WS ProdutosLev el4


Serializable

#
-

serialVersionUID: long = 1L {readOnly}


produtoslevel4PK: Produtoslevel4PK
proVlrPreco: double

+
+
+
+
+
+
+
+
+
+

Produtoslevel4()
Produtoslevel4(Produtoslevel4PK)
Produtoslevel4(int, int)
getProdutoslevel4PK() : Produtoslevel4PK
setProdutoslevel4PK(Produtoslevel4PK) : void
getProVlrPreco() : double
setProVlrPreco(double) : void
hashCode() : int
equals(Object) : boolean
toString() : String

interface

Produtoslev el4Facade

Produtoslev el4

Produtoslevel4FacadeLocal

em: EntityManager

listarProdutoslevel4(Integer) : List<Produtoslevel4>

interface
Produtoslevel4FacadeRemote
Serializable

Produtoslev el4PK
-

+
+
+
+
#produtoslevel4PK +
+
+
+
+

listarProdutoslevel4(Integer) : List<Produtoslevel4>

proCod: int
proCodPreco: int
Produtoslevel4PK()
Produtoslevel4PK(int, int)
getProCod() : int
setProCod(int) : void
getProCodPreco() : int
setProCodPreco(int) : void
hashCode() : int
equals(Object) : boolean
toString() : String

produtolevel4FaceBean

Produtoslev el4Ws
-

produtolevel4FaceBean: Produtoslevel4FacadeRemote

listarProdutoslevel4(Integer) : List<Produtoslevel4>

75

APNDICE B Diagrama de classe Web Service (Cont.)

class Class WS PedVendas


Serializable
interface

Pedv endas
#
-

serialVersionUID: long = 1L {readOnly}


pedvendasPK: PedvendasPK
pvdDatEmi: Date
pvdTraCod: Integer
pvdVenCod: Integer
pvdObs: String
pvdSituacao: Short
pvdPagCod: Short

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Pedvendas()
Pedvendas(PedvendasPK)
Pedvendas(short, int)
getPedvendasPK() : PedvendasPK
setPedvendasPK(PedvendasPK) : void
getPvdDatEmi() : Date
setPvdDatEmi(Date) : void
getPvdT raCod() : Integer
setPvdTraCod(Integer) : void
getPvdVenCod() : Integer
setPvdVenCod(Integer) : void
getPvdObs() : String
setPvdObs(String) : void
getPvdSituacao() : Short
setPvdSituacao(Short) : void
getPvdPagCod() : Short
setPvdPagCod(Short) : void
hashCode() : int
equals(Object) : boolean
toString() : String

PedvendasFacadeLocal

Pedv endasFacade
-

em: EntityManager

+
+

finalizarPedido(int, int, String, int, int, int) : int


gerarPvdNumero() : int

interface
PedvendasFacadeRemote
+
+

finalizarPedido(int, int, String, int, int, int) : int


gerarPvdNumero() : int

Serializable
-pedvendas

Pedv endasPK
#pedvendasPK +
+
+
+
+
+
+
+
+

pvdFilCod: short
pvdNumero: int
Pedv endasWs

PedvendasPK()
PedvendasPK(short, int)
getPvdFilCod() : short
setPvdFilCod(short) : void
getPvdNumero() : int
setPvdNumero(int) : void
hashCode() : int
equals(Object) : boolean
toString() : String

pedvendas: PedvendasFacadeRemote

+
+

finalizarPedido(int, int, String, int, int, int) : int


gerPvdNumero() : int

class Class WS PedVendasLev el1


Serializable

#
-

serialVersionUID: long = 1L {readOnly}


pedvendaslevel1PK: Pedvendaslevel1PK
pvdProBar: Long
pvdProCod: Integer
pvdProNom: String
pvdProUnd: String
pvdProQtd: double
pvdProQtdDev: double
pvdProVlr: double
pvdProPesBrt: double
pvdProPesLiq: double
pvdProMovFilCod: Short

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Pedvendaslevel1()
Pedvendaslevel1(Pedvendaslevel1PK)
Pedvendaslevel1(short, int, int)
getPedvendaslevel1PK() : Pedvendaslevel1PK
setPedvendaslevel1PK(Pedvendaslevel1PK) : void
getPvdProBar() : Long
setPvdProBar(Long) : void
getPvdProCod() : Integer
setPvdProCod(Integer) : void
getPvdProNom() : String
setPvdProNom(String) : void
getPvdProUnd() : String
setPvdProUnd(String) : void
getPvdProQtd() : double
setPvdProQtd(double) : void
getPvdProQtdDev() : double
setPvdProQtdDev(double) : void
getPvdProVlr() : double
setPvdProVlr(double) : void
getPvdProPesBrt() : double
setPvdProPesBrt(double) : void
getPvdProPesLiq() : double
setPvdProPesLiq(double) : void
getPvdProMovFilCod() : Short
setPvdProMovFilCod(Short) : void
hashCode() : int
equals(Object) : boolean
toString() : String

interface

Pedv endaslev el1Facade

Pedv endaslev el1

Pedvendaslevel1FacadeLocal
-

em: EntityManager

incluirItem(int, int, int, int, String, double, double) : void

interface
Pedvendaslevel1FacadeRemote
+

incluirItem(int, int, int, int, java.lang.String, double, double) : void

pedvendaslevel1
Pedv endaslev el1Ws
-

pedvendaslevel1: Pedvendaslevel1FacadeRemote

incluirItem(int, int, int, int, String, double, double) : void


Serializable

Pedv endaslev el1PK


#pedvendaslevel1PK +
+
+
+
+
+
+
+
+
+
+

pvdFilCod: short
pvdNumero: int
pvdIteSeq: int
Pedvendaslevel1PK()
Pedvendaslevel1PK(short, int, int)
getPvdFilCod() : short
setPvdFilCod(short) : void
getPvdNumero() : int
setPvdNumero(int) : void
getPvdIteSeq() : int
setPvdIteSeq(int) : void
hashCode() : int
equals(Object) : boolean
toString() : String

76

APENDICE C Diagrama de classe MIDlet


class MIDlet

MIDlet
CommandListener
GesMobile
+
+
+
-

midletPaused: boolean = false


rsPedidoItem: RecordStore
dataPedido: String
pvdNumero: int
usuFilCod: Short
usuTraCod: Integer
rePedidoItem: RecordEnumeration
strUsuTraCod: StringItem
strPagNom: StringItem
strPvdTraNom: StringItem
strPvdVlrTot: StringItem
strPvdTracod: StringItem
strPagCod: StringItem
strDataPedido: StringItem
strItemCodigo: StringItem
strItemNome: StringItem
txtItemQtd: TextField
strProVlrPreco: StringItem
cmdConfirmaForma: Command
cmdVoltarForma: Command
cmdFormas: Command
cmdSair: Command
cmdPedido: Command
cmdVoltar: Command
cmdVoltarPrincipal: Command
cmdConfirmar: Command
cmdConsultarCliente: Command
cmdVoltarPedido1: Command
cmdFinalizarPedido: Command
cmdVoltarPedido2: Command
cmdIncluirItem: Command
cmdSair1: Command
cmdPedidoItemConfirmar: Command
cmdPedidoItemIncluir: Command
cmdPedidoItem: Command
cmdListarTodos: Command
cmdConfirmarItens: Command
cmdIncluirMaisItens: Command
cmdVoltarPedido: Command
cmdListarDescricao: Command
cmdPedidoCancelar: Command

+
+
+
+
+
+
+
+
+
+
+
+
+

initialize() : void
startMIDlet() : void
resumeMIDlet() : void
exitMIDlet() : void
startApp() : void
pauseApp() : void
destroyApp(boolean) : void
listarPedidoItem() : void
limparPedido() : void
openRs() : void
deleteRs() : void
listClienteAction() : void
listFormaAction() : void
listProdutoAction() : void
listRsPedidoItemAction() : void

Thread
GesMobile::
ConectionThreadLogin
+

run() : void
Thread

GesMobile::
ConectionThreadTransacionadores
+

run() : void
Thread

GesMobile::
ConectionThreadFormas
+

run() : void
Thread

GesMobile::
ConectionThreadProduto
+

run() : void
Thread

GesMobile::
ConectionThreadProdutolev el4
+

run() : void
Thread

GesMobile::
ConectionThreadFinalizarPedido
+

run() : void

S-ar putea să vă placă și