architecture in practice

63
Architecture in practice -SweNug 2011-02-23- - [email protected] -

Upload: lacy

Post on 25-Feb-2016

48 views

Category:

Documents


3 download

DESCRIPTION

Architecture in practice. -SweNug 2011-02-23-. - [email protected] -. Centiro, IASA & me. Architectural context. Who am I?. Jonas Toftefors. Centiro Solutions. Certified Trainer IFC. Consultant @ Biner. CITA-P. Architect. Consultant @ Ikaros. Zachman Framework. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Architecture in practice

Architecture in practice-SweNug 2011-02-23-

- [email protected] -

Page 2: Architecture in practice

© Powered by Centiro

ARCHITECTURAL CONTEXTCentiro, IASA & me

Page 3: Architecture in practice

© Powered by Centiro

Who am I?Jonas Toftefors

Centiro Solutions

Consultant @ Biner

Consultant @ Ikaros

CIO Intellecta

DocuSys

Certified Trainer IFC

CITA-P

Zachman Framework

2xSundblad

Göteborgs Universitet

Architect

Page 4: Architecture in practice

© Powered by Centiro

Centiroo Centiro is a considerate and focused company that offers

scalable and reliable solutions for Transport Management and Supply/Demand Chain process management on a global market

o Clients, installations and users in 7000+ locations in 45 countries

o AAA Dun & Bradstreet since 2000

o Superföretag and DI Gasell 2008/2009/2010

o A Great Place To Work – Swedens 2:nd best workplace 2010

Page 5: Architecture in practice

Depart(port)

Arrive

(port)Supplier Customs Warehous

eDirect delivery

Merge-in-transit

Sourcing

Returns

Statistics & Reporting

Carrier Complian

ceEnd-to-End

Order Visibility

Pro-active alerts

Notifications

Self BillingInvoice &

Cost Control - Rating

Carrier & Supplier

Performance

System Integratio

n

SupplierIntegration

Page 6: Architecture in practice

© Powered by Centiro

Carrier compliance

Global breadth, knowledge & experienceCommercial networks Own fleet/Hired capacity

High Tech Low TechMid Tech

150 + carriers

Page 7: Architecture in practice

© Powered by Centiro

Customer references

Vertical breadth knowledge & cross-pollination

Automotive, engineering

& constructionHigh tech

& electronicsRetail & B2C

Healthcare

Food & beverage

Transportation & logistics

Logistics

250 + customers

Page 8: Architecture in practice

© Powered by Centiro

IASA• IASA is an international and

independent organization for IT architects

• Founded 2002 with 6.000 professionell members in US and Europe

• IASA works with certfications, education, networking and documentation to support and define the IT architect profession

Page 9: Architecture in practice

© Powered by Centiro

IASA Sweden• Chapters in Göteborg & Stockholm• Organises ITARC in Stockholm

together with Dataföreningen Komptens

• Defines architect roles• Teaches Foundation and certifies IFC

and CITA-P

Page 10: Architecture in practice

© Powered by Centiro

WHAT IS IT ARCHITECTURE?

Introduction

Page 11: Architecture in practice

© Powered by Centiro

What is Architecture?

Source: Wikipedia

Page 12: Architecture in practice

© Powered by Centiro

What is IT architecture?

Page 13: Architecture in practice

© Powered by Centiro

What’s IT architecture?One instance per environment

CPort WS CPort DB

CPort SL

Log DBLog WS

Global DB

Global SLShell SL

One or more instances per environment

Planning DB

Planning SL

One or more instances per environment

Shipping DB

Shipping SL

One or more instances per environment

Shipping DB

Shipping SL

One or more instances per environment

Shipping DB

Shipping SL

State cache/DB

State WS

Page 14: Architecture in practice

© Powered by Centiro

What’s IT architecture?”Application” – accepting BASE approach for the whole

Strategic Information Area = Deployable Unit

EventProcessor

EventListener

EventProducer

Finance [ACID & basically Synchronous]

EventProcessor

EventListener

EventProducer

Event Management [ACID]

EventProcessor

EventListener

EventProducer

Shipping [ACID & basically Synchronous]

EventProcessor

EventListener

EventProducer

Logi

cal E

SB (W

CF/M

SMQ)

Q1

Qn

Page 15: Architecture in practice

© Powered by Centiro

What’s IT architecture?

Page 16: Architecture in practice

© Powered by Centiro

What’s IT architecture?All of these and more?

Page 17: Architecture in practice

© Powered by Centiro

What is IT architecture?None of these are architecture, they are models that describes reality and/or the thought solution from different aspects

Page 18: Architecture in practice

© Powered by Centiro

What is IT architecture?IT architecture is the process, considerations and decisions made when deciding what models to create and the actual creation of these

?!

Page 19: Architecture in practice

© Powered by Centiro

What’s IT architecture?

IASA definition:

The art or science of designing and delivering

valuable technology strategies

Page 20: Architecture in practice

© Powered by Centiro

This is an IT architect!

Developer lead with business

competence

Business person with technical competence

Network and system specialist

that has business sense and strong

infrastructure competence

IT person who bridges the gap

between business & technology

Technology Strategist

for the business

Page 21: Architecture in practice

© Powered by Centiro

SKILLSET OF AN ARCHITECT

Page 22: Architecture in practice

© Powered by Centiro

”Obvious” skills

Application Developmen

t

Architecture Description Security

General Design skills

Requirements ModelingDesign

Methodologies and Processes

Software Architecture

Patterns

Technologies, Platforms & Frameworks

Performance

Page 23: Architecture in practice

© Powered by Centiro

Not quite so obvious skills

ComplianceBusiness Valuation

GovernancePresentation Skills

Leadership and Management

Packaging, Delivery, Post Deployment

Datacenter Design

Page 24: Architecture in practice

© Powered by Centiro

Foundation Pillars

Quality Attributes

Design

Business Technology Strategy

IT Environment

Human Dynamics

Software architectu

re

Infra-structure architectu

re

Page 25: Architecture in practice

© Powered by Centiro

Design

Design Methodologies and Processes

Decomposition and Reuse

Design Patterns and Styles

Traceability Throughout the

Lifecycle Whole Systems

Design

Requirementmodelling

Page 26: Architecture in practice

© Powered by Centiro

IT Environ-ment

Technical Project Management Capabilities

Governance

Application Development

Testing Methods, Tools, and Techniques

Platforms and Frameworks

Change Management

Page 27: Architecture in practice

© Powered by Centiro

Focus: IT Environment

Page 28: Architecture in practice

© Powered by Centiro

Business Technolo

gy Strategy

Industry Analysis Business Valuation

Strategy Development

Requirements Discovery and

Constraints Analysis

Compliance

Business Fundamentals

Page 29: Architecture in practice

© Powered by Centiro

Focus: Complience

Page 30: Architecture in practice

© Powered by Centiro

Quality attribut

es

Performance Monitoring and Management

Usability

Packaging, Delivery, Post Deployment

Balance & Optimize

Security

Page 31: Architecture in practice

© Powered by Centiro

Focus: AvailabilityHow much downtime may you have per year when offering 99.99% uptime?

Page 32: Architecture in practice

© Powered by Centiro

Focus: Availability

Page 33: Architecture in practice

© Powered by Centiro

Focus PerformanceScenario:• Creation takes 0,05 sec• Creating label takes 1 sec• Pricing takes 0,5 sec• Choice of transport takes 0,2 sec

What if 50.000 calls a day?What if 20.000 are trigged 16:00-17:30?

Page 34: Architecture in practice

© Powered by Centiro

Human Dynami

cs

Managing the Culture Peer Interaction

Customer Relations

Collaboration and Negotiation

Presentation & Writing

Leadership and Management

Page 35: Architecture in practice

© Powered by Centiro

Focus: LeadershipHow often is an architect manager for all Participants?

Developers

SCRUM Master Project

manager

DBAOperation

sNetwork

Page 36: Architecture in practice

© Powered by Centiro

DIFFERENT WORLDS?Architecure and agile development

Page 37: Architecture in practice

© Powered by Centiro

Capabilities for a complete initiative

Project management

Tooling

Programming techniques

Debugging

Source code management

Configuration management

Documentation

Programming skills

Education / trainingBusiness processesIntegration

considerations

Libraries

Spoken Languages

Etc, etc

Managing the culturePeer

interactionCustomer relations

Collaboration & Negotiation

Presentation & writing

Leadership & Management

Business fundamentals

Compliance

Performance

Usability

Security

Package & Deploy

Balancing attributes

Monitoring & management

Governance

Change management

Platform & Frameworks

Testing methods & techniques

Industry analysis

Valuation

Strategy developmentRequirement

discovery

Design methodologies

Design patterns and

styles

Traceability

Whole system design

Decompistion & Reuse

Requirement modeling

Technical PM

Application development

Page 38: Architecture in practice

© Powered by Centiro

Angry Birds

Project management

Tooling

Programming techniques

Debugging

Source code management

Configuration management

Documentation

Programming skills

Education / trainingBusiness processesIntegration

considerations

Libraries

Spoken Languages

Etc, etc

Managing the culturePeer

interactionCustomer relations

Collaboration & Negotiation

Presentation & writing

Leadership & Management

Business fundamentals

Compliance

Performance

Usability

Security

Package & Deploy

Balancing attributes

Monitoring & management

Governance

Change management

Platform & Frameworks

Testing methods & techniques

Industry analysis

Valuation

Strategy developmentRequirement

discovery

Design methodologies

Design patterns and

styles

Traceability

Whole system design

Decompistion & Reuse

Requirement modeling

Technical PM

Application development

Page 39: Architecture in practice

© Powered by Centiro

ECM for internal usage

Project management

Tooling

Programming techniques

Debugging

Source code management

Configuration management

Documentation

Programming skills

Education / trainingBusiness processesIntegration

considerations

Libraries

Spoken Languages

Etc, etc

Managing the culturePeer

interactionCustomer relations

Collaboration & Negotiation

Presentation & writing

Leadership & Management

Business fundamentals

Compliance

Performance

Usability

Security

Package & Deploy

Balancing attributes

Monitoring & management

Governance

Change management

Platform & Frameworks

Testing methods & techniques

Industry analysis

Valuation

Strategy developmentRequirement

discovery

Design methodologies

Design patterns and

styles

Traceability

Whole system design

Decompistion & Reuse

Requirement modeling

Technical PM

Application development

Page 40: Architecture in practice

© Powered by Centiro

Different people have different capabilities

Project management

Tooling

Programming techniques

Debugging

Source code management

Configuration management

Documentation

Programming skills

Education / trainingBusiness processesIntegration

considerations

Libraries

Spoken Languages

Etc, etc

Managing the culturePeer

interactionCustomer relations

Collaboration & Negotiation

Presentation & writing

Leadership & Management

Business fundamentals

Compliance

Performance

Usability

Security

Package & Deploy

Balancing attributes

Monitoring & management

Governance

Change management

Platform & Frameworks

Testing methods & techniques

Industry analysis

Valuation

Strategy developmentRequirement

discovery

Design methodologies

Design patterns and

styles

Traceability

Whole system design

Decompistion & Reuse

Requirement modeling

Technical PM

Application development

Example 1: Peter

Page 41: Architecture in practice

© Powered by Centiro

Different people have different capabilities

Project management

Tooling

Programming techniques

Debugging

Source code management

Configuration management

Documentation

Programming skills

Education / trainingBusiness processesIntegration

considerations

Libraries

Spoken Languages

Etc, etc

Managing the culturePeer

interactionCustomer relations

Collaboration & Negotiation

Presentation & writing

Leadership & Management

Business fundamentals

Compliance

Performance

Usability

Security

Package & Deploy

Balancing attributes

Monitoring & management

Governance

Change management

Platform & Frameworks

Testing methods & techniques

Industry analysis

Valuation

Strategy developmentRequirement

discovery

Design methodologies

Design patterns and

styles

Traceability

Whole system design

Decompistion & Reuse

Requirement modeling

Technical PM

Application development

Example 2: Anna

Page 42: Architecture in practice

© Powered by Centiro

REAL WORLD EXAMPLEArchitecture in practice

Page 43: Architecture in practice

© Powered by Centiro

Capability map

Centiro capabilities overview

1. Platform and services development

1.1 Platform governance

1.3 Services development

2. Demand generation

2.1 Marketing, evangelism, PR

2.2 Direct sales

2.3 Partner relationships

5. External collaboration

3. Demand fulfilment 4. Planning and management4.1 Strategy development

4.2 Operational management

4.3 Financial management4.4 Human resource

3.1 Fulfilment

3.3 R & D3.2 Support services

3.4 Application Management

5.1 Strategic collaboration 5.2 Operational collaboration

1.2 Platform development

3.5 Project Management

Page 44: Architecture in practice

© Powered by Centiro

Team ecosystem vs. Customer

Innovation team

[R-D-F]

Innovate and manufacture

[R-D-F]

Build and deploy[D-A-F]

Build and deploy[D-A-F]

Customer Build and

deploy[D-A-F]

Customer Build and

deploy[D-A-F]

Delivery & Rollout[(A)-F]

Delivery & Rollout

[Partner]

Test managemen

t

TacticalManagement

Application ManagementArchitecture

Team

Helpdesk

Marketing and sales

Customer

Lifecycle perspective

ProductManagementDocumentati

on

ManagementFinance

HR

Page 45: Architecture in practice

© Powered by Centiro

ARCHITECTURAL DESCRIPTION

Tools of the Architect

Page 46: Architecture in practice

© Powered by Centiro

IEEE 1471 – AD

Page 47: Architecture in practice

© Powered by Centiro

What is Viewpoint

Page 48: Architecture in practice

© Powered by Centiro

Framework

Stakeholder Views

Areas of Interests  Missio

n Process Infor-mation

Inter-action

Quality Security

Infra-structure

Business              

Conceptual              

Logical              

Physical              

Page 49: Architecture in practice

© Powered by Centiro

Environment

Quality by itself

Goals

Processes Information

System

Page 50: Architecture in practice

© Powered by Centiro

Tooling• Identify organizational weekneses• Make easy templates

Page 51: Architecture in practice

© Powered by Centiro

COLLECTION POINTSReal world example

Page 52: Architecture in practice

© Powered by Centiro

Customer demands• Get a collection point from postal

code• Set attributes on a collection point• Get all postal codes that a collection

point serves• Support multiple service providers

Page 53: Architecture in practice

© Powered by Centiro

Example – Customer demand

Page 54: Architecture in practice

© Powered by Centiro

Standard functionality demands

• Handle changes • Geo-tagging• Multiple addressess• Versioning• Blacklisting – for different customers• Use ranges (Canada has 800000 postal codes)• Support differnt kinds (standard, Lantbrevbärare, box-

address)• Prioritization if multiple collection points• Administration - common for collection points –

exceptions by customer• Prestanda - < 0,2 sec for WS-search

Page 55: Architecture in practice

© Powered by Centiro

Example – Standard functionality

Page 56: Architecture in practice

© Powered by Centiro

Standard functionality demands

• Handle changes • Geo-tagging• Multiple addressess• Versioning• Blacklisting• Use ranges (Canada has 800000 postal codes)• Support differnt kinds (standard, Lantbrevbärare, box-

address)• Prioritization if multiple collection points• Administration - common for collection points –

exceptions by customer• Prestanda - < 0,2 sec for WS-search

Page 57: Architecture in practice

© Powered by Centiro

Example – scoped down implementation

Page 58: Architecture in practice

© Powered by Centiro

CENTIRO NEOReal world example

Page 59: Architecture in practice

© Powered by Centiro

Basic Information Area build up

Shipping

Planning

Finance

New area

CPort

ESB

Global

Information areas are independent of each others and should have no deployment or compile time dependencies

Information between areas should be communicated via ESB

Global should be master data information area but in other aspects as any other information area

CPort has special services for authentication, in other aspects as any information area

Page 60: Architecture in practice

© Powered by Centiro

Silverlight user interface

Shipping

Planning

Finance

CPort

Global

The Silverlight user interface is based on a shell that in itself contains no information storage.

The only purpose of the shell is to provide an infrastructure for displaying screens from all information areas and to provide basic functionality as authentication, menus etc.

The shell only knows of CPort. CPort provides links to all other information areas that are allowed for current user. CPort also provides menu and client permissions.

All information areas that uses the shell as UI must know the Shell.

Shell

At startup, Shell enforces user to login to CPort in order to get menu structure and links to information areas that user has access to

Page 61: Architecture in practice

© Powered by Centiro

Server side of Information Area

DB

Domain modelStorage

SL App

WCF app

XXX app

Foun-datio

n

Above are the main building blocks on server side in Neo. Each of the components will be described on the following pages• Foundation is Centiro Common Code and not specific for Neo• Applications are set up based on what they serve. No

implementation in apps, the domain model implements all functionality

• Domain model contains entities and services and mapping to storage.

Hosted in IIS,Win Service orApp fabric

Hosted in SQL Server 2008 orOracle

Page 62: Architecture in practice

© Powered by Centiro

Silverlight client for Information Area

Above are the main building blocks on Silverlight Client side in Neo. Each of the components will be described on the following pages• Foundation is Centiro Silverlight Common Code and not specific

for Neo• Shell is the framework for displaying screens

DB

Domain modelStorage

SL App

WCF app

XXX appFoun

-datio

n

Foun-datio

nService proxy

View Model

Model

View

Shell Hosted at client in web browser

Page 63: Architecture in practice

© Powered by Centiro

Thanx!E-Mail

TwitterLinkedIn

IASACentiro

[email protected] Tofteforshttp://se.linkedin.com/in/jonastoftefors

www.iasa.se www.centiro.se