A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ......

27
Mobilize.Net: Migrate to web, mobile, and cloud A DEVELOPER’S GUIDE TO XP EOL Everything you need to know.

Transcript of A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ......

Page 1: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

A DEVELOPER’S GUIDE TO XP EOL

Everything you need to know.

Page 2: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Windows XP is out of support April 9, 2014.• Last day of support is April 8, 2014

• There are 189 days from Oct. 1, 2013 to Apr. 8, 2014

• Including Thanksgiving, Christmas, New Years Day, Saturdays and Sundays.

• April 9, 2014, will be Day 0 for XP security vulnerability.

• If you are still running XP on 4/9/14, you may be out of compliance with:• HIPAA

• PCI

• SOX

Page 3: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

What does EOVS mean?

• End of vendor support:

• No…

• Updates

• Bug fixes

• Patches

• Security holes plugged.

• Ever.

• Again.

Page 4: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

How big a problem is it?

• Over 2 billion PCs worldwide

connected to Internet

• Approximately 39% run XP

• That’s about 800,000,000 computers!

• XP in the Enterprise: some estimates

as high as 48% of PCs

Page 5: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Why should I care?

• It’s all about security.

• Currently an XP vulnerability attack is worth $50-100k.

• After EOVS the price will go up.

• Hackers will hold attacks until after April 8.

• Only computers completely isolated will be safe.

• A single XP desktop can allow a Trojan horse into your net.

• Running XP inside a VM won’t help. It will still need net access.

Page 6: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

The costs of running XP will be high….

Microsoft will charge exorbitant fees for XP support

contracts – which will double each year

High cost in lost productivity when XP vulnerabilities are

exploited – expected to be in the multi-billions

Page 7: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Custom LOB apps tether you to XP

Over the years, you’ve developed custom software, crucial to

running your business…. Yet runs only on Windows XP

Page 8: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

What has to move?

There are lots of apps that will only run on Windows XP

Anything written in VB 6.0 or earlier

Apps that use .NET 1.0, 1.1 and 2.0

Older versions of Powerbuilder

Older versions of Borland Delphi

Old stuff has to move!

Page 9: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Many ways to move your apps off XP

BUT MOST SOLUTIONS ARE:

• Too expensive

• Too slow for the business

• Too technologically compromised

LET’S REVIEW THE OPTIONS:

• Manual rewrite: Replicate existing functionality for modern platforms

• Do nothing: Keep running the legacy application

• Packaged software: Purchase commercial off-the-shelf LOB apps

• Automation tools: Automated code conversion to new platform

Page 10: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

The problem with manual rewrites

Typical Project Results for Full Manual Rewrites*

Failed

Successful

Challenged

*Standish Group, 2010

HIGH FAILURE RATE

• 70% of manual software rewrites fail*

HIGH COST

• Rewrite costs 4 times more than migration

HUGE DEFECT RATE

• New code = 20 – 50 bugs/KLOCs

• 1,000,000 lines of new code: 20-50k bugs

FEATURE CREEP KILLS MANUAL REWRITES

• Projects overcome by too many features

Page 11: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Other solutions have big downsides

DOING NOTHING

• Security and compliance issues like Sarbanes-Oxley, HIPAA and PCI

• High cost in maintenance, talent and resources

COMMERCIAL OFF-THE-SHELF

• Business forced to adapt to applications

• Cost is known, but implementation cost is

unpredictable

• Re-training of employees and IT to support

Page 12: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Why migrate old source code?

• No new bugs created

• Preserves business value

• New platform for future enhancement

• Refactored to support MVC or MVVM

• Easier to maintain

• Easier to find trained developers

• Cheaper and faster than a rewrite

• “Code doesn’t rust.” Joel Spolsky

Page 13: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

When to migrate

• App still has business value

• Future maintenance will be likely:

• Enhancements

• Changes

• Bug fixes

• Current language is obsolete or low-value:

• Visual Basic

• COBOL

• PowerBuilder

• Informix LINC

Page 14: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

What’s the value of automation tools?AUTOMATED CODE CONVERSION TO NEW PLATFORMLeverage existing business rules

Fast and efficient, minimal re-training

FIXED SCHEDULE

FIXED BUDGET

REDUCES RISK

INCREASE BUSINESS AGILITY

Page 15: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

How Mobilize.Net works

Blueprint

User

Acceptance

Testing

Manual

/ EWI

Touchups

Assessment

Information

Functionally

Equivalent,

Deployable

Ready for New

Features,

Clients, SOA

System

TestingCode Released

for UAT

Compiling Code to

System Testing

Bug

FixingBug

Fixing

Updated Code

And Functional

Environment

Kick-OffTechnical

Architecture

Automated

Migration*

Generated

Code

Review

Customize,

Configure,

Optimize

Tools

Optimized Tool Gets SmarterEnvironment

Complete

Build Capable:

Access to Code

and Resources

Project

Plan

Matchine Technology

Bug

Fixing

Automated

Migration

Page 16: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Under the covers: Matchine technologyVB6

WinForms

WPF

Silverlight

ASP

Java

Informix 4GL

Unisys LINC

Oracle

Powerbuilder

C# / .NET

ASP.NET

Windows8

Azure/AWS

HTML5

Typescript /

Javascript

Page 17: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Matchine technologyMicrosoft’s Solution

Native Code

Customized according to customers’ needs

Page 18: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Mobilize.Net end-to-end solution

• Flexible source transformation

engines

• Customize front-end, back-end,

and mapping rules for various

languages, platforms, component

libraries

• Fit and finish ranges from internal

use only to end user

Page 19: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Why Move to a Modern Architecture?19

Modern Architecture offers advantages:

• Scalability: handle larger volumes

• Portability: reach multiple platforms

• Maintainability: increase flexibility and lower costs

Many Architecture Alternatives:

• N-Tier/Layer Architectures

• Tier: Physical Separation

• Layer: Logical Separation

• 3-Tier

• Presentation

• Business/Logic

• Data

• Model View Controller

Model View Controller is the architecture of choice for web• Separates the representation of information from the user’s interaction with it. The

central idea behind MVC is code reusability and separation of items

Advantages of Modern Architecture vs Monolithic

Presentation Tier

(User Interface)

Logic Tier

(Business rules and

processes)

Data Tier

(Database storage

and retrieval)

Three Tier Architecture

Page 20: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Model View Controller Offers Agility20

• Mobile and Web Apps Require a Flexible Architecture

• The target architecture needs to:• Change the look-and-feel without changing the core/logic

• Present data under different contexts (desktop, web, mobile, etc.)

• Interact with/access data under different contexts (touch screen on a mobile device,

keyboard on a computer)

• Maintain multiple views of the same data (list, thumbnails, detailed, etc.)

• Model View Controller Delivers Flexibility and Agility

• Separates core functionality from the presentation and control logic

that uses this functionality

• Allows multiple views to share the same data model

• Makes supporting multiple clients easier to implement, test, and

maintain

Page 21: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Model View Controller Overview21

• Model o Manages the behavior and data of the application domain

o Responds to requests for information about its state (usually from the view)

o Follows instructions to change state (usually from the controller)

• View o Renders the model into a form suitable for interaction, typically a user interface (multiple

views can exist for a single model for different purposes)

• Controller o Receives user input and initiates a response by making calls on model objects

o Accepts input from the user and instructs the model and viewport to perform actions based

on that input

Design pattern for graphical systems that promotes separation between

model and view

Page 22: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

HTML5 vs Native vs HybridPros and Cons of Each, We Can Help You Pick the Best Fit for your App

HTML Native Applications Hybrid

Functionality Robust support, but more limited

than native

Ability to leverage all device

capabilities

Best of both worlds

Performance Good enough for most applications Superior Good

Development effort Least - Build once, deploy

anywhere

Separate coding effort for

each platform

Medium – HTML base plus

surgical native API use

Learning curve Relatively short learning curve for

web developers

Need to master each

platform separately

Medium – Mostly HTML5, only

native when needed

Distribution 1) Search 2) Can be packaged for

app stores

App stores App stores

Upgrades Not required. Users always have

access to the latest functionality.

Required on each device Occasional updates to the

native wrappers, updates to

HTML code auto-download

Platform maturity HTML5 Still Evolving

HTML3-4 solid as rock

Rapid innovation in all major

mobile OS

Choose from the union of

native and HTML

22

Page 23: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Technology: Client Architecture23

Business Logic

GUI

(Forms)

Implicit Controller

3rd Party Controls

Original Platform Runtime

• Business Logic and GUI might be

tightly coupled.

• GUI behavior is controlled by

Implicit Controllers in the original

platform.

• Logic relies on runtime APIs or

implicit libraries.

• 3rd Party Controls are used to

provide extended functionality

(logic and/or graphic)

Page 24: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Technology: Web Architecture24

Client Side Single Page Arch.

GUI

(HTML5 pages)

JavaScript

3rd Party Comp.

(e.g., Telerik)

AJAX & COMETBusiness

Logic

.NET ASP.Net

ASP Views

(razor)

Forms View

Models

View Manager

Explicit Controllers

Server Side Thick Server

• Properties & Fields ViewModel

• Events Controllers

• Methods ViewManager

• Layout Views in HTML5

• 3rd Party Controls HTML5 Components

• Business Logic Transformations

Page 25: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Cloud

User Client Tier Server Tiers

HTML Javascript ASP.NET .NET

(Controller)

Business

Logic (Model)

View ModelView Model

Client Side

Logic

Always Synchronized

Show

View

HTML5

(View)Client

Logic

Target Web Architecture

Page 26: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Challenges and MitigationsChallenge Mitigation

File IO • Leverage HTML5 local storage

• Remote access to server file system

Native APIs Win32 APIs or Third Party Dlls. Some of this functionality can be

executed on the server

GUI ActiveX Replace. Some stubs generated automatically

Performance Replace or move to server side

Sockets Replace Web Sockets for some scenarios

DB Access WCF Services

Configuration HTML5 manifest and Server side

Different UI metaphors MDI, multiple windows, menus, lists or grids

Security JS Code Minimize and Obfuscation, HTTPS connection preferred,

Third Party Framework for improved security and reliability

Third party controls Find equivalent controls on new platform

Printing and Hardware Devices

26

Page 27: A DEVELOPER’S GUIDE TO XP EOL · PDF fileWindows XP is out of support April 9, ... •A single XP desktop can allow a Trojan horse into your net. ... •No new bugs created

Mobilize.Net: Migrate to web, mobile, and cloud

Want to know what it takes to move your app?

The Mobilize.Net Assessment Tool helps you understand what it will

take to move your old code to a more modern platform. You can

download it here: http://mobilize.net/modernization-assessment-

tool/