Link to home
Start Free TrialLog in
Avatar of blkprl
blkprl

asked on

How to design high level architecture for software product

I would like to know the approach one has to take to architect software product/solution. How to device a high level architecture for a product being built from scratch? Requirements: service oriented, scalable data integration (interoperability) solution.

Please share references that may help learn software architecture/design basics. I have very broad (not deep) technical background including software engineering with basic coding skills as well.

I am not trying to become an expert architect but want to know key factors, pitfalls etc  of 'modern' software architecture.
Avatar of dpearson
dpearson

That's a huge challenge.  The skill that most architects bring is being able to look at a particular problem and realize what challenges it will face and what technologies will perform best given those challenges.

There's not really any way (that I know of) to just read up on architecture basics.

What you could do is post the details of what you are trying to build and then you may be able to get input on specific technologies that you might want to explore.  That's potentially doable because it's for one particular type of system.

Reading up on all possible architectures for all possible problems is just too big of a challenge.  Most people take a decade or more to gain that understanding and even then seasoned "software architects" get it wrong a lot of the time - because the problems are really hard and our industry is very young.

Doug
Avatar of blkprl

ASKER

Building a data integration solution with ability to connect to several systems and exchange data primarily through web services or HL7.
That seems a lot more tractable.  Unfortunately not something I can personally help with as I've never designed that sort of system, but hopefully other experts will weigh in.

Doug
here are two links which might help.
-
Chapter 2: Key Principles of Software Architecture - MSDN - Microsoft
https://msdn.microsoft.com/.../ee658124.as...
Microsoft Developer Network
Overview; Key Design Principles; Key Design Considerations ... Software architecture is often described as the organization or structure of a system, where the ...


SEI Training | Software Architecture: Principles and Practices
www.sei.cmu.edu/training/P35.cfm
Software Engineering Institute
This course is based on the book Software Architecture in Practices, 3rd Edition. ... some familiarity with modern software engineering concepts ...

Note that the second link refers to a text book which night be of interest
In case the first link above can't be determined:

https://msdn.microsoft.com/en-us/library/ee658124.aspx

I'd suggest that the SEI link would be preferred first, with the MSDN link being supplementary.
Speaking from experience (over 20 years): If you have never created high level software architecture, no matter what documentation you read, the task will be daunting.

You would well to consider hiring IT consultants to carry out the work for you.
Avatar of blkprl

ASKER

@Paul- I understand your point and agree. However, I have to slowly evolve in this area and learn slowly. Job calls for it so any help will go a long way.

@Experts-
Need to build a data integration solution with ability to connect to several systems and exchange data primarily through web services or HL7.
I am also trying to find if there are any open source alternatives similar to Mirth interface engine (mirth.com)
This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.