Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 4 Current »

 Click here to expand...
 Main system components

BEST (Bullet Education Scheduling and Timetabling) is a Microsoft-based client-server system, composed of two different applications:

  • Bullet TimeTabler: automatic planning of timetable solutions / automatic scheduling of course schedules.

  • Bullet Calendar: Daily management of all the institution's activities (classes and other events).

These applications can be installed on one or several Microsoft Windows workstations. Multiple users can access any workstation with different permissions or have levels of access to certain forms and features.

Main components of each application:

  • Microsoft SQL Server Database:

    • Bullet TimeTabler database

    • Bullet Calendar database

  • Client Applications - binary files as Windows Forms client application:

    • Bullet TimeTabler application

    • Bullet Calendar Application

  • Microsoft IIS Web Service - communication services between client application and database:

    • Bullet TimeTabler Web Service

    • Bullet Calendar Web Service


 Component installation and communication

Applications communicate with the database through the IIS web service on a port to be defined, for example, ports 8080 or 8081.

The web service of each of the applications communicates with its respective database through the classes of data access. The connection string for the database must be defined in the "web.config" file for each of the web services.

Note: the figure shows a clear separation of layers: data, services, customer / front-end.

With this suggestion, it is only intended to demonstrate the possibility of separating all layers of the system, and it is also possible to install multiple layers on the same computer. Example: server with SQL Server and IIS.

Within the types of implementation demonstrated there are two typical possibilities, with their advantages and disadvantages.

2.1 Server - Client (Workstation)

The installation of the database and Web service is done on a computer (server) without the need for major technical requirements at the server level, as these are light and have little impact on other resources.

Installation of client applications (Windows Forms) on several computers: the workstation computer that will generate the schedules should have significant capacities, not only in terms of RAM, CPU, but also in terms of the quality of the workstation's connection to the server.

In the event of version updates, Bullet Solutions has access to the server or requires IT Services to conduct the update process (simply replace files and run scripts in the database).

Benefits:

  1. Processing is spread over several computers (clients) and does not overload the server, so there is no need to allocate a server with large computing capacities.

  2. Better user experience when software is controlled directly from a Windows application (instead of being used inside other windows - see point 2.2).

Disadvantages:

  1. installation (1st time) on multiple computers; computers (client) need to have good processing power and high RAM for generating schedules;

  2. Need for a good network connection from workstations to the server (both upload and download), since the amount of data that is transferred between client and server is considerable.

2.2 Multiple Remote Accesses via Windows Remote Desktop (RDP)

Install all layers on the same virtual server dedicated exclusively to this process. All users (and Bullet Solutions) have remote access to the application via RDP - Windows Remote Desktop (remote desktop), multiple instances are launched from the same application.

Minimum requirements: 8GB RAM.

Benefits:

  1. Faster installation process (1st time); the entire system in a single dedicated computer; faster updates and no entropy;

  2. There is no need to ensure a good network connection from the workstations to the server, since the exchange of data between application and database is done locally, on the server.

Disadvantages:

  1. Computer overload with multiple clients and Microsoft “Terminal Services” license required so that multiple users can access the application simultaneously;

  2. User experience / work via RDP may not be very comfortable from the user's point of view, since he is working in a window, inside a window, with no possibility of easily moving between the application and other applications on his computer (Excel, Internet, etc.). Probable need to use two monitors.


 Minimum system requirements

 BTT/BC

SERVER

Suggested policies:

  • Ideally, provide a unique VM for the software

  • Setup a database backup plan

  • Provide permanent access to the machine through TeamViewer / Anydesk / RDP

  • Allow HTTPS access to Bullet License Manager Server web address: https://api.bsol.me/

Main hardware requirements:

  • Hard drive minimum free space: 50 GB

  • Minimum RAM: 16GB

Minimum main software requirements:

  • Operating System: Windows Server 2016 / Windows 10

  • Database:

    • Engine: Microsoft SQL Server 2017 (it can be the Express version)

    • Collection: Latin1_General_CI_AS

    • Interface: Management Studio

  • Web Services

    • IIS - Microsoft Internet Information Services 8.5 (or later)

  • .NET Framework 4.8

  • .NET Core 3.1

Other software requirements:

  • Notepad ++

  • 7zip

  • TELNET

  • Postman

  • Windows features:

CLIENTS / WORKSTATIONS

Main hardware requirements:

  • Hard drive minimum free space: 1 GB

  • RAM memory: 4GB (or higher)

Main software requirements:

  • Operating System: Microsoft Windows 10

  • Framework .NET 4.8

 BEST

SERVER

Note: It is also necessary to have all BTT/BC requirements.

For greater operational flexibility without interfering with the Production Environment, a Development/Test Environment must also be implemented.

Main software requirements:

  • ASP .NET CORE 8 Hosting Bundle.

  • SSL certificates(pfx-):

  • Authentication: This application suite supports two authentication methods;

    • User Authentication(Communication between users and machines.)

      • There are two types of authentication:

        • Local Authentication: Accounts are created and used in Identity Server directly.

        • External Authentication: Using external IDPs for authentication (eg Facebook, Google, Microsoft, etc.).

          • Parameters necessary for the order:

            • Grant Type: Implicit

            • Client Id: Client Id configured in Identity Server;

            • Scope: openid profile email phone bestlegacy_api_scope notifications_api_scope identityServer_scope

    • Client Authentication(Communication between machines)

      • It implies that there is no interaction with the User, implying that authentication is done automatically, via the client's request for a token.Parameters necessary for the order:

        • Grant Type: Client Credentials
          Client Id: IClient Id configured in Identity Server;
          Client Secret: Identity Server password configuration;
          Scope: bestlegacy_api_scope notifications_api_scope;

  • Email account settings that will serve as the sender for user notifications:

    • SMTP Address (outgoing mail server);

    • Username / email;

    • Password;

    • Port Number: 587

    • SSL, TLS, and STARTTLS

    • SMTP Authentication: ON/OFF


 Entry information / Import information

Academic data can be imported into the application by two alternative methods.

Simple files

  • XML: consists of structuring the required information in specific XML files, which the application will import.

  • XLS: consists of structuring and filling Excel files with the required information.

Other information such as teachers' time restrictions can be imported through a web page with LDAP / Active Directory Authentication.

Input information

  • General data

    • Scientific Areas.

    • Faculty Category

    • Bond of Teachers

    • Typology of Classes

    • Zones

    • Buildings

    • Flooring

    • Room Features

  • Curriculum

    • Courses

    • Curriculum Plans

    • Subjects

  • Entities

    • Rooms

    • Groups

    • Faculty

  • Lessons

    • Weekly charges

    • Distribution of Teaching Service

  • Restrictions

    • Light restrictions or objectives

    • Strict restrictions or rules


 Output Information / Export Information

Academic events and data can be transferred to other information systems using two alternative methods:

  • Simple files

    • XML / CSV / Others - relevant information, such as events and allocated resources.

  • HTML

    • Creation of HTML pages for timetables for each resource (classrooms, teachers and classes) and curricular schedules (courses, programs, etc ...) for quick publication on the Institution's website.

  • Email

    • Instant email to all teachers (individual schedules) for their individual emails.

  • Real-time access

    • Web Services / API:

      • Teaching Hours

      • Classroom Hours

      • Curricular Program Schedule

      • Occupation of Spaces

      • Holes in the times of the spaces

      • Holes in class schedules

      • Teachers' Workload

      • Dossier Module

      • Others…

  • SQL View:

    • Real-time access to relevant information, such as events and allocated resources.

    • Real-time display of schedules on the institution's specific website.

 ES-Implementación técnica
 Componentes principales del sistema

BEST (Bullet Education Scheduling and Timetabling) es un sistema cliente-servidor basado en Microsoft, compuesto por dos aplicaciones distintas:


▪ Bullet TimeTabler: planificación automática de soluciones de horarios / programación automática de
horarios de los cursos.
▪ Bullet Calendar: Gestión diaria de todas las actividades de la institución (clases y otros eventos).


Estas aplicaciones se pueden instalar en una o varias estaciones de trabajo de Microsoft Windows. Múltiplos
usuarios pueden acceder desde cualquier estación de trabajo con diferentes permisos, o tener niveles de acceso, ciertas formas y características.

Componentes principales de cada una de las aplicaciones:

  • Base de datos de Microsoft SQL Server:

    • Base de datos Bullet TimeTabler

    • Base de datos de Bullet Calendar

  • Aplicaciones cliente: archivos binarios como aplicación cliente de Windows Forms:

    • Aplicación Bullet TimeTabler

    • Aplicación Bullet Calendar

  • Servicio web Microsoft IIS: servicios de comunicación entre la aplicación cliente y la base de datos:
    ➢ Servicio web Bullet TimeTabler
    ➢ Servicio web Bullet Calendar


 Instalación y comunicación de componentes

Las aplicaciones se comunican con la base de datos a través del servicio web IIS en un puerto a definir, por ejemplo,puertos 8080 o 8081.


El servicio web de cada aplicación se comunica con su respectiva base de datos a través de las clases acceso a los datos. El string de conexión para la base de datos debe estar definida en el archivo "web.config"cada uno de los servicios web.

Nota: la figura muestra una clara separación de capas: datos, servicios, cliente / front-end.
Con esta sugerencia, solo se pretende demostrar la posibilidad de separar todas las capas del sistema, también es posible instalar múltiples capas en la misma computadora. Ejemplo: servidor con SQL Server e IIS.
Dentro de los tipos de implementación demostrados hay dos posibilidades típicas, con sus
ventajas y desventajas.

2.1 Servidor - Cliente (estación de trabajo)

La instalación de la base de datos y el servicio web se realiza en una computadora (servidor) sin necesidad de altos requisitos técnicos a nivel de servidor, ya que son ligeros y tienen poco impacto
en otros recursos.
Instalación de aplicaciones cliente (Windows Forms) en varias computadoras: la computadora de la estación de trabajo que hará la generación de horarios debe tener capacidades significativas, no solo en términos de RAM, CPU, sino también la calidad de la conexión desde la estación de trabajo al servidor.

En el caso de una actualización de la versión, Bullet Solutions tiene acceso al servidor o requiere el
IT para llevar a cabo el proceso de actualización (simplemente reemplazando archivos y ejecutando scripts en el base de datos).


Beneficios:

  1. El procesamiento se distribuye entre varios equipos (clientes) y no sobrecarga el servidor.
    por lo que es necesario asignar un servidor con grandes capacidades informáticas.

  2. Mejor experiencia de usuario cuando el software se controla directamente desde una aplicación
    Ventanas (en lugar de utilizarse dentro de otras ventanas, consulte el punto 2.2).

Desventajas:

  1. Instalación (primera vez) en varias computadoras; las computadoras (cliente) deben tener un bueno procesamiento y alta RAM para generar horarios;

  2. Necesidad de una buena conexión de red desde las estaciones de trabajo al servidor (tanto de carga como descarga), ya que la cantidad de datos que se transfieren entre el cliente y el servidor es considerable.

2.2 Múltiples accesos remotos a través de Windows Remote Desktop (RDP)


Instale todas las capas en el mismo servidor virtual dedicado exclusivamente a este proceso. Todos los usuarios (y Bullet Solutions) tienen acceso remoto a la aplicación a través de RDP - Windows Remote Desktop (escritorio remoto), se inician varias instancias desde la misma aplicación.
Requisitos mínimos: 8 GB de RAM.


Beneficios:

  1. Proceso de instalación más rápido (primera vez); todo el sistema en una sola computadora dedicada;
    actualizaciones más rápidas y sin entropía;

  2. No es necesario garantizar una buena conexión de red desde las estaciones de trabajo al servidor, un
    ya que el intercambio de datos entre la aplicación y la base de datos se realiza localmente, en el servidor.

Desventajas:

  1. Se requiere una sobrecarga del equipo con varios clientes y una licencia de "Servicios de terminal" de Microsoft para que múltiples usuarios acceder a la aplicación simultáneamente;

  2. La experiencia de trabajar con RDP puede no ser muy cómoda desde el punto de vista de
    usuario, ya que está trabajando en una ventana, dentro de una ventana, sin posibilidad de hacer una transición sencilla entre la aplicación y otras aplicaciones de su computadora (Excel, Internet, etc.).
    Probable necesidad de utilizar dos monitores.


 Requerimientos mínimos del sistema
Unable to render {include} The included page could not be found.

 Información de entrada / Información de importación

Los datos académicos se pueden importar a la aplicación mediante dos métodos alternativos.


Archivos simples:

  • XML: consiste en estructurar la información requerida en archivos XML específicos, que el la aplicación se importará.

  • XLS: consiste en estructurar y llenar archivos de Excel con la información necesario.


Otra información, como las restricciones de tiempo del profesor, se puede importar a través de una página.
web con autenticación LDAP / Active Directory.


Información de entrada:

  • Datos generales

    • Áreas científicas.

    • Categoría de profesor

    • Vinculo de profesores

    • Tipología de aulas

    • Zonas

    • Edificios

    • Pisos

    • Características de las aulas

  • Plan de estudios

    • Cursos

    • Planes curriculares

    • Asignaturas

  • Entidades

    • Aulas

    • Grupos

    • Docentes

  • Lecciones

    • Cargas semanales

    • Distribución del servicio docente

  • Restricciones

    • Leves restricciones o objetivos

    • Restricciones o reglas estrictas


 Información de salida / Información de exportación

Los eventos y datos académicos se pueden transferir a otros sistemas de información a través de dos
metodos alternativos:

  • Archivos simples:

    • XML / CSV / Otros: información relevante, como eventos y recursos asignados.

  • HTML:

    • Creación de páginas HTML de horarios para cada entidad (aulas, profesores y grupos)
      y horarios curriculares (cursos, programas, etc.) para una rápida publicación en el sitio web
      de la Institución.

  • Correo electrónico

    • Correo electrónico instantáneo a todos los maestros (horarios individuales) para sus correos electrónicos individuales.

  • Acceso en tiempo real

    • Servicios web / API:
      ✓ Horas de enseñanza
      ✓ Horario del aula
      ✓ Horario del programa curricular
      ✓ Ocupación de espacios
      ✓ Agujeros en el horario de apertura de los espacios
      ✓ Agujeros en los horarios de clases
      ✓ Carga de trabajo de la facultad
      ✓ Módulo de expediente
      ✓ Otros ...

  • Vista SQL:
    ✓ Acceso en tiempo real a información relevante, como eventos y recursos asignado.
    ✓ Visualización en tiempo real de horarios en el sitio web específico de la institución.

 Click here to expand...
 Principais componentes do sistema

BEST (Bullet Education Scheduling and Timetabling) é um sistema cliente-servidor de base Microsoft, composto por duas aplicações diferentes:

  • Bullet TimeTabler: planeamento automático de soluções de horários / agendamento automático de horários de cursos.

  • Bullet Calendar: Gestão diária de todas as atividades da instituição (aulas e outros eventos).

Estas aplicações podem ser instaladas em um ou vários postos de trabalho Microsoft Windows. Múltiplos utilizadores podem aceder de qualquer posto de trabalho com diferentes permissões ou ter níveis de acesso a certos formulários e características.

 

 Principais componentes de cada uma das aplicações:

  • Base de Dados Microsoft SQL Server:

    • Base de dados Bullet TimeTabler

    • Base de dados Bullet Calendar

  •   Aplicações Cliente – arquivos binários como aplicação cliente Windows Forms:

    • Aplicação Bullet TimeTabler

    • Aplicação Bullet Calendar

  • Serviço Web Microsoft IIS – serviços de comunicação entre aplicação cliente e base de dados:

    • Serviço Web Bullet TimeTabler

    • Serviço Web Bullet Calendar


 Instalação e comunicação de componentes

As aplicações comunicam com a base de dados através do serviço web IIS numa porta a definir, por exemplo, portas 8080 ou 8081.

 

O serviço web de cada uma das aplicações comunica com a sua respetiva base de dados através das classes de acesso a dados. A string de conexão para a base de dados deve ser definida no ficheiro "web.config" de cada um dos serviços Web.

Nota: na figura é demonstrada uma clara separação de camadas: dados, serviços, cliente / front-end.

Com esta sugestão, pretende-se apenas demostrar a possibilidade de separar todas as camadas do sistema, sendo também possível a instalação das múltiplas camadas no mesmo computador. Exemplo: servidor com SQL Server e IIS.

Dentro dos tipos de implementação demonstrados existem duas possibilidades típicas, com as suas vantagens e desvantagens.

2.1 Servidor – Cliente (Posto de trabalho)

A instalação da base de dados e serviço Web é feita num computador (servidor) sem a necessidade de grandes requisitos técnicos ao nível do servidor, uma vez que estes são leves e causam pouco impacto noutros recursos.

Instalação de aplicações cliente (Windows Forms) em vários computadores: o computador do posto de trabalho que irá fazer a geração de horários deverá ter capacidades significativas, não só a nível de RAM, CPU, mas também da qualidade da ligação do posto de trabalho ao servidor.

Em caso de atualização de versões, a Bullet Solutions tem acesso ao servidor ou requer aos Serviços de Informática para conduzir o processo de atualização (simplesmente substituir ficheiros e executar scripts na base de dados).

Vantagens:

  1. O processamento é distribuído por vários computadores (clientes) e não sobrecarga o servidor, não havendo por isso a necessidade de alocar um servidor com grandes capacidades de computação.

  2. Melhor experiência de utilização quando software é controlado diretamente a partir de uma aplicação Windows (ao invés de ser utilizada dentro de outras janelas – ver ponto 2.2).

Desvantagens:

  1. instalação (1ª vez) em vários computadores; computadores (cliente) precisam de ter um bom poder de processamento e RAM elevada para a geração dos horários;

  2. Necessidade de uma boa ligação de rede dos postos de trabalho ao servidor (tanto upload como download), uma vez que a quantidade de dados que é transferida entre cliente e servidor é considerável.

 

2.2 Acessos Remotos múltiplos via Windows Remote Desktop (RDP)

Instalar todas as camadas no mesmo servidor virtual dedicado exclusivamente a este processo. Todos os utilizadores (e a Bullet Solutions) tem acesso remoto à aplicação por RDP – Windows Remote Desktop (ambiente de trabalho remoto), são lançadas várias instâncias a partir da mesma aplicação.

Requisitos mínimos: 8GB RAM.

 

Vantagens:

  1. Processo mais rápido de instalação (1ª vez); todo o sistema num único computador dedicado; atualizações mais rápidas e sem entropia;

  2. Não há necessidade de assegurar uma boa ligação de rede dos postos de trabalho ao servidor, uma vez que a troca de dados entre aplicação e base de dados é feita localmente, no servidor.

 

Desvantagens:

  1. Sobrecarga de computador com vários clientes e necessária licença Microsoft “Terminal Services” para que vários utilizadores possam aceder simultaneamente à aplicação;

  2. Experiência de utilização / trabalho por RDP pode não ser muito confortável do ponto de vista do utilizador, uma vez que está a trabalhar numa janela, dentro de uma janela, sem possibilidade de facilmente transitar entre a aplicação e outras aplicações no seu computador (Excel, Internet, etc.). Provável necessidade de utilização de dois monitores.


 Requisitos mínimos do sistema
Unable to render {include} The included page could not be found.


 Informação de entrada /Importação de Informação

Dados acadêmicos podem ser importados para a aplicação por dois métodos alternativos.

Ficheiros simples

  • XML: consiste na estruturação da informação requerida em ficheiros XML específicos, que a aplicação irá importar.

  • XLS: consiste na estruturação e preenchimento de ficheiros Excel com a informação requerida.

 Outras informações como restrições de tempo de docentes podem ser importadas através de uma página web com Autenticação LDAP / Active Directory.

 Informação de entrada

  • Dados Gerais

    • Áreas Científicas.

    • Categoria dos Docentes

    • Vínculo dos Docentes

    • Tipologia de Aulas

    • Zonas

    • Edifícios

    • Pisos

    • Caraterísticas das Salas

  • Currículo

    • Cursos

    • Planos Curriculares

    • Disciplinas

  •   Entidades

    • Salas

    • Turmas

    • Docentes

  • Aulas

    • Cargas semanais

    • Distribuição de Serviço Docente

  • Restrições

    • Restrições ligeiras ou objetivos

    • Restrições rígidas ou regras


 Informação de saída / Exportação de Informação

Eventos e dados académicos podem ser transferidos para outros sistemas de informação através de dois métodos alternativos:

  • Ficheiros simples

    • XML / CSV / Outros – informação relevante, tal como eventos e recursos alocados.

  •   HTML

    • Criação de páginas HTML de horários para cada recurso (salas de aula, docentes e turmas) e horários curriculares (cursos, programas, etc…) para uma rápida publicação na página web da Instituição.

  • E-mail

    • Email instantâneo a todos os docentes (horários individuais) para os seus emails individuais.

  • Acesso em tempo real

    •   Serviços Web / API:

      • Horário Docentes

      • Horário de Salas de Aula

      • Horário Programa Curricular

      • Ocupação de Espaços

      • Furos nos horários dos Espaços

      • Furos nos horários das Turmas

      • Carga de Trabalho dos Docentes

      • Módulo Dossier

      • Outros…

  •  Vista SQL:

    • Acesso em tempo real a informação relevante, tais como eventos e recursos alocados.

    • Exibição em tempo real dos horários na página web específica da instituição.

  • No labels