Devops for Growth
112.1K views | +9 today
Follow
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'architecture'. Clear
Scooped by Mickael Ruau
October 7, 2013 5:25 AM
Scoop.it!

Scalability, Availability & Stability Patterns

Overview of scalability, availability and stability patterns, techniques and products.
No comment yet.
Scooped by Mickael Ruau
September 28, 2013 6:11 AM
Scoop.it!

Presentation on component based software engineering(cbse)

PRESENTATION ONCOMPONENT BASED SOFTWARE ENGINEERING Presented by: Chaitanya Pratap Singh MCA (4th semester) South Asian University, New
No comment yet.
Scooped by Mickael Ruau
September 28, 2013 5:43 AM
Scoop.it!

Challenges faced during software component

International Journal of of Computer Science and Engineering and Development (IJCSERD), ISSNInternational Journal Computer Science Engineering Research2248-9363
No comment yet.
Scooped by Mickael Ruau
September 28, 2013 5:28 AM
Scoop.it!

An efficient tool for reusable software

International Journal of Computer Science and Engineering Research and Development (IJCSERD), International Journal of Computer Science and Engineering
No comment yet.
Scooped by Mickael Ruau
September 23, 2013 10:28 AM
Scoop.it!

RESTful Web Services Cookbook

RESTful Web Services Cookbook | Devops for Growth | Scoop.it
While the REST design philosophy has captured the imagination of web and enterprise developers alike, using this approach to develop real web services is no picnic.
No comment yet.
Scooped by Mickael Ruau
September 23, 2013 10:27 AM
Scoop.it!

RESTful Web APIs

RESTful Web APIs | Devops for Growth | Scoop.it
The popularity of REST in recent years has led to tremendous growth in almost-RESTful APIs that don’t include many of the architecture’s benefits. With this practical guide, you’ll learn what it takes to design usable REST APIs that...
No comment yet.
Scooped by Mickael Ruau
September 13, 2013 6:54 AM
Scoop.it!

Le principe "ouvert/fermé" - Architecture Logicielle & Développement

Le principe "ouvert-fermé" (Open Closed Principle, ou OCP) est probablement l'un des principe de programmation les plus important. L'expérience montre qu'une simple
Mickael Ruau's insight:

L'expérience montre qu'une simple entorse à ce principe introduit dans une architecture un point de faiblesse par lequel l'architecture peut se corroder lentement.

Appliquer le principe OCP, s'est s'assurer que l'architecture d'un module logiciel répond à ces deux impératifs:

le module est ouvert à l'extension, ce qui signifie qu'il peut être étendu pour ajouter une nouvelle fonctionnalité.pour intégrer une nouvelle fonctionnalité, le code source existant n'est pas modifié

D'où le nom de ce principe, énonce par Bertrand Meyer[1].

No comment yet.
Scooped by Mickael Ruau
September 13, 2013 6:40 AM
Scoop.it!

Valider et corriger une architecture objet, seconde partie - Architecture Logicielle & Développement

Dans la première partie, nous avons vu comment vérifier qu'une architecture validait les principes d'encapsulation, SRP et OCP. Dans cet article, nous allons étudier l'incidence
Mickael Ruau's insight:

Avec un peu d'expérience, on s'aperçoit que les problèmes d'architecture sont relativement faciles à détecter, même si ils peuvent être complexes à corriger. L'idéal reste donc de bien garder les quelques principes d'architecture objet en tête au moment même de faire le design de l'application, de manière à ne pas avoir à corriger ces problèmes plus tard.

No comment yet.
Scooped by Mickael Ruau
September 10, 2013 3:50 AM
Scoop.it!

La médiation technique: L'homéostasie : une approche des systèmes complexes

La médiation technique: L'homéostasie : une approche des systèmes complexes | Devops for Growth | Scoop.it

Le concept d'homéostasie a été introduit vers 1850 par le célèbre médecin Claude Bernard. Il s'applique d'abord au corps humain : c'est la capacité du corps à conserver son état de fonctionnement, c'est-à-dire de rester en vie.
Ce n'est en effet pas trivial de maintenir le corps pendant des années à température quasiment fixe (37°C), ni de maintenir les concentrations chimiques de divers constituants du corps (sels, sucres, acidité, oxygène...). Il faut donc que le corps humain ait développé tout un tas de mécanismes de régulation pour en être capable.

Mickael Ruau's insight:

L'homéostasie n'est évidemment pas propre à l'être humain, et il est naturel d'étendre le concept à tout organisme vivant. Ce n'est toutefois qu'à partir du milieu du XXe siècle que le concept sera intégré à une réflexion bien plus générale.
En effet, c'est dans l'après-guerre que se développent des sciences abordant les systèmes complexes. Auparavant, l'approche quasi-unique des scientifiques était le réductionnisme : tout système complexe étant composé d'éléments simples, il semble évident que la compréhension du système global passe par la compréhension de ces éléments. Désormais, une autre approche, complémentaire, apparaît : la systémique.
L'idée principale de la systémique est qu'un tout est plus que la somme de ses parties, et les propriétés d'un système complexe sont parfois difficilement prédictibles par la seule connaissance des propriétés de ses constituants élémentaires.

No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:50 AM
Scoop.it!

REST et SOAP: Quand les utiliser ?

REST et SOAP: Quand les utiliser ? | Devops for Growth | Scoop.it
Les développeurs Web ont de nos jours un vaste panel de technologies à leur service.
Mickael Ruau's insight:

REST et SOAP peuvent résoudre un grand nombre de problèmes et de défis web, et dans de nombreux cas, chacun d'eux peut être adapté au besoin des développeurs.

L'histoire secrète, c'est que les deux technologies peuvent être combinées. REST est très facile à comprendre et est très accessible, mais il est non standardisé et est plus considéré comme une approche architecturale. En comparaison, SOAP est un standard de l'industrie avec un protocole bien défini et un ensemble de règles bien établies à mettre en œuvre et il a été utilisé dans des systèmes à la fois grands et petits.

En conséquence, cela signifie que les besoins pour lesquels REST fonctionne vraiment bien sont les suivantes:

Bande passante et ressources limitées: rappelez-vous que la structure de retour peut être de n'importe quel format (au choix du développeur). De plus, n'importe quel navigateur peut être utilisé puisque l'approche REST utilise les méthodes standards GET, PUT, POST et DELETE. Encore une fois, n'oubliez pas que REST peut également utiliser l'objet XMLHttpRequest que la plupart des navigateurs modernes prennent en charge aujourd'hui, ce qui ajoute un bonus supplémentaire d'AJAX.Opérations sans état (stateless): si une opération doit se poursuivre, alors REST n'est pas la meilleure approche et SOAP peut mieux convenir. Toutefois, si vous avez juste besoin d'opération sans état CRUD (Create, Read, Update et Delete), alors REST est la solution.La mise en cache: si les informations peuvent être mises en cache l'absence d'état de l'approche REST est parfaite.

Les trois cas ci-dessus couvrent un grand nombre de besoins. Pourquoi donc devriez-vous même envisager SOAP ? Encore une fois, SOAP est assez mature, bien défini et vient avec une spécification complète. L'approche REST est simplement ça: une approche et il est grand ouvert pour le développement. Par conséquent, si vous êtes dans les cas suivants, SOAP est une excellente solution:

Le traitement et l'invocation asynchrone: si votre application a besoin d'un niveau de fiabilité et de sécurité garanti, alors SOAP 1.2 offre des normes supplémentaires pour assurer cela, des spécifications comme WSRM - WS-Reliable Messaging par exemple.Contrats formels: si les deux parties (fournisseur et consommateur) se mettent d'accord sur le format d'échange alors SOAP 1.2 donne un cadre strict pour ce type d'interaction.Opérations avec état: si l'application a besoin d'informations contextuelles et de la gestion d'état conversationnel alors SOAP 1.2 a la spécification supplémentaire dans la structure WS* pour soutenir ces besoins (sécurité, transactions, coordination, etc.). En comparaison, l'approche REST forcerait les développeurs à créer une plomberie personnalisée.
No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:46 AM
Scoop.it!

Alistair.Cockburn.us | Hexagonal architecture

Alistair.Cockburn.us | Hexagonal architecture | Devops for Growth | Scoop.it
The Pattern: Ports and Adapters (‘’Object Structural’’)

Create your application to work without either a UI or a database so you can run automated regression-tests against the application, work when the database becomes unavailable, and link applications together without any user involvement.

Mickael Ruau's insight:
Sample Code

The simplest application that demonstrates the ports & adapters fortunately comes with the FIT documentation. It is a simple discount computing application:

discount(amount) = amount * rate(amount);

In our adaptation, the amount will come from the user and the rate will come from a database, so there will be two ports. We implement them in stages:

With tests but with a constant rate instead of a mock database,then with the GUI,then with a mock database that can be swapped out for a real database.

Thanks to Gyan Sharma at IHC for providing the code for this example.

No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:44 AM
Scoop.it!

Concilier Architecture et Agilité

Concilier Architecture et Agilité | Devops for Growth | Scoop.it
L'architecture et l'agilité sont souvent opposées. La première génère des documentations, alors que la seconde donne plus de valeur au code.
Mickael Ruau's insight:

L'architecture tente d'avoir une vue long-terme, alors que les développements agiles se concentrent sur la valeur ajoutée immédiate. "Architecte" ne fait d'ailleurs pas partie des rôles Scrum...

No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:09 AM
Scoop.it!

The Clean Architecture | 8th Light

The Clean Architecture | 8th Light | Devops for Growth | Scoop.it
We write beautiful web applications that are durable and free of defects in workmanship.
Mickael Ruau's insight:

Conforming to these simple rules is not hard, and will save you a lot of headaches going forward. By separating the software into layers, and conforming to The Dependency Rule, you will create a system that is intrinsically testable, with all the benefits that implies. When any of the external parts of the system become obsolete, like the database, or the web framework, you can replace those obsolete elements with a minimum of fuss.

No comment yet.
Scooped by Mickael Ruau
October 5, 2013 9:01 AM
Scoop.it!

Exploring Hypermedia with Mike Amundsen - Programming - O'Reilly Media

Exploring Hypermedia with Mike Amundsen - Programming - O'Reilly Media | Devops for Growth | Scoop.it
The Web's flexibility has helped it to survive and thrive, pushing well beyond the browser-based universe where it first showed its promise. While I've spent most of my time...
Mickael Ruau's insight:

Our conversation ranged from the history and foundations of REST through the many ways to integrate that work with existing enterprise practice to a glimpse at what the future might hold for frameworks, design, and architecture.

REST as enterprise architectures principles applied to hypermedia (at 1:57)Transitioning from RPC-based models to hypermedia, by including additional information in response. (at3:00)The value of opinionated message formats and eventual integration into opinionated frameworks. (at 5:51)Shifting from shared understandings of object models to messages. (at 8:50)“Enough coupling, but not too much” to allow mixing of technologies. (at 11:15)Human negotiation, HTTP negotiation, and responsive web design (at 14:20)Focusing on developer experience with APIs (at 16:30)Documentation as profile of how API works – can be made (more) machine-readable (at 17:50 )Moving from a focus on resources to a focus on actions. (at 20:10)The “semantic challenge” – beyond CRUD and media types as snowflakes. (at 21:09)Hypermedia still works in a world where the HTTP foundation is changing. (at 24:02)
No comment yet.
Scooped by Mickael Ruau
September 28, 2013 6:11 AM
Scoop.it!

An Analysis of Component-based Software Development -Maximize the r...

Component- based software development is the most promising way of controlling the soaring complexity and cost of business information systems. It is also the b
No comment yet.
Scooped by Mickael Ruau
September 28, 2013 5:38 AM
Scoop.it!

Reviews checklists

Software Quality Assurance Reviews & Checklists Seminar: Oana FEIDI Quality Manager – Continental Automotive
No comment yet.
Scooped by Mickael Ruau
September 23, 2013 10:29 AM
Scoop.it!

REST API Design Rulebook

REST API Design Rulebook | Devops for Growth | Scoop.it
In today’s market, where rival web services compete for attention, a well-designed REST API is a must-have feature. This concise book presents a set of API design rules, drawn primarily from best practices that stick close to the Web’s RE...
No comment yet.
Scooped by Mickael Ruau
September 23, 2013 10:28 AM
Scoop.it!

RESTful Web Services

RESTful Web Services | Devops for Growth | Scoop.it
You've built web sites that can be used by humans. But can you also build web sites that are usable by machines? That's where the future lies, and that's what this book shows you how to do.
No comment yet.
Scooped by Mickael Ruau
September 14, 2013 4:42 AM
Scoop.it!

Coding Horror: The Rule of Three

Coding Horror: The Rule of Three | Devops for Growth | Scoop.it

Every programmer ever born thinks whatever idea just popped out of their head into their editor is the most generalized, most flexible, most one-size-fits all solution that has ever been conceived. We think we've built software that is a general purpose solution to some set of problems, but we are almost always wrong. We have the delusion of reuse. Don't feel bad. It's an endemic disease among software developers. An occupational hazard, really.

If I have learned anything in my programming career, it is this: building reusable software, truly reusable software, is an incredibly hard problem – right up there with naming things and cache invalidation. My ideas on this crystallized in 2004 when I read Facts and Fallacies of Software Engineering for the first time. It's kind of a hit-or-miss book overall, but there are a few gems in it, like fact #18:

Mickael Ruau's insight:

There are two "rules of three" in [software] reuse:

It is three times as difficult to build reusable components as single use components, anda reusable component should be tried out in three different applications before it will be sufficiently general to accept into a reuse library.
No comment yet.
Scooped by Mickael Ruau
September 13, 2013 6:44 AM
Scoop.it!

De la gestion des gestionnaires - Architecture Logicielle & Développement

De la gestion des gestionnaires - Architecture Logicielle & Développement | Devops for Growth | Scoop.it
On conçoit aisément qu'il est très difficile de bien concevoir une application ou une libraire : cela demande des connaissances pointues en design ainsi qu'une imagination
Mickael Ruau's insight:

Vous l'avez certainement compris, les gestionnaires ne sont pas une panacée - malgré leur omniprésence, ils sont généralement le symptôme apparent de problèmes de conception logicielle plus profonds. On peut en sortir la règle suivante :

L'existence d'au moins une classe "gestionnaire" dans une architecture orientée objet démontre l'existence de problèmes dans cette architecture

No comment yet.
Scooped by Mickael Ruau
September 13, 2013 6:40 AM
Scoop.it!

Valider et corriger une architecture objet, première partie - Architecture Logicielle & Développement

Valider et corriger une architecture objet, première partie - Architecture Logicielle & Développement | Devops for Growth | Scoop.it
La validation d'une architecture orientée objet est une étape importante dans le cadre de la mise en route d'un projet. Il s'agit de vérifier si l'architecture imaginée "tient
Mickael Ruau's insight:

Si nous remontons un peu dans le temps, les quelques premiers mois de vie de ce blog on été consacrés à la description (plus ou moins réussie...) des 5 principes majeurs de la POO :

le principe "ouvert/fermé",le principe de substitution de Liskov,le principe de responsabilité unique,le principe de ségrégation des interfaceenfin, le principe d'inversion de dépendance.

A ces 5 piliers, j'avais ajouté ce que je considère personnellement comme un méta-principe - le principe d'encapsulation.

Avec le présent article, je vous propose de revenir sur ces principes et de voir comment on peut vérifier leur application et ainsi obtenir des métriques qualitatives qui nous donnent une idée plus précise de la validité d'une architecture objet. Nous verrons aussi comment on peut revenir sur certains problèmes mis en lumière par une analyse afin de les corriger.

 
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 8:06 AM
Scoop.it!

Principles of Service Design: Service Patterns and Anti-Patterns

The Principles of Service Design series has been developed to communicate best practices and sample codes when relevant. The first in this multi-paper series, this paper provides fundamental principles for designing and implementing Web services, including a brief review of Service Oriented Architecture (SOA) concepts and a detailed discussion of several patterns and anti-patterns that developers can leverage when building Web services. Guidance is applicable to any programming language or platform for which Web services can be developed and deployed. (18 printed pages)

Inspired by a webcast given with Ron Jacobs, Microsoft Patterns & Practices

Mickael Ruau's insight:

 

Thanks to Ron Jacobs of the Patterns and Practices team for many of the ideas and concepts expressed in this paper. Ron and I gave a webcast based on this content in late 2004. This paper would not have been written without Ron's assistance.

You can learn more about Ron's work with the Patterns and Practices team at http://www.microsoft.com/resources/practices/default.mspx andhttp://www.gotdotnet.com/team/rojacobs/.

Downloads for this article:

Principles of Service Design: Document Centric Pattern.

 

Principles of Service Design: Idempotent Pattern.

 

Principles of Service Design: Reservation Pattern.

 

Contents

About the SOA Design Principles Series
An Introduction to Service Oriented Architecture (SOA)
Patterns and Anti-Patterns for SOA
Conclusion

No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:47 AM
Scoop.it!

Architecture orientée évènements - Wikipédia

L'architecture orientée événements (de l'anglais Event Driven Architecture, ou EDA) est une forme d'architecture de médiation qui est un modèle d'interaction applicative mettant en œuvre des services (composants logiciels) répondant à des sollicitations externes :

Par opposition à l'architecture orientée services (SOA) où un « fournisseur » rend un service à la demande d'un consommateur; en architecture EDA, un « service» prévient par émission d'un événement qu'il a réalisé une opération donnée. C'est aux Clients potentiels de traiter cet événement.

Avec la SOA c'est une réponse très efficace aux problématiques que rencontrent les entreprises en termes de réutilisabilité, d'interopérabilité et de réduction de couplage entre les différents systèmes qui implémentent leurs systèmes d'information.

No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:45 AM
Scoop.it!

Vaughn Vernon présente les styles d'architectures avancés dans un contexte DDD

Vaughn Vernon présente les styles d'architectures avancés dans un contexte DDD | Devops for Growth | Scoop.it
Lors d'une présentation sur les styles d'architectures, architecture en couches, architectures hexagonales et le modèle d'acteur, du point de vue du "Domain Driven Design (DDD)", Vaughn Vernon explique que l'architecture hexagonale permet de...
Mickael Ruau's insight:

Vaugh Vernon, l'auteur d'Implementing Domain Driven Design, après une courte description de l'émergence de l'architecture comme le résultat naturel du DDD, a continué par une analyse de l'architecture en couches traditionnelle selon le livre du DDD d'Eric Evans avec une interface utilisateur au sommet et une couche d'infrastructure en bas. Un effet indésirable de cette architecture en couches est que l'implémentation, par exemple, des dépôts du domaine (repositories) dans la couche d'infrastructure cassent cette architecture vu que les dépôts dépendent du modèle du domaine. En les déplaçant en haut et en utilisant le principe d’inversion de dépendance pour les injecter, on évite de casser l'architecture et on la rend plus flexible en permettant l'injection de plusieurs implémentations.

No comment yet.
Scooped by Mickael Ruau
August 31, 2013 8:11 AM
Scoop.it!

Croquis et NoUML pour l'architecture de logiciels agiles

Croquis et NoUML pour l'architecture de logiciels agiles | Devops for Growth | Scoop.it
L'agilité c'est être réactif et ceci nécessite une bonne communication, mais il est étonnant que beaucoup d'équipes éprouvent des difficultés à communiquer correctement la conception de leur logiciel.
Mickael Ruau's insight:

De l'art de ré-inventer l'eau tiède...

No comment yet.