Software Architecture - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Software Architecture

Description:

A (working) definition of Software Architecture. Why is it ... Advert. License. Per Trans. Service Orchestration. Line of Business. Infrastructure. On Premise ... – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 39
Provided by: hart100
Category:

less

Transcript and Presenter's Notes

Title: Software Architecture


1
Software Architecture
  • More Revenue with Software Architecture?
  • Hartmut Kaiser
  • Hartmut.Kaiser_at_microsoft.com
  • Developer Platform Strategy
  • Microsoft Germany

2
Agenda
  • Market
  • A (working) definition of Software Architecture
  • Why is it important ? Potential benefits of doing
    it
  • Some supportive tools/aids from Microsoft
  • Conclusion

3
Lets start with the market
  • Trend and Microsoft Strategy
  • How many architects do ISVs employ in germany?

4
Change in the markets
Economic Strong competition Infrastructure prices
commodization More/different devices Web 2.0
Customer Requirements Short ramp-up Time-to-Market
User Experience New business models
Hosting Model Hybrid Modells(on-premise, hosted,
online) Scalability Seamless Integration of
Software and Devices and Services through the Net

5
Potential of hosted Services
worldwide
32 increaseof SaaS-Revenues anticipated,
2007-2011 (IDC 207491, July 2007)
32 more
25 of all new business applications as Services
in 2011 (Gartner, October 2006)
25 Services
Size of the SaaS-market by 2011
(Revenues) (Yankee Group, January 2008)
20 billions
6
Software Services

Web 2.0
SOA
SaaS

Business Models
ServicesMashups
Integration of Internet-Services
Operations
User Experience
7
Seamless Continuity
Hybrid Model
Traditional IT
Pure-Play SaaS
On Premise
Hosted Services
Infrastructure TCO Time to market - External
Dependencies - Less flexible
  • Control
  • Customization
  • - Costs
  • - Know-How

8
This are Architectural Changes
  • What are our business priorities with regard to
    external data,operations,development?
  • Is it possible/feasible to find/introduce the
    necessary Interfaces when moving parts of the IT?
  • How to refactor existing solutions?
  • How about IP, privacy, performance?
  • .

9
Some common verbatims when talking to smaller
companies
  • We dont have the resources to do whats not
    absolutely necessary when implementing our
    customers requirements
  • We need more developers, not frameworks
  • Time to market is critical we take the direct
    path
  • If we would launch a new greenfield project,
    architecture/design would be the starting point
  • Frameworks, Patterns, where should I start ?
  • Architecture is for big companies with complex IT
    and for Software projects with very big teams

10
Architects in the german ISV market
  • A study was conducted in Q1 2008 to understand
    the size of the architects audience in the
    segments
  • Research Consultants called into companies and
    asked the head of SW Development or Head of IT
    or CIO
  • Do you employ?
  • SW Architects, characterized as
    experienced/senior SW Devs, making technical
    decision with consquences to more than one
    module, e.g. platform choice, technology choice,
  • Being responsible for SW Design and overall
    SoftwareDevelopment/Quality, are supported by SW
    Devs
  • SW Devs on their way to SW Architects (want to or
    in education)

11
SW Architects at german ISVs
Do you employ (at least one or more) SW
Architects ? (by definition not by jobtitle, as a
role)
Source Techconsult quantitative study 2008Q1
12
Architecture is maturing at german ISVs
How many SW Arch do you employ/do you need
additionally?
Source Techconsult quantitative study 2008Q1
13
German ISVs SW Architects
Official Jobtitle of the Software Architect?
Source Techconsult quantitative study 2008Q1
14
And.
  • Different data
  • UserGroup, Enterprise Accounts,
  • All show the same trend
  • more architecture!

15
Definitionwhat is Software Architecture ?
  • First of all, there is no single definition
  • The discipline is forming
  • IASA
  • Software Engineering Instititute SEI
  • Resource slide provides links to many, many
    definitions

16
(pragmatic) DefinitionWhat is Software
Architecture ?
  • Understanding/interfacing the business
    requirements (br)
  • Translating between business IT
  • Designing a Software-Solution that meets br
  • -gt Requirements Engineering, Software Design
  • Developing the structure of the solution,
    including
  • Choosing patterns, a platform, technologies
    protocols, placing interfaces, communicating back
    to business
  • Achieving the non-functional qualities
  • Performance, security, scalability,
    reliability...-gt e.g. test?
  • Applying methodology heuristics

17
How to find the best Arch ?
  • Frameworks defined in strategy groups ?

18
How to find the best Arch ?
  • Finding the right architecture is a process of
    asking the right questions

19
How to find the best Arch ?
  • Programming can only start when architecture is
    defined as specific structure, so someone has to
    decide in favor of something
  • Every decision (to choose a specific
    pattern/substructure) eliminates degrees of
    freedom for later use
  • Use the available degrees of freedom responsibly
    decide late, only when fulfilling important
    requirements needs that decision

20
If that sounded too easy
  • Make the business side detail their requirements
  • Balance what cant be achieved together
  • Mediate compromises between different
    stakeholders
  • Apply broad technical knowledge to identify the
    right alternatives, at the same time apply deep
    technical knowledge to
  • control feasibility
  • Be able to convince techies
  • Know the patterns and how they work
  • Evaluate trends
  • Document and maintain architectural views

21
What did we learn?
  • Architecture is not defined very well
  • It looks like a lot of work
  • Still many are doing it
  • There is a trend to more architecture
  • What are the benefits?

22
SS World
23
SS Architecture Scope
Monetization and Composition
ApplicationArchitecture
Consumption
Delivery
24
ISVs Build SS solutions
  • Scenarios
  • How to build SS
  • Re-architect for SS

25
Mass optimiziation
  • As an ISV, your core competency is to write high
    quality software the specific part of it
  • You cant and wont outsource/automate this
  • But is e.g. the generic process of organizing bug
    fixing your core competency ?
  • How about (federated) identity management with
    SSO ?
  • Both are examples where you might benefit from
    leveraging economies of scale by using available
    protocols, libraries, technologies, software,
    services

26
SS Architecture Build
  • Application Architecture
  • Designing a back end as a service
  • Multitenancy vs. Isolation
  • Customization Metadata - Templatized
  • Performance
  • Self Service / Try before you buy
  • Designing Rich front end
  • Disconnected experience
  • Smart Client tenant customization
  • Office as UI

LitwareHR
27
LitwareHR Overview
28
LitwareHR
  • An SS sample application that demonstrates
    common design patterns
  • http//www.codeplex.com/litwarehr
  • Technologies support Dev Platform
  • Today .NET Fx 3.5 (WPF,WCF, WF), AD, VSTO
  • Future Azure Services

29
Patterns Practices
30
SS World
31
S S Platform
PC
Mobile
Embedded
Browser
Office
Client
Gadgets
IM
Speech
SMS/IM
Browser
Office
Client
Devices
Consoles
Programmatic Access
Presentation
RSS
REST
Web Services
VoiceXML
Static
Dynamic
RIA
Streaming
SMTP
SMS
SIP
Application
Workflow (Processes)
Entities (Schema)
Business Logic (Rules)
Collaboration
Monetization
Composition
Search
Social
Content Mgt
Subscribe
Advert
License
Per Trans
Service Orchestration
Line of Business
Identity Access
Messaging
Storage
Workflow
Service Bus
Peer to Peer
Unstructured
Event Based
High Throughput
Relational
File
Authentication
Authorization
Compute
Physical, Dedicated
Physical, Shared
Physical, HPC
Virtual, Single
Virtual, Scalable
On Premise
Hoster
Cloud
Vendor
32
SOA Single Service
33
Are youconvinced?-)
Geekandpoke.com used under creative commons
license
34
Personal aspects involvedwhen driving
architecture
  • Architectural questioning is driving the solution
  • Taking on responsibility
  • Very diverse no routine, but complete profile

35
Show me the money
36
Show me the money
  • Architecture has the potential to
  • - let you concentrate on your core competencies
  • - while using economies of scale where possible
  • - enable dynamic evolution of your product
  • - help to communicate efficiently (if documented)
  • - Minimize risks through market change

37
Resources (2) Definition of Architect
Architecture http//www.microsoft.com/germany/arc
hitecture/architektur/default.mspx

http//www.sei.cmu.edu/architecture/definitions.ht
ml
http//blog.softwarearchitecture.com/2
007/06/most-important-compentencies-of.html (4)
SoftwareServices http//www.microsoft.de/archite
cture/software-plus-services (german) with Links
to Litware HR http//www.codeplex.com/litwarehr
Gianpaolo Carraro http//blogs.msdn.com/gianpaol
o/default.aspx Holger Sirtl http//blogs.msdn.co
m/hsirtl/default.aspx (german) MSDN Architecture
Center Solution Architecture http//msdn.microsof
t.com/de-de/architecture/aa699418(en-us).aspx Pat
ternsPractices _at_ MSDN http//msdn.microsoft.com/
de-de/practices/default(en-us).aspx Architecture
Refactoring http//www.microsoft.com/germany/arc
hitecture/oop2008/default.mspx (german)
38
Thank you! Hartmut.Kaiser_at_microsoft.com
Write a Comment
User Comments (0)
About PowerShow.com