Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ДСфрагмСнтация ΠΌΠΎΠ·Π³Π°. БофтостроСниС ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 30

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ Варасов

Π‘ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ Π±Ρ‹Π» Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ вСрсиСй. NET Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… мСстах Π±Ρ‹Π»Π° 1.1, Ρ‡Ρ‚ΠΎ для 2007 Π³ΠΎΠ΄Π° выглядСло ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ. БобствСнно, NET Π±Ρ‹Π» Π½ΡƒΠΆΠ΅Π½ для прилоТСния SAP ΠΈ, Π² своё врСмя, накатывая Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (service pack 1), прСдприятиС ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ функционирования основного прилоТСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ слуТбС эксплуатации ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ. NET 2 Π±Ρ‹Π»ΠΎ Π½Π΅Π²Π΅ΠΆΠ»ΠΈΠ²ΠΎ, мягко говоря. А ΠΏΡ€ΠΈ анонсированном. NET 3 Π΅Ρ‰Ρ‘ ΠΈ Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ. Π’Π°ΠΊ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° послСдняя вСрсия Delphi для Win32, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ прилоТСния, Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ простым ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π΅Π· нСобходимости установки систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ автоматичСского обновлСния вСрсий ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π»ΠΈΡΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой срСды ΠΈ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈ вопросов.

Если ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΡƒΡŽΡΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Ρ‚ΠΎ получится ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, прСдставлСнная Π½Π° рис. 11.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠ² Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΌΡ‹ сталкиваСмся с двумя основными ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ:

β€’ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии;

β€’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слабым, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с сСрвСром, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.


ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° одностороннСй синхронизациСй Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ… Ρ‡Π°ΡΡ‚ΡŒΡŽ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Поясню ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ привязан ΠΊ своСй клиСнтской Π±Π°Π·Π΅, опрСдСляСмой Π³Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΄Π°ΠΆ. БоотвСтствСнно, Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΌΡƒ Π°Π³Π΅Π½Ρ‚Ρƒ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Π˜Ρ‚Π°Π»ΠΈΠΈ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ смысла Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°Ρ… Π² Π’Π΅Π»ΠΈΠΊΠΎΠ±Ρ€ΠΈΡ‚Π°Π½ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ локальная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π»Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»Π° Π΄Π²ΡƒΡ… Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΄Π²ΠΈΠΆΠΎΠΊ Access.

Рис. 11. АрхитСктура Β«ΠžΠΏΡ‚ΠΈΡΡ‚ΠΎΠΊΒ»


Однако ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠ·ΠΊΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ, Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ вставка Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ локального Π΄Π²ΠΈΠΆΠΊΠ° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π΅Π±-слуТба синхронизации Π±Ρ‹Π»Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° сТатиСм Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ 500 тысяч записСй. Вставка Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΄Π°ΠΆΠ΅ Π½Π° ADO-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° довСсти ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄ΠΎ 10–20 тысяч записСй Π² сСкунду, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ достаточным.

Вторая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π»Π° Ρ‚Ρ€Π΅Π²ΠΎΠ³Ρƒ Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΡ… ΠΏΠΎ сосСдству ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ имСвшССся Ρƒ Π½ΠΈΡ… Π² эксплуатации ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π‘Π” Access Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ всСго 1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎ Π·Π° расчётами Π΄ΠΎΠ»Π³ΠΈΠ΅ Π½ΠΎΡ‡Π½Ρ‹Π΅ часы. Но я Π±Ρ‹Π» Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΈΠ· этого Π΄Π²ΠΈΠΆΠΊΠ° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Ссли Π½Π΅ Π²ΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² дСструктивный снобизм якобы «нСнастоящСй Π‘Π£Π‘Π”Β», Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ вопросу Ρ‚Π°ΠΊ ΠΆΠ΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ, ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° порядок-Π΄Π²Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² Π½Π° ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΌ SQL Server.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ SQL ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ срок ΡΠΎΠΎΡ€ΡƒΠ΄ΠΈΡ‚ΡŒ инструмСнт, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Query Analyser, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ADO с Π‘Π” Access. Π’ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ADO SQL Tools (MS Access Query Analyzer) ΠΈ происходила основная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° расчётов. ВрСмя исполнСния Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ тяТёлых ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² запросов ΡƒΠ΄Π°Π»ΠΎΡΡŒ довСсти Π΄ΠΎ 20–30 сСкунд Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ПК ΠΈΠ»ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅ с одноядСрным процСссором ΠΈ 1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΎΠΌ ΠžΠ—Π£.

НСмало Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ интСрфСйсу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Зная, Ρ‡Ρ‚ΠΎ основная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ляТСт Π½Π° Π΅Π³ΠΎ ΠΏΠ»Π΅Ρ‡ΠΈ, Поль постарался ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», внСся Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΉ Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, внСшний Π²ΠΈΠ΄ прилоТСния, Β«ΡˆΠΊΡƒΡ€ΠΊΠ°Β»[116], Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ Π³Π°ΠΌΠΌΠ΅, для Ρ‡Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Ρ‘Π½ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ. По ΠΎΠ΄Ρ‘ΠΆΠΊΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚.

Рис. 12. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ клиСнтского прилоТСния Β«ΠžΠΏΡ‚ΠΈΡΡ‚ΠΎΠΊΒ»


Для обСспСчСния процСсса Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, тСстирования-ΠΏΡ€ΠΈΡ‘ΠΌΠΊΠΈ ΠΈ эксплуатации. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния 2012 Π³ΠΎΠ΄Π° ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ сСрвСра Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ»Ρ‹Π±ΠΊΡƒ, лишь Π½Π΅Π΄Π°Π²Π½ΠΎ Π΅ΠΌΡƒ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ памяти, довСдя ΠΎΠ±ΡŠΡ‘ΠΌ ΠžΠ—Π£ Π΄ΠΎ 4 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. Но распрСдСлённая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΊΡƒΠΏΠ΅ с использованиСм мноТСствСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° SQL ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΡΡ‚ΠΎΠ»ΡŒ скромными рСсурсами.

Π”ΠΎΠ±Π°Π²Π»ΡŽ, Ρ‡Ρ‚ΠΎ корпорация Π΄Π²Π°ΠΆΠ΄Ρ‹ прСдставляла систСму Π½Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠΉ выставкС EquipAuto Π² 2007 ΠΈ 2009 Π³ΠΎΠ΄Π°Ρ…. Π ΠΎΠ»ΠΈΠΊ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ сСйчас ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° Π²Π΅Π±-сайтС. НСплохой бонус ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€Ρ‘Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ, сдСланному ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса ΠΈ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ основных участников.

АрхитСктура сокрытия ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Π’ 2008 Π³ΠΎΠ΄Ρƒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ERP-систСмы для Ρ€ΠΎΠ·Π½ΠΈΡ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ оказался Π² числС Π½Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ…ΠΎΡ‚Π΅Π»Π° компания с 25-Π»Π΅Ρ‚Π½Π΅ΠΉ историСй, двумя сотнями сотрудников ΠΈ мноТСством ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² Π•Π²Ρ€ΠΎΠΏΠ΅ ΠΈ Π‘Π΅Π²Π΅Ρ€Π½ΠΎΠΉ АмСрикС, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΠ΅ Π±Ρ€Π΅Π½Π΄Ρ‹, ΠΊΠ°ΠΊ Naf Naf, Vieux Campers, Tally Weijl, Guess, ΠΎΡ‚ нСбольшой программистской Ρ„ΠΈΡ€ΠΌΡ‹, Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½Π΅Π³ΠΎ «стартапа»?

Новая вСрсия систСмы Β«ΠΏΠΎ всСм ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹Β», ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΌΠ΅Π½Π½ΠΎΠΌΡƒ Ρ†Π²Π΅Ρ‚ΠΊΡƒ, Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»Π°. Π‘Ρ€ΠΎΠΊΠΈ Π·Π°Ρ‚ΡΠ³ΠΈΠ²Π°Π»ΠΈΡΡŒ, ΠΏΡ€ΠΈΡ‘ΠΌΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠ»ΠΈΡΡŒ, инвСсторы Π½Π΅Ρ€Π²Π½ΠΈΡ‡Π°Π»ΠΈ. НС знаю, ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ идСя, Π½ΠΎ Ρ„ΠΈΡ€ΠΌΠ° Ρ€Π΅ΡˆΠΈΠ»Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π΅Π»Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒΒ» (software factory). Π’ΠΎ Π΅ΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² систСмы ΠΈΠ· ΠΌΠ΅Ρ‚Π°-описаний. ΠŸΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π±Π°Π·Π΅. NET, NHibernate ΠΈ всСвозмоТных Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ Π½Π΅ приносили Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ ΠœΠ°Ρ€ΠΊΠΎΠΌ, нашим ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚ΠΎΠΌ, ΡƒΠΆΠ΅ самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ Π²ΠΎ врСмя ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² МонпСльС принёс ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡŽ. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°Ρ вСрсия Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² классичСской ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² срСдС Microsoft. Π’ΠΎ Π΅ΡΡ‚ΡŒ SQL Server, «толстый ΠΊΠ»ΠΈΠ΅Π½Ρ‚Β» ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ ASP.Net с раздСляСмой Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сборок Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. ВсС Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ прСкрасно Π΄ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. А врСмя, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅, подошло быстро, Π·Π° нСсколько Π»Π΅Ρ‚. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€ΠΎΡΠ»Π°ΡΡŒ, врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π° ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°Ρ†ΠΈΠΈΡ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ Π·Π° сутки стала ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ эти самыС сутки.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ Π΄Π°Ρ€ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ тСряли ΠΈ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡƒΡŽ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°Ρ†ΠΈΡŽ пСрСписывали Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π° SQL, Π½ΠΎ с курсорами, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Π΅Ρ‰Ρ‘ Ρ…ΡƒΠ΄ΡˆΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ курсоров, Π½ΠΎ всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ смогли Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠΎΡ‚ΠΎΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ появились спСциалисты, сказавшиС: Β«Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄!Β» Они пСрСписали всю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° C#, ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ…ΠΎΡ€ΠΎΠ½ΠΈΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ модуля.

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² – порядка ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°, с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 500 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ строк Π² самой большой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ истории Π·Π° нСсколько Π»Π΅Ρ‚. Π’ вСрсии-Β«Π±Π°Π±ΡƒΡˆΠΊΠ΅Β» использовались Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ «старой ΡˆΠΊΠΎΠ»Ρ‹Β» Π²Ρ€ΠΎΠ΄Π΅ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ, благодаря Ρ‡Π΅ΠΌΡƒ ΠΎΠ½Π° ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΠ»Π°ΡΡŒ с ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ, хотя Π±Ρ‹ ΠΈ Π·Π° счёт Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°. Но смСна Π‘Π£Π‘Π” Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΈΠ· «большой Ρ‚Ρ€ΠΎΠΉΠΊΠΈΒ» ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Β«ΠΆΠ΅Π»Π΅Π·ΠΎΒ», Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΠ±ΠΌΠ°Π½Ρ‡ΠΈΠ²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ всё Ρ€Π΅ΡˆΠΈΡ‚ΡΡ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ само.

ЀизичСская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° хранСния, сСкционированиС Ρ‚Π°Π±Π»ΠΈΡ†, оптимизация индСксов ΠΈ запросов ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠΉ статистикС – эти вопросы Π²ΡΠ΅Ρ€ΡŒΡ‘Π· Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΡ…ΠΎ кряхтСла ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΏΡ€Π°Π²Π΄Π°, Π½Π° ΠΌΠΎΡ‰Π½ΠΎΠΌ 16-ядСрном сСрвСрС с 32 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ памяти ΠΈ быстрым дисковым массивом.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ шла дальшС. Новый толстый ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ‡Π΅Ρ€Π΅Π· слой WCF с сСрвСром прилоТСния. Π’Π΅Π΄ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ «спСциалисту» извСстно, Ρ‡Ρ‚ΠΎ Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² Π‘Π£Π‘Π” ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ… ΠΎΡ‚Ρ‚ΡƒΠ΄Π° загодя Π²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° сСрвСрС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π΄Ρ€ΡƒΠ³, Ρ‚Π°ΠΊ быстрСС получится?

ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ я наблюдал, ΠΏΡ€Π°Π²Π΄Π°, ΡƒΠΆΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΏΡ€Π°Π² доступа. Π”Π²Π΅ сотни ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ voila – списки Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ порядка 100 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² элСмСнтов сидят Π² памяти сСрвСра прилоТСния, Π³Π΄Π΅ со скрипом Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ запросами LINQ. Π’Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ· Π‘Π£Π‘Π” ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ доступа, ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ оказалось слоТнСС.

Π’ΠΎΡ‚ ΠΏΠΎΠ΄ это Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ отобраТСния Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π° ΠΈΡ… посрСдников (proxy) для доступа Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π½Π°Π» WCF ΠΈ части интСрфСйса Π½Π° WPF.

Для ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΌ Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прогнозирования ΠΏΡ€ΠΎΠ΄Π°ΠΆ. Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ большая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΌ всС-Ρ‚Π°ΠΊΠΈ Π±Ρ‹Π»Π° написана Π½Π° SQL. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, нСсмотря Π½Π° отсутствиС администрирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ хранСния, ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΆΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡƒ максимуму. НапримСр, расчёт части ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π° выполнялся нСсколько сСкунд. Π§Ρ‚ΠΎ оказалось быстрСС, Ρ‡Π΅ΠΌ пропуск Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· всС слои ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌ WPF, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… со всСми Β«Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈΒ».

МоТно Π»ΠΈ, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Π² Π·Π΄Ρ€Π°Π²ΠΎΠΌ ΡƒΠΌΠ΅, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… шла быстрСС ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ слоями систСмы ΠΈ отобраТСния? Для этого Π½Π°Π΄ΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΠΏΠΎΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ Π² освоСнии Β«ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ²Β», Π½Π°Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΈΡ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ, Π½ΠΎ бСссмыслСнного ΠΊΠΎΠ΄Π° с высокой цикломатичСской ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Π³Π»ΡƒΠ±ΠΈΠ½Π°ΠΌΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ ΠΈ ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒΡŽ классов. Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Π½Π΅ спасала автоматичСская гСнСрация ΠΊΠΎΠ΄Π° большСй части этого Ада ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΏΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΌΠΎΠ΄Π΅Π»ΠΈ с нСсколькими дСсятками сущностСй.