Hi all,
I am trying to write an SDK adapter for BO Dataservices (4.1 / 4.2). To explain, the source is unstructured JSON and then converted into XML with additional information merge etc.
I am missing a code template to provide all the calls to the BO Dataservices designer. I only have the following in the documentation.
Would someone have an existing template? Please post
Thank you,
Denis
Data Services supports five metadata types that can be processed from or sent to the adapter
- operation. We chose “Documents” for XML:
• Documents
There are three ways to trigger the adapter start process– we chose “Upon Designer or engine request”.
• Automatically — When "Autostart" is set to true and the Data Services Designer is started.
• Manually — Start from the Administrator.
•Upon Designer or engine request— When a job or real-time service starts (if not already started
manually or automatically).
• Binds together adapter components
The adapter is considered "started" after the Adapter component instance binds together all otheradapter component instances (the start() method is executed).
After it is created and before it is destroyed, the Adapter component can be referenced by operationsand other components within the adapter container.
• Individual operation instances can access the Adapter component as needed using the
getAdapter() method defined in the OperationEnvironment interface.
• For metadata browsing, metadata import, and session instances, the reference is passed as a
parameter of the initialize() method.
• Stops the adapter instance
When we stop an adapter, we tell the adapter driver to destroy the Adapter component instance.
An adapter instance is triggered to stop when:
• The adapter is stopped or aborted from the Administrator.
• The Adapter SDK encounters an unrecoverable error.
• The associated Data Services service is stopped.
The basic requirement for all adapter components is compliance with the JavaBeans standard regarding “Properties” and
“Introspection” specifications.
Calls the myAdapter.start() method to start adapter processing. This method is called to connect
and initialize all necessary adapter-wide resources after all properties are set.
Under Adapter SDK control, the adapter processes data for the adapter operation, metadata browsing,
and metadata import. All these objects reference the Adapter component.
- 4. Calls the myAdapter.stop() method when the adapter is being shut down or aborted. You must
close resource connections and de-initialize the adapter.
You want to create multiple adapter datastores for the same running adapter instance. The Session
component (or session object) supports a Data Services user's ability to create multiple datastores
for the same adapter instance. Different adapter datastores using the Session component can have
different properties configured for the same datastore. YES
The Adapter SDK presents Data Services metadata with objects instantiated from the classes of the
- com.acta.metadata package.
Use classes derived from the Adapter SDKAWMetadata super class to create Data Services metadata:
“AWDocumentMetadata” “Document”“Document Source or Document Target”
Because functions must both input and output XML, you must use two DTD strings for the
AWFunctionCallMetadata and AWMessageFunctionCallMetadata functions.
The Adapter SDK accepts DTD strings in both DTD and XML formats. However, when a DTD string is
defined in DTD format, the DTD root element must be defined. For example:
<!ELEMENT Identifier (#PCDATA)>
<!ELEMENT BusinessDescription (#PCDATA)>
<!ELEMENT PhysicalAddress (#PCDATA)>
<!ELEMENT shipTo (BusinessDescription,PhysicalAddress)>
<!ELEMENT OrderQuantity (#PCDATA)>
<!ELEMENT ProductLineItem (OrderQuantity,Identifier,shipTo?)>
<!ELEMENT CreditCard (#PCDATA)>
<!ELEMENT DebitCard (#PCDATA)>
<!ELEMENT formOfPayment (CreditCard|DebitCard)>
<!ELEMENT PurchaseOrder
(Identifier,shipTo?,ProductLineItem*,formOfPayment?)>
Public boolean isDocuments() Returns true if metadata import can return the AWDocumentMetadata object.
public class MyImportByName implements ImportByName {
private String tableName ;
public String getTableName() {
return tableName };
public void setTableName (string s ) {
tableName=s};
private String ownerName ;
public String getOwnerName() {
return ownerName };
public void setOwnerName (string s ) {
ownerName = s};
}
What other interfaces are required and is there a code template somewhere ?