1 / 24

XML-RPC

XML-RPC. Clifford Ilkay Dinamis Corporation Toronto, ON Canada +1 416-410-3326 clifford_ilkay@dinamis.com. 2004. Mark Phillips Mophilly & Associates Rancho San Diego, CA USA +1 619-444-9210 mark@mophilly.com. Distributed Omnis Apps. How do we deploy distributed Omnis applications?

Download Presentation

XML-RPC

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. XML-RPC Clifford Ilkay Dinamis Corporation Toronto, ON Canada +1 416-410-3326 clifford_ilkay@dinamis.com 2004 Mark Phillips Mophilly & Associates Rancho San Diego, CA USA +1 619-444-9210 mark@mophilly.com

  2. Distributed Omnis Apps • How do we deploy distributed Omnis applications? • Web client • Citrix/Windows Terminal Server • OmnisIP • Fat client

  3. Web Client • Cons: • Challenging to integrate with non Omnis applications • Problems on Linux • No multi windowing (Jeff Spicer is addressing) • Two development cycles, one for fat, one for thin • Plug-in not cryptographically signed, no checksums on download site • No download site mirrors (download plug in from one mirror, MD5 checksums from another) • Not widely deployed

  4. Web Client • Pros: • Familiar language to Omnis developers • Very light weight deployment • Rich interface – for a web app • Relatively quick development cycle

  5. Citrix/Windows Terminal Server • Cons: • Must run Windows on the server • Can be expensive to deploy • Pros: • No changes necessary to deploy fat client Omnis app • Good performance even on low bandwidth connections • Richness of the fat client UI • Windows is best supported Omnis deployment platform

  6. OmnisIP • Created by Fred Haislmaier, Mark Phillips, Stephen Miller • Proprietary but open standard for communicating with Omnis as a server or as a client • Requires Studio App Server running on Server • Low level IP communications

  7. Client/Server Fat Client Apps • Client/server apps are distributed across a LAN • Possible to distribute across a WAN/Internet using a VPN • Two tier app • Usually tightly coupled to the back end database • Tightly coupled to Omnis • Can be difficult to extend

  8. Client/Server Fat Client Apps • Can be difficult to enforce clean separation of model, view, and controller • No support for web services • Proprietary call interface • High degree of coordination required • Not self describing • Invocation methods vary

  9. What are web services? • Standards based means of invoking remote procedures • Uses XML to encode • Uses HTTP/HTTPS for transport • A spec and a set of implementations • Allows software running on disparate operating systems to make procedure calls over the Internet • XML-RPC Services

  10. What is XML? • According to industry press, a magic bullet • A spec that defines a markup language – like HTML • Subset of SGML • Syntax for document markup • Syntax for document structure • Clear markup, e.g. <img src> is explicitly clear when expressed as <image source> • A W3C standard – next version of HTML is XHTML

  11. What is XML? • Human readable documents • Adaptable – MathML, ChemML • Used for: • Configuration files • Web pages - XHTML • Transforming data from one format to another - XSLT • Open file formats – OpenOffice, Keynote • Dev tools using XML for UI specification, e.g. Qt Designer, Mozilla XUL • Web services, e.g. SOAP, XML-RPC

  12. XML for Configuration Files • Apple Address Book Preferences File

  13. XHTML • NYPL Style Guide for XHTML

  14. XSLT for Data Transformations • Convert data from one format to another • attribute.xsl • csharp.xsl

  15. XML File Formats • Apple Keynote Description File • OpenOffice.org File Format • OOo files are zip files that contain XML files • Standards based • Adopted by other Open Source office project - KOffice from the KDE project

  16. XML User Interface Spec Files • Example Qt Designer Form • Mozilla XUL Hello World Example • <file:///X:/Work/AmerOmnis/2004/XML-RPCPresentation/XUL/HelloWorld.xul>

  17. What is SOAP? • Simple Object Access Protocol • Simpler than CORBA, but ... • Spec is over 100 pages • Designed by committee, IBM, Microsoft, Oracle, et al. • Alphabet soup of technologies, WSDL, UDDI, etc. • DotCDI from Computer Dynamics is an implementation for Omnis

  18. What is XML-RPC? • Very simple – no bells and whistles • Spec is only one page, can read and understand in one sitting • Designed by Dave Winer at Userland Technologies of Frontier fame • No Omnis implementation – until now • Standard way of invoking remote procedures over HTTP/HTTPS using XML to encode messages between client and server

  19. What is XML-RPC?

  20. XML-RPC Implementations • XML-RPC Howto • Show SumDiff.py – a simple Python example

  21. XML-RPC for Omnis • First approach: • Use Open Source Windows DLL • Successful in getting proper response back from server • Windows specific • Second approach: • Use Omnis HTTPPost command • Problem: strips header • Use TCP

  22. XML-RPC for Omnis • Opens Omnis to wide world of XML-RPC servers • Omnis is just another client, albeit a very rich one • Middle tier – application server is not Omnis, for now

  23. Review • Covered: • Various ways of deploying distributed apps • Web services • What XML is and what it is used for • What XML-RPC is • XML-Implementations

  24. Q & A • Any questions?

More Related