﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Application databases and external integration points</title><description>@David &amp; @Kyle,
  
Don't assume WCF / Request Response between the two.
  
Another option would be to hold local copy of the data with replication.
  
Also known as caching :-)
  
  
ETL is just a case of getting data from one point to another. I would rather have an ETL process run every X time than make remote calls.
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment10</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment10</guid><pubDate>Wed, 25 Aug 2010 03:37:35 GMT</pubDate></item><item><title>Kyle commented on Application databases and external integration points</title><description>So what technology would you use to talk from the App Server to the HelpDesk Service?  WCF?
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment9</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment9</guid><pubDate>Wed, 25 Aug 2010 01:09:30 GMT</pubDate></item><item><title>David commented on Application databases and external integration points</title><description>Ok, I understand the above, and agree with this post.
  
  
my question which sits on top is where do you put your ESB. would you have the following:
  
  
For Request/Reply(get employee holiday) this would be a WCF direct connection, between the App and Employee Service
  
  
For pub/sub (added new customer), use ESB to publish this infomation/event, then the App could subsribe to this message.
  
  
Also would you need the ETL? as if somehting did change that would be published. and the interested systems would update their systems. Or is the ETL contextual to this issue where you may not have a service?
  
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment8</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment8</guid><pubDate>Tue, 24 Aug 2010 10:24:54 GMT</pubDate></item><item><title>Ayende Rahien commented on Application databases and external integration points</title><description>Antonio,
  
I agree that replication is bad in the sense that it ties the database schema, but sometimes it is the best you can do.
  
If the database owner won't give you a service on that, and insist on you talking to the DB directly, there isn't much you can do. And you are already coupled to the database, anyway.
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment7</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment7</guid><pubDate>Mon, 23 Aug 2010 10:15:06 GMT</pubDate></item><item><title>Ayende Rahien commented on Application databases and external integration points</title><description>@Simone,
  
Actually, having a way to stop propagating failures is _crucial_ for systems to stay alive. Otherwise, a failure in system A can bring down system B, which bring down system C,D, Etc.
  
  
As for what happen when the data source changes, that is a much smaller problem, because the service remains the same. Usually the service is maintained by the same team that maintain the data source.
  
But even if you maintain it, you have to work on a much smaller scope.
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment6</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment6</guid><pubDate>Mon, 23 Aug 2010 09:48:01 GMT</pubDate></item><item><title>Simone commented on Application databases and external integration points</title><description>As usual, I think it depends a lot on context. I specifically disagree with the statement "You’ll thank me when you app stays up". If the external sources on which you are relying are critical for your company, having your application down is the last of your problems when the data source goes down.
  
Also, what do you mean exactly with putting a service between? If the data source changes, something has to change nonetheless. If you're talking about deployment boundaries then yes, I agree.
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment5</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment5</guid><pubDate>Sun, 22 Aug 2010 20:51:20 GMT</pubDate></item><item><title>scooletz commented on Application databases and external integration points</title><description>@Louis Haußknecht
  
What I meant was creating workers reading db and publishing data. Rhino-ETL, even because of its name, should do this work ;-)
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment4</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment4</guid><pubDate>Fri, 20 Aug 2010 19:48:53 GMT</pubDate></item><item><title>Louis Hau&amp;#223;knecht commented on Application databases and external integration points</title><description>@scooletz How would you use pub/sub for ETL??
  
  
For this to work, the database has to publish messages.
  
  
I think a (periodic) ETL e.g. with Rhino-ETL from the read-only sources would fit best.
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment3</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment3</guid><pubDate>Fri, 20 Aug 2010 13:12:04 GMT</pubDate></item><item><title>scooletz commented on Application databases and external integration points</title><description>I'd add, that these ETL processes can be easily created with a pub/sub solution, like NServiceBus. 
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment2</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment2</guid><pubDate>Fri, 20 Aug 2010 12:57:55 GMT</pubDate></item><item><title>Antonio Carlos Zegunis Filho commented on Application databases and external integration points</title><description>I fully agree with the idea of building services to expose data to whoever needs it in order to provide a protective abstraction.
  
  
However, I´m not comfortable at all with your suggestion to replicate the databases if services are not possible. I do some consultancy services for a company that thought that this (replication) would be the best idea. 
  
  
What´s the problem? Almost each database has 4 or 5 replication in different servers which means that is impossible now to change the structure of any of the source databases.
  
  
The problem get´s worse when someone replicate a database and add more objects to it. As we go, things just get more complicated and messier.
  
  
Services are definitely the way to go! 
</description><link>http://ayende.com/4598/application-databases-and-external-integration-points#comment1</link><guid>http://ayende.com/4598/application-databases-and-external-integration-points#comment1</guid><pubDate>Fri, 20 Aug 2010 11:47:01 GMT</pubDate></item></channel></rss>