apex solutions - case study - speedy
TRANSCRIPT
VALUSTRATFirma se sídlem v Dubaji, která podniká v
oblastech:
Strategické poradenství
Znalecké posudky a odhady
- Nemovitosti
- Auta
- Továrny a stroje
- Značky a nehmotný majetek
- Prodej aktiv
VALUSTRAT
"For our company to have a competitive advantage, in a highly competitive market, we needed to a build a product that would make our processes faster and more efficient. We also needed many complex integrations which included mobile compatibility and google map integrations. Apex was quick to understand our requirements and was able to address our requirements. The team was very professional and understanding of our needs. Their product has helped us achieve our desired results in quicker times."
Saad Mehmood, Chief Operating Officer
www.valustrat.com
SPEEDY
Desktopová verze
Kopíruje procesy na vytváření odhadů
Výstupem je PDF resp. MS Word dokument
s popisem, mapou a obrázky
- Technologie
- Oracle Linux
- Oracle DB
- Apache
- Apache Tomcat
- APEX Listener
- APEX
- Google Maps
- JasperReports
- PhantomJS
Mobilní verze (iOS)
Phonegap
Google Maps
jQuery Mobile
NÁSTROJ PRO ODHAD NEMOVITOSTÍ
Klientský portál
Google Maps
SYNCHRONIZACEData jen pro přihlášeného uživatele
Přenos dat o nemovitosti
Přenos polohy nemovitosti
Přenos obrázků
Možnost pracovat off-line
Synchronizace přes 3G, 4G a public wi-fi
Vycházíme z předpokladu, že na jedné
nemovitosti pracuje vždy jen jeden odhadce
LOGICKÝ MODELIdentifikace uživatele mobilní verze
Zobrazení přehledu aktuálních požadavků přihlášeného uživatele
Uložení změn o nemovitosti
- poloha
- vygenerování nového obrázku z google maps
- data
obrázky
- obrázek na disk
- metadata o obrázku
- gps souřadnice
- orientace v prostoru
- datum a čas vytvoření obrázku
RESTfulRepresentational state transfer (REST) je cesta jak
jednoduše vytvořit, číst, editovat nebo smazat informace ze serveru pomocí jednoduchých HTTP volání.
REST (Representational State Transfer) – je architektura rozhraní, navržená pro distribuované prostředí.
Rozhraní REST je použitelné pro jednotný a snadný přístup ke zdrojům (resources). Zdrojem mohou být data, stejně jako stavy aplikace (pokud je lze popsat konkrétními daty).
REST je tedy na rozdíl od známějších XML-RPC či SOAP, orientován datově, nikoli procedurálně. Všechny zdroje mají vlastní identifikátor URI a REST definuje čtyři základní metody pro přístup k nim.GET, PUT, POST, DELETE
RESTfulV APEXu:
Automatické REST API z reportůCustomizovatelné rozhraníVyužívá Oracle REST Data Services (APEX Listener)Musí být povolený v Internal Workspace pre celou instanci
RESTfulCUSTOMIZOVANÉ
GET:URI Template může obsahovat proměnnou např. Sync/step2/store/od/{ID}V source potom existuje bindovaná proměnná: IDTyp zdroje:
SQL – result set z SQL Query (obsahuje next/previous URL), výstup v JSON alebo CSVSQL jeden řádek – ak SQL Query vrátí jen jeden záznam, výstup v JSONFEED – result set z SQL Query (obsahuje next/previous URL, obsahuje odkaz na detail,
první sloupec musí být ID), výstup v JSONIN parametry pro GET v APEXu nefungují (v REST povolené jsou)
SOURCE: SELECT 'OK' status, 'Survey '||:ID||' successfully updated' msg from dual
RESPONSE:SQL - {"next":{"$ref":"http://kozel.quickcode.cz/apex/cnb2/hr/iks/10?page=1"},"items":
[{"id":"10"}]}SQL jeden řádek - {"id":"10"}FEED - {"next":{"$ref":"http://kozel.quickcode.cz/apex/cnb2/hr/iks/10?page=1"},"items":
[{"uri":{"$ref":"http://kozel.quickcode.cz/apex/cnb2/hr/iks/10"},"id":"10"}]}
RESTfulCUSTOMIZOVANÉ
POST, PUT, DELETE:Očekává IN, INOUT a OUT parametryMusí volat PL/SQL blokNa konci musí nastat HTTP přesměrování
Parametry pro přesměrování:X-APEX-FORWARD location OUT HTTP Header StringX-APEX-STATUS-CODE status OUT HTTP Header Integer
SOURCE:Begin my_package.action(); :status := 201; :location := '/apex/jaj/speedy/sync/step2/store/ok/'||:id_survey;
exception when others then :status := 201; -- alebo iny HTTP status code :location := '/apex/jaj/speedy/sync/step2/store/err/'||:id_survey;end;
GET A POST METODY• Get User List
• Get Surveys List
• Post Survey Update
- Get OK Message
- Get Error Message
• Get Images List
• Post New Image
- Get OK Message
- Get Error Message
• Get Image Detail
• Delete Image