czwartek, lipca 12, 2007

Czwartek ciekawy jak zwykle:
  1. Wielowatkowość w VFP - http://www.codeplex.com/mtmyvfp
  2. Przegląd najlepszych stron wykonanych w Web 2.0:
    1. http://www.realsoftwaredevelopment.com/2006/10/best_of_the_bes.html
    2. http://virtualkarma.blogspot.com/2006/01/complete-list-of-web-20-applications.html
  3. Co to właściwie jest JQuery - http://jquery.com/
  4. Tutorial - http://www.tizag.com/javascriptT/index.php
  5. Visual GUI świetne - http://www.visualwebgui.com/
  6. http://www.codeguru.com/vb/gen/vb_general/idelanguage/article.php/c9621/
  7. CODE GURU po ang. Autentykacje na czym to polega - proces walidacji użytkownika na bazie jego przedstawionych akredytacji (emial, hasło, konto) i porównaniu ich ze wzorcem przechowywanym u siebie (np w bazie lub pliku XML, dla małych aplikacji może to być Web.Config). Najpolularniejszyą formą jest FORM AUTHENTICATION (autentykacja formularza):
    1. http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c7377/ - jest tam sourcecode.zip
    2. http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c4701/
    3. http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c8585/
    4. http://www.codeguru.com/csharp/.net/net_security/encryption/article.php/c4703/
  8. Tworzenie WS w .NET JS - http://www.codeguru.com/csharp/.net/jscript/essamahmedonjscriptnet/article.php/c4271/
  9. Podłącz się do Oracle - http://www.codeguru.com/csharp/csharp/cs_network/database/article.php/c13627/
  10. EasyEclipse - http://sourceforge.net/forum/forum.php?forum_id=644682
  11. Linki do JAva z WROX:
    1. JSP - http://p2p.wrox.com/forum.asp?FORUM_ID=86
    2. J2EE - http://p2p.wrox.com/forum.asp?FORUM_ID=88
    3. Generalnie to forum ma listę tematów do wybrania
    4. Super linki do przykładów z Wrox - http://www.wrox.com/WileyCDA/Section/id-105127.html
  12. Ciekawe dla developerów - http://www.packtpub.com/
  13. Implementacja stronicowania:
    http://jsptags.com/tags/navigation/pager/index.jsp
    http://www.javaworld.com/javaworld/jw-07-2004/jw-0726-pagination.html
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=58&t=007230
    http://servlets.com/archive/servlet/ReadMsg?msgId=274095&listName=struts-user
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=58&t=007715
    http://displaytag.sourceforge.net/10/tagreference-displaytag-12.html
    http://www.junlu.com/msg/153352.html
    http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.html
  14. Dokumentacja Apache - http://tomcat.apache.org/tomcat-5.0-doc/appdev/deployment.html
  15. Przykłady JAVA - http://www.devarticles.com/c/a/Java/Socket-Programming-in-Java/2/
  16. Jak zacząć z JSTL - http://www.exampledepot.com/egs/javax.servlet.jsp.jstl.core/usejstl.html


środa, lipca 11, 2007

Linki w srodę:
  1. https://www.spidynamics.com/products/webinspect/WIdirect.html - bezpieczeństwo
  2. Wiele odwołań do implementacji AJAXa - http://web2magazine.blogspot.com
  3. Tam też są prezentacje - https://www.spidynamics.com/spilabs/education/presentations.html
  4. Patrz też SPI Labs - https://www.spidynamics.com/spilabs/education/articles/index.html
  5. Europa w piątek prezentuje nowe podejście do Eclipse (synchronizacja projektów)- http://news.zdnet.com/2100-3513_22-6193596.html:
    1. (17 mln linii kodu o 7 mln więcej niż Callisto, zeszłoroczna edycja)
    2. BRIT i BI - wejscie z WS a wyjście do formatu MS Office
    3. wprowadznie DLR do IDE (Ruby, TCL w przyszłości Python i Perl)
    4. narzędzie do "rysowania" stron webowych
  6. Super strona rozbiegowa na temat programowania - http://updates.zdnet.com/tags/Programming.html (szukaj MSDN Webcast o events i delegatach)
  7. Programowanie jest sztuka podobnie jak dziennikarstwo - http://blogs.zdnet.com/open-source/?p=1192
  8. Scriptus Free - http://downloads.zdnet.com/download.aspx?docid=303501
  9. Uruchom zdalnie narzędzia rationala na serwerze w IBM
  10. Wyszukiwarka w J2EE przy pomocy API Google - http://www.regdeveloper.co.uk/2007/06/24/google_search_ajax/
  11. BBC - http://news.bbc.co.uk/

wtorek, lipca 10, 2007

Niezwykle ciekawe linki na tematy deweloperskie:
  • IBM:
    • AJAX + J2EE (servlety) - http://www.ibm.com/developerworks/library/j-ajax1/
    • Rozbiegowka do artykułów nt. AJAX - http://www.ibm.com/developerworks/views/web/libraryview.jsp?search_by=Mastering+Ajax
    • JSNOML - http://jsonml.org/
    • Poznaj JsonML w IBM - http://www.ibm.com/developerworks/xml/library/x-jsonml/?S_TACT=105AGY01&S_CMP=PODCAST#resources
  • Microsoft (CodeProject):
    • Using JS to select GridView rows - http://www.codeproject.com/aspnet/JavaRowSelect.asp
    • Code .NET 2.0; Build Java; Run Linux - http://www.codeproject.com/showcase/mainsoft.asp
    • Code .NET 2.0; Build Java; Run Linux - http://www.codeproject.com/useritems/Net_COM__Interop.asp
    • Dynamic Table using html and javascript - http://www.codeproject.com/useritems/html.asp
    • ASP.NET Web Controls for the Yahoo! User Interface Library - http://www.codeproject.com/aspnet/YahooInterfaceLibWebCtrls.asp
    • Interop Forms Toolkit 2.0 Tutorial - http://www.codeproject.com/useritems/VB6InteropToolkit2.asp
    • Using .NET Controls in VB6 - http://www.codeproject.com/vb/interop/UsingDotNETControlsInVB6.asp
    • http://www.codeproject.com/vb/interop/csCom.asp - http://www.codeproject.com/vb/interop/csCom.asp

poniedziałek, lipca 09, 2007

ASTORIA - nowy projekt MS
Jet to projekt zamknięty (komercyjny) mający na celu zbadanie wykorzystania najnowszych technik i koncepcji webowych na platformie Microsoft Data platform. Polega na eksponowaniu swoim klientom danych sererowych jako sieciowego serwisu danych (WS). Korzysta się z najprostszych, zna
nych i nie wymagających przechodzenia przez sito standardów protokolów HTTP (GET, POST, PUT, DELETE). Wymagane jest Visual Studio beta zwane "ORCA".

Wojna pomiędzy REST i SOAP
Prawda jest taka, że SOAP bez wsparcie środowiska RAD, robiony na "piechotę" jest koszmarny. Ale nawet ukrycie jego złożności przygotowania nie ukrywa faktu, że skład się z wielu warstw obejmujących wszystkie aspekty komunikacji od bezpieczeństwa aż po tranzakcyjnośc i zarządzanie.

To z lewej jest schemat REST (na podstawie dysertacji Fieldinnga). Przydatność REST potwredza Amazon.com oraz wiele publikacji na O'reilly.
Strona propagatora RESR: http://hinchcliffe.org/default.aspx




Projekt "Zero" IBM (http://www.linuxworld.com.au/index.php?id=2095861668&eid=-50)
Zero - oznacza 0 złożoności i narzutu. Środowisko do budowy aplikacji internetowych bazujących na popularnych technologiach Web 2.0:
  1. standard wywołania - REST lub ATOM
  2. standard wymiany danych - JSON lub XML
  3. standard interfejsu - AJAX
Zawiera runtime dla Groove i PHP. Model tworzenia tego projektu - "community-driven commercial development process" projekt komercyjny przy współudziale społeczności otwartej. Nie ma mowy o licencji otwartej. Hey, nic nowego, przecież podobne projekty ma SUN (JCP) i MS (CPT)! IBM broni się przed oskarżeniem o komercyjność tym, że używa przecież wiele technologii open-source które znacząco inwestuje i finansuje IBM. Takie dwulicowe podejście do wykorzystania open-source spotkało się z ostrą krytyką analityków i witryny "theserverside".
Strona IBM samego projektu www.projectzero.org.


Nowości w poniedziałek
Wg.: The story of Web 2.0 and Web 2.0 continues p.1
  1. Historia SOA i Web 2.0 - Co widzimy? Duże firmy softwarowe kierują się ku SOA w wydaniu lekkim, przez co zbliżają się coraz bardziej do technologii Web 2.0. Widzimy konwergencję tych dwóch fundamentalnych pojęć. SOA polega na dekompozycji aplikacji na serwisy, które mogą się wzajemnie wywoływać oraz co najważniejsze z punktu widzenia Web 2.- mogą się łączyć (w sposób zwany mashup) tworząc nowe usługi. Dodatkowo, nieformalne podejście w Web 2.0 zostało zamapowane do formalnego podejścia SOA. Innymi słowy można powiedzieć, że są to dwa podejścia: dekompozycja (w stylu SOA) i kompozycja (w stylu Web 2.0).
  2. Podobieństwa między nimi reprezentuje diagram Vienna
  3. Wspólne jest przeświadczenie, że oprogramowanie jest częścią większego ekosystemu.
  4. Główną koncepcją Web 2.0 są dane, natomiast w SOA to serwis (usługa która przy okazji przenosi również dane).
  5. WOA, rozwinięcie Web 2.0 - oznacza web oriented architecture (oparcie się na REST i ATOM).
  6. SOA z kolei opiera się na SOAP (nie jest zbyt popularny w Web 2.0, Google porzucił rozwój API w oparciu o SOA, Amazon daje podwójny interfejs (SOA i REST) inni wybierają tylko REST.
  7. Wygląda na to, że istnieje stan wojny między REST i SOA.
  8. Coraz więcej firm skłania się do przedstawienia danych w formie WOA (każdy rozmawia w HTTP i stosuje XML) a nie SOAP (jest wiele platform i wymagane jest przestzreganie bardzo ścisłe WS-* i ujednoliconej wersji SOAP)
  9. Do pary dane/usługi dochodzi trzeci element (chyba najważniejszy) - człowiek. Tutaj Web 2.0 zezwalający na mashup daje dla niego najwięcej.
  10. Dużo informacji na ten temat tu.
  11. Porównanie między SOA i Web 2.0

niedziela, lipca 08, 2007

Na jutro do zrobienia:

  1. Języki dynamiczne w srodowisku Java - http://www.oreillynet.com/onjava/blog/2007/06/scripting_language_for_the_jav.html
  2. Szpiegowanie klas - reflection- http://www.onjava.com/pub/a/onjava/2007/03/15/reflections-on-java-reflection doskonały przykład.
  3. Blog na temat J2EE - servlet v. 3.0 - http://java.sun.com/javaee/community/blogs/?feed=JSC
  4. Wreszczcie JSF 2 - http://www.oreillynet.com/onjava/blog/2007/05/jsf_20_is_here_1.html
  5. Przeechowywanie stanu i or-mapping bez Hibernate - doskonaly przyklad - http://www.ibm.com/developerworks/java/library/j-db4o4.html?ca=drs-
  6. Kursy JSP/Servlet/Applet/WebStart/SSL
  7. http://www.pluralsight.com/fritz/webcasts.aspx
  8. Google Gear z OnJava: http://www.onlamp.com/lpt/a/7055 i http://www.oreillynet.com/databases/blog/2007/06/post_1.html
  9. Prosy przykład AJAX w protoype- http://24ways.org/2005/easy-ajax-with-prototype
  10. Bradzo ciekawe prezentacje - http://www.webstandards.org/
  11. http://whitepapers.zdnet.co.uk/?r=1 , http://whitepapers.zdnet.co.uk/0,1000000651,260283228p-39000361q,00.htm?r=1 , http://whitepapers.zdnet.co.uk/0,1000000651,260282894p-39000361q,00.htm?r=1
  12. http://simonwillison.net/2006/openid-screencast/ , http://whitepapers.zdnet.co.uk/0,1000000652,260283112p,00.htm?r=1
  13. http://www.sitepoint.com/article/painless-javascript-prototype/4
  14. Super tutorial na temat J2EE autorstwa SUNa - http://java.sun.com/j2ee/1.4/docs/tutorial/doc/
  15. Świetny tutorial nt. Atlasa - http://www.asp.net/learn/videos/default.aspx?tabid=63#ajax
  16. Wspomaganie AJAX w prototype - http://www.sitepoint.com/article/painless-javascript-prototype/4
  17. AJAX i FORM ale troche inaczej
    W artykule (http://www.xul.fr/en-xml-a) przedstawiono inne podejście do wysyłania formularza. Buduje się formularz w tradycyjn sposób (ale bez action=""), wśród pól jest przycisk z onclick który wysyła zawartość innych elementów do funkcji w JS która z kolei wysyła te dane do serwera. Sprytnie podciągnięty AJAX pod tradycyjne przetwarzanie. Proszę pamiętać, że podobnie jak zwolennicy REST, aplikacja webowa polega na wysyłaniu danych do serwera i przyjmowania od niego informacji zwrotnej. Linki:
    1. Dodatek do WTP w Eclipse - http://www.eclipse.org/atf/
    2. Framework - http://www.xul.fr/ajax-frameworks.html
    3. Opis JSON - http://www.xul.fr/ajax-javascript-json.html

Czego MS naprawdę chce ?

MS mówi, że zależy mu na interoperability. Nie jest to altriuzm ale wyrafinowana gra biznesowa w której wszyscy są zwycięzcami. Chodzi tu o cztery zasady:

  1. produkty
  2. społeczność
  3. dostępność
  4. standardy

MS bierze czynny udział w pracy komitetów standaryzacyjnych: IETF, W3C, OASIS, IEEE, ETSI, OMA, ECMA, ISO/IEC, and ITU.

Jeżeli chodzi o sprawę standardów to mowa o standardach otwartych a nie open source, tak uważa również EU (http://www.comptia.org/issues/docs/interopwhitepaper0204.pdf) .

sobota, lipca 07, 2007

Nowe cechy Javy:
Java powinna być bezpieczna z założenia, że działa w "piaskownicy" parametry bezpieczeństwa której można definiować. Model bezpieczeństwa Java składa się z dwóch warstw Core Java 2 Security Architecture i Java Cryptography Architecture. Stanowią one podstawowy poziom bezpieczeństwa nad którym są różne rozszerzenia (extension). Od wersji 1.4 Java ma własne mechanizmy obsługi kryptografii i nie trzeba uciekać się do bibliotek firm trzecich np. Bouncy Castle.
Opis J2SA składa się z:
  1. byte code verifier - sprawdza ponownie poprawność użytych konstrukcji języka (czy klasy mają cechę public, czy klasa final ma podklasę itd)
  2. class loader - ładuje klasy do maszyny wirtualnej i sprawdza poprawność odwołań do klas w ramach języka i do zasobów lokalnych
  3. security manager - klasa stworzona przez twórcę aplikacji zezwala na dostęp do zasobów
  4. access controller - niskopoziomowe sprawdzenie wykonywania się aplikacji (zarządzanie pamięcią, typowanie danych, naruszenie konwersji danych)
Opis JCA - realizuje funkcje kryptograficzne i udostępnia API do nich.
Rozszerzenia:
  1. Java Cryptographic Extension
  2. Java Security Socket Extension
  3. Java Autentication and Authorization Extension Service

piątek, lipca 06, 2007

Klasyczne opracowania o XML-u

Ronald Bourret - http://www.rpbourret.com/xml/XMLAndDatabases.htm:

  1. XML data products
  2. XML data bindings resources
  3. XML and database
Rozważania na temat technik programowania:
  1. Nastąpiło zbliżenie, środowisko .NET i J2EE stosują technologię Hibernate do przechowywania stanu oraz mapowania obiektów z aplikacji w bazie danych.
  2. Więcej szczegółow u znanego blogisty:
    1. http://www.jonathanbruceconnects.com/jonathan_bruce/
    2. http://devhawk.net/art_sccswitch.aspx
  3. Jeżeli chodzi o Oracle to podobnie jak dla innych baz należy przejść z OLDDB do ADO.NET (mimo, że te modele różnią się istotnie architekturą). Na tym polu króluje firma DataDirect - http://www.datadirect.com/products/net/net_for_oracle/index.ssp.
  4. Przeglądarka API dla Windows - http://www.activevb.de/rubriken/apiviewer/index-apiviewereng.html
  5. Inne przydatne narzędzia programistyczne - http://www.hanselman.com/
  6. Jak to jest z połączeniem PHP-Java:
    1. Thrift - http://developers.facebook.com/thrift/
    2. Krook - http://krook.net/archives/191:
      1. The open source PHP/Java Bridge hosted at SourceForge.
      2. The commercial Zend Platform Java Bridge developed by Zend Technologies.
      3. The free PHP Integration Kit for WebSphere Application Server Community Edition.
  7. REST na podstawie pracy Fielding'a - http://searchwebservices.techtarget.com - REST vs SOAP - the rest story
  8. REST stosuje również Google - http://code.google.com/apis/gdata/overview.html
  9. Dobra kontrola danych jest podstawą bezpiecznej aplikacji webowej : Kevin Beaver- Importance of data validation
  10. A SELENIUM podstawą do testowania gotowej aplikacji w całości - http://www.openqa.org/selenium-core/usage.html
  11. Przemyśl stosowanie JSF (ciągle zbyt uboga w komponenty) - http://www.theserverside.com/tt/articles/article.tss?l=RethinkingJSF
  12. Reminiscensje z JavaONE - http://www.theserverside.com/tt/talks/library.tss#buzek
  13. AJAX i GOOGLE - http://www.softwaredeveloper.com/features/google-ajax-play-nice-061907/
  14. GlassFish - co to jest? https://glassfish.dev.java.net/
  15. Uwaga! Nadchodzi SPRING:
    1. http://blog.interface21.com/main/2007/04/21/what-spring-web-flow-offers-jsf-developers/
    2. http://www.theserverside.com/tt/articles/article.tss?l=SpringNewJavaEE
  16. VFP gości .NET - http://west-wind.com/weblog/posts/104449.aspx
  17. Nowe spojrzenia na AJAX- a http://www.xul.fr/en-xml-ajax.html
  18. Applety z JSC http://jsc.sourceforge.net/
  19. Świetna dokumentacja do bibliotek środowiska JAVA - http://www.jdocs.com/

czwartek, lipca 05, 2007

Linki ciekawe:
  1. Tworzenie aplikacji wykorzystujacej open-source: http://www.onjava.com/pub/a/onjava/2004/04/07/wiringwebapps.html
  2. jsc for C#
  3. Baldwin Java - Servlets
  4. Przeechowywanie stanu i or-mapping bez Hibernate - doskonaly przyklad - http://www.ibm.com/developerworks/java/library/j-db4o4.html?ca=drs-
  5. OnJava - Google Gears p. 1.
  6. RH i MS rozmawiają o interoperability - http://www.eweek.com/article2/0,1759,2154521,00.asp?kc=EWRSS03129TX1K0000616
  7. Jak to jest z zabezpieczeniem SSL - http://webdesign.about.com/od/ecommerce/a/aa070407.htm
  8. Blog na temat J2EE - servlet v. 3.0 - http://java.sun.com/javaee/community/blogs/?feed=JSC
  9. Wreszczcie JSF 2 - http://www.oreillynet.com/onjava/blog/2007/05/jsf_20_is_here_1.html
  10. Języki dynamiczne w srodowisku Java - http://www.oreillynet.com/onjava/blog/2007/06/scripting_language_for_the_jav.html
  11. Szpiegowanie klas - reflection- http://www.onjava.com/pub/a/onjava/2007/03/15/reflections-on-java-reflection doskonały przykład.
  12. Doskonały serwis o Javie - http://www.onjava.com/

środa, lipca 04, 2007

Środa - linki:

  1. W latach 80 najb. gorącym tematem w IT były relacyjne bazy danych. Główne skupisko naukowców zajmujących się bazami relacyjnymi było w University of California w Berkely (Mike Stonebraker, Larry Rowe and Gene Wongm Jim Gray). Ci właśnie naukowcy byli twórcami pierwszej bazy danych Ingres obik Informix, Oracle oraz obiecującej Sybase. Na początku lat 90 firmy MS, Oracle i IBM wyssały z uczelni co lepszych naukowców do swych laboratoriów. Wśród trzech modeli baz (sieciowa, relacyjna i hierarchiczna) skłaniano się do relacyjnej. Skutkiem tego wiele problemów baz relacyjnych i nie tylko (np. efektywny model przetwarzania rozproszonego) zostało nierozwiązanych. Pojawiła się walka między zwycięzcą (model relacyjny) a nową koncepcją - bazą obiektową. Pojawiły się różnorodne techniki mapowania obiektów na model relacyjny. Firmy SAP, Siebel wykorzystały w swych produktach połączony model obiektowo-relacyjny. Powstały mappery dla j. programowania takie jak TopLink czy Hibernate. W standardzie SQL-1999 powstały rozszerzenia ułatwiające budowę modelu o-r ale są przez nikogo zauważane. W aplikacjach Web 2.0 informacja jest najczęściej rozproszona po całym świecie i bez wyraźnej struktury najczęściej prezentowana w formacie XML czy JSON. Najczęściej używaną bazą jest MySQL w postaci modelu shard. Wszystkie reguły relacyjności zostały wyrzucone przez okno, robi się wszystko by zapytania były realizowane efektywnie. (Zdnet - http://m.zdnet.com/index.php?id=80921&site=11)
  2. Uwaga na horyzoncie pojawił się nowy rywal Linuxa - http://www.gnusolaris.org/gswiki - Nexenta OS - bazujący na OpenSolaris. Strona do ściągnięcia obraz dla VMWare - http://www.gnusolaris.org/gswiki/Download-form (uwaga!!! Konto: root/livecd)
  3. Dziwne stanowisko MS, niegdyś kiedy WS były tworzone firma ta była aktywnym uczetsnikiem prac w tym zakresie (była obok IBM jednym z filarów specyfikacji WS-* która znalazła się po dachem grupy OASIS. Walczyła o otwartość standardu wymiany przy pomocy usług sieciowych. Teraz kiedy stwarza się okazja do podniesienia poziomu usług sieciowych poprzez prace w OASIS w zakresie implamentacji SOA (czyli na poziomie oprogramowania aplikacyjnego zamiast jak to było w przypadku WS-* na poziomie usługi sieciowej): SCA (Service Component Architecture) oraz SDA (Service Data Architecture) MS unika uczestnictwa. Powód: firma wbudowała WS w system operacyjny jako część stosu aplikacyjnego, podczas gdy inni budują niezależne aplikacje. Dla małych organizacji takie wbudowanie jest korzystne ale dla dużych korporacji gdzie środowisko jest heterogeniczne stanowi to przeszkodę. http://m.zdnet.com/index.php?id=80886&site=11
  4. MS potrzebuje REST - aplikacje spod zanku Web 2.0 polegają na integracji i powiązaniach ze sobą (integration and mashup). Powiązanie te są zewnętrzne tj. między aplikacjami działającymi jak mashup lub wewnętrzne między róónymi źródłami danych dostawcy usług (np. Google ma wiele wewn. źródeł danych tzw. GData stosuje do komunikacji rozszerzony APP). Stosują REST (Representational State Transition) stosowany przez Google i Yahoo lub APP (Atom Publishing Protocol) de facto standard. Microsoft widząc niedoskonałości APP zamiast go udoskonalić wymyślił nowy standard - Web3S (Web Structured Schema and Searchable)
  5. Cała wrzawa wokół otwartego formatu dokumentów w stanie Mass. polega na tym, że mimo uznania OpenOffice za wpełni otwartego to nie ma on wielu funkcji dla osób niepełnosprawnych. Dlatego dopuszczono stosowanie Office Open XML pod warunkiem zainstalowania konwertera do Open Document Format (ODF). Zdnet - "Microsoft document formats gain Mass. favor"
  6. Niebezpieczeństwa stosowania Web 2.0 - Prawdzie jest równanie: te same zagrożenia jak Web 1.0 + dodatkowe wektory zagrożeń = większa złożoność
  7. Jakie to zagrożenia:
    1. web feeds - kanały informacyjne: użytkownicy sami mogą edytować te strumienie i wstrzykiwać do nich "złe" skrypty. Techniki ataku: cross-site request forgery (CSRF), cross-site scripting (XSS) and distributed denial of service (DDOS). Blacklisting i gorsze od whitelisting gdyż na białej liście są wolne od zagrożeń i dopuszczone strony. Należy również sprawdzić dokładnie dane wejściowe. Często strumienie sa konwertowane do HTML, i strony są przechowywane lokalnie w "local" zone, gdzie powinna być zawartość zaufana. Ataki w tej strefie to XMLHttpRequest i ActiveX.
    2. web services - usługi sieciowe: kradzież sesji (właściwie session ID, który jest przechowywany jako cookie lub w adresie URL.
    3. technologie AJAX - sprawdzenie dokładne danych wejściowych
  8. Testowanie aplikacji przy pomocy środowiska SELENIUM - http://www.openqa.org/selenium-core/usage.html
  9. Ataki na www - http://searchsoftwarequality.techtarget.com/tip/0,289483,sid92_gci1214373,00.html
  10. RStrahl - http://west-wind.com/weblog/posts/104449.aspx
  11. CoDe - http://code-magazine.com/article.aspx?quickid=0001061&page=4
  12. Eclipse - http://www.thescreencast.com/2007/07/tour-around-europe-eclipse-for-java-ee.html
  13. AJAX - http://www.softwaredeveloper.com/features/google-ajax-play-nice-061907/
  14. OpenID - http://www.theserverside.com/tt/articles/article.tss?l=OpenID
  15. AJAX i WS - http://www.theserverside.com/tt/articles/article.tss?l=AjaxJavaWebServices_Chapter
  16. REST vs. SOAP - http://searchwebservices.techtarget.com/tip/0,289483,sid26_gci1227190,00.html?track=NL-461&ad=595564&Offer=WStssret73rest&asrc=EM_NLN_1720960&uid=267959
  17. Podpis XML w .NET - http://www.codeguru.pl/article-702.aspx

poniedziałek, lipca 02, 2007

Nowości w poniedziałek:
  1. Paul Deitel - JSON w poczcie " Deitel Buzz Online Newsletter: JSON (JavaScript Object Notation) Resource Center 29 June"
  2. Jak wygląda porównanie Google z Microsoft - http://no2google.wordpress.com/2007/06/24/life-at-google-the-microsoftie-perspective/
  3. Różnorodne skrypty - http://www.jdhitsolutions.com/scripts
  4. Jak wystartować z XAML - http://msdn2.microsoft.com/en-us/library/ms752299.aspx
  5. Grożna ORCA mimo, że beta - http://redmondmag.com/columns/article.asp?EditorialsID=1813
  6. Linuks powoli nabiera sił - http://redmondmag.com/features/article.asp?editorialsid=742:
    1. Sprawa cała polega na wypracowaniu przez ruch wokół Linuksa tzw. stosu aplikacji (STACK). Dopóki takiego stosu się Linuks nie dorobi dopóty nie będzie traktowany poważnie w kręgach korporacyjnych. Stos stanowi platformę na której mogł wyrosnąć cały ekosystem aplikacji. Drugim ważnym celem jest integracja i współdziałanie (interoperability and integration) a funkcjonalność była na drugim planie.
      1. Myślenie twórców Linuksa polega na rozwiązywaniu problemów informatycznych bez szerszego spojrzenia na całość. Tworzyli wiele nieskoordynowanych projektów.
      2. Pierszwy stos w środowisku Linuks to LAMP.
      3. Innym podejściem są prace Linux Foundation nad projektem LSB (Linux Standard base) tak aby LSB-certyfikawana aplikacja działała na dowolnej LSB-certyfikowanej dystrybucji Liniksa.
      4. W obszarze tworzenia aplikacji jest projekt Eclipse
      5. Ciągle jednak brakuje tego, co najbardziej liczy się w rozwiązaniach korporacyjnych - interoperability. Aplikacje open-source tworzyły tzw. point solution (wyspowe rozwiązania)
      6. Obok LAMP powstaje stos WAMP
      7. Firma SpikeSource - jako pierwsza dostrzegła potrzebę wypracowania takiego stosu aplikacyjnego. W maju doszło do porozumienia m. nią a MS w sprawie kooperacji. Bill Hilf - ogłosił, że w/w firma będzie certyfikowała swoje rozwiązania na platformie Windows.
    1. Przykład takiego stosu:
    2. Open Source Stacks on Windows
      Enterprise open source isn't just for GNU/Linux anymore. The following selection of applications also runs on Windows.

      Web Server

      Database

      Middleware

      Business Intelligence

      Enterprise Content Management

      CRM

      ERP

      Porównanie stosów:

Gillmor’s Internet plate tectonics by ZDNet's Dan Farber -- Steve Gillmor riffs on my post about Yahoo’s lack of a social networking hub, where I state: “Yahoo is about making connections, but right now its more of loose federation of Web applications and services–many spokes without a strong hub to hold together a social Web. Yahoo 360 has been a failure as a social [...]

niedziela, lipca 01, 2007

Tworzenie aplikacji przy pomocy Eclipse. Mnóstwo opcji wprost poraża. Ale z tego początkowego chaosu wyłania się taki obraz, należy:
  1. Ściągnąć Eclipse IDE for Java EE Developers - http://www.eclipse.org/downloads/moreinfo/jee.php# (zawiera narzędzia do obsługi stron www, oraz dodać jakiś serwer aplikacyjny
  2. Jakiś serwer aplikacyjny, są dostępne takie:
    1. Apache Tomcat
    2. Websphere - http://www.ibm.com/websphere
    3. JBoss - http://sourceforge.net/projects/jboss/
    4. JOnAS -http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome
    5. Oracle OC4J - http://www.oracle.com/technology/tech/java/oc4j/index.html
    6. Inne poprzez wizarda - opcja New server
  3. Zasoby do JBoss: This is the jboss-4.0.4.GA release for the Java EE? 1.4 codebase. For information on the APIs that make up Java EE 1.4, see Java EE v1.4 Documentation.
    For a comprehensive tutorial on Java EE 1.4, see The Java EE? 1.4 Tutorial. A jboss-4.0.x getting started guide that is based on contents from the tutorial can be found in JBoss Application Server Documentation Library
  4. Inne zasoby javy:
    1. Tworzenie + zaosby nt. nowości i WS: http://java.net/
    2. JavaPedia - http://wiki.java.net/bin/view/Javapedia
    3. JavaScripting - inne języki w implementacji Java:
      1. Rhino - http://developer.mozilla.org/en/docs/Rhino_JavaScript_Compiler
    4. WebStart - http://wiki.java.net/bin/view/Javapedia/JNLP
    5. Jak to naprawdę skorzystać z JNLP - http://java.sun.com/developer/technicalArticles/Programming/jnlp/
    6. Subskrybcja kanałów IBM - http://www.ibm.com/developerworks/library/wa-gizmos/#custom
    7. Jak pracować z OC4J - http://www.eclipse.org/webtools/community/tutorials/OracleServerAdapter/OracleServerAdapter.html
    8. Moduł do pobierania z HTTP - http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-httpclient/doc/how-to-httpclient.html
    9. http://www.ibm.com/developerworks/java/library/os-jws/
    10. http://www.eclipse.org/webtools/community/tutorials/OracleServerAdapter/OracleServerAdapter.html
    11. http://www.onlamp.com/pub/a/onlamp/2007/06/28/the-power-of-google-gears-part-1.html
    12. http://spring.javabeat.net/articles/2007/06/spring-mvc-web-framework-introduction/4
  5. Artykuł IBM (stary) o servletach:
    1. Jedną z wbudowanych metod jest init. Może ona służyć do "ładowania domyslnych danych lub połączeń z bazą"
    2. Servlet jest wielowątkowy. Dla każdego żądania tworzy własny jego wątek. Patrz rys. niżej.
    3. Uwaga na ważny szczegół: żądania request/response są przetwarzane niezależnie w każdej instancji servleta.
    4. "Ręczne" uruchamianie servletów jest proste: należy sobie skompilować .java do .class i następnie "wrzucić" do katalogi servlet.

piątek, czerwca 29, 2007

Piątek
  1. Przy podejściu do wytwarzania aplikacji na platformie Java można wybrać dwie drogi:
    1. ewolucyjna - powoli przechodzić na tę platformę (impelmentując najpierw servlety i ajax - tka jak to zademosntrowałem. Muszę jeszcze nagrać show jak to się robi
    2. rewolucyjna - rzucamy wszystko i uczymy się. Po roku może będzie jakiś efekt.
  2. Google dostrzegł nową możliwość marketinową - ogłosił epokę gadżetów (tzw. gadget ecosystem) - jest to segment oprogramowania zorientowany wokół małych programów dodatkowych, uruchamianych w środowisku desktop pracujących w tle. Do ich uruchomienia wymagane jest runtime. W przypadku Google jest to oparty o XML Desktop platform. Produkcję wichajstrów zapoczątkował Apple. Googel oferuje swoje w dwóch wersjach: lokalnej jako Desktop lub ze swojej strony. Dodatkowo firma ta ogłosiła projekt open-source Jackfield do uruchamiania gadżetów na Linuksie (docelowo ma uruchamiać gadżety z Yahoo Widget Engine, MS Sidebar i Mac). Na podstawie betanews.
  3. Informacja o Yahoo:kupiła w zeszłym (2006) roku serwis photo-sharing Flickr oraz Konfabulator, który wytwarza aplikacje desktopowe zwane "widgets," lub dodatki (add-ons).
  4. Należy przeszukać Google API dla: Gear, Base, Docs and Spreadsheets ...
  5. Tutaj jest strona do API dla gadżetów - http://www.google.com/apis/gadgets/
  6. Tworzenie, zbieranie i udostępnianie danych w środowisku pracy grupowej to dopiero czybek góry lodowej, następny poziom to publikowanie tych danych w postaci strumienia RSS. Google zachęca by w swych produktach do wizualizacji danych wykorzystywać dokumenty i arkusze poprzez API.
  7. Uwaga Google faktycznie ma już wykresu w arkuszu.
  8. Ciekawe odnośniki:
    1. Blog na temat dokumentów - http://google-d-s.blogspot.com/
    2. GData - http://code.google.com/p/google-gdata/
    3. Data API blog - http://googledataapis.blogspot.com/2007/05/see-your-google-spreadsheet-data-in.html
    4. Gadgets API - http://www.google.com/apis/gadgets/
    5. Najprostszy - http://www.google.com/apis/gadgets/gs.html
    6. Więcej o tym - http://www.google.com/apis/gadgets/docs-home.html
    7. GWT - http://googlewebtoolkit.blogspot.com/
    8. Gears - http://gearsblog.blogspot.com/

środa, czerwca 27, 2007

Ciekawe adresy zebrane w środę:
  1. http://msdn2.microsoft.com/en-us/library/ms268890(VS.80).aspx - wprowadzenie do SMART TAG
  2. Poszukiwarka rozwiązań programistycznych - http://www.koders.com/
  3. Szukanie prawdy - What’s Your Ethics IQ? (http://www.hemispheresmagazine.com/nov06/cybersidebar.html)
  4. By Bruce Weinstein, Ph.D.The Ethics Guy®

    Introduction
    The secret to living a satisfying, happy life is to be found in five simple principles. We’ve known about these principles for more than 5,000 years. Nearly every religious tradition in the world teaches them, as do parents in every country. Without them, civilization would be impossible, because there would be nothing but chaos. These principles have a transforming effect on who we are and where we go in life. They are the principles of ethics, and they are as follows:

    1. Do no harm.
    2. Make things better.
    3. Respect others.
    4. Be fair.
    5. Be loving.

    Yes, these principles are simple, but deceptively so, because too often we let fear, anger, or other negative emotions get us off track. This creates a downward spiral, and it’s sometimes difficult to get back to where we want to be.

    For example, how often do we really keep “do no harm” in mind during our daily interactions with people? If a clerk at the grocery store is nasty to us, don’t we return the nastiness and tell ourselves, “Serves them right?” We may, but if we do, we harm the other person. In so doing, we harm our own soul—and this is one of the reasons why we shouldn’t return nastiness with more of the same.
    You might wonder, “If these principles are so commonplace, why do I need to be reminded about them?”

    It’s true that they’re commonplace, but it’s also true that in our hectic, overcommitted lives, we get so caught up in the details of getting through the day that it’s easy to forget how important these principles are in everything we do. We’re also tempted every day to ignore them and to place value on things that ultimately aren’t that important. So taking a few steps back to consider these principles is helpful.

    On the surface, the principles are about making a difference in the lives of other people. To this extent, taking them seriously seems like something we have to do, something we ought to do, something that, quite frankly, we’d rather not do.
    What we’ll discover through this quiz, however, is that making ethics our central concern is actually the best way to lead a richer, more fulfilled life. A life that helps us get the things we want: the right partner, a job we love, and a place where we want to live. By taking ethics seriously, we serve as role models to our children and increase the chances that they will go into the world and make us proud.

    Recent scandals in the news show the risks we take when we neglect these principles: public humiliation, shame, and in some cases, a lengthy visit to prison. But the main reason for taking ethics seriously is not the dangers of failing to do so, but rather because it’s the right thing to do.

    The path to a happier, more fulfilled life lies in becoming reacquainted with the principles of ethics, which tell us how we should treat one another. When we act with integrity, we feel better about ourselves. We then create the conditions for making many wonderful choices in our own lives. When we take the high road in all that we do, we give a gift to others—and ourselves. It’s the greatest gift of all.

    I’ll show you why

  5. Problem JINI - http://www.infoq.com/articles/in-process-java-net-integration, http://reyelts.dyndns.org:8080/jace/release/docs/index.html
  6. Co robi RH - http://blogs.tedneward.com/2007/03/22/RedHat+Inc+The+Next+Microsoft.aspx
  7. Co może RESIN - http://www.caucho.com/download/ - łączy PHP i J2EE
  8. InterOp Forms Toolkit dla VFPhttp://weblogs.foxite.com/bernardbout/archive/2007/06/20/4126.aspx
  9. http://openid.net/ - OpenID

wtorek, czerwca 26, 2007

Toolbar.live.com
Windows.Live.Favorities
JAVA
  1. http://www.visualbuilder.com/jsp/tutorial/pageorder/14/
  2. http://www.jspin.com/
  3. http://www.scbr.com/docs/products/dhtmlxGrid/
  4. http://www.jspin.com/home/tutorials
  5. http://www.jsptut.com/Scriptlets.jsp
  6. http://www.developer.com/tech/article.php/626401
  7. http://www.betanews.com/article/Microsoft_VP_Interoperability_CrossPlatform_Efforts_Go_Back_30_Years/1182788179
  8. http://www.isvinnovation.com/

  1. Każda aplikacja w tym i internetowa składa się z warstw:
    1. Klient lokalny:
      1. przeglądarka internetowa (niekompatybilne implementacje języka JavaScript, brak dostępu do zasobów lokalnych)
      2. inny kontener np. klient MS VS - niweluje te braki
      3. Bazujemy na języki JavaScript z jego rozszerzeniami obiektowymi (wychodzimy poza ramy podstawowe)
      4. Wymagane jest przyjęcie rozwiązań szkieletowych w zakresie GUI i operacji na DOM, ułatwiających tworzenie
    2. Serwer internetowy:
      1. Tradycyjny serwer internetowy oparty o rozszerzenie mod Apache (np. mod_python)
      2. Integracja platformy języka skryptowego np PHP z Apache (skompilowanie do Apache)
    3. Serwer aplikacji:
      1. Podział na wyspecjalizowane serwery aplikacyjne np. ZOPE
      2. Kontener dla uruchamiania języka JAVA zgodny ze specyfika J2EE: Tomcat (wzorcowy), WebSphere CE (CodeGlue), pełny WebSphere oraz wiele innych niezgodnych w szczegółach ze sobą implementacji BEA, JBOSS
      3. MS IIS 7.0
    4. Serwer bazodanowy:
      1. Oracle
      2. Informix
      3. DB2
  2. Warstwa
    C/s
    Web 1.0
    Web 1.0
    Web 2.0 AJAX
    Klient
    90%-100%
    0%
    5%
    85%
    Serwer internetowy

    100%
    5%
    5%
    Serwer aplikacyjny

    0%
    85%
    5%
    Serwer bazodanowy
    10%-0%
    0%
    5%%
    5%

  3. Wydaje się, że obecnie najbardziej rozwojowe są dwie hermetyczne platformy komercyjne (oferujące pełne, spójne i ciągle rozwijane technologie):
    1. Platforma .Net
    2. Platforma J2EE
  4. Wzorowane na J2EE ale znaczne bogatsze i rozbudowane środowisko .NET firmy MS oferuje pełna gamę narzędzi deweloperskich i środowisk wykonywalnych (serwerów) od urządzeń mobilnych aż po serwery korporacyjne. Wykorzystanie serwerów jest przeźroczyste dla programisty.
  5. MS Visual Studio 2005 jest wzorcem dla innych środowisk
  6. Wiele firm trzecich udostępnia (płatne oczywiście) ale o dużej jakości dodatki, które b. dobrze się integrują z klientem i serwerami MS (bo wiedzą jakie maja API) np. BO, CR.
  7. Światełko w tunelu - istnieje jednak interoperability między .NET i J2EE, chociażby poprzez WebServices
  8. Istnieje środowisko analogiczne po stronie Java (na etapie doganiania) ale jest rozczłonkowane:
    1. Chaos i brak stabilizacji
    2. Każda technologia jest innej firmy lub grupy deweloperów nic ich nie jednoczy poza chęcią wypromowania swej implementacji danego standardu
    3. Brak wspólnej platformy i jednolitego API
    4. Wykorzystuje się wiele projektów open-source ("pasożytnictwo" ponieważ na nich powstają wersje płatne), które dostosowuje się do własnych potrzeb (a to jest podatne na błędy i wymaga naprawdę dużej wiedzy)
    5. Mnogość dostępnych rozwiązań jest przeszkodą, przecież w końcu trzeba wybrać jakieś jedno rozwiązanie końcowe, dobrze gdy wybierzemy rozwiązanie "prawidłowe", które jest rozwijalne i powszechnie stosowane
    6. Niekompatybilność nawet między implementacją (rozszerzeniami) nawet EJB
    7. Tarcie wśród deweloperów jakie rozwiązanie jest jedynie słuszne np. Java Suna, IBM Java, czy Open Java
  9. Przekonanie o awaryjności i braku skalowalności rozwiązań serwerowych MS jest nieprawdziwe
  10. Środowisko MS jest tanie (koszt oprogramowania i sprzętu) i ma małe wymagania sprzętowe
  11. Elastyczność (agility). Można i należy budować aplikacje w środowisku heterogenicznym (już nawet baza nie musi być wspólna nie mówiąc o serwerach aplikacyjnych czy internetowych, wspólny musi być klient (czyli JavaScript) i mechanizm jednokrotnego logowania np. OpenID). Kryterium wyboru platformy musi być zgodne z wyborem klienta
  12. Możliwa i konieczna jest symbioza i wymienialność na poziomie serwerów: od wspólnego serwer baz danych.
  13. Przeciwieństwo podejścia hermetycznego - powstają aplikacje Web 2.0 gdzie część serwerowa jest mniej ważna, główny nacisk kładzie się na przetwarzaniu po stronie klienta
  14. Oparcie się na lokalnej przeglądarce internetowej (gruby klient w klasycznej architek.) jako kontenerze pozwala na mashup, czyli na konwergencję wielu platform serwerowych i przykrycie ich wspólną warstwą, nierozróżnialną przez klienta
  15. Dynamiczne języki mają się dobrze, mało kto pamięta, że MS pierwszy rozpoczął promocję języków skryptowych wprowadzając i rozwijając sławny Basic a potem Visual Basic. Wygląda na to, że teraz po latach wraca do swego pomysły. Na tegorocznym TechEd wprowadził temat DLR (dynamic language runtime obok działającej już CLR) platformy .NET Framework 3.5, w której poczesne miejsce będą miały właśnie te języki (od IronPython po IronRuby). Ukłon w stronę open-source - będą otwarte dla wszystkich chętnych. Z jednym zastrzeżeniem - serwisy SOA, tam mają królować jedynie CLR (wraz z WCF i serwerami w stylu BizTalk).
  16. Wg. MS języki dynamiczne mają swoje miejsce i to jest front-end aplikacji (tj. ASP.NET, Windows Forms, WPF, dynamic languages w śrosowisku ASP). Oznacza to funkcję wykorzystania i pobierania serwisów.(Na podstawie serwisu BetaNews: Microsoft's .NET Evangelist Spells Out Future Role for Dynamic Languages)
  17. Sun również widzi konieczność uproszczenia procesu wytwarzania oprogramowania poprzez wsparcie w środowisku Java języków dynamicznych (JavaScript, Python, Ruby). Java została otwarta dla środowiska open source, ale Sun ma tutaj wiodącą rolę.
  18. Kryzys głównych założeń J2EE, szczególnie EJB. Proponuje się lekkie EJB 3.0.
  19. Rozwój aplikacji WEB 2.0 (mashup) opartych o AJAX
  20. Google - oferuje wsparcie dla technologii mashup oraz narzędzia dla programistów w środowisku Java, .NET, Python, PHP. Google WebToolkit, Google Gears.
  21. Powstają bezpłatne rozwiązania szkieletowe tzw. framework np. Yahoo (głównie GUI), prototype (głównie niewizualne), dojo, rico. Dr.Dobbs - opis i ocena tych szkieletów. Jest wiele szkieletów specjalistycznych bazujących na tych rozwiązaniach.
  22. Demokracja jest dobra, ale musi ktoś rządzić.
  23. Powstaje wiele rozwiązań firm trzecich oferujących rozwiązania płatne np. Nitobi, Infragristic.
  24. IBM - przyjmuje postawę wyczekującą. Środowisko Eclipse (kupione przez IBM od firmy kanadyjskiej) zostało usamodzielnione (niezależne od IBM). Niesamowita ilość wtyczek, niezgodność wtyczek z wersjami brak koordynacji. IBM daje wolną rękę grupie Eclipse skupia się natomiast na rozwoju płatnego środowiska Rational po przejęciu tej firmy (formalna metodyka). Wielkie plany i projekty ale mało konkretów (czyli brak wersji produkcyjnych). Otwarta platforma Eclipse jest w fazie rozwoju, płatne rozwiązanie WSAD (z Rational) jest dopracowane
  25. Jython (JPython) - wersja 2.2 (ostatnia wersja 2.1 -była w 2001 roku). Numer wersji odzwierciedla wersję CPythona z której przejęto biblioteki. Uwaga przewiduje się wersję 3.0, która podobnie jak wersja CPythona nie będzie kompatybilna z poprzednimi wersjami.
  26. Głównym kontenerem do uruchamiania aplikacji jest ciągle przeglądarka internetowa. Rozwiązania szkieletowe skutecznie niwelują niezgodności między przeglądarkami.
  27. Istnieje możliwość wykonywania aplikacji internetowych w innych klientach lokalnych (obiekty XMLHTTP, oraz komponenty WebBrowser oparte o silniki IE lub FF) co ma swoje zalety (obsługa natywna lokalnych zasobów) i wady (konieczność instalacji - ale to nie jest aż taka przeszkoda dzięki platformie .NET)
  28. Głównym środowiskiem uruchamiania jest platforma Windows Client i nie wolno tego bagatelizować, część rozwiązań internetowych musi wykorzystywać wspierane przez MS technologie czyli głównie .NET.
  29. Coraz większy nacisk kładzie się na przetwarzanie w przeglądarce (co jest zgodne z AJAX)
  30. Ajax jest pojęciem szerokim, ma dwie strony implementacji
  31. Niezależnie od wyboru technologii krótko czy długoplanowej należy:
    1. Przeszkolić ponownie w zaawansowanym wykorzystaniu JavaScript w oparciu o obiektowość i szkielet
    2. Wybrać i zatwierdzić) metodologię tworzenia aplikacji (AJAX?)
    3. Wybrać i wdrożyć pomocne rozwiązania szkieletowe w zakresie obsługi GUI w przeglądarce oraz DOM
    4. Wybrać środowisku do tworzenia aplikacji w HTML (HateHTML, PSPad, MS VWD)
    5. Przeszkolić w zakresie narzędzi do testowania HTML (MS VWD, FireBug) oraz metodologii formalnych opartych na jUnit
    6. Wybrać i wdrożyć protokół przekazywania danych między warstwami: XML, JSON
    7. Rozpoznać środowisko Eclipse i wybrać niezbędne do pracy wtyczki oraz elementy z oferty Rational dla wsparcia środowiska Java
    8. Przeszkolić w Java
    9. Wybrać i zakupić komponenty serwerowe
  32. Należy obserwować rozwój aplikacji w Google, Yahoo, MS, Eclipse
15.11.2006
  • 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ń.
  • 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.
  • 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). 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.
  • Zasoby:

Przykład "żywcem" wzięty z produkcji (chodzi!)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- #include file="adovbs.inc" --><HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=8529">

<SCRIPT LANGUAGE=javascript>
<!--
function mSkocz(iSkocz)
{
window.location.href="Karta_List.asp?page="+iSkocz;
}
//-->
</SCRIPT>

<%
Response.Expires = -1000 'Makes the browser not cache this page
Response.Buffer = True 'Buffers the content so our Response.Redirect will work

iRozmiarStr = 10
mW = ""

If Request.QueryString("page") = "" Then
iBiezacaStr = 1
Else
iBiezacaStr = CInt(Request.QueryString("page"))
End If

set cn = CreateObject("ADODB.Connection")
set rs = CreateObject("ADODB.Recordset")
rs.PageSize = iRozmiarStr
' rs.CursorLocation = adUseClient ' Bardzo ważne w przypadku bazy Informix
rs.CacheSize = iRozmiarStr
cnstr = "DSN=mssql;UID=inventuser;PWD=userinvent"
cn.ConnectionString = cnstr
cn.Open
rs.ActiveConnection = cn
rs.Open "Select nr_inw,admin_id,typ_sprz,lokalizacja, pokoj from sprzet order by 1 asc", cnstr, adOpenStatic, adLockReadOnly, adCmdText

iLiczbaStr = rs.PageCount

If iBiezacaStr > iLiczbaStr Then iBiezacaStr = iLiczbaStr
If iBiezacaStr < 1 Then iBiezacaStr = 1

Response.Write "<table FONT='Arial Narrow' ALIGN='CENTER' border='1'>" & vbCrLf

Response.Write vbTab & "<tr>" & vbCrLf

For I = 0 To rs.Fields.Count - 1
Response.Write vbTab & vbTab & "<th>"
Response.Write rs.Fields(I).Name
Response.Write "</th>" & vbCrLf
Next

rs.AbsolutePage = iBiezacaStr

iNRWiersza = 1

Response.Write vbTab & "</tr>" & vbCrLf
Do While iNrWiersza <= iRozmiarStr And Not rs.EOF
Response.Write vbTab & "<tr>" & vbCrLf
Response.Write vbTab & vbTab & "<td>"
Response.Write mPokazLink(rs.Fields(0))
Response.Write "</td>" & vbCrLf
For I = 1 To rs.Fields.Count - 1
Response.Write vbTab & vbTab & "<td>"
Response.Write rs.Fields(I)
Response.Write "</td>" & vbCrLf
Next 'I
Response.Write vbTab & "</tr>" & vbCrLf
iNRWiersza = iNRWiersza + 1
rs.MoveNext
Loop

Response.Write "</table>" & vbCrLf
Response.Write "<p ALIGN='CENTER'>Strona " & iBiezacaStr & " / " & iLiczbaStr
Response.Write ", Rozmiar strony=" & iRozmiarStr & "<p>"
%>
<BODY>
<%
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
</P><P ALIGN='CENTER'>
<%
iNast = iBiezacaStr + 1
iPoprz = iBiezacaStr - 1
iOst = iLiczbaStr
iPierw = 1
Response.Write "<INPUT id=button1 type=button value='Pierwszy' name=button1 onclick='mSkocz(" & iPierw & ")'>"
Response.Write "<INPUT id=button2 type=button value='Poprzed.' name=button2 onclick='mSkocz(" & iPoprz & ")'>"
Response.Write "<INPUT id=button3 type=button value='Następny' name=button3 onclick='mSkocz(" & iNast & ")'>"
Response.Write "<INPUT id=button4 type=button value='Ostatni ' name=button4 onclick='mSkocz(" & iOst & ")'>"
Function mPokazLink(mPole)
mPokazLink = "<B><A HREF='wiersz.asp?mID=" & mPole & "'>" & mPole & "</A></B>"
end function
%>
</P>
</BODY></HTML>

<%
Response.Expires = -1000 'Makes the browser not cache this page
Response.Buffer = True 'Buffers the content so our Response.Redirect will work

' If Session("UserLoggedIn") <> "true" Then
' Response.Redirect("login.asp")
' End If

mKlucz = Request.QueryString("mID")

Response.Write "<P><B>KLUCZ=" & mKlucz & "<P>"

if mKlucz <> "" then
mWhere = " where nr_inw = '" & mKlucz & "'"
end if
set cn = CreateObject("ADODB.Connection")
set rs = CreateObject("ADODB.Recordset")
' cnstr = "DSN=mssql;UID=sa;PWD=piotrola"
cnstr = "DSN=mssql;UID=inventuser;PWD=userinvent"
cn.ConnectionString = cnstr
cn.Open
rs.ActiveConnection = cn
rs.Open "Select * from sprzet" & mWhere, cnstr

Response.Write "<table FONT='Arial Narrow' ALIGN='CENTER' border='1'>" & vbCrLf
For I = 0 To rs.Fields.Count - 1
Response.Write vbTab & "<tr>" & vbCrLf

Response.Write vbTab & vbTab & "<td>"
Response.Write rs.Fields(I).Name
Response.Write "</td>" & vbCrLf

if rs.Fields(I).Type <= 14 then
mAlign = "<td align='right'>"
else
mAlign = "<td align='left'>"
end if
Response.Write vbTab & vbTab & mAlign
Response.Write rs.Fields(I)
Response.Write "</td>" & vbCrLf

Response.Write vbTab & "</tr>" & vbCrLf
Next 'I
Response.Write "</table>" & vbCrLf
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

%>

sdsds

poniedziałek, czerwca 25, 2007

Lista plików związana z korektami:
  1. mLib_kor.js
    Biblioteka funkcji JS
    testarr.php
    Tworzenie tablicy do edycji korekt
    kor_zapisz.php
    Zapisz korektę do tablicy tymczasowej
    dok_zapisz.php
    Zapisz dokument o korekcie
    korektaZam.php
    Wejście do korekt zamówień
    dok_weryf.php

    pokazKor.php

    style_kor.css

    syle.css

    editKor.php

    kor_pobierz.php

    jestKorekta.php
    Czy jest podobna korketa w toku
    pobierzKlucz.php
    kor_form
    proc wbudowana do korekt
    dod_form
    proc wbudowana do planu










  2. Sprawy organizacyjne - serwer weglokoksowy - 192.168.254.166 (admincoig/ginewr@951)(marekw/zaq12wsx)
  3. VFP gdy wysyła znaki do internetu poprzez XMLHTTP zawsze przekodowuje je na UTF-8 (automatycznie), dlatego skrypt po stronie serwera powinien przekodować je na ISO Latin 2 (bo taki jest standard przechowania danych w polach tekstowych)
  4. Ciekawe strony:
    1. www.ajaxpro.info - przykładowa lekcja: http://www.ajaxpro.info/Examples/DataSets/default.aspx
    2. jsc.sourceforge.ne - przykłady appletów
    3. ajaxrain.com
    4. gliff - dla dzieci
  5. Usuń znaki "dziwne" w polach tekstowych
  6. Co z escape i innymi funkcjami w JS
  7. Quintura - ciekawa przeglądarka
  8. Zasoby publiczne - jarjawor
  9. Wykorzystanie możliwości InterOp Form
  10. Wybór frameworka dla AJAX - "AJAX: selecting a framework that fits" - http://www.drdobbs.com/dept/webservices/199203087
  11. Kursy ASP.NET dla JSP - http://www.learn2asp.net/jsp/Campaign.aspx?RefID=CMP001
  12. Jakis framework musi być dla JS
  13. Tigermouse - framework dla AJAX w PHP - http://tigermouse.epsi.pl/doku.php?id=otherframeworks
  14. IBM DB2 przechowuje XML natywnie - http://www.db2mag.com/story/showArticle.jhtml?articleID=191502768, uwaga na dostęp do nowych typów danych: "C/C++ and scripting solutions such as PHP and Perl often use an ODBC interface to SQL data. The DB2 CLI extends the ODBC 3.51 API with support for additional types, including the new XML type.

    When writing CLI programs, the symbolic SQL data type for XML columns is SQL_XML and the default symbolic C data type is SQL_C_BINARY. Permissible conversions include SQL_C_CHAR, SQL_C_WCHAR, and SQL_C_DBCHAR. The default precision for XML columns is 0, but it's a defined length for external routines.

    IBM is deprecating the type 2 JDBC driver for DB2 9. It suggests moving to the IBM DB2 Driver for JDBC and SQLJ, a single driver that combines type 2 and type 4 features. It supports the Java Transaction Service (JTS), Java Transaction API (JTA), JDBC 3.0 API, and SQLJ capabilities that have JDBC counterparts.

    To access DB2 from Java, developers can use static SQL with SQLJ and dynamic SQL with JDBC. Java does not have an XML type, so invoking the JDBC GetTypeInfo metadata method will report the type of an XML column as java.sql.Types.OTHER.

    Using JDBC ResultSet.getXXX methods, you can retrieve an entire XML column or a sequence from the column. When you retrieve XML data using a JDBC getXXX method, it's in a serialized string format. The getXXX method will output the result in the format corresponding to the method name (for example, getAsciiStream). In the case of ResultSet.getObject, you can cast the object to the DB2Xml type, assign it to a DB2Xmlobject and use a DB2Xml.getDB2XXX method to output the data to the desired type.

    An enhanced set of add-ins for Microsoft Visual Studio 2005 include support for building and testing .Net applications using XML data stored in DB2 9. DB2 includes providers for OLE DB and ADO.Net, including the DB2 .Net Data Provider, the OLE DB .Net Data Provider and the DB2 Data Provider for .Net Framework 2.0. The OLE DB Provider and OLE DB .Net Data Provider don't support the new XML type. To access an XML column with use the ODBC .Net Data Provider, you map it to SQL_LONGVARCHAR."


Niedziela
  1. http://www.netzgesta.de/glossy/
  2. Historia rozwoju przeglądarek - http://upload.wikimedia.org/wikipedia/commons/7/74/Timeline_of_web_browsers.svg
  3. Filozofia historii - http://www.friesian.com/philhist.htm
  4. http://popurls.com/
  5. http://web2.0slides.com/ - przegląd aplikacji web2, są aplikacje, które nawet filozofom sie nie śniły
  6. Sposoby na wydajność i osiągnięcie sukcesu (http://zenhabits.net/2007/02/top-10-productivity-hacks-overview/)
    1. Pamiętaj o MIT (most important things) w ciągu dnia (mimo wielu przeszkód)
    2. Wstawaj wcześnie
    3. Filtruj czytane przez siebie informcje
    4. Utrzymuj ład i porządek w miejscu pracy
    5. Zacznij pracę wcześniej
    6. Unikaj spotkań
    7. Unikaj niekoniecznych prac, rób to co posuwa cię do celu
    8. Zacznij dzień od najtrudniejszych zadań
    9. Pracuj bez sieci jak długo to jest możliwe
    10. Zrób coś co cię bardzo pasjonuje
  7. Yahoo GUI - np. menu jest świetne w konteście nowego Portalu AS, problem tylko jak zapewnić bezpieczny login
  8. Obserwuj stronę - ajaxian.com
  9. JayRock - implementacja JSON w .NET
  10. http://braincast.nl/samples/jsoneditor/ - edytor struktur JSON (ciekawy)
  11. Dywagacje na temat Pink Floyd - http://amix.dk/blog/viewEntry/19139
  12. MagicDom - http://amix.dk/blog/viewEntry/19196
  13. Co nowego w Google Gears - http://ajaxian.com/archives/audible-ajax-episode-21-dojo-offline-on-google-gears
  14. Nowe, rewolucyjne podejście do uwierzytelnienia - http://whobar.org/related-resources/
  15. Wynalazki Google jako API:
    1. http://code.google.com/support/bin/answer.py?answer=70654
    2. Google Account Authentication API
  16. Dean Edwards - http://dean.edwards.name/weblog/
  17. 7 technik, ktore warto poznać - http://www.digital-web.com/articles/seven_javascript_techniques/
  18. Calvin Hsia - June 21 - http://blogs.msdn.com/calvin_hsia/ - uruchom dowolny program w VFP
  19. Rick S - JavaScript dilema - http://west-wind.com/weblog/
  20. Bezpieczeństwo w MS WS- http://msdn.microsoft.com/msdnmag/issues/03/04/ws-security/default.aspx
  21. Korzystanie w WS w kliencie JS - http://www.codeproject.com/useritems/clientproxyfor_webservice.asp
  22. http://domscripting.com/book/sample/
  23. Kursy MS - http://www.learn2asp.net/web/Campaign.aspx

sobota, czerwca 23, 2007

Piatek
  1. Konwersja formularzy VFP na .NET i innych obiektów - http://www.vfpconversion.com/Tools.aspx
  2. Przykład pobierania danych z Internetu Rick - http://www.west-wind.com/presentations/wchttp.htm, a tu jest więcej programów pomocniczych
  3. Przykład jak pobierać dane z Internetu w .NET - http://www.west-wind.com/presentations/dotnetWebRequest/dotnetWebRequest.htm
  4. Lista narzędzi do VFP - http://west-wind.com/webtools.asp, np. do wsparcie SOAP 2.0
  5. Stosowanie Generics w C# z blogu markusa:
  6. ArrayList myForms = new ArrayList();
    myForms.Add(new Form());
    myForms.Add(new Form());
    myForms.Add(new CustomerEditForm());
  7. Lub w VFP:
  8. LOCAL myForms
    myForms = CreateObject("ArrayList")
    myForms.Add(CreateObject("Form"))
    myForms.Add(CreateObject("Form"))
    myForms.Add(CreateObject("CustomerEditForm"))
  9. Jak przejrzeć listę:-
  10. foreach (Form frm in myForms)
    {
    frm.Show();
    }
  11. A jak się zabezpieczyć przed podaniem złego typu danych?
  12. List<Form> myForms = new List<Form>();
    myForms.Add(new Form());
    myForms.Add(new Form());
    myForms.Add(new Button()); // Compiler Error!!!
  13. Takie ogolne zasoby o VFP - http://www.objenv.com/cetus/oo_visual_foxpro.html a to jest hostowane na http://www.cetus-links.org/ (tamże są linki do np. Java - jak tworzyć skryptlety)
  14. Uwaga można popracować trochę nad rozwiązaniem Java Applet (DLL lokalne można ręcznie lub poprzez WinAPI w VFP łatwo zainstalować)
  15. Uniezależnić się od kontenera dbc w aplikacjach VFP, np. kursy walut.
  16. VFP link - http://www.markusegger.com/Articles/Article.aspx?quickid=0606026
  17. Weblog Strahl - http://west-wind.com/weblog/ (dylemat jaki wybrać framework)
  18. Rozsądne korzystanie z AJAX - http://www.thinkvitamin.com/features/ajax/responsible-asynchronous-scripting
  19. Klasyk JS - http://simonwillison.net/tags/javascript/
  20. O JS - http://simonwillison.net/tags/javascript/, ciekawe linki:
    1. http://javascript.weblogsinc.com/2006/07/31/xmlhttprequest-in-ie-7/ - nieprawda, że w IE 7 jest natywna obsługa XMLHTTP
    2. http://javascript.weblogsinc.com/2006/08/01/rotating-solar-system/ - solar system
    3. http://widgets.yahoo.com/workshop/ - jednak Yahoo Widgets
    4. http://thinkvitamin.com/, http://ajaxian.com/
  21. Dziel się ciekawymi slajdami - www.slideshare.com np. - http://www.slideshare.net/simon/javascript-libraries-the-big-picture/
  22. Rozszerzenia w JS na bazie Yahoo GUI - http://extjs.com/
  23. Ciekawe jak testować wykonanie skrypty w IE (a nawet w FF) mając do dyspozycji VWD - bernicode
  24. Tamże ciekawe dywagacje na temat stosowania eval (to jest wywołanie kompilatora JS) w JS (znany architekt JavaScriptu - Douglas Cronkford, zabrania stosowania tej instrukcji). Autor pokazuje, że rozumne stosowanie eval pozwala na szybsze wykonanie kodu
  25. Biblioteki w JS (np. prototype) są piękne, ale zabierają dużo miejsca (71KB) można jes skompresować (nawet do 31KB) jak? Tutaj jest odpowiedż.
  26. Super, super indeks do tutoriali - GoToAPI - http://www.gotapi.com/html
  27. Mamy nową bilbilotekę prototype - http://prototypejs.org/2007/5/1/prototype-1-5-1-released
  28. Kurs szybkiego wprowadzenia do prototype - http://www.refreshaustin.org/presentations/prototype-scriptaculous-crash-course/
  29. Tutoriale od Dustin Diaz - http://www.dustindiaz.com/
  30. Może to być dobry edytor JS w środowisku Eclipse - http://www.spket.com/
  31. Super strona o AJAX - ajaxian.com i tam artykuł - Base diving with Gears, Google spreadsheet, FF 3 będzie miał wbudowane wsparcie dla SQLLite

poniedziałek, czerwca 18, 2007

Adresy o SSL:
  1. SSL in WinHTTP - nowość w .NET Framework 3.0, klient wystawia certyfikat uwierzytelniający (z lokalnego repozytorium) do serwera przy pomocy protokołu WinHTTPS (dla aplikacji korzystających z COM) lub WinHTTP API (w C++). W przypadku obiektu WinHTTP mamy nowe polecenie WinHttpRequest.SetClientCertificate :
    • // Instantiate a WinHttpRequest object.
    • var HttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
    • // Open an HTTP connection.
    • HttpReq.Open("GET", "https://www.fabrikam.com/", false);
    • // Select a client certificate.
    • HttpReq.SetClientCertificate( "LOCAL_MACHINE\Personal\My Middle-Tier Certificate");
    • // Send the HTTP Request.
    • HttpReq.Send();
  2. Oto pełna lista funkcji w nowym WinHTTP (w .NET framework 3.0) - http://msdn2.microsoft.com/en-us/library/aa384257.aspx
  3. Wystaw swoje (klienckie) akredytacje do serwera- SetCredentials(...) - http://msdn2.microsoft.com/en-us/library/aa384112.aspx
  4. Zalecenia bezpieczeństwa stosowania WinHTTP - http://msdn2.microsoft.com/en-US/library/aa384266.aspx
  5. Forum MSDN - http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=47&SiteID=1
  6. Przykład w C++ na WinHTTP - http://www.codeproject.com/internet/webcrawler.asp
  7. Web Browser Express - http://msdn2.microsoft.com/en-us/library/ms379558(vs.80).aspx
  8. Autentykacja w WinHTTP -http://msdn2.microsoft.com/en-us/library/aa383144.aspx
Poniedziałek:
  1. JSP porady (Best Practices) - http://www-128.ibm.com/developerworks/java/library/j-jsp05133.html
  2. Jak stosować Hibernate - http://mycodeblog.blogspot.com/search/label/Hibernate
  3. Zachowanie stanu -hibernacja - http://www.hibernate.org/152.html

sobota, czerwca 16, 2007

Sobota

  1. Właśnie wróciłem z Krakowa. Byliśmy tam z synem Piotrusiem w Muzeum Lotnictwa.
  2. Poczatki tworzenia apliacji webowych o dużej inetraktywności - http://www.alexhopmann.com/xmlhttp.htm, autor trochę broni się przed atakami bardziej od niego utytułowanego Adam Bosworth (tu ). Myślę, że prawda leży gdzieś pośrodku.
  3. Waga - należy uznać język JavaScript za pełnoprawny język programowanie do obsługi narzędzia komunikacyjnego z Internetem tj. przeglądarki internetowej. Dopóki sposobem do uruchamiania stron www z Internetu jest przeglądarka dopóki język ten ma rację bytu i musi być uznawany.
  4. MS również nie pozostaje w tyle za twórcami narzędzi wspomagających technologię AJAX - stworzył bibliotekę AJAX 1.0
  5. Blog w MSDN o IE.
  6. Bardzo mądry blog - http://flex2.blogspot.com/feeds/posts/default
  7. Szkolenie - http://www.netbeans.org/kb/55/vwp-helloweb.html
  8. Jak używać XML to we właściwej wersji - http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
  9. Ciekawe czy firmy wspierające J2EE np. JBoss czy BEA ma własne rozszerzenia w postaci jakiś datagrid.
  10. Świetny artykuł na temat interoperability (kooperacji i wymiany) w betanews - rozmowa z TOM ROBERTSON, General Manager for Interoperability and Standards, Microsoft. Cztery filary interoperability:
    1. standardy (nie ma jednego standardu w danej technologii, powinno być kilka standardów do wyboru ale wszystkie one powinny być w stanie współpracować ze sobą),
    2. swobodny dostęp do technologii (na zasadzie open source, podpisania umowy o wymianie IP lub licencji otwartej MS Open Specification Promise),
    3. współpraca zespołów oraz
    4. wymienialność aplikacji

czwartek, czerwca 14, 2007

Czwartek
  1. Dynamiczne języki mają się dobrze, mało kto pamięta, że MS pierwszy rozpoczął promocję języków skryptowych wprowadzając i rozwijając sławny Basic a potem Visual Basic. Wygląda na to, że teraz po latach wraca do swego pomysły. Na tegorocznym TechEd wprowadził temat DLR (dynamic language runtime obok działającej już CLR) platformy .NET Framework 3.5, w której poczesne miejsce będą miały właśnie te języki (od IronPython po IronRuby). Ukłon w stronę open-source - będą otwarte dla wszystkich chętnych. Z jednym zastrzeżeniem - serwisy SOA, tam mają królować jedynie CLR (wraz z WCF i serwerami w stylu BizTalk).
  2. Wg. MS języki dynamiczne mają swoje miejsce i to jest front-end apliakacji (tj. ASP.NET, Windows Forms, WPF, dynamic languages w śrosowisku ASP). Oznacza to funkcję wykorzystania i pobierania serwisów.(Na podstawie serwisu BetaNews: Microsoft's .NET Evangelist Spells Out Future Role for Dynamic Languages)
  3. http://www.code-magazine.com/article.aspx?quickid=0703112&page=6
  4. http://www.codinghorror.com/blog/archives/000857.html
  5. http://www.almaer.com/blog/archives/001516.html
  6. http://www.ploug.org.pl/school.php
  7. http://yuiblog.com/blog/2007/06/12/module-pattern/
  8. http://www.expertsrt.com/tutorials/Rod/ajaht.php
  9. http://blog.pmarca.com/2007/06/essential_html_.html
  10. http://theundersigned.net/2007/06/time-to-learn-a-bit-ajax/
  11. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1633254&SiteID=1
  12. http://www.miniajax.com/

wtorek, czerwca 12, 2007

Ciekawy wtorek

  1. Do otwarcia połączenia sieciowego na poziomie HTTP służy WinHTTP - jest dosyć dobrze udokumentowany na MSDN, należy zwrócić uwagę na dwa polecenia:
    1. Ustawienie akredytacji dla serwerów:
      1. WinHttpReq.SetCredentials( "marekw@coig.katowice.pl", "Trava16", HTTPREQUEST_SETCREDENTIALS_FOR_PROXY );
      2. WinHttpReq.SetCredentials( "marekw@coig.katowice.pl", "Trava16",HTTPREQUEST_SETCREDENTIALS_FOR_SERVER );
    2. Ustawienie serwera proxy:
      1. WinHttpReq.SetProxy( HTTPREQUEST_PROXYSETTING_PROXY, "proxy.coig.com:3128", "*.microsoft.com");
    3. Dzięki tym zabiegom unikamy zapytania o konto/hasło co jest b. ważne gdy tworzymy aplikacje serwerowe.
  2. Na serwerze istnieją trzy narzędzia pomocnicze do administrowania HTTP i SSL przy wykorzystaniu WinHTTP:
    1. WinHTTPCfg - do zarządzania certyfikatami
    2. ProxyCfg - do zarządzania ustwaieniami proxy
    3. WinHTTPTrace - przeglądanie dziennika transmisji
  3. Forum - http://www.derkeiler.com/Newsgroups/microsoft.public.platformsdk.security/2004-04/subject.html#223

poniedziałek, czerwca 11, 2007

Pracowity poniedziałek:
  1. Przechodzenie przez proxy - WinHTTPs
  2. Serwis udostępniający slide-y (http://www.slideshare.net/tag/javascript):
    1. http://www.slideshare.net/Adieu/advanced-javascript/
  3. Nowe podejścia do skryptów w JS (http://www.easy-reader.net/, ):
    1. Stosowanie:
      1. debugger'a np. Firebug
      2. testowane Selenium
    2. Inteligentne trasowanie programu - http://www.easy-designs.net/code/jsTrace

niedziela, czerwca 10, 2007

Linki niedzielne:
  1. Finjan Secure browsing - wtyczka do przeglądarki IE/FF sprawdza adresy
  2. SQL Server Compact Edition i ksiązki online
  3. GG - "Oracle sql develper" -> HTML Express Tutorial -> PHP/NET tworzenie aplikacji
  4. http://raphaelstolt.blogspot.com/2007/06/handling-json-responses-on-client-side.html
  5. http://zedgraph.org/wiki/index.php?title=Sample_Graphs - ZedGraph Control
    1. Opis na codeproject - http://www.codeproject.com/csharp/zedgraph.asp
  6. Bezpieczeństwo - http://iterativerose.com/Presentations/Intro_to_Security.zip
    1. Prezentacje - http://iterativerose.com/Presentations/JimHolmes-FundamentalsOfSecurity.wmv
  7. Książka - encyklopedia o open-source projektach dla .NET - spis treści - http://iterativerose.com/WinDevPowerTools/TOC.aspx
  8. http://ekrantz.com/index.php/2007/06/06/json-and-associative-arrays.html
  9. http://framework.zend.com/ - framework od Zenda
  10. Oracle i: BLOB, PL/SQL, XML, HTML Express
  11. http://weblogs.foxite.com/bernardbout/default.aspx - ciekawy weblog o VFP
  12. http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,af69b23d-39ff-424f-aa2b-6c25a05aa80e.aspx
  13. http://www.tek-tips.com/
  14. O .NET - http://www.tek-tips.com/
  15. O VFP - http://west-wind.com/wconnect/weblog/ShowEntry.blog?id=533