SKAYTEK.COM – SQL Connection Dialog Windows Form control w akcji by Dariusz Ugarenko

Witajcie. Dzisiaj chciałbym przedstawić Wam bardzo ciekawą kontrolkę Windows Forms SkayTek Controls WinForms SQL Connection Dialog. Sama kontrolka jest częścią większego pakietu, ale o tym później. Niesamowite jest ile razy musiałem kodować od podstaw w swoich aplikacjach okienko logowania do serwera bazodanowego, a tu patrzcie jest gotowe rozwiązanie i to naszej polskiej firmy.

Słowem wstępu



















Zrzut ekranu 1. Kontrolka SQL Connection Dialog

Okazuje się, że „Polacy nie gęsi i własne kontrolki też mają” :). Polska firma SkayTek Software przygotowała dla nas programistów zestaw kontrolek do wykorzystania w naszych aplikacjach typu Windows Forms w środowisku Visual Studio. W pakiecie dostajemy zestaw kontrolek, które z osobna są właściwie w pełni funkcjonalnym rozbudowanym komponentem, gotowym do skonfigurowania i użycia.

W artykule postaram się zaprezentować Wam od strony programisty jedną kontrolkę, z całego pakietu, mianowicie SQL Connection Dialog. Na razie przyjrzałem się jedynie wersji demonstracyjnej, choć nie wykluczam, że w przyszłości wykorzystam ją w swoich aplikacjach. Przedstawię możliwości, funkcjonalność oraz zalety kontrolki na podstawie własnych doświadczeń. Zobaczymy z czym to się „je” i jak tego użyć. Na początek krótkie wprowadzenie i zapoznanie się z pakietem.

Rozpoznanie pakietu kontrolek SkayTek Controls WinForms

Zawartość zestawu można podzielić na dwie grupy, kontrolki SQL-owe i „peryferia”. Wszystkie mają kilka wspólnych cech, które pokrótce przedstawię.

Wspólne cechy

  1. Wbudowane 9 wersji językowych plus dodatkowy interfejs, poprzez który można w prosty sposób implementować dowolne inne wersje językowe.
  2. Wbudowane 5 schematów kolorystycznych, można również ustawić własny wygląd.

Kontrolki w pakiecie

  1. SQL Connection Dialog – okno logowania do serwera bazodanowego MS SQL Server.
  2. SQL Login Editor – okno ustawień loginu, które umożliwia dodawanie oraz zmianę ustawień loginu na serwerze MS SQL Server.
  3. SQL Script Editor – edytor skryptów SQL z wbudowanym mechanizmem kolorowania składni.
  4. Downloader – kontrolka w prosty sposób pozwala na pobieranie plików z sieci protokołem http-s.
  5. About – pozwala wyświetlić niezbędne informacje użytkownikowi o naszej aplikacji, którą właśnie napisaliśmy.
  6. Activation Code – kontrolka pozwala użytkownikowi naszej aplikacji na wprowadzenie kodu aktywacyjnego.
  7. License – umożliwia wyświetlanie użytkownikowi tekstu licencji naszego „drogiego” oprogramowania.
  8. Line – prosty separator treści, może posłużyć do kontekstowego grupowania i rozdzielania elementów formularza.

W tym miejscu warto zwrócić uwagę, że otrzymujemy pakiet kontrolek, których funkcjonalność jest raczej niespotykana (no może oprócz kontrolki Line). Jeśli znajdziecie coś podobnego to dajcie znać. OK., po krótkim zapoznaniu się z zawartością pakietu czas na instalację.

Instalacja pakietu kontrolek SkayTek Controls WinForms

Pakiet kontrolek możemy pobrać z 3 źródeł:

  1. Strona producenta – znajdziemy tu pakiet kontrolek SkayTek Controls WinForms z przykładami kodów (sample), które prezentują w prosty sposób jak użyć poszczególnych kontrolek.
  2. Visual Studio – pakiet kontrolek możemy zainstalować bezpośrednio z poziomu Visual Studio jako rozszerzenie. W wyszukiwarce rozszerzeń wpisujemy hasło ‘skaytek’.
  3. Marketplace – witryna poświęcona dystrybucji oprogramowania.

Wymagania pakietu kontrolek SkayTek Controls WinForms

Widać, że trzeba iść z duchem czasu, bo pakiet wymaga .NET-a przynajmniej w wersji 4.5. Z drugiej strony, czy ktoś używa jeszcze niższej wersji? Kontrolki używają wywołań ‘async’, więc niżej się nie da. Choć jeśli dobrze pamiętam wersja .NET 4.0 zezwalała na używanie wywołań ‘async’.

Pierwsze spotkanie z kontrolką SQL Connection Dialog

OK., zobaczmy co w trawie piszczy. Po wstawieniu kontrolki do naszego okienka aplikacji widzimy ładnie prezentującą się kontrolkę ze sporą ilością elementów, które możemy dostosować do własnych potrzeb. Od strony wizualnej mamy wszystko to, co powinno mieć okno logowania do serwera bazodanowego. Na uwagę zasługuje możliwość dodawania profili połączeń, możemy skonfigurować sobie kilka np. do różnych baz danych, a następnie jednym kliknięciem wybrać ten, który chcemy. Sama kontrolka do złudzenia przypomina okno logowania z aplikacji SQL Server Management Studio (niektórzy mogą poczuć się swojsko :), z tą różnicą, że SQL Connection Dialog możemy personalizować i użyć w naszej aplikacji. Zauważcie, że nie musimy już kodować wszystkiego od zera, ale dostajemy gotowe rozwiązanie, które może zostać w dowolny sposób dostosowane do naszych potrzeb.

Konfiguracja kontrolki SQL Connection Dialog

Bardzo spodobał mi się łatwy i przyjazny sposób konfigurowania właściwości kontrolki. Z poziomu okna Property Visual Studio, jesteśmy w stanie dostosować prawie każdy element kontrolki i jego ustawienia. Wszystkie właściwości opisane są w taki sposób, że spokojnie zrozumiemy za co odpowiadają.

 

Zrzut ekranu 2. Część właściwości kontrolki SQL Connection Dialog

Jedną z najciekawszych właściwości jest prosta zmiana języka kontrolki. Mamy do wyboru 9 wbudowanych wersji językowych, które możemy zmieniać z poziomu okna Property lub kodu aplikacji. Zmiana jednej wartości podmieni tekst we wszystkich widocznych etykietach kontrolki. Wartości poszczególnych etykiet możemy ustawić również ręcznie i wpisać własny tekst. Jeśli kontrolka nie obsługuje naszego języka mamy do dyspozycji interfejs, poprzez który z poziomu kodu możemy dostarczyć kontrolce dowolny inny język.

Wygląd kontrolki możemy dostosować wykorzystując jeden z kilku wbudowanych schematów kolorystycznych. Generalnie mi osobiście brakuje gradientów, ale to kwestia gustu, może w przyszłości producent rozszerzy gamę kolorystyczną. Jeśli chodzi o elementy wizualne to możemy podmienić ikonki przycisków, modyfikować kolory tła, zmienić obramowanie, wstawić własny obrazek nagłówkowy. Mamy możliwość ukrywania elementów lub całych zakładek kontrolki. Niektóre z elementów możemy wyłączyć np. pole z nazwą serwera lub bazy danych, aby użytkownik nie mógł zmienić ściśle określonych ustawień. Ciekawostką jest progress bar, który możemy włączyć i będzie pojawiać się podczas łączenia z bazą danych.

Funkcjonalność kontrolki SQL Connection Dialog

Głównym zadaniem kontrolki jest pobranie ciągu połączenia od użytkownika w zrozumiały dla niego sposób za pomocą interfejsu graficznego. Niestety nie każdy jest programistą i z palca potrafi podać ciąg znaczków do połączenia z MS SQL Server 🙂 Oprócz głównej funkcjonalności mamy jeszcze pośrednie, które wpływają na ergonomię pracy, wszystkie ważniejsze wymieniam poniżej.

Funkcje kontrolki SQL Connection Dialog

  1. Tworzenie tekstowego ciągu połączenia do serwera MS SQL Server, na podstawie wybranych przez użytkownika ustawień.
  2. Udostępnienie użytkownikowi interfejsu graficznego do tworzenia i usuwania profili połączeń.
  3. Wyszukanie i zaprezentowanie użytkownikowi na rozwijanej liście nazw serwerów dostępnych w sieci lokalnej.
  4. Wyszukanie i zaprezentowanie użytkownikowi na rozwijanej liście nazw baz danych wskazanego serwera.
  5. Dostarczenie programistom przyjaznego rozwiązania do tworzenia połączeń z serwerem bazodanowym po otrzymaniu tekstowego ciągu połączenia.
  6. Wykrywanie wygasłego hasła oraz danie użytkownikowi możliwość jego zmiany na wyskakującej zakładce.
  7. Graficzna animacja postępu informujący użytkownika, że trwa właśnie nawiązywanie połączenia z serwerem bazodanowym.
  8. Wielojęzyczność, kontrolka posiada 9 wbudowanych języków plus interfejs do prostej implementacji dowolnego innego języka.
  9. 5 schematów kolorystycznych.
  10. Personalizacja wyglądu oraz funkcjonalności.
  11. Przycisk Test Połączenia oraz Pomoc pod którym można oprogramować wyświetlenie pliku pomocy lub strony internetowej w zależności od potrzeb.

Tutaj zaznaczę, że kontrolka SQL Connection Dialog w wersji demo posiada tzw. lekkie ograniczenie. Na przycisku Połącz umieszczony został licznik, który wprowadza 15 sekundowe opóźnienie i tyle czasu musimy czekać aż kontrolka zacznie łączyć się z serwerem.

Profile połączeń i bezpieczeństwo

Tworzenie profili połączeń to funkcjonalność, która wyróżnia kontrolkę SQL Connection Dialog, i mi osobiście podoba się najbardziej.












Zrzut ekranu 3. Panel z rozwijana listą profili połączeń

W miarę upływu czasu najpewniej zdarzy się utworzyć niejeden profil, który zawierać będzie wrażliwe dane logowania takie jak hasła. Zastanawiasz się teraz, gdzie to wszystko jest trzymane?! Już uspokajam, wszystkie ustawienia są szyfrowane (jeśli chcesz, a chyba chcesz 🙂 Sama kontrolka nie przechowuje profili połączeń tylko zwraca je do naszej aplikacji i to do nas programistów należy decyzja, gdzie będziemy je zapisywać. Odsyłam Was do przykładów użycia kontrolki SQL Connection Dialog, które znajdziecie na stronie producenta. W samplach podpatrzycie przykładową implementację kontrolki i sposób na przechowywanie szyfrowanych profili połączeń.

Zalety

  1. Pakiet kontrolek SkayTek Controls WinForms to tylko jeden plik i nie wymaga zewnętrznych bibliotek. Jeden plik to minimalizacja ryzyka związana z kontrolą wersji poszczególnych kontrolek w naszych aplikacjach.
  2. Pakiet SkayTek Controls WinForms to nie tylko zestaw zwykłych kontrolek, ale gotowe w pełni funkcjonalne komponenty.
  3. Wszystkie kontrolki posiadają wbudowane 9 wersji językowych, plus dodatkowy interfejs poprzez który można w prosty sposób implementować dowolne inne wersje językowe.
  4. Wszystkie kontrolki posiadają wbudowane 5 schematów kolorystycznych, można również ustawić własny wygląd.
  5. Pakiet kontrolek SkayTek Controls WinForms podpisany jest certyfikatem i gwarantuje, że oprogramowanie pochodzi od zaufanego wydawcy oprogramowania oraz chroni oprogramowanie przed zmianą po opublikowaniu.

Wady

  1. Poprawiłbym schematy kolorystyczne, nie wszystkie wyglądają ładnie, choć to kwestia gustu.
  2. Cena dla zwykłego programisty może być wysoka, chyba że godzimy się na wersję demo i lekkie ograniczenia w postaci opóźnień czasowych na wykonywane operacje.

Wrażenia z użytkowania

Generalnie implementując kontrolkę SQL Connection Dialog w naszych aplikacjach oszczędzamy sporo czasu, który możemy przyjemniej spędzić 🙂 niż kodując okno logowania całkowicie od zera. Praktycznie po kilkunastu minutach implementacji, użytkownik naszego programu zobaczy ładne i w pełni funkcjonalne okno logowania. Ogólnie po zapoznaniu się z funkcjami kontrolki SQL Connection Dialog odnoszę wrażenie, że takiego kompletnego rozwiązania zawsze brakowało mi w moich aplikacjach.

A wy co o niej sądzicie? Wykorzystalibyście ją w waszych aplikacjach?

Przydatne linki

Strona producenta SkayTek Software

Przykłady użycia i pakiet kontrolek SkayTek Controls WinForms

 



Więcej w C#, Controls, Helper, Programowanie, SQL, Windows Forms
Daj się poznać 2016 – podsumowanie

Konkurs "Daj się poznać" z dniem dzisiejszym dobiega końca. Oto krótkie podsumowanie co udało się mi się w tym czasie...

Zamknij