Download presentation
Presentation is loading. Please wait.
Published byHester Cox Modified over 7 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.