Czym jest platforma .NET?
| TechnikaPostęp technologiczny to zazwyczaj ewolucja, rzadko kiedy rewolucja. Długą ewolucję przeszła również platforma Microsoft .NET, której wykorzystanie jest obecnie standardem dla technologii informacyjnych. Wraz z tym, jak następuje coraz ściślejsza integracja sfery IT z sektorem przemysłowym, również od automatyków wymaga się coraz większej znajomości rozwiązań z zakresu informatyki. W artykule przedstawiono ideę technologii .NET i korzyści z jej wykorzystania.
Prawdopodobnie w żadnej dziedzinie postęp nie jest tak widoczny, jak w technologii komputerowej i IT. W latach 50. zeszłego wieku użytkownicy mieli dostęp do danych i aplikacji poprzez ubogie terminale podłączone do centralnego systemu. W segmencie komputerów o dużej mocy obliczeniowej przewodził IBM, jednak pod koniec lat 60. na rynku pojawili się pierwsi producenci minikomputerów. Komputery stacjonarne bardzo szybko zdobyły popularność umożliwiając użytkownikom indywidualnym samodzielną pracą oraz łączenie się ze sobą w sieci. Trafiły one również do przemysłu i od tego czasu szybko popularyzują się.
Obecnie głównym problemem informatyki staje się wykorzystanie dostępnych możliwości w sposób jak najbardziej efektywny. Jednym ze sposobów radzenia sobie z tymi trudnościami jest tworzenie aplikacji z urządzeniami thin client, które wykorzystują usługi oferowane przez serwery dostępne w sieci. Te ostatnie odpowiadają za wykonywanie większości operacji, gromadzenia danych – klient służy jedynie do przesyłania poleceń użytkownika oraz do wyświetlania informacji. Nie oznacza to, że w niepamięć odchodzą bardziej złożone maszyny po stronie użytkownika – mają one zastosowanie w sytuacjach, w których konieczna jest duża moc obliczeniowa po stronie komputera końcowego.
Potrzeba technologicznych zmian
Współczesny Internet w pewnym stopniu odwzorowuje model pierwszych systemów komputerowych. Informacje gromadzone są w scentralizowanych bazach danych chronionych poprzez systemy logowania. Użytkownicy muszą wykonywać operacje za pośrednictwem serwerów internetowych prawie jak w pierwotnych systemach z podziałem czasu. Problemem jest to, że witryny internetowe są izolowanymi jednostkami, które nie mogą się często komunikować ze sobą w łatwy sposób. Przekazywane użytkownikom indywidualnym strony internetowe zawierają tylko reprezentacje danych w postaci HTML, ale nie same dane. Natomiast przeglądarka internetowa pod wieloma względami jest w istocie ulepszonym terminalem i pracuje głównie w trybie odczytu – można łatwo przeglądać informacje, ale trudno jest je edytować, analizować lub wpływać na nie, czyli wykonywać najbardziej interesujące użytkowników operacje.
W przypadku korzystania z większej liczby komputerów stacjonarnych lub urządzeń przenośnych pojawiają się nowe problemy. Aby uzyskać dostęp do informacji on-line, poczty elektronicznej, plików off-line itp., należy zmagać się z wieloma, często niekompatybilnymi ze sobą interfejsami o różnych poziomach dostępu do danych. Dlatego podstawową ideą przyświecającą twórcom technologii.NET było skupienie się na przejściu od wyizolowanych serwerów i urządzeń podłączonych do Internetu, do zbioru komputerów, urządzeń dostarczających szerszych rozwiązań i usług. Bazuje się tutaj na informacjach w formacie XML (Extensible Markup Language), który jest uniwersalnym językiem formalnym. Dane są w nim reprezentowane są w postaci struktury drzewiastej i jest on szeroko wspieranym standardem przemysłowym ustanowionym przez W3C (World Wide Web Consortium). Pozwala on na organizowanie informacji w sposób, który pozwala na ich dostarczanie do różnorodnych komputerów i urządzeń elektronicznych.
Podstawowe elementy platformy .NET
Wyróżnić można cztery kluczowe elementy platformy .NET, które związane są z usługami sieciowymi. Są nimi XML tworzący format reprezentacji danych, HTTP – protokół ich przesyłania, UDDI (Universal Description, Discovery and Integration) obejmująca specyfikację umożliwiającą lokalizowanie usług sieciowych oraz protokół SOAP (Simple Object Access Protocol). Pierwszy z elementów, XML, jest językiem znaczników wykorzystywanym m.in. w technologii .NET i zapewnia uniwersalny format wymiany informacji, który jest z natury niezależny od platformy. Podstawą wspólnego systemu komunikacji jest SOAP – protokół zgłoszony konsorcjum W3C, który definiuje wzajemną współpracę między usługami sieciowymi. W SOAP jako mechanizm transportowy wykorzystywany jest HTTP. Ponieważ jest to już obecnie szeroko rozpowszechniony standard, stosuje się go na wielu platformach sprzętowych.
Ważną cechą.NET jest możliwość łączenia programów. Aplikacje integruje się za pośrednictwem dokumentu XML, który określa źródła każdego pliku, tj. bibliotek DLL, plików wykonywalnych, graficznych i wielu innych komponentów zainstalowanego programu. Eliminuje to problemy w postaci brakujących bibliotek lub przypadki, gdy jedna aplikacja używająca innej wersji biblioteki jest przyczyną konfliktu z drugą i powoduje jej niekontrolowane zamknięcie.
Języki programowania stosowane w platformie .NET
Platforma .NET umożliwia korzystanie z szeregu języków programowania, w tym C#, Visual Basic, C++ i innych. Pozwala na to idea wykorzystania wspólnego języka (Common Language Specification), która stanowi podstawę technologii .NET. Każdy program kompilowany jest wstępnie do tzw. języka pośredniego MSIL (Microsoft Intermediate Language), który uniezależnia go od wykorzystywanej platformy sprzętowej. Jest to proces w pewnym stopniu podobny do wykorzystania wirtualnej maszyny w języku Java. Wraz z kodem MSIL tworzone są metadane opisujące możliwości danego kodu i wymagania z nim związane. Tego typu program może być wykonywany na różnych urządzeniach i systemach ponieważ jest kompilowany dla konkretnego procesora dopiero po uruchomieniu przez wirtualny system wykonywania (Virtual Execution System). VES zapewnia bezpieczne wykonywanie kodu pochodzącego od osób trzecich, zarządza pamięcią, zapewnia mechanizm obsługi błędów oraz eliminuje problemy z wydajnością, które często mają swoje źródło w językach skryptowych.
Środowiska programistyczne dla platformy .NET
Bardzo popularnym, choć nie jedynym środowiskiem programistycznym .NET jest Visual Studio, które wspiera większość tradycyjnych języków. Skorzystanie z niego eliminuje m.in. problemy związane z różnymi typami danych w poszczególnych językach. Przykładowo typ String jest ciągiem znaków, a Long oznacza liczbę całkowitą o odpowiedniej liczbie bajtów niezależnie od rodzaju języka programowania. Spójna specyfikacja definiuje również dostęp do danych i przenoszenie ich między poszczególnymi składnikami platformy .NET. Dzięki temu oraz zbiorowi bibliotek klas neutralnych dla języków programowania aplikacje mogą być obecnie pisane w różnych językach i będą ze sobą współpracować, co nie było zazwyczaj możliwe w przypadku klasycznych języków programowania.
Warto dodać, że w celu zastosowania technologii .NET do obsługi transakcji biznesowych powstała inicjatywa Microsoftu – BizTalk. Obejmuje ona dwie części – segment wspólnego komunikowania się oraz segment standardowej struktury dokumentów. BizTalk Server pozwala na standaryzowany sposób przesyłania wiadomości oraz umożliwia graficzne modelowanie procesów biznesowych. Przykładowo w przypadku faktur pozwala to użytkownikom modelować powiązania z innymi firmami. Procesy biznesowe mogą być następnie wizualizowane dzięki możliwościom aplikacji do tworzenia schematów i diagramów – Microsoft Visio.
Co dalej ?
Technologia .NET zapewnia użytkownikom i programistom szereg korzyści, takich jak przenośność aplikacji, oferuje również nowoczesny model programistyczny i uruchomieniowy oraz moduł zarządzania komponentami. Integruje ona wiele elementów, takich jak np. struktura, interfejs użytkownika, języki oraz zestaw narzędzi programistycznych Visual Studio. Schemat blokowy pokazany na rysunku ilustruje związek pomiędzy różnymi komponentami platformy .NET.
Choć .NET nie jest już nowością na rynku IT, rosnące wykorzystanie systemów informatycznych w automatyce powoduje, że w ostatniej z dziedzin staje się ona coraz bardziej popularna. Przykładem jej wykorzystania są zmiany wprowadzone przez australijską firma Citect, która jako jedna z pierwszych zaadaptowała technologię .NET do własnego systemu zarządzania informacją (Industrial Information Management). System ten przekazuje kadrze kierowniczej dane operacyjne w postaci wskaźników określających jakość, wydajność i opłacalność produkcji, przyczyniając się tym samym do usprawnienia funkcjonowania procesów technologicznych przedsiębiorstwa.
Ponieważ opis techniczny podstaw .NET wykracza znacznie poza ramy tego artykułu, pozostaje na koniec polecić inżynierom sięgnięcie po odpowiednią pozycję literaturową lub skorzystanie ze źródeł internetowych. Przykładem tych ostatniej jest .NET Framework Developer Center (http://msdn2.microsoft.com/en-us/netframework/) oraz przykładowo zasoby polskiego serwisu CentrumXP (http://www.centrumxp.pl/dotNET/).
Grzegorz Michałowski