1 / 33

How to Write an Adaptor

How to Write an Adaptor. Kelly Davis and Tom Gooldale. kdavis@aei.mpg.de and goodale@aei.mpg.de. AEI-MPG. Outline. Introduction Cpi Classes File Management Collection Management Resource Management Peer-to-Peer Interaction Job Management Implementing a Provider

Download Presentation

How to Write an Adaptor

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. How to Write an Adaptor Kelly Davis and Tom Gooldale kdavis@aei.mpg.de and goodale@aei.mpg.de AEI-MPG

  2. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  3. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  4. Introduction What is an Adaptor? An adaptor is a software component which adapts the interface of a one software component to the interface expected by a second software component.

  5. Introduction What is an Adaptor? An adaptor is a software component which adapts the interface of a one software component to the interface expected by a second software component.

  6. Introduction How are Adaptors used in GAT? • GAT =Client • CPIClass =Target • GATAdaptor =Adaptor • GATAdaptee =Adaptee

  7. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  8. Cpi Classes What are Cpi Classes? CpiClasses are abstract classes that present to GAT a well defined interface and thus allow for the existence of GATAdaptors

  9. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  10. File Management • FileCpi • LogicalFileCpi FileCpi - Abstract class that one must extend to provide the File capability. LogicalFileCpi - Abstract class that one must extend to provide the LogicalFile capability.

  11. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  12. Collection Management • CollectionCpi CollectionCpi - Abstract class that one must extend to provide the Collection capability.

  13. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  14. Resource Management • ResourceBrokerCpi ResourceBrokerCpi - Abstract class that one must extend to provide the ResourceBroker capability.

  15. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  16. Peer-to-Peer Interaction • StreamCpi StreamCpi - Abstract class that one must extend to provide the Stream capability.

  17. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  18. Job Management • SimpleJobCpi • CheckpointableSimpleJobCpi SimpleJobCpi - Abstract class that one must extend to provide the SimpleJob capability. checkpointableSimpleJobCpi - Abstract class that one must extend to provide the CheckpointableSimpleJob capability.

  19. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  20. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  21. Implement the CPI Functions

  22. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  23. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  24. Standard Attributes Manifest-Version Created-By Extension-Name Implementation-Title … GAT Attributes FileCpi-class FileCpi-schema Create Manifest: Java Manifest-Version: 1.0 Created-By: 1.4.1_01 (Apple Computer, Inc.) Extension-Name: org.gridlab.gat.adaptors.file Implementation-Title: MyFirstAdaptor Implementation-Version: 1.0 Implementation-Vendor: GridLab Implementation-Vendor-Id: org.gridlab Implementation-URL: http://www.gridlab.org/file.jar Sealed: true FileCpi-class: org.gridlab.gat.adaptors.file.MyFileCpi FileCpi-schema: httpg

  25. Standard Attributes Manifest-Version Created-By Extension-Name Implementation-Title … GAT Attributes GAT-SO GAT-FileCpi-Constructor GAT-FileCpi-Equals … Create Manifest: C Manifest-Version: 1.0 Created-By: 1.4.1_01 (Apple Computer, Inc.) Extension-Name: MyFileCpi Implementation-Title: MyFirstAdaptor Implementation-Version: 1.0 Implementation-Vendor: GridLab Implementation-Vendor-Id: org.gridlab Implementation-URL: http://www.gridlab.org/file.jar FileCpi-schema: httpg GAT-SO: file.so GAT-FileCpi-Constructor: MyFileCpi_Constructor GAT-FileCpi-Equals: MyFileCpi_Equals …

  26. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  27. Jar Manifest and Shared Object • Java • C >ls MANIFEST.MF org >jar cmf MANIFEST.MF file.jar org/ >ls MANIFEST.MF file.so >jar cmf MANIFEST.MF file.jar file.so

  28. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  29. Sign the jar • Java and C >jarsigner file.jar kdavis

  30. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  31. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

  32. Install the Signed jar • Java • C lib/ext [in the JRE] jre/lib/ext [in the Java 2 SDK] lib/ext [in the GAT install dir]

  33. Outline • Introduction • Cpi Classes • File Management • Collection Management • Resource Management • Peer-to-Peer Interaction • Job Management • Implementing a Provider • Implement the Cpi functions • Create a shared object • Create a Manifest • Jar the Manifest and shared object • Sign the jar • Integrating a Provider • Install the signed jar • Off to the races!

More Related