Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.
-
Upload
adam-taylor -
Category
Documents
-
view
228 -
download
0
Transcript of Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.
![Page 1: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/1.jpg)
Software Architecture
In Practice
Volodymyr Yelchev, Solution Architect at SoftServe
![Page 2: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/2.jpg)
Bio
• 16 years in Software Development• 6 years experience in Real Time systems
development• 10 Years of experience in Business Application
development for Enterprise• Certified Scrum Master• More than 2 years of Architecture experience• US Healthcare domain expert (EHR, EMR, PM)• SaaS architect at SoftServe
![Page 3: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/3.jpg)
What is Software Architecture?The high-level breakdown of a system into its parts
![Page 4: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/4.jpg)
What is Software Architecture?
The decisions that are hard to change
![Page 5: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/5.jpg)
What is NOT Software Architecture?
Details that do solely with internal implementation - are not architectural
Student1
*
School
Conselor
Teacher
-grade
Class
1
*
1*1
*
![Page 6: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/6.jpg)
Why Architecture is needed?
Finnish houseBudget: $60KTeam: 5 developersTime: 45 daysNo Architects
![Page 7: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/7.jpg)
Why Architecture is needed?
Finnish houseBudget: $60KTeam: 5 developersSchedule: 45 daysNo Architects
Burj KhalifaBudget: $1.5BTeam: 7,500 developersSchedule : 5 yearsArchitecture Team
![Page 8: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/8.jpg)
Why Architecture is needed?
• Complex or non-trivial product• Multiple teams
![Page 9: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/9.jpg)
SA Activity
• Sales and Marketing Support• Technology Consulting• Discovery Projects• Project Bootstrap• Ongoing Architecture Support• New technology investigation• Trainings• Competence Development
![Page 10: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/10.jpg)
Architect Decision Scope
Solutions Architect Scope(Delivery Group)
System Architect Scope(Domain, e.g. Java, .NET, BI)
Application Architect Scope(Project)
Component Scope
![Page 11: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/11.jpg)
Logical Architectural Framework
Reference Architecture
SolutionArchitecture
Patterns
Technology
System Requirements
Business Requirements
derived
use
useuse
use
Abstract
Concrete
![Page 12: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/12.jpg)
Architecture Drivers (example)
Business requirements: ?
System requirements: Hosted Web-based Solution (Private Cloud)
Desktop and Slate devices support (Win, Mac, iPad, Android, WebOS)
Multitenancy (SaaS Level 4)
Data Model Extensibility (Dynamic forms)
UI Customization (forms layouts, themes, logo…)
Multi-language support (run-time switch)
Integration with external systems
Provisioning (Automated)
Security (Role based, HIPAA, SSL 2048)
Availability (24x7, 99.9%)
Maint. Window (6h), Disaster Recovery (48h)
Fault-Tolerance
Scalability (~8000 offices)
Business Constraints: Time To Market (?)
![Page 13: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/13.jpg)
Target Architectural Patterns
SaaS Patterns
Hosting
On-Premise Datacenter
Managed Hosting
Cloud
Application
Scalability
External Load Balancer
Client-Side Load Balancing
Stateless Principle
State Replication
Tenant Partitioning
Performance
Data Caching
Content Caching
Coarse-Grained Interface
Asynchronous Processing
High-AvailabilityRequest Queuing
Concurrency Control
Fault-ToleranceFailover Cluster (Active/Active)
Failover Cluster (Active/Standby)
MonitoringSLA Real-Time Monitoring (Active)
SLA Real-Time Monitoring (Passive)
Data StorageRDBMS
Data Isolation
Separate DB
Shared DB, Separate Schema
Shared DB, Shared Schema
Data Extensibility
Preallocated Fields
Custom Schemas
Name Value Extension Table
XML Columns
Data Security
Trusted Database Connections
Secure Database Tables
Tenant Data Encryption
Tenant Data Filter
Performance and ScalabilityTenant-Based Horizontal Partitioning
Vertical Scale Up
Fault-Tolerance and High-AvailabilityData Replication
NOSQL DB
Multi-Tenancy
Level 1 (Ad-Hoc/Custom)
Level 2 (Configurable)
Level 3 (Configurable, Multi-Tenant-Efficient)
Level 4 (Scalable, Configurable, Multi-Tenant-Efficient)
![Page 14: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/14.jpg)
Reference ArchitectureTraditional Web Client
PC Browser
HTML Rendering
Application Services
Web Frameworks Programmatic Access
Business Logic Workflow (Processes)
REST WebServices
Rule EngineEvent
ProcessingBusiness
Components
Web Application framework
Template engine
BPM Engine
Data Access
O/RM Mem Caching
Collaboration
Search EngineContent
Management
Infrastructure Services
RIA Client
PC Browser
RIA framework
RIA components
RIA utilities
Web Server
Serlvet Container
Application Server
HTTP Server
Messaging
Message Queue ESB
Cross-Cutting
Sec
uri
ty
Iden
tity
and
A
cces
sS
ingl
e S
ign-
On
Distributed Computing
Distributed Computing Framework
Storage
NoSQL DBIn-memory
DBRDBMS
File storage
Op
erat
ion
Man
agem
ent
Bui
ld &
Dep
loy
Mon
itorin
gB
AM
Uti
litie
s
Com
mo
n F
ram
ewor
kIn
teg
ratio
n
Rep
ort
ing
/BI
AdH
oc
Rep
ortin
gR
epor
t Eng
ine
DW
![Page 15: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/15.jpg)
Technology Presets (example)
Open Source MS .NET MS Azure
JSF/ExtJSSpringHibernate/JPAJBoss AS/TomcatJBoss DroolsJBoss BPMOpenJMSMule ESBMySQL/PostgreSQLJasperServer/JaperReports
ASP.NET MVC 3SilverLight/WPFEntity FrameworkWCFMSFWFMS BizTalk/ESBMSMQIISMS SQL ServerSSRSSSIS
Azure PlatformSQL Azure AppFabricAzure StorageService Bus
![Page 16: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/16.jpg)
Ref Architecture + Technology StackTraditional Web Client
PC Browser
HTML Rendering
Application Services
Web Frameworks Programmatic Access
Business Logic Workflow (Processes)
REST WebServices
Rule EngineEvent
ProcessingBusiness
Components
Web Application framework
Template engine
BPM Engine
Data Access
O/RM Mem Caching
Collaboration
Search EngineContent
Management
Infrastructure Services
RIA Client
PC Browser
RIA framework
RIA components
RIA utilities
Web Server
Serlvet Container
Application Server
HTTP Server
Messaging
Message Queue ESB
Cross-Cutting
Sec
uri
ty
Iden
tity
and
A
cces
sS
ingl
e S
ign-
On
Distributed Computing
Distributed Computing Framework
Storage
NoSQL DBIn-memory
DBRDBMS
File storage
Op
erat
ion
Man
agem
ent
Bui
ld &
Dep
loy
Mon
itorin
gB
AM
Uti
litie
s
Com
mo
n F
ram
ewor
kIn
teg
ratio
n
Rep
ort
ing
/BI
AdH
oc
Rep
ortin
gR
epor
t Eng
ine
DW
ExtJS/jQuery
Grails Grails
Grails
GORM
JBoss/GlassFish
MS SQL
Gra
ils
![Page 17: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/17.jpg)
Now Most Difficult Part
![Page 18: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/18.jpg)
Questions
![Page 19: Software Architecture In Practice Volodymyr Yelchev, Solution Architect at SoftServe.](https://reader036.fdocuments.us/reader036/viewer/2022062304/56649da25503460f94a8f6f1/html5/thumbnails/19.jpg)
Copyrights
• During this presentation used following sources– Serhiy Haziyev materials – SoftServe AG materials