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
