|  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++, компиляция | 
|  | 
| 
 |