Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Freedom of choice : Codez dans votre langage
Guillaume RongierSales Engineer
Introduction
IRIS Data Platform
JDBC/ODBC
XEP
Native API
Hibernate/EntiyFrameWork
PEXEnsemble
Gateway
Native APIGlobals
Native API
Class Method
Routine
Native API// Java
IRISConnection conn = (IRISConnection) java.sql.DriverManager.getConnection(connStr,user,password);
IRIS dbnative = IRIS.createIRIS(conn);
dbnative.set("Hello","global","sub1");
dbnative.set("World","global","sub2");
global
global("sub2")
"World"
global("sub1")
"Hello"
Native API/ClassMethod
// Java
String className = "User.JavaTest";
String result = IRIS.classMethodString(className,"String","Java Test"));
// ObjectScript
Class User.JavaTest{
ClassMethod String(p1 As %String) As %String{
Quit "Hello "_p1}
}
XEPExtreme Event Processing
XEP
XEP// Java
// Connexion
EventPersisterxepPersister = PersisterFactory.createPersister();
xepPersister.connect("127.0.0.1",51773,"User","_SYSTEM","SYS");
// Import flat schema
xepPersister.importSchema("xep.samples.SingleStringSample");
// Event
Event xepEvent = xepPersister.getEvent("xep.samples.SingleStringSample");
SingleStringSample sample = new xep.samples.SingleStringSample("Test");
xepEvent.store(sample);
XEP Query
String sqlQuery = "SELECT * FROM xep_samples.SingleStringSample WHERE %ID BETWEEN ? AND ?";
EventQuery<SingleStringSample> xepQuery = xepEvent.createQuery(sqlQuery);
xepQuery.setParameter(1,3); // assign value 3 to first SQL parameterxepQuery.setParameter(2,12); // assign value 12 to second SQL parameterxepQuery.execute(); // get resultset for IDs between 3 and 12
GatewayJava, .Net, Python
Gateway
Gateway EnsembleTCP/IP
Gateway// ObejctScriptset ..proxyGateway = ##class(%Net.Remote.Object).%New(..GW,"Allergie.Allergie")set tReturn = ..proxyGateway.getReactions(pName)
// C#
using System;using System.Collections.Generic;
namespace Allergie{
public class Allergie{
public List<string> getReactions(String aliment){
return getContainsList(aliment,aliments,"reaction");}
}}
PEXPolyglot Ensemble Extension
PEX Ensemble
PEX
Json
PEXPEX Ensemble
EnsLib.InboundAdapterOnInit()OnTearDown()OnTask()
com.intersystems.enslib.InboundAdapterOnInit()OnTearDown()OnTask()
com.intersystems.enslib.pex.BusinessOperationOnInit()OnTearDown()OnMessage()
com.intersystems.enslib.pex.Message
EnsLib.BusinessOperationOnInit()OnTearDown()OnMessage()
Ens.Request/Ens.Response
com.intersystems.enslib.pex.BusinessProcessOnInit()OnTearDown()OnRequestOnResponseOnComplete
EnsLib.BusinessProcess
DEMO !
La puissance par la simplicité.
Merci.
GIT
https://github.com/grongierisc/YCSB/tree/master/iris
https://github.com/grongierisc/PEX
https://github.com/grongierisc/RestToDll