Appeon Middle-Tier interfaces -...
Transcript of Appeon Middle-Tier interfaces -...
©2
01
7 A
pp
eo
n L
imite
d a
nd
its
su
bsid
iarie
s. A
ll rig
hts
re
se
rve
d.
ME
ON
I M
arc
o
No
ve
mb
er
14
th, 2017
Ap
pe
on
Mid
dle
-Tie
r in
terf
ac
es
pag
e
2
ele
va
te.a
pp
eo
n.c
om
SO
AP
XM
L W
eb
Se
rvic
e
SO
AP
XM
L W
eb
Se
rvic
e
3-T
ier
pla
tfo
rm f
or
We
b/M
ob
ile
ap
ps
Ad
min
istr
ato
rs
En
d-u
sers
De
ve
lop
ers
De
plo
ym
en
t A
dm
inis
tra
tio
n
Ru
n-t
ime
se
rvic
es
Ad
min
istr
ato
rs u
se
Ap
pe
on
E
nte
rprise
Ma
na
ge
r (A
EM
)
for
ad
min
istr
atio
n p
urp
ose
s
Use
rs a
cce
ss t
he
a
pp
lica
tio
n w
ith
th
eir
bro
wse
r o
r h
an
dh
eld
De
ve
lop
ers
cre
ate
th
e a
pp
lica
tio
n
with
PB
an
d u
se
Ap
pe
on
De
ve
lop
er
to d
ep
loy t
he
ap
plic
atio
n o
n A
pp
eo
n S
erv
er
E
JB
E
JB
As
se
mb
ly
As
As
se
se
mb
mb
lyly
Fil
e S
erv
ice
pag
e
3
ele
va
te.a
pp
eo
n.c
om
Ap
pe
on
NV
Os
• E
nte
rprise
Ja
va
Be
an
s
• .N
ET
Asse
mb
lies
• S
OA
P X
ML W
eb
Se
rvic
es
• F
ile S
erv
er
• A
pp
eo
n O
pe
n In
terf
ace
pag
e
4
ele
va
te.a
pp
eo
n.c
om
• A
pp
eo
n p
rovid
es th
e E
JB
Obje
ct N
VO
to
ca
ll E
JB
• Im
ple
me
nts
th
e in
tera
ctio
n b
etw
ee
n th
e c
lien
t a
nd
Ap
pe
on B
rid
ge
• A
pp
eo
n B
rid
ge
is a
sta
nd
ard
J2
EE
we
b a
pp
(a
pp
eo
nb
rid
ge
.wa
r)
• P
B c
an
als
o c
all
EJB
usin
g A
pp
eo
n s
olu
tio
n
• D
ep
loy E
on
EJB
Clie
nt.d
ll to
th
e c
lien
t
EJ
B (
Ap
pe
on
fo
r J
av
a)
pag
e
5
ele
va
te.a
pp
eo
n.c
om
Ca
ll E
JB
- e
jbo
bje
ct
Eo
nE
JB
Clie
nt.
dll
EJB
Ho
me
EJB
JE
E S
erv
er
BRID
GE
Pro
xy
for
EJB
ejbobject lo_ejb
lo_ejb.connectServer("http://127.0.0.1:8080/appeonbridge/Dispatch", ls_prop)
lo_ejb.lookupJndi("Math")
lo_ejb.createRemoteInstance("Math", "MathHome", ll_refbean)
lo_ejb.InvokeRetInt(ll_refbean, "add", li_retval)
pag
e
6
ele
va
te.a
pp
eo
n.c
om
• A
pp
eo
n p
rovid
es th
e A
pp
eo
nD
otN
etC
om
po
ne
nt N
VO
to
ca
ll a
sse
mb
lies (
DL
L)
.NE
T A
ss
em
bly
(A
pp
eo
n f
or
.NE
T)
Any la_any[]
mynet = Create AppeonDotNetComponent
mynet = '1'
mynet.TypeLib = 'MyAssembly.dll'
mynet = 'myDotNetClass'
lRet = mynet.of_ExecInterface('Add', la_any)
.NE
T S
erv
er
MyAss
em
bly
.dll
MS IIS
.NET F
rmk
Co
mp
on
en
t ty
pe
: 1
: .N
ET
Asse
mb
ly
2:
un
ma
na
ge
d-c
od
e C
OM
co
mp
on
en
t 3
: m
an
ag
ed
-co
de
CO
M c
om
po
ne
nt
4 b
uilt
-in
Ap
pe
on
wo
rka
rou
nd
.N
ET
Asse
mb
ly
pag
e
7
ele
va
te.a
pp
eo
n.c
om
• M
an
ag
e s
erv
ice
s p
rovid
ed
by P
ow
erS
erv
er
thro
ug
h P
B c
od
e
• g
etA
llClie
nts
• g
etA
llSe
ssio
ns
• g
etS
essio
nB
yID
• g
etS
essio
nC
ou
nt
• g
etS
erv
erV
ers
ion
• kill
AllS
essio
ns
• kill
Se
ssio
ns
• ro
llba
ckA
llTra
nsa
ctio
ns
Ap
pe
on
Op
en
In
terf
ac
e (
.NE
T / J
av
a)
// Session count
AppeonDotNetComponent openInt
Any la[]
Long lRet
la_[1] = "localhost"
la_[2] = "myapplication"
openInt = Create AppeonDotNetComponent
openInt.ComponentType = "4"
openInt.TypeLib = ""
openInt.ClassDescript = ""
lRet = openInt.of_ExecInterface("getSessionCount", la)
Destroy openInt
• O
pe
n In
terf
ace
fo
r JE
E s
erv
ers
is b
ase
d o
n E
JB
io_ejb.InvokeretString(ll ejbid, "getAllClients", true, ref ls_retval)
pag
e
8
ele
va
te.a
pp
eo
n.c
om
• N
on
-vis
ua
l W
eb
ap
p r
un
nin
g o
n th
e b
ack-e
nd
to
up
loa
d/d
ow
nlo
ad
file
s
• H
an
dy a
lte
rna
tive
to
Inet/
Inte
rne
tRe
su
lt P
B c
lasse
s
• H
ttp
(s)
up
loa
d/d
ow
nlo
ad
file
s f
rom
/to
a d
ir o
n t
he
We
b S
erv
er
• S
ha
re file
s b
etw
ee
n A
pp
eo
n W
eb
an
d M
ob
ile
• E
.g.
use
ph
on
e t
o t
ake
pic
ture
s a
nd
fill
a W
eb
ca
talo
gu
e
• A
pp
eo
n fo
r .N
ET
• R
un
se
tup
.exe u
nd
er
%IIS
_W
eb_
Ro
ot%
\ap
pe
on\p
lugin
\file
se
rvic
e a
nd
cu
sto
miz
e a
pp
eo
nfile
se
rve
r.xm
l
• A
pp
eo
n fo
r Ja
va
• U
nzip
file
se
rvic
e.w
ar
loca
ted
un
de
r %
Ap
pe
on_
Se
rve
r%\p
lug
in\file
se
rvic
e
• U
pd
ate
we
b.x
ml w
ith
th
e s
erv
er
se
ttin
gs a
nd
up
loa
d th
e w
ar
Ap
pe
on
File
Se
rvic
e
pag
e
9
ele
va
te.a
pp
eo
n.c
om
File
Se
rvic
e –
Se
ttin
gs
an
d A
PI
<?xml version="1.0" encoding="UTF-8"?>
<webserver>
<file-path value="C:\Marco\Tutorial\fileserver" />
<log-level value="3" /> <!--0 Error,1 Info,2 Func, 3 Debug-->
<session-timeout value="3600" /> <!-- the unit is second -->
<allowed-file-types value="jpg;gif" ignorecase="true" />
<max-file-size value="20" /> <!-- the unit is MB -->
<users>
<user name="appeon" password="appeon" />
</users>
</webserver>
appeonfileserver.xml
afs.of_logonFileServer('localhost’,80,'username=appeon;password=appeon')
afs.of_logoffFileServer()
afs.of_fileExists (ls_filename)
ls_url = afs.of_appeonUpload (ls_source, ls_target, ib_rename, ref ll_errcode)
ll_rc = afs.of_appeonDownload (ls_source, ls_target)
pag
e
10
e
lev
ate
.ap
pe
on
.co
m
• S
OA
P X
ML W
eb
Se
rvic
e
• S
et o
f o
pe
ratio
ns th
at ca
n b
e p
ub
lish
ed
an
d a
cce
sse
d o
ve
r th
e n
etw
ork
• P
latfo
rm a
nd
la
ng
ua
ge
in
de
pe
nd
en
t, s
tate
less d
esig
n
• W
SD
L (
We
b S
erv
ice
s D
escrip
tio
n L
an
gu
ag
e)
• X
ML s
yn
tax d
escrib
ing
me
tho
ds a
nd
pa
ram
ete
rs’ d
ata
typ
e
• U
su
ally
acce
ss W
SD
L a
dd
ing
?W
SD
L to
th
e e
nd
of th
e W
S U
RL
• S
OA
P (
Sim
ple
Obje
ct A
cce
ss P
roto
co
l)
• T
ran
sp
ort
XM
L e
nve
lop
e fo
r se
nd
ing
an
d r
ece
ivin
g m
essa
ge
s fro
m W
S
• P
B2
01
7 R
eq
uire
me
nts
•
NE
T S
DK
4.x
, a
pp
eo
n_
wo
rka
rou
nd
.pb
l
We
b S
erv
ice
pag
e
11
ele
va
te.a
pp
eo
n.c
om
• P
B c
alls
WS
usin
g S
oa
pC
on
ne
ctio
n o
bje
ct (p
bw
sclie
nt1
2x.p
bx)
• A
pp
eo
n p
rovid
es A
pp
eo
nW
eb
Se
rvic
eC
om
po
ne
nt a
s p
roxy o
bje
ct
Co
ns
um
e W
eb
Se
rvic
e -
P
rox
y
any paralist[]
appeonwebservicecomponent caller
caller = create appeonwebservicecomponent
caller.proxydllorurl= "http://localhost/webservice.asmx"
paralist[1]="param1"
paralist[2]="param2"
//invoke webservice method
aret = caller.of_callwebservice("GetUserName", paralist)
//get record set
recordset = caller.ReturnValue
pag
e
12
e
lev
ate
.ap
pe
on
.co
m
• U
se
re
gu
lar
DW
obje
ct w
ith
ad
ditio
na
l p
rop
s (
WS
DL
, .N
ET
DL
L)
• W
S in
pu
t p
arm
s a
re a
uto
ma
tica
lly d
efin
ed
as r
etr
ieva
l a
rgu
me
nts
Co
ns
um
e W
S
D
W (
PB
an
d A
pp
eo
n)
dw_1.Dataobject = 'd_employee'
dw_1.Retrieve()
pag
e
13
e
lev
ate
.ap
pe
on
.co
m
We
b S
erv
ice
Da
taw
ind
ow
dw_1.Dataobject = 'd_employee'
dw_1.Retrieve()
// do something
dw_1.Update()
pag
e
14
e
lev
ate
.ap
pe
on
.co
m
• W
eb
se
rvic
es m
ay a
sk to
pro
vid
e:
• U
se
r ID
, P
assw
ord
, o
the
r se
ssio
n-r
ela
ted
pro
pe
rtie
s lik
e f
ire
wa
ll se
ttin
gs
We
b S
erv
ice
a
uth
en
tic
ati
on
dw_1.DataObject = 'd_mydw'
wsconnection lws_connection
lws_connection = CREATE wsconnection
lws_connection.authenticationmode = "basic"
lws_connection.username = "mmeoni"
lws_connection.password = "Elevate2017"
lws_connection.endpoint = "http://www.appeon.com:8080/greetingWS/greeting.asmx"
dw_1.SetwsObject(lws_connection)
dw_1.Retrieve('hello')
DESTROY lws_connection