Going Mobile at a Glance - Do you need to build from scratch?

324 views

Published on

So you're oing mobile, what about the backend ?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
324
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Going Mobile at a Glance - Do you need to build from scratch?

  1. 1. MOBILE ARCHITECTURE Michael Seghers
  2. 2. How to build rock solid apps? How to reduce risk & increase probability of success? How to make something not a PITA to maintain...
  3. 3. The plan!
  4. 4. Interface Internals
  5. 5. Calling web services Data validation Storage, Caching, Syncing, … Data Interface Internals
  6. 6. Fast, Efficient, Smooth… Calling web services Data validation Storage, Caching, Syncing, … Data Interface Internals UX
  7. 7. Fast, Efficient, Smooth… UX Calling web services Data validation Storage, Caching, Syncing, … Data Interface Internals
  8. 8. How to handle data and maintain good performance whilst keeping the UI working smooth as butter?
  9. 9. The Backend
  10. 10. Architecture!
  11. 11. A good foundation gives confidence – it is going to be great success!
  12. 12. The Backend
  13. 13. ENTERPRISE ARCHITECTURE FOR MOBILE APPLICATIONS The mobile app is the visual gateway to the server software. To enable mobile apps for the enterprise, the server-side must be carefully architected and designed, with some new IT challenges.
  14. 14. Old-style Applications User Interface Business Logic Database Single monolithic block
  15. 15. Old-style Applications Integration through database Application 1 Application 2 Application 3 User Interface Business Logic Database User Interface Business Logic Database User Interface Business Logic Database
  16. 16. Web Applications User Interface Business Logic Database Thin client: web browser
  17. 17. Web Applications Reuse business logic Application 1 Application 2 Application 3 User Interface Business Logic Database User Interface Business Logic Database User Interface Business Logic Database
  18. 18. Web Services Interface Service Logic Interface Rich client in web browser Database User Interface Business Layer Data Layer
  19. 19. Web Services Interface Service Logic Interface Database User Interface Client Application Interface Service Logic Interface Database Service Orientation Interface Service Logic
  20. 20. Service Orientation Benefits Business alignment Reuse of business logic Flexibility Agility Cloud-ready! Mobile-ready! Mobile App Interface Service Logic Interface Service Logic Interface Database
  21. 21. Mobilize Legacy Applications User Interface Business Logic Database Interface Mobile App Service Logic Service Enablement
  22. 22. Architectural Considerations Interface Mobile App Service Logic API Data exchange • SOAP web service • XML, attachments • RESTful service • JSON, XML, binaries • Protocol: HTTP, FTP, Proprietary • Message Exchange Pattern: Synchronous, Asynchronous • Security: Transport-Layer, Message-Layer, Authentication, Authorization • Reliability: QoS(HTTP) = “at least once”  idempotency required • Disconnection Policy: off-line work, Data Integrity
  23. 23. Architecture summary • Enabling the enterprise for mobile apps requires careful design of the server software • Ideally use a service-oriented approach • Distributed services require governance • New opportunities emerge with cloud and Big Data services • The world is your customer
  24. 24. The Mobile App (The Front-end)
  25. 25. Software Factory
  26. 26. QA!
  27. 27. Another cunning plan!
  28. 28. Verification & Validation
  29. 29. Validation Are we building the right product? Barry W. Boehm
  30. 30. Verification Are we building the product right? Barry W. Boehm
  31. 31. This is why architecture is also so important... structuring the app in such a way that it is layered and that there is a clear separation of concerns - this makes the parts easier to test!
  32. 32. A few examples… not all necessarily necessary… euhm… They are tools – depends on the project if you need them!
  33. 33. Quality Metrics Source Code Analysis How much code is there and does it follow the rules?
  34. 34. Test Driven Development Unit Testing Does a piece of code work correctly?
  35. 35. Test Driven Development Code Coverage How many pieces of code did we test?
  36. 36. Behavior Driven Development Acceptance Testing Does the app behave correctly?
  37. 37. Repeatedly executing tests scenarios manually in several environments under different conditions demands monkeys perseverance...
  38. 38. Savior! Automation Recording and/or Simulating User Interface actions.
  39. 39. Debugging requires Tracking It didn’t work... what happened?
  40. 40. Software Quality Profiling & Performance Monitoring It works but... how good? GOOD = FAST but also... EFFICIENT
  41. 41. Wrapping it up…
  42. 42. Plan U got to have 1.
  43. 43. How to write & structure the code… Architecture Having a “blueprint” plan how to build mobile apps.
  44. 44. How to assure quality… Verification Having a plan for testing mobile apps.
  45. 45. www.cronos.be

×