Presentation is loading. Please wait.

Presentation is loading. Please wait.

Morten Kromberg Dyalog Ltd. BAA AGM, London, June 19th 2008

Similar presentations


Presentation on theme: "Morten Kromberg Dyalog Ltd. BAA AGM, London, June 19th 2008"— Presentation transcript:

1 Morten Kromberg Dyalog Ltd. BAA AGM, London, June 19th 2008
Service Oriented APL Morten Kromberg Dyalog Ltd. BAA AGM, London, June 19th 2008

2 Agenda The Stand-Alone WebService framework from Dyalog (SAWS)
Introduction to Secure Web Communications in Dyalog (Conga) SOA BAA AGM 2008, London

3 Service Oriented Architecture
Wikipedia: A software architecture where functionality is grouped around business processes and packaged as interoperable services. SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes. The aim is a loose coupling of services with operating systems, programming languages and other technologies which underly applications. SOA BAA AGM 2008, London

4 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” SOA BAA AGM 2008, London

5 WS Protocols: SOAP SOAP: ”Simple” Object Access Protocol (not)
<?xml version="1.0"?> <SOAP-ENV:Envelope SOAP-ENV: encodingStyle=" xmlns:SOAP-ENC=" xmlns:SOAP-ENV=" xmlns:xsd=" xmlns:xsi=" <SOAP-ENV:Body> <GetStats xmlns=" <Input> </Input> </GetStats> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOA BAA AGM 2008, London

6 WS Protocols: WSDL Web Service Description Language SOA BAA AGM 2008

7 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 ) SOA BAA AGM 2008, London

8 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 SOA BAA AGM 2008, London

9 Calling WebSevices More and more Public Web Services are available on the internet The number is growing rapidly You can Google for them... SOA BAA AGM 2008, London

10 Google your way... SOA BAA AGM 2008, London

11 Weather Web Service Enterprise Applications Dyalog’07

12 Calling Weather Enterprise Applications Dyalog’07

13 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 Enterprise Applications Dyalog’07

14 MyWebService SOA BAA AGM 2008

15 StatCalc fn SOA BAA AGM 2008

16 GetStats fn SOA BAA AGM 2008

17 BuildAPI fn SOA BAA AGM 2008

18 Calling GetStats SOA BAA AGM 2008

19 GetStats from C# SOA BAA AGM 2008

20 GetStats from C# SOA BAA AGM 2008

21 SAWS TRACE SOA BAA AGM 2008

22 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 SOA BAA AGM 2008, London

23 SAWS Web Page SOA BAA AGM 2008, London

24 Secure Communication Conga is a new mechanism for TCP communication in version 12 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 SOA BAA AGM 2008, London

25 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” SOA BAA AGM 2008, London

26 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”) SOA BAA AGM 2008, London

27 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 validate a User Certificate Companies can also issue own certs for internal use SOA BAA AGM 2008, London

28 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 SOA BAA AGM 2008, London

29 Secure Conga Demo (1/4) ⍝ Create variables containing cert file names
srvcert←certpath,'server/server-cert.pem' srvkey←certpath,'server/server-key.pem' cltcert←certpath,'client/geoff-cert.pem' cltkey←certpath,'client/geoff-key.pem' ⍝ Initialize Conga and identify root cert foolder DRC.Init '' 0 Conga loaded from: C:\...\bin\conga10Uni DRC.SetProp'.' 'RootCertDir'(certpath,'ca') SOA BAA AGM 2008, London

30 Secure Conga Demo (2/4) ⍝ Create Secure Server object ’STATS’ on port 1234 DRC.SecureServer 'STATS' 1234 srvcert srvkey 64 0 STATS ⍝ Create Secure Client ’C1’ connected to server DRC.SecureClient 'C1' 'localhost' 1234 cltcert cltkey 0 C1 ⍝ Server waits for the first event DISP (rc obj event data)←4↑DRC.Wait 'STATS' ┌─┬─────────────────────┬───────┬─┐ │0│STATS =56725│Connect│0│ └─┴─────────────────────┴───────┴─┘ SOA BAA AGM 2008, London

31 Secure Conga Demo (3/4) ⍝ Server extracts client cert from connection
DRC.GetProp obj 'PeerCert' 0 Issuer O=Test CA,CN=Test CA PublicKeyAlgorithm RSA SerialNumber C 15 A6 ValidFrom ValidTo OU Geoff Sample CN Geoff Sample UID Subject Alt Name SOA BAA AGM 2008, London

32 Secure Conga Demo (4/4) DRC.Send 'C1.CMD1' ( ) ⍝ Client request ┌─┬───────┐ │0│C1.CMD1│ └─┴───────┘ (rc obj event data)←DRC.Wait 'STATS’ ⍝ Server waits ┌─┬──────────────────────────┬───────┬─────────┐ │0│STATS =56725.CMD1│Receive│ │ └─┴──────────────────────────┴───────┴─────────┘ DRC.Respond obj (Demo.StatCalc data) ⍝ Srv responds DRC.Wait 'C1’ ⍝ Client receives result ┌─┬───────┬───────┬─────────┐ │0│C1.CMD1│Receive│ │ └─┴───────┴───────┴─────────┘ SOA BAA AGM 2008, London

33 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 SOA BAA AGM 2008, London

34 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) SOA BAA AGM 2008, London

35 Thank You! And remember Dyalog’08:
Helsingør, Denmark October 12th-15th See SOA BAA AGM 2008, London


Download ppt "Morten Kromberg Dyalog Ltd. BAA AGM, London, June 19th 2008"

Similar presentations


Ads by Google