recycling legacy applications

Post on 05-Dec-2014

279 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

In software development, time helps us build powerful and robust products. However, as the years goes by, the team changes along with ideas and programming styles; tight schedules lead to unclean codes; inexperienced hands create limited and ‘viral’ solutions, which then spread through the code and are hard to improve; finally, design and UX trends evolve. Nowadays, when the importance of web applications keeps growing, it is an advantage to be aware of the possibility to use Seaside to keep our Smalltalk applications updated with the new technologies, such as HTML5, CSS3, Javascript and its libraries. My dissertation will be focussed on the new UI we created for our oldest and biggest product, called Mercap Unitrade, and how we made the most of that project improving its architecture with new techniques. As a result, we were able to update it, take it to the edge and build the foundations for the multiple developments to come, without messing with the model layer and while building a huge amount of reusable components, that are shared with the other products developed by Mercap.

TRANSCRIPT

Recycling Legacy Applications

Ing. Bruno Panelli & Lic. Maximiliano Tabacman

The goal

Unbeatable application

READY FOR CHANGE

ALLOW TAILORING

ROBUST

The plan

Team building

Architecture design

Development scheduling

User testing

The unforeseen

Some developers leave

New developers join

New technologies

emerge

Budget and schedules are

adjusted

Client changes specifications

The outcome

Some time later…

Stability

Conformance to customer expectations

Optimized performance

Well known UI

Experienced team

Unit testing

The new requirement

Deployment on larger

scale

High concurrency

Simplified interfaces

Small business

model changes

The opportunity

Research latest technologies

The opportunity

Research latest technologies

Rethink interfaces

The opportunity

Research latest technologies

Rethink interfaces

Unify products line

The opportunity

Research latest technologies

Rethink interfaces

Unify products line

Set foundations for future developments

The opportunity

Research latest technologies

Rethink interfaces

Unify products line

Set foundations for future developments

Reify missing key concepts

The opportunity

Research latest technologies

Rethink interfaces

Unify products line

Set foundations for future developments

Reify missing key concepts

Reapply good decisions

Research latest technologies

Innovation motivates the

team

The opportunity

Rethink interfaces

Modern visuals attract

customers

The opportunity

Unify product lines

Common code implies mutual improvement

The opportunity

Set foundations for future

developments

Clear methodologies

speed up projects

The opportunity

Reify missing key concepts

Well designed objects help

transmit knowledge

The opportunity

Reapply good decisions

Reused designs build trust

The opportunity

The decisionNew web interface

Multiple server

instances

Generalized persistence

Smalltalk SQL queries

Organize systems and

modules

Connect with legacy objects

The decision

Seaside

Multiple server

instances

Generalized persistence

Smalltalk SQL queries

Organize systems and

modules

Connect with legacy objects

The decision

Seaside

Apache(load

balancer)

Generalized persistence

Smalltalk SQL queries

Organize systems and

modules

Connect with legacy objects

The decision

Seaside

Apache(load

balancer)

Generic object

manager

Smalltalk SQL queries

Organize systems and

modules

Connect with legacy objects

The decisionSeaside

Apache(load

balancer)

Generic object

manager

Query builder

Organize systems

and modules

Connect with

legacy objects

The decisionSeaside

Apache(load

balancer)

Generic object

manager

Query builder

System hierarchy

Connect with

legacy objects

Seaside

Apache(load

balancer)

Generic object

manager

Query builder

System hierarchy

Legacy object

hierarchy

The decision

The key tool

SEASIDE

Say it in Smalltalk, Do it with jQuery

Independence from HTTP and

HTML

Platform independence

Instant deployment

The new look

More looks

More looks

Questions?

Thanks!

top related