<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Design Patterns in Life</title>
  <link>http://andreiko.livejournal.com/</link>
  <description>Design Patterns in Life - LiveJournal.com</description>
  <lastBuildDate>Tue, 28 Jul 2009 03:40:14 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>andreiko</lj:journal>
  <lj:journalid>2272721</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/14197.html</guid>
  <pubDate>Tue, 28 Jul 2009 03:40:14 GMT</pubDate>
  <title>Contractors vs. Employees</title>
  <link>http://andreiko.livejournal.com/14197.html</link>
  <description>Please update your links and RSS feeds.  My new blog is here:&lt;br /&gt;&lt;a href=&quot;http://thedovgals.com/andre/blog/?p=70&quot; rel=&quot;nofollow&quot;&gt;Contractors vs. Employees&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/14197.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/13998.html</guid>
  <pubDate>Tue, 10 Mar 2009 02:51:29 GMT</pubDate>
  <title>Web Net of Competencies</title>
  <link>http://andreiko.livejournal.com/13998.html</link>
  <description>&lt;img src=&quot;http://andre.thedovgals.com/professional/Architecture/Competencies01.jpg&quot; alt=&quot;Architect Competencies&quot; /&gt;&lt;br /&gt;&lt;br /&gt;How Microsoft sees things... What&apos;s interesting, not the absolute values.  Solutions Architects, for example, need more people (soft) skills than Infrastructure Architects.  I still agree with the Microsoft&apos;s  approach though.&lt;br /&gt;&lt;br /&gt;However,  I now understand more. &lt;br /&gt;&lt;br /&gt;In Microsoft view/terms Enterprise Architects look at the architecture from the business prospective.  The EAs formulate tasks for Solutions and Infrastructure Architects.  In a simplified model, EAs work for the business, when other architects are providing professional services to the business.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://andre.thedovgals.com/blog&quot; rel=&quot;nofollow&quot;&gt;My new blog:&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/13998.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/13769.html</guid>
  <pubDate>Thu, 05 Mar 2009 04:00:07 GMT</pubDate>
  <title>Computer Science Fundamentals</title>
  <link>http://andreiko.livejournal.com/13769.html</link>
  <description>Please update your links and RSS feeds.  My new blog is here:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://andre.thedovgals.com/blog/?p=48&quot; rel=&quot;nofollow&quot;&gt;Computer Science Fundamentals&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/13769.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/13337.html</guid>
  <pubDate>Thu, 05 Mar 2009 03:58:57 GMT</pubDate>
  <title>Leadership Challenges: Cultures</title>
  <link>http://andreiko.livejournal.com/13337.html</link>
  <description>Please update your feeds and RSS links.  I have moved to another blog:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://andre.thedovgals.com/blog/?p=14&quot; rel=&quot;nofollow&quot;&gt;Leadership Challenges: Cultures&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/13337.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/13171.html</guid>
  <pubDate>Thu, 05 Mar 2009 03:57:10 GMT</pubDate>
  <title>Delivery Process: Removing Disconnect</title>
  <link>http://andreiko.livejournal.com/13171.html</link>
  <description>Please update your links and RSS feeds.  I have moved to another blog:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://andre.thedovgals.com/blog/?p=8&quot; rel=&quot;nofollow&quot;&gt;Delivery Process: Removing Disconnect&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/13171.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/12924.html</guid>
  <pubDate>Thu, 05 Mar 2009 03:55:22 GMT</pubDate>
  <title>Use For Machine Translation</title>
  <link>http://andreiko.livejournal.com/12924.html</link>
  <description>Please update your links and RSS feeds. My new blog is here:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://andre.thedovgals.com/blog/?p=5&quot; rel=&quot;nofollow&quot;&gt;Use for Machine Translation&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/12924.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/12694.html</guid>
  <pubDate>Wed, 11 Feb 2009 23:36:03 GMT</pubDate>
  <title>New Life</title>
  <link>http://andreiko.livejournal.com/12694.html</link>
  <description>I am moving to another blog... Well, a friend of mine recently moved to another country... so I&apos;m quite slow compare to him.&lt;br /&gt;&lt;br /&gt;But I also decided to change my last name; I know that it was a challenge for most of you guys to pronounce it.:)  &lt;br /&gt;&lt;br /&gt;Well, I am also changing my first name... just for fun.&lt;br /&gt;&lt;br /&gt;My new blog is here:&lt;br /&gt;&lt;a href=&apos;http://andre.thedovgals.com/blog/&apos; rel=&apos;nofollow&apos;&gt;http://andre.thedovgals.com/blog/&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/12694.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/12513.html</guid>
  <pubDate>Mon, 15 Dec 2008 01:14:16 GMT</pubDate>
  <title>The iPhone Story</title>
  <link>http://andreiko.livejournal.com/12513.html</link>
  <description>It happened that a few months ago I started doing some iPhone development.  Well, just for fun.&lt;br /&gt;&lt;br /&gt;Interesting, that I haven&apos;t touched Macs for about 8 years, since the first version of OS X was launched.  Back in those days, I liked the shape of the Mac on my desk and the chess program.  I could not beat the highest level.:)  &lt;br /&gt;&lt;br /&gt;Well, I opened the new Mac laptop with the latest OS X installed and found out that almost nothing has changed.  The environment, the UI paradigm, the tools look pretty much the same as 8 years ago.  &lt;br /&gt;&lt;br /&gt;However, I&apos;m not taking about Macs, I want to share my iPhone development experience.&lt;br /&gt;&lt;br /&gt;First, I was developing and testing programs on the simulator. Unfortunately, Code Warrior did not make a version for PC.:( The simulator, in fact, was quite OK.  The development environment sucked, in my opinion. May be I used MS Visual Studio too much, but I had a feeling that I was developing back in early 90s in Windows 3.1 in the C language (what was the name of it? Quick C? I don&apos;t recall).  The Objective C, by the way, is the worst incarnation of C++ I&apos;ve ever seen.  The funny thing though was that Apple did the same thing as MS with Windows CE many years ago.  The OS for iPhone seems to be a stripped version of the Mac OS.  They even kept some programming paradigms (like messaging) that make no sense for single-tasking OS.&lt;br /&gt;&lt;br /&gt;Anyway, we&apos;ve seen that before; I&apos;m not complaining.  I was happy about my first iPhone application... What&apos;s next.&lt;br /&gt;&lt;br /&gt;Well, next is, obviously, to test the app on the actual iPhone. The IDE has an option for it - deploy the app on the actual device rather than on the simulator.  Select, click, go!&lt;br /&gt;&lt;br /&gt;Error message. What the heck is it saying?.. Search Google... &lt;br /&gt;&lt;br /&gt;IN ORDER TO DEPLOY YOUR APP ON YOUR OWN IPHONE YOU HAVE TO REGISTER ON THE APPLE SITE!!! Welcome to the club.  But I have already registered to download the IDE... Well, register again in a special way.&lt;br /&gt;&lt;br /&gt;Sure.  I have a lot of time and I ree-e-eally want to deploy the app on my iPhone.  To show my friends, for example, what a cool developer I am.:)&lt;br /&gt;&lt;br /&gt;Go to the Apple site, register, pay $100.  WHAT? Pay a hundred bucks just to be able to deploy your own app on your own iPhone. Yeap. OK. Next time I&apos;ll buy APPL stocks.  They certainly know how to make money.  &lt;br /&gt;&lt;br /&gt;Paid.  The confirmation says that I will get a special certificate soon.  The certificate that will enable me deploying applications on my own iPhone.  Soon? When? Can I download it right now? the right answer is NO. Wait... a few business days.&lt;br /&gt;&lt;br /&gt;Ha-ha. They must be doing a background check on me. Silly me! They were!&lt;br /&gt;&lt;br /&gt;After a week or so, I decided to access Apple site as a registered developer a got a message &quot;We are having trouble identifying you&quot;. OK, I now want to access their customer support.  Unfortunately, there is no e-mail address for that on the Apple site.  But you can find a special (secret) page and type in your question and press Submit.&lt;br /&gt;&lt;br /&gt;Surprisingly, I received an e-mail next day, saying that my address that I used to register as an Apple developer and the billing address on my credit card that I used to pay for being able to deploy my own app to my own iPhone DON&apos;T MATCH!  Now I have to fax a notarized copy of my any GOVERNMENT ISSUED ID to Apple and everything will be hunky-dory.&lt;br /&gt;&lt;br /&gt;Believe it or not, I did.  Probably, because I used to be a scientist, and one of the first rules I learned was to complete experiments.  I paid another $50 to the notary public and in a couple of days....&lt;br /&gt;&lt;br /&gt;Hoooooooray!&lt;br /&gt;&lt;br /&gt;I can now deploy my own app to my own iPhone!!!!!&lt;br /&gt;&lt;br /&gt;Well, I also need to complete a good dozen of steps to download a certificate, to upload my iPhone ID, to register myself as a member of my development team (and to receive two e-mails; one e-mail as an admin, and one as a team member), etc., etc.&lt;br /&gt;&lt;br /&gt;Actually, I have to perform a couple of steps for every new application I&apos;m developing.  To tell you the truth, I enjoy it. At least they don&apos;t ask me to pay another $100 and fax my IDs to Apple.</description>
  <comments>http://andreiko.livejournal.com/12513.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/12012.html</guid>
  <pubDate>Mon, 16 Jul 2007 17:02:52 GMT</pubDate>
  <title>Relations and Relational Databases</title>
  <link>http://andreiko.livejournal.com/12012.html</link>
  <description>In 1969 or a little earlier (the history does not give us an exact date) Edgar Codd proposed a notion of relational model of databases.  He based the model on a relational algebra, which I believe existed before Codd.  However, I could not find who actually invented relational algebras, shame on me.&lt;br /&gt;&lt;br /&gt;The focal point of relational databases is a notion of a relation.  We may even say that, by definition, the relational database is a database that has relations.  The next logical question would be: &quot;What is a relation?&quot;&lt;br /&gt;&lt;br /&gt;Well, I am a Microsoft guy, whether I like it or not.  This is not because of my choice, rather because of the lack of choice... So I decided to search Microsoft help to learn about relations.  I found a few examples.  &lt;br /&gt;&lt;br /&gt;When you work with datasets in Visual Studio, there is an option to set up a relation.  The pop up window suggests that the relation relates tables in your database.  So far so good.  That&apos;s what most people believe - relations relate tables.&lt;br /&gt;&lt;br /&gt;Next example comes from materials on Microsoft Dynamics AX (not really something I like, just happened to be on top of the search result list). &quot;The foundation of Microsoft Dynamics AX is the relational database. This relational model is represented in the Microsoft Dynamics AX development environment. This means that relationships can be created between tables that contain related data. In Microsoft Dynamics AX, &lt;font color=&quot;red&quot;&gt;the relationship between tables is called a relation.&lt;/font&gt;&quot;&lt;br /&gt;&lt;br /&gt;And one more example, the SET RELATION command from Visual FoxPro, according to the help, &quot;establishes a relationship between open tables so that moving the record pointer in the parent table moves the record pointer in the child table.&quot;&lt;br /&gt;&lt;br /&gt;I think that this is enough.  The relation is a relationship between tables.  Ask your friends, DBAs and other database people. They all will say that &quot;a relational database is the one that allows joins&quot;, or &quot;the one that has foreign key&quot;, or in other way they&apos;ll express that relationships relate tables.&lt;br /&gt;&lt;br /&gt;Right?&lt;br /&gt;&lt;br /&gt;&lt;font color=&quot;red&quot;&gt;Wrong!&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;So, what is a relation?  Let&apos;s consider the Taller relation. It means that two persons are related that way, if one is taller than the other.  How would you define this relation?  First of all let&apos;s define on what set of data we use this relation.  Say, it&apos;s people in your family.  The simplest way to define the relation would be to list all people in your family in pairs, with the taller person being list first, for example, &lt;br /&gt;&lt;br /&gt;(father, mother)&lt;br /&gt;(father, son)&lt;br /&gt;(mother, son)&lt;br /&gt;&lt;br /&gt;OK, that was easy... Let&apos;s consider another example.  Consider that you are dealing with invoices for your company, and invoices have different attributes, such as invoice#, date, customer name, and amount.  How do these attribute relate to each other?  To describe this relation you also could list all possible attribute values from your actual invoices.  You may get something like:&lt;br /&gt;&lt;br /&gt;(2002-12-01.01, 2002-12-01, ABC Inc., $3,000)&lt;br /&gt;(2002-12-01.02, 2002-12-01, Scuba Diving Corp., $25)&lt;br /&gt;(2004-05-12.01, 2004-05-12, ABC Inc., $300)&lt;br /&gt;&lt;br /&gt;Each of these sets is called a tuple.  All of them together describe a relation that we may call &quot;My company invoices&quot;.  &lt;br /&gt;&lt;br /&gt;Well, here we go.  &lt;b&gt;A relation is, by definition, is a set of unique tuples.&lt;/b&gt;  Tuples cannot be same in one relation.&lt;br /&gt;&lt;br /&gt;If you want to go more into details, you may want to know that sets of values of each attribute are called domains.  You may consider domains as a generalization of data types.  An a relation is a subset of a direct (Cartesian) product of all given domains.&lt;br /&gt;&lt;br /&gt;However, let&apos;s get back to databases.  Does not the set of tuples in our invoices example reminds you something? yes! Right! It looks like a table.&lt;br /&gt;&lt;br /&gt;It is a table!&lt;br /&gt;&lt;br /&gt;So, what is a relation?  &lt;b&gt;A relation is a table!&lt;/b&gt; We just need to notice that all rows (tuples) must be unique in the table. And therefore, &lt;br /&gt;&lt;br /&gt;&lt;b&gt;A relational database is a database that consists of tables.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Funny, right? :)&lt;br /&gt;&lt;br /&gt;P.S. Oh, by the way, how do you call relating tables, joins, foreign keys, etc? Relationships. Not relations.</description>
  <comments>http://andreiko.livejournal.com/12012.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/11714.html</guid>
  <pubDate>Sun, 25 Feb 2007 23:43:26 GMT</pubDate>
  <title>Vancouver Tech Fest 2007</title>
  <link>http://andreiko.livejournal.com/11714.html</link>
  <description>Yesterday I presented &quot;SSNS 2005&quot; at the Vancouver Tech Fest 2007.  Relatively small audience (about 60-80 people), very friendly.  What I found amazing that nobody in the audience had a SSNS (even 2000) experience.  Therefore, I was making the presentation slower that I expected, and one hour was obviously not enough.&lt;br /&gt;&lt;br /&gt;Here the link:&lt;br /&gt;&lt;a href=&apos;http://www.andreiko.com/DesignPatterns/vancouvertechfest2007.htm&apos; rel=&apos;nofollow&apos;&gt;http://www.andreiko.com/DesignPatterns/vancouvertechfest2007.htm&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/11714.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/11301.html</guid>
  <pubDate>Fri, 09 Feb 2007 17:34:14 GMT</pubDate>
  <title>culture integration</title>
  <link>http://andreiko.livejournal.com/11301.html</link>
  <description>My interest in systems integration is, in fact, much bigger than just the one for computer systems.&lt;br /&gt;&lt;br /&gt;Since probably grade 4 I discovered two passions for myself; mathematics and linguistics.  The first one led me to the Mathematical faculty and formal education in math, which gave a good foundation and an understanding of system approaches.  The latter has been feeding my interest in different cultures. Comparing different cultures always entertained me; this is probably one of the reasons, why I love Vancouver.&lt;br /&gt;&lt;br /&gt;I remember how I was excited to learn from my father (who knew a dozen of languages and had been to dozens of countries) that the words with &quot;obvious&quot; meaning, in fact, mean [slightly] different things in different languages and cultures. &quot;Trust&quot;, &quot;love&quot; &quot;friendship&quot;, &quot;deception&quot;, etc. have [slightly] different meaning for people in Russia, China, Israel, and North America.  And this is not the matter of languages, but rather a matter of cultures.  &lt;br /&gt;&lt;br /&gt;Well, a theoretical discovery has much lower value than a practical observation. In 1995 I moved to Canada and started looking for a job.  One quite shocking experience I got being interviewed by different company managers.  My Soviet experience was based on a very common approach in pre-perestroyka world; each manager not only was expected to be, but very often actually was a leader.  In my world view, the terms &quot;manager&quot; and &quot;leader&quot; were extremely close.  Therefore, during these interviews in Canada I expected the managers to have qualities of leaders, who as we know, &quot;lead people rather than manage tasks&quot;.  In fact, I was expecting a combination of both.&lt;br /&gt;&lt;br /&gt;Going to an interview meaning selling yourself.  Realizing that, I prepared myself to behave properly, but I was selling myself to the wrong audience. What a mistake! I took me a few months to realize that a development manager may not have any knowledge of the industry, for example; may have not any vision and no strategic thinking.  Oh, I hated it! Adjusting to a different culture was a painful process.&lt;br /&gt;&lt;br /&gt;Today, working with software-intensive systems integration I always see cultural differences.  When you need to create trust between two data owners, it&apos;s so much easier if they work for two departments of the same corporation rather than for two different organizations.  System integration (specially when it comes to the metadata management) is so much about managing it at the cultural rather than at the technical level.&lt;br /&gt;&lt;br /&gt;Take mainframe vs. PC or Oracle vs. SQL Server.  This is very little about technology, but so much about culture.  If an organization uses Oracle, they will find all possible excuses not to use SQL Server.  Some of the excuses will be of a technical nature, but the truth is underneath.  The Oracle world and the SQL Server world are based on two different cultures.&lt;br /&gt;&lt;br /&gt;If you don&apos;t believe me, think about the administration of both DBMSs. Oracle admins have tons of tools, the importance of their work is extremely emphasized. SQL Server systems have much more emphasis on the development.  Becoming an Oracle admin means getting a higher rank, SQL Server admins are treated probably lower that SQL programmers.&lt;br /&gt;&lt;br /&gt;By the way, I think integration of different cooking techniques might be a fascinating topic to discuss too.</description>
  <comments>http://andreiko.livejournal.com/11301.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/11133.html</guid>
  <pubDate>Sun, 04 Feb 2007 19:34:56 GMT</pubDate>
  <title>data integration for different verticals</title>
  <link>http://andreiko.livejournal.com/11133.html</link>
  <description>I&apos;ve been doing data integration for many years.  In my previous job, I was developing systems for integration data for real estate; today our company&apos;s primary verticals are law enforcement and health care.  Doing my MCA certification, I&apos;ve chosen a solution I&apos;ve done for real estate brokers a few years ago.  A significant part of that solution was property listings integration.  I am spending some time these days thinking about that solution and re-thinking it.&lt;br /&gt;&lt;br /&gt;One of the insights I got came from the law enforcement vertical.  Law enforcement projects are not very lucrative; the cost is high, the margin is low.  Why is that?  Well, you may say that law enforcement is given a lot of money and you may be right.  But the financing goes into supporting cops on duty, to providing better gears, to do a lot of other things... but not to the IT. IT projects in law enforcement are usually under-priced.&lt;br /&gt;&lt;br /&gt;Looking back at my real estate projects, I find that the money that real estate industry wants to spend to IT is minimal. It&apos;s so small, it&apos;s just unbelievable.  &lt;br /&gt;&lt;br /&gt;If you want to integrate 5-6 big heterogeneous data sources across a state or a country for querying the data, you will need to spend about $300K for delivering this solution.  This number is a result of a quite optimistic expectations, when we think that we know the nature of the data and the data providers are cooperative.  However, practically every new solutions needs a lot of communication with the data providers to understand their metadata, to map it and develop transformation rules, to provide means for support, and so on.  This results in travel time and cost, high analysis cost, negotiations with customers and training them.  If data providers have first name and last name information lumped together into a free format field, the complexity of exact search by the last name, for example, increases.  Customers would need some time to appreciate it.&lt;br /&gt;&lt;br /&gt;Antonio Mario Garcia may be, actually, a women by name of Maria Garcia, who lives in San Antonio; and her data was screwed up in the data entry stage.&lt;br /&gt;&lt;br /&gt;Can you explain to business (not technical) people in law enforcement that just aggregating 5 of their databases would cost them $300K+? Can you explain it to realtors?  I doubt it.&lt;br /&gt;&lt;br /&gt;Therefore, data aggregation companies are all trying to reposition the cost, bumping up the items which are easy to understand and underpricing the items such as data integration.&lt;br /&gt;&lt;br /&gt;Why is so?&lt;br /&gt;&lt;br /&gt;Thinking about it more, I am coming to a simple conclusion: these verticals don&apos;t really need general data aggregation.  That&apos;s why they don&apos;t want to pay for it properly.  Do realtors need to aggregate data from different sources? What for? To allow customers doing a search for all properties in Texas and Alabama? Come on, make up your mind! Where do you want to relocate? To Texas or to Alabama?&lt;br /&gt;&lt;br /&gt;You may tell me that sometimes there are several MLSs covering one area, and listings may not necessarily come from one database even for one town. Well, that&apos;s true. But do realtors really want to show customers ALL listings? No, they want to present only listings they are interested in.  Having a nice search tools on one realtor&apos;s Web page, which is just a nice marketing feature, that&apos;s it.  The real estate market is very conservative, and a realtor&apos;s mentality is still the one of a sales person.&lt;br /&gt;&lt;br /&gt;What about cops?  Do cops really want to search for a potential criminal in several databases? I don&apos;t think so. An average cop has too much information to deal with even in one town database.  &quot;I want to find everything about Bill Smith in all databases in Washington&quot; -- how do you imagine that? Sure, get back 235 results and analyze them during the next month.  Do you also want information on Bill Smith in Alabama and Texas?&lt;br /&gt;&lt;br /&gt;Yes, there are exceptions. A cop may be looking for a specific vehicle number, or for Andrei Kossoroukov.  There are only three men with the same last name as mine in North America, in fact, the exact spelling of one of those is different.  But in that case, you don&apos;t need a general type of a database search; you don&apos;t need to map all metadata in all databases; you don&apos;t need a lot of things that the data integration solution would give you.&lt;br /&gt;&lt;br /&gt;Yes, there are special cases. For example, an analyst in a police department may need a sophisticated search based on persons&apos; names, associations with other people, phone numbers and vehicle information.  They may want to know exact location of previous crimes, even if the suspect was just a witness.  How many of these analysts are working in a police department? The solution should be very specific, and starting from the inception phase should target specific people.  And then the funding should come from sources that target specific tasks.&lt;br /&gt;&lt;br /&gt;We all know that data warehousing approach for these industries failed. Why? because it was too general, and a lot of people in these industries and verticals just did not need a general approach.  Same I see happening with solutions based on federated searches.&lt;br /&gt;&lt;br /&gt;General approaches are just not cheap enough yet.</description>
  <comments>http://andreiko.livejournal.com/11133.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/10845.html</guid>
  <pubDate>Mon, 15 Jan 2007 20:46:21 GMT</pubDate>
  <title>Why nobody can be a good development manager for a long time</title>
  <link>http://andreiko.livejournal.com/10845.html</link>
  <description>Several times in my life I worked as a Development Manager.  In fact, the actual titles were quite different, from Lead Developer to Director of Software Development.  But in essence, in all of those were jobs, I managed a group of software developers and, sometimes, other IT guys.&lt;br /&gt;&lt;br /&gt;My first job as a IT Group Manager I got when I was 25, more than 20 years ago. I enjoyed it, but after a few years I switched to doing a research work, where I did not take any responsibility for others.  In a few years I started managing another IT group, and again - off that work, and again back to it.  Last time after a few years of managing a team of developers I decided that I don&apos;t want to be a manager anymore and became a software architect without managing responsibilities.&lt;br /&gt;&lt;br /&gt;Well, this would be the end of story, but the issue is that different companies and recruiters calls me to discuss Development Manager positions.  Well paid.  In fact, very well paid.&lt;br /&gt;&lt;br /&gt;However, thinking about it I realize why I&apos;m so attractive to them and what I don&apos;t like about the job. Those companies/recruiters like my resume because a) I have quite a bit of management experience and b) I have quite good technical knowledge.  What is my problem then?  &lt;br /&gt;&lt;br /&gt;I know that if I want to keep my technical knowledge up-to-date being a manager, I will need to spend a lot of time after my working hours.  Which in fact increases my working day, which decreases my rate.  If you think about it, high salaries don&apos;t really look that high anymore.  If I don&apos;t keep my technical knowledge up-to-date I will become not only less marketable, but will stagnate very soon.  That is exactly what happens to a lot of technical managers, who stay in that position for a long time, some of them even successfully retire in that capacity.&lt;br /&gt;&lt;br /&gt;Well, the point is... nobody can be a good development manager for a long time.  At least when managing people takes 100% of time and becomes primary responsibility.  One can try to keep up to day spending a lot of free time, as I mentioned.  Or trying to do some architectural or development work as part of primary responsibilities, which is not often supported by the top management.  Or trying to shift from managing people back to managing code, as I had been doing.&lt;br /&gt;&lt;br /&gt;[Note to employers.  Those guys, who switch between managing code and people are the worst.  If you hire them as development managers, be prepared to either lose them or let them do something different once in a while.  Do you really want it?]</description>
  <comments>http://andreiko.livejournal.com/10845.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/10582.html</guid>
  <pubDate>Fri, 12 Jan 2007 21:18:55 GMT</pubDate>
  <title>SSNS presentation</title>
  <link>http://andreiko.livejournal.com/10582.html</link>
  <description>For those of you in Vancouver, I am doing an SSNS 2005 presentation on February 24.&lt;br /&gt;&lt;br /&gt;&lt;a href=&apos;http://vancouvertechfest.ca/Presenters/tabid/59/Default.aspx&apos; rel=&apos;nofollow&apos;&gt;http://vancouvertechfest.ca/Presenters/tabid/59/Default.aspx&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/10582.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/9816.html</guid>
  <pubDate>Sun, 12 Nov 2006 19:30:38 GMT</pubDate>
  <title>Christopher Alexander and Software Architecture (2)</title>
  <link>http://andreiko.livejournal.com/9816.html</link>
  <description>&lt;a href=&quot;http://andreiko.livejournal.com/9276.html&quot;&gt;Part 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The more I&apos;m getting involved in the MCA program and the more architects from Microsoft I talk to, the more solid understanding of solution architecture I have.  As a disclaimer, everything that I am about to write is just my reflection on the Microsoft view of solution architects only.&lt;br /&gt;&lt;br /&gt;Basically, the definition of solution architecture can be driven from the competencies that MCA program suggests for solution architects:&lt;br /&gt;&lt;a href=&apos;http://www.microsoft.com/learning/mcp/architect/archcompetencies/default.mspx#EXF&apos; rel=&apos;nofollow&apos;&gt;http://www.microsoft.com/learning/mcp/architect/archcompetencies/default.mspx#EXF&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first thing you may notice, most of them are not technical competencies.  In fact, only two out of seven sound technical, which are technology breadth and technology depth.  The other five are leadership, communication, organizational dynamics, strategy, and process and tactics.  &lt;br /&gt;&lt;br /&gt;After I have completed a description of my competencies, I realized that I originally did not even properly understand some of them.  What is leadership?  This question I was asked on several occasions, and the first time I really did not know what to answer.  Let&apos;s take a look at what Microsoft says. Leaders &quot;can develop partnerships with stakeholders both inside and outside the organization on their projects, that they can mentor others, that they develop and form strong teams, and that they achieve successful results&quot;.  So, leaders lead projects to establishing solutions.&lt;br /&gt;&lt;br /&gt;Solution architects also need to have good communication skills and understand organizational dynamics.  In other words, solution architects can develop right relationships with people involved in that project.  Why? Because they provide a SOLUTION, a solution for a business rather than for a technical problem.  That&apos;s why they also need to understand business strategy and tactics.&lt;br /&gt;&lt;br /&gt;The bottom line (or, the dry residue, as chemists say) is &quot;Solution architects provide entire solution for a business problem&quot;.&lt;br /&gt;&lt;br /&gt;If this is a definition, then solution architects must understand the business, must develop good relations with all stakeholders, must understand the process from envisioning to deployment.  Definitely, they need to be technology savvy, but just to support the main process.&lt;br /&gt;&lt;br /&gt;Now, let&apos;s get back to Christopher Alexander&apos;s books.  They are not about cement or wood, they are about getting the solution completed.  That&apos;s why he talks about patterns such as &quot;Market of Many Shops&quot;, &quot;Health Center&quot;, &quot;Road Crossing&quot;, &quot;Children in the City&quot;, &quot;Local Sports&quot;, and many similar others.  In my opinion, the books are about developing an entire solution and not just technical aspects of it.&lt;br /&gt;&lt;br /&gt;&lt;i&gt; to be continued... &lt;/i&gt;</description>
  <comments>http://andreiko.livejournal.com/9816.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/9276.html</guid>
  <pubDate>Sat, 11 Nov 2006 19:40:00 GMT</pubDate>
  <title>Christopher Alexander and Software Architecture</title>
  <link>http://andreiko.livejournal.com/9276.html</link>
  <description>Well, everybody knows the history.  In mid-70s Christopher Alexander, an architect, famous for his buildings in Japan, USA, and other countries, published three books. A trilogy, in a sense.  The books were &quot;The Timeless Way of Building&quot;, &quot;A Pattern Language&quot;, and &quot;The Oregon Experiment&quot;.  Actually, he was a co-author of these books with quite a few other authors. &lt;br /&gt;&lt;br /&gt;In the beginning of 90s, Erich Gamma with other fellows involved in the object-oriented world of programming read Christoper Alexander&apos;s books.  May be they just read &quot;A Pattern Language&quot;, I don&apos;t know.  However, in 1995 they published &quot;Design Patterns: Elements of Reusable Object-Oriented Software&quot;.  Later, on many occasions, they mentioned that the ideas of software patterns and the inspiration to write &quot;Design Patterns&quot; came from Christopher Alexander.&lt;br /&gt;&lt;br /&gt;In 1996 Christopher Alexander even made a &lt;a href=&quot;http://www.patternlanguage.com/archive/ieee/ieeetext.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;presentation at The 1996 ACM Conference on Object-Oriented Programs, Systems, Languages and Applications (OOPSLA)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since then every software architect believed that Christopher Alexander is a father of modern software architecture.&lt;br /&gt;&lt;br /&gt;Recently I had a chance to read &quot;A Pattern Language&quot; and &quot;The Oregon Experiment&quot;. Well, here are my findings:&lt;br /&gt;&lt;br /&gt;1. Christopher Alexander et al. wrote terrific books!  I have nothing to do with building construction industry, I have never even had an IT project in this vertical, but I really enjoyed that reading.  When I started reading these books, I feel obliged. Am I a software architect or what?  However, after the first 30 minutes of reading I found out that the book (I started with &quot;The Oregon Experiment&quot;) did not talk about cement, bricks, or Shukhov fourth order differential equations, as I expected.  The book rather talked about people, environment, living in a society, bikes and shrubs, senior communities, different cultures, etc.&lt;br /&gt;&lt;br /&gt;After a hundred more pages I understood why these books are still bestsellers (godzillions of copies are being sold every year).  I could use them for my late night reading.  They were easy to read, not intimidating, if you know what I mean.&lt;br /&gt;&lt;br /&gt;I had a strange feeling that I was reading a book on Western feng shui as the main point of discussion was &lt;s&gt;right&lt;/s&gt; enjoyable way of living.&lt;br /&gt;&lt;br /&gt;The books have nothing to do with software design patterns as they were presented by Gamma et al.! Nothing! I should agree with &lt;a href=&quot;http://tesugen.com/archives/03/12/alexanders-patterns-and-software-design&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;tegusen&apos;s blog&lt;/a&gt; saying &quot;The more I read about Christopher Alexander’s idea of patterns and pattern languages [...], the less I feel that software design patterns have anything to do with it.&quot;&lt;br /&gt;&lt;br /&gt;Well, end of story? Surely, not!&lt;br /&gt;&lt;br /&gt;As you may know, recently I [was] enrolled in the Microsoft Certified Architect program.  There are different flavours of the program. One of them, exactly what I will be working on, is called &quot;Solutions Architect Certification&quot;.&lt;br /&gt;&lt;br /&gt;Who are solution architects?  To answer this question, I need to dive deeper into the discussion &quot;Who the Sofware/IT/Computer Industry/etc. Architects Are&quot;...&lt;br /&gt;&lt;br /&gt;&lt;i&gt; &lt;a href=&quot;http://andreiko.livejournal.com/9816.html&quot;&gt;next...&lt;/a&gt;&lt;/i&gt;</description>
  <comments>http://andreiko.livejournal.com/9276.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>14</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/9016.html</guid>
  <pubDate>Sat, 11 Nov 2006 04:49:16 GMT</pubDate>
  <title>Microsoft Certified Architect program</title>
  <link>http://andreiko.livejournal.com/9016.html</link>
  <description>Well, thanks to my company, www.visiphor.com, and personally Jame Healy and Mike Hilton I am enrolled in the MCA program.  Now I am waiting for a mentor who will guide me through the process.  Actually, I already know who the mentor (a very respectful architect from a very respectful company) will be.  However, since he has not replied yet, I am not announcing his name.  Just want to say that he is one of leading architects in the SOA, SaaS, and Web Services area.&lt;br /&gt;&lt;br /&gt;I have not been blogging for a while. Now I&apos;m planning to come up with a few posts reflecting my thoughts on the books by Christopher Alexander.  I found it amazingly interesting how he thinks and how it is related to my work.&lt;br /&gt;&lt;br /&gt;So, probably this weekend...</description>
  <comments>http://andreiko.livejournal.com/9016.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/8780.html</guid>
  <pubDate>Wed, 06 Sep 2006 18:46:52 GMT</pubDate>
  <title>Cape Clear -- they are good but they are small :)</title>
  <link>http://andreiko.livejournal.com/8780.html</link>
  <description>“Cape Clear retains its leading position in Forrester’s latest review of the standalone ESB market. The vendor is one of the pioneers in the enterprise service bus (ESB) category and continues to be among the leaders in technology innovation and strategic vision in this space. Aggressive pursuit of emerging Web services standards and communication protocols, coupled with good tools for developing and deploying services, make Cape Clear a good choice for companies looking for an advanced ESB that can meet many service-oriented architecture (SOA) requirements.”&lt;br /&gt;&lt;br /&gt;In June 2006 Forrester performed a research comparing different ESB products. Here is a diagram that shows the position of each product on the market:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.capeclear.com/images/forresterwave.gif&quot;&gt;&lt;br /&gt;&lt;br /&gt;You can download the Forrester article from the Cape Clear site:&lt;br /&gt;&lt;a href=&apos;http://www.capeclear.com/esbwave06/&apos; rel=&apos;nofollow&apos;&gt;http://www.capeclear.com/esbwave06/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They are good but they are small... :)</description>
  <comments>http://andreiko.livejournal.com/8780.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/8539.html</guid>
  <pubDate>Thu, 31 Aug 2006 23:08:36 GMT</pubDate>
  <title>MCA interview</title>
  <link>http://andreiko.livejournal.com/8539.html</link>
  <description>This Monday I got home from work after 7PM.  I had my lunch, played with the kids, and decided to check my e-mail before going to bed.  And I did it only to find out that Microsoft scheduled an MCA interview for the next day.&lt;br /&gt;&lt;br /&gt;Since I applied for the Microsoft Certified Architect Program a couple of months ago, I have already forgotten what I wrote in that application.  I found it, and decided that I needed to prepare for the interview.  Since I did not know what it would be about, I started refreshing my knowledge of everything from RUP to NUnit (RUP, NUnit, and a lot of other things were in the list of methodologies, technologies, tools, etc. that I was supposed to know as an architect).&lt;br /&gt;&lt;br /&gt;I spent a sleepless night... well, exaggerating a little... but I woke up early.&lt;br /&gt;&lt;br /&gt;I waited for the phone call till noon, when I got an e-mail from a MS guy that he was running two hours late, that the interview schedule was screwed up (wasn&apos;t any surprise), and he would call me soon.  &lt;br /&gt;&lt;br /&gt;Finally, he called.&lt;br /&gt;&lt;br /&gt;He was very nice, didn&apos;t sound young, and probably wasn&apos;t.  Later I did a Google search, and found out that he did quite a bit of architecture and methodology work in different areas.&lt;br /&gt;&lt;br /&gt;Typical interview, like a job interview, typical questions.  Basically, we were going over the list of 7 competencies and discussing them. It took about an hour, and I don&apos;t think that details are quite interesting.&lt;br /&gt;&lt;br /&gt;What I&apos;ve learned though:&lt;br /&gt;1. How they see architects today in Microsoft is very well described by the competencies.  Architects need to have as much business knowledge and experience as technical knowledge.  The trend set up by TOGAF and Ernst and Young is in moving the architecture metaphor into business development.  This is something what seems quite obvious but would be very difficult to explain to  many business people.  At least, I had hard time trying to do that.&lt;br /&gt;2. My interviewer was very interested in my knowledge of the entire solution development cycle: from inception and business requirements to the deployment. I got quite a few questions about QA and testing, about deployment processes, etc.  I think he was satisfied.  He was not trying to assess my knowledge of testing, rather whether I understood the process.  One important thing with that regard: The case that I shall (hopefully) present to the board will have to cover an entire solution.&lt;br /&gt;3. In fact, the power point presentation will have to be done in 20 minutes. And a big part of mentoring and preparing the case will be preparing the presentation so that the board members wouldn&apos;t get bored or annoyed.&lt;br /&gt;4. One of interesting questions was what I suggested would be my strongest and weakest competencies. I won&apos;t tell you the answer.:) But I learnt that my mentor will help my to focus on my weakest skills.&lt;br /&gt;&lt;br /&gt;There is no official result yet.  I think, I&apos;ve passed, but will know for sure only next week.</description>
  <comments>http://andreiko.livejournal.com/8539.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/8213.html</guid>
  <pubDate>Tue, 18 Jul 2006 02:20:37 GMT</pubDate>
  <title>Microsoft Certified Architect</title>
  <link>http://andreiko.livejournal.com/8213.html</link>
  <description>Well, I did not miss the deadline.  I have applied for the MCA program, and the result of the application is expected to be announced by September. The scariest part was obviously the &lt;a href=&quot;http://www.microsoft.com/learning/mcp/architect/archcompetencies/default.mspx&quot; rel=&quot;nofollow&quot;&gt;architect competencies&lt;/a&gt;, but after completing them I feel good.  Mission accomplished.</description>
  <comments>http://andreiko.livejournal.com/8213.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/8075.html</guid>
  <pubDate>Thu, 15 Jun 2006 23:59:45 GMT</pubDate>
  <title>SQL Server Notification Services 2005 ... again</title>
  <link>http://andreiko.livejournal.com/8075.html</link>
  <description>To quickly start developing for SSNS 2005 I suggest to &lt;br /&gt;&lt;br /&gt;1. Read &lt;a href=&quot;http://www.microsoft.com/technet/prodtechnol/sql/2000/evaluate/sqlnsto.mspx&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Microsoft SQL Server Notification Services Technical Overview&lt;/a&gt;.&lt;br /&gt;2. Read my previous article, &lt;a href=&quot;http://www.andreiko.com/DesignPatterns/DemystifyingSQLServerNotificationServices.html&quot; rel=&quot;nofollow&quot;&gt;Demystifying SQL Server Notification Services&lt;/a&gt;.&lt;br /&gt;3. Install and run &lt;a href=&quot;http://www.andreiko.com/DesignPatterns/SSNSExample.zip&quot; rel=&quot;nofollow&quot;&gt;my examples&lt;/a&gt;.&lt;br /&gt;4. Briefly read &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms170337(SQL.90).aspx&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Notification Services Tutorial&lt;/a&gt; from SQL Server 2005 Books Online. Don&apos;t spend too much time on it, just get familiar with the environment.&lt;br /&gt;&lt;br /&gt;And you are ready to go!</description>
  <comments>http://andreiko.livejournal.com/8075.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/7728.html</guid>
  <pubDate>Sun, 11 Jun 2006 04:57:04 GMT</pubDate>
  <title>SQL Server Notification Services 2005</title>
  <link>http://andreiko.livejournal.com/7728.html</link>
  <description>I finally did it.&lt;br /&gt;&lt;br /&gt;I went through the same exercise with SQL Server Notification Services 2005 as I did with SSNS 2000.  Well, it was much easier. May be because I have done it with SSNS 2000.&lt;br /&gt;&lt;br /&gt;1. First of all, everything works in the same way. I took my old examples, followed my document for SQL Server 2000, and voila!  I had my notification services running.&lt;br /&gt;&lt;br /&gt;2. Well, not EXACTLY the same way.  You don&apos;t need to download and install Notification Services.  They come with SQL Server 2005, which is good. And obviously, the installation diractory is different.  So, you nscontrol.exe utility is now located in C:\Program Files\Microsoft SQL Server\90\NotificationServices\9.0.242\Bin. However, with this exception everything is the same.&lt;br /&gt;&lt;br /&gt;3. SQL Server Management Studio now got some add-ons that simplify your work with Notification Services a little.  Now in the Object Explorer, once you are connected to your SQL Server 2005, you can see the Notification Service folder.  Right click on it, and you can manage your Notification Service Instances.&lt;br /&gt;&lt;br /&gt;4. You still have to create a bunch of XML files. And you still have to write code to support subscriptions. Btw, there is a new namespace Microsoft.SqlServer.NotificationServices.Rules which did not exist in the previous version.  However, maintaining these files, environment variables, and Windows services is much easier through the new interface.&lt;br /&gt;&lt;br /&gt;Well, the bottom line is &quot;Know a) the structure of the XML files and b) architecture of the Notification Services -- then use new tools.&quot;</description>
  <comments>http://andreiko.livejournal.com/7728.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/6923.html</guid>
  <pubDate>Fri, 19 May 2006 21:32:01 GMT</pubDate>
  <title>Enteprise Integration Patterns book</title>
  <link>http://andreiko.livejournal.com/6923.html</link>
  <description>As I am taking transit to get to work now, I got some time to read in the bus and on the skytrain.  I decided to read the book by Gregor Hohpe and Bobby Woolf (&quot;Enterprise Integration Patterns&quot;) that I started to read a while ago.  My first impression about that book was not very good: &lt;a href=&apos;http://andreiko.livejournal.com/2826.html&apos;&gt;http://andreiko.livejournal.com/2826.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Why am I doing the second attempt? Well, first of all, there are just a few books on that topic. Secondly, I am doing an interesting work now, related to the integration patterns. And I wanted to do my research as thoroughly as possible. And the last push I got from my conversation with Jame Healy a few months ago.  I tried to explain Jame why I did not like the book, and he answered: &quot;Oh, I consider it just a catalogue of patterns&quot;.  He had a point.  So, I started my second attempt trying to consider it just a catalogue of patterns.&lt;br /&gt;&lt;br /&gt;One thing which I have discovered (actually quite some time ago) that the catalogue is incomplete.  Big deal? Surely not.  However, it was missing some important patterns which were quite obvious.  I have difficult time imagining how one can forget about replication/synchronization patterns discussing data integration.  Well, the Microsoft &quot;Integration Patterns&quot; (significantly based on the Hohpe&apos;s book) covered the issue.&lt;br /&gt;&lt;br /&gt;However, let&apos;s pick a pattern from the book. And believe me, I&apos;m not picky :), I just looked into one of the first patterns in the book, &quot;Message Channel&quot;.  Don&apos;t forget, I&apos;m trying to read the book as a catalogue, so I&apos;m trying to understand what this particular pattern is.&lt;br /&gt;&lt;br /&gt;Well, what do we see?&lt;br /&gt;&lt;br /&gt;The authors introduce the Message Channel pattern saying that applications don&apos;t just randomly throw out information into messaging systems.  A sender adds information to a particular Message Channel, a receiver retrieves information from a particular Message Channel.  &lt;br /&gt;&lt;br /&gt;What do I learn about the Message Channel pattern from it?  First of all, Message Channels is something what applications could add information to.  Is it some type of storage? &quot;Adding&quot; information is different from sending/throwing/passing/etc. it.  &quot;Adding&quot; assumes storage.  I doubt that this was what author meant.  If he really did, I have concerns.&lt;br /&gt;&lt;br /&gt;Secondly, I see that the sender&apos;s Message Channel is different from the receiver&apos;s Message Channel.  I had no problem with that, if the picture in the book did not show one channel between a sender and a receiver.  A few pages after the authors say: &quot;A Message Channel can often be though as a pipe, a conduit from one application to another&quot;.  So, my question is: &quot;Does the receiver share the channel with the sender?&quot;  There is no answer in the book.&lt;br /&gt;&lt;br /&gt;Let&apos;s keep reading. Two paragraphs later we see &quot;Channels are logical addresses in the messaging system.&quot;  WHAT? I have an urgent temptation to close the book.  This is not just negligence, this is ignorance.  First of all, CHANNELS ARE NOT ADDRESSES. Second of all, I cannot even imagine an address being a data storage, or a pipe.&lt;br /&gt;&lt;br /&gt;Just last example. Actually, that was enough for me already. But for those of you, who are masochistic in nature -- one last quote. &quot;There are two different kinds of message channels: Point-to-Point Channels and Publish-Subscribe Channels&quot;. This sounds rubbish to me, but I&apos;m not arguing it. I am just surprised (am I?) that the next sentence is &quot;Mixing different data types on the same channel can cause a lot of confusion; to avoid this use separate Datatype Channels&quot;. What is Datatype Channels? A new type in addition to the other two? Or is it a new classification, say, a new category? The author does not explain.&lt;br /&gt;&lt;br /&gt;Supposedly, when I read about the Datatype Channel pattern, I will understand it better. Somehow, I doubt it.&lt;br /&gt;&lt;br /&gt;No, this is not a good book. THIS IS A BAD BOOK. You can not use it even as a catalogue.&lt;br /&gt;&lt;br /&gt;Dixi et animam levavi.</description>
  <comments>http://andreiko.livejournal.com/6923.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/6673.html</guid>
  <pubDate>Thu, 18 May 2006 04:34:10 GMT</pubDate>
  <title>SOAP header</title>
  <link>http://andreiko.livejournal.com/6673.html</link>
  <description>SOAP Header seems to be not intended to carry extensions. It came later. If it was an idea from the very beginning it would&apos;ve called &lt;extensions&gt;. :)</description>
  <comments>http://andreiko.livejournal.com/6673.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://andreiko.livejournal.com/6627.html</guid>
  <pubDate>Tue, 16 May 2006 04:21:27 GMT</pubDate>
  <title>Demystifying SSNS</title>
  <link>http://andreiko.livejournal.com/6627.html</link>
  <description>Based on my work with SS Notification Services I have written an article and cleaned up the examples.  The article, &quot;Demystifying SQL Server Notification Services&quot; can be downloaded from here:&lt;br /&gt;&quot;&lt;a href=&apos;http://www.andreiko.com/DesignPatterns/Demystifying%20SQL%20Server%20Notification%20Services.doc&apos; rel=&apos;nofollow&apos;&gt;http://www.andreiko.com/DesignPatterns/Demystifying%20SQL%20Server%20Notification%20Services.doc&lt;/a&gt;&quot;&lt;br /&gt;and the examples can be downloaded from here:&lt;br /&gt;&quot;&lt;a href=&apos;http://www.andreiko.com/DesignPatterns/SSNSExample.zip&apos; rel=&apos;nofollow&apos;&gt;http://www.andreiko.com/DesignPatterns/SSNSExample.zip&lt;/a&gt;&quot;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.andreiko.com/DesignPatterns/&quot; rel=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;DesignPatterns&lt;/a&gt;</description>
  <comments>http://andreiko.livejournal.com/6627.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>

