- VPN w naszej firmie - ogólnie służy do bezpiecznego udostępniania zasobów sieci wewnętrznej firmy (drukarki, zasoby dyskowe, bazy danych) oraz do uruchamiania programów. W przypadku klientów internetowych np. AS (którzy chcą tylko otwierać nasze strony w swych przeglądarkach) proponowanie im VPN nie jest ekonomiczne i nie jest potrzebne a nawet NIEBEZPIECZNE. Jakiś "kumaty" AS lub jego kolega mogą wejść do naszej sieci i spowodować jej kompromitację. Ciekawe jak zabezpieczony jest SW (Tomka Tyki) i czy można wykorzystać jego doświadczenie.
- Java -warto zrobić jakiś program wsadowy do "czyszczenia" zapisów w bazach. JDBC jest bardzo wygodną implementacją ODBC i co najważniejsze nie wymaga skomplikowanej instlacji sterowników (wystarczy skopiować) plik .jar. Generalnie program napisany w Javie może być świetnym rozwiązaniem dla aplikacji middleware. Sam mam taki prościutki programik. Do jego pracy potrzeba ... no właśnie nie bardzo wiem co należy skonfigurować w serwerze Informixa aby można się do niego podłączyć (napewno muszą być otwarte jakieś niestandardowe porty np. 5552). Uruchomienie http chyba nie jest potrzebne.
- Java - appplet w Javie na stronie uruchamia obiekty COM z MS.
sobota, października 14, 2006
Rozważania
poniedziałek, października 09, 2006
Czas ucieka
Poonieważ czas wciąż nam ucieka, człowiek postanowił zaznaczyć moment w czasie przy pomocy tzw. "znacznika czasu" (timestamp). Urzędy certyfikacyjne w Polsce świadczą usługi znakowania czasem, niestety odpłatnie (tak dotąd było chociażby z Sigillum). Pod adresem http://time.certum.pl/ znajduje się serwer znaczników czasu. Niestety muszę jeszcze ustalić aspekt prawny posługiwania się nim. Serwer Certum (Unizeto Polska) świadczy tę usługę w odpoweidzi na żądanie zgodne z TSQ (IETF RFC 3161.) lub Microsoft Authenticode lub SHA1. Po analizie strony domowej Unizeto okazuje się, że darmowa dla niekomercyjnego użytku usługa jest płatna (0,061 Euro/znacznik).
Znacznik czasu jest generowany na podstawie skrótu (digest) wiadomości.
piątek, października 06, 2006
Rumblings
I have just think of some petty projects of my own. Jednym z nich jest przekonanie, że AJAX po prosty polega na brutalnym wyrzuceniu z procesu posługiwania się w tworzeniu stron www elementu HTML FORM a w szczególności SUBMIT. Dzięki temu znika automatycznie wszystkie niedogodności wynikające z potrzeby sprawdzania czy wywołana strona jest uruchamiana po raz pierwszy (i ma czyste zmienne sesyjne) czy wskutek wysłania jej do serwera zawiera zwrócone od niego dane. STRONA NIGDY SIĘ NIE PRZEŁADOWYWUJE.
Inną rzeczą jest zwrócenie uwagi na to, że stosując technologię AJAX mamy możliwość pobrania dużej porcji danych z serwera internetowego. Danych jest tyle, że już nie musimy nic pobierać a jedynie dodajemy nowe dane wynikające z potrzeb przebiegu interacji z aplikacją. Taki błysk danych i odłączenie się od zasobów Internetu podobny jest do metod używanych w pracy agentów specjalnych i spec służb w wojsku. Przesyłają oni krótkie paczki danych i przez długi czas się nie odzywają. Internet sprzyja takiej pracy ponieważ nie ma problemy z połączenie (a raczej jego brakiem) a pasmo i szybkość przesyłania danych są ogromne. W ułamku sekundy można przesłać całe setki KB danych do pożywienia się przez aplikację a nie bez przerwy przesyłać miedzy klientem a serwerem krótkie paczki danych.
Obietnica MS
Na stronie firmowej Microsoft złożył ciekawą obietnicę, polegającą na tym, że udostępnia szereg specyfikacji (będących potencjalnymi kandydatami na standardy) z zakresu WS (SOAP i jego pochodne, WSDL oraz WS-x) na zasadzie otwartej i nieodpłatnej - tj. zrzeka się do nich praw w przypadku: tworzenia, korzystania, sprzedaży i oferowaniu do sprzedaży oraz dystrybucji dowolnej implementacji w/w specyfikacji.
wtorek, października 03, 2006
Przemyślenia
Aktualnie mam dwa malutkie:
- realizacja "prawdziwego" podpisu w środowisku Windows przy użyciu kart kryptograficznych i wiarygodnych bibliotek kryptograficznych jest możliwa jedynie przy pomocy:
- biblioteki kryptoAPI CAPI COM Microsoft-u - darmowa
- nowej jej wersji w .NET Framework - darmowa
- super biblioteki np. SIGILLUM do obsługi funkcji krypto API - niewielki koszt
- realizacja "prawdziwego" (WSDL) oprogramowania WebService jest możliwa w jedynie w środowisku .NET Framework lub WebSphere. Lżejszą wersję usług webowych można realizować poprzez protokół HTTP (HTTPRequest / HTTPResponse) i przesyłać pliki XML bez wykorzystania SOAP. Są dwie wersje usług webowych: a) serwer internetowy <-> klient (przeglądarka) i b) serwer internetowy <-> serwer internetowy. Należy zbadać sprawę sytuacji b).
poniedziałek, października 02, 2006
Nowe prezenty od MS
czwartek, września 21, 2006
Ciekawe oprogramowanie
AVS DVD Player 2.2
Programowy odtwarzacz filmowych płyt DVD zawierający wbudowane kodeki niezbędne do poprawnego wyświetlania obrazu i dźwięku. Jeśli szukasz dobrego i niezawodnego programu, ten może być dobrym wyborem.
Aplikacje internetowe jak edytor tekstów
Jest wiele aplikacji internetowych nasladujacych popularnę aplikację biurową MS Office. Jedną z nich jest Ajax 13. Jest to zbiór aplikacji prostszych od Google Writely, ale za to znacznie lżejszych (tj. mniej obciążających łącze). Jedną z nich jest AjaxWrite (w wersji 0.9 - czyżby to było wytłumaczeniem dlaczego ma taką ubogą funkcjonalność i błędy). Inne aplikacje to: AjaxSketch (nie wiadomo tak naprawdę co ma ona robić), AjaxXLS (emulator Excel), AjaxTunes, EyeSpot (edycja video) oraz AjaxOS (dopiero w opracowniu). Wydaje się, że Writely jest bardziej dopracowany.
Źródło: tu.
Jakość najważniejsza
Firma Evans Data Corps przeprowadziła ankietę wśród developerów (ponad 700 odpowiedzi) z której wynika, że jakość narzędzi do rozwijania aplikacji jest ważniejsza od ceny. Są już znane jej wyniki.
Serwery aplikacji - pierwsze miejsce pod względem jakości zajął produkt f-my BEA - WebLogic Server i znacznie gorsze pod względem ceny. Miejsca drugie i następne zajęli kolejno: JRun (Adobe), Oracle i Sun. Miejsce piąte dopiera Tomcat. Ostatnie miejsce w kategorii cen zajął produkt WebSphere f-my IBM. Najlepiej cenowo są Tomcat (Apache), JBoss (RH), Java System Application Server (Sun). Widać, że kryterium cenowe nie jest aż tak ważne (zajmuje dopiero czwarte miejsce).
Narzędzia RAD (11 rywali, 1100 uczestników) - miejsce pierwsze w kategorii jakości zajął Rational Application Development Suite (IBM), potem MS Visual Studio i dalej Delphi (Borland Software). Znamienne, że darmowe NetBean i Eclipse zajęły ostatnie miejsce.
poniedziałek, września 04, 2006
Hierarchia
To warto wiedzieć
Jest wiele stron internetowych zawierających informacje o technologiach internetowych. Dzisiaj polecam:
Wpuszczanie w kanał ...(kanał RSS oczywiście)
Od dawna wiele aplikacji internetowych tworzy nowe kanały przekazywania informacji ze swoich stron, które bazują na technologii RSS. kanał RSS umożliwia skrótowe (nagłówek i tzw. "abstract") i wybiórcze (poprzez filtr programowy) przeglądanie zawartości serwisów informacyjnych. Jednym ze sposobó produkcji wiadomości RSS jest blog, np. blog z Googe'a tworzy automatycznie kanał RSS.
Nowym pomysłem jest zasilanie takiego kanału z niekonwencjonalnych źródeł np. dokumentów MS Worda, czy arkusza kalkulacyjnego. Można skorzystać z narzędzi np. tofeed.py. Innym, bardziej zorientowanym na niedoświadczonego użytkownika a jednocześnie bardzo elastycznymi i rozbudowanym narzędziem jest RSS Feed Generator firmy ListGarden autorstwa Dana Bricklina (nota bene innym produktem jest wikiCalc).
Więcej szczegółów technicznych na temat RSS można znaleźć tu (Harvard).
niedziela, września 03, 2006
Misz-masz i co dalej masz?
Popularność aplikacji internetowych bazujących na technologii Web 2.0 rośnie coraz bardziej. Coraz więcej również powstaje aplikacji typu mashup (misz-masz). Powstają one poprzez wybranie przez twórców tych aplikacji różnych fragmentów powszechnie dostępnych stron internetowych, przepakowanie ich (ściągnięcie z nich informaji), intergrację oraz udostępnienie tak powstałej treści w ładnym (interaktywnym opakowaniu). Przykładem tego jest wyszukiwanie najtańszej stacji beznynowej czy też porównanie cen książek. EBay daje 20% upustu na ceny towarów wymienianych przy pomocy swojej platformy przetargowo-handlowej dla programistów, którzy skorzystają z niej w swoich aplikacjach.
W pewnym sensie taki misz-masz przypomina klasyczny portal/vortal z tym, że te ostatnie zawierają informacje z zakresu jednej tematyki np. sprawy firmy i ich zawartość jest dostęna dla członków korporacji.
Sprawdza się w przypadku Web 2.0 powiedzenie znane z open-source "choćbyś nie wiem jak był kreatywny, społeczność korzystające z twojego produktu zadziwi cię jeszcze większą kreatywnością".
Firmy udostępniające swoje informacje w Internecie zaczynają sobie zdawać sprawę, że tak naprawdę liczy się na ich stronach treść a nie forma i dlatego zamiast czystej funkcji publikacji swoich danych zaczyna oferować interfejs do wyciągania tychże danych ze swoich stron. Czyli zamiast udostępniać dane należy udostępniać API służące do pobierania tch danych.
Jedną z form udostępniania danych nie w postaci tylko stron jest kanał RSS.
Pierwszą firmą, która zdała sobie z tego sprawę była Amazon, która wydała interfejs do swej strony w postaci udokumentowanych funkacji API z któych mógł skorzystać każdy programista. Za nią poszły inne firmy Yahoo, Google, które zaaczęły zatrudniać takich specjalistów jak Adam Bosworth.
Idea jest taka żeby zmienić strony internetowe w maszyny do programowania.
Źrodło: Zdnet
piątek, września 01, 2006
MS vs GG
Oferta Microsoft - MS Office Live Essential - produkt beta za darmo (potem 30$/mc)
Oferta Google -Google Apps 4 Domain - wersja basic beta za darmo (pod koniec roku będzie wersja premium - rozszerzona ale płatna)
Porównanie możliwości w Cnet.
Próbka tego jest poniżej:
Microsoft Office Live Basics beta
Google Apps for Your Domain
Compatibility
Internet Explorer 5.5; Windows 2000 /Internet Explorer 5.5, Firefox, Safari, Netscape 7.1; Windows, Mac, Linux
Domain name registration
Free /No
Web site storage space
30MB, 10MB bandwidth free, unlimited number of pages / 100MB through Google Page Creator
Web site traffic analysis
Yes / No
E-mail
Office Live Mail, 5 e-mail accounts, with 2GB of storage each / Multiple accounts through Gmail, with 2.8 GB of storage each
Chat
No / Google Talk
Calendar
Not included with Basics; available with paid Office Live Essentials or Collaboration / Google Calendar
Web page design
Built-in Site Designer with thousands of customizable, industry-specific templates / Google Page Creator
Privacy and Security
Privacy policy; must enable cookies / Privacy policies of each app; must enable cookies
Customer support
E-mail / Searchable knowledge base, forums
Paid versions
20 business applications and 24-hour phone support with Office Live Essentials or Collaboration; $29.95 and up per month after beta / No
Mydełko czyli SOAP
Co guru Leyman sądzi o wyborze nośnika WS: "REST is a possible style to implement a SOA. Especially if your application deals with large messages, or will benefit from caching, or has to render results immediately to end users, etc then a REST-based SOA does make a lot of sense. If you need to expose application specific interfaces, if you need message security along a message path with varying transport protocols, if you need choreography etc etc the WSDL/SOAP/... based SOA is preferable." Profesor Frank Leyman opublikował nawet mapę drogową dla SOAP.
Inny badacz Mark Baker jest znanym człowiekiem skłaniającym się jednak ku REST (REpresentational State Transfer) krytykujący wprowadzanie do WS standardów ignorujących potrzeby usług i niepotrzebnie komplikujacych ich implementację. Wywodzi się on z obozu DCE i Corba. Twórcą i pionierem tej technologii jest Roy Fielding który jest współzałożycielem protokołu HTTP 1.1 (udostępnia swoje interfejsy poprzez raz zdefiniowane i zafiksowane na stałe metody GET i POST, podobne ale bardziej rozwiniete idee są w REST. W SOAP jest to bardziej eleastyczne, opis interfejsu jest zawarty w WSDL) i autorem definicji REST. Co daje stały interfejs do usług?
Trzy zalety: prostota (liczba punktów swobody jest niewielka), skalowalność i niezawodność.
Każdy protokół wymiany powinien mieć cztery właściwości (wg. pracy dysertacyjnej Fielding) zapewniających:
- Identyfikację zasobu ->URI
- Działanie na zasobach ->GET, PUT, POST, DELETE
- Samopisywalność komunikatów
- Hypermedia jako transport stanu semantycznego
Więcej na ten temat: RESTwiki z resources section + tutorial
WS i bezpieczeństwo
To może być mojej początek przygody z WSE:
Źródło: theserverside.net (jest jeszcze wersja dla J2EE).
Tytuł: "Using Role Based Security with WSE 2.0 Article Released"
Autor: Paul Ballard (styczeń 18, 2005 DIGG)
The MSDN Web Services Development Center has released a new article by Ingo Rammer on using role based security in WSE 2.0. The article starts by showing how to use X.509 certificates to digitally sign messages. He then builds on this to create a custom SecurityTokenManager to map certificates to users and roles.
Using HTTP to authenticate your Web services requests might seem like a great idea in the beginning, but as soon as WS-Routing enters the game, the situation changes substantially: There is no direct HTTP connection between the sender and the ultimate recipient of the message anymore, but a potentially larger number different protocols which could be used along the routing path. This renders any means of transport-level security as a purely optional add-on that cannot guarantee the end-to-end integrity and security of your messages.
Starting with programmatically adding a X.509 certificate to a WSE message, the article shows how to digitally sign a message as coming from a specific client. The article then shows how to accomplish the same task using client policy and the WSE 2.0 configuration tool.
Once the message has been signed, a mapping needs to be created on the server to identify clients with specific roles. This is done by creating a mapping file and supporting classes and then implementing a custom SecurityTokenManager. The SecurityTokenManager validates the certificate and then uses the mapping to return a custom IPrincipal with the roles set based on the mapping. Then in the web service code, you can use declarative and imperative security demands to allow role based access.
The article ends by showing all of the various settings that need to be configured to add the custom SecurityTokenManager to the WSE pipeline. Niestety link do MSDN nie działa.
Dlatego przeszukałem MSDN Library na ciąg znaków: "role based security WSE" i znalazłem tam mnóstwo artykułów.
Zarządzanie tożsamością
Inne pomysły
Co można zaoferować naszym klientom? Można i to wiele za niewielkie pieniądze. Oczywiście nie będą to aplikacje klasy MS Exchaneg czy IBM Notes. Na początek trzeba ustalić na jakie wsparcie techniczne (spolszczenie) i prawne (czy możne użyć ich aplikacji do celów komercyjnych) możemy liczyć od dużych firm oferujących aplikacje internetowe Web 2.0 i działające na rynku polskim.
Oto propozycje bazujące na typowych zintegrowanych aplikacjach Web 2.0:
- Po pierwsze można udostępnić wspólny kalendarz w oparciu o jakiś standard internetowy Web 2.0 (np. z MS lub Google - ważne jest to, żeby był spolszczony; można się zwrócić do biur przedstawicielstw tych firm w Polsce).
- Wprowadzenie innych pojedyńczych elementów współpracy portalowej np. wpółdzielenie dokumentów lub arkuszy.
- Pomysł ten można rozwinąć poprzez wprowadzenie więcej elementów portalowych (znowu tu mamy wybór: MS Live lub Google Apps 4U Domain) na poziomie koopercji między klientami i nami oraz zintegrowanie ich między sobą.
Inne pomysły nie będące w ofercie zintergrowanej Web 2.0 dostępnej przez duże firmy a mające korzenie w projektach open-source. Przy wyborze należy kierować się nie tylko samym projektem, jego zawartością i wartością merytoryczną ale również jego dojrzałością i możliwością rozwoju (nie ma sensu wchodzić w projekt tworzony przez małą grupę programistów):
- Wprowadzenie do naszych stron elementów RSS lub nawet SPA (Single Page Agregator) - udostępniających skrót najważniejszych aktualnych informacji prezentowanych w naszym portalu.
- Raporty w oparciu o GLX z LogicXML.
Lepsze wykorzystanie technologii telefonii internetowej oferowanej przez SKYPE poprzez integrację jej z naszymi aplikacjami (Skype API).
Skorzystanie z oferty krajowej firmy LeftHand oferującej swój produkt klasy CRM.
Inne blogi
- Uwaga! Bardzo ciekawe jest formum Google Groups.
- Bardzo dużo ciekawych i opiniotwórczych (rozmowy z najwyższymi przedstawicielami firm branży informatycznej) blogów jest prezentowanych na witrynie cnet/zdnet - Alpha The CNET blog. Widać tu wyraźnie dwa opozy pro open source (Berling) i pro Microsoft. Cóż taka jest reguła amerykańskiej poprawności.
- Z innej strony Google ma już dosyć dawno swojego bloga - www.blogger.com. Od wczoraj można otwarcie testować nową jego odsłonę. Narazie są dwie wersje stara i beta. Do nowej można logować się poprzez konto googla (inne od tego jakie służy do logowania do starego blogu). Jeżeli tak zrobimy to dostaniemy "rozbiegówkę" w której mamy wszystkie śmieci jakie Google zrobił w wersji beta a więc:
- gmail,
- reader,
- spreadsheet,
- write,
- page creator,
- calendar i inne.
To wszystko realizowane jest w ramach nowej strategii Google Apps for Your Domain (pod tym adresem trzeba zacząć https://www.google.com/a/). Dla małych geszeftów będzie bezpłatna (wsparcie techniczne poprzez Google groups. Dla dużych i średnich przewiduje się serwis płatny premium udostępniający: wsparcie serwisowe, SLA, usługi dodatkowe, API, logowanie pojedyńcze (SSO) oraz inne atrybuty ważne dla dużych przedsiębiorstw (lepsze zarządzanie).
Równolegle Microsoft otworzył podobny portal Live i Office Live, Yahoo postąpiło podobnie. Walka trwa.