This article will give you insight into how the B1UP Server Component work, in order for you to have a better understanding of what is going on and how to troubleshoot.
The B1UP Server Component is an optional install in addition to the B1 Usability Package if you wish to leverage the following features:
- Exchange Rates schedule
- B1 Print & Delivery Schedules
- File Exporter
- File Importer
- Master Data Manager Schedules
- Dynamic Code Runs
- Dashboard Schedules
- Mailchimp Contact Sync
- Lucene Search
The B1UP Server component is a standard Windows program that is installed on a Windows Server (normally either the database-server database (MSSQL) or a dedicated app server (bigger MSSQL setups or HANA)). There is as such no requirements other than that it needs to be able to reach the database server and have the needed requirements from the install guide included in the B1UP Download
You can see this video on how you install and configure the Server Component
The Server Component GUI and Wizard
Once installed you will have access to the Server Component overview, its Wizard that you use to set up the connections to the SAP Business One database(s) and the test-runner buttons.
2 Windows Services
The automated part of the Server Component is controlled by 2 Windows Services that ensure job can be run no matter if you are logged in or not.
The B1UP Server Component (Main) service is the orchestrator that makes sure the job runs on its indicated time and adds/removes/updates the schedules as you define them in the B1UP Add-on. It does this by checking all connected databases for changes every 10 seconds.
The B1UP Server Component (Server Layer) service is what controls the Lucene Search system. This server does not need to run if you do not use Lucene Search.
The 8 Job Component Runners
While the B1UP Server Component (Main) service ensures that jobs are run, it will actually never do any of the actual work itself.
Instead, when it is time to do some work (For example it is time to run once every 10 min. B1 Print & Delivery Schedule), it spins up the specific jobs Component Runner exe (all located in C:\Program Files\Boyum IT\B1UP Server component).
It is these exe files that do the actual work... This is done for 3 reasons:
- To allow multiple jobs of different types to run at the same time (better performance)
- To avoid any potential DI-API memory leaks
- To allow custom manual call of the components
So whenever a job is running, you will see a process like this in the task-manager
Data structure (Configuration and Schedules)
In order for the B1UP Server Component to run it requires 3 sets of data:
- The server configuration (defined in the server component GUI and stored in "C:\Program Files\Boyum IT\B1UP Server component\Configuration.xml")
- The Schedule information (Stored in table "@BOY_SBO_SCHEDULE" in each individual SAP database) [You should never change data manually in this table, only via the Schedule GUI unless instructed by Boyum Support]
- The actual data needed by the schedule (Example Invoice data to send Invoices via B1 Print & Delivery)
So there is as such no special data to back up (Server Configuration are normally re-setup on a new machine anyway)
Logs locations and what the different logs represent
All logs from the B1UP Server Component are located in the following folder: C:\Program Files\Boyum IT\B1UP Server component\Eventlog
There are 4 types of logs
- This is the main log for the B1UP Server Component (Main) service. It holds data on when the server component was started and stopped, when scheduled jobs were added/changed and when jobs started/completed. Below is an example of what you will find in the logs
- Remember this is the orchestration service so it will never hold details on how a job went.
- This is the Log of the Lucene Search, so any info or errors related to that is located in this file
- This is the log of the Server Component GUI, so any info or errors related to the GUI is located in this file
- Job-specific Logs
- The rest of the logs in the folder are specific to the individual Jobs... They have the following format: <Type>_<Schedulename>_<Databasename>.txt. Logs for the jobs will only appear if there are any errors found along the way.
In order for the logs to not become too big, they auto-split once they are 1 MB in size, so you might see something like this in a long-running system
The ServerComponent.txt is always the log with the latest entries, so when sending log you might only need to send that one.
Emails from the server component (and Event Viewer fallback)
In the Server Component Wizard, it is possible to set up Email information. It is highly recommended that you do so, as we from experience from support have seen many confused partners with issues, that would have been trivial to understand had the error-email system been set up.
What you set up here will not be used to send example emails via B1 Print and Delivery itself (that is controlled in the Report Action Email)...
It is only used in case of issues with the server Component itself or errors/success of a schedule
Should you go against our recommendation of setting up emailing, you will not be notified of any errors and instead, you need to check the logs and/or the Windows Event Viewer that is used as a fallback if emails can't be sent