1 / 36

Dyalog’08

Dyalog’08. Conga, SSL and WebServices. Morten Kromberg Dyalog’08 - Elsinore. Agenda. Demo / Introduction to: Conga – for remote communication Secure Communication using SSL/TLS The ”Stand Alone Web Service” (SAWS). Conga - Introduction.

jcora
Download Presentation

Dyalog’08

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. Dyalog’08

  2. Conga, SSL and WebServices Morten Kromberg Dyalog’08 - Elsinore

  3. Agenda • Demo / Introduction to: • Conga – for remote communication • Secure Communication using SSL/TLS • The ”Stand Alone Web Service” (SAWS) Dyalog’08

  4. Conga - Introduction • Replaces TCPSocket Objects as the PREFERRED tool for communications • TCPSocket Objects are very general and close to the TCP Protocol • Most APL applications only use a small subset of the features of TCP • APL’ers have trouble opening & closing connections and handling errors ”correctly” • ⎕DQ makes TCPSockets interfere with GUI and multi-tier applications are very hard to code Dyalog’08

  5. Demo: Intro to Conga Dyalog’08 - Elsinore

  6. Dyalog’08 - Elsinore

  7. Conga - Summary • Easier to use than TCPSocket objects: More reliable applications • Supports multi-tier, multi-threaded applications very well • Supports ”Secure” Communications • Many coding samples: Web Client, Web Server, RPC Server, FTP Client, Time Of Day Server – including Secure Samples Dyalog’08

  8. Secure Communication • From version 12.0.3 (August 2008), Conga supports secure communication via TCP/IP using SSL/TLS: • Messages can only be read by the intended recipient • The identity of your ”Peer” can be verified • Messages cannot be modified en route Dyalog’08

  9. SSL / TLS • ”Transport Layer Security” (TLS) replaces old term ”Secure Socket Layer” (SSL) • Each user (or ”endpoint”) needs: • A public certificate • A private key • And a collection to ”root certificates” from ”certificate authorities” Dyalog’08

  10. TLS / SSL – How it works? • You send your Public Certificate to everyone you want to talk to • You keep your Private Key Secret! • Information encoded with one of the above can be decoded using the other • Allows encrypted communication which cannot be tampered with or falsified • (If you trust the ”Certificate Authorities”) Dyalog’08

  11. Certificate Authorities • A User Certificate is ”signed” using the private key of a Certificate Authority (CA) • Each CA issues a ”Root Certificate” which can be used to validatea User Certificate • Companies can alsoissue own certs forinternal use Dyalog’08

  12. Using TLS from APL ... • Any sufficiently advanced technology is indistinguishable from magic. ... Arthur C Clarke (1961) • In other words: It’s easy ... Let’s take a look Dyalog’08

  13. Secure Demo Dyalog’08 - Elsinore

  14. TLS Summary • With Conga, Dyalog applications can easily use secure services over the network • Web Services or Web Servers written in APL can also be secured Dyalog’08

  15. Service Oriented APL • Many APL applications are well suited to being converted into ”services” • This makes them very easy to integrate into almost any modern application • Can make IT managers and users of other languages more comfortable about APL • We believe that SOA opens up many new avenues for APL-based services • (using other peoples services is also nice ) Dyalog’08

  16. Web Services • The most widely used mechanism for implementing ”SOA” • Supported by Microsoft, Unixes, Mainframes – just about any web development tool • Wikipedia: ”Communication over a network using XML messages that follow the SOAP standard” Dyalog’08

  17. WS Protocols: SOAP • SOAP: ”Simple” Object Access Protocol (not) • <?xml version="1.0"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <GetStats xmlns="http://localhost/MyWebService/"> <Input>1 2 3 4 4</Input> </GetStats> </SOAP-ENV:Body></SOAP-ENV:Envelope> Dyalog’08

  18. WS Protocols: WSDL • Web Service Description Language BAA AGM 2008

  19. Introducing SAWS • Stand-Alone WebService Framework • Our goal is to make it VERY easy for APL users to use AND provide ”SOA” components • Anyone who is able to write an APL function should be able to: • Call existing Web Services • Publish APL functions as Web Services • SAWS manages the SOAP and WSDL Dyalog’08

  20. Calling WebSevices • More and more Public Web Services are available on the internet • The number is growing rapidly • You can Google for them... Dyalog’08

  21. Google your way... BAA AGM 2008, London

  22. Weather Web Service Dyalog’07

  23. Calling Weather Dyalog’08

  24. Providing Web Services • Any APL Application can be turned into a WebService using SAWS • You should provide information that SAWS can use to build the WSDL • SAWS handles the rest Dyalog’08

  25. MyWebService Dyalog’08

  26. StatCalc fn Dyalog’08

  27. GetStats fn BAA AGM 2008

  28. BuildAPI fn Dyalog’08

  29. Calling GetStats BAA AGM 2008

  30. GetStats from C# Dyalog’08

  31. GetStats from C# Dyalog’08

  32. SAWS TRACE BAA AGM 2008

  33. SAWS Summary • Provides complete support for ”consuming” and ”providing” Web Services • ... without requiring installation of infrastructure components like Microsoft IIS, Apache, IBM WebSphere • SAWS also exposes a web page as documentation Dyalog’08

  34. SAWS Web Page Dyalog’08

  35. Summary • ”Service Oriented Architectures” can help APL integrate with most IT infrastructures • ”Stand-alone” web servers and services are very easier to test AND deploy • Now they are easily secured, they may be all you need for many applications • (In some situations, there will be still be good reasons to integrate with IIS / Apache etc) Dyalog’08

  36. Conclusion • Conga and the SAWS framework provide new, easy-to-use tools for ”web-enabling” Dyalog Applicatons • Conga is already included with v12.0.3. • SAWS is available now and will be bundled with v12.1 in 2009 Dyalog’08 - Elsinore

More Related