SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Desktop2web migracija je
prošla, 700.000+ linija koda
se ponovo rodilo
Matija Tomašković | CEO
POSLOVNE WEB APLIKACIJE12.05.2014.
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Evolva
Godina osnivanja:
Broj djelatnika:
2003
~20
Automatska konverzija legacy
Razvoj poslovnih Java web aplikacija
Kvaliteta:
Specijalizacija:
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr2 | 12.05.2014.
Automatska konverzija legacy
aplikacija i timova na Java/web razvoj
Tehnologije:
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Televizijske kuće
› VTV - Varaždinska televizija (Varaždin)
› Nova TV (Zagreb)
› Otvorena televizija (Zagreb)
Marketing i upravljanje projektima
› Nacionalni park Plitvička jezera (Plitvice)
› Val produkcija (Zagreb)
› DAN (Varaždin, Bjelovar, Koprivnica)
› Modern Sounds (London, UK)
› Samara Digital (London, UK)
Bankarstvo i financije
› Privredna Banka Zagreb (Zagreb)
› FIMA vrijednosnice (Varaždin)
› APOS Rijeka (Rijeka)
› ISP BIH (Sarajevo, BIH)
Telekomunikacije
› Iskon Internet (Zagreb)
› Metronet telekom (Zagreb)
Fakulteti i javna uprava
Evolva - reference
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr3 | 12.05.2014.
› Samara Digital (London, UK)
› Tehnopark Varaždin (Varaždin)
› Tin Marketing (Varaždin)
Cestovni promet i ostalo
› Telegra (Sveta Nedjelja)
› Geoline APS (Bagsvaerd, Danska)
› NTH (Hrvatska / Švicarska)
› Hereditas (Zagreb)
› J&J mobile (Varaždin)
Fakulteti i javna uprava
› Fakultet organizacije i informatike (Vžd)
› Geotehnički fakultet (Varaždin)
› Grad Varaždin (Varaždin)
Izdavaštvo
› Quark Solutions (Muenchen, Njemačka)
› Bertelsmann (Guetersloh, Njemačka)
› Crossmedia (Duesseldorf, Njemačka)
› Vincentz (Hannover, Njemačka)
› Bulls Press (Stockholm, Švedska)
› CyberWatcher (Oslo, Noverška)
› Mladinska Knjiga Sarajevo (Sarajevo, BiH)
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Izazov
TUI i GUI Panther aplikacije
Konvertirana Java
web aplikacija
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr4 | 12.05.2014.
- zadržati postojeće funkcionalnosti i ljude
- modernizirati ih tehnološki, a zatim funkcionalno
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Što se konvertira
FORM EVENT CODE
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr5 | 12.05.2014.
Panther IDE
FORM LAYOUT
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Konverzija koda - usporedba
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr6 | 12.05.2014.
Stari kod ┘└ Konvertirani Java kod
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Form editor
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr7 | 12.05.2014.
└ Panther form editor Web-based form editor ┘
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Arhitektura Panther migracije
EXEDesktop
Desktop computer Web server Database
Utility codeUtility code
Engine API
Form rendering
Form layout
Form event code
Konverter
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr8 | 12.05.2014.
Web browser WARWeb
HTTP
AJAX
HTML, CSS, JavaScript
Utility codeUtility code
Engine API
Form rendering
Form layout
Form event code
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Case: PBZ - faze
Proof of concept: native konverzija
• Panther API u Javi / AJAX engine
• izgradnja desktop2web konvertera
• testiranje performansi, robusnost
Kreće web isporuka 2.0 - GUI
• konverzija tekućeg posla
Proof of concept: GUI konverzija
• izgradnja GUI crtalice + GUI engine
Kreće web isporuka 1.0
• ekrani se crtaju i pišu u Pantheru
• konvertiraju
• isporučuje se Java web aplikacija
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr9 | 12.05.2014.
• konverzija tekućeg posla
• učenje kroz converter
• kreće isporuka GUI-only ekrana
• izrada naprednih komponenti
• izgradnja GUI crtalice + GUI engine
• izgradnja GUI konvertera
• probna konverzija manjih aplikacija
• testiranje performansi, skalabilnost
Velika konverzija
• najveća aplikacija
Dovršetak migracije
• preostale aplikacije
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Velika migracija
• cca 600 ekrana
• cca 200.000 LOC (events)
• + cca 420.000 LOC (view)
• cca 1.000 servisa
• cca 100.000 LOC
• cca 200 izvještaja
Merlin
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr10 | 12.05.2014.
RESURSI ZA KONVERZIJU:
• konverzija: 3-4č x 12mj
• priprema i testiranje: 1č x 12mj
IZVOR: http://comediva.com/images/stories/silfs_merlin.gif
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Velika migracija – prije i poslije
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr11 | 12.05.2014.
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Velika migracija – prije i poslije
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr12 | 12.05.2014.
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Problematika procesa konverzije
Tehnički izazovi
• straničenje gridova
• izvještaj iz grida
• yes/no pitanja usred metode
• viška kod (stari copy-paste)
Tijekom konverzije
• nedostatak know-howa o staroj
funkcionalnosti
• konverzija "na slijepo"
• monotonija
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr13 | 12.05.2014.
• viška kod (stari copy-paste)
• veliki izvještaji / robusnost
• "previše" prostora na ekranu
• <ENTER>
• nove kontrole, novi propertiji –
potreba za optimizacijom
• veza na hardver
• JDBC ograničenja (PL/SQL table)
• monotonija
Testiranje i isporuka
• nedostatak spremne testne okoline
• nedostupnost starih razvojnih resursa
• nedostupnost korisnika
• razlika u brzini odaziva zbog Java/web
arhitekture
• vizualne razlike u izgledu ekrana i
stare navike
Nakon konverzije...
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr14 | 26.09.2012.
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Moćan GUI editor
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr15 | 12.05.2014.
• 100+ kontrola
• osnovne kontrole
• složene kontrole
• pluginovi
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Jednostavna izrada kompleksnih ekrana
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr16 | 12.05.2014.
• 295 kontrola
• 27 validacija
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Nadzorne konzole i izvještaji
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr17 | 12.05.2014.
DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO
Nadzorne konzole i izvještaji
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr18 | 12.05.2014.
Hvala na pažnji
www.evolva.hr
info@evolva.hr
POSLOVNE WEB APLIKACIJE

Mais conteúdo relacionado

Destaque

Destaque (20)

JavaCro'14 - Sustainability of business performance and best practices – Zlat...
JavaCro'14 - Sustainability of business performance and best practices – Zlat...JavaCro'14 - Sustainability of business performance and best practices – Zlat...
JavaCro'14 - Sustainability of business performance and best practices – Zlat...
 
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
 
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
 
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan RagužJavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
 
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
 
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
 
JavaCro'14 - Take Agile adoption to the next level with Integration Competenc...
JavaCro'14 - Take Agile adoption to the next level with Integration Competenc...JavaCro'14 - Take Agile adoption to the next level with Integration Competenc...
JavaCro'14 - Take Agile adoption to the next level with Integration Competenc...
 
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad PećanacJavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
 
JavaCro'14 - Automatic database migrations – Marko Elezović
JavaCro'14 - Automatic database migrations – Marko ElezovićJavaCro'14 - Automatic database migrations – Marko Elezović
JavaCro'14 - Automatic database migrations – Marko Elezović
 
JavaCro'14 - GWT rebooted – Gordan Krešić
JavaCro'14 - GWT rebooted – Gordan KrešićJavaCro'14 - GWT rebooted – Gordan Krešić
JavaCro'14 - GWT rebooted – Gordan Krešić
 
JavaCro'14 - How to handle large amounts of data in real time using a cloud e...
JavaCro'14 - How to handle large amounts of data in real time using a cloud e...JavaCro'14 - How to handle large amounts of data in real time using a cloud e...
JavaCro'14 - How to handle large amounts of data in real time using a cloud e...
 
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
JavaCro'14 - Going Digital with Java EE - Peter PilgrimJavaCro'14 - Going Digital with Java EE - Peter Pilgrim
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
 
JavaCro'14 - ZeroMQ and Java(Script) – Mladen Čikara
JavaCro'14 - ZeroMQ and Java(Script) – Mladen ČikaraJavaCro'14 - ZeroMQ and Java(Script) – Mladen Čikara
JavaCro'14 - ZeroMQ and Java(Script) – Mladen Čikara
 
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
 
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan KljajinJavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
 
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
 
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan IvanovićJavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
 
JavaCro'14 - The World of Java – in Croatia – Branko Mihaljević and Aleksande...
JavaCro'14 - The World of Java – in Croatia – Branko Mihaljević and Aleksande...JavaCro'14 - The World of Java – in Croatia – Branko Mihaljević and Aleksande...
JavaCro'14 - The World of Java – in Croatia – Branko Mihaljević and Aleksande...
 
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir DžaferovićJavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
 
JavaCro'14 - JCalc Calculations in Java with open source API – Davor Sauer
JavaCro'14 - JCalc Calculations in Java with open source API – Davor SauerJavaCro'14 - JCalc Calculations in Java with open source API – Davor Sauer
JavaCro'14 - JCalc Calculations in Java with open source API – Davor Sauer
 

Mais de HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association

Mais de HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)

Java cro'21 the best tools for java developers in 2021 - hujak
Java cro'21   the best tools for java developers in 2021 - hujakJava cro'21   the best tools for java developers in 2021 - hujak
Java cro'21 the best tools for java developers in 2021 - hujak
 
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
JavaCro'21 - Java is Here To Stay - HUJAK KeynoteJavaCro'21 - Java is Here To Stay - HUJAK Keynote
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
 
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan LozićJavantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
 
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
 
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
 
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
 
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander RadovanJavantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
 
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
 
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
 
Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - When remote work really works - the secrets behind successful ...Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - When remote work really works - the secrets behind successful ...
 
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Kotlin-Java Interop - Matej VidakovićJavantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
 
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
 
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
 
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
 
Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...
 
Javantura v6 - Just say it v2 - Pavao Varela Petrac
Javantura v6 - Just say it v2 - Pavao Varela PetracJavantura v6 - Just say it v2 - Pavao Varela Petrac
Javantura v6 - Just say it v2 - Pavao Varela Petrac
 
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Automation of web apps testing - Hrvoje RuhekJavantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
 
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
 
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - Building IoT Middleware with Microservices - Mario KusekJavantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
 

JavaCro'14 - Desktop2web migration is finished, 700.000+ lines of code is reborn – Matija Tomašković

  • 1. Desktop2web migracija je prošla, 700.000+ linija koda se ponovo rodilo Matija Tomašković | CEO POSLOVNE WEB APLIKACIJE12.05.2014.
  • 2. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Evolva Godina osnivanja: Broj djelatnika: 2003 ~20 Automatska konverzija legacy Razvoj poslovnih Java web aplikacija Kvaliteta: Specijalizacija: POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr2 | 12.05.2014. Automatska konverzija legacy aplikacija i timova na Java/web razvoj Tehnologije:
  • 3. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Televizijske kuće › VTV - Varaždinska televizija (Varaždin) › Nova TV (Zagreb) › Otvorena televizija (Zagreb) Marketing i upravljanje projektima › Nacionalni park Plitvička jezera (Plitvice) › Val produkcija (Zagreb) › DAN (Varaždin, Bjelovar, Koprivnica) › Modern Sounds (London, UK) › Samara Digital (London, UK) Bankarstvo i financije › Privredna Banka Zagreb (Zagreb) › FIMA vrijednosnice (Varaždin) › APOS Rijeka (Rijeka) › ISP BIH (Sarajevo, BIH) Telekomunikacije › Iskon Internet (Zagreb) › Metronet telekom (Zagreb) Fakulteti i javna uprava Evolva - reference POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr3 | 12.05.2014. › Samara Digital (London, UK) › Tehnopark Varaždin (Varaždin) › Tin Marketing (Varaždin) Cestovni promet i ostalo › Telegra (Sveta Nedjelja) › Geoline APS (Bagsvaerd, Danska) › NTH (Hrvatska / Švicarska) › Hereditas (Zagreb) › J&J mobile (Varaždin) Fakulteti i javna uprava › Fakultet organizacije i informatike (Vžd) › Geotehnički fakultet (Varaždin) › Grad Varaždin (Varaždin) Izdavaštvo › Quark Solutions (Muenchen, Njemačka) › Bertelsmann (Guetersloh, Njemačka) › Crossmedia (Duesseldorf, Njemačka) › Vincentz (Hannover, Njemačka) › Bulls Press (Stockholm, Švedska) › CyberWatcher (Oslo, Noverška) › Mladinska Knjiga Sarajevo (Sarajevo, BiH)
  • 4. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Izazov TUI i GUI Panther aplikacije Konvertirana Java web aplikacija POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr4 | 12.05.2014. - zadržati postojeće funkcionalnosti i ljude - modernizirati ih tehnološki, a zatim funkcionalno
  • 5. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Što se konvertira FORM EVENT CODE POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr5 | 12.05.2014. Panther IDE FORM LAYOUT
  • 6. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Konverzija koda - usporedba POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr6 | 12.05.2014. Stari kod ┘└ Konvertirani Java kod
  • 7. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Form editor POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr7 | 12.05.2014. └ Panther form editor Web-based form editor ┘
  • 8. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Arhitektura Panther migracije EXEDesktop Desktop computer Web server Database Utility codeUtility code Engine API Form rendering Form layout Form event code Konverter POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr8 | 12.05.2014. Web browser WARWeb HTTP AJAX HTML, CSS, JavaScript Utility codeUtility code Engine API Form rendering Form layout Form event code
  • 9. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Case: PBZ - faze Proof of concept: native konverzija • Panther API u Javi / AJAX engine • izgradnja desktop2web konvertera • testiranje performansi, robusnost Kreće web isporuka 2.0 - GUI • konverzija tekućeg posla Proof of concept: GUI konverzija • izgradnja GUI crtalice + GUI engine Kreće web isporuka 1.0 • ekrani se crtaju i pišu u Pantheru • konvertiraju • isporučuje se Java web aplikacija POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr9 | 12.05.2014. • konverzija tekućeg posla • učenje kroz converter • kreće isporuka GUI-only ekrana • izrada naprednih komponenti • izgradnja GUI crtalice + GUI engine • izgradnja GUI konvertera • probna konverzija manjih aplikacija • testiranje performansi, skalabilnost Velika konverzija • najveća aplikacija Dovršetak migracije • preostale aplikacije
  • 10. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Velika migracija • cca 600 ekrana • cca 200.000 LOC (events) • + cca 420.000 LOC (view) • cca 1.000 servisa • cca 100.000 LOC • cca 200 izvještaja Merlin POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr10 | 12.05.2014. RESURSI ZA KONVERZIJU: • konverzija: 3-4č x 12mj • priprema i testiranje: 1č x 12mj IZVOR: http://comediva.com/images/stories/silfs_merlin.gif
  • 11. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Velika migracija – prije i poslije POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr11 | 12.05.2014.
  • 12. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Velika migracija – prije i poslije POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr12 | 12.05.2014.
  • 13. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Problematika procesa konverzije Tehnički izazovi • straničenje gridova • izvještaj iz grida • yes/no pitanja usred metode • viška kod (stari copy-paste) Tijekom konverzije • nedostatak know-howa o staroj funkcionalnosti • konverzija "na slijepo" • monotonija POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr13 | 12.05.2014. • viška kod (stari copy-paste) • veliki izvještaji / robusnost • "previše" prostora na ekranu • <ENTER> • nove kontrole, novi propertiji – potreba za optimizacijom • veza na hardver • JDBC ograničenja (PL/SQL table) • monotonija Testiranje i isporuka • nedostatak spremne testne okoline • nedostupnost starih razvojnih resursa • nedostupnost korisnika • razlika u brzini odaziva zbog Java/web arhitekture • vizualne razlike u izgledu ekrana i stare navike
  • 14. Nakon konverzije... POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr14 | 26.09.2012.
  • 15. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Moćan GUI editor POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr15 | 12.05.2014. • 100+ kontrola • osnovne kontrole • složene kontrole • pluginovi
  • 16. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Jednostavna izrada kompleksnih ekrana POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr16 | 12.05.2014. • 295 kontrola • 27 validacija
  • 17. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Nadzorne konzole i izvještaji POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr17 | 12.05.2014.
  • 18. DESKTOP2WEB MIGRACIJA JE PROŠLA, 700.000+ LINIJA KODA SE PONOVO RODILO Nadzorne konzole i izvještaji POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr18 | 12.05.2014.