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

1
vote
1answer
221 views

Service layer - fat service classes?

Let's say that I have a service for Job Offer entity in CRM app. Job offer is related to many many things, so there will be lot of methods on service layer to interact with above. What should be ...
0
votes
1answer
108 views

How should I structure an application containing business logic and display? [duplicate]

I'm working on a simple board game that will run in the browser. I'm thinking how to structure the program and I'd like to hear your opinions. The program will consist of the user interface part (the ...
3
votes
1answer
113 views

Software Design: Generating Documents Of Different Formats and Different Layouts

I am currently prototyping a piece software which must be able to generate different types of documents in different file formats. The document could be a letter, or a receipt, for example, requested ...
1
vote
4answers
180 views

Database design for objects with multiple states

Context I'm designing a database which, simplified, should be able to handle users sending job requests to each other, and after that a job can be started, finished, and reviewed. The design should ...
2
votes
1answer
234 views

Are there any design pattern to data binding in event driven architecture?

I develop a browser based game with node.js in back and HTML5 canvas in front-end. It use WebSockets for communication. My plan is to generate business events in client side, e.g.: "finishJob". ...
2
votes
3answers
102 views

Architecture for an event admission ticket scanner for events with multiple entries

I am working on a service that lets event organizers sell tickets to their events online (a lot like Eventbrite to be honest). The customers then print the tickets themselves (each ticket has a ...
1
vote
1answer
54 views

java add new modules to an existing app

I have an app build with JSF2.x Spring IoC,transactions and JPA over Hibernate. This is a fully functional call center app. The challenge is that now I want to add some HR functionality where the HR ...
13
votes
2answers
618 views

What does “business logic” actually mean if not “all non-3rd party code”?

I've heard people talk about business logic a lot at work, and online, and I've read several questions on this site about it, but the term still doesn't make a lot of sense to me. For example, here ...
3
votes
1answer
109 views

Deciding How To Split Up Architecture Using If Blocks

I'm having trouble deciding the best way to handle splitting up if block checks for different architectures. I may be handling the scenario completely wrong, so let me know if that is the case, or if ...
2
votes
1answer
296 views

Understanding memory update propagation in x86/x86-64 CPU L1/L2/L3 caches and RAM

I'm trying to understand in a general sense how L1/L2 (and now L3 caches) are updated and how the updates are propagated in a multi-core x86/x86-64 CPU to the other cores and eventually RAM. Assuming ...
2
votes
0answers
54 views

Economics of scaling, denormalizing NoSQL for personalized content

I am using Cassandra for a data intensive app. With relatively little operations and deployment experience, the expertise I am looking for is someone that can read the example below and decide whether ...
0
votes
2answers
156 views

Flexible and easy to use settings class

I am thinking about a way to create a flexible "settings class" in C#. The question is: How to provide a confortable way to provide default values to the settings. I want the programmer to access the ...
2
votes
0answers
152 views

Decoupling of Model and API (in an .net WEB API Project)

I currently have one separate project for my models, and one separate project for a API application that consumes this model. The intention of the separation is to avoid any outgoing dependencies from ...
2
votes
1answer
228 views

Developing a compiler for a self made CPU Architecture

Recently ive been consumed by creating my own simple CPU architecture that at some point could be easily implemented in hardware (No FPGA, but actual Logic Gate circuits). Naturally to fulfill this ...
0
votes
2answers
901 views

Clients connect to WCF or SQL Server

I was wondering what is the prefered way of accessing data from a server in a client application. The data will be stored on the server in an SQL database and I have previously used the following 2 ...
3
votes
4answers
179 views

REST-full design: recommended approach for fetching related entities

Suppose I have two entities author and post, were every post has an author. Implemented are these REST calls Get a paginated list of posts: GET /posts?page={page} Get a list of authors: GET ...
-1
votes
1answer
144 views

Approaches for manage AD users inside my HR system [closed]

I want to start a new HR web application based on asp.net mvc-5 & Entity Framework. as it is almost the case Users inside the HR system will exists inside the AD, and when a new user join our ...
3
votes
1answer
98 views

How should I represent composeable, associative computations to be repeatedly applied to units of data?

Spoiler My question is the following: Are there any design patterns for representing chainable functions that are for the problem described below? High-Level Decription of the Process I'm ...
1
vote
1answer
87 views

Best approach for managing users that are defined inside the active directory , inside my custom application

I want to start a new asp.net mvc5 Personal Appraisals web project. Now I will have a module inside the system for managing users, and adding info such as primary role, secondary role , main skills , ...
0
votes
2answers
88 views

Sending a notification to each participant 3 hours before the meeting starts

Let's assume an application that deals with meetings where some users will participate. What is an efficient way to achieve this use case: 3 hours before the meeting should start, one reminder mail ...
0
votes
1answer
123 views

Service bus all the things [closed]

Lets assume the following scenario: bus -> service A -> bus -> service B -> bus One message comes in, one message goes out.. There could be a few reasons why to have a bus between A ...
0
votes
1answer
362 views

Clean architecture: should users go in the use case layer or the domain layer?

I recently read this article about Clean Architecture, as I'm trying to get out of some usual OO habits (interface design everywhere, but what does it do???), and program something that describes what ...
3
votes
1answer
354 views

Introduce Data Transfer Objects or expose complex data model in REST

We are working on an MVVM application. Jersey (backend) exposing a REST interface and AngularJS (frontend) being the only consumer of this interface. The application uses a complex database model ...
6
votes
1answer
371 views

In MVC should a model contain subview models?

Some background: A colleague and myself have different interpretations of MVC which means, given the same problem, we are coming up with radically different solutions. He comes from a Java background ...
1
vote
1answer
270 views

Alan Kay: “The Big Idea is Messaging” [duplicate]

Alan Kay said "OO" was about messaging, not objects and drew a parallel to biological cells. His views are enticing, but vague. The way I understand it is something like a Cellular Automata. In a ...
-1
votes
1answer
87 views

New DDD, context-oriented, functional… approach in building business layer [closed]

We are building some business modules that must be intuitive for developers to use, so the code itself explains and forces developers to use it in certain way. This applies both for enhancing the ...
3
votes
4answers
257 views

How do you handle versioning in a multi-sided project?

I know it's a broad question so I'll try to be as specific as possible. This question is more an "organisational" question than a technical one. We have a multi-sided project with these main ...
2
votes
0answers
110 views

How would one implement communication between an input device and a PC?

I'm trying to get started on a side project using a mobile device (tablet or smartphone) as an input device to a PC. In its most simplest form, I envision using the mobile device touchscreen to ...
0
votes
1answer
240 views

What are the key areas to evaluate software (codebase) on? [closed]

I have been asked to do a code review of about 50 applications over a period of 6 weeks. (Management has changed and the new CTO asked for an full internal software audit) I am wondering, what are ...
3
votes
1answer
125 views

Is console logging inappropriate for chatty applications?

12 Factor states that applications should log to the console, those console logs should should be unbuffered, and the logs should be redirected to someplace useful (file, database, whatever). But ...
3
votes
1answer
48 views

Dealing with Users and User-Owned Data in an API

I have a question about the way I am architecting an API. Structure My API structure so far is like so (there is about 10 classes total, but many are similar, so I've reduced to these classes, and ...
1
vote
0answers
113 views

Design architecture and software for webapp integrating with few other endpoints (Email Server, Jira, CRM system)

In my upcoming project, I need to integrate a webapp with few other endpoints. Main duty of the webapp will be some kind of thin-client for inner JIRA system for company. Moreover, I'll need to ...
0
votes
2answers
293 views

Java Web Application in Cluster with Shared Database. How to Negotiate an Instance to do Updates? How to Notify Instances of Updates? [duplicate]

I have a Java web application, running in a cluster of Tomcat application servers and a shared SQL/JDBC database. Data from the database is cached in memory in each instance of the web app. My web ...
20
votes
3answers
3k views

Why is it so bad to read data from a database “owned” by a different microservice

I have recently read this excellent article on the microservice architecture: http://www.infoq.com/articles/microservices-intro It states that when you load a web page on Amazon, then 100+ ...
3
votes
1answer
171 views

How to introduce Google Analytics code in a modular way?

We are working on a very large codebase. It's basically a web-based operating system, with its own file system and applications. The system's UIs are generated dynamically with Javascript. We've ...
4
votes
3answers
284 views

Batching immutable object changes?

With immutable models, what would be the best way to batch several changes? For example, let's have a Book that is immutable. I need to change both title and year. I could change one by one, but that ...
0
votes
1answer
134 views

Using entityManager/repository Class/session factory directly in controller

I wonder what is your approach on following subject: let's say we have MVC structure with entities, repositories, controllers and service layer. My approach to use above was pretty clear for me: ...
2
votes
1answer
79 views

Encapsulate one business story/use case in one class?

I don't like classes like *Service, with bunch of business methods - aka anemic model. I was thinking, instead, to have a class per use case. This was inspired (if not the same) from CQRS. Even if we ...
2
votes
2answers
89 views

Plugin/modular architecture - deployment concerns

I'm developing a desktop application in .Net that follows a plugin architecture, something like this:- I have a "core" .Net solution, containing the desktop exe project, and a handful of class ...
3
votes
3answers
435 views

Calling Web API vs adding reference to underlying dlls

This is more of an Architecture question, and I want to know all the possible pros and cons of the approach. In my org, we have an ASP.NET Application say "A", a Web API Project say "W", and ...
2
votes
3answers
143 views

Collections, relationships and tracking changes (in DDD)

Let's say we have a Book that has a List of Authors. Order of Authors is important. We then have the update page, where user can 1) add new author, 2) remove existing author or 3) change the order. ...
1
vote
1answer
253 views

How do you keep control in a large software project? [duplicate]

I've a large-ish software project that I'm the sole developer for (~80KLOCS and counting - I know there are much larger projects out there, but it's an order of magnitude larger than I've ever had to ...
1
vote
2answers
62 views

Models, types, different views and meta data

We have a software which purpose is to be used to help users build their own applications. It has to be very loose coupled with the infrastructure: for example, I can imagine users running it on MySQL ...
3
votes
1answer
71 views

Versioning business rules

TL;DR Storing ever-changing business rules so that an app can behave like it did at moment X in the past. Can it be done? If so, how? Long version At this very moment, this is more of a thought ...
1
vote
2answers
281 views

Mocking the context of application

We have a context of the application which is a static class named Holder containing several static properties initialized by objects that are used throughout the application. All over the unit tests ...
4
votes
1answer
2k views

Architecture for a mobile (Android) chat application

I want to develop a chat application that reminds a bit whatsapp, I am doing it as a learning project. I am currently doing it on Android just because I am doing an Android course. The requirements ...
2
votes
1answer
246 views

Program Architecture: How to manage objects that are interdependent

Consider the following case, image I making a simple chat program; I want it to be extensible such that it would be fair easy to add add different scripting and user interfaces. I want the core ...
1
vote
1answer
141 views

Controller / Service - Should a service save changes to the database

I have an action on my controller called DeleteLine. This removes a line from the users basket. My controller action looks like this: [HttpGet] public ActionResult DeleteLine(int orderId, int ...
5
votes
2answers
350 views

Is the application architecture of Facebook Flux a new idea?

Facebook announced that it's using the architecture they call Flux to develop their projects. It consists of a single direction dataflow, and concepts like a Dispatcher, Stores and Actions (well ...
2
votes
2answers
192 views

Where does authorisation fit in a layered architecture?

Typically, I place authorisation decisions in my server side controllers. These have been RESTful endpoints recently, but I think the same stands for MVC type architectures. For the sake of argument ...