wtorek, marca 13, 2007

AJAX=JAVA
Tworzenie aplikacji w Javie na serwerze niezmiennie polega na posiłkowaniu się frameworkiem. mamy do wyboru JSP (wzmocnione przez STRUTS lub SPRING), lub bardziej skomplikowany TAPESTRY lub WICKET. W prostych apliakcjach można posłużyć się prostymi środkami np:


Można np. wybrać DWR (Direct Web Remoting) jako implementację AJAX-a. Jest to klasyczne podejście polegające na odwróceniu kota ogonem tj. wywoływaniu na serwerze klas do generowania JS po stronie klienta (podobne podejścia prezentuje SAJAX czy XAJAX) tak samo jak Google GWT. Unika się konieczności programowania w dwóch językach (JS po stronie klienta i Java po stronie serwera)


niedziela, marca 11, 2007

Bezpieczenstwo WS wersja IBM
  1. https://www6.software.ibm.com/developerworks/education/dw-rt-secureservices/section6.html -Build Secure WS - świetny wstęp zawiera odwołanie do dokumentacji (handbook ), a w niej jest szczegółowy opis. IBM wychodzi trochę przed orkiestrę implmentując obok standardowego podejścia -document SOAP, drugie rozwiazanie rpc SOAP. Dodatkowo w komunikatach stosuje mapowanie danych z XML na odpowiedniki w Javie.
  2. Kolejny zasób to mapa drogowa bezpieczeństwa WS - też IBM
  3. Wymogi bezpieczeństwa WS:
    1. WS wymaga autentykacji (dowiedz, że jesteś tym za kogo się powołujesz) - do tego celu używa się:
      1. bazowej autentykacji lub
      1. opartej na żetonach (Kerberos lub PKI) - UsernameToken 1.0, X.509 Certificate Token 1.0
      1. Autentykacja bazowa wymaga stosowania SSL z uwagi na jawność przesyłanie konta i hasła. Robi się to przy pomocy konsoli administratora, proces podobny do MS WSE.
    1. Poufność - uzyskuje się poprzez szyfrowanie dokumentu XML lub jego części i dodanie węzła <wsse:Security>. Szyfruje się kluczem symetrycznym, który przesyła się do odbiorcy zaszyfrowany jego kluczem publicznym. Odbiorcy odszyfrowuje swoim kluczem prywatnym otrzymany zaszyfrowany klucz symetryczny i już może odszyfrować nim treść <body>.
    2. Integralność - można zaszyfrować treść (body) komunikatu lub klucz symetryczny służący do szyfrowania, bądź znacznik czasu (timestamp).
  4. Maszynką do uruchamiania i tworzenia aplikacji jest WebSphere Application Server V6.0 i nowy 6.1. Mechanizmy implementacji WS w obu maszynach wirtualnych są różne (standard się rozwijał + inne wersje JVM). Konfiguracja WS-Security odbywa się przy pomocy Rational Application Developer (RAD). Wszystko działa ale widać, że jest to sklecone z wielu klocków wyciągnietych z technologii open source (HTTP Apache, AXIS).
  5. Tu wypada porównać IBM z MS:
  • Microsoft ma narzędzia SPÓJNE, ZINTEGROWANE w miarę SZYBKIE i co najważniejsze PROSTE (przeznaczone dla zwykłych śmiertelników, chociaż brnąc głebiej w ich technologie też zaczynają się "schody"
  • IBM ma narzędzia ROZMAITE (pochodzące z różnych źródeł), CUDZE (zakupione jak Rational lub "podebrane" jak Apache, AXIS czy JAVA), WOLNE i BARDZO SKOMPLIKOWANE (chociaż trzeba im przyznać, że naśladując MS dużo robią aby można tworzyć oprogramowanie przy pomocy WIZARDÓW)