Visual WAO Development Tool Operation Manual

1. Operating Environment

Development environment:
Microsoft Visual Studio 2005/2008/2010/2012/2013
Languages:
Microsoft Visual Basic, Microsoft Visual C#
Operating environment:
Microsoft Windows Vista/7/8/8.1
Microsoft Windows Server 2003R2/2008/2008R2/2012/2012R2
Framework:
.NET Framework 2.0/3.0/3.5/4.0/4.5
Database:
Microsoft SQL Server 2005/2008/2008R2/2012/2014
Oracle 10g/11g/12c, DB2, ODBC (Windows) compatible database

2. Module Configuration

2.1 WAO Service Program (starts server program at client request)

WaoService.exe
WAO service startup program
WaoServiceSetup.xml
WAO service setting XML

2.2 WAO Interface (provides common interface for remote access)

IWao.dll
WAO common interface

2.3 WAO Client Libraries (provide WAO remote call interfaces (methods))

WaoInvokeCentral.dll
WAO remote call DLL
RemoteUrls.xml
Remote connection destination setting XML

2.4 WAO Server Libraries (provide WAO central interfaces (methods))

WaoCentral.dll
WAO common server module
WaoFactory.dll
WAO common server call DLL

2.5 WAO System Common Libraries (provide WAO system common modules)

WaoXml.dll
WAO Library 1
WaoLib.dll
WAO Library 2
WaoBasicData.dll
WAO Library 3
WaoSvMonitor.exe
WAO session management program
WaoAccCnt.dll
WAO session count DLL
_WaoAccess.xml
Remote connection management files
_WaoLimit.xml.ewa
WAO session management setting files

2.6 Other Libraries (libraries for database access from tool)

Wao.xml
WAO setting XML (setting of DB connection destination)
WaoSqlDbc.dl
Database library for SQL server
WaoSqlSvDBCom.dll
Database library for SQL server
WaoSqlSvDBCom_s.dll
Database library for SQL server
WaoOraDbc.dll
Database library for Oracle
WaoOraDBCom.dll
Database library for Oracle
WaoOraDBCom_s.dll
Database library for Oracle
WaoDB2Dbc.dll
Database library for DB2
WaoDB2DBCom.dll
Database library for DB2
WaoDB2DBCom_s.dll
Database library for DB2

3. Usage Notes

3.1 Compilation when creating Visual WAO DLL requires Visual Studio Professional edition or higher.
However, this is only for those who use Visual WAO development tool for compilation.
For normal application development, use of Express edition should present no problem

3.2 When using Oracle database in record definition setting, execute “Create DB Connection DLL” in Development environment setting and create DLL for connecting to Oracle database.
If not created, the following errors would occur in record definition setting.

Error message examples
“Assembly “Oracle.DataAccess” not found.”
“File or assembly ‘Oracle.DataAccess, Version=2.102.2.20, …,’ or one of its dependencies failed to load.”

4. Operating Instructions

1 Startup

1.1 Execute “Visual WAO” (shortcut) generated on desktop at time of installation.

Main screen of Visual WAO is started.
2_Main screen

2 End

2.1 From main screen of Visual WAO, press “Exit” button or ”Close” button(“X” button of right  top corner) to end.

3 Description of Functions

3.1 Development environment setting

3.1.1 From main screen of Visual WAO, press “Development Environment Setting” icon.
Development environment setting screen is displayed.

3_Development Environment Setting

3.1.2. Set “Compiler language,” “.NET compiler” path and “Compiler argument” at time of compilation.
Setting example
Compiler language  VB.NET2013
.NET compiler C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com
Compiler argument  /build debug
*Select compiler language from below.
VB.NET2005, C#2005、VB.NET2008, C#2008, VB.NET2010, C#2010,
VB.NET2012, C#2012, VB.NET2013, C#2013
*.NET compiler varies among Visual Studio2005/2008/2010/2012/2013.
Make sure to set path with “devenv.com.”

3.1.3 Check System ID is “Wao,” the default.
*Do not change System ID from “Wao.”

3.1.4 Set Target .NET Framework.
*Select Target .NET Framework from below.
.NET Framework 2.0, 3.5, 4.0, 4.5, 4.5.1

3.1.5 Select target database where record definition is created.
Select database from among “SQLServer,” ” Oracle” and “DB2.”
When using databases other than above or when record definition is not created by Visual WAO development tool, select “Other.”

3.1.6 Set treatment of data type of record definition as necessary.
*Set type of database table item in program.
Default when not designated is string type. Setup should be done when treating numeric/number/integer type as non-string type.
Also set treatment of Null.

3.1.7 When database connection destination is Oracle, execute “Create DB Connection DLL” button as necessary. DB connection middleware (ODP.NET) will change according to Oracle minor version.
Create DB connection DLL that corresponds to each minor version.

3.1.8 Press “Update” button. When updating settings, screen is closed.
When ending without updating, press “Close” button.

3.2 Connection setting (server)

3.2.1 From main screen of Visual WAO, press “Connection Setting (Server)” icon.
Connection setting (server) screen is displayed. 
4_Connection setting (server)

3.2.2. Set remote channel (port number) for remote connection. Default is “9000.”

3.2.3 Setup is done when using setting of connection pool count at time of connecting to database.
When used, select “Connection Pool Usage.” In addition, set values of “Max Connection Pool #” and “Min Connection pool #.” Defaults are “1000” for max connection pool # and “0” for min connection pool #.

3.2.4 Enter connection setting for database. Multiple settings can be made for database connection.
*When “Other” is selected as database in development environment setting, it is handled as non-setting.
  (a)DBName: Database name
  (b)DBServer: Database server name
  (c)UserID: Database login ID
  (d)Password: Database login password

3.2.5 Press “Update” button. When update process is complete, a message is displayed.
If Visual WAO development tool is installed on C drive:
Settings are registered/updated at “C:\Visual WAO\Exe\Server\Wao.xml.”

23_connecting setting updated

3.2.6 Check connection by pressing “DB Connection” button.
*Make sure to execute “Update” button and register/update “connection setting (server)” before DB connection.
When connected successfully, the following message is displayed.

21_connecting to database succeeded

When connection to database has failed, the following message is displayed.

7_connection to database has failed

8_connection to database has failed2     

3.2.7 To delete database connection setting, specify lines to delete, then press “Delete” button.
Information on database connection setting of specified lines is deleted.

3.2.8 When there is no detail line for adding new database, press “Add” button.
New detail line is added as the last line.

3.2.9 To end “connection setting (server)”, press “Close” button.

3.3 Connection setting (client)

3.3.1 From main screen of Visual WAO, press “Connection Setting (Client)” icon.
Connection setting (client) screen is displayed.

9_Connection setting (client)

3.3.2 Enter IP address or server name and remote channel of server to connect from client.
<>
http://:/
*When accessing multiple servers, register all remote addresses to access.
When there is a server to which connection cannot be established, it is skipped.
Maximum number of retries is three.

3.3.3 Press “Update” button. Message showing completion of update processing is displayed.
If Visual WAO development tool is installed on C drive:
Settings are registered/updated at “C:\Visual WAO\Exe\Client\RemoteUrls.xml.”

23_connecting setting updated

3.3.4 To end “connection setting (client)”, press “Close” button.

3.4 Record Definition

3.4.1 From main screen of Visual WAO, press “Record Definition” icon.
Record definition list screen is displayed.

11_Record definition list

3.4.2 Press “Add” button. Record definition screen is displayed.

12_Record definition screen

3.4.3 To refer to definition information of database table, press “Table Reference” button.
When multiple databases are specified in Connection setting (server) screen, list screen for database selection is displayed. From list, double click to make selection.

13_list screen for database selection
3.4.4. Table list screen is displayed. From table list, double click to select and refer to tables.

14_Table list screen

3.4.5 Field list screen is displayed.
Field information of selected table is displayed. Check selected columns for necessary items.

15_Field information of selected table

To check all field items at once, press “Check All” button.
To clear selection for all field items simultaneously selected, press “Clear All” button.

16_To clear selection

3.4.6 Press “Capture” button.
To end field list screen without capture, press “Close” button.

3.4.7 Information of selected items is added to Record definition screen.
As necessary, edit record definition by using “Add” and “Delete” buttons.

17_Record definition

3.4.8 Set Namespace, record definition ID and record definition name.

3.4.9 Press “Update” button to execute compilation; DLL is created under record definition ID.
When DLL is compiled successfully, the following message is displayed.

<>
Record definition ID: CBMST005Rec
DLL to create: CBMST005Rec.DLL

18_Record definition (DLL) creation example

If Visual WAO development tool is installed on C drive:
DLL is created under “C:\Visual WAO\dll.”
In addition, project source of DLL is created under “C:\Visual WAO\Exe\Tools\src.”

3.4.10 Press “Update DLL” button in Record definition list screen,”WaoInvokeCentral.dll” and “database library for (DLL)” in “C:\Visual WAO\dll are updated.”
Execute when necessary to update database access DLL.

3.4.11 To end record definition, press “Close” button.

 

3.5 Central Program Registration

3.5.1 From Visual WAO main screen, press “Central Program Registration” icon.
Central program registration screen is displayed.

19_Central program registration screen

3.5.2 Press “Add” button. Open screen is displayed.
Select DLL created as one class in server processing program.

20_Open screen

3.5.3 Check and revise DLL’s namespace, class name, launch string and program name as necessary.
(a) Namespace: Namespace of server application
(b) Class Name: class name of server application (assembly name)
(c) Launch String: set launch string designated by client application
(d) Program Name: enter program name (can be omitted)

3.5.4 To delete registered details, select detail line to delete, and press “Delete” button.

3.5.5 Press “Update” button.
Compilation is executed, and DLL (WaoCentral.dll) is created.
When DLL is compiled successfully, the following message is displayed.

21_the following message

DLL is created under “C:\Visual WAO\Exe\Server.”

*Above path is when installed on C drive.
If compilation fails, settings of 3.5.3 or DLL designated in 3.5.2 may be incorrect.

3.5.6 To end central program registration, press “Close” button.

3.6 WAO Service Startup

3.6.1 From Visual WAO main screen, press “WAO Service Startup” icon.
In task tray, icon (framed in red below) is displayed.

22_icon in task tray

3.6.2 Client application can be started for operation check.
3.4.3 To end WAO service, right click with mouse on icon, which displays menu below.
Select “End.”

5_WAO service end menu

3.7 Visual WAO Monitor

3.7.1 From Visual WAO main screen, press “Visual WAO Monitor” icon.
Visual WAO monitor screen is displayed. 

24_Visual WAO monitor screen

*Information on connection to WAO service can be checked.

5. Function Specifications

1. Client application function

Remote connection method

Method name Wao.WaoInvokeCentral.RemoteOpen
Arguments ByVal _loginid$,   Set if login information is managed
ByVal _apname$,   Local program name
ByVal _startcall$    Launch string (function ID name)
Return values Boolean       true: Connect successfully, false: Connect failed
Remarks For each application, remote connection must be done only once at the beginning.
When connection fails or disconnects in the middle, whether or not to reconnect can be checked.
For launch string, set unique string within overall development system.

 

Remote disconnection method

Method name Wao.WaoInvokeCentral.WaoRemoteClose
Arguments NA
Return values Boolean  true: successful, false: failed
Remarks When remotely connected, make sure to execute disconnection method at the end.

 

Remote search processing method (to receive information record)

Method name Wao.WaoInvokeCentral.WaoRead_invokeCentral
Arguments ByVal func$,    function ID name
ByVal keyrec As Object,   search parameters
ByVal keyid As Integer   search number
ByRef recs As Object    acquired information record (can be omitted)
Return values Integer     0: normal, 1: failed, -1: no record
Remarks For search parameters, designate string or serialized class object.
Freely use search number with application.
For acquired information record, designate string or serialized class object.
When these arguments are omitted, acquired information record is stored in “Wao.WaoInvokeCentral.[recordID]s().” 
*To omit acquired information record, make sure to execute “DLL Update” in record definition of Visual WAO.

 

Remote search processing method (to receive information record)

Method name Wao.WaoInvokeCentral.WaoReadA_invokeCentral
Arguments ByVal func$, function ID name
ByVal keys As ArrayList,   search parameter
ByVal keyid As Integer   search number
ByRef recs As Object    acquired information record (can be omitted)
Return values Integer     0: normal, 1: failed, -1: no record
Remarks For function ID, use unique string within overall development system.
For search parameters, designate string or serialized class object. ・Freely use search number with application.
For acquired information record, designate string or serialized class object.
When these arguments are omitted, acquired information record is stored in “Wao.WaoInvokeCentral.[recordID]s().”
*To omit acquired information record, make sure to execute “DLL Update” in record definition of Visual WAO.

 

Remote updating processing method

Method name Wao.WaoInvokeCentral.WaoUpdate_invokeCentral
Arguments ByVal func$,   function ID name
ByVal prm1 As Object,   Processing parameters
Return values Integer     0: normal, 1: failed, -1: no record
Remarks For function ID, use unique string within overall development system.
For processing parameters, designate string or serialized class object.

 

Remote updating processing method

Method name Wao.WaoInvokeCentral.WaoUpdateA_invokeCentral
Arguments ByVal func$, function ID name
ByVal param As ArrayList   Processing parameters
Return values Integer     0: normal, 1: failed, -1: no record
Remarks For function ID, use unique string within overall development system.
For processing parameters, designate string or serialized class object.

 

Description example when using client application function

Imports Wao
Imports Wao.WaoLib
Imports Wao.WaoInvokeCentra

  Private waoc As New Wao.WaoInvokeCentral    ' Invoke WAO central
  Private Srecs() As sampleRec.sampleRec

 '1.Remote connection
  If waoc.WaoRemoteOpen("wao", "sample", "sample1_central") = False Then End 

 '2.Search process
  rSrec.cuscode = "100000"
  If waoc.WaoRead_invokeCentral("select_call", rSrec, 0, Srecs) _
                                            = Wao.WaoLib.SYS_NORMAL Then
    Debug.Print(Srecs(0).cusname)
  End If

 '3.Update process
  If waoc.WaoUpdate_invokeCentral("update_call", sUpdateCode) _
                                 <> Wao.WaoLib.SYS_NORMAL Then
    Debug.Print("update2_call4: Error")
  End If

 '4.Remote disconnection
  waoc.WaoRemoteClose()
  waoc.Dispose()

2. Server application function

Remote invocation method

Method name Class name(Assembly name) + ‘_SW’
Arguments ByVal mParameters As ArrayList Passing argument from remote
Return values Wao.RWaoIReturn       Return information class
Remarks

 

Example of adding invocation method in class

'****************************************************************************
'       Function name  :sample1_central_SW    '****************************************************************************
    Public Function sample1_central_SW(ByVal mParameters As ArrayList) As Object

        Dim rtn As Wao.RWaoIReturn = New Wao.RWaoIReturn
        Dim arr As ArrayList = New ArrayList
        Dim ret As Integer

               :
            
       sample1_central_SW = rtn
    End Function

 

Description example of process for feature ID specified within method

'----------------------------------------------------------------
'  Search process
'  Process for feature ID select_call
'------------------------------------------------------
            ret = 999
            Select Case CType(mParameters(0), String)
                Case "select_call"
                    ret = Sample1Select(CType(mParameters(1), sampleRec.sampleRec), Srecs)
                    If ret = SYS_NORMAL Then
                        arr.Add(Srecs.Length)    '1st return value: return count (0 counts)
                        arr.Add(Srecs)           '2nd return value: searches
                    End If
            End Select
            If ret <> 999 Then
                If ret = SYS_NOTFOUND Then
                    arr.Add(0)                  'Return count (0 counts)
                ElseIf ret <> SYS_NORMAL Then
                    arr.Add(-1)                 'Return count (upon error)
                    arr.Add(ErrMsg)             'Set error message
                End If
            End If
'----------------------------------------------------------------
'  Update process
'  Process for feature ID update_call
'----------------------------------------------------------------
            If ret = 999 Then
                Select Case CType(mParameters(0), String)
                    Case "update_call"          'Update
                        ret = Sample1Update(CType(mParameters(1), String))
                    Case Else
                        rtn.Result = Wao.RWaoIReturn.RWaoIResult.RTN_NONE
                        Exit Try
                End Select
                If ret = SYS_NORMAL Then
                    arr.Add(ret)                'Return process results (upon success)
                Else
                    arr.Add(ret)                'Return process results (upon error)
                    arr.Add(ErrMsg)            'Set error message
                End If
            End If
    '-----------------Return process results to client application-------------------------------
            rtn.ReturnObj = arr
            rtn.Result = Wao.RWaoIReturn.RWaoIResult.RTN_NORMAL

        Catch ex As Exception
            rtn.Result = Wao.RWaoIReturn.RWaoIResult.RTN_STOP
        End Try

 

Description example of process functions for feature ID
*Below is description example of process of Sample1Select and Sample1Update.

'****************************************************************************
' Record search sample
'****************************************************************************
    Public Function Sample1Select(ByVal rSrec as sampleRec.sampleRec, _
                        ByVal Srecs() As sampleRec.sampleRec) As Integer
                  :
    End Function
'****************************************************************************
' Update process sample
'****************************************************************************
    Public Function Sample1Update(ByVal sUpdateCode$) As Integer
                 :
    End Function

Experience an unfettered Web system right now

Many developers are giving shape to their ideas by utilizing Visual WAO to develop unhampered and unfettered Web systems.

Visual WAO Topics

Apr 10, 2015 English website for Visual WAO has been launched.
Jan 20, 2015 Visual WAO element technology has been patented in the US.
Sep 29, 2014 A new product—Visual WAO, a development tool that converts Windows Forms applications for the Web—has been released.
Jul 26, 2013 Visual WAO element technology has been patented in Japan.