Difference between revisions of "Best Practice for Designing a Rifidi APP"
From RifidiWiki
Line 26: | Line 26: | ||
**4 Define the read zones required - This defines the relations the readers/sensors have to each other within the application such as 1 to 1 relationship, 1 to many, many to 1 (Note The readzone configurations also support regular expressions in the event you use a naming convention when defining read adapters to potentially represent relationships - How to define readzones can be found in the [[Developer%27s_Guide | Developer's guide] | **4 Define the read zones required - This defines the relations the readers/sensors have to each other within the application such as 1 to 1 relationship, 1 to many, many to 1 (Note The readzone configurations also support regular expressions in the event you use a naming convention when defining read adapters to potentially represent relationships - How to define readzones can be found in the [[Developer%27s_Guide | Developer's guide] | ||
**5 Are there any application properties required? Such as database parameters, Queue Names, Webservice Endpoints/URL, Rifidi services parameters (timeouts, thresholds) -Note: All teh Rifidi Jumpstart Applications provide examples on how these are defined and used within an application | **5 Are there any application properties required? Such as database parameters, Queue Names, Webservice Endpoints/URL, Rifidi services parameters (timeouts, thresholds) -Note: All teh Rifidi Jumpstart Applications provide examples on how these are defined and used within an application | ||
− | + | ==Other Topics (Monitoring/Logging/Management)== | |
** Is there a need to Dynamically/Remotely manage the Edge Server such as stopping/starting sessions, configuring sensors, managing applications etc.. A list of how to use these Edge management services can be found [[Edge_Management | Edge Management]] | ** Is there a need to Dynamically/Remotely manage the Edge Server such as stopping/starting sessions, configuring sensors, managing applications etc.. A list of how to use these Edge management services can be found [[Edge_Management | Edge Management]] | ||
** Is there a need to Monitor the Edge Server such as JVM, Configured Readers/Sensors, OSGI, Applications (anything exposed via JMX). A list of how to use these Edge management services can be found [[Edge_Monitoring | Edge Monitoring]] | ** Is there a need to Monitor the Edge Server such as JVM, Configured Readers/Sensors, OSGI, Applications (anything exposed via JMX). A list of how to use these Edge management services can be found [[Edge_Monitoring | Edge Monitoring]] |
Revision as of 19:33, 26 August 2014
Here is an overview on the best practices for How to Approach designing a Rifidi Application
The Goal
First ask your self what is the goal of the application such as automation of a business process, increased productivity/efficiency, tracability of an asset, security, visibility into the supply chain etc..
Problems to be solved
Once you have a clearer understanding of the Goal then ask your self what problems are you looking to solve such as Asset Tracking, Inventory Control, Inventory Management, Automation of a business process through sensors/RFID, Work in Progress (WIP). Defnitions of these can be found in the business solutions offered by Transcends using the Rifidi Platform Transcends Sensor Business Solutions
Design
- What Hardware (readers and sensors) are you looking to use?
- Do these sensors come out of the box with Rifidi? (LLRP, Motorola, Impinj, Alien, ThingMagic, CSL, Thinkify, any handheld vis Generic Reader Adapter, Opticon Bar Code)
- Yes - Following the user's guide User's_Guide and/or quick start guide the sensor/reader adapter can be configured to start reading
- No - One can be developed using the Sensor API - How_to_create_a_sensor_plugin
- Do these sensors come out of the box with Rifidi? (LLRP, Motorola, Impinj, Alien, ThingMagic, CSL, Thinkify, any handheld vis Generic Reader Adapter, Opticon Bar Code)
- The Application Design - Basically a Rifidi APP has access to any configured sensor/reader
- 1 What are you integrating with? (Such as MySQL database, Messaging Queue, ERP/CRM system via WebServices, Cloud/AWS)
- Example Jumpstart Rifidi Applications for those integrations mentioned can be found here Rifidi APP Jumpstarts
- 2 Are there any library's being used NOT included by default in Rifidi? (such as database drivers (MYSQL is provided by default), cloud drivers etc..) How to Add Third_Party_Libraries
- 3 What are the sensor business rules such as asset have arrived/departed, a group of tags have been identified, which asset is seen based on signal (RSSI) strength - An example application for capturing has a asset arrived can be found in the HelloWorld Application.
- Are the business rules out of the box via Rifidi Services?
- Yes - A list of out of the box Rifidi Services addressing these design challenges can be found in the [[Developer's_Guide | Developer's guide] or Rifidi_Services_Jumpstart
- No - A custom business rule can be developed using Esper (Esper is a trademark of EsperTech Inc) An example of custom Esper to create a work in progress business rule can be found in the Northwind Example Application - Note: A more advanced topic once familiar with developing a basic application such as HelloWorld Application.
- 4 Define the read zones required - This defines the relations the readers/sensors have to each other within the application such as 1 to 1 relationship, 1 to many, many to 1 (Note The readzone configurations also support regular expressions in the event you use a naming convention when defining read adapters to potentially represent relationships - How to define readzones can be found in the [[Developer's_Guide | Developer's guide]
- 5 Are there any application properties required? Such as database parameters, Queue Names, Webservice Endpoints/URL, Rifidi services parameters (timeouts, thresholds) -Note: All teh Rifidi Jumpstart Applications provide examples on how these are defined and used within an application
- 1 What are you integrating with? (Such as MySQL database, Messaging Queue, ERP/CRM system via WebServices, Cloud/AWS)
Other Topics (Monitoring/Logging/Management)
- Is there a need to Dynamically/Remotely manage the Edge Server such as stopping/starting sessions, configuring sensors, managing applications etc.. A list of how to use these Edge management services can be found Edge Management
- Is there a need to Monitor the Edge Server such as JVM, Configured Readers/Sensors, OSGI, Applications (anything exposed via JMX). A list of how to use these Edge management services can be found Edge Monitoring
- Any additional logging needs can be configured here Rifidi Logging Configuration
- Any changes to Edger Server configuration such as changing default port, RMI, production mode Edge_Server_Configuration
- Are there any OSGI Bundles you need to add to Edge Server required by your application? such as the Oracle database driver How_to_add_OSGI_Bundles