Sockets4U2 - Communications-Enabled Business Processes (CEBP)

Sockets4U2
Business as usual...
• 5250 emulation
Bring your iSeries green screens to a Win32 client
• IBM iSeries Access for Windows...
Bring your iSeries green screens to a Web browser
• Host On Demand, Reflection for the Web, JWalk...
• WebFacing...
• File Transfer
Upload / Download DB2 UDB data to Win32
• Database access
Use iSeries DB2 UDB data from Win32
• ODBC driver and OLE/DB data provider
2
But todays challenges are...
•
•
•
•
•
•
•
•
Building a dynamic intranet/internet site...
Building a graphical user interface...
Integrate iSeries code with Visual Studio code...
Integrate Visual Studio code with iSeries code...
Synchronisation DB2 UDB with SQL Server...
Integrate Domino, Mail, Fax, Workflow, SMS, GPRS...
B2B/B2C, HTTP, HTTPS, XML, SOAP, EDI...
Unix, Linux, CTI, distributed I/O, SKADA...
Socket4U2 provides you productive tools to meet these challenges
allowing inter-process response times up to 10 milliseconds...
3
Facing a mixed environment...
4
Facing a mixed environment...
• iSeries
– DB2 UDB, CLP, RPG, Business know-how, ERP...
• Domino
– Notes Script, Java, Formula Language
• WebSphere
– Java, Java, Java...
• Microsoft Visual Studio
– VB, C++, VB.NET, C#, XML, ADO, SQL Server...
• Apache, IIS, PHP, ASP...
5
Platform Integration...
• Use your existing skills wherever possible
– Business know-how
– Technical skills
• Communicate through open standards
– TCP/IP protocol
– Consider using XML
– No need for mastering all technologies / platforms
• Deploy code on the most suited platform
– But make its functionality network enabled !
6
Platform Integration...
• Sockets based system integration is very fast
– Back to basics, no thick layers, no middleware...
• Very promising
– TCP/IP is available on all platforms
– Add a new perspective to possible system integration
• Use proven technology
– Usage of TCP/IP is common practice (and stable)
– Technologies wide spread
– Very limited learning curve
7
Sockets4U2 on iSeries
• Synchronise and replicate databases
– DB2 UDB for iSeries, SQL Server, MSDE, Access, MySQL…
• Synchronous execution of program logic spread amongst
different systems and platforms
– RPG requests and waits for data from Visual Basic code
– Visual Basic requests and waits for data from RPG code
• Dynamic Web Site
– On-the-fly retrieval of iSeries data
– On-the-fly processing
• Embrace new technology
– HTTP, XML, SOAP…
...with response times up to 10 milliseconds...
8
TCP/IP Basics
9
TCP/IP Basics
TCP/IP protocol suite is in use everywhere...
10
Sockets4U2 on iSeries
• Implementation of a TCP client
TCPCLIENT/TCPCLIENT RMTIP('10.110.49.102')
RMTPORT(6000)MSG('SRONAM^FMI') WAIT(Y)
CCSID(00500)EOT('CR/LF') TIMEOUT(5) VERBOSE(N)
LOG(Y)
Synchronous execution
• Outbound data:
– command line parameter
– dataqueue
• Inbound data:
– dataqueue
• Feedback to calling program
– completion or failure code through *LDA
We make sockets client functionality available...
11
Sockets4U2 on iSeries
:
your code goes here
:
CALL QSNDDTAQ
CALL TCPCLIENT
CALL QRCVDTAQ
:
your code goes here
:
*DTAQ
CALL QRCVDTAQ
socket()
connect()
send()
recv()
close()
CALL QSNDDTAQ
TCPCLIENT connects to a TCPSERVER...
12
Sockets4U2 on iSeries
• Implementation of a TCP server
TCPSERVERM/TCPSERVERM PORT(06001) KEEP(Y)
BACKLOG(010) WORKERS(003) CCSID(00500)VERBOSE(Y)
LOG(Y) EXPLIB(TCPSERVERM) EXPPGM(LIFAK)
Synchronous execution
• Inbound data:
– Dataqueue
• Processing:
– Exit program in RPG or CLP (only a few lines of code)
• Outbound data:
– Dataqueue
• Optimised for iSeries:
– NLS, multiple-access, spawn, pre-start jobs, pre-open files, cache…
We make sockets server functionality available...
13
Sockets4U2 on iSeries
socket()
bind()
listen()
spawn()
accept()
recv()
CALL QSNDDTAQ
CALL EXIT PROGRAM
CALL QRCVDTAQ
send()
close()
:
*DTAQ
CALL QRCVDTAQ
:
:
your code goes here
:
:
CALL QSNDDTAQ
TCPSERVER processes a client request...
14
Sockets4U2 on iSeries
Web Browser
:
enter search
in Flash
"BERDOOLAM"
:
build xml
:
send
>>>
receive
:
parse xml
:
show result
in Flash
"Perdolan…"
iSeries
receive
:
parse xml
calc phoneme
read data
build xml
:
<<<
send
DB2 UDB in Flash...
15
Sockets4U2 on iSeries
Check
XMODEM-CRC
PST
N
ISD
N
Sockets4U2
Process
or
Ignore
Pharma ‘just-in-time’ order take...
16
Sockets4U2 on iSeries
iSeries
RPG
Send
Receive
Win32
VB
Receive
Send
Access
RPG program requesting data from a PC database…
17
Sockets4U2 on iSeries
iSeries
RPG
Win32
C++
Send
Receive
Receive
Send
PBX
RPG program requesting CTI services…
18
Sockets4U2 on iSeries
Document
Lotus
Domino
iSeries
Send
Receive
Receive
Send
DB2 UDB
C++
Send
Receive
Receive
Send
PBX
Access DB2 on iSeries and CTI on a Notes client…
19
Sockets4U2 on iSeries
VB.NET
RPG
Send
Receive
DB2 UDB
C++
Receive
Send
Receive
Receive
Send
SQL Server
SMS Server
Send
Embed and deploy your functionality cross-platform...
20
Sockets4U2 on iSeries
DB2 UDB
HLL
Trigger
SQL Server
Journaling
Apply
Sockets4U2
Filter (optional)
Send
Receive
Propagate DB2 UDB changes to SQL Server...
21
Dynamic Web Sites
• Apache Web Server
– Robust web server - 63% of the WWW
– Available on many platforms, open source (free)
• PHP
– Robust server site scripting engine - 24% of WWW
– Available on many platforms, open source (free)
• Sockets4U2
– Synchronous messaging based upon TCP/IP
– Optimised response time, up to 10 milliseconds
22
Dynamic Web Sites
• PHP is a server based
scripting engine
• Can run on many platforms
– Win32
– Unix and Linux
– iSeries (new)
• PASE (AIX binary)
• LPAR (Linux partition)
• Very powerfull engine
• Easy to learn
23
Dynamic Web Sites
PHP on iSeries using PASE or using LPAR...
24
Dynamic Web Sites
25
Dynamic Web Sites
26
Web Services
27
AIDA
XML Response
XML Request
ROUTING
PARSING XML
PARSING XML
MAPPING
MAPPING
A
i
d
a
EXECUTION REQUEST
INQUIRY / UPDATE
DB2
ASW, AFS, …
28
29
DIS
FIN
OTHERS…
< Aida >
Sockets4U2
MAIL
SMS
Expedite
FW
Scan
FTP
Secure
Partner
MailServer
DMZ
VAN
Inter/
ExtraNet
Small
Users
(XML/HTML)
Partner for
B2B (EDI or XML)
30
GPRS
GPRS
Internet
Packet
network
GSM/TDM
A
Voice network
GPRS provides wireless socket connections...
31