Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Proteket – ”Fremtiden i våre tenner” med Java og Flex av Tor Eric Sandvik, Håken Stark.

Liknende presentasjoner


Presentasjon om: "Proteket – ”Fremtiden i våre tenner” med Java og Flex av Tor Eric Sandvik, Håken Stark."— Utskrift av presentasjonen:

1 Proteket – ”Fremtiden i våre tenner” med Java og Flex av Tor Eric Sandvik, Håken Stark

2 Proteket Online med Java og Flex Slide 2 Om Proteket AS Import av tannproteser fra Kina. • Lokasjon: Ullevål stadion, Oslo • Antall ansatte: 7 • Omsetning 2008: 22 mill nok • Resultat 2008: 5 mill nok • Gaselle listen 06, 07 og 08 (6. og 14. plass) • Åpnet avdeling i Stockholm

3 Proteket Online med Java og Flex Proteket’s utfordringer Proteket har 700 kunder og sender 500 ordrer til Kina hver uke. Utfordringer: • Logistikk i Excel • Manuelt bestillings system, med rom for mye feil • Tiden går med til å finne ordre og korrekturlese ordreskjema • Vanskelig kundegruppe hvor endring er farlig Slide 3

4 Proteket Online med Java og Flex Proteket Online • Administrasjon av ordre, forsendelser, produkter, kunder, speditører, produsenter, avdelinger, ansatte og klager/omgjøringer. • Forsendelse og ordreflyt. Sporbarhet, hvor er ordre til enhver tid. • Kommunikasjon/chat mellom produsent og avdeling ved problemer, mangler osv. på en ordre. • Eksport av ordre til eksternt fakturasystem (24SevenOffice). • Ordrestatistikk Slide 4

5 Proteket Online med Java og Flex Slide 5 • PDF generering av ordrenota, ordresedler, klager og forsendelsesdokumenter. • Logistikkhåndtering av ordre og forsendelser med håndholdte skannere. Proteket Online

6 Proteket Online med Java og Flex Slide 6 • Plassere nye ordre • Se siste ordre • Klage på ordre • Se statistikker • Redigere sin profil • Be om forsinkelses varsling på SMS eller e-post Proteket Online - Kunde

7 Proteket Online med Java og Flex Status • Gikk i produksjon fra 15. oktober 2008 i forbindelse med årlig tannlegemesse på Norges varemesse. • Tilbakemeldinger fra tannleger og Proteket så langt er positivt. • Prosjektet gikk i rute på tid  Slide 7

8 Proteket Online med Java og Flex Prosjektgjennomføring Scrum metodikk Antall utviklere fra 4-8 Timeforbruk ca Sprinter Slide 8

9 Proteket Online med Java og Flex Slide 9 Arkitektur

10 Proteket Online med Java og Flex Demo Slide 10

11 Proteket Online med Java og Flex Flex • Flex er en samling teknologier for utvikling av RIA, basert på Flash plattformen til Adobe. Slide 11

12 Proteket Online med Java og Flex • Flash player, nettleser • Adobe Air, desktop • Acrobat Reader • Flash Lite, mobile enheter (Flex 4?) Slide 12 Klient kjøremiljøer

13 Proteket Online med Java og Flex Flex SDK • Åpen kildekode, gratis • Består av en kompilator og Flex klassebiblioteketer. • Kildekode kan være skrevet i: – MXML – ActionScript • Kompileres til bytekode i form av flash fil,.swf Slide 13 Flex SDK MXML Action Script Flex klasse biblioteker.swf Kompilere

14 Proteket Online med Java og Flex Flex Builder IDE • Kommersielt produkt • Bygger på Eclipse • Kan kjøre alene eller som en plugin til Eclipse • God støtte for feilsøkning • Generering av html wrapper • Verktøy for generering av WS klient kode. • Alle plugins som Eclipse måtte støtte. Slide 14

15 Proteket Online med Java og Flex Flex demo Slide 15

16 Proteket Online med Java og Flex • Kompleks produktbestilling, mange valg • Mange av valgene skulle være grafiske • Rask respons på navigasjon og valg • Mye data som skal mellomlagres • Enkelt og grafisk tiltalende å bruke • Tarantell lagde prototypen til ordebestillingen i Flex Slide 16 Bakgrunn for valget av Flex

17 Proteket Online med Java og Flex Flex vs. • Kjører likt i alle nettlesere som har Flash player • Enkelt å sette opp et komplekse brukergrensesnitt, med mange layout muligheter • Rask respons • Begrenset støtte for backend systemer HTML, Ajax, JavaScript • Nettleser avhengig, delvis standarder. • Utfordrende å bygge komplekse brukergrensesnitt. • Tregere respons, mellomlagring på server. • Kan implementeres med det meste av backend systemer Slide 17

18 Proteket Online med Java og Flex Flex kan integreres med Java backend på mange forskjellige måter via HTTP. • SOAP Webservicer • HTTPServicer, RESTful tilnærming. GET, POST, osv. • BlazeDS Slide 18 Flex og Java Klient nettleser Flash Player Applikasjonsserver Web Services/JSP,PHP,XML Tjenestelag

19 Proteket Online med Java og Flex • Valget ble SOAP Webservices – Ønske om å bruke veletablerte standarder – Tilby fremtide webservicer – Direkte støttet av Flex – Sikkerhet (SOAP Headers), ble likevel et problem Slide 19 Valg – klient/server

20 Proteket Online med Java og Flex • Flex Builder kan automatisk generere opp Web service klient kode (Stubs), og tilhørende datamodell. – Tools -> Import Web Service (WSDL) – Fungerte ikke med vår CXF løsning på serversiden. • Løsning ble å skrive egne service klient klasser, ved hjelp av Flex API’et. Veldig rett frem – Bakdel, kun generiske objekter returnert Slide 20 Løsning – klient/server

21 Proteket Online med Java og Flex Slide 21 Flex klient public function ProductService() { _service = new WebService(); _service.wsdl = ”http://localhost/proteket/WS/ProductService?wsdl”; _service.loadWSDL(); } public function getProducts(employeeDepartmentId:int):void { _service.getProducts.addEventListener(ResultEvent.RESULT, productsResultHandler); _service.getProducts(employeeDepartmentId); } private function productsResultHandler(event:ResultEvent):void { ProductDataModel.getInstance().products = _service.getProducts.lastResult; }

22 Proteket Online med Java og Flex Slide 22 Server Apache CXF 2.0 web services eksponert i en Spring context

23 Proteket Online med Java og Flex Slide 23 Server Produkt service public interface ProductWebService { public List getProducts(int employeeDepartmentId); public Product getProduct(int productId); public interface ProductWebService { public List getProducts(int employeeDepartmentId); public Product getProduct(int productId); }

24 Proteket Online med Java og Flex • Flex har ingen direkte innbygd støtte for WS- Security • Har derimot mulighet for å lage SOAP hode. – mx.rpc.soap.SOAPHeader • Lagde egen etter OASIS standarden, med brukernavn, passord og tidsstempel som ble lagt til web service kallet. – mx.rpc.soap.WebService.addHeader(..) Slide 24 Web Service sikkerhet

25 Proteket Online med Java og Flex • Flex applikasjoner (SWF fil) kan ikke referere til andre domener enn domenet den opprinnelig ble forespurt på. • Opprett en cross-domain policy fil på webserveren, for å tilgjengeliggjøre data fra andre domener. Legges i rot-katalogen til webserveren. Slide 25 Crossdomain sikkerhet • Under utvikling og testing av Flex applikasjonen lokalt på filsystemet, må man legge til prosjektet under ‘Trusted Files’: ttings_manager04a.html

26 Proteket Online med Java og Flex • Flex 3 støtter internasjonalisering, hvor språk kan byttes i runtime. Ikke tilfelle for Flex 2 • Språkfiler kan enten, avhenging av antall språk: – Kompileres sammen med applikasjonen – Kompileres som enkeltstående språk moduler (SWF) • Språkfiler lages på akkurat samme måte som i Java, properties filer med key/value par i UTF-8 format. Slide 26 I18n, Internasjonalisering

27 Proteket Online med Java og Flex • Språkfiler legges i f.eks locale/nb_NO/proteketResources.properties i prosjektkatalogen • Hvis Flex Builder brukes, kan denne katalogen legges til Source Path (locale/{locale}), og automatisk kompileres med applikasjonen: – locale=nb_NO,en_US,sv_SE -allow-source-path- overlap=true Slide 27 I18n, Internasjonalisering

28 Proteket Online med Java og Flex Slide 28 I18n, Internasjonalisering • For å kunne bytte språkfiler i run time, benytter man ResourceManager, hvor ResourceBundle for deklareres: [ResourceBundle("proteketResources")] [ResourceBundle("proteketResources")] • Følgende metode bytter språkfil: resourceManager.localeChain = ”en_US”; • For å hente lokalisert data fra språkfilene: ResourceManager.getInstance().getString('proteketResources', 'patient.age'); ResourceManager.getInstance().getString('proteketResources', 'patient.age');

29 Proteket Online med Java og Flex • Behov får å lese dynamisk data i runtime, f.eks kundeId, locale, brukenavn, app-props osv. • Lastes inn via Javascript fra Html/JSP siden som innholder SWF filen: Slide 29 Flash variabler AC_FL_RunContent( "src", "flex/ProteketFlex-1.3.0", "FlashVars", "customerId=" +customerId +"&requestLocale=" +requestLocale +"&user=" +user +"&propPath=" +propPath +"&createdByCustomer=" +createdByCustomer, … ); AC_FL_RunContent( "src", "flex/ProteketFlex-1.3.0", "FlashVars", "customerId=" +customerId +"&requestLocale=" +requestLocale +"&user=" +user +"&propPath=" +propPath +"&createdByCustomer=" +createdByCustomer, … ); • Leses fra ActionScript på følgende måte: _requestLocale = Application.application.parameters.requestLocale;

30 Proteket Online med Java og Flex • Flex legger opp til MVC designmodell – ModellPOJO’s i form av ActionScript. – PresentasjonMXML UI komponenter – KontrollerActionScript logic • Utfordring å skille klart kontroller fra presentasjon: – Alle UI kan skrives i ActionScript • Finnes et åpen kildekode rammeverk for å lage Flex applikasjoner basert på MVC – Cairngorm Slide 30 MVC i Flex

31 Proteket Online med Java og Flex • Tar mer tid å bygge en robust klient applikasjon i Flex enn å lage presentasjonslaget i en tradisjonell webapplikasjon. • Ville brukt et rammeverk som Cairngorm • Veldig lett å lære seg Action Script for en Java utvikler, og bruke en objektorientert tilnærming. • Robust, lite feil • Kunne vært bedre støtte for Web servicer, sikkerhet Slide 31 Erfaringer ved bruk av Flex

32 Proteket Online med Java og Flex Linker og ressurser • Flex 3 dok • Flex 3 API dok • Nyheter, forum, showcases • Cairngorm • Security settings p/settings_manager04a.html p/settings_manager04a.html • Advanced ActionScript 3 with Design Patterns Adobe Press • Programming Flex 3 O’Reilly Slide 32

33 Proteket Online med Java og Flex Andre norske prosjekter med Flex • Fotoknudsen • Sats, Min side Slide 33


Laste ned ppt "Proteket – ”Fremtiden i våre tenner” med Java og Flex av Tor Eric Sandvik, Håken Stark."

Liknende presentasjoner


Annonser fra Google