desenvolvimento aplicacoesdispositivosmoveis

80
Desenvolvimento de aplicações para dispositivos móveis FAGOC – 10 de Outubro de 2008 Juarez Junior – Mobile Software Expert [email protected]

Upload: juarez-junior

Post on 30-Jun-2015

243 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Desenvolvimento aplicacoesdispositivosmoveis

Desenvolvimento de aplicações para dispositivos móveis

FAGOC – 10 de Outubro de 2008

Juarez Junior – Mobile Software Expert

[email protected]

Page 2: Desenvolvimento aplicacoesdispositivosmoveis

Palestrante• Juarez Alvares Barbosa Junior

– SCMAD - Sun Certified Mobile Application Developer– ForumNOKIA Poster of The Month – Abril de 2006– SCAJ/SCPJ2/SCWCD/SCBCD e SCEA I– ForumNOKIA Champion 2006, 2007, 2008, 2009– Accredited Symbian Developer

Page 3: Desenvolvimento aplicacoesdispositivosmoveis

Agenda• Mobilidade• Convergência• Plataformas Mobile• Symbian Platform• BREW• JME• Plataformas Nokia• Ferramentas de Desenvolvimento Nokia• Outras ferramentas• Tendências / Novidades

Page 4: Desenvolvimento aplicacoesdispositivosmoveis

Mobilidade• 3 objetos importantes (top of mind)

– Carteira– Chaves– Celular

Page 5: Desenvolvimento aplicacoesdispositivosmoveis

Convergência• Tudo-em-um (All-in-one)

– Câmera Fotográfica (3.2 GSM, 7.0 WCDMA)– MP3 Player– Telefone– Rádio FM / Mobile TV (DVB-H)– Navegador Web– Email– Mensagens SMS– Organizador– Conectividade

Page 6: Desenvolvimento aplicacoesdispositivosmoveis

Plataformas Mobile• Symbian Platform – S60 / UIQ / OMAP – Symbian C++

– http://www.symbian.com/– http://www.s60.com/life– http://www.uiq.com/

• Qualcomm BREW – C, C++, (Java?)– http://brew.qualcomm.com/brew/en/

• Microsoft Windows Mobile - .NET Mobile– http://www.microsoft.com/windowsmobile/default.mspx

• NTT FOMA – JME – iAppli, iMode, DoJA– http://www.doja-developer.net/

Page 7: Desenvolvimento aplicacoesdispositivosmoveis

Plataformas Mobile• RIM BlackBerry – JME

– http://www.blackberry.com/developers/index.shtml

• PalmOS – JME– http://www.vikdavid.com/mobile/

• (Vendor) Mobile Linux, OSDL, Maemo, LiMo – C, C++– http://www.osdl.org/lab_activities/mobile_linux

• Sun JME – Java Platform– http://java.sun.com/javame/

Page 8: Desenvolvimento aplicacoesdispositivosmoveis

Plataformas Mobile• Android (Google) / Open Handset Alliance

– http://code.google.com/android/index.html

• iPhone (Apple)– http://developer.apple.com/iphone/index.action

• Symbian Foundation– http://www.symbianfoundation.org/

Page 9: Desenvolvimento aplicacoesdispositivosmoveis

Plataforma Symbian• Plataforma Symbian - Symbian OS, Symbian C++,

cadeia de ferramentas• Symbian OS - otimizado para dispositivos móveis• Symbian C++: linguagem C++ específica - Open API• UI Frameworks – S60, S80, UIQ• Symbian e S60

– http://www.symbian.com/– http://www.s60.com/life

Page 10: Desenvolvimento aplicacoesdispositivosmoveis

Symbian OS - Pearl• SmartPhones

– Keypad– Display médio – QVGA– Walkman, Camera– Rádio FM

Page 11: Desenvolvimento aplicacoesdispositivosmoveis

Symbian OS - Crystal• Enterprise Class

– Teclado QWERTY– Display grande– WLAN, Bluetooth

Page 12: Desenvolvimento aplicacoesdispositivosmoveis

Symbian OS - Quartz• Tablets, Touch-pads

– Touch-screen– Geralmente sem teclado– Display médio – QVGA– Symbian Series 90

Page 13: Desenvolvimento aplicacoesdispositivosmoveis

Plataforma Symbian - Ferramentas• Carbide.C++ Express (FREE)

– http://forum.nokia.com/main/0,6566,034-1001,00.html

• Metrowerks CodeWarrior• Visual C++• Borland C++ Builder Mobile Edition

Page 14: Desenvolvimento aplicacoesdispositivosmoveis

BREW• BREW: Binary Runtime Environment for Wireless• Tecnologia e Modelo de Negócio da Qualcomm

(CDMA)• Linguagens C, C++ e Java• Desenvolvimento apenas para celulares

– Geralmente com linguagem C++– No Brasil – VIVO - CDMA

Page 15: Desenvolvimento aplicacoesdispositivosmoveis

BREW• VIVO - Celulares de vários fabricantes, mas o

suporte Java é limitado

Page 16: Desenvolvimento aplicacoesdispositivosmoveis

BREW• VIVO - Celulares de vários fabricantes, mas o

suporte Java é limitado

Page 17: Desenvolvimento aplicacoesdispositivosmoveis

Android• Google – Muito interessante mas de certa forma um

“Java ME” proprietário representa maior fragmentação da base de hardware instalada e maior desafio para o desenvolvedor

• Open Handset Alliance• T-Mobile G1 (HTC) - http://www.t-mobileg1.com/• Mais devices entrando no mercado – Motorola, HTC,

LG, outros)

Page 18: Desenvolvimento aplicacoesdispositivosmoveis

Android

• T-Mobile G1

Page 19: Desenvolvimento aplicacoesdispositivosmoveis

iPhone (Apple)• Processo de obtenção do SDK é burocrático e

empresa deve ser elegível• Amadurecendo, ainda limitado se comparado com

outras plataformas• iPhone 3G - http://www.apple.com/br/iphone/• Único fabricante de aparelhos é a Apple• Dev Center -

http://developer.apple.com/iphone/index.action

Page 20: Desenvolvimento aplicacoesdispositivosmoveis

iPhone (Apple)

Page 21: Desenvolvimento aplicacoesdispositivosmoveis

JME – Histórico inicial• 1999

– Junho - Release da versão EA da KVM para PalmOS durante o JavaOne

• 2000– Maio - CLDC 1.0 (JSR 30) spec e RI liberadas incluindo a KVM – • Junho - MIDP 1.0 (JSR 37) liberada para public review,

implementação EA 1– • Verão - LG Telecom executa o primeiro deploy J2ME no mundo

(Korea)– • Setembro - Spec MIDP 1.0, RI liberada, proposta para a Java

APIs for Bluetooth (JSR 82)– • Novembro – Nokia anuncia primeiro handset com Java, o

Nokia 9210 (PersonalJava+JavaPhone API built-in, MIDP como add-on)

Page 22: Desenvolvimento aplicacoesdispositivosmoveis

JME – Histórico inicial• 2001

– • Janeiro - NTT DoCoMo disponibiliza o iAppli (baseado no CLDC) no Japão

– • Fevereiro - CLDC RI 1.0.2 liberada (melhorias KVM);– • Abril - MIDP 2.0 (JSR 118) e Wireless Messaging API (JSR 120)– propostas– • Maio – Nextel é a primeira operadora a disponibilzar o J2ME

(com MIDP) nos EUA– • Junho - Mobile Media API 1.0 (JSR 135) proposta– • Julho - CLDC 1.1 (JSR 139) proposta– • Novembro – Primeiro telefone Nokia Series 60 anunciado, o

Nokia 7650

Page 23: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• JME – Java Micro Edition

– Plataforma de desenvolvimento de aplicações Java para dispositivos móveis, wireless, micro-dispositivos, embedded devices

– MID – Mobile Information Device - MIDlets– IM – Information Module - IMlets– MIDlets – aplicações que executam nos MIDs– IMlets – aplicações que executam nos IMs– http://java.sun.com/javame/

Page 24: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Sistemas Operacionais

– Vendor OS – Nokia OS, Motorola OS, SavaJe OS (LG)– Symbian OS (Java ME, S60, UIQ) – Open APIs– Linux, OSDL Mobile Linux (TODO) – closed APIs

• Java VMs– Kilobyte Virtual Machine– CLDC HI - Hotspot Implementation– SavaJe CDC JVM (Swing – JSR-209 - Advanced

Graphics and UI Opt Pack for JME), CDC JVMs (AWT, eSWT)

Page 25: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Configurations

– Configuração mínima englobando classes, características da JVM, conectividade e GUI, conforme categoria do dispositivo

– CDC – Connected Device Configuration– CLDC – Connected Limited Device Configuration

• Profiles– No topo das configurações, APIs específicas conforme

perfil de uma categoria de dispositivos– MIDP - Mobile Information Device Profile– IMP - Information Module Profile

Page 26: Desenvolvimento aplicacoesdispositivosmoveis

Arquitetura JME – Software Stack• Configurations, Profiles, Optional Packs, OEM

APIs (específicas do fabricante), APIs nativas (podem ser open, dependendo do SO)

Page 27: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Optional Packages

– Pacotes de extensão provendo APIs específicas endereçando vários aspectos – pode ter várias APIS e implementar todas ou algumas

• Segurança, JavaCard• WebServices• SIP – Session Initiation Protocol• Bluetooth• MMS – Multimedia Messaging System• SMS – Short Messaging System• 3D – Mobile 3D API• PIM• FileConnection (filesystems)• Sensors• I18N - Internationalization

Page 28: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Configurations, Profiles, Opt Packs, seus MIDlets

– Configuração mínima englobando classes, características da JVM, conectividade e GUI, conforme categoria do dispositiv

• Nokia OS ou Symbian OS• CLDC 1.0 ou 1.1• MIDP 2.0• JSR-75, JSR-82, JSR-135, JSR-179• JSR-180, etc.• MIDlets do desenvolvedor

Page 29: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• JME Software Stack

– Configurations: CLDC 1.0, 1.1, CDC 1.0, CDC 1.1– Profiles: MIDP 1.0, MIDP 1.1, IMP 1.0, IMP-NG, FP,

PP, PBP– Optional Packs: Bluetooth (JSR-82), MMAPI (JSR-

135), WMA (JSRS 120 e 205), WebServices (JSR-172), 3D-M3G (JSR-184), PIM and FileConnection (JSR-75), Location API (JSR-179), Mobile Internationalization API (JSR-238), SIP API for JME (JSR-180), SATSA (JSR-177), S2DVG (JSR-226), AMMS (JSR-234), MIA (JSR-238), outros

– JTWI (JSR-185), MSA for CLDC (JSR-248)

Page 30: Desenvolvimento aplicacoesdispositivosmoveis

MSA – JSR-248 e 249• MSA – Mobile Service Architecture

– JSR-248 - Mobile Service Architecture for CLDC– JSR-249 - Mobile Service Architecture Advanced– JSR-232 - Mobile Operational Management– Loadable APIs – Middleware for JME– Advanced Core APIs– eSWT– On-Device Debugging– FP 1.1

Page 31: Desenvolvimento aplicacoesdispositivosmoveis
Page 32: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDlet Suites

– JAR (Java Application Archive) e JAD (Java Application Descriptor)

– O MIDlet suite engloba:• MIDlets, classes secundárias• Recursos (imagens, icones, sons, arquivos• Arquivo manifest.MF• Arquivo JAD com informações para o AMS / JAM

Page 33: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDlet Suites – processo desenvolvimento

Page 34: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Ciclo de vida básico de um MIDlet

Page 35: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Sequência de eventos

Page 36: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• HelloMIDlet

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet {

// The display for this MIDletprivate Display display;// TextBox to display textTextBox box = null;

public HelloMIDlet () {}

public void startApp() throws MIDletStateChangeException {display = Display.getDisplay(this);box = new TextBox("MGJUG 2006", "Olá MGJUG!", 20, 0);display.setCurrent(box);}

Page 37: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• HelloMIDlet

/*** Pause is a no-op since there are no background activities or* record stores that need to be closed.*/public void pauseApp() {}

/*** Destroy must cleanup everything not handled by the garbage collector.* In this case there is nothing to cleanup.*/public void destroyApp(boolean unconditional) throws MIDletStateChangeException {}}

Page 38: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• HelloMIDlet

Page 39: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• Ciclo de vida modificado - PushRegistry

Page 40: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• JTWI (JSR-185) – Java Technology for The

Wireless Industry– Melhorar a compatibilidade, interoperabilidade e

esclarecer pontos obscuros de algumas JSRs– Obrigatórias: MIDP 2.0 e WMA 1.1– Opcionais: MMAPI 1.1– Configurations: CLDC 1.0 mínimo, CLDC 1.1

Page 41: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• JTWI (JSR-185) – Java Technology for The

Wireless Industry

Page 42: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• CLDC 1.0 (JSR-30)

– Subconjunto do núcleo do J2SE 1.3.1, tipos de dados, coleções, I/O– Conjunto limitado de exceções– Sem custom classloader– Sem thread groups, sem daemon threads– Sem finalização– Sem reflexão– Sem JNI– Verificação de classes em duas fases (off-device, on-device)– Modelo Sandbox– Pacotes java.* e javax.microedition.* são reservados– Classloading apenas apenas de conteúdo do JAR (MIDlet suite)– GCF básico– Suporte Unicode 3.0 e ISO Latin-1

Page 43: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• CLDC 1.1 (JSR-139)

– Suporte ponto-flutuante, incluindo os wrappers Float e Double e métodos sin, cos, tan

– Adição de weak references– Thread.getName(), NoClassDefFoundError, Boolean.TRUE,

Boolean.FALSE, Date.toString(), String.equalsIgnoreCase(), Thread.interrupt()

– Melhorias nas classes Calendar, Date and TimeZone– Aumento de memória de 160 KB para 192 KB

Page 44: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDP 2.0 (JSR-118)

– Modelo de aplicação/execução– GUI API– RMS (Record Management Storage) API– Protocolos de rede e recursos avançados, incluindo conexões

seguras– Gaming API, Media API– Políticas de Segurança, Code Signing, modelo Trusted– Deployment de aplicações e provisão OTA (Over The Air)

Page 45: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Platforms• JME software stack

Page 46: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• eSWT – embedded Standard Widget Toolkit

– Subconjunto do Eclipse SWT– Native look-and-feel– Free Layout– Controles avançados (MultiPageDialog, Browser, etc)– JSR-222 (SVG Graphics) e JSR-258 (Mobile UI Customization)– http://www.eclipse.org/ercp/– Atualmente WM2003 e Symbian Series 80

Page 47: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• LWUIT – LightWeight User Interface Toolkit

– Modelo similar ao Java AWT/Swing (eventos)– Temas, transições, animações, aparência plugável– Projeto no Java.net - https://lwuit.dev.java.net/

Page 48: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• LWUIT – LightWeight User Interface Toolkit

– Componentes poderosos (exemplos abaixo)– Swing Like MVC (Model View Controller) – PLAF (Pluggable Look And Feel) & Themes– Fonts– Touch Screen– Animations & Transitions– Rich widgets– 3D Integration (Optional)– Painters– Modal Dialogs– External Tools– I18N/L10N– SVG Integration (Optional)

Page 49: Desenvolvimento aplicacoesdispositivosmoveis

SCMAD• SCMAD - Sun Certified Mobile Application Developer

– Section 1: JTWI (JSR 185) and Overview of JTWI-Compliant Wireless Applications

– Section 2: CLDC 1.0 and 1.1 – Section 3: Security (Both CLDC and MIDP) – Section 4: Networking – Section 5: Application Model, Delivery, Lifecycle, and Provisioning – Section 6: MIDP Persistent Storage– Section 7: Push Registry – Section 8: MIDP User Interface (UI) API – Section 9: MIDP Game API – Section 10: Media Using MIDP 2.0 and the MMAPI 1.1 – Section 11: Wireless Messaging API 1.1– http://www.sun.com/training/catalog/courses/CX-310-110.xml

Page 50: Desenvolvimento aplicacoesdispositivosmoveis

SCMAD• SCMAD - Sun Certified Mobile Application Developer

– JSR 185 - Java Technology for the Wireless Industry (JTWI)– JSR 30 - Connected Limited Device Configuration (CLDC) 1.0– JSR 139 - Connected Limited Device Configuration (CLDC) 1.1– JSR 118 - Mobile Information Device Profile 2.0 (MIDP). MIDP

2.0 superceded MIDP 1.0– JSR 120 - Wireless Messaging API(WMA) 1.1– JSR 135 - Mobile Media API (MMAPI) 1.1

• Mobile JSRs – JCP– http://jcp.org/en/jsr/tech?listBy=1&listByType=platform

Page 51: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• CLDC 1.0 GCF – Generic Connection Framework

Page 52: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDP 1.0/ 2.0 GCF

Page 53: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDP UI API – LCDUI – High e Low level

Page 54: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDP – High-level UI API

Page 55: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDP – Low-level UI API

Page 56: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MIDP 2.0 – Game API

Page 57: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• WMA (JSR-120) – Wireless Messaging API

Page 58: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MMAPI (JSR-135) – Mobile Media API

Page 59: Desenvolvimento aplicacoesdispositivosmoveis

Introdução ao JME• MMAPI (JSR-135) – Mobile Media API

Page 60: Desenvolvimento aplicacoesdispositivosmoveis

Extras

Page 61: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Platforms• ForumNOKIA – http://forum.nokia.com

– Forum de discussão, intercâmbio de informações, apoio e suporte técnico ao desenvolvimento móvel

– Projetos envolvendo tecnologia JME, Symbian C++, S60, UIQ, Maemo Linux, Python, Flash Lite ActionScript, Perl – S60 Browser JS engine

– Mais de 2 milhões de desenvolvedores mundialmente– Forum Nokia Poster of The Month– Forum Nokia Champion

Page 62: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Platforms• S60, Series 30, Series 40, Series 80, Series 90, Maemo

– Series 40 – feature phones (JME, sem API nativa)– S60 – Smartphones (API nativa Symbian C++, JME)– Series 80 – Enterprise class (API nativa Symbian

C++, JME) – Flash e Python

Page 63: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Platforms

Page 64: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Platforms• S60, Series 40, Series 80

Page 65: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Carbide.j – Java Development Tool• Nokia SDKs – Device, Prototype, Concept, Platform• NCF – Nokia Connectivity Framework• Maemo Tools• Carbide.C++ Express - S60/Symbian C++ Development

Tool

Page 66: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Carbide.j – Java Development Tool

– Stand-alone, integração com Eclipse, NetBeans, Jbuilder– NCF – Nokia Connectivity Framework (Lite e Full)– Create Class, Create Pack, Sign Pack, Deploy, Emulators, Screen e Flow

Designers, Audio Converters, DRM Editor, WebServices Client Tool

Page 67: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Nokia SDKs – Platform SDK (Series 40, S60, Series 80), Device SDK,

Concept SDK

Page 68: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Carbide.j – Java Development Tool

– http://forum.nokia.com/main/0,6566,034-2,00.html

Page 69: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Series 40 Platform SDKs

– Emulator dos devices Series 40– Mesma implementação dos devices para as APIs Java– Múltiplas instâncias e suporte a conectividade– Agiliza diagnóstico e antecipa problemas

• S60 Platform SDKs, for Java– Emulator dos devices MIDP Series 60 – Mesma implementação dos devices para as APIs Java– Suporte a conectividade

Page 70: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• S80 Platform SDKs, for Java

– Emulator dos devices MIDP Series 80 e PP– Mesma implementação dos devices para as APIs Java– Suporte a conectividade

• Nokia Connectivity Framework– Suporte a conectividade com GUI amigável– Gerenciamento de ambientes de teste e simulação– Tracing e Auto-detection

Page 71: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Nokia SDKs – Prototype SDK

– Developer Platforms e Devices: Series 40, S60, Series 80, Nokia 7710, vários UI sizes

– Performance– Múltiplas instâncias e suporte a conectividade– Aplicações exemplo

Page 72: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• NCF - Nokia Connectivity Framework

Page 73: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Maemo – Nokia 770 Internet Tablet (Linux)

– http://www.maemo.org/?mplink=promo-01– http://www.nokia.com/770

Page 74: Desenvolvimento aplicacoesdispositivosmoveis

NOKIA Developer Tools• Carbide.C++ Express (Symbian C++ / S60)

Page 75: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• High-end

– Nokia N92 – DVB-H

Page 76: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• N92

Page 77: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• V820 - ISDB

Page 78: Desenvolvimento aplicacoesdispositivosmoveis

Tendências / Novidades• N92

Page 79: Desenvolvimento aplicacoesdispositivosmoveis

Muito Obrigado!• Slides e dúvidas - juarez.junior

• Agradecimentos– Prof. Clayton Vieira Fraga Filho - FAGOC– Felipe Carneiro e Fabricio de Luca - UJUG– Ron Liechty – Nokia – Forum Nokia Community

Manager– Waldir Andrade Trevizano - FAGOC– FAGOC

Page 80: Desenvolvimento aplicacoesdispositivosmoveis

Trademarks and Copyrights• As marcas registradas (trademarks) e direitos

autorais (copyrights) para as tecnologias são propriedade das empresas apresentadas no tutorial – Maio de 2006.