Xwa obejmuje dwa pakiety:

  • user distribution - pakiet użytkownika
  • developer distribution - pakiet twórcy oprogramowania

Instalacja nie wymaga uprawnień administratora.

Wystarczy, że dedykowany dokument Office zostanie otwarty przez użytkownika. Wówczas, jeżeli wymagana jest instalacja/aktualizacja, cały proces jest zautomatyzowany. Dzięki temu nie jest konieczna obecność administratora systemu. Oczywiście, instalacje mogą być także autoryzowane poprzez wymóg podania danych administratora.

Xwa-User-distribution

Pakiet User-distribution zawiera biblioteki uruchomieniowe, które są instalowane na komputerze użytkownika. Dostarcza pełną funkcjonalność wymaganą przez aplikacje utworzone z użyciem Xmart Web Api.

Xwa-Developer-distribution

Pakiet twórcy oprogramowania zawiera SDK oraz narzędzia wspierające programowanie. Jest przeznaczony dla osób programujacych za pomocą VBA.

W jaki sposób Xwa pomija użycie connection string?

Narzędzia zawarte w Xmart Web Api umożliwają osadzenie zaszyfrowanych treści bezpośrednio w strukturze pliku Office. Twórca dokumentu decyduje, gdzie znajdują się zaszyfrowane wartości:

  • w usłudze repozytorium kluczy (znajdującej się w chmurze lub w sieci firmowej)
  • lub doczepione do treści pliku Office.

W obydwu przypadkach nie są używane dodatkowe pliki ani wpisy rejestru. Treść connection string jest zawsze zaszyfrowana i nigdy nie jest eksponowana. W kodzie VBA wystarczy użyć wyliczenia (enum) lub dowolnej stałej numerycznej - jako zamiennik ciągu zawierającego wrażliwe dane.

Więcej szczegółowych informacji znajduje się na stronie Q&A.

Przykładowy (portowany) kod

Poniższy przykład pokazuje, w jaki sposób Xwa łączy się z typowym kodem VBA używającym ADO:

Enum MyConnections
     LocalDemo = 1
     CloudDemo = 2
End Enum

Sub XwaConnectionExample()

    Dim xwa As New XmartWebApiConnection ' creates xwa wrapper instance

    ' usually at some point connection string is exposed:
    ' --------------------------------------------------------------------------------------------------------------
    ' Dim conn As New ADODB.Connection
    ' conn.ConnectionString = "Provider=SQLOLEDB;Server=.\SQLEXPRESS;Database=myDb;UID=myUsername;PWD=myPassword;"
    ' --------------------------------------------------------------------------------------------------------------

    ' with xwa, there is no connection string, just enumeration that points to the data source
    If xwa.OpenConnection(CloudDemo, openTransaction:= false) Then

       Dim cmd As New ADODB.Command ' ado command
       With cmd

            .CommandText = "myUpdateProc"

            ' ado parameters
            .Parameters.Append .CreateParameter("@MyParam1", adInteger, adParamInputOutput, 0, 1)
            .Parameters.Append .CreateParameter("@MyParam2", adVarWChar, adParamInput, 128, "text")

       End With

       Dim rowsAffected As Long
       xwa.Execute cmd, rowsAffected ' executes data update

       cmd.CommandText = "mySelectProc"

       Dim rs As ADODB.Recordset
       Set rs = xwa.RefreshRecordset(cmd) ' selects data to ado recrodset

       CopyFromRecordSet rs, Worksheets("my worksheet").Range("A1") ' copies recordset to worksheet's range

       Set rs = Nothing
       Set cmd = Nothing

    End If

    Set xwa = Nothing

End Sub

Jak ukazano, aktualizacja istniejących rozwiązań jest niezwykle prosta. Może być dokonana ręcznie lub z użyciem narzędzi dostępnych w pakiecie dla twórców oprogramowania.

Nie musisz pisać kodu

Używając narzędzi Xwa ORM można wygenerować warstwę dostępu do danych (data access layer). Obiekty z bazy danych są mapowane do klas i arkuszy. Można także wygenerować obiekty SQL na podstawie arkuszy, a także składnię SQL służącą do odczytu i zapisu danych.

Tym sposobem proces tworzenia staje się znacznie szybszy.

Dzięki użyciu narzędzi Xwa nie jest wymagana wiedza odnośnie programowania baz danych w VBA. Zamiast tego osoby tworzące rozwiązania mogą się skupić na docelowej funkcjonalności aplikacji.

Dystrybucja do użytkowników oraz dodatkowa ochrona

Kiedy aplikacja Office jest już gotowa, narzędzia Xwa mogą zautomatyzować proces jej dystrybucji.

Zazwyczaj opublikowanie składa się z następujących kroków: podpisanie kodu, podbicie, kopia zapasowa, wgranie do systemu dystrybucyjnego etc.

Można także używać konfigurowalnych zdarzeń, w ramach których uruchamiane jest makro lub program wsadowy. W ten sposób można zaimplementować nietypowe wymagania związane z publikacją.

W Xwa istnieje także możliwość narzucenia dodatkowej ochrony dokumentu. Na przykład, każda próba zdjęcia ochrony projektu lub zmiany kodu po publikacji będzie skutkować blokadą działania programu.

Podsumowanie

Zwyczajowy przebieg tworzenia w VBA używając Xmart Web Api:

  • Wygenerowania kodu VBA/SQL używając narzędzi ORM
  • Utworzenia rozwiązania
  • Opublikowania do użytkowników końcowych
Xwa Coding Cloud Vba