Your SlideShare is downloading. ×
0
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
RESTFul IDEAS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

RESTFul IDEAS

1,711

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,711
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. RESTful IDEAS: Integrated Documentation Environment for Aircraft Support‏ Originally presented at the XML 2007 Conference by: Joel Amoussou, Founder & CEO, Efasoft [email_address]
  • 2. Agenda Security 5 IDEAS Use Cases 1 S1000D 2 AtomPub and OpenSearch 3 Getting Started 4
  • 3. How Information is Distributed Today? <ul><li>Shipping of Physical Products </li></ul><ul><li>Paper, CD-ROM, DVD </li></ul><ul><li>Four revisions a year </li></ul><ul><li>Temporary Revisions </li></ul><ul><li>Online Access </li></ul><ul><li>Hosted by manufacturers </li></ul><ul><li>Boeing MPT </li></ul><ul><li>Airbus|World </li></ul>
  • 4. Current Digital File Formats S1000D Military Specifications (CALS)‏ ATA iSpec 2200 PDF and Proprietary Formats S1000D
  • 5. Beyond S1000D: IDEAS IDEAS AtomPub OpenSearch Syndication Federated Search Ex- change Library Services
  • 6. Maintenance and Flight Operations Airframe Manufacturer Engine Manufacturer Component Manufacturer FAA/Transport Canada Airline Policies &amp; Procedures Feeds Reader Aggregator OpenSearch Client
  • 7. Distributed Aircraft Manufacturing AtomPub Server Airframer (Systems Integrator)‏ AtomPub Client Partner/Supplier Create content with HTTP POST Get content with HTTP GET Update content with HTTP PUT Delete content with HTTP DELETE
  • 8. Airline Originated Changes AtomPub Server Airframer/FAA/Suppliers AtomPub Client Airline&apos;s Content Repository Create content with HTTP POST Get content with HTTP GET Update content with HTTP PUT Delete content with HTTP DELETE
  • 9. Syndication-Oriented Architecture (SynOA)‏ <ul><li>ROA and SynOA </li></ul><ul><li>REST </li></ul><ul><li>Atom </li></ul><ul><li>AtomPub </li></ul><ul><li>OpenSearch </li></ul><ul><li>SOA </li></ul><ul><li>XML Schema </li></ul><ul><li>SOAP </li></ul><ul><li>WSDL </li></ul><ul><li>UDDI </li></ul><ul><li>WS-* </li></ul>Web Services
  • 10. What is S1000D? ASD, AIA, and ATA Military and Civil Aviation Open standards (RDF, Dublin Core, XLink, WebCGM, XML Schema)‏ Common Source DataBase (CSDB) and Reuse Metadata Data Module S1000D
  • 11. S1000D Data Module Identification and Status (data module code, applicability, issue number, etc.)‏ Content (actual maintenance or operation procedure)‏
  • 12. Sample S1000D Data Module Metadata &lt;dmodule xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot; xmlns:dc=&amp;quot;http://www.purl.org/dc/elements/1.1/&amp;quot;&gt; &lt;rdf:Description&gt; &lt;dc:title&gt;Hydraulic Tank - Clean by ultrasonic&lt;/dc:title&gt; &lt;dc:creator&gt;U8234&lt;/dc:creator&gt; &lt;dc:subject&gt;Hydraulic Tank - Clean by ultrasonic &lt;/dc:subject&gt; &lt;dc:publisher&gt;U8234&lt;/dc:publisher&gt; &lt;dc:contributor&gt;U8234&lt;/dc:contributor&gt; &lt;dc:date&gt;2007-07-31&lt;/dc:date&gt; &lt;dc:type&gt;text&lt;/dc:type&gt; &lt;dc:format&gt;text/xml&lt;/dc:format&gt; &lt;dc:identifier&gt;8H-A-29-10-05-01A-253B-C&lt;/dc:identifier&gt; &lt;dc:language&gt;en-GB&lt;/dc:language&gt; &lt;dc:rights&gt;01&lt;/dc:rights&gt; &lt;/rdf:Description&gt; ... &lt;/dmodule&gt;
  • 13. Sample S1000D Data Module Content &lt;mainfunc&gt; &lt;step1&gt; &lt;para&gt;Clean by ultrasonic.&lt;/para&gt; &lt;step2&gt; &lt;para&gt;Press ON to start.&lt;/para&gt; &lt;/step2&gt; &lt;step2&gt; &lt;para&gt;Monitor the cleaner during operation.&lt;para&gt; &lt;/step2&gt; &lt;step2&gt; &lt;para&gt; The cleaner will stop automatically after running for the specified time. &lt;para&gt; &lt;/step2&gt; &lt;/step1&gt; &lt;mainfunc&gt;
  • 14. Data Module Code <ul><li>8H: Model Identification Code </li></ul><ul><li>A: System Difference Code </li></ul><ul><li>29: System (Hydraulic Power)‏ </li></ul><ul><li>10: Subsystem (Main Hydraulic Power)‏ </li></ul><ul><li>05: Unit or Component (Hydraulic Tank)‏ </li></ul><ul><li>01: Disassembly Code (first assembly removed from the tank)‏ </li></ul><ul><li>A: Disassembly Code Variant </li></ul><ul><li>253: Information Code (clean by ultrasonic with equipment X)‏ </li></ul><ul><li>B: Information Code Variant (clean by ultrasonic with equipment Y)‏ </li></ul><ul><li>C: Item Location Code (C = Maintenance on the bench)‏ </li></ul>8H-A-29-10-05-01A-253B-C
  • 15. S1000D Publication Module (PM)‏ DM Reference DM Reference DM Reference DM Reference DM Reference
  • 16. S1000D Information Life Cycle DMRL Presentation CSDB Common Source Database Browser-based Interactive Electronic Technical Publication (IETP)‏ Data Modules Requirement List
  • 17. Sample Atom Feed for S1000D CSDB <ul><li>&lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&gt; </li></ul><ul><li>&lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&gt; </li></ul><ul><li>&lt;title&gt;Example S1000D Feed&lt;/title&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;self&amp;quot; type=&amp;quot;application/atom+xml&amp;quot; </li></ul><ul><li>href=&amp;quot;http://xyz-aero.com/csdb/feed.atom&amp;quot;/&gt; </li></ul><ul><li>&lt;updated&gt;2007-11-20T19:30:02Z&lt;/updated&gt; </li></ul><ul><li>&lt;author&gt; </li></ul><ul><li>&lt;name&gt;XYZ Aero&lt;/name&gt; </li></ul><ul><li>&lt;/author&gt; </li></ul><ul><li>&lt;id&gt;http://xyz-aero.com/csdb&lt;/id&gt; </li></ul><ul><li>&lt;entry&gt; </li></ul><ul><li>&lt;title&gt;Hydraulic Tank - Clean by ultrasonic with equipment X&lt;/title&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;enclosure&amp;quot; type=&amp;quot;image/png&amp;quot; length=&amp;quot;1337&amp;quot; </li></ul><ul><li>href=&amp;quot;http://xyz-aero.com/csdb/illustration/icn.png&amp;quot;/&gt; </li></ul><ul><li>&lt;id&gt;http://xyz-aero.com/csdb/dm/DMC-8H-A-29-10-05-01A-253A-C&lt;/id&gt; </li></ul><ul><li>&lt;updated&gt;2007-11-20T19:30:02Z&lt;/updated&gt; </li></ul><ul><li>&lt;content </li></ul><ul><li>src=&amp;quot;http://xyz-aero.com/csdb/dm/DMC-8H-A-29-10-05-01A-253A-C.xml&amp;quot; type=&amp;quot;text/xml&amp;quot;/&gt; </li></ul><ul><li>&lt;summary&gt; </li></ul><ul><li>Hydraulic Tank – Clean by ultrasonic with equipment X </li></ul><ul><li>&lt;/summary&gt; </li></ul><ul><li>&lt;/entry&gt; </li></ul><ul><li>... </li></ul><ul><li>&lt;/feed&gt; </li></ul>
  • 18. AtomPub Service Document for a CSDB <ul><li>&lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&gt; </li></ul><ul><li>&lt;service xmlns=&amp;quot;http://www.w3.org/2007/app&amp;quot; xmlns:atom=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&gt; </li></ul><ul><li>&lt;workspace&gt; </li></ul><ul><li>&lt;atom:title&gt;S1000D CSDB&lt;/atom:title&gt; </li></ul><ul><li>&lt;collection href=&amp;quot;http://xyz-aero.com/csdb/dm&amp;quot; &gt; </li></ul><ul><li>&lt;atom:title&gt;S1000D Data Modules&lt;title&gt; </li></ul><ul><li>&lt;categories href=&amp;quot;http://www.s1000d.org/cats/dm.cats&amp;quot; /&gt; </li></ul><ul><li>&lt;/collection&gt; </li></ul><ul><li>&lt;collection href=&amp;quot;http://xyz-aero.com/csdb/illustration&amp;quot; &gt; </li></ul><ul><li>&lt;atom:title&gt;S1000D Illustrations&lt;/atom:title&gt; </li></ul><ul><li>&lt;accept&gt;image/png&lt;/accept&gt; </li></ul><ul><li>&lt;accept&gt;image/jpeg&lt;/accept&gt; </li></ul><ul><li>&lt;accept&gt;image/gif&lt;/accept&gt; </li></ul><ul><li>&lt;accept&gt;image/tif&lt;/accept&gt; </li></ul><ul><li>&lt;accept&gt;image/cg4&lt;/accept&gt; </li></ul><ul><li>&lt;accept&gt;image/cgm&lt;/accept&gt; </li></ul><ul><li>&lt;/collection&gt; </li></ul><ul><li>&lt;/workspace&gt; </li></ul><ul><li>&lt;/service </li></ul>
  • 19. Listing Atom Collection <ul><li>&lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;first&amp;quot; </li></ul><ul><li>href=&amp;quot;http://xyz-aero.com/csdb/dm/amm&amp;quot; /&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;next&amp;quot; </li></ul><ul><li>href=&amp;quot;http://xyz-aero.com/csdb/dm/fim&amp;quot; /&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;last&amp;quot; </li></ul><ul><li>href=&amp;quot;http://xyz-aero.com/csdb/dm/aipc&amp;quot; /&gt; </li></ul><ul><li>... </li></ul><ul><li>&lt;/feed&gt; </li></ul>
  • 20. Posting a Data Module to an Atom Server <ul><li>POST /csdb/dm HTTP/1.1 </li></ul><ul><li>Host: xyz-aero.com </li></ul><ul><li>Authorization: XYZAeroLogin auth={auth token} </li></ul><ul><li>Content-Type: application/atom+xml;type=entry </li></ul><ul><li>Content-Length: nnn </li></ul><ul><li>Slug: First Post </li></ul><ul><li>&lt;?xml version=&amp;quot;1.0&amp;quot; ?&gt; </li></ul><ul><li>&lt;entry xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&gt; </li></ul><ul><li>&lt;title&gt;Hydraulic Tank - Clean by ultrasonic with equipment X&lt;/title&gt; </li></ul><ul><li>&lt;id&gt;http://xyz-aero.com/csdb/dm/DMC-8H-A-29-10-05-01A-253A-C&lt;/id&gt; </li></ul><ul><li>&lt;updated&gt;2007-11-20T19:30:02Z&lt;/updated&gt; </li></ul><ul><li>&lt;author&gt; </li></ul><ul><li>&lt;name&gt;XYZ Aero&lt;/name&gt; </li></ul><ul><li>&lt;/author&gt; </li></ul><ul><li>&lt;content type=&amp;quot;text/xml&amp;quot;&gt; </li></ul><ul><li>&lt;dmodule&gt;..&lt;/dmodule&gt; </li></ul><ul><li>&lt;/content&gt; </li></ul><ul><li> &lt;summary&gt; </li></ul><ul><li>Hydraulic Tank – Clean by ultrasonic with equipment X </li></ul><ul><li>&lt;/summary&gt; </li></ul><ul><li>&lt;/entry&gt; </li></ul>
  • 21. Data Module Created by an Atom Server <ul><li>HTTP/1.1 201 Created </li></ul><ul><li>Date: Sun, 11 Nov 2007 19:01:11 GMT </li></ul><ul><li>Content-Length: nnn </li></ul><ul><li>Content-Type: application/atom+xml;type=entry;charset=&amp;quot;utf-8&amp;quot; </li></ul><ul><li>Location: http://xyz-aero.com/csdb/dm/DMC-8H-A-29-10-05-01A-253A-C.atom </li></ul><ul><li>ETag: &amp;quot;cj373d8762369g&amp;quot; </li></ul><ul><li>&lt;?xml version=&amp;quot;1.0&amp;quot; ?&gt; </li></ul><ul><li>&lt;entry xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&gt; </li></ul><ul><li>&lt;title&gt;Hydraulic Tank - Clean by ultrasonic with equipment X&lt;/title&gt; </li></ul><ul><li>&lt;id&gt;http://xyz-aero.com/csdb/dm/DMC-8H-A-29-10-05-01A-253A-C&lt;/id&gt; </li></ul><ul><li>&lt;updated&gt;2007-11-20T19:30:02Z&lt;/updated&gt; </li></ul><ul><li>&lt;author&gt; </li></ul><ul><li>&lt;name&gt;Aero Tanks&lt;/name&gt; </li></ul><ul><li>&lt;/author&gt; </li></ul><ul><li>&lt;content type=&amp;quot;text/xml&amp;quot;&gt; </li></ul><ul><li>&lt;dmodule&gt;..&lt;/dmodule&gt; </li></ul><ul><li>&lt;/content&gt; </li></ul><ul><li> &lt;summary&gt; </li></ul><ul><li>Hydraulic Tank – Clean by ultrasonic with equipment X </li></ul><ul><li>&lt;/summary&gt; </li></ul><ul><li>&lt;/entry&gt; </li></ul>
  • 22. OpenSearch Description Document <ul><li>&lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&gt; </li></ul><ul><li>&lt;OpenSearchDescription </li></ul><ul><li>xmlns=&amp;quot;http://a9.com/-/spec/opensearch/1.1/&amp;quot;&gt; </li></ul><ul><li>&lt;ShortName&gt;FAA&apos;s ADs Search&lt;/ShortName&gt; </li></ul><ul><li>&lt;Description&gt; </li></ul><ul><li>Use to search FAA airworthiness directives. </li></ul><ul><li>&lt;/Description&gt; </li></ul><ul><li>&lt;Tags&gt;airworthiness directives&lt;/Tags&gt; </li></ul><ul><li>&lt;Contact&gt;opensearch.admin@faa.gov&lt;/Contact&gt; </li></ul><ul><li>&lt;Url type=&amp;quot;application/atom+xml&amp;quot; </li></ul><ul><li>template=&amp;quot;http://faa.gov/ads/ </li></ul><ul><li>?q={searchTerms}&amp;amp;p={startPage?}&amp;amp;format=atom &amp;quot;/&gt; </li></ul><ul><li>&lt;/OpenSearchDescription&gt; </li></ul>
  • 23. OpenSearch Atom Search Result <ul><li>&lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; </li></ul><ul><li>xmlns:opensearch=&amp;quot;http://a9.com/-/spec/opensearch/1.1/&amp;quot;&gt; </li></ul><ul><li>&lt;title&gt;FAA ADs Search: hydraulic tank&lt;/title&gt; </li></ul><ul><li>&lt;updated&gt;2007-11-20T15:20:02Z&lt;/updated&gt; </li></ul><ul><li>&lt;id&gt;http://faa.gov/ads/hydraulic+tank&lt;/id&gt; </li></ul><ul><li>&lt;opensearch:totalResults&gt;1&lt;/opensearch:totalResults&gt; </li></ul><ul><li>&lt;opensearch:startIndex&gt;1&lt;/opensearch:startIndex&gt; </li></ul><ul><li>&lt;opensearch:itemsPerPage&gt;20&lt;/opensearch:itemsPerPage&gt; </li></ul><ul><li>&lt;opensearch:Query role=&amp;quot;request&amp;quot; searchTerms=&amp;quot;hydraulic tank&amp;quot; startPage=&amp;quot;1&amp;quot; /&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;alternate&amp;quot; </li></ul><ul><li>href=&amp;quot;http://faa.gov/ads/hydraulic+tank?p=1&amp;quot; type=&amp;quot;text/html&amp;quot;/&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;self&amp;quot; </li></ul><ul><li>href=&amp;quot;http://faa.gov/ads/hydraulic+tank?p=1&amp;amp;format=atom&amp;quot; type=&amp;quot;application/atom+xml&amp;quot;/&gt; </li></ul><ul><li>&lt;link rel=&amp;quot;search&amp;quot; type=&amp;quot;application/opensearchdescription+xml&amp;quot; href=&amp;quot;http://faa.gov/ads/opensearchdescription.xml&amp;quot;/&gt; </li></ul><ul><li>&lt;entry&gt;... &lt;/entry&gt; </li></ul><ul><li>&lt;/feed&gt; </li></ul>
  • 24. Getting Started IETP Benefits <ul><li>Integrate feeds reader </li></ul><ul><li>Add OpenSearch provider to browser </li></ul><ul><li>Configure feeds aggregator </li></ul><ul><li>Users search multiple repositories </li></ul><ul><li>Users subscribe to feeds </li></ul><ul><li>Up-to-date content is always available </li></ul>CSDB <ul><li>Generate and serve Atom feeds from your CSDB (XSLT, Abdera)‏ </li></ul><ul><li>Turn your search engine into an OpenSearch provider </li></ul>
  • 25. S1000D Publication Module (PM)‏ <ul><li>&lt;pm xmlns:xlink=&amp;quot;http://www.w3.org/1999/xlink&amp;quot;&gt; </li></ul><ul><li>&lt;idstatus&gt;...&lt;/idstatus&gt; </li></ul><ul><li>&lt;content&gt; </li></ul><ul><li>&lt;pmentry&gt; </li></ul><ul><li>&lt;title&gt; </li></ul><ul><li>Hydraulic Tank - Clean by ultrasonic with equipment X </li></ul><ul><li>&lt;/title&gt; </li></ul><ul><li>&lt;refdm&gt; </li></ul><ul><li>&lt;xlink:locator xlink:label=&amp;quot;Clean&amp;quot; xlink:href=&amp;quot;DMC-8H-A-29-10-05-01A-253A-C.xml&amp;quot;/&gt; </li></ul><ul><li>&lt;/refdm&gt; </li></ul><ul><li>&lt;/pmentry&gt; </li></ul><ul><li>&lt;pmentry&gt; </li></ul><ul><li>&lt;title&gt; </li></ul><ul><li>Hydraulic Tank - Clean by ultrasonic with equipment Y </li></ul><ul><li>&lt;/title&gt; </li></ul><ul><li>&lt;refdm&gt; </li></ul><ul><li>&lt;xlink:locator xlink:label=&amp;quot;Clean&amp;quot; xlink:href=&amp;quot;DMC-8H-A-29-10-05-01A-253B-C.xml&amp;quot;/&gt; </li></ul><ul><li>&lt;/refdm&gt; </li></ul><ul><li>&lt;/pmentry&gt; </li></ul><ul><li>&lt;/content&gt; </li></ul><ul><li>&lt;/pm&gt; </li></ul>
  • 26. From S1000D PM to Atom Feed with XSLT <ul><li>&lt;xsl:for-each select=&amp;quot;s:pmentry&amp;quot;&gt; </li></ul><ul><li>&lt;xsl:variable name=&amp;quot;dmc&amp;quot; select=&amp;quot;s:refdm/xlink:locator/@xlink:href&amp;quot;/&gt; </li></ul><ul><li>&lt;entry&gt; </li></ul><ul><li>&lt;title&gt;&lt;xsl:value-of select=&amp;quot;s:title&amp;quot;/&gt;&lt;/title&gt; </li></ul><ul><li>&lt;id&gt; </li></ul><ul><li>&lt;xsl:value-of select=&amp;quot;concat </li></ul><ul><li>(&apos;http://xyz-aero.com/csdb/dm/&apos;, </li></ul><ul><li>substring-before($dmc, &apos;.&apos;))&amp;quot;/&gt; </li></ul><ul><li>&lt;/id&gt; </li></ul><ul><li>&lt;updated&gt; </li></ul><ul><li>&lt;xsl:value-of select=&amp;quot;current-dateTime()&amp;quot;/&gt; </li></ul><ul><li>&lt;/updated&gt; </li></ul><ul><li>&lt;content src=&amp;quot;{$dmc}&amp;quot; type=&amp;quot;text/xml&amp;quot;/&gt; </li></ul><ul><li>&lt;summary&gt; </li></ul><ul><li>&lt;xsl:value-of select=&amp;quot;s:title&amp;quot;/&gt; </li></ul><ul><li>&lt;/summary&gt; </li></ul><ul><li>&lt;/entry&gt; </li></ul><ul><li>&lt;/xsl:for-each&gt; </li></ul>
  • 27. Posting to an Atom Server with Abdera <ul><li>String csdb = &amp;quot;http://xyz-aero.com/csdb&amp;quot;; </li></ul><ul><li>... </li></ul><ul><li>Document&lt;Service&gt; serviceDoc = client.get(csdb).getDocument(); </li></ul><ul><li>Service service = serviceDoc.getRoot(); </li></ul><ul><li>Collection collection = </li></ul><ul><li>service.getWorkspaces().get(0)‏ </li></ul><ul><li>.getCollections().get(0); </li></ul><ul><li>String uri = collection.getHref().toString(); </li></ul><ul><li>Response response = client. post (uri, entry); </li></ul><ul><li>if (response.getStatus() == 201) </li></ul><ul><li>System.out.println(&amp;quot;Data module successfully uploaded!&amp;quot;); </li></ul><ul><li>else </li></ul><ul><li>System.out.println(&amp;quot;Data module upload failed!&amp;quot;); </li></ul>
  • 28. AtomPub Security SSL HTTP Authentication WSSE XML Signature /Encryption Others Security
  • 29. Signing an Atom Feed with Apache Abdera <ul><li>Abdera abdera = new Abdera(); </li></ul><ul><li>AbderaSecurity abderaSecurity = new AbderaSecurity(abdera); </li></ul><ul><li>URL url = new </li></ul><ul><li>URL(&amp;quot;http://xyz-aero.com/csdb/DMC-8H-A-29-10-05-01A-253A-C.atom&amp;quot;); </li></ul><ul><li>Document&lt;Feed&gt; doc = parser.parse(url.openStream(),url); </li></ul><ul><li>Feed feed = doc.getRoot(); </li></ul><ul><li>PrivateKey privateKey = ... </li></ul><ul><li>X509Certificate certificate = ... </li></ul><ul><li>Signature signature = abderaSecurity.getNewSignature(); </li></ul><ul><li>SignatureOptions options = signature.getDefaultSignatureOptions(); </li></ul><ul><li>options.setSigningKey(privateKey); </li></ul><ul><li>options.setCertificate(certificate); </li></ul><ul><li>feed = signature. sign (feed, options); </li></ul>
  • 30. Verifying a Signature with Apache Abdera <ul><li>ByteArrayInputStream feed = ... </li></ul><ul><li>Document&lt;Entry&gt; doc = abdera.getParser().parse(feed); </li></ul><ul><li>entry = doc.getRoot(); </li></ul><ul><li>System.out.println(&amp;quot;Valid signature?: &amp;quot; + signature. verify (entry, null)); </li></ul>
  • 31. Standardization with CMIS 1 AtomPub and SOAP bindings Not all deployed CMS will support CMIS. 2 Vanilla AtomPub client and server can be implemented easily with existing tools (e.g. Apache Abdera). 3 Interoperability issues between Vanilla AtomPub client and CMIS AtomPub server.
  • 32. Thank You ! [email_address]

×