sok’s page

www.itpk.info

dateApril 14, 2008
postedbyPosted by soczek

Jak większość użytkowników portalu WSS.pl, lub Codeguru.pl przeczytała w swoich mailach lub w sieci, w najbliższym czasie a nawet i teraz trwają prace na połączeniu tych dwóch portali w jedną ciekawą bazę wiedzy zwaną ITCore.pl. Zapowiada się bardzo fajny portal społecznościowy Microsoftu dla programistów w .NET jak i dla specjalistów IT. Portal miał ruszyć już dawno ale niestety trwają jeszcze prace, światło dzienne ma ujrzeć pod koniec tego miesiąca. Jeśli ktoś posiada konta w tych dwóch portalach krótka informacja dla nich.

UPDATE 1 (21 kwietnia 2008):
Według zapowiedzi już dzisiaj ruszył portal ITCore.pl, jednak po krótkim testowaniu a nawet chęci zmianie hasła nie jest to możliwe. Bardzo często jest również problem z samym załadowaniem strony. ITCore.pl nie jest do końca dopracowane, niestety posiada wiele błędów, miejmy nadzieję że szybko zostaną one usunięte. Ale w końcu jest to wersja beta, czekamy na wersje finalną.

ITCore.pl

UPDATE 2 (23 kwietnia 2008):
“Po kilku dniach analiz i konsultacji, zarówno wewnętrznych, tych z Redakcją, jak i obserwując Wasze wypowiedzi, doszliśmy do wniosku, że portal itcore.pl nie spełnia Waszych oczekiwań. Głos społeczności jest dla nas najważniejszy i dlatego podjęliśmy decyzję o zamknięciu projektu ITCore.” O to informacja z dnia dzisiejszego odnośnie nowego portalu. A szkoda…

dateApril 8, 2008
postedbyPosted by soczek

Google App Engine

Plotki, plotki aż się stało… dzisiaj Google uruchomiło nową usługę nazwaną Google App Engine oczywiście w wersji beta. Jak przedstawili w swoim firmowym blogu usługa ta umożliwia tworzenie kompletnych aplikacji sieciowych w oparciu o infrastrukturę z Mountain View.

Tak jak Blogger stał się platformą pozwalającą na łatwe prowadzenie blogów, tak App Engine ma być platformą pozwalającą na łatwe tworzenie i uruchamianie aplikacji sieciowych. Chętni programiści, którzy chcą się zapisać do beta testów czeka, a raczej czekało 10 tys. darmowych kont które niestety zostały zarezerwowane w ciągu godziny.

W obecnej darmowej wersji ilość mocy obliczeniowej dla każdej aplikacji jest ograniczona, lecz w przyszłości będzie możliwe wykupienie dodatkowych zasobów serwera. Wersja beta Google App Engine obsługuje tylko aplikacje napisane w Pythonie, lecz w kolejnych generacjach ma być wprowadzona obsługa PHP i Ruby. Dla zainteresowanych można obejrzeć przykładową galerię aplikacji stworzonych za pomocą App Engine’a.

Krótkie wideo o nowej usłudze:

Więc czekamy na pierwsze komentarze testerów.

dateJanuary 24, 2008
postedbyPosted by soczek

Jak obiecałem umieszczę krótki opis działania usług Mobicents. Jako dalsza część projektu zadaniem mojej grupy było wykonanie sesji SIP oraz wgłębienie się w “wnętrze” Mobicenta aby przedstawić działanie całej usługi. Do nadsłuchiwania sieci użyliśmy programu Wireshark. Chciałbym więc opisać przykład sesji SIP w trakcie poprawnej rozmowy dwóch użytkowników. Użytkownik A (192.168.153.130) – torosvi@nist.gov dzwoni do użytkownika B (192.168.153.131) - hugo@nist.gov. Serwer to 192.168.153.128.

Sesja SIP - phone call

Jak widać wyżej na Graph Analysis:

    • Pierwszym połączeniu programu następuje rejestracja użytkownika poleceniem REGISTER od użytkownika do serwera, a ten odpowiada OK 200.
    • Następnie gdy użytkownicy A (192.168.153.130) oraz B (192.168.153.131) chcą się komunikować użytkownik nawiązujący połączenie zaprasza drugiego użytkownika poleceniem INVITE które odbiera serwer (192.168.153.128) i przekazuje do drugiego użytkownika B.
    • Ten odpowiada wiadomością TRYING o kodzie 100. Kiedy próba połączenia sygnalizowana jest dzwonkiem wysyła on odpowiedź, tj. wiadomość 180 RINGING. Gdy połączenie zostaje odebrane, wysyła odpowiedź 200 OK. Ta wiadomość dociera do użytkownika A, który wysyła żądanie potwierdzenia ACK.
    • Połączenie jest ustanowione i pracę przejmuje protokół RTP, który przesyła głos.
    • Gdy połączenie ma zostać zakończone, ostatnia transakcja polega na wysłaniu żądania BYE do serwera który przekierowuje je do użytkownika A ten odpowiada wiadomością 200 OK.

Jeśli chodzi o komponenty SBB oraz Resource Adapter który stanowi połączenie (most) pomiędzy siecią a wewnętrznym środowiskiem oraz Event Router który przekazuje informację pomiędzy komponentami w systemie schemat rozmowy opisanej w sesji SIP wyżej wygląda następująco:
Sesja SIP - call

    • Z zewnątrz przychodzi pakiet z zaproszeniem do rozmowy INVITE
    • JAIN SIP RA odbiera go i zamienia na zdarzenie INVITE, z argumentami (nadawca, odbiorca)
    • Wysyła je do wnętrza systemu, gdzie Event Router wysyła żądanie akcji do kolejnych komponentów SBB (wg priorytetów).
    • Istnieje 5 SBB, Proxy, Registrar, oraz 3 odpowiedzialne za usługi
    • Załóżmy, że rozmowa nie będzie ani blokowana, ani przekierowana tylko odbędzie się zwykłe połączenie. Po kolei akcję odbierają SBB o coraz niższych priorytetach i odrzucają ją dopóki nie dojdzie do ProxySbb. Ustawia ono odpowiednią flagę w środowisku, dzięki czemu pozostałe Sbb nie będą reagowały na zdarzenie.
    • ProxySbb sprawdza czy odbiorca rozmowy jest zalogowany (komunikuje się z RegistrarSbb). Jeśli tak, to przekierowuje INVITE do odbiorcy. W między czasie wysyła do Event Routera zdarzenie 100 Trying, a ten poprzez RA odsyła to poza sieć.
    • Odbiorca wysyła do ProxySbb tą samą drogą (SIP RA -> Event Router) wiadomość 180 Ringing, która jest przekierowywane do nadawcy. Stan ten trwa dopóki odbiorca nie odbierze (200 OK) lub nie odrzuci połączenia (486 BUSY HERE).
    • Jeżeli użytkownik nie jest zalogowany, to ProxySbb wysyła do Event Routera wiadomość 480 Temporarily Unavailable, a ten poprzez RA odsyła to poza sieć.
dateJanuary 15, 2008
postedbyPosted by soczek

MobicentsJak obiecałem całkiem niedawno w wcześniejszym poście umieszczę pełną instrukcję instalacji oraz konfiguracji serwera Mobicents wraz z usługami VoiceMail, CallBlocking oraz CallForwarding. Na początek chcę pokazać jak postawić serwer i usługi oraz jak skonfigurować klientów. A za kilka dni jak znajdę trochę czasu, chociaż ostatnio go brak z powodu sesji pokażę przykładowe sesje SIP oraz pokaże jak to wszystko działa od środka. No więc zaczynamy…

Na początek może pokrótce opiszę co to jest w ogóle Mobicents? Otóż…
Mobicents to open source’owa platforma VoIP zgodna z JSLEE. Jest jednym z popularniejszych serwerów aplikacji wykorzystującym protokół SIP na platformę Java. Należy do wysoko wydajnych silników dla systemów SDP (Service Delivery Platform) i IMS (IP Multimedia Subsystems). Umożliwia on budowanie aplikacji z komponentów SBB przy użyciu EclipSLEE. Architektura systemu (SOA) sprawia, że jest on łatwy do wykorzystania w innych aplikacjach.

1. Instalacja
1.1 Instalacja Mobicents
(mobicents-installer-1.0.03.GA.jar)

    • w trakcie instalacji zmieniamy ścieżkę dostępu na C:\mobicents>
    • w kroku 4 zaznaczamy wszystkie pakiety do instalacji (Examples, Resources, tools)

Po pomyślnym zainstalowaniu serwera Mobicents należy dodać zmienne systemowe:

    MOBICENTS_HOME = C:\mobicents
    MOBICENTS_EXAMPLES = C:\mobicents\examples
    JBOSS_HOME = C:\jboss-3.2.6

1.2 Instalacja JDK - Java Development Kid (jdk-6u3-windows-i586-p.exe)
Po zainstalowaniu JDK do zmiennych systemowych należy dodać wpis z ścieszką do jdk:

    JAVA_HOME = C:\Program Files\Java\jdk1.6.0_03

PO DOKONANIU WSZYSTKICH INSTALACJI NIEZBĘDNY JEST RESTART SYSTEMU!

2. Zmiana ustawień w plikach (aby serwer z usługami działał prawidłowo, przed uruchomieniem należy wykonać kilka zmian w plikach)
2.1 Plik pierwszy to build.xml
Ścieżka:
C:\mobicents\examples\lib\build.xml należy zmienić wpis:

    < property name=”jnpPorst” value=”1099” / >
    < property name=”jnpHost” value=”local_ip” />

local_ip na IP na którym będziemy uruchamiać serwer Mobicents

Read the rest of this entry »

dateDecember 17, 2007
postedbyPosted by soczek

10 najbardziej opłacalnych (w przełożeniu na zarobki) umiejętności, jakich początkujący programista WWW mógłby się nauczyć, według serwisu Read/Write Web:

    1 ) ASP & VBScript
    2 ) C# or VB.Net
    3 ) Flash & ActionScript
    4 ) Java
    5 ) JavaScript & AJAX
    6 ) Perl
    7 ) PHP
    8 ) Python
    9 ) Ruby & Ruby on Rails
    10 ) Structured Query Language (SQL)

Wyniki te są mocno związane ze specyfiką rynku amerykańskiego. Co znacznie różni się u Europejczyków. Widać, że programiści w USA czują się bezpieczniej jedynie wśród środowisk Microsoft. Wardo jednak zapoznać się z tym co modne w USA. Interesuje mnie jak te wyniki przedstawiły by się w Europie.
Update: Kolejność na liście jest kolejnością alfabetyczną ;) źródło również to update-towało ;)

dateNovember 7, 2007
postedbyPosted by soczek

C#_and_.NETPrzenosząc część moich książek z mojej małej biblioteki przez ręce przewinęła mi się książka “C# i .NET” Stephen C. Perry wydawnictwa Helion. Chciałem wspomnieć właśnie o niej, ponieważ całkiem nie dawno z niej korzystałem do zdobycia informacji o modelach połączeniowym oraz bezpołączeniowym w ADO.NET. Chciałem polecić tą książkę każdemu kto ma jakieś pojęcie o programowaniu obiektowym a chce się nauczyć programowania w języku C# oraz programowaniu aplikacji w .NET wersji 2.0. Największą z zalet tej książki jest to, iż nie są w niej tłumaczone podstawy programowania oraz objaśniane działania programowania obiektowego w odróżnieniu np. do książki Symfonia C++ standard Jerzego Grębosza gdzie wszystko jest tłumaczone aż za dokładnie. Od samego przypisywania zmiennych, działania pętli do obiektowości. Owszem książka jest dobra, ale dla osób które chcą się nauczyć i zrozumieć programowanie nie mając wcześniej z tym większej styczności. Książka “C# i .NET” przedstawia możliwości platformy .NET i języka C#. Opisuje elementy platformy, składnię i możliwości języka C# oraz zagadnienia związane z tworzeniem programów za pomocą tych narzędzi. Główne informacje w książce “C# i .NET” to:

  • Elementy platformy .NET
  • Podstawy języka C#
  • Praca z klasami i obiektami w C#
  • Przetwarzanie tekstu oraz operacje wejścia i wyjścia
  • Tworzenie aplikacji Window Forms
  • Korzystanie z biblioteki GDI+
  • Połączenia z bazami danych za pomocą ADO.NET
  • Aplikacje wielowątkowe oraz rozproszone
  • Tworzenie aplikacji internetowych

Zachęcam bardzo do przeczytania tej książki. (Link) do spisu treści oraz pierwszego rozdziału w pdf. “Doskonałe źródło wiedzy dla wszystkich programistów C#” tekst wyjęty z okładki z którym w 100% się zgadzam. A jeśli ktoś już przeczytał tą książkę to z tego działu proponuję inną “C#. Programowanie” Jesse Liberty.

dateOctober 22, 2007
postedbyPosted by soczek

Jeszcze nie zdążyliśmy nacieszyć sie C# 2.0 a tu już mamy dostępną wersję C# 3.0. Nowa wersja zawarta jest w Visual Studio 2008. W tej wersji Microsoft wprowadził wiele nowych elementów do składni, które ułatwiają pisanie aplikacji oraz poprawił to co było niedopracowane lub po prostu nie udane w poprzedniej wersji. Po krótce opiszę najważniejsze z nich.

Read the rest of this entry »

dateOctober 14, 2007
postedbyPosted by soczek

Jak już wiadomo nadchodzi Visual Studio 2008, a nawet można pobrać wersje Beta programu. Co nowego można dowiedzieć się na stronie Microsoftu. Jedną z najważniejszych rzeczy to dwukrotnie szybka kompilacja programu oraz dwukrotnie mniej miejsca potrzebnego w pamięci niż VS 2005. Ponadto dodano funkcje sprawdzające bezpieczeństwo oraz pisownię.

dateOctober 1, 2007
postedbyPosted by soczek

Jeden z pracowników Microsoft w swoim własnym blogu oświadczył, iż będą dostępne kody źródłowe platformy .NET oczywiście z komentarzami. Kod obowiązywać będzie podstawowe biblioteki .NET, ASP.NET, Windows Forms, ADO.NET, WPF, oraz XML. Kod oczywiście będzie dostępny publicznie w odróżnieniu od Microsoft Windows.

Źródło:
http://blogs.msdn.com/mharsh/archive/2007/10/03/source-code-for-the-net-framework.aspx
http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx