going mobile at a glance - do you need to build from scratch?

Post on 25-May-2015

74 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

MOBILE ARCHITECTUREMichael Seghers

How to build rock solid apps?

How to reduce risk & increase probability of success?

How to make something not a PITA to maintain...

The plan!

Interface Internals

Calling web services

Data validation

Storage, Caching, Syncing,

Data

Interface Internals

Fast, Efficient, Smooth…

Calling web services

Data validation

Storage, Caching, Syncing,

Data

Interface Internals

UX

Fast, Efficient, Smooth…

UXCalling web services

Data validation

Storage, Caching, Syncing,

Data

Interface Internals

How to handle data and maintain good

performance whilst keeping the UI

working smooth as butter?

The Backend

Architecture!

A good foundation gives confidence –

it is going to be great success!

The Backend

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.

Old-style Applications

User Interface

Business Logic

Database

Single monolithic block

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

Web Applications

User Interface

Business Logic

Database

Thin client: web browser

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

Web Services

Interface

Service Logic

Interface

Rich client in web browser

Database

User Interface

Business Layer

Data Layer

Web Services

Interface

Service Logic

Interface

Database

User Interface Client Application

Interface

Service Logic

Interface

Database

Service Orientation

Interface

Service Logic

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

Mobilize Legacy Applications

User Interface

Business Logic

Database

Interface

Mobile App

Service Logic

Service Enablement

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

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

The Mobile App (The Front-end)

Software Factory

QA!

Another cunning plan!

Verification & Validation

Validation

Are we building the right product?Barry W. Boehm

Verification

Are we building the product right?Barry W. Boehm

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!

A few examples… not all necessarily necessary… euhm…

They are tools – depends on the project if you need them!

Quality Metrics

Source Code AnalysisHow much code is there and does it follow the rules?

Test Driven Development

Unit TestingDoes a piece of code work correctly?

Test Driven Development

Code CoverageHow many pieces of code did we test?

Behavior Driven Development

Acceptance TestingDoes the app behave correctly?

Repeatedly executing tests scenarios manually in several environments

under different conditions demands monkeys perseverance...

Savior!

AutomationRecording and/or Simulating User Interface actions.

Debugging requires Tracking

It didn’t work... what happened?

Software Quality

Profiling & Performance MonitoringIt works but... how good?

GOOD = FAST but also... EFFICIENT

Wrapping it up…

PlanU got to have 1.

How to write & structure the code…

ArchitectureHaving a “blueprint” plan how to build mobile apps.

How to assure quality…

VerificationHaving a plan for testing mobile apps.

www.cronos.be

top related