| Both sides previous revision Previous revision Next revision | Previous revision |
| docs:3400_how_to:0900_other_systems [2026/03/31 06:24] – aware_support3 | docs:3400_how_to:0900_other_systems [2026/07/06 07:40] (current) – aware_admin |
|---|
| ====== Integration With Other Systems ====== | ====== Integration With Other Systems ====== |
| | ===== How To... ===== |
| |
| {{simplenavi>docs:3400_how_to:0900_other_systems}} | {{simplenavi>docs:3400_how_to:0900_other_systems}} |
| |
| <accordion id="integration" collapsed="true"> | <accordion id="integration" collapsed="true"> |
| <panel type="primary" title="use existing database tables">This is explained in detail in the “[[docs:2500_config_apps:2300_external_sys_ldap|Working with Data Stored in Existing Database Tables]]” section. | <panel type="primary" title="Use existing database tables">This is explained in detail in the “[[docs:2500_config_apps:2300_external_sys_ldap|Working with Data Stored in Existing Database Tables]]” section. |
| </panel> | </panel> |
| <panel type="primary" title="use data from several existing database tables"> | <panel type="primary" title="Use data from several existing database tables"> |
| Sometimes you may want to connect to existing database tables but display data from several existing database table in a single query. With normal //**AwareIM**// objects you can do it using shortcuts. With existing database tables you can also define a “normal” //**AwareIM**// object that would have references to different objects stored in the existing database tables and then define shortcuts to different attributes in these objects. | Sometimes you may want to connect to existing database tables but display data from several existing database table in a single query. With normal //**AwareIM**// objects you can do it using shortcuts. With existing database tables you can also define a “normal” //**AwareIM**// object that would have references to different objects stored in the existing database tables and then define shortcuts to different attributes in these objects. |
| |
| A better approach, however, is to define a view in the existing database that would select data from different tables, and then create a special //**AwareIM**// object that would point to this view.</panel> | A better approach, however, is to define a view in the existing database that would select data from different tables, and then create a special //**AwareIM**// object that would point to this view.</panel> |
| |
| <panel type="primary" title="integrate a credit card payment system"> | <panel type="primary" title="Integrate a credit card payment system"> |
| Many credit card payment systems, such as PayPal, require that your web site communicate with them via a particular URL. Whenever your web site needs to perform credit card payment the users need to click on the link with this URL, which will bring them to the web site of the credit card payment system. As part of the URL that your web site supplies to the credit card payment system you must also specify the URL that the credit card payment web site will use to return to your web site upon successful or un-successful completion of the payment. | Many credit card payment systems, such as PayPal, require that your web site communicate with them via a particular URL. Whenever your web site needs to perform credit card payment the users need to click on the link with this URL, which will bring them to the web site of the credit card payment system. As part of the URL that your web site supplies to the credit card payment system you must also specify the URL that the credit card payment web site will use to return to your web site upon successful or un-successful completion of the payment. |
| |
| - Define a process that will initialize the instance of the business object representing parameters of the payment (for example, PayPalPayment) request the service using the ''[[a_f:a:request_service|REQUEST SERVICE]]'' action, for example:<code aim>CREATE PayPalPayment WITH PayPalPayment.amount=100, ... | - Define a process that will initialize the instance of the business object representing parameters of the payment (for example, PayPalPayment) request the service using the ''[[a_f:a:request_service|REQUEST SERVICE]]'' action, for example:<code aim>CREATE PayPalPayment WITH PayPalPayment.amount=100, ... |
| REQUEST SERVICE ProcessPayment of PayPalSystem USING PayPalPayment </code> | REQUEST SERVICE ProcessPayment of PayPalSystem USING PayPalPayment </code> |
| - Define a menu item that will start the above process – see the “[[docs:2500_config_apps:1500_add_edit_vp:0100_working_with_vp_editor:0500_defining_layout_of_content_panels:1100_setting_menu_item_props|Setting Menu Item Properties]]” section. Alternatively you can set up a form operation or a hyperlink on some presentation to start the process – see the “[[docs:2500_config_apps:0500_add_edit_objects:0200_defining_forms:0500_operations:0150_add_operations|Adding/Editing Form Operations]]” and “[[docs:2000_concepts:0700_data_presentation:0200_query_results_custom#hyperlinks|Hyperlinks]]”. When the process starts //**AwareIM**// will navigate to the web site of the payment system. After the payment has been completed the web site of the credit card payment system will return to the //**AwareIM**// system (//**AwareIM**// will automatically display whether the payment request has been fulfilled). | - Define a menu item that will start the above process – see the “[[docs:2500_config_apps:1500_add_edit_vp:0100_working_with_vp_editor:0500_defining_layout_of_content_panels:1100_setting_menu_item_props|Setting Menu Item Properties]]” section. Alternatively you can set up a form operation to start the process – see the “[[docs:2500_config_apps:0500_add_edit_objects:0200_defining_forms:0500_operations:0150_add_operations|Adding/Editing Form Operations]]” and “[[docs:2000_concepts:0700_data_presentation:0200_query_results_custom#hyperlinks|Hyperlinks]]”. When the process starts //**AwareIM**// will navigate to the web site of the payment system. After the payment has been completed the web site of the credit card payment system will return to the //**AwareIM**// system (//**AwareIM**// will automatically display whether the payment request has been fulfilled). |
| </panel> | </panel> |
| | <panel type="primary" title="Expose a web-service - REST-ful or SOAP"> |
| <panel type="primary" title="communicate with another software system"> | //**AwareIM**// will automatically expose the services you configure for your system as web services, so that other software systems or web sites can use them – see the “[[docs:2500_config_apps:2000_add_edit_services|Adding/Editing Services]]” section. //**AwareIM**// can expose a service either as SOAP or REST-ful web service (or both) |
| This is explained in the “[[docs:2000_concepts:0900_prod_feats:0300_comm_with_other_systems|Communication with Other Systems]]” section.</panel> | |
| <panel type="primary" title="communicate with a hardware device"> | |
| This is explained in the “[[docs:2000_concepts:0900_prod_feats:0300_comm_with_other_systems|Communication with Other Systems]]” section. | |
| </panel> | |
| | |
| <panel type="primary" title="expose a web-service"> | |
| //**AwareIM**// will automatically expose the services you configure for your system as web services, so that other software systems or web sites can use them – see the “[[docs:2500_config_apps:2000_add_edit_services|Adding/Editing Services]]” section. | |
| </panel> | |
| | |
| <panel type="primary" title="expose a REST-ful service"> | |
| //**AwareIM**// can expose a service you configure either as a SOAP-based web service or as a REST-ful service or both. For REST-ful services exposed by AwareIM applications that need to call the service need to call a particular URL using the HTTP protocol. This URL should include the AwareIM server name and port where Tomcat listens to requests and also the name of the service to be called and parameters. The default URL where AwareIM will listen to REST-ful requests has the following format: | |
| | |
| http://ServerName:ServerPort/AwareIM/REST/BusinessSpace/ServiceName?parameters | |
| | |
| Parameters are specified as paramName1=paramValue1¶mName2=paramValue2&... | |
| | |
| Where paramName1, paramName2 etc are names of the attributes of a business object that is specified as input to the process implementing the service. | |
| | |
| You can also specify your own custom URL in which case you also need to supply a file called rest.props | |
| All the details are explained in the “[[docs:2500_config_apps:2000_add_edit_services|Adding/Editing Services]]” section. | All the details are explained in the “[[docs:2500_config_apps:2000_add_edit_services|Adding/Editing Services]]” section. |
| </panel> | </panel> |
| |
| <panel type="primary" title="consume a REST-ful service"> | <panel type="primary" title="Consume a web service - REST-ful or SOAP"> |
| To do this you need to define an intelligent business object by defining the REST communication channel with the object. This is described in the “[[docs:2500_config_apps:0500_add_edit_objects:0600_intelligent_bo|Defining Intelligent Business Objects]]” section. | If you want to use an existing web service implemented as REST or SOAP then you need to do the following: |
| </panel> | - Define an intelligent business object representing the web site exposing the web service – see the “[[docs:2500_config_apps:0500_add_edit_objects:0600_intelligent_bo|Defining Intelligent Business Objects]]” section. |
| | - Define REST or SOAP communication channels for this object as explained in the “[[docs:2500_config_apps:0500_add_edit_objects:0600_intelligent_bo:0100_setup_soap|Setting Properties of SOAP Channel]]” and “[[docs:2500_config_apps:0500_add_edit_objects:0600_intelligent_bo:0100_setup_soap|Setting Properties of SOAP Channel]] sections |
| <panel type="primary" title="use a web-service"> | |
| If you want to use an existing web service exposed by some web site then you need to do the following: | |
| | |
| - Define an intelligent business object representing the web site exposing the web service with System intelligence type – see the “[[docs:2500_config_apps:0500_add_edit_objects:0600_intelligent_bo|Defining Intelligent Business Objects]]” section. | |
| - Define the SOAP channel as the default channel for this object. Specify the URL where the WDSL file describing the web service is exposed as the property of the channel – see the “[[docs:2500_config_apps:0500_add_edit_objects:0600_intelligent_bo:0100_setup_soap|Setting Properties of SOAP Channel]]” section (alternatively ask the web service provider for the WSDL file, copy this file to a local file system and specify the URL to this, file, for example: ''file:%%/%%/c:/temp/lookup.wsidl''). | |
| - Discover services of the business object – see the “[[glossary:discovering_services|Discovering Services]]” section. The web service you want to use should appear in the list of services exposed by the object. | |
| - Define a rule that will request the service of the business object using the ''[[a_f:a:request_service|REQUEST SERVICE]]'' action. | - Define a rule that will request the service of the business object using the ''[[a_f:a:request_service|REQUEST SERVICE]]'' action. |
| </panel> | </panel> |
| |
| <panel type="primary" title="register AwareIM application in Facebook"> | <panel type="primary" title="Register AwareIM application in Facebook"> |
| In order to allow users to login via Facebook you need to register your AwareIM application with Facebook. In order to do this: | In order to allow users to login via Facebook you need to register your AwareIM application with Facebook. In order to do this: |
| |
| </panel> | </panel> |
| |
| <panel type="primary" title="register AwareIM application in Twitter"> | <panel type="primary" title="Register AwareIM application in Twitter"> |
| In order to allow users to login via Twitter you need to register your AwareIM application with Twitter. In order to do this: | In order to allow users to login via Twitter you need to register your AwareIM application with Twitter. In order to do this: |
| |
| </panel> | </panel> |
| |
| <panel type="primary" title="register AwareIM application in Google"> | <panel type="primary" title="Register AwareIM application in Google"> |
| In order to allow users to login via Google you need to register your //**AwareIM**// application with Google. In order to do this: | In order to allow users to login via Google you need to register your //**AwareIM**// application with Google. In order to do this: |
| |