18.11.2008, 15:01 | #1 |
Участник
|
В NAV 2009 код C/AL конвертится в C#, а что же будет в DAX?
Случайно наткнулся на сообщение из чьего-то блога касаемо NAV 2009 и появившегося там (а, может, и не там, а раньше, - я не в теме) некоего аналога сервера приложений Аксапты - Service Tier. В сообщении есть очень интересные моменты (в вольном переводе):
Цитата:
Что такое Service Tier?
Очень кратко - это промежуточный уровень в Microsoft Dynamics NAV 2009. Именно на этом уровне [теперь?] выполняется весь доступ к БД и вся бизнес-логика, что также означает, что именно на этом уровне выполняется код приложения. ... А этот Service Tier занимается интерпретацией кода C/AL? Как вы, вероятно, уже знаете, ответ на этот вопрос - нет. В NAV 2009 большая часть этого самого Service Tier написана на C# и выполняется в виде управляемого кода, кроме того, приложение тоже конвертируется в C# и во время работы также выполняется в виде скомпилированного управляемого кода. Это происходит за счет того, что каждый раз, когда вы компилируете объект в C/SIDE, этот объект "за кулисами" транслируется в C#, и этот исходный код C# сохраняется в таблице Object Metadata в BLOB-поле с названием User Code. Кроме того, в таблице Object Tracking обновляется поле Object Timestamp, что позволяет Service Tier'у увидеть и подхватить эти изменения. Когда ему нужно выполнить код объекта, соответствующий объекту исходный код C# записывается на диск и посредством неких манипуляций компилируется в модуль, который может быть загружен на динамически, что позволяет Service Tier на лету заменять отдельные code unit'ы, страницы, etc. |
|
|
За это сообщение автора поблагодарили: Lemming (1). |
Теги |
.net, msil, x++, компиляция |
|
|