Миграция приложений

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Миграция приложений (англ. migration) — процедура перевода программных продуктов (исходного кода и структуры базы данных) с одной платформы (технологии) на другую (чаще всего из устаревшей в более современную).

Есть два способа осуществления миграции — ручная и автоматическая.

При ручной миграции команда программистов берёт исходные коды приложения, изучает документацию к приложению и заново программирует всю описанную функциональность. Таким образом, приложение разрабатывается с нуля.

При автоматической миграции используются специальные программы, позволяющие автоматизировать этот процесс. В этом случае программа берёт исходный код приложения и преобразует его в целевой код на новой технологии. Преобразование основано на применении определённых спецификаций (описание реализации в различных технологиях одних и тех же элементарных функциональностей), которые реализованы в программе, осуществляющей миграцию.

Пример спецификации[править]

C++ PL/SQL
<source lang="cpp">void proc_name ()

//comment line {

   int j = 10, k = 10;
   // simple for loop
   for (int i=1; i<=k; i++)
       j = j + 1;
           
   for (int i=1; i<k; i++)
       j = j + 1;
                       
   // reversed loop
   for (int i=5; i>=k; i--)
       j = j + 1;
   // reversed loop
   for (int i=5; i>k; i--)
       j = j + 1;
           
   // multilined for loop
   for (int i=1; i<=k; i++)
       {
           j = j + 1;
           j = j + 1;
       }

}</source>

<source lang="mysql">

create or replace procedure proc_name AS --comment line

 j number(10,0);
 k number(10,0);

begin

 -- simple for loop
 for i in 1..k loop
   j := j + 1;
 end loop;
 for i in 1..k-1 loop
   j := j + 1;
 end loop;
 -- reversed loop
 for i in reverse k..5 loop
   j := j + 1;
 end loop;
 -- reversed loop
 for i in reverse k+1..5 loop
   j := j + 1;
 end loop;
 -- multilined for loop
 for i in 1..k loop
   j := j + 1;
   j := j + 1;
 end loop;

end proc_name; </source>

По окончании автоматической миграции программист или вручную проводит доработку целевого кода, или дорабатывает программу для миграции, а именно те или иные спецификации, которые некорректно сработали.

В целом, применение автоматической миграции экономит 50—60 % трудозатрат по сравнению с ручной миграцией.

Примечания[править]

Ссылки[править]