Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MOAT API + OSGi GWアプリ作成

MOAT API + OSGi GWアプリ作成

ServiceSync OSGi Gateway上でのアプリ作成の簡単な説明。
Get-startedを完了した前提とする。Get-stratedでの設定情報をそのまま利用して、サンプルを変更する。

Daisuke Baba

August 01, 2014
Tweet

More Decks by Daisuke Baba

Other Decks in Technology

Transcript

  1. ΞδΣϯμ • ໨త • ֓ཁ • Ϗϧυ؀ڥ࡞੒ • Ϗϧυํ๏ •

    ىಈɺΠϯετʔϧɺΞϯΠϯετʔϧํ๏ • αϯϓϧίʔυઆ໌ʴ΍ͬͯΈΑ͏ Wednesday, August 6, 14
  2. Ϗϧυ؀ڥ࡞੒ • Vagrantىಈ host> cd path/to/moat-iot-get-started-vagrant host> vagrant up •

    αϯϓϧίʔυΛClone host> vagrant ssh vagrant> cd /vagrant vagrant> git clone -b example https://github.com/inventit/moat-iot-sparki ➡ϗετϚγϯͷmoat-iot-get-started-vagrant഑Լ ʹϓϩδΣΫτ͕࡞੒͞ΕΔ →ίʔυมߋ࣌ʹϗετϚγϯͰมߋͰ͖ΔΑ ͏ʹ͢ΔͨΊ Wednesday, August 6, 14
  3. Ϗϧυ؀ڥ࡞੒ • ϑΝΠϧ͕ͳ͍৔߹͸ҎԼͷίϚϯυ Ͱμ΢ϯϩʔυ͢Δ vagrant> sh $CLI/iidn sysdownload \ inventit-dmc-api-4.1.5-prod.jar

    • ϥΠϒϥϦʔͷΠϯετʔϧ vagrant> mvn install:install-file \ -Dfile=inventit-dmc-api-4.1.5-prod.jar \ -DgroupId=com.yourinventit \ -DartifactId=inventit-dmc-api \ -Dversion=4.1.5 -Dclassifier=prod -Dpackaging=jar Wednesday, August 6, 14
  4. API৘ใ্ॻ͖1/2 • ΤϯϩʔϧΛߦ͏ͨΊɺMOAT APIೝূ৘ใ Λ্ॻ͖͢Δ • ϑΝΠϧ • src/main/home/config/fraise.json •

    มߋՕॴʢ੺ࣈ෦෼ʣ "bootstrap" : { "baseUrl" : "https://sandbox.service-sync.com", "appId" : "your-app-id", "domainId" : "your-domain-id", "deviceName" : "your-device-name", "enrollmentUserId" : "your-enrollment-user-id", "enrollmentPassword" : "your-enrollment-password", }, deviceName ʹ͸೚ҙͷΞϧ ϑΝϕοτ਺ࣈจࣈྻ Λ8ࣈҎ্Ͱ ࢦఆ͢Δ Wednesday, August 6, 14
  5. API৘ใ্ॻ͖2/2 • ϑΝΠϧ • src/main/java/io/inventit/moat/osgi/ example3/Activator.java • มߋՕॴʢ੺ࣈ෦෼ʣ • COMM_PORT͸ࠓճ࢖༻͠ͳ͍

    � // TODO Replaces the following values with your credentials and environment. � public static final String COMM_PORT = "/dev/tty.usbmodem1422"; � public static final String APP_ID = "your-app-id"; � public static final String DOMAIN_ID = "your-domain-id"; Wednesday, August 6, 14
  6. ىಈɺΠϯετʔϧɺ ΞϯΠϯετʔϧํ๏ • FelixΛىಈ vagrant> cd src/main/felix-4.4.1 vagrant> ./start.sh •

    όϯυϧͷىಈ(GoGo Shell) g! start file:όϯυϧͷϑΝΠϧύε →࣍ͷεϥΠυʹͯ۩ମతͳύεΛهࡌ͍ͯ͠Δ • όϯυϧΛΞϯΠϯετʔϧ g! lb => όϯυϧͷϦετදࣔ͞ΕΔͷͰʮMOAT Java/OSGiʯͳͲͱॻ͔ΕͨIDΛ୳͢ g! uninstall 5 => ID͕5ͷ৔߹্هͷΑ͏ʹࢦఆ͢Δ • Felixఀࢭ ctrl+c Wednesday, August 6, 14
  7. ॳճૢ࡞ํ๏ 1. ServiceSync OSGi Gateway BundleΛىಈ g! start file:/vagrant/inventit-dmc-osgi-4.1.5-prod.jar 2.

    ϩά͕ࢭ·ͬͨΒɺΤϯλʔΛԡ͢ →g!͕දࣔ͞ΕΔ 3. Ϗϧυͨ͠όϯυϧΛىಈ g! start file:../../../target/sparki-example-osgi-1.0.0.jar όϯυϧͷjar ϑΝΠϧ͸/vagarnt௚Լ ʹ͓͍͓ͯ͘ɻ Wednesday, August 6, 14
  8. ؀ڥϦηοτํ๏ • ௥Ճͨ͠όϯυϧΛڧ੍࡟আ͢Δ vagrant> cd src/main/felix-4.4.1 vagrant> rm -fr felix-cache

    • Τϯϩʔϧͨ͠ঢ়ଶΛ࡟আ͢Δ vagrant> cd src/main/felix-4.4.1 vagrant> rm -f fraisedb.* • શͯϦηοτ͢Δ →্ه2ͭΛ࣮ߦ͢Δ Wednesday, August 6, 14
  9. τϥϒϧγϡʔςΟϯά • ԼهͷΤϥʔΛݟ͚ͭͨ࣌ 02:32:09.594 [FelixStartLevel] WARN xx.dm - SQLException detected

    while shutting down. java.sql.SQLException: User not found: SA • σʔλϕʔεϑΝΠϧ͕յΕ͍ͯΔͷͰ fraisedb.*ϑΝΠϧΛ࡟আ͠ɺొ࿥͞Ε͍ͯΔ୺ ຤৘ใΛRESTͰ࡟আ͢ΔʢcURLίϚϯυར༻ʣ • ͦͷޙɺ࠶౓ىಈ͢Δ ʢΤϯϩʔϧ͔Β΍Γ௚͢ʣ Wednesday, August 6, 14
  10. αϯϓϧίʔυઆ໌ +΍ͬͯΈΑ͏ • simple-exampleͷϞσϧఆٛΛ࢖༻͢Δ • έʔε̍: ShakeEventϞσϧ ϒϥ΢βʔͰSubscribeͯ͠ɺόϯυϧ͔Β Publishͨ͠΋ͷΛϒϥ΢βʔͰݟΔ •

    έʔε̎: VibrationDeviceϞσϧ • όϯυϧͰSubscribeͯ͠ɺϒϥ΢βʔ͔Β Publishͨ͠΋ͷΛλʔϛφϧͰݟΔ Wednesday, August 6, 14
  11. ϒϥ΢βʔͰPublish • σόΠεUUIDͷऔಘ curl -X GET 'https://sandbox.service-sync.com/moat/v1/sys/device?token=τʔΫϯ' =>{"limit":10,"array": [{"dits":"1407119675221","uid":"ff808181477fec6b01479ede4f6c42fa","deviceId":"GDID:mo biconnect","name":"mobiconnect","status":"A","clientVersion":"DEVELOPMENT","rev":1}]}

    ※τʔΫϯ͸ϒϥ΢βʔ͔ΒͷCONNECT࣌ʹ࢖༻ͨ͠ೝ ূτʔΫϯΛར༻͢Δ ※ `uid`ͱ͍͏໊લͷ஋͕UUIDͱͳΔʢ੺ࣈࢀরʣ • ԼهτϐοΫʹରͯ͠Publish /ΞϓϦID/simple-example/VibrationDevice/υ ϝΠϯ/σόΠεUUID Wednesday, August 6, 14