0% found this document useful (0 votes)
130 views23 pages

Presenting Safe X3 Java Bridge Server

The document discusses the Safe X3 Java Bridge Server, which allows calling processes in another Adonix server to add technical functionality to the X3 platform. It can open connections to remote Adonix servers and call subprograms or functions using Calliu and Funciu instructions. The Java Bridge server acts like a traditional X3 engine, listening on a port for clients and starting Adonix sessions. It is a multi-session process that publishes technical functions for the Sage X3 application server through extensions.

Uploaded by

test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views23 pages

Presenting Safe X3 Java Bridge Server

The document discusses the Safe X3 Java Bridge Server, which allows calling processes in another Adonix server to add technical functionality to the X3 platform. It can open connections to remote Adonix servers and call subprograms or functions using Calliu and Funciu instructions. The Java Bridge server acts like a traditional X3 engine, listening on a port for clients and starting Adonix sessions. It is a multi-session process that publishes technical functions for the Sage X3 application server through extensions.

Uploaded by

test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Presenting Safe X3 Java

Bridge Server
Content
Content ............................................................................................................................................. 2
Prerequisites...................................................................................................................................... 3
Reminder: calling inter-solution processings ....................................................................................... 3
Goal ............................................................................................................................................... 3
Structure ........................................................................................................................................ 3
Calls "Calliu" and "Funciu"............................................................................................................... 3
Principles .................................................................................................................................... 4
Example: .................................................................................................................................... 4
The Java Bridge server. ..................................................................................................................... 5
Concept overview ........................................................................................................................... 5
Delivered Bundles .......................................................................................................................... 6
The library bundles ..................................................................................................................... 6
Core bundles............................................................................................................................... 7
Functional bundles ...................................................................................................................... 8
The bundle used to qualify the extension capacities ..................................................................... 8
Installation and configuration of the component .............................................................................. 9
Available functionalities .................................................................................................................... 11
Brief overview .............................................................................................................................. 11
Carrying out HTTP requests .......................................................................................................... 11
SOAP Web Service calls ................................................................................................................ 12
Manipulation of Beans ............................................................................................................... 13
Creating and sending multi-part messages .................................................................................... 15
Results of type grid: Array[ ]......................................................................................................... 16
Broker management..................................................................................................................... 17
Extensibility of the Java Bridge server .............................................................................................. 18
Automatic find .............................................................................................................................. 18
Development of new plug-ins ....................................................................................................... 18
Connection pools ............................................................................................................................. 19
Creation and update ..................................................................................................................... 19
Information .................................................................................................................................. 19
Qualification tools ............................................................................................................................ 20
OSGI controls ............................................................................................................................... 20
The Java client ............................................................................................................................. 22
L4G processings ........................................................................................................................... 22

Research & Developpement – Safe X3 Java Bridge Server page 2


Prerequisites
runtime 15r.126 or higher

Reminder: calling inter-solution processings


Goal
In order to add easily technical functionalities to the X3 platform, a new component was added: the Java
Bridge server.

Structure
In order to avoid developments in the traditional X3 engine, it was decided to make available a request for
a processing to be carried out in another Adonix server.

Package A
PAY
Package B
ERP
ADONIX Application
Server
ADONIX
Application
Server

Calls "Calliu" and "Funciu"


In the Adonix server of a traditional X3 engine, it is now possible to open a session with another Adonix
server belonging or not to the same solution and request that a processing be carried out synchronously
via a "Calliu" or "Funciu" instruction.

Adonix Server A Adonix Server B

Process A Process B
Connection « CNX »

Calliu "B:B1" with P1,P2 using [CNX] Subprog B1(P1,P2)

Research & Developpement – Safe X3 Java Bridge Server page 3


Principles

Opening of a connection

o OpAdxd "host:port" With 7,folder,language,x3user,x3pass Using [abbreviation]

o Several connections can be opened

Calls in a connection:

o Calliu "processing:spgm" With setups,… Using [abbreviation]

o Funciu "processing:func" Using [abbreviation] With (setups,…)

Closure

o OpAdxd Using [abbreviation]

Example:

Local Integer WNBITEM

Onerrgo CLOSEADX

# opening a link to a remote Adonix server

Opadxd "aydaix03.acy.adx:4150" With 7,"myFolder","FRA","myUserId","myPassword" Using [DIAMOND]

# calling a function in the remote Adonix server identified by the abbreviation "DIAMOND"

WNBITEM = Funciu "STOCKSERVICES:GETAVAILABLES" Using [DIAMOND] With ( WITEMREF,WSTOSITE )

# calling a sub-program in the remote Adonix server identified by the abbreviation "DIAMOND"

Calliu "STOCKSERVICES:MAJSTOCK" With WSTOSITE,WITEMREF,WNBITEM Using [DIAMOND]

$CLOSEADX

# calling a link established with the remote Adonix server identified by the abbreviation "DIAMOND"

Opadxd Using [DIAMOND]

Research & Developpement – Safe X3 Java Bridge Server page 4


The Java Bridge server.
The component « Sage X3 Java server » has the same presence as a traditional X3 engine: it listens to a
port just as the "deamon adxd" does.

Clients connecting to this port will find the same dialog as with the "deamon adxd" of a traditional X3
engine; they thus can request the launch of a "specific server".

Java X3 Runtime (JVM)

Deamon Adonix Session

Listener
3
1

Caller (other runtime, Java client, …)

When a client "starts the Adonix server" of the Java Bridge server, a context is created in the JVM instance.
This session lasts until the socket is closed (see explicit closure or "killed" client)

The component "Safe X3 Java Bridge Server" is thus a multi-session process.

NB: In a Java Bridge server, only the Adxwhat and Adonix sessions having "t" and "7" as an identifier can
be instantiated; the other capacities of traditional runtimes (see Sadfsq, Sadora or Sadsql) are not
implemented.

Concept overview
The component "Safe X3 Java Bridge Server" is an extensible server which publishes technical
functionalities for the application server of the "Sage MGE X3" softwares.

Research & Developpement – Safe X3 Java Bridge Server page 5


JAVA
Package B
BRIDGE
ERP SERVER
RPC

ADONIX
Application RPC
Server Package A
PAY

ADONIX Application
Server

Delivered Bundles
The component "Safe X3 Java Bridge Server" is now developed in Java around an OSGI framework.

The published functionalities are implemented in the form of "OSGI bundles".

SA
I
PC L
EMAIL

M
 Tools Apache Axis 2. PL
E
AX

HTT

 Wsdl => Stubs generation.


IS2

 Doc => Javadoc generation.


LA
XA

Web Services SOAP calls SOA


PC L
IEN AP PER
T WR

Manipulates:
OSGI SHARED.X3CLIENT
 The html content and text content MAILCLIENT
ECLIPSE / EQUINOX
 Attachments (blob and url)
 Embedded Images (blob and url) IEN
T
SH A
R ED
PC L .BU
HTT NDL
ES
SH
N
O

 Tools Apache httpclient .


AR
M

BR
R
EA

ED
IFIE

MAIN

 Methods : get, post, put, delete


D

OA

.J
A VA
AL

Web Services REST calls


CA
QU

ST
ER

Library Bundles Functional Bundles

Technical Bundles Extensions Bundles

The library bundles

As their names go, these bundles are "osgifications" of Apache libraries and of the multi-platform service
wrapper "tanuki.wrapper"

• com.sage.x3.bundle.lib.apache.axis2

Research & Developpement – Safe X3 Java Bridge Server page 6


• com.sage.x3.bundle.lib.apache.email

• com.sage.x3.bundle.lib.apache.httpcli

• com.sage.x3.bundle.lib.apache.xalan

• com.sage.x3.bundle.lib.tanuki.wrapper

Sage libraries: these bundles are "osgifications" of Sage libraries which are used as a basis to develop other
Java components of Sage MGE

• com.sage.x3.bundle.shared.java

• com.sage.x3.bundle.shared.x3clients

This bundle contains a sub-group of technical classes, abstract classes and interfaces used in all bundles
belonging to Sage MGE.

• com.sage.x3.bundle.shared.bundles

Core bundles

com.sage.x3.bridge.bundle.main

It implements:

• various services including Log (IServiceConsole), Trace (IServiceTrace), Configuration


(IServiceConfig), Extension bundle management (IServiceExtends), Resources (IServiceResources).

• http server

• the configuration visualization controls

com.sage.x3.bridge.bundle.broadcaster

It implements the message broadcasting service () used by bundles to transmit event messages.

com.sage.x3.bridge.bundle.qualifier

It implements the qualification controls and the script interpreter

com.sage.x3.bridge.bundle.daemon

Research & Developpement – Safe X3 Java Bridge Server page 7


It implements:

• the deamon listening to the calls sent by the Adonix server.

• the object instance broker

• the interpreter of RPS calls sent by the Adonix servers.

Functional bundles

com.sage.x3.bridge.bundle.httpclient

It publishes the implementation of generic http clients used to launch http requests aiming at calling the
RESTFull Webservices

It depends on the bundle com.sage.x3.bundle.lib.apache.httpcli wrapping the library Apache


HttpComponents HttpClient v4

com.sage.x3.bridge.bundle.mailclient

It publishes the implementation of a generic mail sender.

It depends on the bundle com.sage.x3.bundle.lib.apache.email wrapping the library Apache commons


email v1.1

com.sage.x3.bridge.bundle.soapclient

It publishes:

• a stub generator

• A Javadoc document generator

The bundle used to qualify the extension capacities

This is a bundle which was developed "outside" the Bridge server context. It is loaded via the man bundle's
extension service.

This bundle corresponds to what a BP developer can integrate in the Bridge server

com.sage.x3.bridge.bundle.sample

It publishes:

• Beans manipulation functions

Research & Developpement – Safe X3 Java Bridge Server page 8


• Java Array manipulation functions

• date display functions

Installation and configuration of the component


For the installation and configuration of the component Safe X3 Java Bridge Server, the same procedure
applies as for other components.

Research & Developpement – Safe X3 Java Bridge Server page 9


It is possible to verify whether the Web interface delivered by Jetty is available.

URL: http://serveur_bridge:httpport

Research & Developpement – Safe X3 Java Bridge Server page 10


Available functionalities
Brief overview
The X3 Bridge Java server manipulates object instances

It sends to the Adonix server:

• either values of type native:

Booleans are not currently available.

• or references to object instances:

X3=1 , X3=2 , X3=3 , … , X3=n

Carrying out HTTP requests


An L4G processing can create an http client via a connection to a Java server.

Local Char KTARGETNEWHTTP (250)

KTARGETNEWHTTP = "com.sage.x3.runtime.bundle.httpclient.CServiceHttpClientImpl:newHttpClient"

Local Char WHTTPCLI (30)

WHTTPCLI = Funciu = KTARGETNEWHTTP Using [JAVSRV] With ( )

The instance of "CHttpClient" obtained can be called using several methods:

JAVA Byte Short Integer BigDecimal Date String String Byte [ ]

L4G Libelle Shortint Integer Decimal Date Char Clobfile Blobfile

See X3HttpClientObject in SDK javadoc.

Research & Developpement – Safe X3 Java Bridge Server page 11


Example using get() method:

Local Char WURL (250)

WURL = "http://www.webservicex.net/MortgageIndex.asmx?wsdl"

Local Char WHTTPREPLY (30)

WHTTPREPLY = Funciu = WHTTPCLI +":get" Using [JAVSRV] With ( WURL )

The instance of "CHttpResponse" obtained can be called using several methods:

Example using getText() method:

Local Clbfile WWSDL (8)

WWSDL = FUNCIU = WHTTPREPLY +":getText" Using [JAVSRV] With ( )

SOAP Web Service calls


Generation of a "stub" for a BP Web Service from its wsdl.

Local Char KTARGETGENST (250)

Local Char ASTUBID (30)

Local Char ATIMESTAMP (30)

KTARGETGENST = "com.sage.x3.runtime.bundle.webservices.CServiceStubsImpl:generate"

ASTUBID = "MortgageIndex"

ATIMESTAMP = "20091210093225"

Local Char WSTUBGENREP (30)

WSTUBGENREP = Funciu = KTARGETGENST Using [JAVSRV] With (ASTUBID,ATIMESTAMP,WWSDL )

Generation of the corresponding JavaDoc and publication of the html pages via Jetty.

Local Char KTARGETGENSD (250)

KTARGETGENSD = "com.sage.x3.runtime.bundle.webservices.CServiceStubsImpl:generateDoc"

Local Char WDOCGENREP (30)

WDOCGENREP = Funciu = KTARGETGENSD Using [JAVSRV] With (ASTUBID)

Research & Developpement – Safe X3 Java Bridge Server page 12


It is not necessary to restart for the stub classes to be taken into account.

There are 2 types of methods:

• data of type simple

• data of type complex

Instantiation of the stub:

Local Char WSTUBINST(250)

WSTUBINST = Funciu "com.sage.x3.runtime.bundle.deamon.CToolFactoryStubs:newStub" Using [JAVASRV]

With("PriceGetter","http://stubServer.com/PriceGetter")

The stub methods manipulating simple-type data can be called directly from the L4G:

Local Char WBPC(30)

Local Char WITEM (30)

Local Integer WQTY

WBPC = "DIS001"

WITEM = "JL-KIT-PC-NGERE"

WQTY = 5

Local Decimal WPRICE

WPRICE = Funciu = WSTUBINST +":getPrice" Using [JAVASRV] With (WBPC,WITEM,WQTY)

Manipulation of Beans

Example for the creation of a bean by valuing n properties:

Local Char KTARGETNEWBEAN (250)

KTARGETNEWBEAN = "com.sage.x3.runtime.bundle.deamon.CToolFactoryBeans:newBean"

Local Char WFIELDSTOSET (250) # la liste des ids des propriétés du bean à valoriser

WFIELDSTOSET = "property1;property2;propertyZ"

WBEANINST = Funciu = KTARGETNEWBEAN Using [JAVASRV] With ("com.sage.mybean",WFIELDSTOSET, VARONE,

VARTWO,...)

Research & Developpement – Safe X3 Java Bridge Server page 13


Example for entering several bean properties:

Local Char KTARGETWRITBEAN (250)

KTARGETWRITBEAN = "com.sage.x3.runtime.bundle.deamon.CToolFactoryBeans:writeBean"

Local Char WFIELDSTOREAD(250) # la liste des ids des propriétés du bean à valoriser

WFIELDSTOREAD = "property1;property2;propertyZ"

WNBFIELDS = Funciu = KTARGETWRITBEAN Using [JAVASRV] With( WBEANINST, WFIELDSTOWRITE, VARONE,

VARTWO,...)

Example for reading several bean properties:

Local Char KTARGETREADBEAN (250)

KTARGETREADBEAN = "com.sage.x3.runtime.bundle.deamon.CToolFactoryBeans:readBean"

Local Char WFIELDSTOREAD(250) # la liste des ids des propriétés du bean à lire

WFIELDSTOREAD = "property1;property2;propertyZ"

WNBFIELDS = Funciu = KTARGETREADBEAN Using [JAVASRV] With( WBEANINST, WFIELDSTOREAD, VARONE,

VARTWO,...)

Example for calling a method manipulating complex-type data:

The method "GetMortgageIndexByWeek" of the stub "MortgageIndexStub" requires a bean of type


"MortgageIndexStub.GetMortgageIndexByWeek" upon input.

Instantiation of the stub:

Local Char WSTUB(250)

WSTUB = Funciu "com.sage.x3.runtime.bundle.deamon.CToolFactoryStubs:newStub" Using [JAVASRV]

With("MortgageIndex","http://www.webservicex.net/MortgageIndex.asmx")

Research & Developpement – Safe X3 Java Bridge Server page 14


Creation of the Setup bean:

Local Char WCLASSNAME(250)

WCLASSNAME = "net.stub.mortgageindex.MortgageIndexStub$GetMortgageIndexByWeek"

Local Char WLISTFIELDS(250)

WLISTFIELDS="Day,Month,Year"

Local Char WBEANA(30)

WBEANA = Funciu = KTARGETNEWBEAN Using [JAVSRV] With (WCLASSNAME,WLISTFIELDS,9,9,1994)

Calling the method GetMortgageIndexByWeek:

WBEANB = Funciu = WSTUB +":GetMortgageIndexByWeek" Using [JAVSRV] With (WBEANA)

Creating and sending multi-part messages


instantiation of the CMail object:

Local Char KTARGETNEWMAIL(250)

KTARGETNEWMAIL = "com.sage.x3.runtime.bundle.mail.CServiceMailImpl:newMail"

Local Char WMAIL (30)

WMAIL = Funciu = KTARGETNEWMAIL Using [JAVSRV] With ( )

Required procedure before sending the mail:

# Ajout de l'expediteur

Calliu = WMAIL+":setFrom" With "[email protected]", "Sage X3 Java Server" Using [JAVSRV]

# Ajout des destinataires

Local Char WTO(80)(1..10)

WTO(1)="[email protected]"

WTO(2)="[email protected]"

Calliu = WMAIL+":setTo" With (WTO) Using [JAVSRV]

# Ajout du sujet

Calliu = WMAIL+":setSubject" With ("Email 'riche' de test") Using [JAVSRV]

Research & Developpement – Safe X3 Java Bridge Server page 15


Other functionalities:

• Addition of resources by providing an URL.

• Addition of binary resources in the form of Blobs.

• Message body in the form of rich text.

• Message body in the form of raw text.

• Addition of attachments by providing an URL.

• Addition of attachments via Blobs.

• Addition of a text attachment

The send() method:

Local Date WDATE

WDATE = Funciu = WMAIL +":send" Using [JAVSRV] With ( )

Results of type grid: Array[ ]


Methods returning grids other than byte[] (Type L4G BLOB) result in an error.

In order to carry out such an operation, it is necessary to use the tools provided bt the class
CToolArrayReader of the plug-in com.sage.x3.runtime.bundle.deamon.

Example:

# Ouverture du canal Java

Opadxd "ecchambard-001:27160" With 7,nomap ,"FRA" ,adxusr ,password Using [JAVSRV]

# Instanciation du stub

Local Char WSTUB(30)

WSTUB = Funciu = KTARGETNEWSTUB Using [JAVSRV] With

("FootballPoolWebService","http://euro2008.dataaccess.eu/footballpoolwebservice.wso" )

# Creation du bean parametre AllGoalKeepers

Local Char WCLASSNAME(250)

Research & Developpement – Safe X3 Java Bridge Server page 16


WCLASSNAME = "net.stub.footballpoolwebservice.FootballPoolWebServiceStub$AllGoalKeepers"

Local Char WLISTFIELDS(250)

WLISTFIELDS="SCountryName"

Local Char WBEANPARAM(30)

WBEANPARAM = Funciu = KTARGETNEWBEAN Using [JAVSRV] With (WCLASSNAME,WLISTFIELDS,"France")

# Appel de la methode AllGoalKeepers

Local Char WRESP(30)

WRESP = Funciu = WSTUB +":AllGoalKeepers" Using [JAVSRV] With (WBEANPARAM)

# Appel de la methode getAllGoalKeepersResult

Local Char WARRAY(30)

WARRAY = Funciu = WRESP +":getAllGoalKeepersResult" Using [JAVSRV] With ()

# Preparation de l'appel de la methode getString

Local Char REFREADER

Local Char GOALS (255)(100)

WREFREADER = Funciu = KTARGETARRAYREADER Using [JAVSRV] With (WARRAY,"getString","String")

# Recuperation de la taille du tableau

Local Integer WSIZE

WSIZE = Funciu = WREFREADER + ":size" Using [JAVSRV] With ()

# Parcours du tableau

Local Integer WIDX

For WIDX = 0 To WSIZE-1

# Récupération de l'élément n°WIDX du tableau avec la methode getOneObject

GOALS(WIDX) = Funciu = WREFREADER + ":getOneObject" Using [JAVSRV] With (WIDX)

Next WIDX

Broker management
The Adonix server is not aware of the object instances in the X3 Bridge Java server.

Release of an instance:

Research & Developpement – Safe X3 Java Bridge Server page 17


Local Char KTARGETCLINST (250)

KTARGETCLINST = "com.sage.x3.runtime.bundle.deamon.broker.CBroker:clearInstance"

Calliu = KTARGETCLINST With (WONEINST) Using [JAVSRV]

Release of all the instances of the session:

Local Char KTARGETCLEAR(250)

KTARGETCLEAR = "com.sage.x3.runtime.bundle.deamon.broker.CBroker:clear"

Calliu = KTARGETCLEAR With Using [JAVSRV]

Extensibility of the Java Bridge server


Automatic find

• "Plug-ins" located in the directory "[install_tool]/originals/extends" are automatically found.

• The technical plug-in "com.sage.x3.runtime.bundle.main", which is the core element of the


component Sage X3 Java server, is loaded dynamically in the OSGI framework by the service
"com.sage.x3.shared.bundles.IServiceExtends" of the said plug-in.

• The demonstration plug-in "com.sage.x3.runtime.bundle.sample" delivered with the common


Bundles belongs to the extension Bundles.

Development of new plug-ins


• Tools capable of building a JAR archive containing a MANIFEST file.

• IDE Eclipse based on the Framework OSGI Equinox.

• Eclipse for RCP/Plug-in Developers (http://www.eclipse.org/downloads/)

Research & Developpement – Safe X3 Java Bridge Server page 18


Connection pools
Since version 108, the “Safe X3 Java Bridge Server” component has the ability to contact an X3 processing
server to call 4GL sub-programs directly. In this way, developers of “extends“ bundles will be able to
connect to the available connection pools using the SDK Client.

Creation and update


Pools are directly created from X3 in the GESAPB function.

When triggering the Validation button, a “.xml“ file is generated (adxpoolconfig_SOLUTION.xml) in the
“X3_ROOT/GEN/“ directory of the solution on the X3 application server. If a Bridge server is linked to the
solution (i.e. the solution.xml file contains its description), this Bridge server will be contacted via a
“funciu“ call for the pool update.

If several Bridge servers are linked to a solution, only the server whose description appears first will be
contacted upon screen validation. In that case, a manual update is possible via the “updatePools“ OSGI
command of the Bridge server involved or via the “Refresh” button of the Web interface:

osgi> updatePools
000000 Command [updatePools]
000000 Nbargs=[0]
251-09:56:19.666 CResourceManagerService | Update pools description for SOLSUPV6 solution.
09:56:19:666,I,Get File via HTTP
:http://server:80/Adonix_SOLSUPV6/X3_ROOT/GEN/adxpoolconfig_SOLSUPV6.xml
09:56:20:025,I,Get File OK.

251-09:56:30.510 CResourceManagerService | Update succeeded.

Information
The connection pools can be viewed from the Web interface of the Bridge server in the “POOLS X3“
section.

Research & Developpement – Safe X3 Java Bridge Server page 19


Some actions are available like stopping or locking a group of entries.

This information on the status of the pools is also provided by the OSGI command of the Bridge server:

- poolids (pids) Returns the list of available pools.


- poolEids (peids) Returns the list of available entries for the pool.
- poolEinfos (pei) Returns the information on a pool entry.
- poolEstate (pes) Returns the status of a pool entry.

Qualification tools
OSGI controls

---CCommandConsoleMain

- hhelp (hh) Lists the controls specific to the component "Safe X3 java bridge server".

- confsys (cs) Lists the "system properties" of the jvm for the component "Safe X3 java

bridge server".

- confsys (cs) Lists the "framework properties" of the osgi framework for the component

"Safe X3 java bridge server".

- confproxy (cp) Lists the configuration properties for the use of a proxy by the component

"Safe X3 java bridge server".

---CCommandConsoleQualifier

- qlflist (ql) Lists the available scripts in the folder "BridgeData/qualifier/scripts".

Returns a numbered list.

- qlfshow (qs) Displays the full source of the script with or without the inclusions.

Research & Developpement – Safe X3 Java Bridge Server page 20


- qlfrun (qr) Launches a qualification script.

Allows 1 optional setup.

[ script-uri or srcipt-number ]

- qlfrestore (qres)Restores the qualification scripts present in the folder

"BridgeData/qualifier/scripts" together with those delivered.

- qlfagain (qa) Relaunches the last qualification control "qlfxxx" executed.

---CCommandConsoleStubs

- stubwsdllist(swl)lists the wsdl files available in the folder "install_data/qualifier/wsdl".

- stubgen (sg) generation of a stub from a wsdl.

Allows 3 optional setups.

[ stubid [wsdl-uri [stamp]]]

the setup "stubid" can be the numerical index of the wsdl in the list

returned by the control "listwsdl".

- stubgendoc (sgd) generation of the Java documentation of a generated stub.

Allows 1 optional setup.

[ stubid ]

- stublist (sl) lists the generated stubs available in the folder

"install_data/extends/classes".

- tubnew (sn) instantiation of a stub.

Allows 2 optional setups.

[ stubid [ stubendpoint]]

- stubinfos (si) reading of a stub's information.

Allows 1 optional setup.

[ stubid ]

---CCommandConsoleSample

- sample Test control using the beans of the "extends" bundle named "sample".

Allows no setup.

---CCommandeConsoleHttp

- httpget instantiation of an http client and sending of a GET request.

Allows 1 optional setup.

[ url ]

[?] to display options.

- httppost instantiation of an http client and sending of a POST request.

Allows 2 optional setups.

[ url [ data]]

---XdtServerCommand

- xdtserver interrogates the xdtserver service

Research & Developpement – Safe X3 Java Bridge Server page 21


Enter 'xdtserver ?' to get more help

The OSGI console is used to launch controls managing the OSGI framework, but also to launch controls to
produce and qualify the component.

For instance: generating a stub, launching a qualification script, etc.

The Java client


Scripts of tests based on the scripting engine "Rhino" :

• beansuse.js

• common.js

• httpuse.js

• objectsuse.js

• QLFCIUERROR.js

• sendmail.js

• session_ouvre_ferme.js

• stubdocgen.js

• stubgen.js

• stubuse.js

L4G processings
Our qualification processings:

• QLFCIUUTILS

• QLFCIUERROR

• QLFCIUHTTP

• QLFCIUMAIL

• QLFCIUGENSTU

• QLFCIUWSMOMO

• QLFCIUWSMOWE

Research & Developpement – Safe X3 Java Bridge Server page 22


• QLFCIUWSFOOT

Research & Developpement – Safe X3 Java Bridge Server page 23

You might also like