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