wtorek, grudnia 26, 2006

Obsługa poczty

Jak podejść do problemu obsługi poczty elektronicznej?

Rozróżniamy dwa przypadki: klient do wysyłania poczty i do odbierania.
  1. Pierwsza funkcja jest prosta i można znaleźć wiele gotowych rozwiązań np. w Pythonie, VFP (sweet pototaes), blat itd. Z czytaniem poczty jest trochę trudniej (i zazwyczaj sprowadza się do obsługi repozytorium serwera pocztowego, który może mieć wiele odmian skrzynek np. INBOX czy też inne), chociaż też można znaleźć coś ciekawego: VFP (universal thread), Python, Java (jest przecież standard Java Mail) no i .NET.
  2. Problem dojścia do składnicy przesyłek można zaatakować w rózny sposób:
    1. od zera tj. poprzez rozpisanie interakcji z serwerem pocztowym (zgodnie ze standardem rfc ...) np. gmail,
    2. korzystanie z gotowych komponentów pocztowych oferowanych w danym środowisku systemu operacyjnego (np. technologia COM w Windows, komponent CDO, Outlook w MS Windows),
    3. wykorzystanie gotowych komponentów w danycm języku programowania (oferujących otoczkę - wrapper do dostępu do standardu pocztowego). Otoczka ta może być prosta w postaci obiektu realizującego Java Mail, czy bardzo uniwersalną (a zarazem skomplikowaną) jak to jest w .NET, która w łącza do siebie obsługę wielu innych około-pocztowych standardów.
Najbardziej uniwersalną jest metoda pierwsza czyli implementacja standardu, na drugim miejscu jest implementacja klienta pocztowego w wybranym języku programowania (ponieważ właśnie w nim oprogramowujemy nasz problem).

sobota, grudnia 16, 2006

Różne

Badanie AJAX-owych run-time - http://dev2dev.bea.com/pub/a/2006/11/exploring-ajax.html np. GWT Designer Instantiations Inc. recently released a product called GWT Designer, which provides page construction in Eclipse for the Google Web Toolkit
Porównanie framework-ów AJAX - http://www.infoq.com/news/2006/12/ajax-comparison-tools
Jak być na topie - http://pragmaticprogrammer.com/talks/HowToKeepYourJob/HTKYJ.html
Blog + Mylar (wtyczka dla Eclipse - uporządkowanie informacji, programista coraz cześciej szuka opcji w gąszczu menu jakiegoś srodowiska IDE zamiast skupić się na programowaniu) - http://blogs.zdnet.com/Burnette/
Związek GWT z Design-erem -http://www.instantiations.com/gwtdesigner/resources.html (GWT od Google jest bezpłatne), GWTD kosztuje około 250 dol. GWT ma swojego bloga - http://googlewebtoolkit.blogspot.com/ a tam jest odnośnik do kodów dostępnych w GG- http://code.google.com/
Zasoby http://blogs.zdnet.com/Burnette/?p=214
For more information see:
Slides from Eclipse member's meeting (pdf)
Google Web Toolkit home page
Eclipse Foundation members
Instantiations GWT Designer
GWT Powered community resources
Opis - http://code.google.com/webtoolkit/makinggwtbetter.html
Wykorzystać dot do robienia hierarchii - http://www.graphviz.org/Gallery.php
Krytyka SOAP - http://www.infoq.com/articles/pete-lacey-ws-criticism;jsessionid=B34DDD6B1CD13A894A3EED3C5AE003B0
Współpraca JAVA i .NET - http://www.infoq.com/articles/java-dotnet-integration-intro
Wstęp do AJAX - http://coldfusion.sys-con.com/read/311330.htm + narzędzie - http://taconite.sourceforge.net/

czwartek, grudnia 14, 2006

Framework Zend

Współpraca Zend z Google

The latest pre-release version of Zend Framework provides the foundation for building websites based on the Model-View-Controller (MVC) pattern. The implementation is designed to be lightweight, modular and flexible, consistent with the philosophy driving all design of this open source PHP framework.

The latest release of Zend Framework now also provides support for the Google Data API, which provides a simple standard protocol for PHP applications to read and write data to and from Google applications such as Google Base and Google Calendar. The Zend Google Data PHP Client Library was jointly developed by Zend and Google.

Wespół raźniej... najwyraźniej

On October 31st, Zend and Microsoft have announced a technical collaboration to significantly enhance the reliability and performance of PHP on the Windows platform. The technology preview is in response to joint customer demand for better support of the Windows Server platform.

The technology engagement between the two companies will include:
  • Technical improvements for PHP, which will be submitted under the PHP license to the PHP community for feedback and contribution.
  • Microsoft intends to develop and release an Internet Information Services (IIS) add-on component, FastCGI, that will serve as the interface between PHP and the IIS Web server.
  • Zend will establish a Windows testing lab and conduct regular tests and performance improvements to maintain high performance of PHP on the Windows Server platform as PHP evolves.
  • Microsoft and Zend will work to help ensure a production-quality PHP runtime environment for IIS 6.0 (Windows Server 2003) and IIS 7.0 (Windows Server "Longhorn").
  • Zend and Microsoft will actively participate in the PHP community, ensuring an open discussion to help developers planning to deploy PHP applications on the Windows Server platform.

Szukajcie a znajdziecie

Od jakiegoś czasu Google oferuje narzędzie do wyszukiwania dokumentów w sieci lokalnej. Potrzeba indeksowania zasobów elektronicznych (szczególnie różnych typów dokumentów) jest palącym problemem w każdej firmie. Szukanie zajmuje czas. W Google MINI jest to usługa dość droga - oprogramowanie do wyszukiwania 50 tys. dokumentów kosztuje 2000 $, zaś za indeksowanie 300 tyś. dokumentów trzeba zapłacić 9 aż tyś. dolarów.
Pomysł ten wykorzystali IBM i Yahoo udostępniając całkowicie za darmo oprogramowanie do indeksowania dokumentów. Można go wykorzystać do zbudowania prostej indeksowarki sieci korporacyjnej typu entry-level (wstępny poziom). Nosi nazwę IBM OmniFind Yahoo Edition i może indeksować 500 tyś. dokumentów o ponad 200 fromatach. Szukanie w sieci lokalnej jest zintegrowane z wyszukiwaniem w Internecie w oparciu o Yahoo. Dostęp do wyszukiwarki odbywa się poprzez przeglądarkę internetową.
Produkt jest uproszczoną wersją płatnej, korporacyjnej edycji OmniFind Enterprise Edition.
Pytanie filozoficzne: jakie są kryteria przejście z wersji uproszczonej na koproracyjną? Nowe opcje, szybkość, ilość dokumentów, integracja z innymi programami.
Oczywiście oba te rozwiązania udostępniają programistom API do obsługi wyszukiawnia w swoich aplikacjach.

środa, grudnia 13, 2006

Bo do tanga trzeba dwojga

Tango ale z kim?

Sun wprowadzi niebawem nową wersję Java SE 1.6 zwaną Mustang (skupiono się na części klienckiej i lepszej integracji z platformą uruchomieniową, Java 1.5 Tiger skupiała się na części serwerowej). Nowością jest lepsza integracja z językami skryptowymi. Zgodność ze standardem Java Specification Request 223, pozwalająym na uruchomienie m.in. JavaScript and Python, w środowisku Java Virtual Machine (co z PHP, brak tutaj na ten temat informacji). Wszystko po to aby podzielić zadania: skompliowane obliczenia i dostęp do baz wykonać w Javie, a PHP zostawić sprawę interfejsu. Dodatkowo postanowiono zaktualizować NetBeans 5.5. do wsparcia nowej wersji Javy (chociaż w NetBeans wcześniej mówiło się o wsparciu jezyków skryptowych - projekt Coyote [https://coyote.dev.java.net/])

Nie sposób tu nie wspomnieć o MS - Mimo, że MS stoi na uboczy jeżeli chodzi o technologie open-sourceto ostatnio zatrudniło Jim Hugunin, twórcę języka Jython, któy pracuje w projekcie IronPython (wsparcie dla tego języka w środowisku platformy Microsoft .Net Common Language Runtime).

Inny projekt języka to Groovy specjalnie napisany do uruchamiania w środowisku JVM (komitet techniczny składa się z przedstawicieli Sun, IBM i Apache)

Oto druga połówka do tanga.
W ramach nwego JSE 1.6 przewidziano lepszą integrację z platformą MS (IBM to już ma więc Sun też chce) w zakresie WS (usług sieciowych) [http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/] w ramach projektu Tango (działa w ramach większej inicjatywy GlassFish - otwartej inicjatywy Sun stworzenia implementacji własnej WS). W Sun jest specjalna grupa ludzi WS - http://java.sun.com/webservices/, współpracująca z grupą ludzi z MS - http://windowscommunication.net/ (WCF - Windows Communication Foundation a nie World Children Fund) w zakresie implementacji i testów zgodności standardów WS-*. Chodzi m.in. o import opisu serwisów WS ze środowiska MS WCF (WSDL) przy pomocy JAX-WS, optymalizację transferu, bezpieczeństwo, tranzakcyjność poprzez "wyklikanie" w interfejsie IDE (np. NetBeans) odpowiednich właściwości. Szybkie, łatwe i proste...

Aaa kotki dwa

A własciwie jeden SleepyCat - zwany Berkeley DB
Fenomen Berkeley DB
Po wykupieniu przez firmę Oracle tej bazy nic nie wskazuje na jej upadek, przeciwnie firma lansuje ten produkt jako natywą (i co najważniejsze "lekką", zabierającą mało zasobów) bazę danych wspierającą dokumenty XML . Nazwa ją Berkeley DB XML (dostęp do dokumentów odbywa się poprzez XQuery 1.0 i XPath 2.0 zgodnie z zaleceniami W3C, indeksowanie dokumentów). Zaletą jej jest stara, sprawdzona technologia Berkeley DB - ACID, szyfrowanie, automatyczne wycofanie z tranzakcji w przypadku błędu, bezosbługowość, duża niezawodność, replikacja, integracja z Apache, wsparcie dla wielu j. skryptowych i Java poprzez JDBC, działa na wielu platformach) [http://www.oracle.com/technology/products/berkeley-db/xml/index.html].
Zastosowanie - przechowywanie i udostępniania dokumentów z jednego miejsca dla aplikacji sieciowych i internetowych. Inne to szybka, mała baza lokalna do przechowywania dokumentów XML lub aplikacje z wbudowaną bazą. Uwaga inna implementacja bazy XML - eXist. Istnieje API do bazy dla języka PHP. Uwaga - baza może działać w roli serwera: XDBC, SOAP, REST, XML:DB

Myśli o bezpieczeństwie

Bezpieczeństwo. Tego powinni zabronić? Czego ano podawania w nagłówku FORMS (formularza HTML) adresu serwera spoza domeny z której strona przeszła np. strona została uruchomiona spod adresu COIG a wysyła dane pod inny adres np. CIROW.
Muszę to sprawdzić.
Ostatnia poprawka do bibliteki XML Core w MS miała uniemożliwić sięganie z poziomu XMLHTTPRequest (w wydaniu COM, nie natywnym dostarczanym z IE 7, gdzie to już jest wprowadzone) do witryn spoza domeny wejściowej.

Co to ma znaczyć?

Co to ma znaczyć ?

Od dawna podejrzewałem, że coś jest nie tak z wielowatkowością i obsługą wielu procesów naraz w aplikacjach open-source (vide Apache, którego kopia uruchamiana jest przez administratorów dla każdej witryny na jednym i tym samym fizycznym serwerze. Tłumaczą to lepszą izolacją między chodzącymi na różnych witrynach aplikacjami. Podobnie jest w ZOPE, gdzie podaje się jawnie ilość wątków jednocześnie mogących być uruchamianych). Nie wiem czy mam rację, ale to o czymś świadczy.

Z innej beczki, taka maszyna wirtualna Javy (JVM) JRockit w wydaniu BEA - ukazał się artykuł (http://news.zdnet.com/2100-3513_22-6142172.html?tag=nl.r3302) na ZDNet "BEA to run Java sans operating system" w któym opisuje sie nowy ich produkt WebLogic Server Virtual Edition (sam WebLogic Server służy do uruchamiania wielu aplikacji Java, wersja wirtualna jest opracowana dla uruchamiania jej w środowisku hyperwizora VMware (oprogramowanie wspierające wirtualizację firmy VMWare, hyperwizor służy do uruchomienia wielu kopii tego samego oprogramowania na jednej konfiguracji sprzętowej). W tym przypadku hyperwizor nazywa się Liquid VM i kontaktuje się bezpośrednio (pomijając warstwę OS) z hyperwizorem VMWare. Cel takiej wirtualizacji? Dostarczenie administratorom narzędzi do konsolidacji wielu aplikacji Java na pojedyńczym serwrze oraz zoptymalizowanie ich wydajności. Wirtualizacja dla korporacji słuzy do lepszego wykorzystania sprzętu poprzez rozłożenie obciążenia wielu aplikacji na pojedyńczej maszynie - wewnętrzne ograniczenia (nazwijmy to poprostu fuszerką, wadą architektury) aplikacji powodują, że nie potrafi zrównoleglić przetwarzania zapytań (procesó) przy zwiekszonym obciążeniu w rezultacie czego tworzy się do aplikacji kolejka nieobsłużonych żądań (których nie potrafi aplikacja jednocześnie zrealizować mimo, że moc obliczeniowa jest wystarczająca).
Firma planuje dodać do tej wirtualizacji obsługę innych architektur, chodzi o wsparcie wirtualizacji dla Xen i MS. Gotowość produktu - luty 2007.

wtorek, grudnia 12, 2006

Co jest wazne?

The growth of Macintosh desktop clients in enterprises will be more of a hindrance to Linux desktop growth than Windows, one analyst firm says in a recent report. Gartner says the increasing popularity of Apple’s desktop operating system in some enterprises could come at the expense of Linux desktops. Popular marketing and advertising campaigns for Macs has the machines on the minds of some corporate computer users, while Linux desktops are still somewhat obscure.Several factors still hold Apple back on enterprise desktops. It does not license its OS X operating system to other hardware vendors. The consumer-oriented focus of the interface and applications is a turnoff for IT administrators, as well as the lack of IT management tools. But Gartner says these machines will find their way into enterprises through the “back door,” in some cases where end-users seek to replace older proprietary workstations, such as Unix machines. The Gartner report faults a shortcoming in support for both Mac and Linux desktops as one reason these platforms continue to lag in enterprise deployments. While Apple, Red Hat and Novell offer seven years of support for their respective enterprise desktop operating systems, Windows draws more enterprise desktop loyalty, in part, because of its 10-year-minimum support practices for its desktop product. One trend that could level the desktop operating system playing field is the move towards Web-based applications, which only require standards-based HTML browsers and plug-ins, and can run on almost any desktop. However, Gartner says it does not expect even half of a typical organization’s apps to be OS-independent in the next five years. [Gartner: Macs crowd out Linux on corporate desktops but no threat to Windows By Phil Hochmuth]

Wniosek:

  1. trudno przezwyciężyć mit doskonałego wsparcie i pomocy technicznej dla platformy Windows, inne platformy dopiero tu raczkują. Ale jest jedno ale, w dobie aplikacji internetowych, wymagajacych do pracy wyłącznie standardową przeglądarkę internetową i odpowiednie wtyczki, mogą one dziłać na dowolnym sprzęcie. Ten trend zaczyna być coraz wyraźniejszy, ale Gartner nie oczekuje aby w ciągu najbliższych 5 lat połowa typowych aplikacji korporacyjnych była zrealizowana w tej konwencji.
  2. Kazda przeglądarka nie nie znaczy bez dobrych "wtyczek", ale kazda wtyczka wnosi koleją dziure do przegladarki. Kazdy kij ma dwa konce...

czwartek, grudnia 07, 2006

Trzy rozwiązania

Przemyślenia
  1. MS uruchamia podbnie jak Google przeglądarkę i wyszukiwarkę książek - twierdzi, że "w dobie powszechnego bełkotu i chaosu informacyjnego w Internecie, jedynie informacja zawarta w książkach jest choć nieco przestarzała ale lepiej ocenzurowana i na wyższym poziomie merytorycznym". Tak zgadzam się z tym w pełni.
  2. Sun potwierdził słuszność mojej tezy 80% Client / 20% Server, gdzie Client - oznacza jakiś framework wspierający technologię Ajax po stronie klienta w środowisku JavaScript (np. dojo) + CSS + DOM, a Server - oznacza platformę serwer aplikacji w tym przypadku J2EE. Podobny projekt ma Microsoft (AJAX dla .NET) i Google (GWTK) [http://www.adtmag.com/article.aspx?id=18912]. Składniki:
  • Client-side JavaScript toolkits, such as Dojo, which hides the low-level processing of XMLHttpRequest;
  • DWR (Direct Web Remoting), which enables RMI-like invocation from the JavaScript client code to backend Java class;
  • AJAX-enabled JSF components which allows the building of AJAX apps by dragging-and-dropping UI components;
  • Wrapper technology such as jMaki that permits use of AJAX widgets from different sources using common interface;
  • Java to JavaScript translator technology such as Google Web Toolkit (GWT) and
    Existing Web app frameworks with AJAX extensions such as Wicket, Echo2 or Shale. These include:
    - Client-side JavaScript toolkits, such as Dojo, which hides the low-level processing of XMLHttpRequest;
    - DWR (Direct Web Remoting), which enables RMI-like invocation from the JavaScript client code to backend Java class;
    - AJAX-enabled JSF components which allows the building of AJAX apps by dragging-and-dropping UI components;
    - Wrapper technology such as jMaki that permits use of AJAX widgets from different sources using common interface;
  • Java to JavaScript translator technology such as Google Web Toolkit (GWT); and Existing Web app frameworks with AJAX extensions such as Wicket, Echo2 or Shale.
  • Do tego co napisałem powyżej jest świetna strona http://www.javapassion.com/ajaxcodecamp/#Presentations
  1. IBM nazywa to RIA rich Internet Application - oznacza wyposażenie aplikacji klienckich (napisanych jako aplikacje desktop w Javie lub applet na stronie w przeglądarce) w możliwość pobierania danych z serwera.
  2. http://www.adtmag.com/article.aspx?id=18795 - Artykuł o kolejnym produkcie typu Grid - nazywa się ActiveGrid Studio 2.0. Wnosi technologię Web 2.0 i LAMP w środowisko serwerów Java (Apache Tomcat, BEA WebLogic, IBM Websphere, Sun Java System Application Server and JBOSS). Drugim produktem jest ActiveGrid Server 2.0 - serwer aplikacji umożliwiający na instalację aplikacji Web 2.0 na "zwykłych" serwerach (posiada mechanizm cache, LDAP, load balancing i dashboard-y). Wersja open source obu produktów udostępniana jest na zasadzie licencji Apache Software License 2.0.Cena wersji komercyjnych - od $8,000 do $12,000 rocznie.

Nowe kryteria serwera aplikacyjnego

Kryteria wyboru serwera aplikacyjnego:

  1. Administracja (lokalna/zdalna, interfejs GUI/tekstowy/przeglądarka, wsparcie dla SNMP do konfigurowania/monitoringu pracy, tworzenie kopii),
  2. Skalowalność/Rozwijalność-przyszłościowość (architektura 32/64 bity, zgodność z J2EE (w jakiej wersji?), certyfikat z JSEE (wersja?), IPv6, klastry/farmy, wsparcie dla wirtualizacji, tranzakcyjność, odporność na awarie sprzętowe/bazodanowe/aplikacyjne, łagodne wychodzenie z awarii),
  3. Programowalność (języki kompilowane/skrypty interpretowane),
  4. Bezpieczeństwo (SSO, LDAP, SSL, firewall, proxy, wsparcie dla AD),
  5. Wsparcie (SLA, QLA),
  6. Architektura (C/S, cienki klient, przeglądarka internetowa)

Co z tym ciałem (Flashem)?

Komentarz na temat udostępnienia przez Adobe (po przejęciu przez niego firmy Macromedia) technologii Flash organizacji Mozilla (inaczej mówiąc wlączeniu do języka JavaScript mozliwosci ActionScript - notabene czy mogą to zrobić legalnie mijając standard języka JS zdefiniowany przez ECMA?, oraz maszyny do uruchamiania aplikacji Flash do interpretera JS w przyszłych wersjach FireFox). Ruch ten na pewno mam na celu spopularyzowanie apliakacji wykonanych we Flash-u:

  • "Chizen said that Adobe intends to work more in open source, although he said that it does poses a challenge for the company. Adobe on Tuesday announced that it will provide the ActionScript Virtual Machine--software to run JavaScript andActionScript programs--to the Mozilla Foundation for inclusion in future versions of the FireFox browser. "You'll see us participate more (in open source). We're going to have to walk this fine line between open standards and open source," he said. "Where we want to make money, it's hard to be completely open source because we do need to continue to generate revenue," he said. O'Reilly noted that Microsoft is increasingly seeking to steal away customers from Adobe, notably Web designers and graphics designers."

Własnie mam Acrobat Reader 8. Umozliwia on m.in. tworzenie z poziomu Readera plików PDF (usluga sieciowa ws -LiveCycle). Łączy się w tle z serwerem Adobe w celu aktualizacji swego kodu i propozycji reklamowych)

środa, grudnia 06, 2006

Kryteria wyboru narzędzi

Kryteria wyboru :

  • Wsparcie i rozwój (nowe wersje, aktualizacje)
  • Ergonomia
  • Skalowalność (pionowa i pozioma)
  • Wydajność
  • Wieloplatformowość
  • Obciążenie systemu operacyjnego, narzut na pamięć i CPU (i inne zasoby)
  • Narzędzia do zarządania infrastrukturą IT (zasobami sprzętem, siecią, urządzeniami, konfiguracją, wydajnością, użytkownikami)
  • Integracja z platformą mobilnych urzadzeń
  • Wsparcie komunikacji między użytkownikami
  • Wsparcie pracy grupowej programistów
  • Wsparcie pracy grupowej użytkowników (portal)
  • Zarządzanie wersjami
  • Możliwość tworzenia komunikatów i kolejkowanie
  • Narzędzia do zrównoważenia obciążenia

  • Infrastruktura serwerów
  • Integracja z platformą (system, serwer internetowy, aplikacyjny, bazodanowy, zarządzanie transformacjami na ESB, portalowy, raportowanie i inne)
  • Integracja z innymi aplikacjami
  • Przechowywanie sesji
  • Połączenie z bazami (standard ODBC/JDBC lub własne)
  • Obsługa tranzakcji
  • Wsparcie dla nowych technologii (EAI, AJAX, XML)
  • Intergracja z EAI i aplikacjami spadkowymi (legacy)
  • Wsparcie dla bezpieczeństwa
  • Zarządzanie zmianami konfiguracji
  • Konsola do zarządzia aplikacjami
  • Disgnostyka
  • Obsługa dziennika zdarzeń
  • Monitorowanie i audyt

wtorek, grudnia 05, 2006

Swietny pomysł

Wyszukiwarka Google dla Twojej firmy
Nowosc! Korporacyjna wyszukiwarka Google dostepna od teraz w Polsce!
Czy nie byloby wspaniale, gdyby wyszukiwanie w obrebie firmy bylo równie proste jak na Google.pl? Dzieki produktom korporacyjnym Google bedziesz mógl zaoferowac swoim pracownikom proste, szybkie i bezpieczne wyszukiwanie w obrebie wszystkich danych firmowych, w tym intranetów, systemów do zarzadzania dokumentami i tresciami, serwerów plików, komputerów pracowników i aplikacji biznesowych, takich jak CRM i business intelligence. Równiez na swojej publicznej stronie WWW mozesz udostepnic klientom i partnerom biznesowym wyszukiwarke o jakosci, do której przyzwyczail ich Google

Co tam nowego w Java Card 2.2?

Nowe podejście do kart kryptograficznych (od strony Java CARD)

  1. http://www.enigma.com.pl/index.php?option=com_content&task=view&id=183&Itemid=155
  2. http://security.computerworld.pl/news/79172.html
  3. http://java.sun.com/products/javacard/dev_kit.html
  4. http://home.elka.pw.edu.pl/~pnazimek/index.php?lang=pl&page=36

Wyposażenie oprogramowania w kartach w VJM (wirtulaną maszynę Java) poprzez co uzyskuje się jednakową, niezleżną od platformy sprzętowej możliwość komunikacji między kartą a np. appletem na stronie internetowej (oczywiście aplet musi być podpisany). Ostatnie łącze stanowi skarbnicę wiedzy jak samemu oprogramować karty inteligentne w tym SIM w telefonach, karty kryptograficzne, bankowe, lojalnościowe itd. Wszystko dzięki standardowi Java CARD 2.2. staje się jasne i proste. Autor udostępnił dokumentację w pdf i masę przykładów w pliku zip. Prawdziwa perełka.

Inną perełką pełną przykladów jest strona www.jensign.com. Jej autor (MVP z MS) początkowo widząc popularność jaką się ciszy ta strona chciał ją na wiosnę tego roku sprzedać (przedtem zabezpieczył informacje na niej). Ale oczywiście nikt nie chciał tego kupić. Rad nie rad ponownie ją otworzył z jeszcze większą ilością informacji (być może znalazł tajemniczego sponsora, moż to jest MS?).

Nowosci o podpisie

Świetny artykuł z MSDN - "Building Browser Helper Objects with Visual Studio 2005 Tony Schreiner, John Sudds Microsoft Corporation October 27, 2006" w C++

Frima Sputnik zajmuje się upowszechnieniem podpisu wraz z Sigillum - http://www.nowoczesnagmina.pl/About.aspx - korzysta z appletu Java. Karta jest wykonana zgodnie ze standardem - Java Card™ 2.2. tel. kontaktowy - 801 886644

Matrix - firma polska ->Technologie: Java 2 Enterprise Edition, Applety, PKI, karty kryptograficzne - PKSC#11.

Komunikat ostrzeżenie na stronę portalu AS -

  1. *) Z dniem 11.07.2006 r. firma Microsoft Corporation wstrzymała ostatecznie aktualizację zabezpieczeń dla systemów operacyjnych Microsoft Windows 98, 98 SE oraz ME. W związku z powyższym, ze względu na zachowanie najwyższego stopnia bezpieczeństwa w trakcie składania podpisu elektronicznego, zalecamy Państwu instalowanie naszego oprogramowania wyłącznie na stacjach roboczych z systemem operacyjnym Microsoft Windows NT lub Microsoft Windows XP.

Certum (Unizeto) jest na liście CA/O forum. Co nowego w podpisie u nich:

  1. 2006-10-23 -Nowe usługi kwalifikowane Powszechnego Centrum Certyfikacji CERTUM

    W dniu 17.10.2006 r. Powszechne Centrum Certyfikacji CERTUM należące do Unizeto Technologies, jako pierwsze w Polsce uzyskało zaświadczenie Narodowego Centrum Certyfikacji (NCCert) umożliwiające rozszerzenie zakresu dotychczas świadczonych usług kwalifikowanych o kolejne trzy usługi:

    • weryfikację statusu certyfikatów w trybie online (OCSP) - Kwalifikowane OCSP

      Usługa polegająca na wystawianiu elektronicznego zaświadczenia potwierdzającego, że weryfikowany certyfikat jest certyfikatem kwalifikowanym i ważnym w momencie weryfikacji. Pozwala na sprawdzenie statusu certyfikatów kwalifikowanych wszystkich wystawców w Polsce.

      Usługa realizowana według „Polityki certyfikacji” spełniającej wymagania ustawy o podpisie elektronicznym, podlegająca audytom Ministra Gospodarki i na jego wniosek wpisana do rejestru usług kwalifikowanych związanych z podpisem elektronicznym.


    • walidację danych (DVCS),


    • poświadczanie odbioru i przedłożenia (DA).
  2. Status certyfikatu - OCSP (ang. Online Certificate Status Protocol) OCSP (Online Certificate Status Protocol) jest standardem opisującym protokół komunikacyjny pomiędzy systemem informatycznym odbiorcy usług certyfikacyjnych a serwerem usługowym. Protokół ten określa format i strukturę zapytania (żądania) o status certyfikatu oraz format i strukturę odpowiedzi („tokenu”), która zawiera wynik weryfikacji w postaci statusu: „poprawny”, „unieważniony”, „nieznany”.
  3. Wydanie zaświadczenia ze statusem „poprawny” oznacza, że certyfikat jest wystawiony przez jeden z podmiotów, których certyfikaty objęte są usługą OCSP oraz, że podmiot ten na moment udzielania odpowiedzi skutecznie nie unieważnił sprawdzanego certyfikatu.

    Korzystanie z zaufanej usługi OCSP jest praktyczniejszą i bardziej „bezpieczną” formą weryfikacji ważności certyfikatu niż przeszukiwanie list unieważnionych certyfikatów (CRL). -

    Kwalifikowana usługa OCSP pozwala szybko ustalić status certyfikatu kwalifikowanego wystawionego przez każde z polskich centrów certyfikacji świadczących kwalifikowane usługi certyfikacyjne. Wynik sprawdzenia statusu certyfikatu jest wydawany w postaci zaświadczenia (dokumentu) elektronicznego poświadczonego przez urząd OCSP. Zaświadczenie to stanowi dowód wykonania weryfikacji. Elektroniczne potwierdzenie statusu każdego certyfikatu może być przesłane za pomocą poczty e-mail autorowi zapytania.

    Alternatywą do korzystania z usługi OCSP jest „samodzielne” wykonanie weryfikacji ważności certyfikatu poprzez przeglądanie list unieważnionych certyfikatów (CRL). Przeprowadzenie poprawnie takiej weryfikacji obarczone jest sporym ryzykiem związanym z zagrożeniami występującymi w sieci Internet oraz z brakiem posiadania aktualnej wiedzy na temat wszystkich wystawców i typów certyfikatów uznanych za kwalifikowane. Natomiast w przypadku korzystania z usługi OCSP mamy do czynienia z jednym tzw. punktem zaufania; po otrzymaniu odpowiedzi z urzędu OCSP wystarczy sprawdzić autentyczność poświadczenia (podpisu) urzędu za pomocą danych powszechnie znanych, zawartych w zaświadczeniu certyfikacyjnym wydanym przez Narodowe Centrum Certyfikacji na wniosek Ministra Gospodarki. -z tego wynika, ze Certum świadczy centralnie o ważności wszystkich certyfikatów w Polsce.


  4. Zakończenie budowy i organizacji Centrum Danych 30 września 2006 r. zakończył się rozpoczęty 1 lipca 2004 r. projekt "Budowa i organizacja Centrum Danych realizującego misje krytyczne" dofinansowany w ramach Sektorowego Programu Operacyjnego Wzrost Konkurencyjności Przedsiębiorstw, poddziałanie 2.2.1.


  5. Struktura cennika Certum - wszystko jest płatne - cena biblioteki API dla dewelopera wynosi około 4000 zł (nett), nawet runtime dla użytkownika końcowego (skandal - to wcale nie pomoże w upowszechnieniu podpisu w Polsce!)
  6. Sigillum też przygotowało bibliotekę API - cena około 5000 zł

Ciekawostki, zagwozdki

Witam!

Łącza na dziś (5.12.2006)

  1. Portal www.developer.com - zawiera pod portale: jars, codeguru, earthweb, jguru, gamelan
  2. http://www.developer.com/net/asp/article.php/3644731 - ASP.NET Tip: Testing Web Sites with HttpWebRequest
  3. http://www.developer.com/net/net/article.php/3643406 - .NET Tip: Testing Network Services with the TcpClient Class
  4. http://www.developer.com/net/article.php/3483116 - annual awards 2005
  5. http://www.developer.com/tech/article.php/1557921 - to samo ale dla 2003 roku, zwyciężył Microsoft Visual Studio .NET oraz C#
  6. http://www.developer.com/lang/other/article.php/3637156 - Top 10 articles za zeszły miesiąc
  7. http://www.developer.com/net/asp/article.php/981571 - Programming WebForms
  8. http://www.developer.com/tech/article.php/607001 - Building client-side

Lekkie bazy

Expresso, komu? Zacięta rywalizacja na rynku baz danych typu Express. Mamy już do wyboru:

  1. MS SQL Server 2005 Express Edition,
  2. Oracle udostępnił Oracle 10g Express Edition (Oracle Database XE),
  3. IBM wystąpil z ofertą DB2 Express-C
  4. Do tego dołączyli się MySQL z MySQL Community Server (wersja open source, wersja komercyjna nosi nazwę MySQL Enterprise).

Co wybrać? Ostatnio do parametrów doszło kryterium "bezpieczeństwo" - okazało się niedawno, że SQL Server jest bezpieczniejszy od Oracle 10g. Bazowe parametry:
  1. wydajność,
  2. intergracja z systemem operacyjnym,
  3. skalowalność,
  4. wsparcie dla dodatkowych technologii (XML, raportowanie, CLR, Java),
  5. uzbrojenie (narzędzia do rozwoju aplikacji i zarządzania bazą)
  6. wsparcie dla różnych platform (Linux, Unix, Windows)

poniedziałek, grudnia 04, 2006

ActiveX

Jajko czy kura?

Ten odwieczny problem znalazł swoje postać w pytaniu związanym z .NET:

Co lepiej wstawiać? WinForm do WebForm czy WebForm do WinForm?

Na stronach http://www.codeproject.com/cs/miscctrl/htmlwincontrol.asp?df=100&forumid=17987&exp=0&select=1461081 opublikowano sposób właczenie WinForm do WebForm. Pozwala to na włączenie bardzo zaawansowanych kontrolek w stylu ActiveX osadzonych w WinForm do stron internetowych (WebForm). Cenę za co musimy zapłacić jest oczywiście bezpieczeństwo aplikacji internetowej. "OK, let’s return to web application security 101. Web applications must NEVER trust the client (web browser). This is gospel whether the web page interfaces use JavaScript, Flash, ActiveX, Applets, AJAX or any other protocol or language. Every developer should be aware that basic HTTP proxies may alter anything about the HTTP request, even those generated by XHR. Great care should be taken to ensure that all security checks are performed on the server--no exceptions." - cytat ze świetnej pracy na temat rzekomego niebezpieczeństwa stosowania technologii AJAX, który znajduje się na stronach http://www.whitehatsec.com/home/resources/articles/files/myth_busting_ajax_insecurity.html. Nigdy nie ufaj klientowi - to stara zasada i odnosi nie nie tylko do klasycznego rozwiązania (przeglądarki internetowej), ale również i do innych form np. widgetów z Opery czy Yahoo.

Przechodzimy do tematu starego jak świat "uruchamianie ActiveX w środowisku nie IE". Na szczęście mamy parę sprawdzonych rozwiązań dostepnych dla technologii Mozilla. Na stronie http://www.iol.ie/~locka/mozilla/plugin.htm jest wtyczka (plug-in) do wersji FireFox 1.5. Do tego jest świetny artykuł na codeguru o tym jak "Kod zarządzany na stronach WWW (kontrolki .NETw IE)" - http://www.codeguru.pl/article-643.aspx a na codeproject jest inny "Simple way to expose a .NET WinForm control as an ActiveX control in any HTML page" - http://www.codeproject.com/cs/miscctrl/htmlwincontrol.asp?df=100&forumid=17987&exp=0&select=1311281#xx1311281xx (efekt wyszukania w gg 'embedding Winform in WebForm') do tego świetna recenzja ""I suppose that many people find this link like I did and think ActiveX is the only way to expose WinForms to the browser. This is not the case nor is it the best or reccomended method. Please review the following link: http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsIeSourcing.aspx This is a much simple and straight forward way of embedding .Net WinForms inside of Internet Explorer. I want to add that this is not meant as a diss on the author of this article. He has a good solution to try to expose .Net control as an ActiveX object. I just believe that is not what people are really looking for when they find this. They just require a good way of embedding WinForm inside Internet Explorer"

Jajko czy kura?

Jajko czy kura?
Ten odwieczny problem znalazł swoje postać w pytaniu związanym z .NET: Co lepiej wstawiać? WinForm do WebForm czy WebForm do WinForm?
Na stronach http://www.codeproject.com/cs/miscctrl/htmlwincontrol.asp?df=100&forumid=17987&exp=0&select=1461081 opublikowano sposób właczenie WinForm do WebForm. Pozwala to na włączenie bardzo zaawansowanych kontrolek w stylu ActiveX osadzonych w WinForm do stron internetowych (WebForm). Cenę za co musimy zapłacić jest oczywiście bezpieczeństwo aplikacji internetowej.

AJAX - brzytwa w rekach malpy?

"OK, let’s return to web application security 101. Web applications must NEVER trust the client (web browser). This is gospel whether the web page interfaces use JavaScript, Flash, ActiveX, Applets, AJAX or any other protocol or language. Every developer should be aware that basic HTTP proxies may alter anything about the HTTP request, even those generated by XHR. Great care should be taken to ensure that all security checks are performed on the server--no exceptions." - cytat ze świetnej pracy na temat rzekomego niebezpieczeństwa stosowania technologii AJAX, który znajduje się na ższych stronach . Nigdy nie ufaj klientowi - to stara zasada i odnosi nie nie tylko do klasycznego rozwiązania (przeglądarki internetowej), ale również i do innych form np. widgetów z Opery czy Yahoo.

Każda przeglądarka ma wbudowany mechanizm wspierający XMLHTTPRequest (XHR). Istotą aplikacji typu Web 2.0 jest pobieranie danych z różnych trzecich serwerów w ten sposób doprowadzając do słynnego "mesh-up" czyli misz-masz. Stwarza to określone zagrożenie dla odbiorcy aplikacji. Na szczęście XHR technologia nie zezwala bezpośrednio na tego rodzaju sztuczki. "XHR has security protections built-in, preventing a user’s browser on Website A from making connections to Website B." Ale są różne obejścia tego ograniczenia. Rozwiązanie polega na stworzenie serwera pośrednika w domenie internetowej tzw. proxy (najczęściej na serwerze internetowym witryny). Odwołanie do witryny B ma przez serwer proxy taka postać http://websiteA/proxy?url=http://websitesB/ - w ten sposób proxy przekazuje żądanie z witryny A do witryny B. Wten sposób można ominąć ograniczenia XHR i apliakcja nie przesyła cookies. Ale w ten sposób witryna A gości odwołania do witryny B. Bezpieczeństwo polega na monitorowaniu do jakich to URL chcą się odwołać strony witryny B. A więc na kontroli i samocenzurze. Odnośnie Cross-Site-Scripting (XSS) to rzeczywiście AJAX na to zezwala, ale stosując wyłącznie JavaScript możemy "osiagnąć" taki sam efekt bez uciekania się do nadmiernej komplikacji w AJAX. Autor (Jeremiah Grossman) zademonstrował to w słynnej prezentacji “Hacking Intranet Websites from the Outside” at BlackHat 2006. Z kolei inna prezentacja pt. “Cross-Site Scripting Worms and Viruses" pokazuje jak możne to osiagnąć poprzez JS.

Zasady bezpiecznej aplikacji internetowej to KROK 1 polegający na:
  1. uwzględnienie aspektów bezpieczeństwa juz na etapie projektowania aplikacji
  2. dogłębne sprawdzania danych podanych przez użytkownika
  3. stosowanie tylko sprawdzonych bibliotek komponentów (dostępnych w branży), obojętne na jakiej licencji (closed lub open source), nie wymyslać na nowo koła (i powtarzać błędy innych) szczególnie przy kryptografii i zarządzaniu sesją.
  4. bezpieczna koniguracja (separacja usług, zasada najmniejszych przywilejów, wyłączenie usług zbędnych oraz komunikatów o błędach)
  5. Stałe poszukiwanie i naprawianie ewentualnych usterek. Stały pomiar i ocena podatności na atak (vulnerability assessment)

KROK 2 polega na nieustajacym monitorowaniu i walidacji rozwiązań.

środa, listopada 29, 2006

Różności

  1. Nowości do ściągnięcia z betanews:
    Opera, SIW, MS XML NotePad , Maxthon, LivePool - gra
  2. Książki:
    - Co z tym Flashem ? Ukazała się książka na ten temat "adds a deep look at the centerpiece of Flash Player's new API: display programming. Enjoy hundreds of brand new pages covering exciting new language features, such as the DOM-based event architecture, E4X (jest to ECMA standard dostępu do XML w JavaScript - wspiera go tylko Mozilla od 1.5; IE 7 nie widzi go (jeszcze), and namespaces--all brimming with real-world sample code. " - Essential ActionScript 3.0: Rough Cuts Version by Colin Mook.
    - JavaScript: The Definitive Guide, Fifth Edition By David Flanagan
  3. Cenna rada:
    Jeśli korzystasz z Internet Explorera, możesz go przystosować do swoich potrzeb. Na przykład - zmienić napis "Internet Explorer" na inny, bardziej ci pasujący. Aby zamienić napis Microsoft Internet Explorer na pasku tytułowym przeglądarki Microsoftu, należy uruchomić Edytor Rejestru (Start Uruchom... regedit.exe) i wejść do klucza HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main.Odszukaj teraz klucz o nazwie Window Title albo utwórz go od nowa - kliknij prawym klawiszem w prawym okienku Edytora rejestru, wybierz Nowy Wartość ciągu "Window Title" (bez cudzysłowów).Wpisz tam dowolną wartość, np. PC World Komputer.
  4. Pomysły: a) dostać się do Google API, które odpowiadają za dostęp do kalendarza (wstawiać tam spotkania), edytora (konwertować) i arkusza (pobierać dane w celu zrobienia grafiki w zewnętrznym oknie). b) Tabulatory (Yahoo extension lub mój z domu), okna tworzone w kodzie (strona z DHTML sprzed 2-3 dni), persistence (w IE).
  5. Przykłady online do AJAX - http://www.parkerriver.com/ajaxhacks/ (mam też na dysku)
  6. Ciekawe łącza:
    http://developer.mozilla.org/en/docs/DOM:window.open - tworzenie okien modalnych i zmodyfikowanie standardowego zachowania obiektu window. Wszystko zależy od ustawień . Ciekawe ustawienia:
    dependent - If set to yes, the new window is said to be dependent of its parent window. A dependent window closes when its parent window closes. A dependent window is minimized on the Windows task bar only when its parent window is minimized. On Windows platforms, a dependent window does not show on the task bar. A dependent window also stays in front of the parent window. Dependent windows are not implemented on MacOS X, this option will be ignored. In MSIE 6, the nearest equivalent to this feature is the showModelessDialog() method.
    modal - Note: Starting with Mozilla 1.2.1, this feature requires the UniversalBrowserWrite privilege (bug 180048). Without this privilege, it is equivalent to dependent. If set to yes, the new window is said to be modal. The user cannot return to the main window until the modal window is closed. A typical modal window is created by the alert() function. The exact behavior of modal windows depends on the platform and on the Mozilla release version. The MSIE 6 equivalent to this feature is the showModalDialog() method.
    W IE - show....... - działa tak, że może zwracać parametry oraz zamyka się automatycznie kiedy rodzic jest zamknięty (to ostatnie jest w Mozulli też).
    http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/guide/ - kopia devedge - szukaj tam informacji o security w JS.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/servicefactory.asp - doskonały przepis na uporządkowanie WS wg. jakiegoś wzorca.
    http://ajaxian.com/by/topic/javascript/ - wszystko o AJAX
    http://news.com.com/The+A+to+Z+of+security/2009-7355-6138407.html?part=dht&tag=nl.e433 - wszystko o bezpieczeństwie, rozszerzeniach LiveConnect.
    http://www.thinkvitamin.com/features/design/wake-up-and-smell-the-ie7 - wyczuwanie z jaką przeglądarką mamy do czynienia.
    http://portableapps.com/apps - duży wybór aplikacji na FM.
    http://www.networkworld.com/reviews/2006/112706-explorer-firefox-test.html?page=2 - FF vs IE porównanie
    http://news.com.com/Windows+Wi-Fi+vulnerability+discovered/2100-1029_3-6027399.html - Bład w WiFi dla XP - Opis sytuacji "When a PC running Windows XP or Windows 2000 boots up, it will automatically try to connect to a wireless network. If the computer can't set up a wireless connection, it will establish an ad hoc connection to a local address. This is assigned with an IP address and Windows associates this address with the SSID of the last wireless network it connected to. The machine will then broadcast this SSID, looking to connect with other computers in the immediate area. The danger arises if an attacker listens for computers that are broadcasting in this way, and creates a network connection of their own with that same SSID. This would allow the two machines to associate together, potentially giving the attacker access to files on the victim's PC. " Rozwiązanie: "Users with Wi-Fi can disable the peer-to-peer facility by going to "Wireless Network Properties Advanced Network Access Point Choose Infrastructure Networks Only," said Wood. "We recommend people only connect to infrastructure points, although some users may want to use peer-to-peer for head-to-head gaming and file sharing." MessageLabs pointed out that system administrators can also mitigate the problem by blocking ports 135, 137, 138 and 139--which in Sunner's words "should be nailed shut already"--from accepting NetBIOS connections.
  7. Do podglądnięcia:
    Are vendors claiming code to be open source that isn't? Are SugarCRM, Socialtext, Zimbra, Scalix and others abusing the term "open source?" The next time you see the phrase "open source" used in association with some software, be advised that you'll need to take that claim with a grain of salt. READ FULL STORY
    Make Windows XP look like Vista...sort of Adrian Kingsley-Hughes: The Vista Transformation Pack 5.5 is a free download that makes Windows XP look like Vista. There are a few caveats though. READ FULL STORY
    Fixing Microsoft's Windows-development problems Many folks have ideas about how Microsoft can fix the myriad management and technical setbacks that resulted in Vista looking little like the product based on initial "Longhorn" expectations. And they're offering freely their two cents about what ails Windows and how to remedy the problems. Mary Jo Foley also offers her own predictions. READ FULL STORY
    Windows morphing into a Web service?
    Tasty Microsoft leftovers from Thanksgiving weekend READ FULL STORY
    http://docs.google.com/Doc?id=dg6q35cq_37dwfwdq - wzorzec Adaptera pomoga połączyć dwa różne obiekty w klasach
    http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-grid.html - Jak stworzyć WS w Java/Tomcat/AXIS

poniedziałek, listopada 27, 2006

Nowy SharePoint

To czego brakuje produktom bazującym na Star Office to brak wsparcie serverowego tj. nie mają servera dokumentów w rodzaju MS SharePoint. Od niedawna sytuacja ta się może zmienić za sprawą produktu O3Spaces (Holandia) pokazanego już w czasie tegorocznych targów Cbit. Jest to narzędzie do współdzielenia dokumentów. O3Spaces wykorzystuje J2EE ("on top of Apache Tomcat and the PostgreSQL database management system, and is designed to work with any LDAP directory service"). Działa pod Windows i Solaris. Użytkownicy mają dostęp do repozytorium w O3Spaces poprzez OpenOffice (specjalny interfejs webowy bazujący na AJAX lub asystenta tzw. Desktop Assistant - na bazie Javy. Wyszukiwanie dokumentów odbywa się dla formatów pdf, OpenOffice's native ODF and Microsoft Office.

poniedziałek, listopada 20, 2006

Ciekawe linki do Java

Zasoby o Javie -

  1. http://jdn.pl/node/197
  2. http://www.ploug.org.pl/materialy.php?action=k04
  3. http://java.sun.com/products/javacomm/ - Java obsługa portu COM
  4. http://www.codeproject.com/vb/net/Comport_made_simple.asp - VB obsługa portów COM

Zasoby na temat serwera SQL 2005 Express

Pożyteczne łącza na temat SQL Server 2005 Express

Resources

Community

Replikacja

Wazne - rozwiązanie problemy pobierania danych z odległych baz u klienta. Postawić u nich lokalny serwer HTTP (apache np.) i poprzez niego uruchamiać procedury kontaktujące się z lokalną bazą danych i wysyłajace do odbiorcy strumień odpowiednio sformułowanych danych. Takie rozwiązanie wydaje się lepsze od róznych odmian rsh (rexec, winrsh itd)

piątek, listopada 17, 2006

Wieczor 17 11 2006

Ciekawe linki 17.11.06

Wieczór :
Jserv - znanego twórcy JSP - http://www.magiccookie.com/computers/apache-jserv/ lub JRun
zamów konferencję podpis + warsztay z MS
LeftHand

MVC>=PEM

Przygotowując się do warsztatów z MS VFP 9.0 ( ostatniego produktu RAD firmy Microsoft wspierającego aplikacje dla środowiska Win32 API) doszedłem do wniosku, że cała wrzawa wokół wzorca MVC jest przereklamowana - VFP od wersji 3.0 ma taki model wbudowany, nazywa się PEM (Properies Events Methods) i był (niestety) wspierany przez inne aplikacje COM+ (MS Access, VB). Oczywiście ten model nadal istnieje na platformie .NET.
Nic nie stoi na przeszkodzie aby z niego korzystać, choć modne trendy mówią o konieczności korzystania z innych wzorców np. ze wspomnianego MVC.
Nawiasem mówiąc w VFP też można te inne wzorce implementować, ale robi się to sztucznie (wymaga wielu zabiegów), najbardziej naturalnym jest dla VFP stary ale skuteczny model PEM.
I tu się przejawia znana zasada dualizmu: aby dojrzeć sedno jakieś rzeczy należy na nią spojrzeć z innej perspektywy, a wtedy dojrzy się wiele ciekawych i nowych elementów.

czwartek, listopada 16, 2006

Nowe linki z JAVA

Ciekawe linki 17.11.06
http://www.zamzar.com/ - przekształcanie formatów plików działające on-line
http://www.alistapart.com/articles/supereasyblendys - Alist apart
http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/ - O formularzach, CSS i generatorach HTML
http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/
http://www.acsu.buffalo.edu/~djtaylor/genius.htm - jak zostać geniuszem
http://pixer.us/ - edycja zdjęć on-line
http://www.pdfpad.com/sudoku/ - wydrukuj sobie za darmo np. sudoku, papier kratkowany, papier nutowy itd.
http://english.aljazeera.net/News - no comments
http://www.codeproject.com/jscript/javatojs.asp - Java to JS communication
http://www.codeproject.com/java/remoteshell.asp - Executing on Remote
http://www.codeproject.com/java/javacom.asp - wstaw IE do programu w Javie
http://open.itworld.com/5040/nlsnunixchecksum061116/page_1.html - porównanie plików w Unix przy pmocy MD5
http://www.codeproject.com/dotnet/NET_WS_with_AXIS.asp - Consuming .NET WS with Apache AXIS
http://www.codeproject.com/csharp/porting_java_public_key.asp - Porting Java Public Key Hash to C# .NET
http://www.codeproject.com/jscript/JscriptRSA.asp - Encryption - RSA implemented through Java Script to Encryt/Decrypt data
http://www.codeproject.com/java/jnibasics1.asp - naprawdę podstawy, JNI Basics

Wszyscy to wiedzą ale nikt o tym nie mówi

  1. Firma TrendMicro - udostępnia również jak i inne firmy skanner online. Jego instalacja odbywa się poprzez technologię ActiveX (zresztą tak działają wszystkie przeglądarkowe skanery) i jakoś to działa. Dziwne, że nikt nie zrobił skanera dla Mozilli. Może jeszcze za mały rynek dla tych rozwiązań.
  2. Użyteczne programy: ba.exe - bios agent do poznania wszystkich wersi BIOS (ważne gdy chcemy go zaktualizować), PC-Clean do czyszczenie systemu, PC Wizard + CPU Z.
  3. Siatki do wyświetlania danych - danych w większości przypadków jest dużo, nie mieszczą się na ekranie (formularzu, stronie webowej). Zachodzi potrzeba ich porcjowania. Problemów jest wiele: porcjowanie ma być elastyczne (podawać można jako parametr liczbę wierszy do jednorazowego wyświetlenia), wydajne (nie pobieramy od razu wszystkich danych do pamięci operacyjne lecz jedynie tzw. porcje), efektywne (zwalniamy pulę połączeń z bazą). Aby porcjowanie miało sens musi mieć wsparcie w motorze bazy danych, np. instrukcja SQL SELECT musi wspierać możliwość ograniczenia pobrania danych (FIRST 10, LIMIT 10). Musi być także jakiś mechanizm zaznaczania aktualnej pozycji w tabeli (MS nazywa to bookmark). Do problemu wykorzystania mechanizmów motora bazy można podejść dwojako Należy przeszukać możliwości w zakresie zaznaczania porcji danych w mechanizmach metod dostępu poprzez ODBC (sprawdzone - te mechnizmy działają, patrz przykład w tabelce poniżej)/ JDBC (lub ich odpowiedniki w innych językach np. ADODB w PHP) lub też podejść na niski poziom i wykorzystać specyfikę polecenia SQL SELECT dla danej bazy (korzystać z ROWID, FIRST, procedur wbudowanych) oraz specyfiki aplikacji (specjalne wykorzystanie kluczy głównych). Tak czy inaczej jest to trudny problem dla developera i raczej lepiej zdać się na jakieś gotowe narzędzia, za które czasami trzeba trochę zapłacić. A warto, gdyż możemy od razu skupić się na merytoryce zagadnienia szczególnie gdy klient chce od siatki sortowania, przesuwania (w lewo/prawo) i sortowania kolumn. Czasami mamy szczęście i w danym języku czy środowisku programowania mamy wbudowane takie narzędzia (.NET ma DataGrid, PHP ma tzw. pager'a - notabene kiepsko u niego z wydajnością, JDeveloper/Netbeans oferuje siatki danych całkiem dobrej jakości).
  4. Alternatywne podejścia: Inna sprawa to filozoficzna, czy możemy użytkownikowi ukryć dane przez pokazanie mu tylko ich części. Czasami nieświadomy użytkownik szuka jakiś danych na ekranie i stweirdza, że ich tam nie ma (a tym czasem są one na następnych stronach). Przy takim potraktowniu problemu można zrobić tak: użytkownik niech sam określi zapytanie i wybierze jakie dane chce oglądać (nalezy mu udostępnić filtr selekcji bazujący na jego wiedzy o tym co chce zobaczyć + Limit ilości wybranych wierszy w zapytaniu). Nie czarujmy się zbyt dużo danych i tak nie przeanalizuje.
    Dane mają być porcjowane nie na serwerze ale u klienta. W tym przypadku klient pobiera dane z serwera i wkłada do pojemnika lokalnego zwalniając zasoby połączeniowe z bazą (oddając do puli połączenie). Dzięki temu wszystkie operacja odbywają się lokalnie (na sprzęcie skądinąd coraz bardziej wyrafinowanym). Tak myśli MS - tzw. offline dataset. Nawiasem mówiąc VFP w wersji miał pojęcie tzw. offline table. Dane są przetwarzane lokalnie. Najważniejsze jest to co będzie potem - synchronizacja z danymi na serwerze. Wybrano metodę optymistyczna tj. wolno wszystko edytować i zmieniać a dane są zapisywane do bazy centralnej zakładając, że nie ma konfliktów. Ważną sprawą jest wybór pojemnika klient, może to być nawet przeglądarka internetowa lub coś bardziej skomplikowanego.
  5. Zasoby serwerowe:
    http://www.codeproject.com/useritems/DBGrid.asp - DataGrid for JSP
    http://jakarta.apache.org/taglibs/sandbox/doc/datagrid-doc/index.html#dataGrid - Jakarta: Data Grid tag library
    http://www.nitobi.com/products/grid/demos/ - Nitobi Grid
    http://www.scripts.com/java-scripts/database-tools/ - Lista projektów, zazwyczaj są one płatne
    http://forum.java.sun.com/thread.jspa?threadID=781290&messageID=4443858 - Forum na temt stronicowania
    http://www.netbeans.org/products/visualweb/ - Visual Web w NetBeans (pakiet NetBeans Visual Web Pack) wymaga samego NetBeans'a
    http://www.dotnetindex.com/articles/18_Paging_Records_in_JSP.asp - Stronicowanie ale dla MySQL
    http://www.aspgrid.com/ - naprawde dobra chociaz wykonana w technologii ASP. (jest jeszcze dbgrid)
  6. eb grid - enterprise business application - kontrola ebgrid

wtorek, listopada 14, 2006

Nowosci dnia

  • Powstaje nowy standard sieci wireless 802.11 i nazywa się pre-N (IEEE 802.11n working group (task group N)), połączenie tych nowych sieci tzw. pre-N Networks (stosuje ona of multiple-input, multiple-output (MIMO) charakteryzuje się dużą przepustowością oraz, co może być niebezpieczne - dużym zasięgiem) ze starymi może stanowić zagrożenie dla bezpieczństwa oraz może powodować zakłócenia pracy starych sieic. Opisuje to artykuł - "Security issues with pre-802.11n wireless gear" w ComputerWorld.
  • Google podobnie jak to wcześniej zrobiła konkurencja, wprowadził do swoich blogów i dokumentów współdzielonych online tzw. tagi to jest znaczniki (markery) ułatwiające przeszukiwanie dużych ilości informacji zgromadzonych w blogach. Takie słowa kluczowe nie tylko ułatwiają wyszukiwanie wybiórcze (nie wg. formy ale intencji/zawartości merytorycznej), ale również pozwalają firmie wybrać odpowiednio skierowaną reklamę (pod kątem treści i zainteresowań odbiorcy). Nowością wprowadzoną wczoraj w czasie przerwy konserwacyjnej w seriwsie Google jest automatyczne zapamiętywanie treści wprowadzonych informacji.
  • Wszytkie liczące się firmy Internetowe jak Amazon, Yahoo (YGIU), Google (google API) i MS (Atlas) dostarczają narzędzia dla deweloperów chcąc poprzez to przywiązać ich do swoich serwisów i usług.
  • Sun udostępni swój kod Java na zasadzie licencji GPL wersja 2 (obecnie prowadzone są prace nad licencją w wersji 3) - http://news.com.com/2100-7344_3-6134584.html - wersja Mobile i Standard będą dostępne na stronie Java.net (tj. Java Platform Micro Edition (Java ME) dla komórke i Java Platform Standard Edition (Java SE) dla aplikacji desktopowych). Wcześniej Sun udostępnił na zasadzie CDDL - wersję J2EES (projekt GlassFish ). trategia Sun jest odpowiedzią na konkurencyjne projekty w obrębie APACHE (projekt Harmony który wystartował w maju 2005).

SAMBA - sikoreczka

Czego boi się SAMBA - ruch Novella w kierunku MS stanowi zagrożenie dla twórców rozwiązań open-source gdyż Novell wyłamuje się z szyku wspierajacego ten ruch (oraz copyright jako formę ochrony praw autorskich) i staje po stronie zwolenników patentów. Novell może się spotkać z nieprzyjemnościami w społeczeństwie open-source w którym do tej pory działał aktywnie. SAMBA boi się konsekwencji wykorzystanie w swoim produkcie opatentowanych przez MS formatów. Produkty SAMBA firmowane przez Novell są w świetle porozumienia z MS wolne od tego zagrożenia.Cóż przyszła kryska na matyska.

Zabójca Flasha

Niebawem MS udostępni w ramach programu Community Technology nowy produkt Preview of WPF/E (bazuje na Windows Presentation Framework - jednego z trzech filarów .NET 3.0) o możliwościach zbliżonych do Flasha (wzmianka o nim była na PDC 2006 i MIX'06). Pozwala na programowanie w JavaScript oraz XAML, do tego wymaga minimalnego wsparcia między platformowego run-time CLR oraz .NET z C# lub VB. Ma być dostępny również w telefonach komórkowych i aplikacjach desktop (wogóle wszędzie gdzie MS oferuje swoje produkty). Nie jest to naśladowanie Flasha. Dostepność - niebawem.

niedziela, listopada 12, 2006

Ken o historii VFP

Enduring adventures to Antarctica and Microsoft
I was inspired to blog this entry based on a comment posted by Danny Thorpe on my recent blog post I made about Shackleton's adventure story in Antarctica, where he commented:
If you have a yen for travel, it's possible to retrace Shackleton's steps yourself. Lindblad Expeditions runs an extended photography tour about once a year (see: http://tinyurl.com/9xadr) on the polar explorer ship "Endeavor" that usually includes stops at South Georgia Island and at Point Wild on Elephant Island. In the few days at sea without landings, the Lindblad staff dig into the Shackleton story in amazing detail. There's nothing quite like actually being there. http://tinyurl.com/loggf.I've heard about this photography adventure trip to Antarctica. In fact, Susan Graham who I use to work with here at Microsoft (who worked at Fox Software and then Microsoft retired in the late 90s) actually went on that same trip to Antarctica in January 2004. She is a close friend to this day, and after her trip to Antarctica she showed me some photos when she returned. The photos were pretty amazing and she said the trip was far more spectacular than she had anticipated. She went on the trip with a friend, and the boat had about 200 people on board. The story goes that she was on deck during the boat ride out of Argentina heading for Antarctica when she heard a voice say "Susan, is that you?". The person who recognized her was actually the former president of the company she use to work for years ago at Fox Software, Dr. Dave Fulton, who went on to become the head of database strategy at Microsoft in the early 90s after Microsoft bought Fox Software. What are the odds of meeting someone you know on a boat to Antarctica?? I guess we could say: Big continent, small world. Just before that trip, Susan had finished a project as executive producer of a documentary called 200 Cadillacs which details the generosity of Elvis Presley, including details of how he cars as gifts to people. I guess word got around on the boat about this documentary and they ended up playing the Elvis documentary one night for the travelers and crew on the boat. When we launched Visual FoxPro (VFP) version 9.0 at DevCon in late 2004, in the keynote session I showed a photo of Susan and Dr. Dave from that trip as well as a recent video interview Susan did with Dr. Dave talking about the past and present FoxPro days.For a good quick summary of Dr. Dave Fulton's role in the evolution of desktop databases on PCs, below is an abstract from a session given by Jeb Long at a Visual FoxPro conference in 2004:
dBASE and FoxPro from Jeb Long perspectiveWhere did VFP (Visual FoxPro) come from? Well, in this session, you will learn. It all began in 1973 at the Jet Propulsion Laboratory in Pasadena, California, USA, when a database management system was born called JPLDIS. In 1979, Wayne Ratliff working as a contractor at JPL, wrote a program to help him with football pools, called Vulcan. Vulcan was based on JPLDIS. Vulcan ran on an 8-bit 8080 microcomputer running under CP/M. George Tate started Ashton-Tate to market Vulcan (renamed dBASE II) for Wayne. Then Jeb Long (who created JPLDIS) converted dBASE II to run on the IBM PC under MSDOS and dBASE II became famous. Jeb and Wayne left JPL to join Ashton-Tate and developed dBASE III. Meanwhile Dr. David Fulton and some of his computer science students thought dBASE III was a terrific program so they cloned it resulting in FoxBase+. Ashton-Tate developed dBASE IV and sued Fox Software. Fox cloned dBASE IV and produced FoxPro 2.5. Ashton-Tate was bought by Borland. Borland dropped the lawsuit. Fox Software merged with Microsoft and the rest is history.
In the early 90s, I had successfully used FoxPro 2.0 DOS version as a touch screen front end in a public safety dispatch product used by various agencies including the California Highway Patrol communications center. It was rare to use FoxPro in a mission critical real-time application rather than a traditional accounting or inventory application back then. I had shown the FoxPro based application to Hal Pawluk who at the time was a key marketing guy at Fox Software. After FoxPro was bought by Microsoft in '92, word got around to a few people the details of the way I was using FoxPro in a mission-critical product. In 1992, one of the FoxPro product managers was Tod Neilsen, who invited me to a database summit meeting at Microsoft along with about 50 well known FoxPro industry experts and influencers. We got to meet the newly merged FoxPro team, Bill Gates, Steve Ballmer, Mike Maples, Dr. Dave Fulton, and others. At an evening dinner at Bill Gates' old house, I happen to get in line for dessert just before Bill did and I ended up talking to him about the FoxPro application that I wrote for use by public safety dispatch systems. He was curious about it and asked to see a demo. The following month I ended up meeting Bill again and I spent about 15 minutes showing him a demo of demo of the FoxPro based application I had designed and developed. Dr. Dave Fulton was one of the people in the hotel suite for that meeting.At the dinner at Bill's house, I sat at the table with about 5 other people including Adam Green and Tom Rettig. It was the first time I had met Adam Green, who was then probably the most well known industry guru in the dBase community. Tom became a close friend of mine soon after that event, and I use to hang out at his place in Marina Del Rey fairly often and I would go to his various annual parties. Sometime in 1995, I was over at Tom's apartment one evening. He and I had just come back from dinner at Benihana's down the street, walking distance from his place. When suddenly there was a knock at his door, it was his next door neighbor who had locked himself out of his own place and needed to hop over to his balcony to get in. His next door neighbor was Roger Clinton, former president Bill Clinton's half brother. Roger was a fun guy who was a musician, he would come to Tom's parties, and you wouldn't have guessed that his brother had just become president. I recall being the first geek on the block to have a handheld laser pointer, and when I let Roger try it out he ended up spending more time with it than I did shining it on boats going in and out of the harbor at night.In 1993 I went to work as a contractor at JPL working on FoxPro based add-on productivity tools and OOP related efforts for teams developing various MIS solutions, While there I got to meet Jeb Long. In some ways, Jeb was the original developer who's program lead to the first database applications on the personal computer. That year I wrote a utility called GenScrnX that extended the FoxPro 2.x GenScrn program. The first person I showed GenScrnX to was Y. Alan Griver (yag), then co-founder of Flash Creative Management. I joined Flash in 1993 after JPL reporting directly to yag working on add-ons that shipped in the box of Visual FoxPro 3.0 like the Class Browser. Eric Rudder was the group program manager and architect for VFP 3.0. Many of the great OO and data-centric features added to VFP 3.0 have continued to evolve in VFP as well as into Visual Studio as well as the VB and C# .NET programming languages. When the VFP 3.0 Xbase projects ended when VFP 3.0 was released, I left Flash and became a full-time contractor at Microsoft working on the VFP team. Flash ended up being bought by GoAmerica where yag became CIO, then yag joined Microsoft in early 2002 and soon after was the of the VS Data and VFP teams, and I reported to him directly (again). I also worked with lead program manager Randy Brown and lead developer Calvin Hsia working on VFP past the release of version VFP 9.0.I was inspired to write my GenScrnX utility for FoxPro 2.x after I had seen a demo of an early preview of Borland's dBase for Windows shown at a user group by then Xbase industry expert Adam Green. The next time I was to meet up with Adam Green was just a few weeks ago at the Mashup Camp event in Mountain View, Calif. I chatted with Adam at the Mashup Camp event for about 30 minutes. He showed me on his notebook computer that he still uses Visual FoxPro today to build his own desktop database applications - there were Fox icons all over his Windows desktop. Some of our chat included the past and other parts included why we were at the event - to learn more and discuss mashups and possible tangible outcomes of what is being called the Web 2.0. These days, Adam Green spends most of his independent business efforts in the Web 2.0 area, just as I do in my new role in the Windows Live Platform team. I discovered that Adam now has a great blog http://darwinianweb.com/. He also has an archived blog at http://adamgreen.org/ where he has some great MP3 podcast shows. For historical references on the topic of Xbase history, a great podcast Adam created is Software Stories #6 about the rise and fall of Ashton-Tate and the details of how the company was bought by Borland. This particular podcast is a interview is with Ron Dennis, Russell Freeland, Rick Chapman, and Hal Pawluk. Lots more Ashton-Tate history details on Wikipedia.After Borland bought Ashton-Tate, Borland had some very well known developer tools industry experts including Anders Hejlsberg who created Turbo Pascal and started Delphi. Anders is now at Microsoft and is the lead architect of C#. Some additional irony here is that I recently spent nearly 5 years as the product manager for Visual FoxPro, the same job Tod Neilsen had over 12 years ago. Tod recently became the CEO of Borland. If I talked to Tod today, I would thank him for inviting me to the database summit at Microsoft in 1992. For some interesting history about Delphi, Danny Thorpe wrote an article on Borland's web site Why the name "Delphi?". In a quick photo image search on "Danny Thorpe" using live.com, I found a photo of Danny Thorpe in Antarctica taken in November 2003. This means Danny was probably on the boat trip to Antarctica just before the one that Susan Graham and Dr. Dave Fulton were on in January 2004.In late February 2006, I moved from the developer division here at Microsoft and joined the Windows Live Platform team as a product planner on Scott Swanson's team. Scott is a group product planner for Windows Live Platform and has a strong developer background. He was on the VB and VSCore team's here at Microsoft and worked recently worked on the Messenger Activity SDK. Defining the 'platform' in the Windows Live Platform team, the platform is about working on unified API roadmap across all Windows Live services, to release great new content online such as SDKs and sample code, as well as new developer community activities. Some Now back to how this all relates to Danny's comment submitted on my post Endurance and leadership of Sir Ernest Shackleton... Like some memorable movies endings like in the Sixth Sense and the original Twilight Zone TV show, this post as a bit a twist at the end.Danny Thorpe, former Chief Scientist at Borland, left Borland 4 months ago and joined Google. This week (on April 10, 2006) Danny Thorpe joined Microsoft to work on the recently formed Windows Live Platform team. Danny is joining George Moore's team, a rapidly growing team working on new developer focused projects for Windows Live services and APIs. Nearly all of my responsibilities as a product planner on the Windows Live Platform team involves working with George's new team. Danny Thorpe's created a new blog today at http://blogs.msdn.com/dthorpe/. While there might not be much going on in Antarctica, there is rolling thunder activity going on here at Microsoft in the Windows Live division.

czwartek, listopada 09, 2006

Nowy SOA dla Eclipse

Nowe marzędzia przybliżające SOA dla Eclipse:
  1. firma iTKO - ISA WS-Testing, a single-user version of its LISA 3.5 Complete SOA Testing Platform www.itko.com/ws-testing

PHP z Javą (jak pies z kotem czy...?)


Adaptacja PHP w korporacyjnym środowisku jest coraz większa. Powoduje to konieczność skorzystania z istniejących w tym srodowisku komponentów napisanych J2EE w Javie . Dla przykładu weźmy WebSphere Application Server jako zaplecze oraz front w postaci Zend Platform (z uwagi na PHP/Java Bridge - służący do wywoływania komponentów Javy z kodu PHP ). Są dwa sposoby współpracy:
  • Web Service - usługi webowe, narzędzia do tworzenia i pobierania ich są wbudowane w PHP 5 (korzysta z przeładowania metod)
  • most PHP/Java Bridge - middleware wbudowany w Zend Platform do manipulowania obiektami Java jakby to były obiekty PHP.
Na podstawie artykułu: Achieve J2EE-PHP Interoperability

Web 2 w ataku

  1. Intel ogłosił ciekawą inicjatywę wraz z SpikeSource (organizacja open source tzn. BIERZE pienądze za usługi, wartosc dodaną) - zebrał niektóre aplikacje Web2.0 do kupy i udostępnił je jako usługa dla małych firm (podobnie uczynili to wczesniej MS i Google). Patrz * na dole. Oprogramowanie to jest zintegrowaną ofertą produktów wczesniej dostępnych na rynku jako indywialne pakiety i będzie kosztowac ok. 200 dol rocznie (w subskrypcji).
  2. Produkt nazywa się SuiteTwo i zawiera oprogramowanie z: Six Apart, Socialtext, NewsGator and SimpleFeed (aplikacje do obsługi blogów, strumieni RSS, wikis i tzw. social networking. Zebraniem tych produktów i ich integracją zajął się SpikeSource.
  3. Google chce przechowyać dane użytkownika (arkusze, dokumenty) w sieci a nie na dyskach lokalnych (porównuje to z przechowywaniem pieniedzy na koncie zamiast w kieszeni) przez co są łatwiej dostępne i umozliwiają pracę zespołową - idea ciekawa, ale co z prywatnoscią - jak będzie ona zabezpieczona. Google MUSI dać ludziom gwarancję BEZPIECZEŃSTWA i JAKOSCI USŁUG, dopiero wtedy mozna mówic o powaznym wykorzystaniu tego serwisu. Mozna pogodzić te dwa sprzeczne wymogi w ten sposób, ze dane będą jednak przechowywane na dysku uzytkownika tak na "wszelki wypadek". Jest to wskrzeszenie idei network computer zapoczatkownej przez Sun, ale nie mogącej się w tych czasach (lata 80) zrealizować.
  4. Atak Google - na początku udostępnił ONLINE arkusz kalkulacyjny i edytor tekstów (zakup Writley) teraz uzupełnił swoją ofertę o narzędzie do pracy zespołowej poprzez strony internetowe (popularnie zwane WIKI) - zakupił JotSpot. Powód - często uczestnicy aukcji np. eBay wymieniali się informacjami na temat zakupów własnie poprzez "wiki".

Uwagi *)

Starting with e-mail, Google has been launching Web-based services and software in a move seen by many as encroaching on Microsoft's turf. Microsoft has responded by revamping its business to focus on Web services under the Windows Live and Office Live monikers.
Google acquired the online word-processing application Writely in March and launched Google Spreadsheets in June. Google recently opened Writely up to the public.
Google also sells a product to corporations and organizations that they can offer their employees and members for free called Google Apps for Your Domain that ties together Web-based e-mail, calendar, chat and Web page publishing. <- na podstawie artykułu w: http://news.com.com/Google+combines+word+processing%2C+spreadsheets/2100-1032_3-6124593.html?tag=nl

środa, listopada 08, 2006

Ciekawe linki

http://www.javaworld.com/javaworld/jw-11-2006/jw-1101-netbeans5.html - co daje netbeans:
  1. New features in NetBeans 5.5 include the Java Persistence API and the Java API for XML Web Services (JAX-WS) 2.0 productivity tools, and support for the open source version-control system Subversion. Also in the new release of NetBeans are enhancements to its GUI builder, work previously carried out under the name Project Matisse.
  2. Sun also released five value-added packs for NetBeans 5.5, including a technology preview of NetBeans Visual Web Pack for developing applications using JavaServer Faces (JSF) as well as a beta version of NetBeans C/C++ Pack, which enables C or C++ developers to use NetBeans alongside their own compiler and tools. The NetBeans Enterprise Pack brings together tools for creating and testing SOA (service-oriented architecture) applications.

poniedziałek, listopada 06, 2006

MS i ZEND

Od niedawna mozna sciągnąc ze strony ZEND tzw. Zend Core for IBM v.1 Windows x86 - czyli PHP specjalnie zoptymalizowany dla MS Windows XP i 2003 Server. Niebawem będzie dostępny rowniez dla Longhorna. Wszystko opiera się na dodatku do IIS -a w postaci modulu FAST CGI.
Jak to ładnie okreslił jeden z założycieli ZEND - powoli ale nieuchronnie następuje komercjalizacja ruchu open-source.

Standardy w SOAP

Z tego co się widzi w obszarze standaryzacji SOAP można wyciągnąć następujące wnioski:
  1. Duże firmy (początkowo IBM i Microsoft) starają się wprowadzić nową technologię ale chcą to zrobić po ludzku i z głową - dlatego powołują ciało, które opracowałoby standard implementacji przemysłowej ww technologii aby móc z niej korzystać i zapewnić kompatybilność między swoimi produktami. Grupa innych oszołomów tudzież innych "znawców" tematu usiłuje im w tym przeszkodzić próbując powołać inne ciała i grupy do opracowania standardów. Przeciw nim przemawia brak doświadczenia przemysłowego a jedynie akademickie zapędy i nie czują potrzeby zrobienia czegość sensownego w sensownym czasie. Jeżeli na dodatek nastąpi w nich rozłam i powstaną inne ciała (jak np. z W3C powstało bardziej pragmatyczne WHAT). MS i IBM (od niedawna również SUN) stworzyły WS-I ale zostały zmuszone do działania na drugim froncie - zgłosiły standard do OASIS, natomiasr "mądre" głowy z W3C sami dalej opracowują swoje stardardy pod tytułem "XMLcośtam" mimo, że formalnie WS-I włączyło ich standardy do siebie.
  2. Standard musi być opracowny szybko i sprawnie. Aby to miało miejsce do tworzenia standardu muszą się włączyć wszyscy potencjalni gracze mający zamiar wypuścić konkretne produkty rynkow. Nie można dopuścić aby część z nich utworzyła konkurencyjną grupę do standardów.
  3. Nie można czekać na naukowców aż oni opracują standard. W tym momencie przy tworzeniu standardu należy oczekiwać opóźnień spowodowanych nie tylko względami merytorycznymi (chęcią objęcia wszystkich możliwych sytuacji i "akademickim" spojrzeniem na rzeczywisytość) ale i politycznymi (zwykła ludzka animozja i nieżyczliwość).

piątek, listopada 03, 2006

Zagrywka MS

Ciąg dalszy historii pojednania MS-Novell. Chodzi o daleko idącą kooperację w tworzeniu heterogenicznych środowisk sieciowych w oparciu o specyficzne systemy operacyjne; mieszankę MS Windows 2003 Server i odmiany Linuxa - SuSe firmy Novell a także unormowanie roszczeń patentowych do patentów MS (file system) i Novell (rozwiązania sieciowe jeszcze za czasów DOS-a i NetWare). Zwrócono uwagę, że specyfika powstania i rozwoju Linuxa jest taka, że tak naprawdę nikt do niego nie ma pełnych praw - stąd utrzymać się jedynie można z usług dodatkowych i wsparcia technicznego tego środowiska. Linux bez wsparcia klientów korporacyjnych nigdy by się nie rozwinął (a wsparcia mu udzielił IBM na przekór działaniom hegemonistycznym Microsoft), nie jest w stanie się utrzymać jako system dla końcowego użytkownika (do tej pory nie przyniósł z racji tego zysku).

Dzięki porozumieniu MS będzie mógł zarządzać siecią heteregenicznych serwerów przy pomocy swych narzędzi - co leży w podstawie wirtualizacji zasobów sieciowych (ostatnio bardzo modny temat).

Ze strony prawa i ochrony własności intelektualnych w.w porozumienie jest nie lada sukcesem ponieważ buduje most między wymogami patentowymi oprogramowania zamkniętego a ogólnodostępnością oprogramowania otwartego.

Z drugiej strony porozumienie jest wykorzystaniem nigdysiejszego wsparcia IBM jakie ta firma udzieliła podupadającej firmie Novell pomagając jej zakupić oprogramowanie zachodnioniemieckiej firmy SuSE. I tu może IBM mieć żal do Novella, że w taki sposób wykorzystało pomocną dłoń podaną jej przez IBM w trudnych czasach. MS utarł nosa IBM.

Novell dodatkowo uzyskuje ochronę przed roszczeniami patentowymi MS i jej wykorzystany przez MS jako PROXY między sobą a klientami chcącymi zainwestować (poeksperymentować) w rozwiązania open source w środowisku MS Windows 2003 Server. Porozumienie doszło do skutku m.in. dzięki temu, że nie ma jednej dystrybucji Linuxa, każda z nich coś dodaje. Klient chcący wypróbować systemy otwarte, jest skonfudowany, nie wie z której z nich skorzystać (każda z nich ma swoją specyfikę, która uwidacznia się dopiero w trakcie implementacji konkretnego rozwiązania) . Teraz ma już tę wiedzę - w postaci jasnego przekazu pochodzącego z góry (tj. od  MS) - chcesz wypróbować Linux? Bardzo proszę, dajemy ci radę i rekomendujemy SuSE Enterprise Linux jako jedyne sprawdzone przez nas rozwiązanie (implementację systemu Linux). Wybierzesz tę właśnie dystrybucję, a nie będziesz miał żadnych kłopotów ze współpracą z naszą siecią MS Windows.

Sprawy ekonomiczne - oczywiście obie firmy dogadały się w sprawie podziału zysku ze sprzedaży przez MS licencji rocznej na użytkownie systemu SuSE oraz opłatami licncyjnymi za wykorzystanie technologii MS w elementach SuSE. Ale nie o to chodzi, analitycy uznali, że główne źródło stałego zysku jest wsparcie techniczne produktu (roczne opłata wnoszona przez firmy korporacyjne).  I tu przechodzimy do clue sprawy - firmy MS będzie największym parnerem Novela w świadczeniu pomocy technicznej dla jego wersji Linuxa. Klient korporacyjny czuje się w komfortowej sytuacji mając wsparcie dwóch poważnych graczy.

Jak zauważył Balmer zaniechanie ścigania korzystania z własności intelekyualnej MS i je praw autorskich jest skierowane WYŁĄCZNIE do klientów końcowych korzystających WYŁĄCZNIE z wersji SuSE Enterprise Linux i żadnej innej dystrybucji tego systemu.

Powyższe porozumienie zmieniło całą chemię środowiska sieciowego - do tej pory zwolennicy obu środowisk wymieniali abstrakcyjne argumenty świadczące o wyższości ich systemu nad drugim. Teraz wszystkow się zmienił - agrumentami jest koszt i wydajność. Batalia o dominację w śrowisku korporacyjnym  jednego systemu operacyjnego nad drugim się zakończyła.

Nowinki

Google oferuje dostęp do gmail poprzez nową aplikację w Javie dla telefonów komórkowych. Jest ponoć szybsza od analogicznego rozwiązania opartego o WAP. Zdaniem analityków taka decyzja GG podyktowana jest chęcią przyciągniecią do poczty gmail całej rzeszy użytkowników tych urządzeń kosztem MS Hotmail i Yahoo Mail.

Novel i Microsoft ogłosiły współpracę ze sobą (wsparcie techniczne dla Suse i zakńczenie wszystkich sporów oraz wymiana technologii a także zwiększenie wymienności systemów operacyjnych i środowiskami sieciowymi). Porozumienie podpisano do 2012 i obejmuje trzy obszary: wirtualizacja, usługi sieciowe w środowisku wirtualnym oraz wymienne formaty dokumentów (szczególnie współpraca Active Directory z eDirectory oraz wymienność między OpenXML i OpenDocument). Taki ruch wyrzedzający MS to wejście na rynek gry win/win (wygrana dla obu stron). Podobnie zrobił Oracle wchodząc w partnerstwo z Red Hat (oferując wsparcie dla klientów), przy okazji zagroził mu przejęciem klientów RH. Ciekawostką jest zakup 70,000 kuponów rocznej subskrypcji Suse przez MS przenaczonej dla potencjalnych klientów (być może rozdawana w formie zachęty do przejścia klientów z Red Hat na Suse).

czwartek, listopada 02, 2006

Tworzenie aplikacji internetowych

Podejście do aplikacji internetowych na bazie technologii AJAX i przeglądarki internetowej (Mozilla lub IE). Można wyodrębnić następujące kroki (warstwy):

  1. Dostęp do danych - Pobranie danych z internetu poprzez stworzenie połączenia ad-hoc z serwerem i wykonanie skryptu po stronie serwera (php, asp, jsp lub coklwiek innego), który pobiera dane (z dowolnej bazy danych) i pakuje je w szczególny sposób (xml, dataset w rozumieniu MS lub JSON)
  2. Logika - Zinterpretowanie tychże danych u klienta (tutaj mamy do dyspozycji jedynie słuszą alternatywę w postaci języków skryptowych wbudowanych w przeglądarkę tj. JavaScript lub VBScript)
  3. Prezentacja - Wyświetlenie pobranych danych przy pomocy DHTML w oparciu o DOM lub BOM (browser object model) lub XUL (mozilla)lub XAML (ms)
  4. Przechowanie stanu aplikacji - na serwerze (zwrotnie wysłanie paczki przetworzonych danych) lub u klienta (mamy do dyspozycji cookie lub wynalazek MS - persistant data)

Takie są możliwści w przypadku użycie jako klienta przeglądarki internetowej. Gdyby zrezygnować z tego założenia możliwości jest znacznie więcej:

  1. Wbudowanie w aplikację "grubego" klienta (PowerBuilder, Visual FoxPro lub C#) przeglądarki do obsługi internetu poprzez skryptowanie jej zachowania. I tu mamy jedyną możliwość - przeglądarkę MS IE.
  2. Poprzez wywoływanie funkcji internetowych (WinHttps lub XMLHttp) wbudowanych w platformę uruchomieniową MS WIndows Client (można też skorzystać z silnika Mozilli gdzie istnieje analog XMLHttp lub w inych językach skorzystać z biblioteki curl)
  3. Warstwa logiki i prezentacji danych jest o wiele bogatsza ponieważ korzysta z dobrodziejstwa inwetarza dostarczanego w danym języku - najczęściej mamy do dyspozycji wszystkie elementy dialogowe występujące w MS Windows Client.

Co nowego

Oprogramowanie "wolne" (otwarte) jest być może odpowiedzią na frustracje młodych ludzi (młodych duchem) dlaczego muszą używać oprogramowania zawierającego "cudze" rozwiązania problemów informatycznych. Mówią sobie "hej, mamy przecież demokrację, nikt nie będzie mi mówił jak mam rozwiązać ten problem. Lepiej będzie jak go sam rozwiążę". I powstają wersje oprogramowania darmowego rozwiązujące jakieś cząstkowe zagadnienia danefo problemu bez szerszej wizji całości problemu. W wyniku tego mamy rozwiązanie problemu, ale musimy się posłużyć wieloma narzędziami (o różnym czasami interfejsie). No cóż programować każdy może, jeden lepiej drugi gorzej... Dodatkowo ludzie podchodzący do rozwiązania jakiegoś problemu z góry traktują inne rozwiązania i bez szacunku do innej pracy robią często wszystko od nowa.

Dostępne jest oprogramowania SQLDBX - do podłączenie się do różnych baz danych. Zobaczymy jaka jest jego wartość.

Projekt Jepp dorósł już do wersji drugiej. Umożliwia wywołanie interpretera Python z poziomy oprogramowania napisanego w Javie (osadzenie Pythona w środowisku Java). Kiedyś był interpreter JPython ale jakoś został zapuszczony. Innym podejściem do problemu jest JPype - pozwalający na dostęp do możliwości Javy z poziomu języka Python, w ten sposób rozszerzający ten oststni język o biblioteki Javy. Tak prawdę mówiąc po co ta ich szamotanina skoro i tak mają mały wpływ na rynku rozwiązań korporacyjnych (nad projektami tymi pracuje po 2 deweloperów). Już lepiej obserwować co robi w tym zakresie np. Sun - wspierać zamierza Ruby,  jako główny język skryptowy.

Co więcej "waży"? Pełnokrwista aplikacja w Javie klienckiej czy "zamrożony" skrypt w Pythonie? Ten pierwszy wymaga instalacji JVM (dołączenie własnego środowiska wykonywalnego Java tzw. run-time, około 15 MB, ten drugi około 1 MB po potraktowaniu skryptu programem "freeze" dołączającym  parę DLL). Wybór należy do Ciebie, ale pamiętaj o szybkości prototypowania w Pythonie).

Firmy MS i Zend ogłosiły, że rozpoczynają prace nad optymalizacją PHP w środowisku IIS pod Windows 2003 Server oraz Longhorn. Odpowiedzialny za to jest dodatek FAST CGI (jako pośrednik między PHP a IIS). Podobny ukłon w kierunku technologii open-source miał miejsce w przypadku współpracy MS z JBossem, SugarCRM oraz MySQL. Z drugiej strony Zend zachęca do korzystania ze środowiska PHP poprzez produkty Zend Core for Oracle i Zend Core for IBM. Ten ostatni w wersji 1.5 wspiera bazy DB2 i Informix Dynamix Sever. Podobna współpraca planowana jest z MySQL. Na podstawie Reg Developer.

Co się dzieje z PHP? Według danych z marca PHP staje na rozdrożu. Chcąc stać się bardziej popularlnym planuje otworzyć się na deweloperów (co a la Red Hat) ogłosił otwarcie Zen Colaboration Project (w pażdzierniku 2005). Jak na razie są dwa projekty oba w fazie 0.1.2: Framework i Zend_Mail/Zend_Mime. Rok 2005 nie był zbyt słodki dla Zend, okazało się wg raportu Evans Data Corp , że popularność PHP spadła o 25% w obszarze EMEA i coraz więcej deweloperów nie zamierza w przyszłości korzystać z PHP.

Należy obserwować rozwój w/w platformy, ponieważ wciąż coś się dzieje.

niedziela, października 22, 2006

Rozne

IE 7 będzie włączony do MSWindows XP SP2 już w listopadzie jako aktualizacja typu "high priority" (w cyklu Automatic Updates) i wtedy stanie się jedyną wspieraną przez MS przeglądarką. Nareszcie...

sobota, października 14, 2006

Rozważania

  1. 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.
  2. 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.
  3. Java - appplet w Javie na stronie uruchamia obiekty COM z MS.