1 / 52

Studio Web App Technology : HTML interface to Omnis

Studio Web App Technology : HTML interface to Omnis. Dr. Caroline Wilkins www.artificia.co.uk www.RescuePet.org.uk Fred Haislmaier Omnis Development Group, LLC www.odgllc.com. Agenda. Architecture HTML interface theory Deployment System Design: Webclient vs HTML Example systems.

Télécharger la présentation

Studio Web App Technology : HTML interface to Omnis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Studio Web App Technology : HTML interface to Omnis Dr. Caroline Wilkins www.artificia.co.uk www.RescuePet.org.uk Fred Haislmaier Omnis Development Group, LLC www.odgllc.com

  2. Agenda • Architecture • HTML interface theory • Deployment • System Design: Webclient vs HTML • Example systems

  3. Internet Architecture Database Server • Web Server (IIS/Apache) • Web Server plug-in • Omnis Studio Runtime • Omnis Library • Database Client • Browser

  4. Agenda • Architecture • HTML interface theory • Deployment • System Design: Webclient vs HTML • Example systems

  5. Basic HTML form: Data input <html> <head> <title>Log In</title> </head> <body> <p><b>Log In</b></p> <p>Please enter your username and password </p> <form method="get" action="http://localhost/scripts/omnisapi.dll"> <input type="hidden" name="OmnisClass" value="rtLogIn"> <input type="hidden" name="OmnisLibrary" value="RescueDog"> <input type="hidden" name="OmnisServer" value="5912"> User Name <input type="text" name="Username" maxlength="30" size="30"> Password <input type="password" name="Password" maxlength="30" size="30"> <p> <input type="submit" name="Submit" value="Submit"> </form> <A HREF="http://localhost/RescueDog.html"> <IMG SRC="/images/HOME.jpg" BORDER=0 > </body> </html>

  6. HTML form to Webserver Omnisapi.dll Remote Task WebServer

  7. HTML form: Radio buttons, Check Boxes and Drop Lists <HTML> <HEAD> <TITLE>Dog Registration</TITLE> </HEAD> Please enter details of a new dog in need of a home: <form method="get" action="http://localhost/scripts/omnisapi.dll"> <input type="hidden" name="OmnisClass" value="rtDogReg1"> <input type="hidden" name="OmnisLibrary" value="RescueDog"> <input type="hidden" name="OmnisServer" value="5912"> Name <input type="text" name="Name" maxlength="30" size="30"> Gender Dog <input type="radio" name="Gender" value="Dog” CHECKED> Bitch <input type="radio" name="Gender" value="Female"> Neutered? <input type="checkbox" name="Neutered" value="Neutered” CHECKED> Age <input type="text" name="Age" maxlength="30" size="30> Predominant Breed <select name="Breed"> <option SELECTED>Greyhound</option> <option>Lurcher</option> </select>

  8. HTML form: Image Co-ordinates <HTML> <HEAD> <TITLE>Map Co-ordinate Selector</TITLE> </HEAD> <BODY> <form method="get" action="http://localhost/scripts/Omnisapi.dll"> <input type="hidden" name="OmnisClass" value="rtImage"> <input type="hidden" name="OmnisLibrary" value="HTMLDEMO"> <input type="hidden" name="OmnisServer" value="5912"> <INPUT TYPE="image" SRC="http://localhost/images/EuroMap.jpg" NAME="Map"> </FORM> </BODY> </HTML>

  9. Data input: CGI call http://193.114.79.77/scripts/Omnisapi301.dll?OmnisClass=rtDogProfile&OmnisLibrary=RescueDog&OmnisServer=5912&PetId=8 Script Remote Task Parameters Library Server Port

  10. HTML Parameters arriving in Remote Task

  11. Reply to user: Returning a hardcoded URL

  12. Reply to user: Returning an HTML report

  13. Reply to user: Dynamic page customisation

  14. Reply to user: Dynamic page creation

  15. Reply to user: Direct return of HTML content

  16. Session environment <form method="GET" action="@[omnisapi]"> <input type="hidden" name="OmnisClass" value="rt2_2"> <input type="hidden" name="OmnisLibrary" value="ZON"> <input type="hidden" name="OmnisServer" value="5912"> <input type="hidden" name="SessionID" value="@[SessionId]"> <input type="hidden" name="LinkPage" value="2_2_1"> <input type="image" border="0" src="images/saldo.gif" name="MemberLink"> </form>

  17. Using HTML interface to log on to webclient: HTML form <FORM method="get" action="http://193.114.79.77/scripts/Omnisapi301.dll"> <INPUT TYPE="hidden" NAME="OmnisClass" VALUE="rtShelterLogin"> <INPUT TYPE="hidden" NAME="OmnisLibrary" VALUE="RescueDog"> <INPUT TYPE="hidden" NAME="OmnisServer" VALUE="5912"> <P>Username <INPUT TYPE="text" NAME="Username"> <P>Password: <INPUT TYPE="text" NAME="Password"> <INPUT TYPE="submit" NAME="Submit" VALUE="Submit"> </FORM>

  18. Using HTML interface to log on to webclient: Remote Task

  19. Using HTML interface to log on to webclient:Webclient page <HTML><HEAD><TITLE>Remote Form Test - rfShelter</TITLE> <BODY bgColor=#ffffff> <OBJECT classid=clsid:13510606-30FA-11D2-B383-444553540000 height=481 width=880> <PARAM NAME="_Version" VALUE="65536"> <PARAM NAME="_ExtentX" VALUE="7161"> <PARAM NAME="_ExtentY" VALUE="7373"> <PARAM NAME="_StockProps" VALUE="0"> <PARAM NAME="OmnisServer" VALUE="5912"> <PARAM NAME="OmnisLibrary" VALUE="RescueDog"> <PARAM NAME="OmnisClass" VALUE="rfShelter"> <PARAM NAME="WebServerURL" VALUE="http://193.114.79.77"> <PARAM NAME="WebServerScript" VALUE="scripts/Omnisapi301.dll"> <PARAM NAME="Param1" VALUE="ShelterId=@1"> </OBJECT> </BODY></HTML>

  20. Using HTML interface to log on to webclient: HTML form rtLogIn SessionId parameter • Validates Login • Creates SessionId and • database record • Creates rf wrapper & • returns direct HTML • containing SessionId rtRemoteForm Validates SessionId (valid/timed out?) If Session not valid, Returns URL for “LoginFailed.htm”

  21. Using HTML interface to log on to webclient: HTML form • Validates Login • Creates SessionId and • database record • Creates rf wrapper & • returns direct HTML • containing SessionId rtLogIn

  22. Using HTML interface to log on to webclient: HTML form • Validates Login • Creates SessionId and • database record • Creates rf wrapper& • returns direct HTML • containing SessionId rtLogIn

  23. Using HTML interface to log on to webclient: HTML form • Validates Login • Creates SessionId and • database record • Creates rf wrapper & • returns direct HTML • containing SessionId rtLogIn

  24. Using HTML interface to log on to webclient: HTML form rtLogIn SessionId parameter rtRemoteForm <HTML><HEAD><TITLE>Remote Form Test - rfShelter</TITLE> <BODY bgColor=#ffffff> <OBJECT classid=clsid:13510606-30FA-11D2-B383-444553540000 height=481 width=880> <PARAM NAME="_Version" VALUE="65536"> <PARAM NAME="_ExtentX" VALUE="7161"> <PARAM NAME="_ExtentY" VALUE="7373"> <PARAM NAME="_StockProps" VALUE="0"> <PARAM NAME="OmnisServer" VALUE="5912"> <PARAM NAME="OmnisLibrary" VALUE="RescueDog"> <PARAM NAME="OmnisClass" VALUE="rfShelter"> <PARAM NAME="WebServerURL" VALUE="http://193.114.79.77"> <PARAM NAME="WebServerScript" VALUE="scripts/Omnisapi.dll"> <PARAM NAME="Param1" VALUE="SessionId=3654869"> </OBJECT> </BODY></HTML>

  25. Using HTML interface to log on to webclient: HTML form rtRemoteForm Validates SessionId (valid/timed out?) If Session not valid, Returns URL for “LoginFailed.htm”

  26. Using HTML interface to log on to webclient: HTML form rtRemoteForm Validates SessionId (valid/timed out?) If Session not valid, Returns URL for “LoginFailed.htm”

  27. Using HTML interface to log on to webclient: HTML form rtLogIn SessionId parameter • Validates Login • Creates SessionId and • database record • Creates rf wrapper & • returns direct HTML • containing SessionId rtRemoteForm Validates SessionId (valid/timed out?) If Session not valid, Returns URL for “LoginFailed.htm”

  28. Summary: HTML interface input/output techniques Dynamic Page Customisation Remote Task Dynamic Page Creation Direct return of HTML content http://193.114.79.77/scripts/Omnisapi301.dll? OmnisClass=rtDogProfile&OmnisLibrary=RescueDog &OmnisServer=5912&PetId=8

  29. Agenda • Architecture • HTML interface theory • Deployment • System Design: Webclient vs HTML • Example systems

  30. Deployment Server deployment • Place html pages into location on webserver e.g. C:/Inetpub/wwwroot/omnis.html • Place html templates into location on webserver e.g. C:/Templates/template1.html • Copy omnisapi.dll or nph-omniscgi.exe into scripts directory of webserver e.g. C:/Inetpub/wwwroot/scripts/omnisapi.dll • Ensure scripts directory has script execution enabled in properties • Set webserver port in Omnis (e.g. 5912) and check the “Omnis Server” parameter in html page is the same • Make sure Studio and library are open

  31. Deployment Server deployment: SSL • html starter page e.g. https://www.mydomain.com/omnis.html • Webserver URL parameter e.g. “https://www.mydomain.com” • Switch secure sockets on and off from within Remote Task using $issecure property of remote task • SSL approximately doubles the client-server communication time

  32. Deployment Client deployment • No plug-in required! • Just a browser....

  33. Agenda • Architecture • HTML interface theory • Deployment • System Design: Webclient vs HTML • Example systems

  34. When to use HTML interface

  35. RescuePet 20-300 Shelters - webclient Public users - HTML & ASP interface 150 unique visitors/day

  36. Examples: BP Netherlands FreeBees Loyalty scheme 120,000 public users - HTML interface 20 management users - webclient 20,000 hits/day

  37. First Remit: International Cash Transfer system 2500 Agents - webclient <20 Administrators - VPN + webclient

  38. When to use HTML interface • Large user groups (200+) • Unknown users • Low I.T literacy users • High network security users Issues to consider • Slower development than webclient • Cheaper than webclient • No plug-in deployment/hostility issues

  39. When to use Webclient • GUI features • Rapid development • Sophisticated application • Client side methods • Externals e.g port control • Management Information Systems • Small known user group Issues to consider • Support calls re. webclient installation • Cost of webclient • Plug-in user hostility

  40. Agenda • Architecture • HTML interface theory • Deployment • System Design: Webclient vs HTML • Example systems

  41. www.odgllc.com www.artificia.co.uk

  42. www.zonnet.nl www.FreeBees.nl FreeBees/Zon project: User perspective ZON ISP

  43. Web Kiosk BP NL FreeBees system FreeBees Webserver FreeBees database Public Users HTML interface HTML interface Webclient Web Enabler Management Users CRM printer Petrol Station

  44. BP NL FreeBees Web Query Tool

  45. Examples: BP Iberia system

  46. BP Spain BP Portugal BP Gibraltar Examples: BP Iberia system Web Consumer DCOM Database XML Web Consumer DCOM ASP Web Consumer DCOM

  47. Examples: BP Iberia system ASP request and XML response http://193.122.103.252/portuguesetest/BPCard.asp?cardid=303174855&numrecs=10&country=Portugal

  48. BP Iberia system: Web Query Tool

  49. BP Iberia system: Web Query Tool

More Related