The high-level design and description of a software system. Architectural design distills away details of implementations, algorithms, and data representation to concentrate on the interaction of "black box" components.

learn more… | top users | synonyms

5
votes
1answer
90 views

Choosing between Dependency Inversion and Dependency “Delegation” to a third module

Suppose I have MasterPackage containing a Master class, and BlasterPackage containing Blaster class. Since Master needs a Blaster to work, the higher level MasterPackage depends directly on ...
7
votes
1answer
135 views

Is event sourcing only for when writes are rare?

I'm reading up on event sourcing and can't stop asking myself if it only makes sense in exotic situations where writes are very rare or military-grade auditing is required. A non-exceptional system ...
14
votes
4answers
719 views

APIs and functional programming

From my (admittedly limited) exposure to functional programming languages, such as Clojure, it seems that encapsulation of data has a less important role. Usually various native types such as maps or ...
3
votes
1answer
121 views

Is having only static pages calling the backend a good idea?

I'm new to web applications development, specially when it comes to frontend, but as I understood, a typical structure for a big application would have a frontend php (or equivalent) layer calling the ...
0
votes
0answers
81 views

Type checking in factory, bad practice?

I'm working on an existing code base and am trying to reduce a lot of duplication and gain some polymorphic behavior. Right now I have a type of domain object with an abstract base class and two (at ...
4
votes
2answers
56 views

Multiple controllers for same resource based on user's Role

I'm having trouble designing this role (or permission) based application, when it comes to figuring out how to handle actions that differ per use role. For instance, our controller is ...
0
votes
0answers
23 views

pipeline step with two outputs which will be used by different later steps

I am creating a java package which offers an API based on a pipeline pattern. That is I have a series of steps which can be plugged together in any combination provided their inputs match the Output ...
1
vote
0answers
65 views

Architecture on OpenStack with Docker [closed]

My team presently has an application in production that was hastily written and poorly maintained. In an effort to slowly replace pieces of the overall application and address bottlenecks, I’ve been ...
10
votes
2answers
414 views

Why do programmers define programming models to replace C/POSIX for parallelism?

Providers of new computer architectures regularly try to introduce new programming models, e.g. recently CUDA/OpenCL for GPGPUs, and displace C/POSIX as the control interface to platform ...
1
vote
2answers
66 views

Implementing per-user storage usage quota in SaaS products

In a SaaS solution, that allows users to maintain their data on the server, if I have to implement various pricing schemes, where each scheme offers different storage quota, say, Basic subscription ...
1
vote
2answers
51 views

How to design a meta model for configuration? [closed]

In our software we have a client/server architecture where the server is actually running on an embedded system with various hardware components (sensors, etc.). The different sensors as well as other ...
1
vote
2answers
452 views

Making major version step in software development in separate repository [duplicate]

Currently we are planning to switch from our software version 5.x.x to 6.x.x. Such major releases contains in our case a lot of refactoring work and changing the software architecture. Instead of ...
1
vote
2answers
254 views

How to write highly changeable, highly complex software? [closed]

I know questions like this has been asked before. But none of them truly answered me. How to keep a big and complex software product maintainable over the years? How do you organize highly customized ...
0
votes
1answer
41 views

Architecture/technology for implementing Management console [closed]

I'm having a distributed environment which include several machines under the same network , which are being controlled by another computer in another network which is also running a UI for doing the ...
3
votes
3answers
174 views

Web Services vs Server Side Methods

With all the front end development frameworks now available. I'd like to know if the generally accepted protocol is for a back end service to simply provide web services for the front end to consume? ...
2
votes
1answer
117 views

Enterprise Architecture: Where to put persistence/dbContext management? [closed]

I'm working on architecting a somewhat enterprise-level solution and have a question about how to best handle the persistence details. My overall setup is that there's a core set of business ...
1
vote
3answers
168 views

I have one app on one server - is there a critical reason to use a web server like IIS or NGINX? [closed]

Considering the following For a stack: ASP.NET/MVC5 WebApi with Single Page Application (SPA). This typically must run in IIS or hosting container (OWIN). I want to deploy multiple web application ...
7
votes
3answers
969 views

Uncle Bob's clean architecture - An entity/model class for each layer?

BACKGROUND : I'm trying to use Uncle Bob's clean architecture in my android app. I studied many open source projects that are trying to show the right way to do it, and I found an interesting ...
18
votes
5answers
2k views

Where to describe architectural problems?

I joined the middle of a middle size project, which runs already for several years. One of problems is that the document describing the architecture was never written. Now I was assigned a task to ...
0
votes
1answer
159 views

What are the benefits of Docker? [duplicate]

Docker is becoming quite popular. I've used it as an end-user just 3 times, and it never worked as expected. But assuming it does work, can you please list some actual benefits? And contrast them with ...
1
vote
2answers
81 views

Architecture supporting digitally signing of tons of soap requests [closed]

What is the optimal architecture for such case: Web application(.Net Web Forms) connects to third party web service via wcf. Third party web service accepts only digitally signed soap requests Some ...
0
votes
1answer
98 views

How to write unit tests for an application that mostly performs “hard to test” actions? [duplicate]

In my company we develop medical data-acquisition systems. The main functions of each application are: Interface with data-sampling hardware; Save/load collected data to/from files on disk; Perform ...
4
votes
1answer
175 views

Is it always the best way to go to queue emails instead of sending them real-time? [duplicate]

If you had to decide between queueing emails and sending them real-time, is it always the best way to go putting them in a queue and sending them one by one instead of instantly as soon as a user ...
3
votes
2answers
138 views

Design review of a small configuration framework [closed]

I want to create a simple configuration framework. Yes I know, there are many frameworks, which make their job very well. But for interesting in architecture, I want to create my own. My framework ...
0
votes
1answer
40 views

Where should I log in the user based on http session: service or controller?

I know that best practice is to let everything about authentication/authorization to the service layer. Controller should not be aware of that. But how to let a service (from service layer so) to ...
0
votes
1answer
68 views

expressjs: is it bad practice to use req.hostname for querying a db?

I'm building a nodejs app I would like to make available under various settings by my customers. I want my customers to build their websites on top of my app, so: - the app can be configured in a way ...
1
vote
2answers
178 views

What are the advantages of a 'traditional' 'backend' architecture for a standard CRUD app? [closed]

In the past few years, 'client-side' web applications have become popular. A common approach nowadays is to have the backend as thin as possible, mostly exposing an API for the client-side Javascript ...
1
vote
1answer
165 views

Difference between ESB and ETL

When should a ESB vs ETL tool be used? I have worked on ESB projects using Tibco Businessworks quite a few years ago. The message bus that we built used to consume messages from a source system , ...
8
votes
4answers
511 views

Are there any significant disadvantages to depending upon abstractions?

I was reading this wiki on the Stable Abstractions Principle (SAP). The SAP states that the more stable a package the more abstract it should be. This implies that if a package is less stable (more ...
3
votes
2answers
186 views

Should I use my own public API for my web interface?

I am designing an API with django and its rest framework (and I am already not sure if it worth the hassle to version it or not). I totally know the iOS and Android apps will call the API, get a ...
2
votes
1answer
50 views

Custom Outlook Web App Shared Mailbox

We currently have a large amount of custom mailboxes hosted on Lotus Notes/Domino and have been tasked to migrate these over to our Outlook/Exchange environment. The mailboxes are basic Lotus Notes ...
3
votes
3answers
288 views

How to start using DDD in designing a “library” application

I want to design an online book reader. The first step is describing all the use cases which I have listed below: I should be able to search a book by title. I should be able to borrow a book. I ...
2
votes
1answer
59 views

Using short-lived REST requests to obtain messages from a message queue for clients

I would like to put together a system where clients obtain messages from a REST API, but with the producer being able to use the semantics of a message queue: e.g. ordering of messages, a destination ...
1
vote
3answers
263 views

Use of electronics in programming [closed]

Does a programmer need to have a deep understanding of digital electronics. Theoretical v/s practical. As what they teach us at college is pretty basic? If yes, then do all kinds of programmers ...
3
votes
2answers
141 views

C# Abstract math classes from libraries

I'm currently writing a library that abstracts 3D rendering and uses SharpDX and OpenTK as graphics libraries. The problem is that OpenTK and SharpDX have their own implementations of Vector2, Matrix, ...
0
votes
1answer
190 views

Rich Model vs God Class [duplicate]

I have a legacy code containing some behaviour classes, like services and controllers. My model is pretty anemic. It's just a repository of getters and setters, and I wanna refactor it. There is a ...
1
vote
1answer
41 views

What are good/common practices to manage disabling/enabling functionality items in GUI applications for different licenses/permissions?

I have worked on two different desktop applications and both had the problem of enabling/disabling functionality and associated GUI elements depending on available licenses or "user-roles". In the ...
2
votes
3answers
172 views

Design pattern for large amounts of overflowing data?

Our current queues publish messages that consumed by 3rd party services with rate limits. Currently the messages are retried with exponential back-off. However there could be cases where data is ...
2
votes
1answer
69 views

Modeling resources with links

Context To be fully compliant with the REST principles enumerate in Fielding's dissertation, a resource must contains links that redirect to other resources that have a relation with it functionally, ...
-1
votes
1answer
81 views

Simple explanation of MVC needed [duplicate]

I am trying to understand MVC, but for most of the Q&A's I have seen, the description is great but I cannot quite understand it, I think it works like this scenario I thought of: User ...
-1
votes
1answer
106 views

Synchronous architecture with asynchronous repository

In order to keep clean architecture of my node.js microservice I have controllers, services and e.g. repositories. I want a synchronous data flow: controller -> service -> repository -> service -> ...
0
votes
0answers
53 views

How to organize common application state?

I'm creating a Java application with JavaFX, using the MVVM pattern to structure the presentation layer (don't get too hung up on the MVVM part, I think this applies to other MV-X patterns as well). ...
0
votes
2answers
106 views

Change number of publishers/subscribers at runtime

I need to redesign distributed Publish-Subscribe solution in our product. Problem description We have several producers (NT service), queues (MSMQ) and consumers (IIS server). Task handling requires ...
7
votes
2answers
2k views

how to refactor many singletons

I have a medium-sized python program (~5000 lines of code), which I've built up over time, with no particular plan as I went ahead. The architecture I've ended up with consists of 5-6 large Singleton ...
3
votes
1answer
260 views

What architecture should I use for my game entities?

I am working on my final year project and making a multi player game. It's a tank battle game. In the client basically we will have 2 types of Tank. One will be controllable by the keyboard and ...
8
votes
1answer
318 views

Are Windows 10 app services only useful in enterprise environments?

I have been following one of the capabilities Microsoft introduced for the Universal Windows Platform (UWP), namely app services. An app can now provide a service in the form of a background task that ...
1
vote
1answer
98 views

RESTful service layer with MVC

I need a advice on creating an architecture where I want API layer in between UI layer and business layer. UI layer should only consume REST services for displaying data. Reason for doing this is ...
0
votes
0answers
17 views

How to organize enterprise software in Git [duplicate]

I'm running into a conceptual design dilemma with our enterprise software. I'm hoping someone on here can help point me in the right direction. We have many different applications: Three Windows ...
2
votes
2answers
315 views

Benefits of using separate API and UI servers for Web application

At work, we have a large internal application which has been under development for close to 2 years now; I've just recently joined the project and some of the architecture has me slightly perplexed, ...
5
votes
2answers
170 views

Do I violate the Single Responsibility Principle with my multi-purpose AST Class?

I am writing a compiler, for which I devised a rather classic architecture: it's composed of sequential passes piped together, starting with a lexer and a parser, continuing with a macro processor, ...