Behind the tech: How does the B1UP Server Component Work

  • Updated

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.

Purpose

The B1UP Server Component is an optional install in addition to the B1 Usability Package if you wish to leverage the following features:

Installation

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.

mceclip2.png

mceclip3.png

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.

mceclip1.png

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).

Job

Component exe

Exchange Rates schedule

ExchangeRateComponent.exe

B1 Print & Delivery Schedules

B1PrintComponent.exe

File Exporter

UFFE.exe

File Importer

UFFI.exe

Master Data Manager Schedules

MasterDataManagerComponent.exe

Dynamic Code Runs

DynamicCode.exe

Dashboard Schedules

DashboardComponent.exe

Mailchimp Contact Sync

B1MailChimpComponent.exe

It is these exe files that do the actual work... This is done for 3 reasons:

  1. To allow multiple jobs of different types to run at the same time (better performance)
  2. To avoid any potential DI-API memory leaks
  3. 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

mceclip5.png

Data structure (Configuration and Schedules)

In order for the B1UP Server Component to run it requires 3 sets of data: 

  1. The server configuration (defined in the server component GUI and stored in "C:\Program Files\Boyum IT\B1UP Server component\Configuration.xml")mceclip6.png
  2. 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]mceclip7.png
  3. 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

mceclip8.png

There are 4 types of logs

  1. ServerComponent.txt
    • 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
    • mceclip9.png
    • Remember this is the orchestration service so it will never hold details on how a job went.
  2. Main.ServerLayer.txt
    • This is the Log of the Lucene Search, so any info or errors related to that is located in this file
  3. Configuration.txt
    • This is the log of the Server Component GUI, so any info or errors related to the GUI is located in this file
  4. 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

mceclip10.png

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

mceclip11.png

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

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.