Elisy Business Connector позволяет взаимодействовать с системами 1С:Предприятие через Интернет-технологии. Решение является кроссплатформенным и более эффективным, чем традиционный доступ через COM/OLE.
Elisy Business Connector – это связующий компонент. Он позволяет связываться с опубликованными информационными базами 1С:Предприятие на Apache/IIS и в облачных сервисах. Для отправки запросов и получения ответов используется http-протокол и форматы JSON/XML. В основу решения легли многие разработки команды Elisy Software Design в области интеграции с 1С:
.Net Bridge,
MdInternals,
Decompiler,
Proxy.
Используемый подход является кроссплатформенным: он не только позволяет обращаться к системам 1С:Предприятие, работающим на Windows и Linux, но также может обратиться к системам, размещенным на облачных сервисах. Сейчас компонент доступен для Java, .Net framework, Silverlight и Mono. Архитектура Business Connector спланирована так, что в будущем позволит перенести компонент на другие популярные фреймворки. Внутри 1С-модулей компонент доступен на Windows через технологию 1C.Net:Предприятие.
Пример для Mono/.Net/Silverlight:
Код:
using Elisy.BusinessConnector;
using Elisy.BusinessConnector.VM;
using Elisy.BusinessConnector.Types;
...
string connectionString = "ws=\"http://demo-ma.1c.ru/trade\";Usr=\"\";Pwd=\"\";L=\"en_US\"";
Connection connection = new Connection(connectionString);
connection.Open();
String[] users = connection.GetUserList();
connection.Login(user[0], "password");
GlobalContext gc = new GlobalContext(connection);
string serverValue = gc.GetServerModule("CommonServerModule").Invoke("SomeExportFunction", null).ToString();
connection.Close();
Пример для Java:
Код:
import net.elisy.businessconnector.*;
import net.elisy.businessconnector.vm.*;
...
String connectionString = "ws=\"http://demo-ma.1c.ru/trade\";Usr=\"\";Pwd=\"\";L=\"en_US\"";
Connection connection = new Connection(connectionString);
connection.open();
String[] users = connection.getUserList();
connection.login(users[0], "password");
GlobalContext gc = new GlobalContext(connection);
Object server2 = gc.getServerModule("CommonServerModule").invoke("SomeExportFunction", null);
connection.close();