Przeskocz nawigację

Microsoft Enterprise Library jest to zbiór najlepszych praktyk oraz wzorców projektowych  przygotowanych przez rzeszę specjalistów, które przydają się podczas budowy aplikacji na platformie .net, w wielu samodzielnych bibliotek które dołącza się do projektu w postaci referencji. Microsoft Enterprise Library wchodzi w skład Solution Development Fundamentals , które stanowią fundamenty dla projektowania aplikacji. Pakiet ten zawiera operację na blokach ( modułach) które można dołączać do solucji , stanowiące osobne wątki z tematu : dostępu do bazy danych, logowania, walidacji , walidacji wyjątków itd. Bloki są przewodnikiem sprawdzonych metod oraz technik projektowania oprogramowania.
Każdy z wyżej wymienionych bloków posiada wbudowane testy jednostkowe które w wiodących firmach zajmujących się programowaniem stanowią ważny proces wytworzenia oprogramowania ,  stając się jednym z głównych narzędzi sprawdzających projekt przed końcowym wytworzeniem produktu. Pierwsza wersja biblioteki miała premierę  w 2005 roku wersji 1.0 , wersja 1.1  ( wydanie Lipcowe) wspierała framework 2.0 , oferując na starcie 4 bloki.
Obecnie najnowsza odsłona posiada numer 5.0 ( wydanie Sierpniowe) jest z roku 2010. Do bibliotek dołączony jest program konfigurujący  wspomagający działanie biblioteki z aplikacją.

Cechy Enterprise Library:
Consistency  (Rozwojowość) . Zbiór Enterprise Library zawiera bloki które cechuje rozszerzalność modułowa dodając nowe funkcjonalności  oraz asocjację z wzorcami projektowymi , umożliwiając korzystanie cały czas z najnowszych porad.
Extensibility  (Rozszerzalność). Wszystkie bloki mogą być rozbudowywane do celów pod własny projekt, udostępniony kod źródłowy można dowolnie zmieniać i kopilować dodając referencje do projektu.
Integration  Integracyjność. Wszystkie bloki  Enterprise Library są tak zaprojektowane aby współdziałały osobno i razem. Nie ma potrzeby wykorzystania wszystkich bloków razem ,  wszystkie są one połączone z Enterprise Library Core and Unity.

Pakiet składa się z 8 bloków podstawowych:
- Caching Application Block – Blok Cashowania Aplikacji
Blok pozwala na stworzenie lokalnego cashu w ich aplikacjach. Wspiera budowaną pamięć cache jak i miejsce przeznaczone na przechowywanie plików. Możliwe funkcje to dodawanie , kasowanie czy odzyskiwanie cachowanych danych.

- Cryptography Application Block – Blok Kryptografii Aplikacji
Blok zabezpiecza dane przy użyciu algorytmów kryptograficznych. Dane które aplikacja używa mogą być zaszyfrowane. Dodatkowo wszelkie dane dostępowe jak i hasła powinny być chronione hashem. Zabezpieczenia te mogą być wprowadzane poprzez konfigurator dostarczony do biblioteki , unika się styczności z kodem źródłowym.

- Data Access Application Block – Blok Dostępu Do Danych Aplikacji
Blok umożliwia aplikacji czytanie danych do wyświetlenia komunikatu , przekazanie danych do innych warstw aplikacji. Pozwala również na wszelkie operacje bazo danowe z  ADO.NET , zarządzanie pytaniami SQL , ustanawianie połączeń z bazą czy obsługę samego procesu przesyłania danych.

- Exception Handling Application Blok – Block Wyjątków Aplikacji
Blok służy do szybkiego i  łatwego budowania implementacji strategii w przypadku wyjątków z różnych modułów aplikacji. Może przechowywać informacje z wyjątków, ukrywać ważne dane z wyjątków maskując je innym wyjątkiem czy nadzorować proces pojawiania się wyjątków w czasie działania aplikacji.

- Logging Application Block – Blok Logowania Aplikacji
Blok ten ma  zastępować kod odpowiedzialny za odbieranie informacji z logowania. Posiada liczne funkcje logowania takie jak zapisywanie informacji do Windows Event Log,
, wysyłanie logu za pomocą wiadomości e-mail , zapisu do bazy danych , do Windows Management Instrumentation* (WMI) czy innej wskazanej lokalizacji. Stostuje się również przypadku gdy pobieramy informacje z bazy danych chcąc uzyskać wszystkie akcje które zostały wykonane na bazie. Umożliwia też zbieranie informacji z kilku źródeł do jednej lokalizacji.

- Policy Injection Application Block – Blok Polityki Prywatności Aplikacji
Blok ten informuje aplikacje na temat zmian zachowań poszczególnych obiektów w ramach działania aplikacji. Można wstrzyknąć zależność DI  ( Dependency Injection ) do dowolnego obiektu …  W tej wersji Microsoft® Enterprise Library DI jest obsługiwane przez mechanizm Unity.

- Security Application Block – Blok Bezpieczeństwa Aplikacji
Blok jest wykorzystywany do autoryzacji z wykorzystaniem Microsoft Active Directory czy Active Directory Lightweight Directory Services lub inni klienci autoryzacji. Przechowuje on takie informacje jak , cache autoryzacji oraz pliki autoryzacji przez całą sesje w której użytkownik jest zalogowany.

- Validation Application Block – Blok Walidacji Aplikacji
Blok ma za zadanie sprawdzenie czy informacje uzyskiwane od użytkownika są poprawne w obrębie reguł ustanowionych w regułach biznesowych.
Jeżeli występuje błąd, gdyż wpisana nazwa jest błędna , blok ten automatycznie wysyła komunikat do użytkownika. Proste do edycji mechanizmy walidacji korzystające z atrybutów i szeregu zasad umożliwa integracje z różnymi interfaceami aplikacji.
Współpracuje z takimi technologiami jak ASP.NET , Windows® Communication Foundation (WCF), Windows Presentation Foundation (WPF) czy Windows Forms.

Analizując przydatność użycia do aplikacji skalowalnej :
Sama koncepcja wzięła się właśnie z potrzeb skalowania aplikacji która ma charakter Enterprise oraz ja łatwa do zarządzania i optymalizacji w zależności od zmieniających się czynników ( wielkości użytkowników , ilości komputerów(mocy) itd.)
Nie samowi cie rozbudowana biblioteka która doskonale nadaje się na rozbudowane systemy typu Enterprise jak i projekty do zarządzania , planowania w wielu dziedzinach gospodarki. Pozwala na integracje prawię każdego modułu , dodawanie własnych funkcjonalności oraz współpracę z innymi typami „programowania” niż Microsoft. Niestety , ogrom dokumentacji ( jej brak , jeżeli chodzi o polskie wydania ) nie jest możliwa do wdrożenia w firmach gdzie liczba programistów jest mniejsza niż 5.

Wrzucam treść opracowaną na mgr która została odrzucona z powodu wielkości magisterki :) A informacje te nie są nigdzie do znalezienia ( mowa o polskich  chociaż zagraniczne również są słabo opisane)

3 Comments

  1. Entlib jest po prostu koszmarem. Dlaczego nie można go zastosować w firmie z <5 dev?

    • Jest koszmarem dla jednego człowieka , uważam osobiście że jak 5 głów usiądzie do tego to da się coś na tym dobrego zrobić + PM który zarządza.
      Opinia ta jest z forum gdzie ktoś używa Entlib do zarządzania systemem wirtualizacji topografii i mają ok 10 tys komputerów.

      • Niezależnie ile osób nad tym siedzi – jeśli biblioteka wymaga osobnego narzędzia do stworzenia działającej konfiguracji to jest to po prostu nieużywalny twór. Ogarnięcie całości nie jest wcale wielkim wyczynem, przez większość app blocks przewija się ten sam schemat, ale alternatywne rozwiązania oferują więcej przy duuużo mniejszym skomplikowaniu.


Dodaj komentarz

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Zmień )

Twitter picture

You are commenting using your Twitter account. Log Out / Zmień )

Facebook photo

You are commenting using your Facebook account. Log Out / Zmień )

Connecting to %s

Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.